b0f1f60159f5dc4b4c6d0525e686d94457fefb4e
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-10-10  Andy Wingo  <wingo@pobox.com>
2
3         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4
5 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6
7         * docs/gst/gstreamer-sections.txt:
8         * gst/gstevent.c:
9         * gst/gstevent.h:
10         * gst/gstinfo.c:
11         * gst/gstinfo.h:
12         * gst/gstmessage.c: (gst_message_parse_state_changed):
13         * gst/gstpad.c:
14         * gst/gstpad.h:
15           more docs, fix compilation
16
17 2005-10-09  Philippe Khalaf <burger@speedy.org>
18         * gst/gstmessage.c:
19         Fixed a few forgotten variables on previous commit
20
21 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
22
23         * gst/base/gsttypefindhelper.c: (helper_find_peek):
24           Fix evil typefind crasher: getrange() might return a short
25           buffer at the end of a file, but gst_type_find_peek() must
26           either return the full data as requested or NULL, but
27           never a short buffer.
28
29 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
30
31         * gst/gstmessage.c: (gst_message_new_state_changed),
32         (gst_message_parse_state_changed):
33         * gst/gstmessage.h:
34           don't use "new", it's a C++ keyword
35
36 2005-10-08  Wim Taymans  <wim@fluendo.com>
37
38         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
39         * gst/gstelement.c: (gst_element_post_message):
40         * gst/gstpipeline.c: (gst_pipeline_change_state):
41         Small docs and debug updates.
42
43 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
44
45         * docs/gst/gstreamer-sections.txt:
46         * gst/gstelementfactory.c:
47         * gst/gstevent.c:
48         * gst/gsttaglist.c:
49           more docs
50
51 2005-10-08  Wim Taymans  <wim@fluendo.com>
52
53         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
54         (gst_bin_dispose), (bin_bus_handler):
55         Fix typos, add comments.
56         Clear EOS list when going to PAUSED from any direction and do it
57         in a threadsafe way.
58         Get base time in a threadsafe way too.
59         Fix confusing debug in the change_state function.
60         Various other small cleanups.
61         
62         * gst/gstelement.c: (gst_element_post_message):
63         Fix very verbose bus posting code.
64
65         * gst/gstpipeline.c: (gst_pipeline_class_init),
66         (gst_pipeline_set_property), (gst_pipeline_get_property),
67         (gst_pipeline_change_state):
68         Small ARG_ -> PROP_ cleanup
69
70 2005-10-08  Wim Taymans  <wim@fluendo.com>
71
72         * gst/gstbin.c: (is_eos), (bin_bus_handler):
73         Do a less CPU demanding EOS check because we can.
74
75 2005-10-08  Wim Taymans  <wim@fluendo.com>
76
77         * libs/gst/dataprotocol/dataprotocol.c:
78         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
79         (gst_dp_packet_from_event):
80         * libs/gst/dataprotocol/dataprotocol.h:
81         * libs/gst/dataprotocol/dp-private.h:
82         It's about time we bump the version number.
83         Since event types don't fit in the guint8 anymore describing
84         the payload type, make payload type 16 bits wide.
85
86 2005-10-08  Wim Taymans  <wim@fluendo.com>
87
88         * docs/design/part-TODO.txt:
89         * docs/design/part-clocks.txt:
90         * docs/design/part-events.txt:
91         * docs/design/part-gstbin.txt:
92         * docs/design/part-gstelement.txt:
93         * docs/design/part-gstpipeline.txt:
94         * docs/design/part-live-source.txt:
95         * docs/design/part-messages.txt:
96         * docs/design/part-overview.txt:
97         * docs/design/part-states.txt:
98         Many doc updates.
99
100 2005-10-08  Wim Taymans  <wim@fluendo.com>
101
102         * gst/gstevent.c:
103         * gst/gstevent.h:
104         Fix event quark registration.
105         Add some space between events so we can insert them in the
106         right groups.
107
108 2005-10-08  Wim Taymans  <wim@fluendo.com>
109
110         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
111         (gst_base_sink_handle_buffer):
112         Better log message.
113
114         * gst/gstbus.h:
115         * gst/gstelement.h:
116         More docs.
117
118         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
119         (gst_queue_set_property), (gst_queue_get_property):
120         * gst/gstqueue.h:
121         Remove old unused properties.
122
123 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
124         * docs/gst/gstreamer-sections.txt:
125         * gst/gstmessage.c:
126         * gst/gstmessage.h:
127         * gst/gstminiobject.c:
128         * gst/gstminiobject.h:
129         * gst/gstobject.h:
130         * gst/gstpad.h:
131         * gst/gstutils.h:
132           lots of new docs and doc fixes
133
134 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
135
136         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
137         * gst/gstplugin.h:
138         * gst/gstregistry.c: (gst_registry_lookup_locked),
139         (gst_registry_scan_path_level):
140         * gst/gstregistryxml.c: (load_plugin):
141           Only ever load one plugin for a given plugin basename.
142           This ensures correct overriding of GST_PLUGIN_PATH over
143           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
144           system installed plugins.
145
146 2005-10-08  Wim Taymans  <wim@fluendo.com>
147
148         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
149         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
150         Prepare for doing QOS.
151
152 2005-10-08  Wim Taymans  <wim@fluendo.com>
153
154         * check/gst/gstbin.c: (GST_START_TEST):
155         * check/pipelines/cleanup.c: (GST_START_TEST):
156         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
157         Allow new clock message too.
158
159 2005-10-08  Wim Taymans  <wim@fluendo.com>
160
161         * gst/gstmessage.c: (gst_message_new_error),
162         (gst_message_new_warning), (gst_message_new_tag),
163         (gst_message_new_state_changed), (gst_message_new_clock_provide),
164         (gst_message_new_clock_lost), (gst_message_new_new_clock),
165         (gst_message_new_segment_start), (gst_message_new_segment_done),
166         (gst_message_parse_state_changed),
167         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
168         (gst_message_parse_new_clock):
169         * gst/gstmessage.h:
170         Also carry the clock in question.
171
172 2005-10-08  Wim Taymans  <wim@fluendo.com>
173
174         * gst/gstmessage.c: (gst_message_new_custom),
175         (gst_message_new_eos), (gst_message_new_error),
176         (gst_message_new_warning), (gst_message_new_tag),
177         (gst_message_new_state_changed), (gst_message_new_clock_provide),
178         (gst_message_new_new_clock), (gst_message_new_segment_start),
179         (gst_message_new_segment_done), (gst_message_parse_state_changed),
180         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
181         * gst/gstmessage.h:
182         Clean up.
183         Added clock related messages.
184
185         * gst/gstpipeline.c: (gst_pipeline_change_state):
186         Post message when the clock changed.
187
188         * tools/gst-launch.c: (event_loop):
189         Print new clock.
190
191 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
192
193         * tools/gst-inspect.c: (print_element_properties_info):
194           Can't pass NULL strings to g_print() on windows.
195
196 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
197
198         * docs/Makefile.am:
199         * docs/gst/Makefile.am:
200         * docs/gst/gstreamer-docs.sgml:
201         * docs/gst/running.xml:
202         * docs/version.entities.in:
203           add a chapter on running GStreamer.
204           document GST_DEBUG and GST_PLUGIN* env vars
205
206 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
207
208         * Makefile.am:
209           remove include dir
210         * configure.ac:
211           remove PLUGINS_BUILDDIR stuff
212         * gst/gst.c: (init_post):
213           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
214         * idiottest.mak:
215           remove, it was condescending and not needed
216
217 2005-10-08  Wim Taymans  <wim@fluendo.com>
218
219         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
220         (gst_base_sink_handle_object), (gst_base_sink_event),
221         (gst_base_sink_wait), (gst_base_sink_handle_event),
222         (gst_base_sink_change_state):
223         * gst/base/gstbasesink.h:
224         Repost EOS message while going to PLAYING if still EOS.
225         Make sure that when receiving a FLUSH_START we don't attempt
226         to sync on the clock anymore.
227
228 2005-10-08  Wim Taymans  <wim@fluendo.com>
229
230         * tools/gst-launch.c: (event_loop):
231         Better message printout.
232
233 2005-10-08  Wim Taymans  <wim@fluendo.com>
234
235         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
236         (gst_bin_child_proxy_get_children_count):
237         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
238         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
239         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
240         (gst_child_proxy_set_valist):
241         * gst/parse/grammar.y:
242         Make ChildProxy threadsafe and fix mem leaks.
243
244 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
245
246         * gst/gst.c: (init_post):
247           debug the GST_PLUGIN_ env vars
248
249 2005-10-08  Wim Taymans  <wim@fluendo.com>
250
251         * check/gst/gstbin.c: (GST_START_TEST):
252         * check/gst/gstmessage.c: (GST_START_TEST):
253         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
254         * gst/gstelement.c: (gst_element_commit_state),
255         (gst_element_lost_state):
256         * gst/gstmessage.c: (gst_message_new_state_changed),
257         (gst_message_parse_state_changed):
258         * gst/gstmessage.h:
259         * tools/gst-launch.c: (event_loop):
260         Added extra field to STATE_CHANGE message with the pending
261         state, which will be different from the new state soon.
262
263 2005-10-08  Wim Taymans  <wim@fluendo.com>
264
265         * gst/gstbus.c: (gst_bus_pop):
266         * gst/gstclock.c:
267         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
268         Small cleanups and doc updates.
269
270 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
271
272         * gst/gst.c: (init_pre):
273         * gst/gstbin.c: (gst_bin_add_func):
274           log distributing clocks and base time
275         * gst/gstregistry.c: (gst_registry_add_plugin),
276         (gst_registry_scan_path_level), (gst_registry_scan_path):
277           clean up the debugging output a little
278         * gst/gstutils.c: (gst_element_state_get_name):
279           warn about a memleak (I've actually seen this be used, though
280           it was probably a bug)
281
282 2005-10-07  Wim Taymans  <wim@fluendo.com>
283
284         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
285         (gst_base_src_init), (gst_base_src_default_newsegment),
286         (gst_base_src_newsegment), (gst_base_src_do_seek),
287         (gst_base_src_loop), (gst_base_src_start):
288         * gst/base/gstbasesrc.h:
289         Make the newsegment event customizable by subclasses.
290
291 2005-10-07  Wim Taymans  <wim@fluendo.com>
292
293         * gst/gstevent.c: (gst_event_new_buffersize),
294         (gst_event_parse_buffersize):
295         * gst/gstevent.h:
296         New event for future idea.
297
298 2005-10-07  Andy Wingo  <wingo@pobox.com>
299
300         * gst/gstelement.c (gst_element_post_message): Doc update.
301
302         * docs/gst/gstreamer-sections.txt: Update.
303
304         * gst/gstmessage.c (gst_message_new_application): Made into a
305         function like honest API calls.
306         (gst_message_new_element): New message type.
307
308         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
309
310         * check/elements/fakesrc.c (test_no_preroll): New check, checks
311         that setting a live fakesrc to PAUSED returns NO_PREROLL both
312         times.
313
314         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
315         NO_PREROLL from gst_element_change_state to fall through.
316
317 2005-10-07  Wim Taymans  <wim@fluendo.com>
318
319         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
320         (gst_ghost_pad_do_activate_push):
321         Activating a ghostpad with no internal pad in push mode
322         is ok.
323
324 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
325
326         * gst/gstobject.h:
327           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
328           Fixes compilation on Windows.
329
330 2005-10-07  Michael Smith <msmith@fluendo.com>
331
332         * tools/gst-inspect.c:
333           Print out feature and plugin count at the end when printing out
334           all features.
335
336 2005-10-04  Michael Smith <msmith@fluendo.com>
337
338         * gst/gsterror.c: (_gst_stream_errors_init):
339           Add another error string used in a few existing plugins.
340
341         * gst/gstplugin.c:
342         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
343         * tools/gst-inspect.c: (print_element_info):
344           When a feature disappears from a plugin (and the feature exists in
345           the cached registry file), things went horribly wrong. This isn't a
346           complete fix, we should actually be removing the 'missing' features
347           from the features list when we load the actual plugin. That's not
348           yet implemented. 
349
350 2005-10-04  Johan Dahlin  <johan@gnome.org>
351
352         * check/gst/gstiterator.c: (GST_START_TEST):
353         * gst/gstbin.c: (gst_bin_iterate_elements),
354         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
355         * gst/gstelement.c: (gst_element_iterate_pads):
356         * gst/gstformat.c: (gst_format_iterate_definitions):
357         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
358         (gst_iterator_new_list), (gst_iterator_filter):
359         * gst/gstiterator.h:
360         * gst/gstquery.c: (gst_query_type_iterate_definitions):
361         Add a GType to GstIterator, update callsites and tests.
362
363 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
364
365         * gst/gstpad.c: (gst_pad_event_default_dispatch):
366           give events a chance to be handled by event probes when the pad
367           is not linked
368
369 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
370
371         * gst/gstevent.c: (gst_event_type_get_name),
372         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
373         * gst/gstevent.h:
374           add string representations for event types
375
376 2005-10-06  Wim Taymans  <wim@fluendo.com>
377
378         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
379         Don't use NULL pointers.
380
381 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
382
383         * gst/gst_private.h:
384         * gst/gstbus.c:
385         * gst/gstelement.c:
386         * gst/gstinfo.c:
387         * gst/gstpluginfeature.c:
388           widen the debug category in output to fit the biggest one we have
389           add a bus category and use it
390           play with the colors
391           fix up some categories
392
393 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
394
395         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
396           add push activation of sink ghost pads.
397           Andye, please verify
398
399 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
400
401         * gst/gstutils.c: (gst_element_link_pads):
402           fix a bug in the case where neither element has a pad
403         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
404           add a test for that case
405
406 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
407
408         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
409           emit have-data before checking for peers.  This allows
410           for probe handlers to connect elements.  This helps autopluggers.
411         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
412         (gst_pad_suite):
413           add six checks, linked/unlinked with no/true/false probe
414
415 2005-10-04  Wim Taymans  <wim@fluendo.com>
416
417         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
418         (gst_fake_sink_event), (gst_fake_sink_preroll),
419         (gst_fake_sink_render), (gst_fake_sink_change_state):
420         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
421         (gst_fake_src_get_property), (gst_fake_src_create),
422         (gst_fake_src_stop):
423         * gst/elements/gstidentity.c: (gst_identity_stop):
424         Protect last_message with lock.
425
426 2005-10-04  Edward Hervey  <edward@fluendo.com>
427
428         * gst/gstformat.h: 
429         Added precision in the comments for GST_FORMAT_DEFAULT
430
431 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
432
433         * tools/gst-launch.c: (main):
434           Don't try to run erroneous pipelines.
435
436 2005-10-04  Julien MOUTTE  <julien@moutte.net>
437
438         * gst/gstbus.c: We don't need this header.
439
440 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
441
442         * configure.ac:
443           back to development
444
445 === release 0.9.3 ===
446
447 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
448
449         * README:
450         * configure.ac:
451           Releasing 0.9.3, "Unregistered"
452
453 2005-10-03  Andy Wingo  <wingo@pobox.com>
454
455         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
456         whereby calling a pad's activatepush() function can start a thread
457         that starts to push or pull before the pad gets the FLUSHING flag
458         unset. Hack around it by holding the stream lock until the flag is
459         set. Need to replace this with a proper solution. Together with
460         the ghost pad fixes, this fixes mp3 playing/tagreading.
461
462         * docs/design/part-gstghostpad.txt: Add a note about activation of
463         proxy pads outside of ghost pads.
464
465         * gst/gstghostpad.c: Implement the ghost pad activation design.
466
467 2005-10-02  Andy Wingo  <wingo@pobox.com>
468
469         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
470         It is volatile, after all.
471
472         * docs/design/part-gstghostpad.txt: Flesh out activation with
473         ghost pads.
474
475         * gst/base/gstbasesrc.c (gst_base_src_init): Use
476         GST_DEBUG_FUNCPTR.
477
478 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
479
480         * configure.ac:
481           Fix (unused) AM_CONDITIONAL tests.
482
483 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
484
485         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
486
487         * gst/gstutils.c: (gst_pad_query_convert):
488           Add assertion that makes sure src_val is >=0, just like
489           gst_query_new_convert() has. (#315895)
490
491 2005-09-30  Edward Hervey  <edward@fluendo.com>
492
493         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
494         Let's not iterate pads we're not interested in, it avoids getting 
495         sky-high refcounts on sinkpad.
496
497 2005-09-30  Wim Taymans  <wim@fluendo.com>
498
499         * gst/gstelement.c: (gst_element_set_state),
500         (gst_element_change_state):
501         Small tweak, element in ASYNC remains ASYNC.
502
503 2005-09-30  Wim Taymans  <wim@fluendo.com>
504
505         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
506         Only error is an error.
507
508         * gst/gstbin.c: (gst_bin_change_state):
509         Better debugging.
510
511         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
512         Also call pad_block in pad alloc.
513
514         * gst/gstutils.c: (gst_flow_get_name):
515         Better debugging.
516
517 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
518
519         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
520         (gst_base_src_get_range):
521           Fix documentation typos. Add some more debug info.
522
523 2005-09-29  David Schleef  <ds@schleef.org>
524
525         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
526           more end-user friendly.
527         * tools/gst-inspect.c: (main): Check if command-line argument is
528           a file and attempt to load that file as a plugin.
529
530 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
531
532         * check/gst/gstbin.c:
533         * check/states/sinks.c:
534           fix tests for the new warning
535         * check/gst/gstpipeline.c:
536           add a test for pipeline and bus interaction
537         * gst/gstelement.c:
538           elements should be NULL if they get disposed; add a warning if not
539
540 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
541
542         * gst/gstobject.c:
543           for 2.6 refcounting, make debug log more correct by printing
544           the actual refcounts at the time of swap (Wim)
545
546 2005-09-29  Andy Wingo  <wingo@pobox.com>
547
548         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
549         removes signal watches previously added via
550         gst_bus_add_signal_watch.
551         (gst_bus_add_signal_watch): Don't return the source id, just store
552         it on the bus if there wasn't an id already.
553
554         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
555         add_signal_watch and remove_signal_watch.
556
557 2005-09-29  Edward Hervey  <edward@fluendo.com>
558
559         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
560         Better if we actually iterate the list :)
561
562 2005-09-29  Wim Taymans  <wim@fluendo.com>
563
564         * check/gst/gstbin.c: (GST_START_TEST):
565         Change for new bus API.
566
567         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
568         (send_messages), (GST_START_TEST), (gstbus_suite):
569         Change for new bus signal API.
570
571         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
572         (gst_bus_source_prepare), (gst_bus_source_check),
573         (gst_bus_create_watch), (gst_bus_add_watch_full),
574         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
575         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
576         * gst/gstbus.h:
577         Remove support for multiple GSources operating on different
578         message types as it is too complex and unneeded when using
579         signals.
580         Added support for receiving signals from the bus.
581
582 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
583
584         * docs/libs/tmpl/gstdataprotocol.sgml:
585         * docs/manual/advanced-dataaccess.xml:
586         * gst/elements/gstcapsfilter.c:
587         * gst/gstutils.c:
588           rename filter-caps to caps property
589
590 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
591
592         * gst/gstvalue.c: (gst_value_deserialize_fraction):
593           More robust fraction string parsing.
594
595         * docs/pwg/appendix-porting.xml:
596           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
597
598 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
599
600         * gst/gstcaps.c: (gst_caps_do_simplify):
601           Thou shalt not free a structure and then continue using it
602           in the next loop iteration.
603
604         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
605         (gst_caps_suite):
606           Add test case for caps simplification.
607
608 2005-09-29  Wim Taymans  <wim@fluendo.com>
609
610         * check/gst/gstbin.c: (GST_START_TEST):
611         Oops.
612
613 2005-09-29  Wim Taymans  <wim@fluendo.com>
614
615         * check/gst/gstbin.c: (GST_START_TEST):
616         Add bus to bin.
617
618         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
619         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
620         (find_element), (gst_bin_sort_iterator_next),
621         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
622         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
623         (gst_bin_change_state), (gst_bin_dispose):
624         A bin does not have a bus, it gets the bus from the parent.
625
626         * gst/gstelement.c: (gst_element_requires_clock),
627         (gst_element_provides_clock), (gst_element_is_indexable),
628         (gst_element_is_locked_state), (gst_element_change_state),
629         (gst_element_set_bus_func):
630         Small cleanups.
631
632         * gst/gstpipeline.c: (gst_pipeline_class_init),
633         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
634         The pipeline provides a bus.
635
636 2005-09-28  Johan Dahlin  <johan@gnome.org>
637
638         * gst/gstmessage.c (gst_message_parse_state_changed): Use
639         gst_structure_get_enum instead of gst_structure_get_int
640
641         * gst/gststructure.c (gst_structure_get_enum): Impl.
642
643         * gst/gststructure.h (gst_structure_get_enum): Add
644
645         * docs/gst/gstreamer-sections.txt: Ditto
646
647         * gst/gstmessage.c (gst_message_new_state_changed): Use
648         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
649         which does introspection.
650         Reviewed by Christian Schaller
651
652 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
653
654         * gst/gstinfo.c: (gst_debug_log_default):
655           don't do dummy g_strdup()s
656         * libs/gst/controller/gstcontroller.c:
657         (on_object_controlled_property_changed),
658         (gst_controlled_property_new), (gst_controller_new_valist),
659         (gst_controller_new_list),
660         (gst_controller_remove_properties_valist), (gst_controller_set),
661         (gst_controller_get), (gst_controller_sync_values),
662         (gst_controller_get_value_array), (_gst_controller_class_init),
663         (gst_controller_get_type):
664         * libs/gst/controller/gstcontroller.h:
665         * libs/gst/controller/gstinterpolation.c:
666         (gst_controlled_property_find_timed_value_node):
667           convert // to /**/ comments
668
669 2005-09-28  Wim Taymans  <wim@fluendo.com>
670
671         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
672         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
673         (gst_bus_sync_signal_handler):
674         * gst/gstbus.h:
675         Added async-message and sync-message signals to the bus.
676         Added helper BusFunc to emit signals for all posted messages.
677
678         * gst/gstmessage.c: (gst_message_type_get_name),
679         (gst_message_type_to_quark), (gst_message_get_type):
680         * gst/gstmessage.h:
681         Register quarks for message names.
682
683 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
684
685         * docs/libs/gstreamer-libs-sections.txt:
686         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
687         (gst_controller_new_list):
688         * libs/gst/controller/gstcontroller.h:
689           added another constructor for language bindings
690
691 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
692
693         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
694           add another check
695         * gst/gstbus.c:
696           add some doc
697         * gst/gstinfo.c: (_gst_debug_init):
698           slightly more readable color for refcount debugging
699
700 2005-09-28  Wim Taymans  <wim@fluendo.com>
701
702         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
703         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
704         (find_element), (gst_bin_sort_iterator_next),
705         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
706         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
707         (gst_bin_change_state), (gst_bin_dispose):
708         Small doc fixes. get_clock -> provide_clock.
709
710         * gst/gstelement.c: (gst_element_class_init),
711         (gst_element_provides_clock), (gst_element_provide_clock),
712         (gst_element_get_clock), (gst_element_commit_state),
713         (gst_element_lost_state):
714         * gst/gstelement.h:
715         Make get/set_clock() symetric. Add provide_clock vmethod since
716         that is actually what this function does.
717
718         * gst/gstpipeline.c: (gst_pipeline_class_init),
719         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
720         (gst_pipeline_get_clock):
721         get_clock -> provide_clock.
722
723 2005-09-28  Andy Wingo  <wingo@pobox.com>
724
725         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
726         lieu of real docs...
727
728         * gst/elements/gstfdsrc.c: Cleaned up a bit.
729
730 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
731
732         * gst/elements/gstcapsfilter.c:
733         * gst/elements/gstfakesink.c:
734         * gst/elements/gstfakesrc.c:
735         * gst/elements/gstfdsink.c:
736         * gst/elements/gstfdsrc.c:
737         * gst/elements/gstfilesink.c:
738         * gst/elements/gstfilesrc.c:
739         * gst/elements/gstidentity.c:
740         * gst/elements/gsttee.c:
741         * gst/elements/gsttypefindelement.c:
742           Make element details static.
743
744 2005-09-28  Wim Taymans  <wim@fluendo.com>
745
746         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
747         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
748         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
749         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
750         (gst_bin_change_state), (gst_bin_dispose):
751         Some documentation updates.
752         Clean up dispose handlers.
753
754         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
755         * gst/gstpad.c: (gst_pad_dispose):
756         Clean up dispose handler.
757
758         * gst/gstpipeline.c: (gst_pipeline_change_state):
759         Removed spurious UNLOCK.
760
761 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
762
763         * docs/gst/gstreamer-sections.txt:
764         * gst/base/gstbasesrc.h:
765         * gst/gstelement.h:
766         * gst/gstevent.h:
767         * gst/gstobject.h:
768         * gst/gstpad.h:
769         * gst/gstpipeline.c:
770         * gst/gstpipeline.h:
771         * gst/gstutils.h:
772         * gst/gstxml.h:
773           added two new functions to the docs
774                 documents all undocumented GstXXXFlags
775                 completed some incomplete docs 
776
777 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
778
779         * gst/gstbin.c: (gst_bin_dispose):
780         * gst/gstelement.c: (gst_element_dispose):
781           remove now useless and leaky resurrection code in dispose
782         * gst/base/gstbasesrc.c: (gst_base_src_init):
783         * gst/gstelementfactory.c: (gst_element_factory_create):
784         * gst/gstobject.c: (gst_object_set_parent):
785           add some debugging
786
787 2005-09-27  Wim Taymans  <wim@fluendo.com>
788
789         * docs/design/part-TODO.txt:
790         Update TODO.
791
792         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
793         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
794         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
795         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
796         (gst_bin_change_state):
797         * gst/gstelement.h:
798         Remove element variable, we keep element info in the iterator now.
799
800 2005-09-27  Andy Wingo  <wingo@pobox.com>
801
802         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
803         values.
804
805 2005-09-27  Wim Taymans  <wim@fluendo.com>
806
807         * check/gst/gstbin.c: (GST_START_TEST):
808         Enable check that works now.
809
810         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
811         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
812         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
813         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
814         (gst_bin_change_state):
815         * gst/gstbin.h:
816         Redid the state change algorithm using a topological sort algo.
817         Handles all cases correctly.
818         Exposed iterator for state change order.
819
820         * gst/gstelement.h:
821         Temp storage for state changes. Need to get rid of this soon.
822
823 2005-09-27  Wim Taymans  <wim@fluendo.com>
824
825         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
826         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
827         (link_fold_func), (gst_pad_proxy_setcaps):
828         Leak fixes, the fold functions need to unref the passed object and
829         _get_parent_*() returns ref to parent.
830
831 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
832
833         * check/gst/gstbuffer.c: (test_make_writable):
834           Plug leak in test case and fix 'make check-valgrind'
835
836 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
837
838         * gst/gstbuffer.c: (gst_subbuffer_init):
839           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
840           works correctly in all circumstances (we could have just copied
841           the parent buffer's readonly flag, but conceptually it seems
842           cleaner to mark all subbuffers as read-only). (based on patch
843           by Alessandro Decina, #314710).
844         
845         * check/gst/gstbuffer.c: (create_read_only_buffer),
846         (test_make_writable), (test_subbuffer_make_writable),
847         (gst_test_suite):
848           Add some tests for gst_buffer_make_writable().
849
850 2005-09-27  Wim Taymans  <wim@fluendo.com>
851
852         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
853         use gst_object_has_ancestor().
854
855         * gst/gstobject.c: (gst_object_has_ancestor):
856         * gst/gstobject.h:
857         gst_object_has_ancestor() copied from gstbin.c as it is a
858         usefull function.
859
860         * tests/instantiate/create.c: (create_all_elements):
861         * tests/lat.c: (handoff_src), (handoff_sink):
862         * tests/sched/runxml.c: (main):
863         * tests/seeking/seeking1.c: (main):
864         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
865         (main):
866         Fix compilation of some tests.
867
868 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
869
870         * gst/gsterror.h:
871           Remove comment. GST_TYPE_G_ERROR is here to stay,
872           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
873           (#316961, #300610).
874
875 2005-09-26  Wim Taymans  <wim@fluendo.com>
876
877         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
878         Added check that shows error in state change order.
879
880 2005-09-26  Wim Taymans  <wim@fluendo.com>
881
882         * gst/gstbin.c: (gst_bin_change_state):
883         Make state change function use 3 queues again, we were
884         adding elements in the wrong order.
885
886         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
887         Some debug info,
888
889         * gst/gstpad.c: (gst_pad_dispose):
890         Added some debug info first.
891
892 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
893
894         * docs/design/draft-push-pull.txt:
895         * docs/design/part-events.txt:
896         * docs/design/part-overview.txt:
897         * docs/design/part-scheduling.txt:
898           Replace all _pull_region() with _pull_range()
899           
900 2005-09-26  Andy Wingo  <wingo@pobox.com>
901
902         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
903
904         * check/gst-libs/controller.c: Update for controller api change.
905
906         * configure.ac: 
907         * tests/Makefile.am:
908         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
909         over by GLib bug 118439.
910         
911         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
912         routines to a function.
913
914         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
915
916         * libs/gst/controller/gsthelper.c:
917         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
918         (gst_object_sync_values): Renamed from sink_values. Ugh.
919
920         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
921
922         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
923         Renamed from controller_key, as it is exported.
924
925         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
926
927 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
928
929         * gst/Makefile.am:
930         * gst/gst.h:
931         * gst/gstpad.h:
932         * gst/gstpadtemplate.h:
933         * gst/gstquery.c:
934         * gst/gstquery.h:
935         * gst/gstqueryutils.c:
936         * gst/gstqueryutils.h:
937           remove queryutils headers after moving the two used functions
938           to gstquery.  also fixes build problem for gstsiddec
939
940 2005-09-26  Michael Smith <msmith@fluendo.com>
941
942         * tools/gst-launch.1.in:
943         Correct documentation in manpage of debug syntax
944
945 2005-09-26  Wim Taymans  <wim@fluendo.com>
946
947         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
948         (gst_base_src_is_seekable), (gst_base_src_change_state):
949         Some more debugging info.
950
951 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
952
953         * docs/gst/gstreamer-sections.txt:
954         * gst/base/gstbasetransform.h:
955         * gst/gstindex.h:
956           added more docs
957
958 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
959
960         * docs/gst/.cvsignore:
961         * docs/gst/tmpl/.cvsignore:
962         * docs/gst/tmpl/gstpipeline.sgml:
963         * docs/gst/tmpl/gstplugin.sgml:
964         * gst/gstpipeline.c:
965         * gst/gstplugin.c:
966         * gst/gstplugin.h:
967           inlined the last two docs files
968           removed the tmpl directory from cvs (no more conflicts here!)
969
970 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
971
972         * docs/gst/gstreamer-sections.txt:
973         * docs/gst/tmpl/.cvsignore:
974         * docs/gst/tmpl/gstpad.sgml:
975         * docs/gst/tmpl/gstpadtemplate.sgml:
976         * gst/Makefile.am:
977         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
978         (gst_pad_finalize), (gst_pad_set_pad_template):
979         * gst/gstpad.h:
980         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
981         (gst_pad_template_class_init), (gst_pad_template_init),
982         (gst_pad_template_dispose), (name_is_valid),
983         (gst_static_pad_template_get), (gst_pad_template_new),
984         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
985         (gst_pad_template_pad_created):
986         * gst/gstpadtemplate.h:
987           inlined two more docs
988           factored gstpadtemplate out of gstpad
989
990 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
991
992         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
993         (test_children_state_change_order_semi_sink):
994           Fix test case: we can't rely on a fixed state change order when
995           going from READY => PAUSED because the sink might commit its 
996           new state first when the first buffer created by the source 
997           reaches the sink before the source has finished its change state.
998           (Test case still fails at times, see #316856, comment 5 onwards)
999
1000 2005-09-24  Wim Taymans  <wim@fluendo.com>
1001
1002         * docs/design/part-events.txt:
1003         * docs/design/part-gstbus.txt:
1004         * docs/design/part-gstpipeline.txt:
1005         * docs/design/part-messages.txt:
1006         * docs/design/part-overview.txt:
1007         * docs/design/part-segments.txt:
1008         * gst/gstbin.c:
1009         * gst/gstbuffer.c:
1010         * gst/gstclock.c:
1011         * gst/gstelement.c:
1012         * gst/gstevent.c:
1013         * gst/gstfilter.c:
1014         * gst/gstiterator.c:
1015         Various documentation updates.
1016
1017 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1018
1019         * gst/gstclock.h:
1020           Well, that's embarassing.  Luckily we weren't using
1021           GST_CLOCK_DIFF anywhere.
1022
1023 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1024
1025         * common/gtk-doc.mak:
1026           don't fail on building XML, FC4 slave shows a bunch of doc
1027           missing bits that I don't get
1028         * gst/gstpad.c:
1029         * gst/gstpipeline.c:
1030         * gst/gststructure.c:
1031           some doc updates
1032
1033 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1034
1035         * docs/design/part-gstbin.txt:
1036         * docs/design/part-gstbus.txt:
1037         * gst/gstbus.c:
1038           Add blurb about how the bus goes into flushing mode and
1039           drops all messages when its bin goes from READY into NULL 
1040           state.
1041
1042 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1043
1044         * docs/gst/gstreamer-sections.txt:
1045         * gst/gststructure.c: (gst_structure_get_clock_time):
1046         * gst/gststructure.h:
1047           add a method to get a GstClockTime out of a structure
1048
1049 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1050
1051         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
1052         (test_children_state_change_order_semi_sink), (gst_bin_suite):
1053           Added test to check state change order in bins (can still be made
1054           to fail here under heavy disk load; bails out with 'Push on pad
1055           fakesink:sink0, but it was not activated in push mode').
1056
1057         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
1058           Fix state change order when there is only a semi sink (#316856)
1059
1060         * gst/gstbus.c: (gst_bus_class_init):
1061           Use _class_peek_parent(), not _class_ref(); fix docs to say
1062           'default main context' instead of 'mainloop' where that is
1063           what's meant.
1064
1065         * gst/gstelement.c: (gst_element_commit_state),
1066         (gst_element_set_state):
1067           Fix typos in debug messages
1068
1069 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1070
1071         * docs/README:
1072         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
1073         * gst/gstpluginfeature.c:
1074         * gst/gstutils.c:
1075           various doc updates
1076         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1077           change an assert into an error until it gets fixed properly
1078
1079 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
1080
1081         * docs/gst/gstreamer-sections.txt:
1082         * docs/gst/tmpl/.cvsignore:
1083         * docs/gst/tmpl/gstelement.sgml:
1084         * docs/gst/tmpl/gstinfo.sgml:
1085         * docs/gst/tmpl/gstobject.sgml:
1086         * gst/gstelement.c:
1087         * gst/gstelement.h:
1088         * gst/gstinfo.c:
1089         * gst/gstinfo.h:
1090         * gst/gstobject.c: (gst_object_class_init):
1091         * gst/gstobject.h:
1092           inlined 3 more biiiig doc files and added some missing docs on the fly
1093
1094 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1095
1096         * check/gst/.cvsignore:
1097         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
1098         * gst/gstregistryxml.c: (load_plugin),
1099         (gst_registry_xml_save_plugin):
1100           put back source in registry.  add checks for find_plugin.
1101         * testsuite/states/bin.c: (assert_state), (empty_bin),
1102         (test_adding_one_element), (main):
1103         * testsuite/states/locked.c: (main):
1104           some compile/run fixes
1105
1106 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1107
1108         * check/gst/gstvalue.c: (GST_START_TEST):
1109           fix leaks in the test itself
1110
1111 2005-09-22  Wim Taymans  <wim@fluendo.com>
1112
1113         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1114         (gst_base_sink_send_event), (gst_base_sink_peer_query),
1115         (gst_base_sink_query):
1116         Prepare for more accurate position reporting and query
1117         handling.
1118
1119         * gst/gstelement.c: (gst_element_send_event),
1120         (gst_element_set_state):
1121         Add some comment.
1122
1123 2005-09-22  Wim Taymans  <wim@fluendo.com>
1124
1125         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
1126         (gst_query_parse_segment):
1127         * gst/gstquery.h:
1128         More documentation.
1129         Add segment query for future use.
1130
1131 2005-09-22  Wim Taymans  <wim@fluendo.com>
1132
1133         * gst/gstbin.c: (gst_bin_add_func):
1134         Some more debug info.
1135
1136         * gst/gstelement.c: (gst_element_send_event):
1137         Simplify send_event
1138
1139         * gst/gstelement.h:
1140         Don't know how flags got broken.
1141
1142         * gst/gstquery.h:
1143         Added new query.
1144
1145 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
1146
1147         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
1148           Add simplistic test suite for GST_TYPE_DATE serialisation and
1149           deserialisation.
1150
1151 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
1152
1153         * docs/gst/gstreamer-sections.txt:
1154         * gst/gststructure.c: (gst_structure_set_valist),
1155         (gst_structure_get_date):
1156         * gst/gststructure.h:
1157         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
1158         (gst_date_copy), (gst_value_compare_date),
1159         (gst_value_serialize_date), (gst_value_deserialize_date),
1160         (gst_value_transform_date_string),
1161         (gst_value_transform_string_date), (_gst_value_initialize):
1162         * gst/gstvalue.h:
1163           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
1164           bunch of utility functions along with a hack that checks that
1165           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
1166           is required. Part of the grand scheme in #170777.
1167
1168 2005-09-22  Andy Wingo  <wingo@pobox.com>
1169
1170         * gst/gstconfig.h.in: Psych out gtk-doc.
1171
1172         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
1173
1174         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
1175
1176         * tools/gst-inspect.c (print_element_list): Plug some
1177         inconsequential leaks.
1178
1179         * gst/gstregistry.c (gst_registry_get_default): Doc.
1180
1181         * check/gst/gstplugin.c: 
1182         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
1183         * gst/gstelementfactory.c (gst_element_factory_create): 
1184         * gst/gstindexfactory.c (gst_index_factory_create): Update for
1185         refcount changes.
1186
1187         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
1188         (gst_plugin_feature_load): Doc, don't eat refs.
1189
1190         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
1191         (gst_plugin_list_free): Doc.
1192         (gst_plugin_load_file): Doc updates.
1193
1194         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
1195         accessors returning refcounted objects, return a ref.
1196
1197         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
1198         accessor for caps. IDEMPOTENCE. Oh yes.
1199
1200 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
1201
1202         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1203
1204         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1205         (_gst_debug_register_funcptr):
1206           Add mutex to serialise access to the hash table with
1207           the function pointer => function name string mapping;
1208           make that hash table static scope (#316809).
1209
1210         * gst/registries/.cvsignore:
1211           Remove left-over file.
1212
1213 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
1214
1215         * docs/pwg/appendix-porting.xml:
1216           And something about newsegment events and caps-on-buffers to
1217           the porting guide (feel free to improve).
1218
1219 2005-09-21  Andy Wingo  <wingo@pobox.com>
1220
1221         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
1222         data and event probes on the same pad.
1223         (test_buffer_probe_once): Test that removing probes from within
1224         the probe functions works.
1225
1226 2005-09-21  Andy Wingo  <wingo@pobox.com>
1227
1228         * check/gst/gstutils.c: New file.
1229         (test_buffer_probe_n_times): A simple buffer probe test. More to
1230         come, foolios.
1231
1232         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
1233         have-data::buffer, not have-data.
1234         (gst_pad_add_event_probe): Likewise for have-data::event.
1235         (gst_pad_add_data_probe): More docs. The part about 'resolving the
1236         peer' isn't quite right yet though.
1237         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
1238         (gst_pad_remove_data_probe): Change to take the guint handler_id
1239         as their arg, not the function+data, which is more glib-like.
1240
1241         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
1242         the signal emission to indicate if the data is a buffer or an
1243         event.
1244         (gst_pad_get_type): Initialize buffer and event quarks.
1245         (gst_pad_class_init): have-data is now a detailed signal, yes it
1246         is.
1247
1248 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
1249
1250         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
1251         * gst/gstutils.c: (gst_util_set_value_from_string),
1252         (gst_util_set_object_arg):
1253           Don't put functional code in g_return_if_fail() or
1254           g_return_val_if_fail() statements, otherwise things will 
1255           break when G_DISABLE_CHECKS is defined during compilation.
1256
1257 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
1258
1259         * docs/gst/tmpl/.cvsignore:
1260         * docs/gst/tmpl/gstvalue.sgml:
1261         * gst/gstvalue.c:
1262         * gst/gstvalue.h:
1263           inlied another one and added  some obvious docs
1264
1265 2005-09-21  Wim Taymans  <wim@fluendo.com>
1266
1267         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1268         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
1269         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
1270         (gst_fdsrc_get_property), (gst_fdsrc_create):
1271         * gst/elements/gstfdsrc.h:
1272         Properly implement fdsrc. Removed signal and timeout,
1273         better implemented somewhere else.
1274
1275 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
1276
1277         * docs/gst/tmpl/.cvsignore:
1278         * docs/gst/tmpl/gstimplementsinterface.sgml:
1279         * gst/gstinterface.c:
1280           inlined more docs
1281
1282 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
1283
1284         * docs/gst/gstreamer-sections.txt:
1285         * docs/gst/tmpl/.cvsignore:
1286         * docs/gst/tmpl/gstenumtypes.sgml:
1287           remove obsolete doc file
1288
1289 2005-09-21  David Schleef  <ds@schleef.org>
1290
1291         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
1292         little beer, fix a little leak.
1293
1294 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
1295
1296         * docs/gst/gstreamer-docs.sgml:
1297         * docs/gst/gstreamer-sections.txt:
1298         * docs/gst/tmpl/.cvsignore:
1299         * gst/Makefile.am:
1300         * gst/gst.h:
1301         * gst/gstbin.c:
1302         * gst/gstelement.h:
1303         * gst/gstindex.c: (gst_index_class_init):
1304         * gst/gstindex.h:
1305         * gst/gstindexfactory.c: (gst_index_factory_get_type),
1306         (gst_index_factory_class_init), (gst_index_factory_init),
1307         (gst_index_factory_finalize), (gst_index_factory_new),
1308         (gst_index_factory_destroy), (gst_index_factory_find),
1309         (gst_index_factory_create), (gst_index_factory_make):
1310         * gst/gstindexfactory.h:
1311         * gst/gstpluginfeature.c:
1312         * gst/gstpluginfeature.h:
1313         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
1314           more docs inlined, splitted gstindex.{c,h}
1315
1316 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1317
1318         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
1319           fix a leak
1320
1321 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
1322
1323         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1324           Set sync to FALSE by default.
1325
1326 2005-09-20  Wim Taymans  <wim@fluendo.com>
1327
1328         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1329         (gst_base_sink_init):
1330         Make sync property settable from subclass.
1331
1332         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
1333         (gst_fake_sink_change_state):
1334         Set sync to FALSE by default.
1335
1336 2005-09-20  Wim Taymans  <wim@fluendo.com>
1337
1338         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
1339         * tools/gst-launch.c: (main):
1340         The timeout handler should have lower priority than the source
1341         so we don't timeout before popping a message with 0 timeout.
1342         Dump error messages after failed state change.
1343
1344 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
1345
1346         * tools/gst-inspect.c: (print_element_properties_info):
1347           Fix two typos.
1348
1349 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1350
1351         * check/gst/gstevent.c:
1352         * gst/elements/gstfakesink.c:
1353         * gst/elements/gstfakesink.h:
1354           remove the sync property from fakesink.
1355           has the side effect of setting sync TRUE
1356           for fakesink, which is a change.  Anyone who knows how
1357           to fix this nicely in a GObject-y way, feel free.
1358
1359 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
1360
1361         * docs/gst/gstreamer-docs.sgml:
1362           remove probe refsection
1363
1364 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
1365
1366         * check/Makefile.am:
1367           disable valgrinding the controller test again
1368         * docs/gst/gstreamer-sections.txt:
1369           update for api-changes
1370
1371 2005-09-20  Wim Taymans  <wim@fluendo.com>
1372
1373         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1374         (gst_base_sink_set_property), (gst_base_sink_get_property),
1375         (gst_base_sink_do_sync):
1376         * gst/base/gstbasesink.h:
1377         Added sync property to basesink to disable clock sync.
1378
1379 2005-09-20  Andy Wingo  <wingo@pobox.com>
1380
1381         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
1382         eating the caller's refcount.
1383
1384         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
1385         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
1386         refcount.
1387
1388         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
1389         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
1390         of GLib 2.8 public, so we can know which refcount to check in
1391         tests.
1392
1393         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
1394         (gst_object_init): Only set the gst refcount if we're going ahead
1395         with the refcount hack.
1396
1397 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
1398
1399         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
1400         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
1401           more leaks plumbed, added more debug-logging
1402         * gst/gstmacros.h:
1403           whitespace fix
1404
1405 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1406
1407         * gst/gstmessage.c:
1408           remove include of gstmemchunk.h
1409
1410 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1411
1412         * gst/gstclock.c: (_gst_clock_id_free):
1413           Commit from the Political Party For More Atomic CVS Commits,
1414           so that people don't waste too much of their day fishing
1415           out obvious leaks out of massive commits.
1416           Oh, and fix a pretty damn obvious leak in the memchunk
1417           removal code.
1418
1419 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
1420
1421         * check/Makefile.am:
1422         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
1423           plug mem-leak, re-add to valgrindable tests
1424
1425 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1426
1427         * gst/gstplugin.h:
1428           unbreak the build for those who have chronic arthritis
1429           and typing "make check" is just too taxing on the hands
1430
1431 2005-09-20  Andy Wingo  <wingo@pobox.com>
1432
1433         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
1434         really want it out, you should fix plugins at the same time.
1435
1436 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
1437
1438         * configure.ac:
1439         * docs/gst/gstreamer-sections.txt:
1440         * gst/gstobject.c:
1441           added missing symbols to api docs
1442           disable ref-count hack if we have glib >= 2.8
1443
1444 2005-09-19  David Schleef  <ds@schleef.org>
1445
1446         * docs/gst/Makefile.am: Ignore a few more internal headers
1447         * docs/gst/gstreamer-docs.sgml: Remove old sections
1448         * docs/gst/gstreamer-sections.txt: Remove old sections
1449         * docs/gst/tmpl/gstobject.sgml: update
1450         * docs/gst/tmpl/gstplugin.sgml: update
1451         * docs/gst/tmpl/gstpluginfeature.sgml: update
1452         * docs/random/ds/0.9-suggested-changes: update.
1453         * gst/Makefile.am: remove memchunk and trashstack, since they're
1454           not used.
1455         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
1456         * gst/gst.h: don't include some headers
1457         * gst/gstchildproxy.c: add gstmarshal.h
1458         * gst/gstclock.c: Don't use memchunks
1459         * gst/gstminiobject.c: Add some docs
1460         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
1461         * gst/gstobject.h: same
1462         * gst/gstplugin.c: include gstmacros.h
1463         * gst/gstplugin.h: don't include gstmacros.h, since it's private
1464         * gst/gstquery.c: don't use memchunks
1465         * gst/gstregistry.c: rename gst_registry_deinit()
1466         * gst/gstregistry.h: same
1467
1468 2005-09-19  David Schleef  <ds@schleef.org>
1469
1470         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
1471         * docs/libs/gstreamer-libs-sections.txt:
1472         * docs/libs/tmpl/gstgetbits.sgml:
1473         * docs/libs/tmpl/gstputbits.sgml:
1474
1475 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
1476
1477         * win32/gstenumtypes.c:
1478         * win32/gstenumtypes.h:
1479           Update.
1480
1481 2005-09-19  Wim Taymans  <wim@fluendo.com>
1482
1483         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
1484         Automatically PAUSE and RESUME a pipeline when a flushing seek
1485         is performed.
1486
1487 2005-09-19  Andy Wingo  <wingo@pobox.com>
1488
1489         * gst/gstregistry.h: Spacing fixen.
1490
1491 2005-09-19  Wim Taymans  <wim@fluendo.com>
1492
1493         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
1494         Handle state change failure more correctly.
1495
1496 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1497
1498         * check/Makefile.am:
1499         * check/pipelines/cleanup.c: (run_pipeline):
1500         * check/pipelines/simple_launch_lines.c: (run_pipeline),
1501         (GST_START_TEST):
1502           enable cleanup again after fixing the leak
1503         * docs/README:
1504           some more info on docs
1505
1506 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1507
1508         * check/Makefile.am:
1509           re-enable tests now that leaks are plugged
1510         * check/gst/gst.c:
1511         * check/gst/gstbin.c:
1512         * check/gst/gstpipeline.c:
1513           add some more tests while fixing leaks
1514         * common/check.mak:
1515           make sure binaries are uptodate when valgrinding/gdbing
1516         * gst/gst.c:
1517         * gst/gstelementfactory.c:
1518           remove a ref too many, and add a FIXME for when we get
1519           round to disposing of classes
1520         * gst/gstplugin.c:
1521           fix the refcounting when loading a plugin from a file and
1522           the code pretends that the pointer is the same even though
1523           of course it can change
1524         * gst/gstpluginfeature.c:
1525           unref plugins marked cached (a bit confusing as a name)
1526           as the docs state should be done
1527           various doc additions to explain refcounting
1528         * gst/gstregistry.c:
1529         * gst/gstregistryxml.c:
1530           debugging
1531
1532 2005-09-19  Wim Taymans  <wim@fluendo.com>
1533
1534         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1535         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
1536         (send_messages), (GST_START_TEST), (gstbus_suite):
1537         * check/gst/gstpipeline.c: (GST_START_TEST):
1538         * check/pipelines/cleanup.c: (run_pipeline):
1539         * check/pipelines/simple_launch_lines.c: (run_pipeline),
1540         (GST_START_TEST):
1541         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
1542         (gst_bus_source_check), (gst_bus_source_dispatch),
1543         (gst_bus_create_watch), (gst_bus_add_watch_full),
1544         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
1545         * gst/gstbus.h:
1546         * tools/gst-launch.c: (event_loop):
1547         * tools/gst-md5sum.c: (event_loop):
1548         GstBusHandler -> GstBusFunc, return value has the same meaning as
1549         any other GSource (FALSE == remove source).
1550         _add_watch() and _add_watch_full() now take a MessageType mask to
1551         only handle specific types of messages.
1552         _poll() returns the GstMessage instead of the message type to avoid
1553         race conditions.
1554         _have_pending() takes a MessageType mask now too.
1555         Added testsuite for multiple bus watches.
1556         Fix testsuites and applications for new bus API.
1557
1558 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1559
1560         * check/Makefile.am:
1561           mark a bunch of the tests as to fix until we fix them
1562
1563 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1564
1565         * common/check.mak:
1566           use GST_PLUGIN settings for valgrind tests as well, so we're
1567           valgrinding the correct thing
1568         * gst/gst.c: (init_post):
1569           plug another leak
1570
1571 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1572
1573         * gst/gst.c: (init_post), (gst_deinit):
1574         * gst/gstelementfactory.c: (gst_element_factory_class_init),
1575         (gst_element_factory_finalize), (gst_element_factory_cleanup):
1576         * gst/gstindex.c: (gst_index_factory_class_init),
1577         (gst_index_factory_finalize):
1578         * gst/gstobject.c: (gst_object_dispose):
1579         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1580         (gst_plugin_load_file), (gst_plugin_desc_free):
1581         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
1582         (gst_plugin_feature_finalize):
1583         * gst/gstregistry.c: (gst_registry_class_init),
1584         (gst_registry_init), (gst_registry_finalize),
1585         (gst_registry_get_default), (gst_registry_deinit):
1586         * gst/gstregistry.h:
1587         * gst/gstregistryxml.c: (load_feature), (load_plugin):
1588           various cleanups and memleak plugging.  make valgrind is happy now.
1589
1590 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1591
1592         * common/check.mak:
1593           add a check-valgrind target
1594
1595 2005-09-18  David Schleef  <ds@schleef.org>
1596
1597         * tools/gst-inspect.c: Revert the GOption code.
1598
1599 2005-09-17  David Schleef  <ds@schleef.org>
1600
1601         * check/Makefile.am: Fix environment variables.
1602         * check/gst/gstplugin.c: Fix for API changes.
1603         * tools/gst-inspect.c: Fix for API changes.
1604         * tools/gst-xmlinspect.c: Fix for API changes.
1605         * gst/gstelementfactory.c:
1606         * gst/gstplugin.c:
1607         * gst/gstplugin.h:
1608         * gst/gstpluginfeature.c:
1609         * gst/gstpluginfeature.h:
1610         * gst/gstregistry.c:
1611         * gst/gstregistry.h:
1612         * gst/gstregistryxml.c:
1613         * gst/gsttypefind.c:
1614         * gst/gsttypefindfactory.c:
1615         * gst/indexers/gstfileindex.c:
1616         * gst/indexers/gstmemindex.c:
1617         * gst/schedulers/Makefile.am:
1618           Change registry to keep track of both plugins and features,
1619           removing the feature tracking from plugins themselves.
1620
1621 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1622
1623         * check/Makefile.am:
1624         * tools/gst-register.1.in:
1625           remove gst-register
1626
1627 2005-09-15  David Schleef  <ds@schleef.org>
1628
1629         * check/gst/gstplugin.c:
1630         * gst/gstelementfactory.c:
1631         * gst/gstplugin.c:
1632         * gst/gstpluginfeature.c:
1633         * gst/gstregistry.c:
1634           Getting tired of debugging.  Disabled all the unreffing of
1635           plugins and features, which fixes the segfaults, but of
1636           course leaks like crazy.  At least playbin works.
1637
1638 2005-09-15  David Schleef  <ds@schleef.org>
1639
1640         * check/gst/gstplugin.c: (register_check_elements),
1641         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
1642         More testing
1643         * gst/elements/gsttypefindelement.c: Fix refcounting.
1644         * gst/gsttypefind.c:
1645         * gst/gsttypefindfactory.c:
1646         * gst/gsttypefindfactory.h:
1647
1648 2005-09-15  David Schleef  <ds@schleef.org>
1649
1650         * gst/gstindex.c: get refcounting correct.
1651         * gst/gstregistry.c: Handle the case where a feature/plugin is
1652           not found.
1653
1654 2005-09-15  David Schleef  <ds@schleef.org>
1655
1656         * check/Makefile.am:
1657         * check/gst/gstplugin.c: Add test
1658         * gst/gstplugin.c: Fix problems noticed by testsuite
1659         * gst/gstplugin.h:
1660         * gst/gstregistry.c: 
1661         * gst/gstregistry.h:
1662
1663 2005-09-15  David Schleef  <ds@schleef.org>
1664
1665         * gst/gstplugin.c: Implement semi-decent recounting and locking
1666           in plugins and plugin features.
1667         * gst/gstplugin.h:
1668         * gst/gstpluginfeature.c:
1669         * gst/gstpluginfeature.h:
1670         * gst/gstregistry.c:
1671
1672 2005-09-15  Michael Smith <msmith@fluendo.com>
1673
1674         * gst/gstregistry.c: (gst_registry_get_feature_list):
1675           Implement this. Makes oggdemux work; decodebin still broken.
1676
1677 2005-09-14  David Schleef  <ds@schleef.org>
1678
1679         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
1680           #316076)
1681         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
1682         * gst/check/Makefile.am:
1683         * libs/gst/controller/Makefile.am:
1684         * libs/gst/dataprotocol/Makefile.am:
1685
1686 2005-09-14  David Schleef  <ds@schleef.org>
1687
1688         * configure.ac: Remove getbits library.  Nothing uses it, and
1689           it should be in something like liboil if someone did want
1690           to use it.
1691         * libs/gst/Makefile.am:
1692         * libs/gst/getbits/Makefile.am:
1693         * libs/gst/getbits/gbtest.c:
1694         * libs/gst/getbits/getbits.c:
1695         * libs/gst/getbits/getbits.h:
1696         * libs/gst/getbits/gstgetbits_generic.c:
1697         * libs/gst/getbits/gstgetbits_i386.s:
1698         * libs/gst/getbits/gstgetbits_inl.h:
1699
1700 2005-09-14  David Schleef  <ds@schleef.org>
1701
1702         * gst/Makefile.am: Dist glib-compat.h
1703
1704 2005-09-14  David Schleef  <ds@schleef.org>
1705
1706         * configure.ac: Remove gst/registries, since it's no longer used.
1707         * gst/registries/Makefile.am:
1708         * gst/registries/gstlibxmlregistry.c:
1709         * gst/registries/gstlibxmlregistry.h:
1710         * gst/registries/gstxmlregistry.c:
1711         * gst/registries/gstxmlregistry.h:
1712         * gst/registries/registrytest.c:
1713
1714 2005-09-14  David Schleef  <ds@schleef.org>
1715
1716         * gst/glib-compat.h:
1717         * gst/gstregistryxml.c:
1718           Convergence is near.  Seriously.
1719
1720 2005-09-14  David Schleef  <ds@schleef.org>
1721
1722         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1723         * gst/glib-compat.h:
1724           Attempt #4 to appease the buildbots.
1725
1726 2005-09-14  David Schleef  <ds@schleef.org>
1727
1728         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1729           Attempt #3.
1730
1731 2005-09-14  David Schleef  <ds@schleef.org>
1732
1733         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1734         Attempt #2.
1735
1736 2005-09-14  David Schleef  <ds@schleef.org>
1737
1738         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
1739           the new functions.
1740
1741 2005-09-14  David Schleef  <ds@schleef.org>
1742
1743         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
1744         * gst/glib-compat.h: Add some functions that are in newer versions
1745           of glib than we care to require.
1746         * gst/gstregistryxml.c: Use them.
1747
1748 2005-09-14  David Schleef  <ds@schleef.org>
1749
1750         * po/POTFILES.in: remove gst-register.c
1751
1752 2005-09-14  David Schleef  <ds@schleef.org>
1753
1754         * docs/gst/gstreamer-docs.sgml:
1755         * docs/gst/gstreamer-sections.txt:
1756         * docs/gst/gstreamer.types:
1757         * docs/gst/tmpl/gstelement.sgml:
1758         * docs/gst/tmpl/gstplugin.sgml:
1759         * docs/gst/tmpl/gstpluginfeature.sgml:
1760           Documentation updates for registry changes.
1761
1762 2005-09-14  David Schleef  <ds@schleef.org>
1763
1764         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
1765           because we don't require glib-2.8.
1766
1767 2005-09-14  David Schleef  <ds@schleef.org>
1768
1769         * gst/gstregistryxml.c: Added.  Essentially moved out of the
1770           registries directory.
1771
1772 2005-09-14  David Schleef  <ds@schleef.org>
1773
1774         * check/Makefile.am:
1775         * check/generic/states.c:
1776         * gst/Makefile.am:
1777         * gst/gst.c:
1778         * gst/gst.h:
1779         * gst/gst_private.h:
1780         * gst/gstelementfactory.c:
1781         * gst/gstindex.c:
1782         * gst/gstinfo.c:
1783         * gst/gstplugin.c:
1784         * gst/gstplugin.h:
1785         * gst/gstpluginfeature.c:
1786         * gst/gstpluginfeature.h:
1787         * gst/gstregistry.c:
1788         * gst/gstregistry.h:
1789         * gst/gstregistrypool.c: remove
1790         * gst/gstregistrypool.h: remove
1791         * gst/gsttypefind.c:
1792         * gst/gsttypefindfactory.c:
1793         * gst/gsturi.c:
1794         * tools/Makefile.am:
1795         * tools/gst-compprep.c:
1796         * tools/gst-inspect.c:
1797         * tools/gst-register.c: remove
1798         * tools/gst-xmlinspect.c:
1799           Registry rewrite.  Changes registry from being a file created
1800           by a tool into a simple cache file created automatically by 
1801           libgstreamer.  Removed gst-register (because it's no longer
1802           needed).  Remove registry pools, because we only have one
1803           registry implementation (XML).  Fix up other subsystems as
1804           necessary.
1805
1806 2005-09-13  Michael Smith <msmith@fluendo.com>
1807
1808         * gst/gstconfig.h.in:
1809           Don't Use windows linking attributes for MinGW. Fixes #316157
1810
1811 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1812
1813         * gst/gstutils.c: (set_state_async_thread_func),
1814         (gst_element_set_state_async):
1815           Apparently people think it's better if this function doesn't
1816           try to set the state to whatever state was asked for on the first
1817           call to this function for any object.  Seriously.
1818
1819 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1820
1821         * check/gst/gstpipeline.c: (GST_START_TEST):
1822         * docs/gst/gstreamer-sections.txt:
1823         * gst/gstutils.c: (set_state_async_thread_func),
1824         (gst_element_set_state_async):
1825         * gst/gstutils.h:
1826           add a "gst_element_set_state_async" method that
1827           sets the state and starts a thread to make sure the state
1828           change completes as best as it can
1829
1830 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1831
1832         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
1833           codify design+behaviour in testsuite after discussion
1834
1835 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1836
1837         * docs/gst/tmpl/gstelement.sgml:
1838         * docs/manual/appendix-quotes.xml:
1839           add a quote
1840         * gst/gstelement.c: (gst_element_set_state):
1841           add some debug
1842
1843 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
1844
1845         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1846         (gst_base_transform_prepare_output_buf),
1847         (gst_base_transform_handle_buffer):
1848         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
1849         (gst_capsfilter_prepare_buf):
1850           Remove the requirement for sub-classes to call the parent
1851           implementation of prepare_output_buffer with a wrapper function.
1852           
1853         * gst/gsttaglist.h:
1854         * gst/gsttagsetter.h:
1855           Fix #define wrapper
1856
1857 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
1858
1859         * docs/gst/gstreamer-sections.txt:
1860           more doc cleanups
1861
1862 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1863
1864         * docs/gst/gstreamer-sections.txt:
1865         * docs/gst/tmpl/gstelement.sgml:
1866         * docs/gst/tmpl/gstplugin.sgml:
1867         * gst/gstminiobject.c:
1868         * gst/gstvalue.h:
1869           docs now stop throwing warnings
1870
1871 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1872
1873         * docs/gst/gstreamer-sections.txt:
1874         * docs/gst/gstreamer.types:
1875         * docs/gst/tmpl/gstpad.sgml:
1876         * docs/gst/tmpl/gsttypes.sgml:
1877         * gst/base/gstadapter.h:
1878         * gst/base/gstbasesink.h:
1879         * gst/base/gstbasesrc.h:
1880         * gst/gstbin.h:
1881         * gst/gstbuffer.h:
1882         * gst/gstbus.h:
1883         * gst/gstcaps.h:
1884         * gst/gstclock.h:
1885         * gst/gstelement.h:
1886         * gst/gstevent.h:
1887         * gst/gstmessage.h:
1888         * gst/gstpad.h:
1889         * gst/gststructure.c:
1890         * gst/registries/gstlibxmlregistry.h:
1891           various documentation fixes
1892
1893 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1894
1895         * docs/gst/gstreamer-sections.txt:
1896         * docs/gst/tmpl/gstvalue.sgml:
1897           rearrange gstvalue section
1898         * gst/gstutils.c: (gst_element_state_get_name):
1899           NONE -> VOID
1900         * gst/gstvalue.c: (_gst_value_initialize):
1901         * gst/gstvalue.h:
1902           doc updates
1903
1904 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
1905
1906         * check/gst-libs/controller.c:
1907           Header include fix.
1908         * gst/base/gstbasetransform.c:
1909         (gst_base_transform_default_prepare_buf),
1910         (gst_base_transform_handle_buffer):
1911         * gst/base/gstbasetransform.h:
1912           Some more basetransform changes and fixes to enable sub-classes
1913           that modify buffer metadata only.
1914         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1915         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
1916         (gst_capsfilter_prepare_buf):
1917           If the output pad has fixed allowed caps and input buffers 
1918           don't have any, set the fixed caps on outgoing buffers.
1919
1920 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
1921         * check/elements/identity.c: (GST_START_TEST):
1922           Make the error a little clearer when the test fails because
1923           identity made a copy of the buffer.
1924         * docs/gst/gstreamer-sections.txt:
1925           New symbols in gstbasetransform.h
1926         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1927         (gst_base_transform_init), (gst_base_transform_transform_size),
1928         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1929         (gst_base_transform_default_prepare_buf),
1930         (gst_base_transform_get_unit_size),
1931         (gst_base_transform_buffer_alloc),
1932         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1933         (gst_base_transform_change_state),
1934         (gst_base_transform_set_passthrough),
1935         (gst_base_transform_set_in_place),
1936         (gst_base_transform_is_in_place):
1937         * gst/base/gstbasetransform.h:
1938           Change BaseTransform to separate in_place operate from same_caps
1939           output. in_place implies that the element can perform the transform
1940           on incoming buffers in-place, even if the caps on the output are
1941           different.
1942           Sub-class elements can now implement special buffer allocation
1943           methods for outgoing buffers if they wish to.
1944           Big documentation addition.
1945         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
1946         * gst/elements/gstelements.c:
1947           Changes for basetransform modifications.
1948         * gst/elements/Makefile.am:
1949         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
1950           Compile fix. Extra debug output.
1951
1952 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1953
1954         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
1955         (gst_pad_suite):
1956           add tests for valid pad naming
1957         * gst/check/gstcheck.c: (gst_check_log_message_func),
1958         (gst_check_log_critical_func):
1959           add ASSERT_WARNING
1960           remove printing of code, it is fragile when the code contains
1961           % and the line number is enough info
1962         * gst/check/gstcheck.h:
1963         * gst/gstpad.c: (gst_pad_template_new):
1964           fix memleaks
1965
1966 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1967
1968         * configure.ac:
1969           say what CHECK flags we use
1970         * docs/libs/gstreamer-libs.types:
1971         * libs/gst/controller/Makefile.am:
1972         * libs/gst/controller/gst-controller.c:
1973         * libs/gst/controller/gst-controller.h:
1974         * libs/gst/controller/gst-helper.c:
1975         * libs/gst/controller/gst-interpolation.c:
1976         * libs/gst/controller/gstcontroller.c:
1977         * libs/gst/controller/gsthelper.c:
1978         * libs/gst/controller/gstinterpolation.c:
1979         * tools/gst-inspect.c: (print_plugin_info):
1980           we don't use dashes in header names
1981
1982 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1983
1984         * check/Makefile.am:
1985         * check/gst/.cvsignore:
1986         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
1987         (gst_pipeline_suite), (main):
1988           adding a test for pipelines and state changes
1989         * gst/gstutils.c: (get_state_func):
1990           add some debugging
1991         * gstreamer.spec.in:
1992           fix up spec file
1993
1994 2005-09-08  Michael Smith <msmith@fluendo.com>
1995
1996         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
1997         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
1998         (gst_file_src_is_seekable), (gst_file_src_get_size),
1999         (gst_file_src_start):
2000         * gst/elements/gstfilesrc.h:
2001           Various fixes for unseekable, unmmapable, and non-normal files, so
2002           that fallback to read() rather than mmap() works.
2003         * gst/gstevent.c: (gst_event_new_newsegment):
2004           Allow newsegment events with segment_start == segment_end, as will
2005           correctly happen if you use filesrc on a zero-size file, for
2006           example.
2007
2008 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
2009
2010         * gst/gstplugin.c: (gst_plugin_load_file):
2011           Call g_module_close when we don't load the module
2012
2013         * gst/registries/gstlibxmlregistry.c:
2014         (gst_xml_registry_get_property):
2015           Port leak fix from 0.8
2016
2017 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
2018
2019         * docs/gst/gstreamer-docs.sgml:
2020         * docs/gst/tmpl/.cvsignore:
2021         * docs/gst/tmpl/gsttrace.sgml:
2022         * docs/gst/tmpl/gsttrashstack.sgml:
2023         * gst/Makefile.am:
2024         * gst/gst.h:
2025         * gst/gstelement.h:
2026         * gst/gstevent.h:
2027         * gst/gstmessage.c:
2028         * gst/gstmessage.h:
2029         * gst/gsttag.c:
2030         * gst/gsttag.h:
2031         * gst/gsttaginterface.c:
2032         * gst/gsttaginterface.h:
2033         * gst/gsttaglist.c:
2034         * gst/gsttaglist.h:
2035         * gst/gsttagsetter.c:
2036         * gst/gsttagsetter.h:
2037         * gst/gsttrace.c:
2038         * gst/gsttrace.h:
2039         * gst/gsttrashstack.c:
2040           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
2041           inlined docs for gsttrace, gsttrashstack
2042
2043 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
2044
2045         * gst/Makefile.am:
2046         * gst/elements/gstbufferstore.h:
2047         * gst/elements/gsttypefindelement.c:
2048         * gst/elements/gsttypefindelement.h:
2049         * gst/gst.h:
2050         * gst/gsttypefind.c:
2051         * gst/gsttypefind.h:
2052         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
2053         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
2054         (gst_type_find_factory_dispose),
2055         (gst_type_find_factory_unload_thyself),
2056         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
2057         (gst_type_find_factory_get_caps),
2058         (gst_type_find_factory_get_extensions),
2059         (gst_type_find_factory_call_function):
2060         * gst/gsttypefindfactory.h:
2061         * gst/registries/gstlibxmlregistry.c:
2062         * gst/registries/gstxmlregistry.c:
2063           splitted gsttypefind into gsttypefind, gsttypefindfactory
2064
2065 2005-09-07  Andy Wingo  <wingo@pobox.com>
2066
2067         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
2068         condition whereby the pad's task function is entered before the
2069         pad_mode variable was set.
2070
2071 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
2072
2073         * gst/gstpad.c: (gst_pad_alloc_buffer):
2074           Catch misbehaving pad_alloc functions that don't
2075           set up caps and do it for them.
2076
2077 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
2078
2079         * check/pipelines/simple_launch_lines.c: (run_pipeline):
2080           test for pipe!=NULL
2081         * docs/gst/tmpl/.cvsignore:
2082         * docs/gst/tmpl/gstmemchunk.sgml:
2083         * docs/gst/tmpl/gstparse.sgml:
2084         * docs/gst/tmpl/gsttaglist.sgml:
2085         * docs/gst/tmpl/gsttagsetter.sgml:
2086         * docs/gst/tmpl/gsttypefind.sgml:
2087         * docs/gst/tmpl/gsttypefindfactory.sgml:
2088         * gst/gstmemchunk.c:
2089         * gst/gstparse.c:
2090         * gst/gsttag.c:
2091         * gst/gsttaginterface.c:
2092         * gst/gsttypefind.c:
2093         * gst/gsttypefind.h:
2094           inlined more docs
2095
2096 === release 0.9.2 ===
2097
2098 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2099
2100         * NEWS:
2101         * RELEASE:
2102         * configure.ac:
2103           releasing 0.9.2, "South"
2104
2105 2005-09-05  Andy Wingo  <wingo@pobox.com>
2106
2107         * gst/registries/gstxmlregistry.h:
2108         * gst/registries/gstxmlregistry.c: Um... resurrect...
2109         
2110         * gst/registries/gstxmlregistry.h:
2111         * gst/registries/gstxmlregistry.c: and update to newer API.
2112         Incidentally they should be a bit faster now that they don't have
2113         to parse the caps.
2114         
2115 2005-09-05  Andy Wingo  <wingo@pobox.com>
2116
2117         * gst/registries/gstxmlregistry.h:
2118         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
2119         replaced by the libxml registry a while back
2120
2121 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2122
2123         * docs/gst/tmpl/gstplugin.sgml:
2124         * gst/elements/gstelements.c:
2125         * gst/gst.c:
2126         * gst/gstplugin.c: (gst_plugin_register_func),
2127         (gst_plugin_desc_copy), (gst_plugin_desc_free),
2128         (gst_plugin_get_source):
2129         * gst/gstplugin.h:
2130         * gst/registries/gstlibxmlregistry.c: (load_plugin),
2131         (gst_xml_registry_save_plugin):
2132         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
2133         (gst_xml_registry_save_plugin):
2134         * tools/gst-inspect.c: (print_plugin_info):
2135           add a "source" plugin description field, to represent the source
2136           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
2137           will set it to PACKAGE, which is automake's idea of the name of
2138           the source project.
2139
2140 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2141
2142         * Makefile.am:
2143         * autogen.sh:
2144         * configure.ac:
2145         * docs/Makefile.am:
2146         * docs/faq/Makefile.am:
2147         * docs/gst/tmpl/gstelement.sgml:
2148         * docs/gst/tmpl/gsttypes.sgml:
2149         * docs/htmlinstall.mak:
2150         * docs/manual/Makefile.am:
2151         * docs/pwg/Makefile.am:
2152           reorganize doc build a little
2153           split out docbook and gtk-doc stuff
2154           have two separate --enable's and enable them through autogen
2155           but disable by default in configure (to be similar to other
2156           projects)
2157         * gstreamer.spec.in:
2158           clean up docs install
2159         * po/af.po:
2160         * po/az.po:
2161         * po/ca.po:
2162         * po/cs.po:
2163         * po/de.po:
2164         * po/en_GB.po:
2165         * po/fr.po:
2166         * po/it.po:
2167         * po/nb.po:
2168         * po/nl.po:
2169         * po/ru.po:
2170         * po/sq.po:
2171         * po/sr.po:
2172         * po/sv.po:
2173         * po/tr.po:
2174         * po/uk.po:
2175         * po/vi.po:
2176           translation updates
2177
2178 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
2179
2180         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
2181           Add comment.
2182           
2183         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
2184         (gst_fake_sink_change_state):
2185           Make state change function thread-safe.
2186           
2187         * gst/gstpad.c: (gst_pad_alloc_buffer):
2188           Set offset on generic buffer allocated by fallback.
2189
2190 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
2191
2192         * docs/gst/gstreamer-sections.txt:
2193         * docs/gst/tmpl/gstelement.sgml:
2194         * gst/gstpad.c:
2195         * libs/gst/controller/gst-controller.c:
2196         (gst_controlled_property_set_interpolation_mode),
2197         (gst_controlled_property_new),
2198         (gst_controller_find_controlled_property):
2199          run the wingo-magic script against the docs
2200
2201 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
2202
2203         * docs/gst/gstreamer-docs.sgml:
2204         * docs/gst/gstreamer-sections.txt:
2205         * docs/gst/tmpl/.cvsignore:
2206         * docs/gst/tmpl/gstelementdetails.sgml:
2207         * docs/gst/tmpl/gstelementfactory.sgml:
2208         * gst/gst.c:
2209         * gst/gstbus.c:
2210         * gst/gstelementfactory.c:
2211         * gst/gstelementfactory.h:
2212           merged elementdetails docs into elementfactory docs
2213           inlined both
2214
2215 2005-09-02  Andy Wingo  <wingo@pobox.com>
2216
2217         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
2218         consider this enum an enum and not a flags.
2219
2220 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
2221
2222         * docs/gst/gstreamer-docs.sgml:
2223         * docs/gst/tmpl/.cvsignore:
2224         * docs/gst/tmpl/gstghostpad.sgml:
2225         * docs/gst/tmpl/gstiterator.sgml:
2226         * docs/gst/tmpl/gstmacros.sgml:
2227         * docs/gst/tmpl/gstrealpad.sgml:
2228         * docs/gst/tmpl/gstregistry.sgml:
2229         * docs/gst/tmpl/gstregistrypool.sgml:
2230         * docs/gst/tmpl/gststructure.sgml:
2231         * docs/gst/tmpl/gstsystemclock.sgml:
2232         * docs/gst/tmpl/gsttrace.sgml:
2233         * gst/gstghostpad.c:
2234         * gst/gstmacros.h:
2235         * gst/gstmemchunk.c:
2236         * gst/gstmemchunk.h:
2237         * gst/gstqueue.c:
2238         * gst/gstregistry.c:
2239         * gst/gstregistrypool.c:
2240         * gst/gststructure.c:
2241         * gst/gstsystemclock.c:
2242           more docs inlined
2243
2244 2005-09-02  Andy Wingo  <wingo@pobox.com>
2245
2246         * gst/gstelement.h (GstState): Renamed from GstElementState,
2247         changed to be a normal enum instead of flags.
2248         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
2249         munged to be GST_STATE_CHANGE_*.
2250         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
2251         work with the new state representation.
2252         (GstStateChange): New enumeration of possible state transitions.
2253         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
2254         (GstElementClass::change_state): Pass the GstStateChange along as
2255         an argument. Helps language bindings, so they don't have to use
2256         tricky lock-needing macros like GST_STATE_CHANGE ().
2257
2258         * scripts/update-states (file): New script. Run it on a file to
2259         update it for state naming and API changes. Updates files in
2260         place.
2261
2262         * All files updated for the new API.
2263
2264 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2265
2266         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
2267         * gst/gstutils.c: (gst_util_set_value_from_string),
2268         (gst_util_set_object_arg):
2269           fix a bunch of unchecked return values
2270         * tools/gst-complete.c: (main):
2271         * gstreamer.spec.in:
2272           clean up a little
2273
2274 2005-09-01  Wim Taymans  <wim@fluendo.com>
2275
2276         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2277         (gst_base_sink_event), (gst_base_sink_do_sync),
2278         (gst_base_sink_handle_event):
2279         * gst/base/gstbasesink.h:
2280         Handle newsegments more correctly.
2281
2282         * gst/gstbus.c:
2283         Fix docs.
2284
2285         * gst/gstevent.c: (gst_event_new_newsegment):
2286         A newsegment cannot have a start_time of -1
2287
2288 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
2289
2290         * win32/gstenumtypes.c:
2291         * win32/gstenumtypes.h:
2292           Update
2293
2294 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
2295
2296         * libs/gst/controller/gst-controller.c:
2297         (gst_controlled_property_set_interpolation_mode),
2298         (gst_controlled_property_new):
2299          fixed boolean again
2300
2301 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2302
2303         * docs/faq/gst-uninstalled:
2304           add -good
2305         * gst/gstevent.c:
2306         * gst/gstevent.h:
2307           remove wrong docs
2308         * gst/gstutils.c: (gst_element_link_filtered):
2309         * gst/gstutils.h:
2310           add gst_element_link_filtered
2311
2312 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
2313
2314         * docs/gst/gstreamer-docs.sgml:
2315         * docs/gst/gstreamer-sections.txt:
2316         * docs/gst/tmpl/.cvsignore:
2317         * docs/gst/tmpl/gsterror.sgml:
2318         * docs/gst/tmpl/gstfilter.sgml:
2319         * docs/gst/tmpl/gsturihandler.sgml:
2320         * docs/gst/tmpl/gsturitype.sgml:
2321         * docs/gst/tmpl/gstutils.sgml:
2322         * docs/gst/tmpl/gstxml.sgml:
2323         * gst/gsterror.c:
2324         * gst/gsterror.h:
2325         * gst/gstfilter.c:
2326         * gst/gsturi.c:
2327         * gst/gsturitype.c:
2328         * gst/gstutils.c:
2329         * gst/gstxml.c:
2330           inlined more docs, fixed double id-ref
2331
2332 2005-08-31  Wim Taymans  <wim@fluendo.com>
2333
2334         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
2335         (gst_base_transform_handle_buffer):
2336         Passthrough elements don't need the caps as they don't care.
2337
2338 2005-08-31  Wim Taymans  <wim@fluendo.com>
2339
2340         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
2341         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
2342         Don't leak refcounts on buffers.
2343
2344 2005-08-31  Wim Taymans  <wim@fluendo.com>
2345
2346         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
2347         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2348         (gst_base_transform_chain), (gst_base_transform_change_state):
2349         * gst/base/gstbasetransform.h:
2350         Handle the case where we are not negotiated more gracefully.
2351
2352 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
2353
2354         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
2355         (gst_file_src_map_region):
2356           Set READONLY flag on mmap'ed buffers, otherwise
2357           gst_buffer_make_writable() won't work properly (#314708).
2358
2359 2005-08-31  Wim Taymans  <wim@fluendo.com>
2360
2361         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
2362         passthrough elements can even do inplace on non writable
2363         buffers (as they don't touch them).
2364
2365 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
2366
2367         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
2368         (gst_test_mono_source_set_property),
2369         (gst_test_mono_source_class_init), (GST_START_TEST),
2370         (gst_controller_suite):
2371           more tests (hehe I have the most)
2372         * gst/gstbus.c:
2373           describe popping messages whenusing mulltiple sources
2374         * libs/gst/controller/gst-controller.c:
2375         (gst_controlled_property_set_interpolation_mode),
2376         (gst_controlled_property_new):
2377         * libs/gst/controller/gst-controller.h:
2378         * libs/gst/controller/gst-interpolation.c:
2379           implement boolean properties
2380
2381 2005-08-31  Wim Taymans  <wim@fluendo.com>
2382
2383         * gst/gstminiobject.c: (gst_mini_object_ref):
2384         Cannot assert that the refcount has to be positive
2385         since a disposed object can be resurrected.
2386
2387 2005-08-31  Wim Taymans  <wim@fluendo.com>
2388
2389         * gst/gstpad.c: (gst_pad_init):
2390         Revert change, need to first fix badly behaving 
2391         apps.
2392
2393 2005-08-30  Wim Taymans  <wim@fluendo.com>
2394
2395         * check/elements/fakesrc.c: (setup_fakesrc):
2396         * check/elements/identity.c: (setup_identity):
2397         Activate pads before using them.
2398
2399 2005-08-30  Wim Taymans  <wim@fluendo.com>
2400
2401         * gst/base/gstadapter.c: (gst_adapter_flush):
2402         Flushing out 0 bytes is ok for this function.
2403
2404         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2405         no newsegment gives a warning and sets the start/stop to 
2406         invalid.
2407
2408         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
2409         (gst_base_transform_set_passthrough):
2410         Some debug info.
2411
2412         * gst/gstminiobject.c: (gst_mini_object_ref):
2413         Check refcount here too.
2414
2415         * gst/gstpad.c: (gst_pad_init):
2416         Pads are initially flushing and refusing data.
2417
2418         * gst/gstutils.c: (gst_element_link_pads_filtered):
2419         When adding a capsfilter element make sure it has the
2420         same state as the parent bin.
2421
2422 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
2423
2424         * docs/gst/tmpl/.cvsignore:
2425         * docs/gst/tmpl/gstformat.sgml:
2426         * docs/gst/tmpl/gstversion.sgml:
2427         * gst/gstbus.h:
2428         * gst/gstformat.c:
2429         * gst/gstformat.h:
2430         * gst/gstversion.h.in:
2431           more docs and two more inlined
2432
2433 2005-08-30  Wim Taymans  <wim@fluendo.com>
2434
2435         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
2436         Don't sync to clock.
2437
2438 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
2439
2440         * docs/gst/gstreamer-sections.txt:
2441           ultral33t func10ns deserve to appear in the docs actually
2442         * docs/gst/tmpl/.cvsignore:
2443         * docs/gst/tmpl/gstcompat.sgml:
2444         * docs/gst/tmpl/gstconfig.sgml:
2445         * gst/check/gstcheck.c:
2446         * gst/gstcompat.h:
2447         * gst/gstconfig.h.in:
2448           inlined more docs
2449
2450 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
2451
2452         * docs/gst/tmpl/.cvsignore:
2453         * docs/gst/tmpl/gstquery.sgml:
2454         * docs/gst/tmpl/gstutils.sgml:
2455         * gst/gstquery.c:
2456         * gst/gstquery.h:
2457           inlined and extended docs
2458
2459 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
2460
2461         * check/gst-libs/controller.c: (GST_START_TEST),
2462         (gst_controller_suite):
2463           more tests
2464         * docs/gst/tmpl/gstutils.sgml:
2465         * docs/libs/gstreamer-libs-sections.txt:
2466         * docs/libs/tmpl/gstdataprotocol.sgml:
2467           include path fixes
2468         * examples/controller/audio-example.c: (main):
2469           controller example works now
2470         * gst/gstclock.h:
2471           doc fixes
2472         * tools/gst-inspect.c: (print_element_properties_info):
2473           show param spec flags
2474
2475 2005-08-29  Andy Wingo  <wingo@pobox.com>
2476
2477         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
2478
2479 2005-08-28  Andy Wingo  <wingo@pobox.com>
2480
2481         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
2482         as having two arguments instead of just one. Allows superclasses
2483         to access information on subclasses -- see the terrible for() loop
2484         in gtype.c:g_type_create_instance for the reason why. All callers
2485         changed.
2486
2487 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
2488
2489         * docs/design/part-messages.txt:
2490           update info
2491         * docs/gst/tmpl/.cvsignore:
2492         * docs/gst/tmpl/gstcaps.sgml:
2493         * docs/gst/tmpl/gstclock.sgml:
2494         * gst/gstbus.c:
2495         * gst/gstcaps.c:
2496         * gst/gstcaps.h:
2497         * gst/gstclock.c:
2498         * gst/gstclock.h:
2499         * gst/gstmessage.c:
2500           added descriptions for bus and message
2501           inline caps and clock docs
2502
2503 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
2504
2505         * gst/gstmessage.c:
2506         * gst/gstmessage.h:
2507           doc fixes
2508
2509 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
2510
2511         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
2512           fix div-by-zero
2513
2514 2005-08-26  Andy Wingo  <wingo@pobox.com>
2515
2516         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
2517         element_set_state's return val.
2518         (test_2_elements): Add test that's been disabled for months.
2519
2520         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
2521         can-activate-pull properties.
2522
2523         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
2524         can-activate-pull properties. Implement is_seekable so fakesrc can
2525         operate in pull mode.
2526
2527         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
2528         properties.
2529         (gst_base_sink_activate, gst_base_sink_activate_pull)
2530         (gst_base_sink_activate_push): Make activation mode choosing work.
2531         Cleanups.
2532         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
2533         is right. Make pull mode work. Post an eos before pausing in pull
2534         mode.
2535         (gst_base_sink_change_state): Pay attention to the core's
2536         change_state() return val.
2537         
2538         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
2539         has-getrange properties. Cleanups.
2540         
2541         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
2542         has_getrange and replace with can_activate_pull and
2543         can_activate_push.
2544
2545         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
2546         locking comments. Remove has_loop, has_chain and replace with
2547         can_activate_pull and can_activate_push.
2548
2549 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
2550
2551         * configure.ac:
2552         * examples/Makefile.am:
2553         * examples/metadata/Makefile.am:
2554         * examples/metadata/read-metadata.c: (message_loop),
2555         (have_pad_handler), (make_pipeline), (print_tag), (main):
2556           Add metadata reading example that loops over a list of filenames,
2557           dumping any tags found.
2558
2559         * gst/gstbus.c: (gst_bus_dispose):
2560         * gst/gstelement.c: (gst_element_dispose):
2561           Release a few potentially-held references in dispose.
2562
2563 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2564
2565         * docs/gst/tmpl/gstminiobject.sgml:
2566           do *not* add tmpl/*.sgml files to CVS!
2567
2568 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2569
2570         * libs/gst/bytestream/.cvsignore:
2571         * libs/gst/bytestream/Makefile.am:
2572         * libs/gst/bytestream/adapter.c:
2573         * libs/gst/bytestream/adapter.h:
2574         * libs/gst/bytestream/bytestream.c:
2575         * libs/gst/bytestream/bytestream.h:
2576         * libs/gst/bytestream/filepad.c:
2577         * libs/gst/bytestream/filepad.h:
2578           removing obsolete files
2579
2580 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2581
2582         * docs/gst/gstreamer-docs.sgml:
2583         * docs/libs/gstreamer-libs-docs.sgml:
2584           disabed additional index entries again, as this makes docs-gen just
2585           slow and they aren't useful yet
2586         * docs/libs/gstreamer-libs-sections.txt:
2587           little -section.txt cleanup for libs
2588
2589 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
2590
2591         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2592         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
2593           fix up some debugging
2594         (gst_base_transform_get_unit_size),
2595         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
2596         (gst_base_transform_handle_buffer):
2597         * gst/base/gstbasetransform.h:
2598           handle and store timed NEWSEGMENT events so that subclasses that
2599           calculate time by counting samples have a segment_start time they
2600           need to add to their timestamps - see audioresample
2601
2602 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
2603
2604         * gst/gstbin.h:
2605           removed ';' from the end of macro defs
2606         * docs/gst/gstreamer-docs.sgml:
2607         * docs/gst/gstreamer-sections.txt:
2608         * docs/gst/tmpl/.cvsignore:
2609         * gst/gstbus.h:
2610         * gst/gstelement.c: (gst_element_class_init),
2611         (gst_element_set_state), (activate_pads),
2612         (gst_element_save_thyself):
2613         * gst/gstevent.c: (gst_event_new_newsegment):
2614         * gst/gstevent.h:
2615         * gst/gstiterator.c:
2616         * gst/gstiterator.h:
2617         * gst/gstpad.c:
2618         * gst/gstprobe.h:
2619         * gst/gstutils.c: (gst_pad_query_convert):
2620         * gst/gstutils.h:
2621           fixed parameter name mismatches between source, header and docs
2622           added some more docs, resolved the last batch of unused elements in
2623           docs (now someone needs to doc them)
2624
2625 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2626
2627         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
2628         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
2629           don't walk through the plugins backwards.  Where is all this
2630           reversed logic coming from ?
2631
2632 2005-08-25  Wim Taymans  <wim@fluendo.com>
2633
2634         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2635         (gst_base_transform_transform_size),
2636         (gst_base_transform_configure_caps),
2637         (gst_base_transform_get_unit_size),
2638         (gst_base_transform_buffer_alloc),
2639         (gst_base_transform_change_state):
2640         * gst/base/gstbasetransform.h:
2641         Cache caps unit_size.
2642         Make sure we cannot negotiate up and downstream at the
2643         same time.
2644
2645 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2646
2647         * gst/gst.c: (init_pre), (init_post):
2648           register the installed plugin path after the env var
2649         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
2650         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
2651           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
2652           directories, so the tests can prefer uninstalled over installed
2653
2654 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2655
2656         * gst/base/gstbasetransform.h:
2657           comment
2658         * gst/gstpad.c:
2659           add to docs
2660
2661 2005-08-25  Wim Taymans  <wim@fluendo.com>
2662
2663         * gst/gstbin.c: (bin_bus_handler):
2664         Be a bit more conservative about the posted message.
2665         
2666         * gst/gstbus.c: (gst_bus_post):
2667         Some cleanups, warn wrong return values.
2668
2669 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
2670
2671         * check/gst/gstbin.c: (GST_START_TEST):
2672         * gst/gstbin.c: (bin_bus_handler):
2673         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
2674         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
2675         (gst_message_new_warning), (gst_message_new_tag),
2676         (gst_message_new_state_changed), (gst_message_new_segment_start),
2677         (gst_message_new_segment_done), (gst_message_new_custom):
2678         * gst/gstmessage.h:
2679         * tools/gst-launch.c: (event_loop):
2680         * tools/gst-md5sum.c: (event_loop):
2681           Revert unpopular change for GST_MESSAGE_SRC to GObject.
2682
2683 2005-08-25  Wim Taymans  <wim@fluendo.com>
2684
2685         * check/generic/states.c: (GST_START_TEST):
2686         Cleanup can be done at the end.
2687
2688         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
2689         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
2690         (gst_task_get_state), (gst_task_start), (gst_task_pause):
2691         Oh boy.. Thanks for finding this, Thomas. 
2692
2693 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
2694
2695         * docs/gst/gstreamer.types:
2696           added missing types
2697
2698 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
2699
2700         * docs/gst/gstreamer-docs.sgml:
2701         * docs/gst/gstreamer-sections.txt:
2702         * docs/gst/tmpl/.cvsignore:
2703         * gst/gstbin.c:
2704         * gst/gstiterator.c:
2705         * gst/gstutils.c:
2706         * gst/registries/gstxmlregistry.h:
2707           added missing classes and symbols (123 more to go)
2708           removed removed symbols from section file
2709           fixed many doc-comments
2710
2711 2005-08-24  Wim Taymans  <wim@fluendo.com>
2712
2713         * check/generic/states.c: (GST_START_TEST):
2714         Make sure all tasks are stopped.
2715
2716         * check/gst/gstbin.c: (GST_START_TEST):
2717         Unref after usage for proper valgrinding.
2718
2719         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
2720         Really wait for the task to stop before destroying the
2721         mutex.
2722
2723         * gst/gstqueue.c: (gst_queue_sink_activate_push),
2724         (gst_queue_src_activate_push):
2725         Small cleanups. Don't stop the task when we did not start
2726         it.
2727
2728         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
2729         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
2730         (gst_task_get_state), (gst_task_start), (gst_task_pause),
2731         (gst_task_join):
2732         * gst/gsttask.h:
2733         Protect the stream lock with the object lock.
2734         Disallow setting the stream lock when running.
2735         Add cleanup_all to wait for the threadpool to finish.
2736         Remove code to autoallocate a mutex if none was provided.
2737         Add _join() to wait for a task to stop.
2738         Protect the thread pool with a global lock.
2739
2740 2005-08-24  Wim Taymans  <wim@fluendo.com>
2741
2742         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2743         (gst_base_sink_get_times), (gst_base_sink_do_sync),
2744         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
2745         * gst/base/gstbasesink.h:
2746         Handle newsegment events correctly.
2747         Drop buffers out of the segment range.
2748
2749 2005-08-22  Andy Wingo  <wingo@pobox.com>
2750
2751         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
2752         macro, implements an interface and gstimplementsinterface for a
2753         new type.
2754
2755 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2756
2757         * check/Makefile.am:
2758         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
2759           add a test that does a bunch of state changes on elements
2760           needs some fixing for valgrind
2761         * check/states/sinks.c: (gst_object_suite):
2762           whitespace
2763         * gst/gstcaps.h:
2764           add prototype for gst_caps_is_equal_fixed
2765         * gst/gstplugin.c:
2766         * gst/gstregistrypool.c:
2767           doc fixes
2768
2769 2005-08-24  Andy Wingo  <wingo@pobox.com>
2770
2771         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
2772         convert a negative value. Doesn't make much sense. Mostly this is
2773         here to force callers to ensure -1 maps to -1.
2774
2775 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2776
2777         * docs/pwg/advanced-types.xml:
2778           Well done to Michael for catching my deliberate introduction
2779           of this spelling mistake. 
2780         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
2781         * gst/gstelement.h:
2782           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
2783           unlink pads before removing the element from the bin.
2784
2785 2005-08-24  Andy Wingo  <wingo@pobox.com>
2786
2787         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
2788         the same thing as GST_DEBUG=*:4.
2789         (parse_debug_level, parse_debug_category): New helper parsers.
2790
2791 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2792
2793         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
2794         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
2795         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
2796         (gst_base_transform_buffer_alloc),
2797         (gst_base_transform_handle_buffer):
2798           use gboolean return values and pointers to size so we can use the
2799           full GST_BUFFER_SIZE range (guint) for buffer sizes
2800           use GstPadDirection for transform_caps
2801         * gst/base/gstbasetransform.h:
2802           rename get_size to get_unit_size since that's what it is
2803         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
2804           use GstPadDirection for transform_caps
2805         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
2806         * gst/gstutils.h:
2807           cleanup and debugging
2808
2809 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
2810
2811         * gst/gstelement.c: (gst_element_class_init),
2812         (gst_element_set_state), (activate_pads),
2813         (gst_element_save_thyself):
2814         * tools/gst-compprep.c: (main):
2815         * tools/gst-inspect.c: (print_element_properties_info):
2816         * tools/gst-xmlinspect.c: (print_element_properties):
2817           Fixed long standing mem-leak
2818
2819 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2820
2821         * check/gst/gstbin.c: (GST_START_TEST):
2822         * gst/gstbin.c: (bin_bus_handler):
2823         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
2824         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
2825         (gst_message_new_warning), (gst_message_new_tag),
2826         (gst_message_new_state_changed), (gst_message_new_segment_start),
2827         (gst_message_new_segment_done), (gst_message_new_custom):
2828         * gst/gstmessage.h:
2829         * tools/gst-launch.c: (event_loop):
2830         * tools/gst-md5sum.c: (event_loop):
2831           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
2832           that applications can sensibly post custom messages with references
2833           to their own objects.
2834
2835 2005-08-24  Andy Wingo  <wingo@pobox.com>
2836
2837         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
2838         already.
2839
2840 2005-08-24  Wim Taymans  <wim@fluendo.com>
2841
2842         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2843         (gst_base_transform_transform_caps),
2844         (gst_base_transform_transform_size),
2845         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2846         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
2847         (gst_base_transform_handle_buffer):
2848         * gst/base/gstbasetransform.h:
2849         Many fixes and new features added by Thomas. Can now also do
2850         transforms with variable sizes and a custom fixate_caps function.
2851
2852 2005-08-24  Wim Taymans  <wim@fluendo.com>
2853
2854         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
2855         Some debugging.
2856
2857         * gst/gstclock.h:
2858         Cast to ClockTime before formatting to time.
2859
2860         * gst/gstutils.h:
2861         Cleanups.
2862
2863 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
2864
2865         * check/gst-libs/controller.c: (GST_START_TEST),
2866         (gst_controller_suite):
2867         * docs/gst/tmpl/gstcaps.sgml:
2868         * docs/gst/tmpl/gstghostpad.sgml:
2869         * docs/gst/tmpl/gstquery.sgml:
2870         * docs/gst/tmpl/gstutils.sgml:
2871         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
2872         (gst_object_sink_values), (gst_object_get_value_arrays),
2873         (gst_object_get_value_array):
2874           gracefully handle helper method calls to objects that are not beeing
2875           controlled, added test case for that          
2876
2877 2005-08-23  Wim Taymans  <wim@fluendo.com>
2878
2879         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
2880         (gst_event_new_newsegment), (gst_event_parse_newsegment),
2881         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
2882         (gst_event_parse_qos), (gst_event_new_seek),
2883         (gst_event_parse_seek):
2884         * gst/gstevent.h:
2885         Some more debugging output and doc cleanups.
2886
2887         * gst/gstqueue.c: (gst_queue_handle_sink_event):
2888         Fix possible deadlock.
2889
2890 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
2891
2892         * docs/gst/gstreamer-docs.sgml:
2893         * docs/gst/gstreamer-sections.txt:
2894         * docs/gst/gstreamer.types:
2895         * docs/gst/tmpl/.cvsignore:
2896         * gst/gstbin.h:
2897         * gst/gstbus.c:
2898         * gst/gstelement.c:
2899         * gst/gstevent.h:
2900           added 100 symbols from gstreamer-unused.txt to the right sections
2901           fixed more broken comments
2902           added GstBus to docs
2903
2904 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
2905
2906         * docs/gst/gstreamer-sections.txt:
2907         * docs/gst/tmpl/.cvsignore:
2908         * docs/gst/tmpl/gstbin.sgml:
2909         * docs/gst/tmpl/gstbuffer.sgml:
2910         * gst/base/gstbasesrc.c:
2911         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
2912         * gst/gstbuffer.c:
2913         * gst/gstbuffer.h:
2914         * tools/gst-launch.1.in:
2915           inlined more doc comments, added missing comments and fixed comments
2916           fixed typos
2917
2918 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2919
2920         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
2921           some debugging
2922         * gst/gstcaps.h:
2923           whitespace fixes
2924         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
2925           more debugging
2926         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
2927         * gst/gststructure.h:
2928           add a fixate function for booleans; add a FIXME that these func
2929           names should probably be gst_structure_fixate_*
2930
2931 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
2932
2933         * docs/gst/gstreamer-docs.sgml:
2934         * docs/gst/gstreamer-sections.txt:
2935         * gst/Makefile.am:
2936         * gst/gstbin.c: (gst_bin_get_type),
2937         (gst_bin_child_proxy_get_child_by_index),
2938         (gst_bin_child_proxy_get_children_count),
2939         (gst_bin_child_proxy_init):
2940         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
2941         (gst_child_proxy_get_child_by_index),
2942         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
2943         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
2944         (gst_child_proxy_get), (gst_child_proxy_set_property),
2945         (gst_child_proxy_set_valist), (gst_child_proxy_set),
2946         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
2947         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
2948         * gst/gstchildproxy.h:
2949         * gst/parse/grammar.y:
2950         * tools/gst-inspect.c: (print_interfaces),
2951         (print_element_properties_info), (print_element_info):
2952           ported gstchildproxy over from 0.8
2953           ported gst-inspect fixes and enhancements over from 0.8
2954
2955 2005-08-22  Wim Taymans  <wim@fluendo.com>
2956
2957         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
2958         (gst_base_transform_handle_buffer):
2959         Also call the transform function if we have ANY caps.
2960
2961         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
2962         Fix debug info.
2963
2964 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
2965
2966         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
2967           Don't pretend to handle seek events if the source is not seekable
2968
2969 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
2970
2971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2972           Remove extra parameter to debug output
2973
2974         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
2975         (gst_base_src_do_seek), (gst_base_src_activate_push):
2976           Fix seek event handling.
2977
2978         * gst/gstpipeline.c: (gst_pipeline_change_state):
2979         * gst/gstqueue.c: (gst_queue_handle_sink_event),
2980         (gst_queue_src_activate_push):
2981           Don't start the src pad task on FLUSH_STOP if the pad
2982           isn't linked.
2983           Debug changes.
2984
2985 2005-08-22  Wim Taymans  <wim@fluendo.com>
2986
2987         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2988         Added check for gst_static_caps_get() refcounting.
2989
2990 2005-08-22  Wim Taymans  <wim@fluendo.com>
2991
2992         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
2993         Make _static_caps_get() refcounting sane.
2994         
2995         * gst/gstelement.c: (gst_element_set_state):
2996         Add g_return_val_if_fail() to protect against segfaults.
2997
2998 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
2999
3000         * docs/gst/tmpl/gstevent.sgml:
3001         * gst/gstevent.c:
3002         * gst/gstevent.h:
3003           inlined remaining docs, added missing doc comments
3004
3005 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3006
3007         * check/gst/gstbin.c: (GST_START_TEST):
3008           since we don't know when preroll is done, use refcount range
3009           check for the sink
3010         * gst/check/gstcheck.h:
3011           add macro for checking refcount range
3012
3013 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3014
3015         * check/Makefile.am:
3016           clean up environment for when registry gets built versus
3017           when actual tests are run; valgrind seems to not report
3018           leaks if GST_PLUGIN_PATH is set to some specific values
3019         * check/gst/gstbin.c: (GST_START_TEST):
3020           add more refcounting checks; maybe this exposes a
3021           preroll lock bug ?
3022         * common/check.mak:
3023         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3024         * gst/check/gstcheck.h:
3025         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
3026         (gst_bin_change_state):
3027         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
3028           add/fix debugging/whitespace
3029
3030 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
3031
3032         * check/gst/gstevent.c: (event_probe), (test_event),
3033         (GST_START_TEST):
3034          Er, don't call gst_bin_watch_for_state_change you idiot.
3035
3036 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
3037
3038         * check/Makefile.am:
3039           Use CHECK_CFLAGS and CHECK_LIBS
3040         * check/gst/gstevent.c: (event_probe), (test_event),
3041         (GST_START_TEST):
3042           Don't leak events.
3043         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3044         (gst_base_src_start), (gst_base_src_stop),
3045         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3046         (gst_base_src_change_state):
3047           Sprinkle gst_base_src_stop liberally around error paths to fix
3048           problems reusing a source after failed state changes.
3049         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3050         (helper_find_suggest), (gst_type_find_helper):
3051           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
3052         * gst/gstevent.h:
3053         * docs/gst/tmpl/gstevent.sgml:
3054           Migrate part of the docs from the SGML file. Wait for ensonic to
3055           tell me how I did it wrong ;)
3056         * tools/gst-typefind.c: (main):
3057           Extra robustness to state changes between files.
3058
3059 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3060
3061         * check/Makefile.am:
3062           don't valgrind the controller test - it's leaking - Stefan, HELP
3063         * gst/check/gstcheck.c: (gst_check_message_error),
3064         (gst_check_chain_func), (gst_check_setup_element),
3065         (gst_check_teardown_element), (gst_check_setup_src_pad),
3066         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3067         (gst_check_teardown_sink_pad):
3068         * gst/check/gstcheck.h:
3069           add a bunch of methods to set up elements, and src and sink pads
3070         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
3071         * check/elements/identity.c: (setup_identity), (cleanup_identity),
3072         (GST_START_TEST):
3073           use them
3074         * gst/gstmessage.c:
3075         * gst/gsttag.h:
3076           whitespace/doc fixes
3077
3078 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3079
3080         * gst/gstelement.h:
3081           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
3082           be handled by the application and not always printed as well
3083
3084 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3085
3086         * check/Makefile.am:
3087           set GST_TOOLS_DIR
3088         * gst/check/gstcheck.c: (gst_check_message_error):
3089         * gst/check/gstcheck.h:
3090           add a fail_unless_equals_int
3091           add fail_unless for error messages
3092
3093 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3094
3095         * check/Makefile.am:
3096         * check/gst.supp:
3097         * common/Makefile.am:
3098         * common/check.mak:
3099         * common/gst.supp:
3100           factor out some of the common stuff so we can use it
3101
3102 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3103
3104         * check/Makefile.am:
3105         * check/gst/gstiterator.c: (GST_START_TEST):
3106         * check/gst/gstsystemclock.c: (GST_START_TEST),
3107         (gst_systemclock_suite):
3108         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3109         * gst/gstclock.c:
3110           valgrind more tests
3111
3112 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3113
3114         * check/elements/.cvsignore:
3115         * check/elements/gstfakesrc.c:
3116           rename to name of element
3117         * check/elements/identity.c: (chain_func), (event_func),
3118         (setup_identity), (cleanup_identity), (GST_START_TEST),
3119         (identity_suite), (main):
3120           add a test for identity
3121         * check/Makefile.am:
3122         * pkgconfig/Makefile.am:
3123         * pkgconfig/gstreamer-check.pc.in:
3124         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3125         * gst/check:
3126         * gst/Makefile.am:
3127         * configure.ac:
3128           move the check stuff to a library that gets installed
3129         * check/gst-libs/controller.c: (GST_START_TEST):
3130         * check/gst-libs/gdp.c:
3131         * check/gst/gst.c: (GST_START_TEST):
3132         * check/gst/gstbin.c:
3133         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3134         * check/gst/gstbus.c:
3135         * check/gst/gstcaps.c: (GST_START_TEST):
3136         * check/gst/gstelement.c:
3137         * check/gst/gstghostpad.c:
3138         * check/gst/gstiterator.c:
3139         * check/gst/gstmessage.c:
3140         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
3141         * check/gst/gstobject.c:
3142         * check/gst/gstpad.c: (GST_START_TEST):
3143         * check/gst/gststructure.c: (GST_START_TEST):
3144         * check/gst/gstsystemclock.c: (GST_START_TEST),
3145         (gst_systemclock_suite):
3146         * check/gst/gsttag.c: (gst_tag_suite):
3147         * check/gst/gstvalue.c:
3148         * check/pipelines/cleanup.c:
3149         * check/pipelines/simple_launch_lines.c:
3150         * check/states/sinks.c:
3151           change include statement
3152
3153         * docs/gst/gstreamer-sections.txt:
3154         * docs/gst/tmpl/gstpad.sgml:
3155           document more pad stuff
3156         * gst/gstminiobject.c: (gst_mini_object_ref),
3157         (gst_mini_object_unref):
3158           debug refcounting
3159
3160 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
3161
3162         * docs/gst/tmpl/gst.sgml:
3163         * gst/gst.c:
3164           eliminate another tmpl file, fix spelling in the long-description
3165
3166 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3167
3168         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3169         (test_event), (timediff), (gstevents_suite):
3170           Should fix build on 64-bit arch's
3171
3172 2005-08-18  Andy Wingo  <wingo@pobox.com>
3173
3174         Make sure that when a pipeline goes to PLAYING, that data has
3175         actually hit the sink.
3176
3177         * check/states/sinks.c (test_sink): A sink that doesn't get any
3178         data shouldn't return SUCCESS for going to either PLAYING or
3179         PAUSED. Test also the return values on the way back down.
3180
3181         * gst/gstelement.c (gst_element_set_state): When changing the
3182         state of an element currently changing state asynchronously, go to
3183         lost-state after commiting the pending state. Makes future calls
3184         to get_state continue to return ASYNC.
3185
3186         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
3187         ASYNC when going to PLAYING if we still don't have preroll, as can
3188         happen with live sources.
3189
3190 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3191
3192         * docs/pwg/advanced-types.xml:
3193           Hack long paragraph into 2 chunks as a workaround for buggy
3194           jadetex version in sid and breezy that loops infinitely and
3195           eats all RAM.
3196
3197 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3198
3199         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3200         (test_event), (timediff), (gstevents_suite):
3201           Provide more error margin in clock measurements to allow for 
3202           g_get_current_time inaccuracies.
3203
3204 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3205
3206         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3207         (test_event), (timediff), (gstevents_suite):
3208            Fix error message output so I might be able to tell why the
3209            test works here but fails on the build farm.
3210
3211 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
3212
3213         * check/Makefile.am:
3214         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3215         (test_event), (timediff), (gstevents_suite), (main):
3216           I wrote a test!
3217
3218         * docs/design/part-seeking.txt:
3219           Spelling correction
3220
3221         * docs/gst/tmpl/gstevent.sgml:
3222         * docs/gst/tmpl/gstfakesrc.sgml:
3223           Docs updates.
3224
3225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3226           Treat a buffer-without-newsegment the same as a receiving 
3227           a newsegment not in time format, and disable syncing to the clock
3228           with a warning.
3229
3230         * gst/gstbus.c: (gst_bus_set_sync_handler):
3231           Assert if anyone tries to replace the existing sync_handler for bus, 
3232           as only the owner should be setting it.
3233
3234         * gst/gstevent.h:
3235           Have a fixed set of custom event enums with events identified by
3236           their structure name (as in 0.8), rather than a free-for-all
3237           allowing collisions between enum values from different plugins.
3238
3239         * gst/gstpad.c: (gst_pad_class_init):
3240           Docs change.
3241           
3242         * gst/gstqueue.c: (gst_queue_handle_sink_event):
3243           Handle out-of-band downstream events from the sending thread.
3244
3245 2005-08-17  Andy Wingo  <wingo@pobox.com>
3246
3247         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
3248         play-timeout==0 to mean no timeout at all. In that case, don't
3249         bother with a get_state or a warning, just return directly, even
3250         if it's ASYNC.
3251
3252         * gst/base/gstbasetransform.c: Debug changes.
3253
3254         * gst/gstutils.h:
3255         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
3256         ensure bins post state change messages. A bit of a hack but I can't
3257         think of a way to avoid it.
3258
3259         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
3260
3261 2005-08-16  Andy Wingo  <wingo@pobox.com>
3262
3263         * gst/base/gstadapter.h:
3264         * gst/base/gstadapter.c (gst_adapter_take): New function, like
3265         peek() but you own the data. Not terribly efficient atm.
3266
3267 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3268
3269         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
3270         (gst_element_found_tags):
3271         * gst/gstutils.h:
3272           Add two utility functions for tag handling.
3273
3274 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3275
3276         * docs/manual/advanced-dataaccess.xml:
3277         * docs/manual/basics-helloworld.xml:
3278           Fix docs to use _bin_add() before _link(), which fixes the examples
3279           with recent core versions (reported by Madhan Raj M
3280           <raj_madan@rediffmail.com>, #313199).
3281
3282 2005-08-16  Wim Taymans  <wim@fluendo.com>
3283
3284         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3285         Added subtract checks.
3286
3287         * docs/design/part-events.txt:
3288         Some more docs about newsegment
3289
3290         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
3291         Fix FIXME
3292
3293         * gst/gstcaps.c: (gst_caps_to_string):
3294         Add comments, cleanups.
3295         
3296         * gst/gstelement.c: (gst_element_save_thyself):
3297         cleanups
3298         
3299         * gst/gstvalue.c: (gst_value_collect_int_range),
3300         (gst_string_unwrap), (gst_value_union_int_int_range),
3301         (gst_value_union_int_range_int_range),
3302         (gst_value_intersect_int_int_range),
3303         (gst_value_intersect_int_range_int_range),
3304         (gst_value_intersect_double_double_range),
3305         (gst_value_intersect_double_range_double_range),
3306         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
3307         (gst_value_subtract_int_range_int),
3308         (gst_value_subtract_double_range_double),
3309         (gst_value_subtract_double_range_double_range),
3310         (gst_value_subtract_from_list), (gst_value_subtract_list),
3311         (gst_value_can_compare), (gst_value_compare_fraction):
3312         Cleanups, add comments, remove unneeded asserts.
3313
3314 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3315
3316         * tools/gst-launch.c: (event_loop):
3317           don't convert NULL structures to strings
3318
3319 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
3320
3321         * docs/gst/gstreamer-sections.txt:
3322           made some defines private
3323         * docs/gst/tmpl/gstconfig.sgml:
3324         * docs/gst/tmpl/gstqueue.sgml:
3325         * docs/gst/tmpl/gsttaglist.sgml:
3326         * docs/gst/tmpl/gsttypes.sgml:
3327         * docs/gst/tmpl/gstutils.sgml:
3328         * docs/pwg/appendix-porting.xml:
3329         * gst/base/gstbasesink.h:
3330         * gst/base/gstbasesrc.c:
3331         * gst/base/gstbasesrc.h:
3332         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
3333         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
3334         * gst/gstelement.c: (gst_element_class_init):
3335         * gst/gstpad.c: (gst_pad_class_init):
3336         * gst/gstqueue.c: (gst_queue_class_init):
3337         * gst/gstxml.c: (gst_xml_class_init):
3338           documented all undocumented signal inline
3339         * libs/gst/controller/gst-controller.h:
3340           added padding
3341
3342 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3343
3344         * docs/pwg/appendix-porting.xml:
3345           Document _set_link_function -> _set_setcaps_function.
3346
3347 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3348
3349         * check/Makefile.am:
3350           add a .check target for running the check
3351         * check/gst-libs/controller.c: (GST_START_TEST):
3352           cosmetic fixups
3353         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3354           complete checks for gstbuffer; would be nice if I could get the
3355           gcov stuff to work so I can see if I actually completed gstbuffer.c
3356         * check/gstcheck.h:
3357           add ASSERT_BUFFER_REFCOUNT
3358
3359 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
3360
3361         * docs/gst/gstreamer-sections.txt:
3362         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
3363         * gst/gsttag.h:
3364           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
3365           spew out a warning if a tag that is already registered
3366           is re-registered, unless it is re-registered with a 
3367           different type (#308438).
3368
3369 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
3370
3371         * docs/pwg/appendix-porting.xml:
3372         * docs/pwg/building-state.xml:
3373           Add some paragraphs about state changes in 0.9 to the PWG
3374           and the porting guide, in particular about the new meaning
3375           of GST_STATE_PAUSED and how to write state change functions
3376           with concurrent access by multiple threads in mind.
3377
3378 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
3379
3380         * docs/gst/gstreamer-docs.sgml:
3381         * docs/libs/gstreamer-libs-docs.sgml:
3382           added deprecation and since indexes
3383         * libs/gst/controller/gst-controller.c:
3384         * libs/gst/controller/gst-helper.c:
3385           added since tags
3386
3387
3388 2005-08-11  Wim Taymans  <wim@fluendo.com>
3389
3390         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
3391         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
3392         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
3393         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
3394         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
3395         (gst_ghost_pad_set_target):
3396         Actually implement (re)setting the target on a ghostpad
3397         as described in the docs.
3398
3399 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3400
3401         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
3402           Check whether GST_DEBUG_NO_COLOR environment variable is
3403           set and disable coloured debug output if that is the case.
3404
3405 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3406
3407         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3408         (gst_type_find_helper):
3409           The memory returned by gst_type_find_peek() needs to
3410           stay valid until the end of a typefind function, and
3411           typefind functions may keep results from different 
3412           offsets around, so we can't just unref the buffer from
3413           the previous _peek(), but have to save all buffers 
3414           returned by _peek() until typefinding is done and only
3415           free them then.
3416
3417 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
3418
3419         * docs/gst/gstreamer-sections.txt:
3420         * gst/gstutils.h:
3421           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
3422
3423 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3424
3425         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
3426           Fix a pretty good memleak.
3427
3428 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
3429
3430         * gst/gstiterator.h:
3431           Fix wrong include and 'make distcheck'.
3432
3433 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3434
3435         * gst/gstbin.c: (bin_bus_handler):
3436           Use gst_element_post_message() instead.
3437
3438 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
3439
3440         * gst/base/gstadapter.h:
3441         * gst/base/gstbasesink.h:
3442         * gst/base/gstbasesrc.h:
3443         * gst/base/gstbasetransform.h:
3444         * gst/base/gstcollectpads.h:
3445         * gst/base/gstpushsrc.h:
3446         * gst/gstiterator.h:
3447           Add padding to our base elements' class and instance structs and
3448           to GstIterator (you will need to rebuild all plugins and apps!)
3449
3450 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3451
3452         * gst/gstbin.c: (bin_bus_handler):
3453           Make default message forwarding from child->bus to bin->bus
3454           threadsafe and make it not emit warnings if the parent has no bus.
3455
3456 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3457
3458         * gst/gstelement.c: (activate_pads):
3459           On paused->ready, set pad->caps to NULL, as is the documented
3460           behaviour in this state change. Fixes playback of series of
3461           media files when visualization is enabled in Totem.
3462
3463 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3464
3465         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3466           Allow NULL as filter-caps (which means "any").
3467
3468 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
3469
3470         * docs/libs/gstreamer-libs-sections.txt:
3471         * libs/gst/controller/gst-controller.c:
3472         * libs/gst/controller/gst-controller.h:
3473         * libs/gst/controller/gst-helper.c:
3474           adding more entries to the docs and fix small doc-bugs
3475
3476 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
3477
3478         * docs/gst/gstreamer-docs.sgml:
3479         * docs/gst/gstreamer-sections.txt:
3480         * docs/gst/gstreamer.types:
3481         * docs/gst/tmpl/gstbasesink.sgml:
3482         * docs/gst/tmpl/gstbasesrc.sgml:
3483         * docs/gst/tmpl/gstbasetransform.sgml:
3484         * docs/gst/tmpl/gstfakesrc.sgml:
3485         * gst/base/gstcollectpads.c:
3486         * gst/base/gstcollectpads.h:
3487         * libs/gst/controller/gst-controller.c:
3488         * libs/gst/controller/gst-controller.h:
3489         * libs/gst/controller/gst-helper.c:
3490         * libs/gst/controller/gst-interpolation.c:
3491         * libs/gst/controller/lib.c:
3492           added long/short desc for controller docs
3493           added collectpads base class docs
3494           added correct includes to base-class docs
3495
3496 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
3497
3498         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
3499         (gst_test_mono_source_set_property),
3500         (gst_test_mono_source_class_init), (GST_START_TEST),
3501         (gst_controller_suite):
3502         * docs/gst/gstreamer-docs.sgml:
3503         * docs/gst/gstreamer-sections.txt:
3504         * docs/gst/gstreamer.types:
3505         * docs/libs/gstreamer-libs-docs.sgml:
3506         * docs/libs/gstreamer-libs-sections.txt:
3507         * gst/base/gstadapter.c:
3508         * libs/gst/controller/gst-controller.c:
3509         (gst_controlled_property_new), (gst_controlled_property_free),
3510         (gst_controller_new_valist),
3511         (gst_controller_remove_properties_valist),
3512         (gst_controller_sink_values), (_gst_controller_finalize):
3513         * libs/gst/controller/gst-controller.h:
3514         * libs/gst/controller/gst-helper.c:
3515         (gst_object_control_properties), (gst_object_uncontrol_properties),
3516         (gst_object_get_controller), (gst_object_set_controller),
3517         (gst_object_sink_values), (gst_object_get_value_arrays),
3518         (gst_object_get_value_array):
3519           more tests (and fixes) for the controller
3520           more docs for the controller
3521           integrated companies docs for the adapter 
3522
3523 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3524
3525         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
3526         (GST_START_TEST), (fakesrc_suite):
3527           add tests for sizetype
3528
3529 2005-08-04  Andy Wingo  <wingo@pobox.com>
3530
3531         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
3532         fixes buffer_alloc proxying among other things.
3533
3534         * gst/base/gstbasetransform.c:
3535         * gst/base/gstbasetransform.h:
3536         Revert patch to gstbasetransform from 7-28 removing
3537         delay_configure.
3538
3539         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
3540         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
3541         Semantics changed, should return not the size of the output buffer
3542         but the byte size of a buffer with a given caps.
3543
3544         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
3545         debug object.
3546         (gst_base_transform_configure_caps): Don't set out_size here: (in,
3547         out) are not the pad caps until setcaps finishes.
3548         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
3549         not-in-place case as well. Deal with changing from in-place to
3550         not-in-place within calling pad_alloc_buffer. Still a bit
3551         concerned about the overhead here...
3552
3553 2005-08-03  Andy Wingo  <wingo@pobox.com>
3554
3555         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
3556         fixating is an error.
3557
3558 2005-08-04  Edward Hervey  <edward@fluendo.com>
3559
3560         * gst/base/gstadapter.h: 
3561         Added gst_adapter_get_type() to the header
3562
3563 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
3564
3565         * check/Makefile.am:
3566         * check/gst-libs/controller.c:
3567         * libs/gst/controller/gst-controller.c:
3568         (gst_controller_new_valist):
3569           added check test suite for the controller
3570         * gst/base/gstpushsrc.c:
3571           fixed a doc typo
3572
3573 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
3574
3575         * docs/gst/Makefile.am:
3576         * docs/gst/gstreamer-docs.sgml:
3577         * docs/gst/gstreamer-sections.txt:
3578         * docs/gst/gstreamer.types:
3579         * docs/gst/tmpl/gstfakesrc.sgml:
3580         * gst/base/README:
3581         * gst/base/gstbasesink.c:
3582         * gst/base/gstbasesink.h:
3583         * gst/base/gstbasesrc.c:
3584         * gst/base/gstbasesrc.h:
3585         * gst/base/gstbasetransform.c:
3586         * gst/base/gstpushsrc.c:
3587         * gst/base/gstpushsrc.h:
3588           add short/long description docs to base classes
3589           add pushsrc to the docs
3590           remove consolidated doc fragments
3591
3592 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
3593
3594         * configure.ac:
3595         * docs/libs/Makefile.am:
3596         * docs/libs/gstreamer-libs-docs.sgml:
3597         * docs/libs/gstreamer-libs-sections.txt:
3598         * docs/libs/gstreamer-libs.types:
3599         * examples/Makefile.am:
3600         * examples/controller/.cvsignore:
3601         * examples/controller/Makefile.am:
3602         * examples/controller/audio-example.c: (main):
3603         * libs/gst/Makefile.am:
3604         * libs/gst/controller/.cvsignore:
3605         * libs/gst/controller/Makefile.am:
3606         * libs/gst/controller/gst-controller.c:
3607         (on_object_controlled_property_changed), (gst_timed_value_compare),
3608         (gst_timed_value_find),
3609         (gst_controlled_property_set_interpolation_mode),
3610         (gst_controlled_property_new), (gst_controlled_property_free),
3611         (gst_controller_find_controlled_property),
3612         (gst_controller_new_valist), (gst_controller_new),
3613         (gst_controller_remove_properties_valist),
3614         (gst_controller_remove_properties), (gst_controller_set),
3615         (gst_controller_set_from_list), (gst_controller_unset),
3616         (gst_controller_get), (gst_controller_get_all),
3617         (gst_controller_sink_values), (gst_controller_get_value_arrays),
3618         (gst_controller_get_value_array),
3619         (gst_controller_set_interpolation_mode),
3620         (_gst_controller_finalize), (_gst_controller_init),
3621         (_gst_controller_class_init), (gst_controller_get_type):
3622         * libs/gst/controller/gst-controller.h:
3623         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
3624         (g_object_uncontrol_properties), (g_object_get_controller),
3625         (g_object_set_controller), (g_object_sink_values),
3626         (g_object_get_value_arrays), (g_object_get_value_array):
3627         * libs/gst/controller/gst-interpolation.c:
3628         (gst_controlled_property_find_timed_value_node),
3629         (interpolate_none_get), (interpolate_trigger_get),
3630         (interpolate_trigger_get_value_array):
3631         * libs/gst/controller/lib.c: (gst_controller_init):
3632         * pkgconfig/Makefile.am:
3633         * pkgconfig/gstreamer-control-uninstalled.pc.in:
3634         * pkgconfig/gstreamer-control.pc.in:
3635         * testsuite/Makefile.am:
3636         * testsuite/controller/.cvsignore:
3637         * testsuite/controller/Makefile.am:
3638         * testsuite/controller/interpolator.c: (main):
3639           added controller code
3640           removed dparam pc files
3641
3642 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
3643         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
3644         (gst_collectpads_stop):
3645           Broadcast the condition when shutting down, to make sure we wake all
3646           threads up. Shut down pads on finalize, for safety.
3647
3648 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
3649         * gst/base/gstbasetransform.c: (gst_base_transform_init),
3650         (gst_base_transform_handle_buffer),
3651         (gst_base_transform_change_state):
3652           Handle PAUSED->READY->PAUSED transition after negotiation
3653           occurred already.
3654         * gst/gstmessage.c: (gst_message_init):
3655           Extra piece of debug for new messages.
3656
3657 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
3658
3659         * configure.ac:
3660         * docs/gst/tmpl/gstbasesrc.sgml:
3661         * docs/gst/tmpl/gstelement.sgml:
3662         * docs/gst/tmpl/gstevent.sgml:
3663         * docs/gst/tmpl/gstfakesrc.sgml:
3664         * docs/gst/tmpl/gstformat.sgml:
3665         * docs/gst/tmpl/gstghostpad.sgml:
3666         * docs/gst/tmpl/gstpad.sgml:
3667         * docs/gst/tmpl/gstquery.sgml:
3668         * docs/gst/tmpl/gststructure.sgml:
3669         * docs/gst/tmpl/gsttaglist.sgml:
3670         * docs/gst/tmpl/gstvalue.sgml:
3671         * docs/libs/gstreamer-libs-docs.sgml:
3672         * docs/libs/gstreamer-libs-sections.txt:
3673         * docs/libs/gstreamer-libs.types:
3674         * libs/gst/Makefile.am:
3675         * libs/gst/control/.cvsignore:
3676         * libs/gst/control/Makefile.am:
3677         * libs/gst/control/control.c:
3678         * libs/gst/control/control.h:
3679         * libs/gst/control/dparam.c:
3680         * libs/gst/control/dparam.h:
3681         * libs/gst/control/dparam_smooth.c:
3682         * libs/gst/control/dparam_smooth.h:
3683         * libs/gst/control/dparamcommon.h:
3684         * libs/gst/control/dparammanager.c:
3685         * libs/gst/control/dparammanager.h:
3686         * libs/gst/control/dplinearinterp.c:
3687         * libs/gst/control/dplinearinterp.h:
3688         * libs/gst/control/unitconvert.c:
3689         * libs/gst/control/unitconvert.h:
3690         * testsuite/Makefile.am:
3691         * testsuite/dynparams/.cvsignore:
3692         * testsuite/dynparams/Makefile.am:
3693         * testsuite/dynparams/dparamstest.c:
3694         * tools/Makefile.am:
3695         * tools/gst-inspect.c: (print_element_info), (main):
3696         * tools/gst-xmlinspect.c: (print_element_info), (main):
3697           deactivate and remove dparams (libgstcontrol)
3698
3699 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
3700
3701         * gst/elements/gsttypefindelement.c:
3702         (gst_type_find_element_have_type), (gst_type_find_element_init),
3703         (stop_typefinding), (gst_type_find_element_handle_event),
3704         (gst_type_find_element_chain), (gst_type_find_element_getrange):
3705         * gst/elements/gsttypefindelement.h:
3706           Set caps on all outgoing buffers, not just the first one.
3707
3708 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
3709
3710         * gst/elements/gsttypefindelement.c:
3711         (gst_type_find_element_have_type),
3712         (gst_type_find_element_check_set_buffer_caps),
3713         (gst_type_find_element_init), (stop_typefinding),
3714         (gst_type_find_element_handle_event),
3715         (gst_type_find_element_chain), (gst_type_find_element_getrange):
3716         * gst/elements/gsttypefindelement.h:
3717           Set caps on first outgoing buffer when we've found the type.
3718
3719 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
3720
3721         * docs/gst/gstreamer-docs.sgml:
3722         * docs/gst/gstreamer-sections.txt:
3723         * docs/gst/tmpl/gstscheduler.sgml:
3724         * docs/gst/tmpl/gstschedulerfactory.sgml:
3725           Remove some old cruft from docs.
3726
3727 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
3728
3729         * gst/gstpad.h:
3730           Fix inline docs for GstPadLinkReturn.
3731           
3732         * gst/gststructure.c: (gst_structure_has_name):
3733         * gst/gststructure.h:
3734         * docs/gst/gstreamer-sections.txt:
3735           New API: gst_structure_has_name().
3736
3737 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
3738
3739         * configure.ac:
3740           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
3741           and _LARGEFILE_SOURCE in config.h as required. Do not 
3742           export those flags in our .pc files any longer (#142209).
3743
3744           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
3745
3746         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
3747         (gst_file_sink_do_seek), (gst_file_sink_event),
3748         (gst_file_sink_get_current_offset), (gst_file_sink_render):
3749           Redo seek/tell calls with large file support in mind; add some
3750           debugging messages; add log message that tells us when large
3751           file support is unavailable or not enabled for some reason.
3752
3753         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
3754           Add log message that tells us when large file support 
3755           is unavailable or not enabled for some reason.
3756
3757 2005-07-29  Wim Taymans  <wim@fluendo.com>
3758
3759         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3760         Added test for removing an element with ghostpad from a bin.
3761         Fixed test as current implementation does the right thing.
3762
3763         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
3764         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
3765         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
3766         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
3767         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
3768         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
3769         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
3770         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
3771         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
3772         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
3773         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
3774         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
3775         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3776         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
3777         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
3778         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3779         * gst/gstghostpad.h:
3780         Clean up ghostpads, remove properties for internal stuff.
3781         Make threadsafe.
3782         Fix refcounting.
3783         Prepare for switching targets, not all use cases work yet.
3784
3785 2005-07-29  Wim Taymans  <wim@fluendo.com>
3786
3787         * docs/design/part-gstghostpad.txt:
3788         Small update.
3789
3790         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
3791         (gst_bin_remove_func):
3792         Unlinking pads while holding the bin LOCK is not a good
3793         idea.
3794
3795         * gst/gstpad.c: (gst_pad_class_init),
3796         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
3797         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
3798         No prob setting template after creating the pad.
3799
3800 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
3801
3802         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
3803         (gst_bus_peek), (gst_bus_source_dispatch),
3804         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
3805         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
3806           gst_bus_poll may be called from other threads. Handle
3807           this nicely by not making poll_data disappear off the
3808           stack once gst_bus_poll returns.
3809           gst_bus_peek now increments the refcount on the returned
3810           message.
3811
3812 2005-07-29  Wim Taymans  <wim@fluendo.com>
3813
3814         * docs/design/part-gstghostpad.txt:
3815         Overview of current GhostPad datastructures and use
3816         cases for changing the target.
3817
3818 2005-07-28  Wim Taymans  <wim@fluendo.com>
3819
3820         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3821         Added checks for hierarchy consistency whan adding linked
3822         elements to bins.
3823
3824         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3825         Added check to test element scheduling without bin/pipeline.
3826
3827         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3828         First add elements to bin, then link.
3829         
3830         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
3831         (gst_bin_remove_func):
3832         Unlink pads from elements added/removed from bin to maintain
3833         hierarchy consistency.
3834
3835 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3836
3837         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3838         (gst_base_transform_handle_buffer):
3839         * gst/base/gstbasetransform.h:
3840           Remove broken delay_configure (fixes renegotiation of software
3841           scaling pipelines); remove some leftover printf()s.
3842
3843 2005-07-28  Wim Taymans  <wim@fluendo.com>
3844
3845         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3846         Added some more tests for wrong hierarchy
3847
3848         * docs/design/part-overview.txt:
3849         Some updates.
3850
3851         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
3852         Cleanups.
3853
3854         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
3855         (gst_element_dispose):
3856         Some more cleanups.
3857
3858         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3859         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
3860         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
3861         (gst_pad_set_caps), (gst_pad_send_event):
3862         Check for correct hierarchy when linking pads. Moving to
3863         strict requirement for ghostpads when linking elements in
3864         different bins.
3865
3866         * gst/gstpad.h:
3867         Clean ups. Added WRONG_HIERARCHY return value.
3868
3869 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3870
3871         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
3872           Better debug if no transform is possible.
3873
3874 2005-07-27  Wim Taymans  <wim@fluendo.com>
3875
3876         * docs/random/wtay/network-transp:
3877         Some old doc I had.
3878
3879 2005-07-27  Wim Taymans  <wim@fluendo.com>
3880
3881         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3882         (gst_dp_event_from_packet):
3883         Fix serialization of seek events.
3884
3885 2005-07-27  Wim Taymans  <wim@fluendo.com>
3886
3887         * check/gst-libs/gdp.c: (GST_START_TEST):
3888         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3889         Fix compilation and fix event serialization.
3890
3891 2005-07-27  Wim Taymans  <wim@fluendo.com>
3892
3893         * CHANGES-0.9:
3894         * docs/design/part-TODO.txt:
3895         * docs/design/part-events.txt:
3896         Some docs updates
3897
3898         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3899         (gst_base_sink_event), (gst_base_sink_do_sync),
3900         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
3901         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3902         (gst_base_src_do_seek), (gst_base_src_event_handler),
3903         (gst_base_src_loop):
3904         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
3905         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3906         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
3907         (gst_base_transform_event), (gst_base_transform_handle_buffer),
3908         (gst_base_transform_set_passthrough),
3909         (gst_base_transform_is_passthrough):
3910         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3911         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3912         Event updates.
3913
3914         * gst/gstbuffer.h:
3915         Use faster casts.
3916
3917         * gst/gstelement.c: (gst_element_seek):
3918         * gst/gstelement.h:
3919         Update gst_element_seek.
3920
3921         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
3922         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
3923         (gst_event_new_flush_start), (gst_event_new_flush_stop),
3924         (gst_event_new_eos), (gst_event_new_newsegment),
3925         (gst_event_parse_newsegment), (gst_event_new_tag),
3926         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
3927         (gst_event_parse_qos), (gst_event_new_seek),
3928         (gst_event_parse_seek), (gst_event_new_navigation):
3929         * gst/gstevent.h:
3930         Make GstEvent use GstStructure. Add parsing code, make sure the
3931         API is sufficiently generic.
3932         Mark possible directions of events and serialization.
3933
3934         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
3935         (_gst_message_copy), (gst_message_new_segment_start),
3936         (gst_message_new_segment_done), (gst_message_new_custom),
3937         (gst_message_parse_segment_start),
3938         (gst_message_parse_segment_done):
3939         Small cleanups.
3940
3941         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
3942         (gst_pad_set_caps), (gst_pad_send_event):
3943         Update for new events. 
3944         Catch events sent in wrong directions.
3945
3946         * gst/gstqueue.c: (gst_queue_link_src),
3947         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3948         (gst_queue_handle_src_query):
3949         Event updates.
3950
3951         * gst/gsttag.c:
3952         * gst/gsttag.h:
3953         Remove event code from this file.
3954
3955         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3956         (gst_dp_event_from_packet):
3957         Event updates.
3958
3959 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3960
3961         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
3962         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3963         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
3964           Make debugging actually useful.
3965
3966 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3967
3968         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
3969         (gst_pad_fixate_caps):
3970           Implement default fixation once again, so that gst_pad_fixate()
3971           actually does anything at all. This probably needs to be some
3972           sort of a last resort, and use profile-based fixation first, but
3973           since that doesn't exist yet, this is the best we have. Fixes
3974           visualization in Totem.
3975
3976 2005-07-22  Wim Taymans  <wim@fluendo.com>
3977
3978         * docs/design/part-events.txt:
3979         Small update.
3980
3981         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3982         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
3983         (gst_base_sink_activate_pull):
3984         Some more comments.
3985
3986         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
3987         (gst_fake_src_create):
3988         Fix handoff marshall.
3989
3990         * gst/elements/gstidentity.c: (gst_identity_class_init),
3991         (gst_identity_transform_ip):
3992         We're a real inplace element.
3993
3994         * gst/gstbus.c: (gst_bus_post):
3995         Added some comments.
3996
3997         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
3998         * tests/muxing/case1.c: (main):
3999         * tests/sched/dynamic-pipeline.c: (main):
4000         * tests/sched/interrupt1.c: (main):
4001         * tests/sched/interrupt2.c: (main):
4002         * tests/sched/interrupt3.c: (main):
4003         * tests/sched/runxml.c: (main):
4004         * tests/sched/sched-stress.c: (main):
4005         * tests/seeking/seeking1.c: (event_received), (main):
4006         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4007         (main):
4008         * tests/threadstate/threadstate3.c: (main):
4009         * tests/threadstate/threadstate4.c: (main):
4010         * tests/threadstate/threadstate5.c: (main):
4011         Fix the tests.
4012
4013 2005-07-21  Wim Taymans  <wim@fluendo.com>
4014
4015         * docs/design/part-seeking.txt:
4016         Some small additions.
4017
4018         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4019         (gst_base_sink_get_times), (gst_base_sink_do_sync),
4020         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
4021         * gst/base/gstbasesink.h:
4022         discont values are gint64, handle the math correctly.
4023
4024         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4025         Make the basesrc report error if the source pad is not linked.
4026
4027         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4028         (gst_queue_loop), (gst_queue_handle_src_query),
4029         (gst_queue_src_activate_push):
4030         Make queue collect data even if the srcpad is not linked.
4031         Start pushing out data as soon as it is linked.
4032
4033         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
4034         * gst/gstutils.h:
4035         Added gst_flow_get_name() to ease error reporting.
4036
4037 2005-07-20  Wim Taymans  <wim@fluendo.com>
4038
4039         * gst/gstmessage.c: (gst_message_new_segment_start),
4040         (gst_message_new_segment_done), (gst_message_parse_segment_start),
4041         (gst_message_parse_segment_done):
4042         * gst/gstmessage.h:
4043         Added a bunch of messages for advanced seeking.
4044
4045         * gst/parse/grammar.y:
4046         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
4047         (gst_dpman_state_changed):
4048         Fix some new-pad -> pad-added signals
4049
4050 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4051
4052         * docs/manual/appendix-porting.xml:
4053         * docs/pwg/appendix-porting.xml:
4054           Document new-pad/state-change signal renames and the FixedList
4055           type rename.
4056
4057 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4058
4059         * docs/manual/advanced-autoplugging.xml:
4060         * docs/manual/basics-helloworld.xml:
4061         * docs/manual/basics-pads.xml:
4062         * docs/random/ds/0.9-suggested-changes:
4063         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
4064         * gst/gstelement.h:
4065         * gst/gstevent.h:
4066         * gst/gstformat.h:
4067         * gst/gstquery.h:
4068         * gst/gststructure.c: (gst_structure_value_get_generic_type),
4069         (gst_structure_parse_array), (gst_structure_parse_value):
4070         * gst/gstvalue.c: (gst_type_is_fixed),
4071         (gst_value_list_prepend_value), (gst_value_list_append_value),
4072         (gst_value_list_get_size), (gst_value_list_get_value),
4073         (gst_value_transform_array_string), (gst_value_serialize_array),
4074         (gst_value_deserialize_array), (gst_value_intersect_array),
4075         (gst_value_is_fixed), (_gst_value_initialize):
4076         * gst/gstvalue.h:
4077           GstElement::new-pad -> pad-added, GstElement::state-change ->
4078           state-changed, GstValueFixedList -> GstValueArray, add format and
4079           flags as their own arguments in gst_element_seek() (should improve
4080           "bindeability"), remove function generators since they don't work
4081           under a whole bunch of compilers (they were deprecated already
4082           anyway).
4083
4084 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4085
4086         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4087         (_gst_debug_register_funcptr):
4088         * gst/gstinfo.h:
4089           Fix illegal cast on some platforms (#309253).
4090
4091 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4092
4093         * gst/gstmessage.c: (gst_message_new_custom):
4094         * gst/gstmessage.h:
4095           Add _new_custom, make _new_application a macro to _new_custom.
4096
4097 2005-07-20  Wim Taymans  <wim@fluendo.com>
4098
4099         * gst/base/gstbasesrc.c: (gst_base_src_init),
4100         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4101         * gst/base/gstbasesrc.h:
4102         Add a gboolean to decide when to push out a discont.
4103
4104         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4105         (gst_queue_loop), (gst_queue_handle_src_query),
4106         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
4107         (gst_queue_set_property), (gst_queue_get_property):
4108         Some cleanups.
4109
4110         * tests/threadstate/threadstate1.c: (main):
4111         Make a thread test compile and run... very silly..
4112
4113
4114 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4115
4116         * docs/manual/appendix-porting.xml:
4117           Mention removal of libgstgconf-0.9.la and existence of gconf
4118           elements.
4119
4120 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4121
4122         * docs/pwg/advanced-clock.xml:
4123         * docs/pwg/appendix-porting.xml:
4124         * docs/pwg/intro-preface.xml:
4125         * docs/pwg/other-base.xml:
4126         * docs/pwg/other-manager.xml:
4127         * docs/pwg/other-nton.xml:
4128         * docs/pwg/other-ntoone.xml:
4129         * docs/pwg/other-oneton.xml:
4130         * docs/pwg/pwg.xml:
4131           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
4132           demuxer), remove n-to-n (was never written), fix some code examples
4133           and links and update the porting section to include all this.
4134
4135 2005-07-19  Wim Taymans  <wim@fluendo.com>
4136
4137         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
4138         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
4139         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
4140         (gst_queue_src_activate_push), (gst_queue_change_state),
4141         (gst_queue_get_property):
4142         * gst/gstqueue.h:
4143         Propagate GstFlowReturn more intelligently upstream and output
4144         an ERROR/EOS when streaming stopped due to fatal error.
4145
4146 2005-07-19  Wim Taymans  <wim@fluendo.com>
4147
4148         * tools/gst-launch.c: (check_intr), (event_loop), (main):
4149         Don't block forever for the state change to complete, the
4150         pipeline already did with a sensible timeout.
4151
4152 2005-07-19  Wim Taymans  <wim@fluendo.com>
4153
4154         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4155         Make sure we never call the create function is we
4156         got deactivated.
4157
4158 2005-07-19  Andy Wingo  <wingo@pobox.com>
4159
4160         * gst/parse/parse.l: Attempt to solve bug #172815.
4161
4162 2005-07-19  Wim Taymans  <wim@fluendo.com>
4163
4164         * docs/design/part-clocks.txt:
4165         * docs/design/part-events.txt:
4166         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
4167         Small docs updates.
4168         Only update the seeking values when we are not
4169         busy streaming.
4170
4171 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
4172
4173         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4174           Oops, ignore the result of gst_pad_push_event here.
4175
4176 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
4177
4178         * gst/base/gstbasesrc.c: (gst_base_src_loop),
4179         (gst_base_src_activate_push):
4180           Send discont event from the loop function, as pads
4181           aren't activated yet in the activate_push handler.
4182
4183         * gst/gstbin.c: (bin_bus_handler):
4184           Don't leak element name.
4185
4186 2005-07-18  Andy Wingo  <wingo@pobox.com>
4187
4188         * configure.ac: Use AS_LIBTOOL_TAGS.
4189
4190 2005-07-18  Wim Taymans  <wim@fluendo.com>
4191
4192         * docs/gst/gstreamer.types:
4193         Remove deleted types.
4194
4195 2005-07-18  Wim Taymans  <wim@fluendo.com>
4196
4197         * check/elements/gstfakesrc.c: (GST_START_TEST):
4198         * configure.ac:
4199         * gst/Makefile.am:
4200         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
4201         (init_popt_callback):
4202         * gst/gst.h:
4203         * gst/gst_private.h:
4204         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
4205         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
4206         * gst/gstbin.h:
4207         * gst/gstbus.h:
4208         * gst/gstconfig.h.in:
4209         * gst/gstelement.c: (gst_element_class_init),
4210         (gst_element_set_base_time), (gst_element_get_base_time),
4211         (iterator_fold_with_resync), (gst_element_change_state),
4212         (gst_element_dispose), (gst_element_get_bus):
4213         * gst/gstelement.h:
4214         * gst/gstelementfactory.h:
4215         * gst/gsterror.c: (_gst_core_errors_init):
4216         * gst/gsterror.h:
4217         * gst/gstevent.h:
4218         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
4219         * gst/gstindex.c:
4220         * gst/gstinfo.c: (_gst_debug_init):
4221         * gst/gstmessage.c: (_gst_message_copy):
4222         * gst/gstmessage.h:
4223         * gst/gstminiobject.h:
4224         * gst/gstobject.c:
4225         * gst/gstobject.h:
4226         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4227         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
4228         * gst/gstpad.h:
4229         * gst/gstparse.h:
4230         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
4231         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
4232         (gst_pipeline_get_last_stream_time):
4233         * gst/gstpipeline.h:
4234         * gst/gstpluginfeature.h:
4235         * gst/gstquery.h:
4236         * gst/gstscheduler.c:
4237         * gst/gstscheduler.h:
4238         * gst/gststructure.h:
4239         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4240         (gst_task_finalize), (gst_task_func), (gst_task_create),
4241         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
4242         (gst_task_stop), (gst_task_pause):
4243         * gst/gsttask.h:
4244         * gst/gsttypefind.h:
4245         * gst/gsttypes.h:
4246         * gst/registries/gstlibxmlregistry.c: (load_feature),
4247         (gst_xml_registry_load), (gst_xml_registry_save_feature):
4248         * gst/registries/gstxmlregistry.c:
4249         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
4250         * gst/schedulers/threadscheduler.c:
4251         * libs/gst/control/dparammanager.h:
4252         * tools/gst-inspect.c: (print_element_list),
4253         (print_plugin_features), (print_element_features):
4254         * tools/gst-xmlinspect.c: (print_element_list),
4255         (print_plugin_info), (main):
4256         Removed plugable schedulers.
4257         Removed Scheduler/Manager from elements.
4258         Removed gsttypes.h, rearranged includes.
4259         Removed dependency pad<->element, element<>pipeline, and
4260         various others,  fix includes.
4261         implement gst_pad_get_parent() with gst_object_get_parent()
4262         Make GstTask sefcontained.
4263         Fix _get_state() on GstBin, it did not return ASYNC with a 0
4264         timeout.
4265         Fix endless loop in iterator_fold_with_resync.
4266
4267
4268 2005-07-18  Wim Taymans  <wim@fluendo.com>
4269
4270         * gst/Makefile.am:
4271         * gst/gstarch.h:
4272         Remove old file.
4273
4274 2005-07-18  Wim Taymans  <wim@fluendo.com>
4275
4276         * gst/Makefile.am:
4277         No more cothreads.h
4278
4279 2005-07-18  Wim Taymans  <wim@fluendo.com>
4280
4281         * gst/cothreads.c:
4282         * gst/cothreads.h:
4283         Let's remove these.
4284
4285 2005-07-18  Wim Taymans  <wim@fluendo.com>
4286
4287         * docs/design/part-dynamic.txt:
4288         * docs/design/part-events.txt:
4289         * docs/design/part-seeking.txt:
4290         Some more docs in the works.
4291
4292         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4293         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
4294         (gst_base_transform_setcaps), (gst_base_transform_get_size),
4295         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
4296         (gst_base_transform_handle_buffer),
4297         (gst_base_transform_sink_activate_push),
4298         (gst_base_transform_src_activate_pull),
4299         (gst_base_transform_set_passthrough),
4300         (gst_base_transform_is_passthrough):
4301         Refcounting fixes.
4302
4303         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
4304         Cleanups.
4305
4306         * gst/gstevent.c: (gst_event_finalize):
4307         Set SRC to NULL.
4308
4309         * gst/gstutils.c: (gst_element_unlink),
4310         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
4311         (gst_pad_proxy_setcaps):
4312         * gst/gstutils.h:
4313         Add _get_parent_element() to get a pads parent as an element.
4314
4315 2005-07-18  Wim Taymans  <wim@fluendo.com>
4316
4317         * check/gst/gstbin.c: (GST_START_TEST):
4318         Remove bogus test.
4319
4320 2005-07-18  Wim Taymans  <wim@fluendo.com>
4321
4322         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
4323         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
4324         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
4325         (gst_base_sink_event), (gst_base_sink_do_sync),
4326         (gst_base_sink_chain), (gst_base_sink_loop),
4327         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
4328         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
4329         Refcounting fixes.
4330         Fix logic for returning ASYNC when not prerolled.
4331
4332 2005-07-18  Wim Taymans  <wim@fluendo.com>
4333
4334         * gst/gstqueue.c: (gst_queue_handle_sink_event):
4335         Fix nasty refcount bug.
4336
4337 2005-07-16 Philippe Khalaf <burger@speedy.org>
4338
4339         * gst/elements/gstfdsrc.c:
4340         * gst/elements/gstfdsrc.h:
4341         * gst/elements/gstelements.c:
4342         * gst/elements/Makefile.am:
4343         Ported fdsrc to 0.9.
4344
4345 2005-07-16  Wim Taymans  <wim@fluendo.com>
4346
4347         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4348         (gst_base_sink_do_sync):
4349         Fix compile error.
4350
4351 2005-07-16  Wim Taymans  <wim@fluendo.com>
4352
4353         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4354         (gst_base_sink_event), (gst_base_sink_get_times),
4355         (gst_base_sink_do_sync), (gst_base_sink_change_state):
4356         * gst/base/gstbasesink.h:
4357         Store and use discont values when syncing buffers as described
4358         in design docs.
4359         
4360         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4361         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
4362         (gst_base_src_activate_push):
4363         Push discont event when starting.
4364
4365         * gst/elements/gstidentity.c: (gst_identity_transform):
4366         Small cleanups.
4367
4368         * gst/gstbin.c: (gst_bin_change_state):
4369         Small cleanups in base_time  distribution.
4370
4371         * gst/gstelement.c: (gst_element_set_base_time),
4372         (gst_element_get_base_time), (gst_element_change_state):
4373         * gst/gstelement.h:
4374         Added methods for the base_time of the element.
4375         Some MT fixes.
4376
4377         * gst/gstpipeline.c: (gst_pipeline_send_event),
4378         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
4379         (gst_pipeline_get_last_stream_time):
4380         * gst/gstpipeline.h:
4381         MT fixes.
4382         Handle seeking as described in design doc, remove stream_time
4383         hack.
4384         Cleanups clock and stream_time selection code. Added accessors
4385         for the stream_time.
4386         
4387
4388 2005-07-16  Andy Wingo  <wingo@pobox.com>
4389
4390         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
4391         (#305291).
4392
4393 2005-07-16  Wim Taymans  <wim@fluendo.com>
4394
4395         * check/gst/gstbin.c: (GST_START_TEST):
4396         Make elements silent as the deep_notify refs the
4397         parent, which might make the test fail.
4398
4399         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
4400         Don't hold the lock for too long.
4401
4402 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
4403
4404         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4405           Don't unref the caps we passed to gst_caps_make_writable() after
4406           passing them. gst_caps_make_writable() will do that for us.
4407
4408 2005-07-15  Andy Wingo  <wingo@pobox.com>
4409
4410         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
4411         (#157311).
4412
4413         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
4414         own marshalling function for the handoff signal. Properly type the
4415         buffer as a buffer. Fixes some warnings. Should do a more general
4416         solution.
4417         (gst_identity_class_init): Plug into the right marshaller.
4418
4419 2005-07-15  Wim Taymans  <wim@fluendo.com>
4420
4421         * docs/design/part-TODO.txt:
4422         * docs/design/part-clocks.txt:
4423         * docs/design/part-element-sink.txt:
4424         * docs/design/part-events.txt:
4425         * docs/design/part-gstpipeline.txt:
4426         Updated docs, mostly DISCONT related.
4427
4428 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
4429
4430         * docs/pwg/building-pads.xml:
4431           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
4432
4433 2005-07-15  Andy Wingo  <wingo@pobox.com>
4434
4435         * tools/gst-typefind.c: Update, add copyright block.
4436
4437         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
4438         Normalize and truncate caps before fixation.
4439
4440         * gst/gstcaps.h:
4441         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
4442         discards all but the first structure from its argument.
4443
4444 2005-07-15  Wim Taymans  <wim@fluendo.com>
4445
4446         * gst/base/gstbasetransform.c: (gst_base_transform_init),
4447         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
4448         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4449         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
4450         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
4451         (gst_base_transform_chain), (gst_base_transform_change_state),
4452         (gst_base_transform_set_passthrough),
4453         (gst_base_transform_is_passthrough):
4454         * gst/base/gstbasetransform.h:
4455         Make passthrough work using the bufferpools.
4456         Changed API a bit, subclasses have to write into a buffer
4457         provided by the base class.
4458         More debug info in nego functions.
4459         
4460         * gst/elements/gstidentity.c: (gst_identity_init),
4461         (gst_identity_transform):
4462         Port to new base class.
4463
4464 2005-07-15  Wim Taymans  <wim@fluendo.com>
4465
4466         * gst/gstmessage.c: (gst_message_new_state_changed):
4467         * tools/gst-launch.c: (event_loop), (main):
4468         Totally dump messages in -launch with the -m option.
4469         Fix message name for State messages,
4470
4471 2005-07-14  Wim Taymans  <wim@fluendo.com>
4472
4473         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4474         Post error messages on errors.
4475
4476 2005-07-14  Wim Taymans  <wim@fluendo.com>
4477
4478         * gst/gstcaps.c: (gst_caps_do_simplify):
4479         Remove debug info.
4480
4481         * gst/gsterror.h:
4482         Define error for stream stopped.
4483
4484         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
4485         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
4486         Do proper return values.
4487
4488         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4489         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
4490         (gst_pad_get_range):
4491         Better return values.
4492
4493         * gst/gstpad.h:
4494         Reorganise return values, add macro to check for fatal errors.
4495
4496         * gst/gstqueue.c: (gst_queue_chain):
4497         Return proper GstFlowReturn values,
4498
4499 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4500
4501         * docs/gst/gstreamer-sections.txt:
4502         * docs/gst/gstreamer.types:
4503         * docs/gst/tmpl/gst.sgml:
4504         * docs/gst/tmpl/gstbasesink.sgml:
4505         * docs/gst/tmpl/gstbasesrc.sgml:
4506         * docs/gst/tmpl/gstbasetransform.sgml:
4507         * docs/gst/tmpl/gstbin.sgml:
4508         * docs/gst/tmpl/gstbuffer.sgml:
4509         * docs/gst/tmpl/gstcaps.sgml:
4510         * docs/gst/tmpl/gstclock.sgml:
4511         * docs/gst/tmpl/gstcompat.sgml:
4512         * docs/gst/tmpl/gstconfig.sgml:
4513         * docs/gst/tmpl/gstelement.sgml:
4514         * docs/gst/tmpl/gstelementdetails.sgml:
4515         * docs/gst/tmpl/gstelementfactory.sgml:
4516         * docs/gst/tmpl/gstenumtypes.sgml:
4517         * docs/gst/tmpl/gsterror.sgml:
4518         * docs/gst/tmpl/gstevent.sgml:
4519         * docs/gst/tmpl/gstfakesink.sgml:
4520         * docs/gst/tmpl/gstfakesrc.sgml:
4521         * docs/gst/tmpl/gstfilesink.sgml:
4522         * docs/gst/tmpl/gstfilesrc.sgml:
4523         * docs/gst/tmpl/gstfilter.sgml:
4524         * docs/gst/tmpl/gstformat.sgml:
4525         * docs/gst/tmpl/gstghostpad.sgml:
4526         * docs/gst/tmpl/gstimplementsinterface.sgml:
4527         * docs/gst/tmpl/gstindex.sgml:
4528         * docs/gst/tmpl/gstindexfactory.sgml:
4529         * docs/gst/tmpl/gstinfo.sgml:
4530         * docs/gst/tmpl/gstiterator.sgml:
4531         * docs/gst/tmpl/gstmacros.sgml:
4532         * docs/gst/tmpl/gstmemchunk.sgml:
4533         * docs/gst/tmpl/gstminiobject.sgml:
4534         * docs/gst/tmpl/gstobject.sgml:
4535         * docs/gst/tmpl/gstpad.sgml:
4536         * docs/gst/tmpl/gstpadtemplate.sgml:
4537         * docs/gst/tmpl/gstparse.sgml:
4538         * docs/gst/tmpl/gstpipeline.sgml:
4539         * docs/gst/tmpl/gstplugin.sgml:
4540         * docs/gst/tmpl/gstpluginfeature.sgml:
4541         * docs/gst/tmpl/gstquery.sgml:
4542         * docs/gst/tmpl/gstqueue.sgml:
4543         * docs/gst/tmpl/gstregistry.sgml:
4544         * docs/gst/tmpl/gstregistrypool.sgml:
4545         * docs/gst/tmpl/gstscheduler.sgml:
4546         * docs/gst/tmpl/gstschedulerfactory.sgml:
4547         * docs/gst/tmpl/gststructure.sgml:
4548         * docs/gst/tmpl/gstsystemclock.sgml:
4549         * docs/gst/tmpl/gsttaglist.sgml:
4550         * docs/gst/tmpl/gsttagsetter.sgml:
4551         * docs/gst/tmpl/gsttrace.sgml:
4552         * docs/gst/tmpl/gsttrashstack.sgml:
4553         * docs/gst/tmpl/gsttypefind.sgml:
4554         * docs/gst/tmpl/gsttypefindfactory.sgml:
4555         * docs/gst/tmpl/gsttypes.sgml:
4556         * docs/gst/tmpl/gsturihandler.sgml:
4557         * docs/gst/tmpl/gsturitype.sgml:
4558         * docs/gst/tmpl/gstutils.sgml:
4559         * docs/gst/tmpl/gstvalue.sgml:
4560         * docs/gst/tmpl/gstversion.sgml:
4561         * docs/gst/tmpl/gstxml.sgml:
4562         * docs/libs/tmpl/gstcontrol.sgml:
4563         * docs/libs/tmpl/gstdataprotocol.sgml:
4564         * docs/libs/tmpl/gstdparam.sgml:
4565         * docs/libs/tmpl/gstdplinint.sgml:
4566         * docs/libs/tmpl/gstdpman.sgml:
4567         * docs/libs/tmpl/gstdpsmooth.sgml:
4568         * docs/libs/tmpl/gstgetbits.sgml:
4569         * docs/libs/tmpl/gstunitconvert.sgml:
4570         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
4571         (gst_push_src_base_init), (gst_push_src_class_init),
4572         (gst_push_src_init), (gst_push_src_create):
4573         * gst/base/gstpushsrc.h:
4574         * gst/elements/gstelements.c:
4575         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
4576         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
4577         (gst_fake_sink_init), (gst_fake_sink_set_property),
4578         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
4579         (gst_fake_sink_event), (gst_fake_sink_preroll),
4580         (gst_fake_sink_render), (gst_fake_sink_change_state):
4581         * gst/elements/gstfakesink.h:
4582         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4583         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
4584         (gst_fake_src_base_init), (gst_fake_src_class_init),
4585         (gst_fake_src_init), (gst_fake_src_event_handler),
4586         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
4587         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
4588         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
4589         (gst_fake_src_create_buffer), (gst_fake_src_create),
4590         (gst_fake_src_start), (gst_fake_src_stop):
4591         * gst/elements/gstfakesrc.h:
4592         * gst/elements/gstfilesink.c: (_do_init),
4593         (gst_file_sink_base_init), (gst_file_sink_class_init),
4594         (gst_file_sink_init), (gst_file_sink_dispose),
4595         (gst_file_sink_set_location), (gst_file_sink_set_property),
4596         (gst_file_sink_get_property), (gst_file_sink_open_file),
4597         (gst_file_sink_close_file), (gst_file_sink_query),
4598         (gst_file_sink_event), (gst_file_sink_render),
4599         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
4600         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
4601         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
4602         * gst/elements/gstfilesink.h:
4603         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
4604         (gst_file_src_class_init), (gst_file_src_init),
4605         (gst_file_src_finalize), (gst_file_src_set_location),
4606         (gst_file_src_set_property), (gst_file_src_get_property),
4607         (gst_file_src_map_region), (gst_file_src_map_small_region),
4608         (gst_file_src_create_mmap), (gst_file_src_create_read),
4609         (gst_file_src_create), (gst_file_src_is_seekable),
4610         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
4611         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
4612         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
4613         (gst_file_src_uri_handler_init):
4614         * gst/elements/gstfilesrc.h:
4615           more autistic cleanliness in functions/names/defines
4616
4617 2005-07-13  Andy Wingo  <wingo@pobox.com>
4618
4619         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
4620         source couldn't negotiate.
4621
4622         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
4623         connections again.
4624
4625         * gst/gstutils.h:
4626         * gst/gstutils.c (gst_element_link_pads_filtered): New old
4627         function. I am channeling Hades. Put your boots on suckers!!!
4628
4629 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4630
4631         * testsuite/caps/Makefile.am:
4632         * testsuite/caps/value_compare.c:
4633         * testsuite/caps/value_intersect.c:
4634         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4635           move two testsuite apps over to the check dir
4636
4637 2005-07-12  Wim Taymans  <wim@fluendo.com>
4638
4639         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4640         Added more debug info in the negotiate process.
4641
4642         * gst/gstmessage.h:
4643         Prepare for segment playback.
4644
4645         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
4646         Better debugging.
4647
4648         * gst/gstutils.c:
4649         Some more docs.
4650
4651         * tools/gst-launch.c: (main):
4652         NULL pipeline on errors.
4653
4654 2005-07-12  Andy Wingo  <wingo@pobox.com>
4655
4656         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
4657         not it comes from a malloc region. Make sure our copy gets freed.
4658
4659 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4660
4661         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4662         * check/gst/gstmessage.c: (GST_START_TEST):
4663         * check/gst/gststructure.c: (GST_START_TEST),
4664         (gst_structure_suite), (main):
4665           more testing
4666         * gst/gstelement.c: (gst_element_message_full):
4667           clean up GError and debug string now that they get copied
4668         * gst/gstmessage.c: (gst_message_new_error),
4669         (gst_message_new_warning), (gst_message_parse_error),
4670         (gst_message_parse_warning):
4671           use GST_TYPE_G_ERROR for structure_new, and take copies of
4672           arguments, so that we don't mess up refcounting
4673
4674 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4675
4676         * check/Makefile.am:
4677           add per-test valgrind targets
4678         * check/gst-libs/gdp.c: (GST_START_TEST),
4679         (gst_data_protocol_suite), (main):
4680           clean up
4681
4682 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4683
4684         * check/Makefile.am:
4685           instate more valgrindable tests
4686         * check/elements/gstfakesrc.c: (chain_func), (event_func),
4687         (GST_START_TEST), (fakesrc_suite):
4688         * check/gst/gstpad.c: (GST_START_TEST):
4689         * check/gst/gststructure.c: (GST_START_TEST):
4690           fix test leaks
4691         * docs/gst/tmpl/gstminiobject.sgml:
4692         * gst/gstpad.c: (gst_pad_finalize):
4693           fix the static mutex leak
4694
4695 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4696
4697         * check/Makefile.am:
4698           add two more tests for valgrinding
4699         * check/gst/gstvalue.c: (GST_START_TEST):
4700           test refcount of deserialized buffer, found a leak
4701         * docs/gst/gstreamer-docs.sgml:
4702         * docs/gst/gstreamer-sections.txt:
4703         * docs/gst/gstreamer.types:
4704         * docs/gst/tmpl/gstminiobject.sgml:
4705           add miniobject to docs
4706         * gst/gstminiobject.c:
4707           add some docs
4708         * gst/gstvalue.c: (gst_value_deserialize_buffer),
4709         (gst_string_unwrap):
4710           fix a hard-to-find invalid write for one of the tests
4711           fix a leak for deserialized buffers
4712
4713 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4714
4715         * docs/pwg/advanced-events.xml:
4716         * docs/pwg/advanced-request.xml:
4717         * docs/pwg/advanced-scheduling.xml:
4718         * docs/pwg/appendix-porting.xml:
4719         * docs/pwg/building-boiler.xml:
4720         * docs/pwg/intro-preface.xml:
4721         * docs/pwg/other-ntoone.xml:
4722           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
4723           of example code and explanation for pad activation, loop() and
4724           getrange() functions and a bit more. Remove old comments pointing
4725           to loop-functions.
4726         * examples/pwg/Makefile.am:
4727           Add loop/getrange examples.
4728
4729 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4730
4731         * configure.ac:
4732           check for valgrind binary + some fixes
4733         * check/gst.supp:
4734           valgrind suppressions for the tests
4735         * check/Makefile.am:
4736           add a valgrind: target that valgrinds the unit tests
4737         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
4738         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
4739         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4740         * check/gst/gstghostpad.c:
4741           added some cleanup
4742         * check/gst/gstdata.c:
4743           removed
4744         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
4745         (thread_unref), (gst_mini_object_suite), (main):
4746           added
4747         * gst/gst.c: (gst_deinit):
4748         * gst/gst.h:
4749           add a method to clean up.
4750         * gst/gstsystemclock.c: (gst_system_clock_dispose),
4751         (gst_system_clock_obtain):
4752           allow for disposing the system clock.
4753         * tools/gst-launch.c: (main):
4754           deinit
4755
4756 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4757
4758         * docs/gst/tmpl/gstbasesrc.sgml:
4759         * docs/gst/tmpl/gstfakesrc.sgml:
4760         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4761         (gst_base_src_init), (gst_base_src_set_property),
4762         (gst_base_src_get_property), (gst_base_src_get_range),
4763         (gst_base_src_start):
4764         * gst/base/gstbasesrc.h:
4765           add num-buffers property
4766         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4767         (gst_fakesrc_init), (gst_fakesrc_set_property),
4768         (gst_fakesrc_get_property), (gst_fakesrc_create),
4769         (gst_fakesrc_start):
4770           remove num-buffers property
4771
4772 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4773
4774         * docs/gst/gstreamer-sections.txt:
4775         * docs/gst/tmpl/gstbasesink.sgml:
4776         * docs/gst/tmpl/gstbasesrc.sgml:
4777         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
4778         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
4779         (gst_base_sink_finalize), (gst_base_sink_set_clock),
4780         (gst_base_sink_set_property), (gst_base_sink_get_property),
4781         (gst_base_sink_handle_object), (gst_base_sink_event),
4782         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4783         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
4784         (gst_base_sink_loop), (gst_base_sink_deactivate),
4785         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
4786         (gst_base_sink_change_state):
4787         * gst/base/gstbasesink.h:
4788         * gst/base/gstbasesrc.h:
4789         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
4790         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4791         (gst_filesink_init):
4792           more macro splitting
4793
4794 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4795
4796         * gst/gstelement.c: (gst_element_get_bus):
4797           add debug
4798         * tools/gst-launch.c: (check_intr), (event_loop):
4799           fix bus leaks
4800
4801 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4802
4803         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4804           fix a caps leak
4805
4806 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4807
4808         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4809         (gst_base_src_finalize):
4810           add finalize method and clean up properly
4811         * gst/gstpipeline.c: (gst_pipeline_dispose):
4812           add debug
4813
4814 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4815
4816         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
4817         (gst_bin_suite):
4818           add more things to check
4819         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
4820         * gst/gstelement.c:
4821           more debug
4822
4823 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4824
4825         * check/elements/gstfakesrc.c: (chain_func), (event_func),
4826         (GST_START_TEST), (fakesrc_suite):
4827         * check/gst-libs/gdp.c: (GST_START_TEST):
4828         * check/gst/gst.c: (GST_START_TEST):
4829         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4830         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4831         * check/gst/gstbus.c: (GST_START_TEST):
4832         * check/gst/gstcaps.c: (GST_START_TEST):
4833         * check/gst/gstdata.c: (GST_START_TEST):
4834         * check/gst/gstelement.c: (GST_START_TEST):
4835         * check/gst/gstghostpad.c: (GST_START_TEST):
4836         * check/gst/gstiterator.c: (GST_START_TEST):
4837         * check/gst/gstmessage.c: (GST_START_TEST):
4838         * check/gst/gstobject.c: (GST_START_TEST):
4839         * check/gst/gstpad.c: (GST_START_TEST):
4840         * check/gst/gststructure.c: (GST_START_TEST):
4841         * check/gst/gstsystemclock.c: (GST_START_TEST),
4842         (gst_systemclock_suite):
4843         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4844         * check/gst/gstvalue.c: (GST_START_TEST):
4845         * check/pipelines/cleanup.c: (GST_START_TEST):
4846         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4847         * check/states/sinks.c: (GST_START_TEST):
4848         * check/gstcheck.c: (gst_check_init):
4849         * check/gstcheck.h:
4850           add debugging category
4851           use GST_START_TEST now, so we add a debug line
4852
4853 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4854
4855         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
4856           add test for state change message on a bin
4857         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
4858           add another test
4859         * gst/gstbin.c: (gst_bin_init):
4860         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
4861         * gst/gstelement.c: (gst_element_post_message),
4862         (gst_element_set_state):
4863         * gst/gstelementfactory.c: (gst_element_factory_create):
4864         * gst/gstmessage.c: (gst_message_new):
4865         * gst/gstscheduler.c:
4866           various debugging additions and cleanups
4867
4868 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * check/Makefile.am:
4871         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
4872         (main):
4873           adding tests for elements
4874         * gst/gstelement.c: (gst_element_dispose):
4875
4876 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4877
4878         * gst/registries/gstlibxmlregistry.c: (load_feature):
4879           plug more leaks.  A simple gst_init() now is leakfree, yay.
4880
4881 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4882
4883         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
4884         (gst_xml_registry_load):
4885           plug another memleak
4886
4887 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4888
4889         * configure.ac:
4890           use GST_SET_ERROR_CFLAGS
4891         * docs/faq/cvs.xml:
4892           change to ERROR_CFLAGS
4893
4894 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4895
4896         * configure.ac:
4897           make GST_ERROR_CFLAGS overridable and re-enable Werror
4898         * docs/faq/cvs.xml:
4899           add a note about error CFLAGS
4900         * docs/gst/tmpl/gstfakesrc.sgml:
4901         * gst/elements/gstfakesrc.c:
4902           comment out some unused code
4903         * gst/gst.c: (split_and_iterate):
4904         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
4905         (load_feature):
4906           plug some memleaks
4907
4908 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4909
4910         * common/Makefile.am:
4911         * common/gtk-doc.mak:
4912         * docs/gst/Makefile.am:
4913           factor out gtk-doc.mak
4914
4915 2005-07-07  Wim Taymans  <wim@fluendo.com>
4916
4917         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
4918         (gst_thread_scheduler_dispose):
4919         Unlock the STREAM_LOCK completely.
4920
4921 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4922
4923         * check/Makefile.am:
4924         * check/elements/.cvsignore:
4925         * check/elements/gstfakesrc.c: (chain_func), (event_func),
4926         (START_TEST), (fakesrc_suite), (main):
4927         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4928         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4929         (gst_fakesrc_create), (gst_fakesrc_start):
4930         * gst/elements/gstfakesrc.h:
4931           adding a first element test
4932
4933 2005-07-07  Andy Wingo  <wingo@pobox.com>
4934
4935         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
4936         debug message.
4937
4938 2005-07-07  Wim Taymans  <wim@fluendo.com>
4939
4940         * gst/gstquery.c:
4941         * gst/gstquery.h:
4942         Remove old types
4943
4944 2005-07-07  Wim Taymans  <wim@fluendo.com>
4945
4946         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4947         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
4948         Allow subclasses to implement their own negotiation.
4949
4950 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
4951
4952         * docs/design/part-gstbin.txt:
4953         * docs/design/part-gstpipeline.txt:
4954           Update design notes to reflect the movement of
4955           responsibility for bus handling from GstPipeline to
4956           GstBin
4957
4958 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
4959
4960         * configure.ac:
4961           Remove unnecessary queue2/3/4 examples.
4962
4963 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
4964
4965         * examples/Makefile.am:
4966         * examples/helloworld/helloworld.c: (event_loop), (main):
4967         * examples/queue/queue.c: (event_loop), (main):
4968         * examples/queue2/queue2.c: (main):
4969           Update a couple of the examples to work again.
4970
4971         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4972         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
4973          Spelling corrections and extra debug.
4974         
4975         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
4976         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
4977         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
4978         * gst/gstbin.h:
4979         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
4980         (gst_pipeline_change_state):
4981         * gst/gstpipeline.h:
4982           Move the bus handler for children to the GstBin, and create a
4983           separate bus for receiving messages from children to the one the
4984           bus sends 'upwards' on.
4985
4986 2005-07-06  Wim Taymans  <wim@fluendo.com>
4987
4988         * gst/base/README:
4989         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4990         (gst_base_sink_handle_object), (gst_base_sink_loop),
4991         (gst_base_sink_change_state):
4992         * gst/base/gstbasesink.h:
4993         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4994         (gst_base_src_init), (gst_base_src_setcaps),
4995         (gst_base_src_getcaps), (gst_base_src_loop),
4996         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
4997         (gst_base_src_start), (gst_base_src_change_state):
4998         * gst/base/gstbasesrc.h:
4999         Make basesrc negotiate.
5000         Handle the case where preroll fails in basesink.
5001         Update README.
5002
5003 2005-07-06  Wim Taymans  <wim@fluendo.com>
5004
5005         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
5006         Implement the fixate function.
5007         Clean up acceptcaps.
5008
5009 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5010
5011         * docs/pwg/building-filterfactory.xml:
5012         * docs/pwg/pwg.xml:
5013           Remove never-written filter-factory chapter; I'll add the various
5014           base classes to part 4 ("other element types") later on.
5015
5016 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5017
5018         * docs/pwg/advanced-negotiation.xml:
5019         * docs/pwg/building-boiler.xml:
5020         * docs/pwg/building-pads.xml:
5021         * docs/pwg/pwg.xml:
5022         * examples/pwg/Makefile.am:
5023           Add a chapter on caps negotiation, simplify the original code
5024           samples a bit w.r.t. caps negotiation, add link to the advanced
5025           section. Add a bunch of examples showing different use cases of
5026           different types of caps negotiation. Upstream renegotiation isn't
5027           fully documented yet since nobody knows how that works.
5028
5029 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5030
5031         * check/gst/gstpad.c:
5032         * check/gstcheck.c:
5033         * gst/gstpad.c: (gst_pad_get_internal_links_default):
5034           if pad has no parent, return NULL as list of internal links
5035
5036 2005-07-05  Andy Wingo  <wingo@pobox.com>
5037
5038         * gst/elements/gstfilesrc.c:
5039         * gst/elements/gstfakesrc.c: 
5040         * gst/base/gstpushsrc.c:
5041         * gst/base/gstbasesrc.h: 
5042         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
5043         
5044 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
5045
5046         * Makefile.am:
5047           better report generation target (lcov needs a patch)
5048
5049 2005-07-05  Andy Wingo  <wingo@pobox.com>
5050
5051         * gst/elements, testsuite: Null if we got it...
5052
5053 2005-07-05  Wim Taymans  <wim@fluendo.com>
5054
5055         * configure.ac:
5056         * libs/gst/dataprotocol/Makefile.am:
5057         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
5058         * libs/gst/dataprotocol/dataprotocol.h:
5059         * pkgconfig/Makefile.am:
5060         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
5061         * pkgconfig/gstreamer-dataprotocol.pc.in:
5062         Ported dataprotol to 0.9. 
5063         Added pkgconfig files.
5064
5065 2005-07-05  Andy Wingo  <wingo@pobox.com>
5066
5067         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
5068         Default to returning TRUE for the case when tranform_caps returns
5069         a fixed caps, like for identity or volume.
5070
5071         * check/gst/gstbus.c (pound_bus_with_messages): 
5072         * check/gst/gstmessage.c (START_TEST): 
5073         * check/pipelines/simple_launch_lines.c (got_handoff): Application
5074         message API change.
5075
5076         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
5077         logic weaks here: always run transform_caps, trying passthrough
5078         operation only if the original caps intersects with the transform.
5079
5080         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
5081         source and sink caps.
5082
5083         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
5084         Intersect the peer caps with the pad template before going into
5085         transform_caps.
5086         (gst_base_transform_transform_caps): More debugging.
5087
5088         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
5089         src argument.
5090
5091 2005-07-04  Edward Hervey  <edward@fluendo.com>
5092
5093         * gst/gstutils.c:
5094         * gst/gstutils.h:
5095         (gst_pad_add_*_probe): now returns the signal id for better wrapping
5096         in bindings.
5097
5098 2005-07-04  Andy Wingo  <wingo@pobox.com>
5099
5100         * check/gst/gstpad.c: Only set explicit caps on pads.
5101
5102 2005-07-01  Andy Wingo  <wingo@pobox.com>
5103
5104         * tests/network-clock.scm: Commentary update.
5105
5106         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
5107         Didn't really make sense, not implementable with basetransform,
5108         etc.
5109         (gst_identity_transform): Unref inbuf via make_writable. Feeble
5110         attempt at implementing the sync property, needs an unlock method.
5111
5112         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
5113         New func, by default returns the same caps (the identity
5114         transformation).
5115         (gst_base_transform_getcaps): Uses transform_caps to return
5116         something sensible.
5117         (gst_base_transform_setcaps): Complicated logic to get caps on
5118         both pads, even if they are different, and to call set_caps once
5119         for every time both pads get their caps set.
5120         (gst_base_transform_handle_buffer): Give the ref to the transform
5121         function. Allows in-place modification of the buffer.
5122
5123         * gst/base/gstbasetransform.h (transform_caps): New class method.
5124         Given caps on one side, what can I do on the other.
5125         (set_caps): Take two caps, one for each side of the element.
5126
5127         * gst/gstpad.h:
5128         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
5129         caps in place. This is safe because we can check the mutability of
5130         the caps, and a good idea because fixate functions are just called
5131         as a matter of last resort. (Not actually implemented.)
5132         (gst_pad_set_caps): If the caps we're setting is actually the same
5133         as the existing pad caps, just update the pointer without calling
5134         setcaps. Assert that caps is either NULL or fixed, as per the
5135         docs.
5136
5137         * gst/gstghostpad.c: Update for fixate changes.
5138
5139 2005-07-02  Andy Wingo  <wingo@pobox.com>
5140
5141         * gst/gstcaps.c:
5142         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
5143         two refcounts makes it immutable, which is enough. Doc more.
5144
5145 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
5146
5147         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
5148           Put the mini_object into GValue as a mini_object,
5149           not a gpointer, since that's how we declared
5150           the signal.
5151
5152 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5153
5154         * examples/pwg/Makefile.am:
5155           Fix buildbot again.
5156
5157 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5158
5159         * docs/pwg/building-testapp.xml:
5160           Add extra check.
5161         * examples/pwg/Makefile.am:
5162           Fix buildbot.
5163
5164 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5165
5166         * configure.ac:
5167         * examples/Makefile.am:
5168         * examples/pwg/Makefile.am:
5169         * examples/pwg/extract.pl:
5170           Enable building the PWG examples.
5171         * docs/pwg/advanced-interfaces.xml:
5172           Add URI interface stub.
5173         * docs/pwg/advanced-types.xml:
5174         * docs/pwg/other-autoplugger.xml:
5175         * docs/pwg/appendix-porting.xml:
5176         * docs/pwg/pwg.xml:
5177           Add porting guide (mostly stubs), remove autoplugging (see ADM).
5178         * docs/pwg/building-boiler.xml:
5179         * docs/pwg/building-chainfn.xml:
5180         * docs/pwg/building-pads.xml:
5181         * docs/pwg/building-props.xml:
5182         * docs/pwg/building-state.xml:
5183         * docs/pwg/building-testapp.xml:
5184           Update the building-*.xml parts for 0.9 changes. All examples
5185           code blocks compile in examples/pwg/*.
5186
5187 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5188
5189         * docs/manual/advanced-autoplugging.xml:
5190         * docs/manual/appendix-checklist.xml:
5191         * docs/manual/appendix-integration.xml:
5192         * docs/manual/highlevel-components.xml:
5193           Fix playbin/decodebin examples, update docs a bit, mention bus
5194           instead of signals in various places, mention kmplayer and
5195           kaffeine since they have a working GStreamer backend in the KDE
5196           section.
5197
5198 2005-06-30  Wim Taymans  <wim@fluendo.com>
5199
5200         * CHANGES-0.9:
5201         * docs/design/draft-ghostpads.txt:
5202         * docs/design/draft-push-pull.txt:
5203         * docs/design/draft-query.txt:
5204         * docs/design/part-TODO.txt:
5205         * docs/design/part-query.txt:
5206         Added CHANGES-0.9 doc, updated status of other docs.
5207         
5208         * gst/gstquery.h:
5209         Remove "hmm" macro
5210
5211 2005-06-30  Wim Taymans  <wim@fluendo.com>
5212
5213         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5214         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
5215         (gst_base_sink_change_state):
5216         * gst/base/gstbasesink.h:
5217         Some tweaks, only EOS and a buffer complete a preroll.
5218
5219 2005-06-30  Andy Wingo  <wingo@pobox.com>
5220
5221         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
5222         activate_push down to the internal pad as well.
5223
5224 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
5225
5226         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5227
5228         * gst/gsttaginterface.c:
5229           Some documentation fixes (#307394 and #307397).
5230
5231 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
5232
5233         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5234
5235         * gst/gstvalue.c: (gst_value_intersect_list):
5236           Fix memleak (#309125).
5237
5238 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5239
5240         * docs/manual/advanced-dataaccess.xml:
5241           Fix fakesrc example to compile; doesn't work, bug somewhere...?
5242         * docs/manual/basics-pads.xml:
5243           Add reference for filtered caps to above chapter.
5244
5245 2005-06-30  Wim Taymans  <wim@fluendo.com>
5246
5247         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
5248         (gst_bin_change_state):
5249         Probes are gone.
5250         Lame attempt at making the state change function a bit
5251         more readable.
5252
5253 2005-06-30  Wim Taymans  <wim@fluendo.com>
5254
5255         * docs/design/part-clocks.txt:
5256         * docs/design/part-element-sink.txt:
5257         * docs/design/part-events.txt:
5258         * docs/design/part-preroll.txt:
5259         * docs/design/part-states.txt:
5260         Some more tweeks and additions to the docs.
5261
5262 2005-06-30  Wim Taymans  <wim@fluendo.com>
5263
5264         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
5265         (default_have_data), (gst_pad_class_init), (gst_pad_init),
5266         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
5267         (gst_pad_check_pull_range), (gst_pad_get_range),
5268         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
5269         * gst/gstpad.h:
5270         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
5271         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5272         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5273         (gst_pad_remove_buffer_probe):
5274         Removed atomic operations, use existing LOCK.
5275         Move exception handling out of main code path.
5276
5277 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5278
5279         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
5280         (silly_return_true_function), (gst_pad_class_init),
5281         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
5282         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
5283         (gst_pad_send_event):
5284           Fix accumulator, add default value by using _emitv() instead
5285           of _emit() for signal emission.
5286
5287 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5288
5289         * docs/manual/advanced-dataaccess.xml:
5290         * examples/manual/Makefile.am:
5291           Add probe example.
5292         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
5293           Make work (??).
5294
5295 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
5296
5297         * gst/elements/gstfilesink.c: (gst_filesink_render):
5298           Simplify code so that we don't have to handle short
5299           writes and return GST_FLOW_ERROR if an error occured.
5300
5301 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5302
5303         * docs/gst/gstreamer-docs.sgml:
5304           Remove probes more.
5305
5306 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5307
5308         * docs/gst/gstreamer-sections.txt:
5309         * docs/gst/tmpl/gstpad.sgml:
5310         * docs/gst/tmpl/gstprobe.sgml:
5311         * gst/Makefile.am:
5312         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
5313         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
5314         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
5315         (gst_pad_push_event), (gst_pad_send_event):
5316         * gst/gstpad.h:
5317         * gst/gstutils.c: (gst_pad_add_data_probe),
5318         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5319         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5320         (gst_pad_remove_buffer_probe):
5321         * gst/gstutils.h:
5322           Remove old probes, add new g-signal-based probes and some utility
5323           functions.
5324
5325 2005-06-29  Edward Hervey  <edward@fluendo.com>
5326
5327         * gst/gstelementfactory.c:
5328         * gst/gstutils.h:
5329         * gst/gstutils.c:
5330         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
5331         the definition to the header file.
5332
5333 2005-06-29  Andy Wingo  <wingo@pobox.com>
5334
5335         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
5336         plugins from the source directory.
5337
5338 2005-06-29  Wim Taymans  <wim@fluendo.com>
5339
5340         * docs/gst/tmpl/gstbuffer.sgml:
5341         * docs/gst/tmpl/gstclock.sgml:
5342         Some fixings for blantently wrong text.
5343
5344 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5345
5346         * check/Makefile.am:
5347         * gst/gst.c: (add_path_func), (init_pre):
5348         * gst/gstregistry.c: (gst_registry_add_path):
5349           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
5350           only scan the GST_PLUGIN_PATH locations, and not add
5351           system locations
5352
5353 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5354
5355         * docs/gst/gstreamer-sections.txt:
5356         * docs/gst/tmpl/gstbasesrc.sgml:
5357         * gst/gstelement.c:
5358         * gst/gstelement.h:
5359         * gst/gstevent.c:
5360         * gst/gstutils.c:
5361           doc fixes
5362
5363 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5364
5365         * docs/manual/advanced-autoplugging.xml:
5366           Fix autoplugging example.
5367
5368 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5369
5370         * docs/manual/advanced-autoplugging.xml:
5371         * docs/manual/mime-world.fig:
5372           Try to get autoplugging working, fix type detection. Fix text
5373           in hello-world image.
5374
5375 2005-06-29  Wim Taymans  <wim@fluendo.com>
5376
5377         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5378         (gst_base_sink_change_state):
5379         Small debug line.
5380
5381         * gst/gstclock.h:
5382         map SIGNAL and BROADCAST to the right function.
5383
5384         * gst/gstobject.h:
5385         Remove redundant braces.
5386
5387         * gst/gstpad.c: (gst_pad_set_caps):
5388         Don't call setcaps function when reseting caps to NULL.
5389
5390         * gst/gstsystemclock.c: (gst_system_clock_dispose),
5391         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
5392         (gst_system_clock_id_unschedule):
5393         Use BROADCAST as this is what we do.
5394
5395 2005-06-29  Wim Taymans  <wim@fluendo.com>
5396
5397         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5398         We are actually prerolling before commiting the state
5399         change. 
5400
5401 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5402
5403         * docs/manual/advanced-clocks.xml:
5404         * docs/manual/advanced-interfaces.xml:
5405         * docs/manual/advanced-metadata.xml:
5406         * docs/manual/advanced-position.xml:
5407         * docs/manual/advanced-schedulers.xml:
5408         * docs/manual/advanced-threads.xml:
5409         * docs/manual/appendix-porting.xml:
5410         * docs/manual/basics-bins.xml:
5411         * docs/manual/basics-bus.xml:
5412         * docs/manual/basics-elements.xml:
5413         * docs/manual/basics-helloworld.xml:
5414         * docs/manual/basics-pads.xml:
5415         * docs/manual/highlevel-components.xml:
5416         * docs/manual/manual.xml:
5417         * docs/manual/thread.fig:
5418           Update (until threads/scheduling) Application Development Manual;
5419           remove GstThread, add GstBus, add simple porting checklist, add
5420           documentation for tag writing, clocks, make all examples until this
5421           part compile and run.
5422         * examples/manual/Makefile.am:
5423           Update from changes to Application Development Manual; add bus
5424           example, remove thread example.
5425
5426 2005-06-28  Wim Taymans  <wim@fluendo.com>
5427
5428         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
5429         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
5430         (gst_bus_source_dispatch):
5431         Add debugging messages.
5432         Make internal methods static.
5433         Handle the case where the bus is flushed in the handler.
5434         
5435         * gst/gstelement.c: (gst_element_get_bus):
5436         Fix refcount in _get_bus();
5437
5438         * gst/gstpipeline.c: (gst_pipeline_change_state),
5439         (gst_pipeline_get_clock_func):
5440         Clock refcounting fixes.
5441         Handle the case where preroll timed out more gracefully.
5442         
5443         * gst/gstsystemclock.c: (gst_system_clock_dispose):
5444         Clean up the internal thread in dispose. This is needed
5445         for subclasses that actually get disposed.
5446         
5447         * gst/schedulers/threadscheduler.c:
5448         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5449         (gst_thread_scheduler_dispose):
5450         Free thread pool in dispose.
5451
5452 2005-06-28  Andy Wingo  <wingo@pobox.com>
5453
5454         * tests/network-clock-utils.scm (debug, print-event): New utils.
5455
5456         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
5457         (*packet-loss*): Unified loss probability.
5458         (network-time): Report out-of-band events.
5459
5460         * tests/plot-data: Add support for out-of-band events. Hack it
5461         into this script instead of passing it down the pipe; should fix
5462         this later.
5463
5464 2005-06-28  Wim Taymans  <wim@fluendo.com>
5465
5466         * docs/gst/gstreamer.types:
5467         * docs/gst/tmpl/gstbasesrc.sgml:
5468         * docs/gst/tmpl/gstpad.sgml:
5469         Docs fixes.
5470
5471 2005-06-28  Wim Taymans  <wim@fluendo.com>
5472
5473         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
5474         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
5475         (gst_proxy_pad_do_fixatecaps):
5476         Correctly proxy the check_pull_range function.
5477
5478 2005-06-28  Andy Wingo  <wingo@pobox.com>
5479
5480         * tests/network-clock.scm: Removed need for slib.
5481         
5482 2005-06-28  Wim Taymans  <wim@fluendo.com>
5483
5484         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
5485         (gst_basesink_preroll_queue_flush):
5486         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
5487         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
5488         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
5489         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
5490         (gst_proxy_pad_set_property):
5491         * gst/gstpad.c:
5492         * gst/gstpad.h:
5493         * gst/gstqueue.c: (gst_queue_init):
5494         The deprecated pad loop function is removed now.
5495
5496 2005-06-28  Andy Wingo  <wingo@pobox.com>
5497
5498         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
5499         New parameters, simulate network packet loss.
5500
5501         * tests/network-clock-utils.scm: Initialize the RNG.
5502
5503 2005-06-28  Wim Taymans  <wim@fluendo.com>
5504
5505         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
5506         (gst_basesink_event), (gst_basesink_deactivate):
5507         Flushing the preroll queue always needs to unlock the waiters.
5508
5509 2005-06-28  Edward Hervey  <edward@fluendo.com>
5510
5511         * gst/gstpipeline.c: (gst_pipeline_send_event): 
5512         Wheen a seek was successful on a pipeline, set the stream_time to the
5513         seek offset in order to have a synchronized stream_time.
5514
5515 2005-06-28  Wim Taymans  <wim@fluendo.com>
5516
5517         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
5518         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
5519         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
5520         (gst_proxy_pad_do_fixatecaps):
5521         Call wrapper function instead of just calling the function
5522         pointers. This takes care of any locking and whatmore.
5523
5524 2005-06-28  Wim Taymans  <wim@fluendo.com>
5525
5526         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
5527         (gst_pad_pull_range):
5528         * gst/gstpad.h:
5529         CONNECTED -> LINKED.
5530
5531 2005-06-28  Andy Wingo  <wingo@pobox.com>
5532
5533         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
5534         source-munging commit!!!
5535
5536         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
5537         (gst_object_sink): Take gpointer arguments, not GstObject --
5538         avoids casts. Like GLib.
5539
5540         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
5541         activate.
5542
5543 2005-06-27  Andy Wingo  <wingo@pobox.com>
5544
5545         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
5546         remaining buffer.
5547
5548         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
5549         returns a sorted copy of the trace list.
5550         (gst_alloc_trace_print_live): New API, only prints traces with
5551         live objects. Sort the list.
5552         (gst_alloc_trace_print_all): Sort the list.
5553         (gst_alloc_trace_print): Align columns.
5554
5555         * gst/elements/gstttypefindelement.c:
5556         * gst/elements/gsttee.c:
5557         * gst/base/gstbasesrc.c:
5558         * gst/base/gstbasesink.c:
5559         * gst/base/gstbasetransform.c:
5560         * gst/gstqueue.c: Adapt for pad activation changes.
5561
5562         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
5563         sched.
5564         (gst_pipeline_dispose): Drop ref on sched.
5565
5566         * gst/gstpad.c (gst_pad_init): Set the default activate func.
5567         (gst_pad_activate_default): Push mode by default.
5568         (pre_activate_switch, post_activate_switch): New stubs, things to
5569         do before and after switching activation modes on pads.
5570         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
5571         the pad's activate function to choose which mode to activate.
5572         Shortcut on deactivation and call the right function directly.
5573         (gst_pad_activate_pull): New API, (de)activates a pad in pull
5574         mode.
5575         (gst_pad_activate_push): New API, same for push mode.
5576         (gst_pad_set_activate_function) 
5577         (gst_pad_set_activatepull_function) 
5578         (gst_pad_set_activatepush_function): Setters for new API.
5579
5580         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
5581         Trace all miniobjects.
5582         (gst_mini_object_make_writable): Unref the arg if we copy, like
5583         gst_caps_make_writable.
5584
5585         * gst/gstmessage.c (_gst_message_initialize): No trace init.
5586
5587         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
5588         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
5589         Adapt for new pad API.
5590
5591         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
5592
5593         * gst/gstelement.h:
5594         * gst/gstelement.c (gst_element_iterate_src_pads) 
5595         (gst_element_iterate_sink_pads): New API functions.
5596         
5597         * gst/gstelement.c (iterator_fold_with_resync): New utility,
5598         should fold into gstiterator.c in some form.
5599         (gst_element_pads_activate): Simplified via use of fold and
5600         delegation of decisions to gstpad->activate.
5601
5602         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
5603         help in debugging.
5604
5605         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
5606         class once in init, like gstmessage. Didn't run into this issue
5607         but it seems correct. Don't initialize a trace, gstminiobject does
5608         that.
5609
5610         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
5611         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
5612         to the bus.
5613         (assert_live_count): New util function, uses alloc traces to check
5614         cleanup.
5615
5616         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
5617         To be modified when unlink drops the internal pad.
5618
5619 2005-06-27  Wim Taymans  <wim@fluendo.com>
5620
5621         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
5622         (gst_bin_change_state):
5623         Cleanup the get_state() function a little, make sure it
5624         iterates the same set of elements.
5625         Added stub iterate_state_order().
5626
5627 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * docs/gst/gstreamer-docs.sgml:
5630         * docs/gst/gstreamer-sections.txt:
5631         * docs/gst/gstreamer.types:
5632         * docs/gst/tmpl/gstbasesink.sgml:
5633         * docs/gst/tmpl/gstbasesrc.sgml:
5634         * docs/gst/tmpl/gstbasetransform.sgml:
5635         * docs/gst/tmpl/gstelement.sgml:
5636         * docs/gst/tmpl/gstiterator.sgml:
5637         * gst/base/gstbasesrc.c:
5638         * gst/base/gstbasesrc.h:
5639         * gst/base/gstbasetransform.h:
5640         * gst/gstelement.c:
5641         * gst/gstiterator.h:
5642           adding basetransform and iterator docs
5643
5644 2005-06-27  Andy Wingo  <wingo@pobox.com>
5645
5646         * docs/design/part-activation.txt: Notes on how activation should
5647         work -- not quite implemented yet.
5648
5649 2005-06-25  Wim Taymans  <wim@fluendo.com>
5650
5651         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
5652         At least get the chain function correct, needs more
5653         fixing.
5654
5655 2005-06-25  Wim Taymans  <wim@fluendo.com>
5656
5657         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
5658         (gst_basesink_handle_object), (gst_basesink_event),
5659         (gst_basesink_do_sync), (gst_basesink_handle_event),
5660         (gst_basesink_change_state):
5661         * gst/gsttask.h:
5662         Right, two problems here: ghostpads don't take locks and
5663         glib _rec_mutex_lock_full() with depth==0 still locks.
5664         Catch illegal locking and g_warn them.
5665
5666 2005-06-25  Wim Taymans  <wim@fluendo.com>
5667
5668         * check/states/sinks.c: (START_TEST), (gst_object_suite):
5669         Have to check for completion now...
5670
5671 2005-06-25  Wim Taymans  <wim@fluendo.com>
5672
5673         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
5674         (gst_basesink_handle_object), (gst_basesink_event),
5675         (gst_basesink_do_sync), (gst_basesink_handle_event),
5676         (gst_basesink_change_state):
5677         * gst/gstpad.h:
5678         Unlock STREAM_LOCK whatever the recursion was.
5679
5680 2005-06-25  Wim Taymans  <wim@fluendo.com>
5681
5682         * gst/base/gstbasesink.c: (gst_basesink_set_property),
5683         (gst_basesink_preroll_queue_empty),
5684         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
5685         (gst_basesink_event), (gst_basesink_do_sync),
5686         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
5687         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
5688         (gst_basesink_change_state):
5689         Reworked the base sink, handle event and buffer serialisation
5690         correctly and removed possible deadlock.
5691         Handle EOS correctly.
5692
5693 2005-06-25  Wim Taymans  <wim@fluendo.com>
5694
5695         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
5696         (gst_pipeline_change_state):
5697         * tools/gst-launch.c: (check_intr), (event_loop), (main):
5698         Allow elements to post EOS in the state change function.
5699         Fix up -launch, make it exit the poll loop when the
5700         pipeline actually changed state.
5701         Fix up warning parsing in -launch.
5702
5703 2005-06-25  Wim Taymans  <wim@fluendo.com>
5704
5705         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
5706         (gst_tee_sink_activate):
5707         Core takes STREAM_LOCK for us now.
5708
5709 2005-06-25  Wim Taymans  <wim@fluendo.com>
5710
5711         * gst/gstelement.c: (gst_element_get_state_func),
5712         (gst_element_set_state):
5713         * gst/gstelement.h:
5714         * gst/gstmessage.c: (gst_message_parse_error),
5715         (gst_message_parse_warning):
5716         Keep track of current target state while performing a state
5717         change so that subclasses can do something interesting.
5718         Fix parsing of warning/error messages when GError is NULL.
5719
5720 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5721
5722         * docs/gst/Makefile.am:
5723         * docs/gst/gstreamer-docs.sgml:
5724         * docs/gst/gstreamer-sections.txt:
5725         * docs/gst/gstreamer.types:
5726         * docs/gst/tmpl/gstbasesink.sgml:
5727         * docs/gst/tmpl/gstbasesrc.sgml:
5728         * docs/gst/tmpl/gstbin.sgml:
5729         * docs/gst/tmpl/gstcompat.sgml:
5730         * docs/gst/tmpl/gstfakesink.sgml:
5731         * docs/gst/tmpl/gstfakesrc.sgml:
5732         * docs/gst/tmpl/gstfilesink.sgml:
5733         * docs/gst/tmpl/gstfilesrc.sgml:
5734         * docs/gst/tmpl/gstindex.sgml:
5735         * docs/manual/appendix-quotes.xml:
5736         * gst/base/gstbasesrc.h:
5737         * gst/elements/gstfakesrc.h:
5738         * gst/gstmessage.h:
5739           start pulling in base classes and elements in our docs
5740
5741 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
5742
5743         * docs/gst/Makefile.am:
5744         * docs/libs/Makefile.am:
5745           fixed make distcheck with gtk-doc 1.3
5746
5747 2005-06-23  Wim Taymans  <wim@fluendo.com>
5748
5749         * gst/gstelement.c: (gst_element_get_state_func),
5750         (gst_element_set_state), (gst_element_change_state):
5751         When the state did not change, also report NO_PREROLL
5752         when it matters.
5753
5754 2005-06-23  Wim Taymans  <wim@fluendo.com>
5755
5756         * gst/gstpad.c: (gst_pad_event_default):
5757         * gst/gstqueue.c: (gst_queue_loop):
5758         No unsafe task pausing please.
5759
5760 2005-06-23  Wim Taymans  <wim@fluendo.com>
5761
5762         * gst/schedulers/threadscheduler.c:
5763         (gst_thread_scheduler_task_start),
5764         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
5765         Ref the task before pushing it on the threadpool. This
5766         makes sure that we have a ref when the threadfunction is
5767         actually called.
5768
5769 2005-06-23  Andy Wingo  <wingo@pobox.com>
5770
5771         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
5772         offset is greater than the file's size.
5773
5774         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
5775         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
5776         * gst/gstobject.c (gst_object_class_init): Make the class lock
5777         recursive. Wim won't let me drop deep_notify. Decodebin works
5778         again, whoopdy doo.
5779
5780         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
5781         internal pad, and hacks accordingly. Doesn't do it on the target
5782         pad because we change its caps. Probably catches all cases of
5783         interest tho.
5784         (gst_ghost_pad_set_property): Connect to notify::caps as
5785         appropritate.
5786
5787         * tests/network-clock.scm (plot-simulation): Pipe data to the
5788         elite python skript.
5789
5790         * tests/network-clock-utils.scm (define-parameter): New macro,
5791         defines a parameter that can be set via the command line.
5792         (set-parameter!, parse-parameter-arguments): Command line args
5793         parser.
5794
5795         * tests/plot-data: Simple matplotlib-based plotter, takes input on
5796         stdin.
5797
5798 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
5799
5800         * gst/elements/gsttypefindelement.c:
5801         (gst_type_find_element_handle_event):
5802           Don't restart typefinding on a discont.
5803         * gst/gstelement.c: (gst_element_set_state):
5804           Debug spelling fix.
5805         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
5806           Allow changing mode of an active pad.
5807           Debug output fixes.
5808         * gst/registries/gstlibxmlregistry.c: (load_feature):
5809           Don't cast a static pad template to a normal pad template.
5810
5811 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5812
5813         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
5814         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5815           remove gst_strtoll completely, since it didn't actually do
5816           anything more than what g_ascii_strtoull already does.
5817           check for range errors when deserializing
5818           do a cast for the unsigned cases; but further fixing needs
5819           a decision on what the interpretation of "(int)" and
5820           deserialization should be for values that fall outside the
5821           type's boundaries (ie, refuse, or interpret as casting)
5822
5823 2005-06-23  Wim Taymans  <wim@fluendo.com>
5824
5825         * check/Makefile.am:
5826         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
5827         * docs/design/part-live-source.txt:
5828         * docs/design/part-states.txt:
5829         * gst/base/gstbasesrc.c: (gst_basesrc_init),
5830         (gst_basesrc_set_live), (gst_basesrc_is_live),
5831         (gst_basesrc_get_range), (gst_basesrc_activate),
5832         (gst_basesrc_change_state):
5833         * gst/base/gstbasesrc.h:
5834         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5835         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
5836         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
5837         * gst/gstelement.c: (gst_element_get_state_func),
5838         (gst_element_set_state):
5839         * gst/gstelement.h:
5840         * gst/gsttypes.h:
5841         * tools/gst-launch.c: (event_loop), (main):
5842         Added support for live sources and other elements that
5843         cannot do preroll.
5844         Updated design docs, added live-source design doc.
5845         Implemented live source functionality in basesrc
5846         Fix error condition in _bin_get_state()
5847         Implement live source handling in -launch.
5848         Added check for live sources.
5849         Fixed case in GstBin where elements were changed state
5850         multiple times.
5851
5852
5853 2005-06-23  Andy Wingo  <wingo@pobox.com>
5854
5855         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
5856         borken refcounting.
5857
5858         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
5859         gst_caps_replace takes care of this for us.
5860
5861         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
5862         gst_pad_set_caps on the target, not just its setcaps() function.
5863
5864         * tests/network-clock.scm: 
5865         * tests/network-clock-utils.scm: A network clock simulator.
5866         Something of an algorithmic testbed before doing something in C.
5867
5868 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5869
5870         * check/Makefile.am:
5871         * check/gst/capslist.h:
5872           copy over from 0.8, and add two with bitmasks specified with
5873           (int) 0xFF...
5874         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
5875           add test to parse everything from capslist.h
5876         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
5877         (main):
5878           add test for structure deserialization
5879         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
5880           add tests for deserialization of strings to int types
5881         * gst/gststructure.c: (gst_structure_nth_field_name):
5882         * gst/gststructure.h:
5883           add a way to get the name of a field referenced by index
5884         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5885           instead of checking if the resulting long long lies between
5886           min and max, we check if the long long would fit into
5887           a number of bytes for the final type.
5888           This fixes cases where a string represents 2^32 - 1, which
5889           when cast to int would be the (valid) -1, but is bigger than
5890           G_MAXINT
5891
5892 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5893
5894         * gst/parse/grammar.y:
5895           add a log line for type deserialization
5896
5897 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5898
5899         * check/gst/gstvalue.c: (START_TEST):
5900         * gst/gstvalue.c: (gst_value_deserialize):
5901           return long long, not int, so gint64 deserialization actually
5902           works.  Is there any flag that makes the compiler check this ?
5903           Fixes #308559
5904
5905 2005-06-22  Wim Taymans  <wim@fluendo.com>
5906
5907         * gst/gstbuffer.h:
5908         Added convenience macros for setting buffers in GValue.
5909
5910 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5911
5912         * check/gst/.cvsignore:
5913         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
5914           add a test deserializing int64, and comment part out because
5915           it fails, yay !
5916
5917 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5918
5919         * check/Makefile.am:
5920         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
5921         * testsuite/Makefile.am:
5922         * testsuite/caps/Makefile.am:
5923         * testsuite/caps/value_serialize.c:
5924         * testsuite/test_gst_init.c:
5925           move a value_serialize test over
5926
5927 2005-06-20  Wim Taymans  <wim@fluendo.com>
5928
5929         * gst/gstpad.c:
5930         Small doc updates.
5931         
5932         * gst/gstvalue.c: (gst_value_compare_buffer),
5933         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
5934         (gst_value_compare_flags), (gst_value_serialize_flags),
5935         (gst_value_deserialize_flags), (_gst_value_initialize):
5936         Fix serialisation of buffers, they are not boxed types anymore
5937
5938 2005-06-20  Wim Taymans  <wim@fluendo.com>
5939
5940         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
5941         Testcase to show error in buffer-on-caps serialisation.
5942
5943 2005-06-20  Andy Wingo  <wingo@pobox.com>
5944
5945         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
5946         will be adding to later.
5947
5948         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
5949         if its socks fill with rocks.
5950         (gst_system_clock_obtain): Set the name on object construction.
5951         Avoid double-checked locking.
5952
5953 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
5954
5955         * gst/gsturi.c: (gst_element_make_from_uri):
5956           Fix potential endless loop.
5957
5958 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5959
5960         * check/Makefile.am:
5961           add gsttag
5962         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
5963         (main):
5964           move over from testsuite dir and clean up
5965         * configure.ac:
5966         * gst/gsttag.c:
5967         * testsuite/Makefile.am:
5968         * testsuite/tags/.cvsignore:
5969         * testsuite/tags/Makefile.am:
5970         * testsuite/tags/merge.c:
5971           remove testsuite/tags
5972
5973 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5974
5975         * docs/gst/gstreamer-sections.txt:
5976         * docs/gst/tmpl/gstenumtypes.sgml:
5977         * win32/gstenumtypes.c:
5978           clean up documentation build a little
5979
5980 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5981
5982         * check/gstcheck.h:
5983           add macros for checking refcounts on objects and caps
5984         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
5985           add some more unit tests
5986         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5987         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
5988           fix leaked refcounts (I hope :)) so unittest works
5989         * gst/gstpad.h:
5990           whitespace removal
5991
5992 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5993
5994         * configure.ac: back to HEAD
5995
5996 === release 0.9.1 ===
5997
5998 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5999
6000         * NEWS:
6001         * RELEASE:
6002           updated
6003
6004 2005-06-17  Andy Wingo  <wingo@pobox.com>
6005
6006         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
6007         assert; it's always possible that the pad gets deactivated in
6008         between the checks in gstpad.c and the implementation. Rely on
6009         finish_preroll() to return a FLUSHING or similar instead of on the
6010         assert.
6011         
6012         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
6013         clock and post an EOS message if we come out of finish_preroll in
6014         the playing state.
6015
6016 2005-06-16  David Schleef  <ds@schleef.org>
6017
6018         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6019         (gst_capsfilter_set_property): Allow NULL as possible value
6020         for filter_caps property, indicating GST_CAPS_ANY.
6021
6022 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6023
6024         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
6025           fix debug output
6026         * gst/schedulers/Makefile.am:
6027           use libgst prefix
6028         * gstreamer.spec.in:
6029           fix spec for it
6030
6031 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6032
6033         * gstreamer.spec.in:
6034           clean up
6035
6036 2005-06-08  Andy Wingo  <wingo@pobox.com>
6037
6038         * gst/gstutils.c: RPAD fixes all around.
6039         (gst_element_link_pads): Refcounting fixes.
6040
6041         * tools/gst-inspect.c:
6042         * tools/gst-xmlinspect.c:
6043         * parse/grammar.y:
6044         * gst/base/gsttypefindhelper.c:
6045         * gst/base/gstbasesink.c:
6046         * gst/gstqueue.c: RPAD fixes.
6047
6048         * gst/gstghostpad.h:
6049         * gst/gstghostpad.c: New ghost pad implementation as full proxy
6050         pads. The tricky thing is they provide both source and sink
6051         interfaces, since they proxy the internal pad for the external
6052         pad, and vice versa. Implement with lower-level ProxyPad objects,
6053         with the interior proxy pad as a child of the exterior ghost pad.
6054         Should write a doc on this.
6055         
6056         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
6057         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
6058         gst_object API.
6059         
6060         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
6061         pads are real pads. No ghost pads in this file. Not documenting
6062         the myriad s/RPAD/PAD/ and REALIZE fixes.
6063         (gst_pad_class_init): Add properties for "direction" and
6064         "template". Both are construct-only, so they can't change during
6065         the life of the pad. Fixes properly deriving from GstPad.
6066         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
6067         derived objects, just set properties when creating the objects via
6068         g_object_new.
6069         (gst_pad_get_parent): Implement as a function, return NULL if the
6070         parent is not an element.
6071         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
6072         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
6073         
6074         * gst/gstobject.c (gst_object_class_init): Make name a construct
6075         property. Don't set it in the object init.
6076
6077         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
6078         with UNKNOWN direction.
6079         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
6080         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
6081         (gst_element_remove_pad): Remove ghost-pad special cases.
6082         (gst_element_pads_activate): Remove rpad cruft.
6083
6084         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
6085         catch the pad's-parent-not-an-element case.
6086
6087         * gst/gst.h: Include gstghostpad.h.
6088
6089         * gst/gst.c (init_post): No more real, ghost pads.
6090
6091         * gst/Makefile.am: Add gstghostpad.[ch].
6092
6093         * check/Makefile.am:
6094         * check/gst/gstbin.c:
6095         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
6096         into a bin creates ghost pads, and that the refcounts are right.
6097         Partly moved from gstbin.c.
6098
6099 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6100
6101         * check/gst-libs/.cvsignore:
6102         * check/gst/.cvsignore:
6103         * check/pipelines/.cvsignore:
6104           ignore more
6105         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
6106         (START_TEST), (cleanup_suite), (main):
6107           add some tests related to cleanup after running pipelines
6108
6109 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6110
6111         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
6112           add a testsuite for GstBuffer
6113
6114 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6115
6116         * gst/gstminiobject.h:
6117           add defines for accessing the refcount
6118
6119 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
6120
6121         * Makefile.am: added support for html unit test coverage reports
6122
6123 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
6124
6125         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6126           Free existing caps if the capsfilter changes. Add a FIXME about
6127           setting those caps on the pads.
6128
6129         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
6130           Before adding a ghost pad to a parent bin, check that there isn't
6131           already one for the element on the bin. Prevents infinite recursion
6132           when using decodebin in parse pipelines. Andy says he'll rewrite the
6133           way this works anyway, so ignore the hack.
6134
6135 2005-06-02  Andy Wingo  <wingo@pobox.com>
6136
6137         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
6138         file size, pass it on to the type find helper.
6139
6140         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
6141         segment_start and segment_end properly according to the seek
6142         method. Segment_end is still a bit flaky because offset can be
6143         negative for CUR and END cases, but it takes -1 as an "unset"
6144         value.
6145
6146 2005-06-02  Wim Taymans  <wim@fluendo.com>
6147
6148         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
6149         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
6150         (gst_basesink_activate):
6151         * gst/base/gstbasesink.h:
6152         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6153         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
6154         (gst_pad_query), (gst_pad_start_task):
6155         * gst/gstpad.h:
6156         * gst/gstqueue.c: (gst_queue_bufferalloc),
6157         (gst_queue_handle_sink_event), (gst_queue_chain):
6158         Bufferalloc: return GstFlowReturn to more accuratly report
6159         why allocation failed.
6160
6161 2005-06-02  Wim Taymans  <wim@fluendo.com>
6162
6163         * gst/gstpipeline.c: (gst_pipeline_send_event):
6164         Take snapshot of state without blocking.
6165
6166 2005-06-02  Wim Taymans  <wim@fluendo.com>
6167
6168         * docs/design/part-TODO.txt:
6169         * docs/design/part-caps.txt:
6170         * docs/design/part-clocks.txt:
6171         * docs/design/part-negotiation.txt:
6172         * docs/design/part-preroll.txt:
6173         Small doc updates 
6174
6175 2005-05-30  Wim Taymans  <wim@fluendo.com>
6176
6177         * gst/elements/gstidentity.c: (gst_identity_event),
6178         (gst_identity_transform), (gst_identity_get_property):
6179         Protect last_message property as it is accessed from
6180         multiple threads.
6181
6182 2005-05-30  Wim Taymans  <wim@fluendo.com>
6183
6184         * gst/gstelement.c: (gst_element_init),
6185         (gst_element_pads_activate), (gst_element_change_state):
6186         Slicker pad activation code.
6187
6188 2005-05-30  Wim Taymans  <wim@fluendo.com>
6189
6190         * gst/Makefile.am:
6191         * gst/gstelement.h:
6192         * gst/gstelementfactory.h:
6193         * gst/gsttypes.h:
6194         Move elementfactory methods to separate .h file.
6195
6196 2005-05-30  Wim Taymans  <wim@fluendo.com>
6197
6198         * docs/design/part-overview.txt:
6199         * gst/gstsystemclock.h:
6200         Small typo fixes, doc updates.
6201
6202 2005-05-30  Wim Taymans  <wim@fluendo.com>
6203
6204         * gst/gst.c: (gst_init_get_popt_table), (init_post),
6205         (init_popt_callback):
6206         Remove cpu-opt flag.
6207
6208 2005-05-30  Wim Taymans  <wim@fluendo.com>
6209
6210         * gst/gstbuffer.c: (gst_subbuffer_finalize),
6211         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
6212         * gst/gstbuffer.h:
6213         Avoid typechecking in places where not needed.
6214         Added accessor for malloc_data.
6215
6216 2005-05-30  Wim Taymans  <wim@fluendo.com>
6217
6218         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
6219         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
6220         (gst_pad_configure_sink), (gst_pad_configure_src),
6221         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
6222         (gst_pad_start_task):
6223         Propagate errors from _set_caps() in configure_src/sink
6224         functions instead of returning TRUE.
6225         FLUSH events can travel up and downstream
6226
6227
6228 2005-05-30  Wim Taymans  <wim@fluendo.com>
6229
6230         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
6231         (gst_basesink_activate):
6232         Handle EOS in preroll.
6233
6234 2005-05-30  Wim Taymans  <wim@fluendo.com>
6235
6236         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6237         (gst_queue_loop), (gst_queue_handle_src_event):
6238         Remove old pieces of code
6239         Flushing the queue in an upstream event is a very bad idea.
6240
6241 2005-05-26  Andy Wingo  <wingo@pobox.com>
6242
6243         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
6244         gst_value_set_mini_object so as to add a ref on the object (which
6245         will be removed when the value is unset).
6246
6247         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
6248         arg type in ::handoff.
6249
6250         * gst/gstelement.c (gst_element_change_state): Also deactivate
6251         pads in READY->NULL, just in case the element didn't make it to
6252         PAUSED. Wingo tested, Wim approved.
6253
6254 2005-05-26  Wim Taymans  <wim@fluendo.com>
6255
6256         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6257         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
6258         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
6259         A flushing pad cannot be used to alloc_buffer from.
6260
6261 2005-05-26  Wim Taymans  <wim@fluendo.com>
6262
6263         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
6264         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
6265         (gst_bus_source_dispatch), (gst_bus_source_finalize),
6266         (gst_bus_create_watch), (gst_bus_add_watch_full):
6267         * gst/gstbus.h:
6268         Implement a real GSource and use g_main_context_wakeup() to
6269         signal new messages instead of the socketpair.
6270
6271 2005-05-25  Wim Taymans  <wim@fluendo.com>
6272
6273         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
6274         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
6275         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6276         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
6277         (gst_pad_send_event), (gst_pad_start_task):
6278         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
6279         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
6280         (gst_queue_sink_activate), (gst_queue_src_activate),
6281         (gst_queue_change_state):
6282         * gst/gstqueue.h:
6283         Fix state changes for non sinks. We now change sinks, then elements
6284         with unconnected srcpads, then the rest.
6285         More efficient queue unlocking in flush and state changes.
6286         Set the pad activate mode even if it does not have an activate
6287         function.
6288
6289 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6290
6291         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
6292           Don't go in pull mode for non-seekable sources.
6293         * gst/elements/gsttypefindelement.h:
6294         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6295         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
6296         (free_entry), (stop_typefinding),
6297         (gst_type_find_element_handle_event), (find_peek),
6298         (gst_type_find_element_chain), (do_pull_typefind),
6299         (gst_type_find_element_change_state):
6300           Allow typefinding (w/o seeking) in push-mode, simplified version
6301           of what was in 0.8.
6302         * gst/gstutils.c: (gst_buffer_join):
6303         * gst/gstutils.h:
6304           gst_buffer_join() from 0.8.
6305
6306 2005-05-25  Wim Taymans  <wim@fluendo.com>
6307
6308         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6309         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
6310         (gst_pad_send_event), (gst_pad_start_task):
6311         Disable attempt at mode switching until it is figured out.
6312
6313 2005-05-25  Wim Taymans  <wim@fluendo.com>
6314
6315         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
6316         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
6317         (gst_basesink_finish_preroll), (gst_basesink_chain),
6318         (gst_basesink_loop), (gst_basesink_activate),
6319         (gst_basesink_change_state):
6320         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
6321         (gst_basesrc_get_range), (gst_basesrc_loop),
6322         (gst_basesrc_activate):
6323         * gst/elements/gsttee.c: (gst_tee_sink_activate):
6324         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
6325         (gst_real_pad_init), (gst_real_pad_set_property),
6326         (gst_real_pad_get_property), (gst_pad_set_active),
6327         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
6328         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
6329         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
6330         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
6331         (gst_pad_event_default_dispatch), (gst_pad_event_default),
6332         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
6333         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
6334         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
6335         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
6336         (gst_pad_stop_task):
6337         * gst/gstpad.h:
6338         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6339         (gst_queue_loop), (gst_queue_src_activate):
6340         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
6341         (gst_task_get_state):
6342         * gst/gsttask.h:
6343         * gst/schedulers/threadscheduler.c:
6344         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
6345         Implement gst_pad_pause/start/stop_task(), take STREAM lock
6346         in task function.
6347         Remove ACTIVE pad flag, use FLUSHING everywhere
6348         Added _pad_chain(), _pad_get_range() to call chain/getrange 
6349         functions.
6350         Add locks around IS_FLUSHING when reading.
6351         Take STREAM lock in chain(), get_range() functions so plugins
6352         don't need to take it anymore.
6353         
6354
6355
6356 2005-05-25  Wim Taymans  <wim@fluendo.com>
6357
6358         * tools/gst-launch.c: (event_loop):
6359         Unref message after using its contents instead of
6360         before.
6361
6362 2005-05-24  Wim Taymans  <wim@fluendo.com>
6363
6364         * docs/design/draft-ghostpads.txt:
6365         * docs/design/draft-push-pull.txt:
6366         * docs/design/draft-query.txt:
6367         * docs/design/part-overview.txt:
6368         Docs updates, added general overview doc.
6369
6370 2005-05-21  David Schleef  <ds@schleef.org>
6371
6372         * docs/gst/tmpl/old/GstBin.sgml:
6373         * docs/gst/tmpl/old/GstBuffer.sgml:
6374         * docs/gst/tmpl/old/GstCaps.sgml:
6375         * docs/gst/tmpl/old/GstClock.sgml:
6376         * docs/gst/tmpl/old/GstCompat.sgml:
6377         * docs/gst/tmpl/old/GstData.sgml:
6378         * docs/gst/tmpl/old/GstElement.sgml:
6379         * docs/gst/tmpl/old/GstEvent.sgml:
6380         * docs/gst/tmpl/old/GstIndex.sgml:
6381         * docs/gst/tmpl/old/GstStructure.sgml:
6382         * docs/gst/tmpl/old/GstTag.sgml:
6383         * docs/gst/tmpl/old/cothreads.sgml:
6384         * docs/gst/tmpl/old/cothreads_compat.sgml:
6385         * docs/gst/tmpl/old/gettext.sgml:
6386         * docs/gst/tmpl/old/gobject2gtk.sgml:
6387         * docs/gst/tmpl/old/grammar.tab.sgml:
6388         * docs/gst/tmpl/old/gst-i18n-app.sgml:
6389         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
6390         * docs/gst/tmpl/old/gst_private.sgml:
6391         * docs/gst/tmpl/old/gstaggregator.sgml:
6392         * docs/gst/tmpl/old/gstarch.sgml:
6393         * docs/gst/tmpl/old/gstatomic_impl.sgml:
6394         * docs/gst/tmpl/old/gstbufferstore.sgml:
6395         * docs/gst/tmpl/old/gstdata_private.sgml:
6396         * docs/gst/tmpl/old/gstdisksink.sgml:
6397         * docs/gst/tmpl/old/gstdisksrc.sgml:
6398         * docs/gst/tmpl/old/gstelementfactory.sgml:
6399         * docs/gst/tmpl/old/gstextratypes.sgml:
6400         * docs/gst/tmpl/old/gstfakesink.sgml:
6401         * docs/gst/tmpl/old/gstfakesrc.sgml:
6402         * docs/gst/tmpl/old/gstfdsink.sgml:
6403         * docs/gst/tmpl/old/gstfdsrc.sgml:
6404         * docs/gst/tmpl/old/gstfilesink.sgml:
6405         * docs/gst/tmpl/old/gstfilesrc.sgml:
6406         * docs/gst/tmpl/old/gsthttpsrc.sgml:
6407         * docs/gst/tmpl/old/gstidentity.sgml:
6408         * docs/gst/tmpl/old/gstindexfactory.sgml:
6409         * docs/gst/tmpl/old/gstmarshal.sgml:
6410         * docs/gst/tmpl/old/gstmd5sink.sgml:
6411         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
6412         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
6413         * docs/gst/tmpl/old/gstpadtemplate.sgml:
6414         * docs/gst/tmpl/old/gstpipefilter.sgml:
6415         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
6416         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
6417         * docs/gst/tmpl/old/gstshaper.sgml:
6418         * docs/gst/tmpl/old/gstspider.sgml:
6419         * docs/gst/tmpl/old/gstspideridentity.sgml:
6420         * docs/gst/tmpl/old/gststatistics.sgml:
6421         * docs/gst/tmpl/old/gsttee.sgml:
6422         * docs/gst/tmpl/old/gsttimecache.sgml:
6423         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
6424         * docs/gst/tmpl/old/gstxmlregistry.sgml:
6425         * docs/gst/tmpl/old/gthread-cothreads.sgml:
6426         * docs/gst/tmpl/old/types.sgml:
6427           I didn't intend to add these or check them in.
6428
6429 2005-05-19  David Schleef  <ds@schleef.org>
6430
6431         * configure.ac: Use -no-common everywhere.  In a sane world, it
6432           would be the default in libtool, because without it, you can't
6433           build DLLs on Windows.
6434         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
6435         * docs/gst/gstreamer-sections.txt:
6436         * docs/gst/tmpl/gstcpu.sgml:
6437         * docs/gst/tmpl/gstdata.sgml:
6438         * docs/gst/tmpl/gstthread.sgml:
6439
6440 2005-05-19  David Schleef  <ds@schleef.org>
6441
6442         * gst/gstminiobject.c: (gst_value_set_mini_object),
6443         (gst_value_take_mini_object), (gst_value_get_mini_object):
6444         * gst/gstminiobject.h: Add GValue set/get functions.
6445
6446 2005-05-19  Wim Taymans  <wim@fluendo.com>
6447
6448         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
6449         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
6450         (gst_subbuffer_init), (gst_buffer_is_span_fast):
6451         * gst/gstbuffer.h:
6452         * gst/gstbus.c: (gst_bus_post):
6453         * gst/gstelement.c: (gst_element_get_random_pad):
6454         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
6455         Make subbufer unref the parent in finalize.
6456         some more debugging info.
6457
6458
6459 2005-05-19  Wim Taymans  <wim@fluendo.com>
6460
6461         * gst/base/gstbasesink.c: (gst_basesink_class_init),
6462         (gst_basesink_init), (gst_basesink_finalize),
6463         (gst_basesink_activate), (gst_basesink_change_state):
6464         Don't free preroll queue too early.
6465
6466 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6467
6468         * gst/Makefile.am:
6469         * gst/ROADMAP:
6470           Hi, I'm outdated. Please shoot me.
6471
6472 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6473
6474         * gst/gstpipeline.c: (gst_pipeline_send_event):
6475           Do not access variables after they have been deleted.
6476
6477 2005-05-19  Wim Taymans  <wim@fluendo.com>
6478
6479         * tools/gst-inspect.c: (print_plugin_features):
6480         A plugin feature does unfortunatly not use the
6481         object name yet...
6482
6483 2005-05-18  Wim Taymans  <wim@fluendo.com>
6484
6485         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
6486         Port _span() functions to new subbuffers.
6487
6488 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6489
6490         * gst/gstbin.c: (gst_bin_add_func):
6491           Fix clock settery in bins when adding kids after the clock has
6492           been selected.
6493
6494 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6495
6496         * gst/elements/gstidentity.c: (gst_identity_class_init):
6497           Workaround until signals support GstMiniObject.
6498
6499 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
6500
6501         * gst/gstbuffer.c:
6502         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
6503
6504 2005-05-18  Wim Taymans  <wim@fluendo.com>
6505
6506         * gst/base/Makefile.am:
6507         * gst/base/gstadapter.c: (gst_adapter_base_init),
6508         (gst_adapter_class_init), (gst_adapter_init),
6509         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
6510         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
6511         (gst_adapter_flush), (gst_adapter_available),
6512         (gst_adapter_available_fast):
6513         * gst/base/gstadapter.h:
6514         Ported and added adapter to the base classes.
6515
6516 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6517
6518         * gst/gst.c:
6519         * gst/gstmessage.c:
6520           Make sure the class is reffed/unreffed once before threads can be
6521           used.  Fixes #304551.
6522
6523 2005-05-17  Wim Taymans  <wim@fluendo.com>
6524
6525         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
6526         (gst_basesink_chain_unlocked), (gst_basesink_activate):
6527         * gst/gstminiobject.c: (gst_mini_object_get_type),
6528         (gst_mini_object_free):
6529         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
6530         (gst_pad_push), (gst_pad_push_event):
6531         * gst/gstqueue.c: (gst_queue_change_state):
6532         Don't queue buffers in basesink when we are flushing.
6533         Unref buffer when flushing in basesink.
6534         Flush queue when going to READY
6535         Unref buffer when _push() returns an error.
6536         Don't free MiniObject instance when refcount is incremented
6537         in _finalize() so that we can recover objects.
6538
6539 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6540
6541         * docs/manual/advanced-schedulers.xml:
6542         * docs/manual/appendix-checklist.xml:
6543         * docs/pwg/advanced-clock.xml:
6544         * docs/pwg/advanced-interfaces.xml:
6545         * docs/pwg/advanced-request.xml:
6546         * docs/pwg/advanced-types.xml:
6547         * docs/pwg/intro-preface.xml:
6548         * examples/plugins/example.c: (gst_example_get_type),
6549         (gst_example_class_init), (gst_example_chain),
6550         (gst_example_set_property), (gst_example_get_property),
6551         (gst_example_change_state), (plugin_init):
6552         * examples/plugins/example.h:
6553           small doc fixes
6554
6555 2005-05-17  Wim Taymans  <wim@fluendo.com>
6556
6557         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
6558         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
6559         * gst/gstqueue.c: (gst_queue_change_state):
6560         Clear queue when going to READY.
6561         Remove IN_SETCAPS flag too.
6562
6563 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
6564
6565         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
6566           Remove implicit cast from gboolean to GstElementStateReturn;
6567           make sure we still return failure in paused => ready case if
6568           the parent class fails to change state and our own stop 
6569           vfunc succeeds.
6570
6571 2005-05-17  Wim Taymans  <wim@fluendo.com>
6572
6573         * tools/gst-launch.c: (event_loop):
6574         Message was unreffed too soon.
6575
6576 2005-05-16  Andy Wingo  <wingo@pobox.com>
6577
6578         * gst/gstbin.c (sink_iterator_filter): Err... um...
6579
6580         * check/gst/gstbin.c (test_ghost_pads): New test for the
6581         ghosting-if-elements-not-in-same-bin behavior.
6582
6583 2005-05-16  David Schleef  <ds@schleef.org>
6584
6585         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
6586         accessing refcount directly.
6587
6588 2005-05-15  David Schleef  <ds@schleef.org>
6589
6590         * check/Makefile.am: remove GstData checks
6591         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
6592         * gst/Makefile.am: add miniobject, remove data
6593         * gst/gst.h: add miniobject, remove data
6594         * gst/gstdata.c: remove
6595         * gst/gstdata.h: remove
6596         * gst/gstdata_private.h: remove
6597         * gst/gsttypes.h: remove GstEvent and GstMessage
6598         * gst/gstelement.c: (gst_element_post_message): fix for API changes
6599         * gst/gstmarshal.list: change BOXED -> OBJECT
6600
6601         Implement GstMiniObject.
6602         * gst/gstminiobject.c:
6603         * gst/gstminiobject.h:
6604
6605         Modify to be subclasses of GstMiniObject.
6606         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
6607         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
6608         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
6609         (gst_subbuffer_get_type), (gst_subbuffer_init),
6610         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
6611         (gst_buffer_span):
6612         * gst/gstbuffer.h:
6613         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
6614         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
6615         (_gst_event_copy), (gst_event_new):
6616         * gst/gstevent.h:
6617         * gst/gstmessage.c: (_gst_message_initialize),
6618         (gst_message_get_type), (gst_message_class_init),
6619         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
6620         (gst_message_new), (gst_message_new_error),
6621         (gst_message_new_warning), (gst_message_new_tag),
6622         (gst_message_new_state_changed), (gst_message_new_application):
6623         * gst/gstmessage.h:
6624         * gst/gstprobe.c: (gst_probe_perform),
6625         (gst_probe_dispatcher_dispatch):
6626         * gst/gstprobe.h:
6627         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
6628         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
6629         (_gst_query_copy), (gst_query_new):
6630
6631         Update elements for GstData -> GstMiniObject changes
6632         * gst/gstquery.h:
6633         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
6634         (gst_queue_chain), (gst_queue_loop):
6635         * gst/elements/gstbufferstore.c:
6636         (gst_buffer_store_add_buffer_func),
6637         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
6638         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
6639         (gst_fakesink_render):
6640         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
6641         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
6642         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
6643         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
6644         (gst_filesrc_create_read):
6645         * gst/elements/gstidentity.c: (gst_identity_class_init):
6646         * gst/elements/gsttypefindelement.c:
6647         (gst_type_find_element_src_event), (free_entry_buffers),
6648         (gst_type_find_element_handle_event):
6649         * libs/gst/dataprotocol/dataprotocol.c:
6650         (gst_dp_header_from_buffer):
6651         * libs/gst/dataprotocol/dataprotocol.h:
6652         * libs/gst/dataprotocol/dp-private.h:
6653
6654 2005-05-15  David Schleef  <ds@schleef.org>
6655
6656         * gst/elements/gstelements.c: Don't include headers that were
6657         just removed.
6658
6659 2005-05-15  David Schleef  <ds@schleef.org>
6660
6661         * gst/elements/Makefile.am: Remove some elements that don't
6662         need to be in the core (or even exist at all).
6663         * gst/elements/gstaggregator.c:
6664         * gst/elements/gstaggregator.h:
6665         * gst/elements/gstmd5sink.c:
6666         * gst/elements/gstmd5sink.h:
6667         * gst/elements/gstmultifilesrc.c:
6668         * gst/elements/gstmultifilesrc.h:
6669         * gst/elements/gstpipefilter.c:
6670         * gst/elements/gstpipefilter.h:
6671         * gst/elements/gstshaper.c:
6672         * gst/elements/gstshaper.h:
6673         * gst/elements/gststatistics.c:
6674         * gst/elements/gststatistics.h:
6675         * po/POTFILES.in: Remove above files.
6676
6677 2005-05-14  Andy Wingo  <wingo@pobox.com>
6678
6679         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
6680         so as to get the refs right.
6681         (sink_iterator_filter): New function, wraps bin_element_is_sink,
6682         unreffing objects that don't pass the filter.
6683
6684         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
6685         gst_element_set_bus.
6686         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
6687         normal cases, this will destroy the bus.
6688
6689         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
6690         object.
6691
6692         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
6693         has no sinks.
6694
6695 2005-05-13  Andy Wingo  <wingo@pobox.com>
6696
6697         * gst/gstutils.c (gst_element_link_pads): Instead of calling
6698         gst_pad_link, call pad_link_maybe_ghosting,
6699         (pad_link_maybe_ghosting): Links pads, making sure that the
6700         elements being linked are in the same bin.
6701         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
6702         Helpers for pad_link_maybe_ghosting.
6703
6704 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6705
6706         * configure.ac:
6707           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
6708
6709 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6710
6711         * docs/design/part-element-source.txt:
6712           Mention GstPushSrc
6713
6714 2005-05-12  Wim Taymans  <wim@fluendo.com>
6715
6716         * gst/base/gstbasesink.c: (gst_basesink_init),
6717         (gst_basesink_activate):
6718         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
6719         (gst_basesrc_is_seekable):
6720         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6721         (bin_element_is_sink), (gst_bin_change_state):
6722         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
6723         * gst/gstelement.h:
6724         Identify sinks by their flag to avoid overly complicated
6725         checks (fow now).
6726         Do state changes even for elements not reachable from the
6727         sinks.
6728         BaseSink is a sink now :)
6729         Some more debugging info in the basesrc.
6730
6731
6732 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6733
6734         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
6735           Implement _query on a bin, similar to _send_event.
6736
6737 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6738
6739         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
6740           Discont event offset format should be GST_FORMAT_BYTES,
6741           not GST_FORMAT_TIME.
6742
6743 2005-05-12  Wim Taymans  <wim@fluendo.com>
6744
6745         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
6746         Same fix as Ronald's but without the signal. 
6747
6748 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6749
6750         * gst/gstutils.c: (gst_element_query_position):
6751           No, an element is not a pad.
6752
6753 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6754
6755         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
6756         (gst_bin_get_state):
6757           If a child is removed from a bin while we remove the child from
6758           the bin and while we're retrieving its state, signal this to the
6759           get_state function so we abort the wait (instead of waiting for
6760           a timeout) and can immediately re-iterate over all other elements.
6761
6762 2005-05-12  Wim Taymans  <wim@fluendo.com>
6763
6764         * gst/base/Makefile.am:
6765         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
6766         (gst_basesrc_start):
6767         * gst/base/gstbasesrc.h:
6768         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
6769         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
6770         (gst_pushsrc_init), (gst_pushsrc_create):
6771         * gst/base/gstpushsrc.h:
6772         Added is_seekable to BaseSrc
6773         Added simple PushSrc.
6774
6775 2005-05-11  Wim Taymans  <wim@fluendo.com>
6776
6777         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
6778         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6779         (gst_element_link_pads), (gst_element_query_position),
6780         (gst_element_query_convert), (intersect_caps_func),
6781         (gst_pad_query_position), (gst_pad_query_convert):
6782         Fix refcounting in utils function.
6783         No point in trying to activate a pad when it's added, it could
6784         be added from the state change function and then we deadlock, the
6785         element has to decide what to do.
6786
6787 2005-05-10  Andy Wingo  <wingo@pobox.com>
6788
6789         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
6790         *all* the arguments.
6791
6792         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
6793         stream lock if it's a FLUSH_DONE; normal flushes don't get the
6794         lock (according to the docs -- if this is wrong change the docs).
6795
6796         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
6797         flush messages in the NULL state.
6798
6799         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
6800         message immediately and return.
6801         (gst_bus_set_flushing): New function. If a bus is flushing, it
6802         flushes out any queued messages and immediately unrefs new
6803         messages. This is so when an element goes to NULL, all of the
6804         unhandled messages coming from it can be freed, and their
6805         references to the element dropped. In other words: message source
6806         ref considered harmful :P
6807
6808         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
6809         we're finished with it.
6810
6811         * gst/gstmessage.c (gst_message_new_state_changed): 
6812
6813 2005-05-10  Wim Taymans  <wim@fluendo.com>
6814
6815         * gst/gstvalue.c: (gst_value_compare_flags),
6816         (gst_value_serialize_flags), (gst_value_deserialize_flags),
6817         (_gst_value_initialize):
6818         Added flags serialize/deserialize/compare code.
6819
6820 2005-05-09  Andy Wingo  <wingo@pobox.com>
6821
6822         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
6823         Intersect the peer's caps with our caps.
6824
6825 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6826
6827         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6828         * gst/elements/gsttypefindelement.c: (find_peek):
6829           Handle negative offsets better. Fixes decodebin.
6830
6831 2005-05-09  Wim Taymans  <wim@fluendo.com>
6832
6833         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
6834         (gst_base_transform_event):
6835         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
6836         Implement accept_caps.
6837         Fix silly lock/unlock mismatch in base class.
6838
6839 2005-05-09  Wim Taymans  <wim@fluendo.com>
6840
6841         * docs/design/draft-push-pull.txt:
6842         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
6843         * gst/elements/gstfilesink.c: (gst_filesink_init),
6844         (gst_filesink_query):
6845         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6846         (gst_type_find_handle_src_query), (find_element_get_length):
6847         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
6848         * gst/gstelement.h:
6849         * gst/gstmessage.c:
6850         * gst/gstmessage.h:
6851         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
6852         (gst_real_pad_get_caps_unlocked),
6853         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
6854         (gst_pad_event_default_dispatch), (gst_pad_event_default),
6855         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
6856         (gst_real_pad_dispose), (gst_real_pad_finalize),
6857         (gst_pad_load_and_link), (gst_pad_save_thyself),
6858         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
6859         (gst_pad_check_pull_range), (gst_pad_pull_range),
6860         (gst_pad_template_get_type), (gst_pad_template_class_init),
6861         (gst_pad_template_init), (gst_pad_template_dispose),
6862         (name_is_valid), (gst_static_pad_template_get),
6863         (gst_pad_template_new), (gst_static_pad_template_get_caps),
6864         (gst_pad_template_get_caps), (gst_pad_set_element_private),
6865         (gst_pad_get_element_private), (gst_pad_start_task),
6866         (gst_pad_pause_task), (gst_pad_stop_task),
6867         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
6868         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6869         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
6870         (gst_ghost_pad_new):
6871         * gst/gstpad.h:
6872         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
6873         (gst_query_new_position), (gst_query_set_position),
6874         (gst_query_parse_position), (gst_query_new_convert),
6875         (gst_query_set_convert), (gst_query_parse_convert):
6876         * gst/gstquery.h:
6877         * gst/gstqueryutils.c:
6878         * gst/gstqueryutils.h:
6879         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6880         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
6881         (gst_queue_handle_src_query):
6882         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6883         (gst_element_query_position), (gst_element_query_convert),
6884         (intersect_caps_func), (gst_pad_query_position),
6885         (gst_pad_query_convert):
6886         * gst/gstutils.h:
6887         * tools/gst-inspect.c: (print_pad_info):
6888         * tools/gst-xmlinspect.c: (print_element_info):
6889         Remove old query functions. Ported old code.
6890         Added position/convert helper functions to gstutils.
6891         Reordered gstpad.c code, grouping relevant things.
6892         Remove gst_message_new(), always need to speficy a specific
6893         message.
6894
6895
6896 2005-05-09  Andy Wingo  <wingo@pobox.com>
6897
6898         * gst/gstiterator.h: Add some includes.
6899
6900         * gst/gstqueryutils.h: Include more headers.
6901
6902         * gst/gstpad.h:
6903         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
6904         some uses of gst_pad_query.
6905
6906         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
6907         NULL out parameters.
6908         (gst_query_new_position): New proc, allocates a new position
6909         query.
6910
6911         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
6912         gstqueryutils.c to the build.
6913
6914         * gst/gststructure.c (gst_structure_set_valist): Implement with
6915         the generic G_VALUE_COLLECT.
6916         
6917 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
6918
6919         * gst/Makefile.am: (gst_headers):
6920         Added gstqueryutils.h to the list of headers to install, that was
6921         a 'nachty' move wingo :)
6922
6923 2005-05-06  Andy Wingo  <wingo@pobox.com>
6924
6925         * gst/gstquery.h
6926         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
6927         GstData, init a memchunk.
6928         (standard_definitions): Add a few query types, deprecate a few.
6929         (gst_query_get_type): New proc.
6930         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
6931         implementation.
6932         (gst_query_new_application, gst_query_get_structure): New public
6933         procs.
6934
6935         * docs/design/draft-query.txt: Removed LINKS from the query types,
6936         because all the rest can be dispatched to other pads -- seemed
6937         ugly to have a query that couldn't be dispatched. internal_links
6938         is fine as a pad method.
6939
6940         * gst/gstpad.h: Add query2 as a pad method, add the new functions
6941         in gstpad.c, but maintain binary compatibility for the moment.
6942         Will fix before 0.9 is out.
6943
6944         * gst/gstqueryutils.c: 
6945         * gst/gstqueryutils.h: New files, implement 3 methods for each
6946         query type: parse_query, parse_response, and set. Probably need an
6947         allocator as well.
6948
6949         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
6950
6951         * gst/elements/gstfilesink.c (gst_filesink_query2):
6952         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
6953         query_types, and formats methods.
6954
6955         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
6956         (gst_pad_set_query2_function): New functions.
6957         (gst_real_pad_init): Set query2_default as the default query2
6958         function. Basically just dispatches to internally linked pads.
6959
6960         Needs review!
6961         
6962         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
6963         without using the atomic operations. Only one thread can possibly
6964         be accessing the data at this point. Changed so as to avoid
6965         gst_atomic operations.
6966
6967 2005-05-06  Wim Taymans  <wim@fluendo.com>
6968
6969         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
6970         Also set caps if we use the fallback buffer alloc.
6971
6972 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
6973
6974         * docs/gst/Makefile.am:
6975         * docs/gst/gstreamer-docs.sgml:
6976         * docs/gst/gstreamer-sections.txt:
6977         * docs/gst/tmpl/gstatomic.sgml:
6978         * docs/gst/tmpl/gstmemchunk.sgml:
6979         * testsuite/elements/struct_i386.h:
6980         * win32/GStreamer.vcproj:
6981         * win32/Makefile:
6982           Purge GstAtomic stuff from docs and win32 makefiles as well
6983
6984 2005-05-06  Wim Taymans  <wim@fluendo.com>
6985
6986         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
6987         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
6988         * gst/gstpad.c: (gst_pad_peer_get_caps):
6989         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6990         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
6991         (gst_queue_src_activate), (gst_queue_change_state):
6992         * gst/gstqueue.h:
6993         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6994         (intersect_caps_func):
6995         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
6996         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
6997         Some fixes for the peer_get_caps() change.
6998
6999 2005-05-06  Wim Taymans  <wim@fluendo.com>
7000
7001         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
7002         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
7003         (gst_basesink_activate):
7004         Actually do something with error codes returned from the push
7005         functions.
7006
7007 2005-05-06  Wim Taymans  <wim@fluendo.com>
7008
7009         * docs/design/part-element-sink.txt:
7010         * docs/design/part-element-source.txt:
7011         * gst/base/gstbasesink.c: (gst_basesink_class_init),
7012         (gst_basesink_event), (gst_basesink_activate):
7013         * gst/base/gstbasesink.h:
7014         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
7015         (gst_basesrc_activate):
7016         * gst/base/gstbasesrc.h:
7017         * gst/gstelement.c: (gst_element_pads_activate):
7018         Some more documentation.
7019         Fixed scheduling decision in _pads_activate().
7020
7021 2005-05-05  Andy Wingo  <wingo@pobox.com>
7022
7023         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
7024         the test suite.
7025
7026 2005-05-05  Wim Taymans  <wim@fluendo.com>
7027
7028         * gst/base/Makefile.am:
7029         * gst/base/gstbasesink.h:
7030         * gst/base/gstbasesrc.c: (gst_basesrc_init),
7031         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
7032         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
7033         (gst_collectpads_class_init), (gst_collectpads_init),
7034         (gst_collectpads_finalize), (gst_collectpads_new),
7035         (gst_collectpads_set_function), (gst_collectpads_add_pad),
7036         (find_pad), (gst_collectpads_remove_pad),
7037         (gst_collectpads_is_active), (gst_collectpads_collect),
7038         (gst_collectpads_collect_range), (gst_collectpads_start),
7039         (gst_collectpads_stop), (gst_collectpads_peek),
7040         (gst_collectpads_pop), (gst_collectpads_available),
7041         (gst_collectpads_read), (gst_collectpads_flush),
7042         (gst_collectpads_chain):
7043         * gst/base/gstcollectpads.h:
7044         * gst/elements/Makefile.am:
7045         * gst/elements/gstelements.c:
7046         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
7047         (gst_fakesink_get_times), (gst_fakesink_event),
7048         (gst_fakesink_preroll), (gst_fakesink_render):
7049         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
7050         (gst_filesink_init), (gst_filesink_set_location),
7051         (gst_filesink_open_file), (gst_filesink_close_file),
7052         (gst_filesink_pad_query), (gst_filesink_event),
7053         (gst_filesink_render), (gst_filesink_change_state):
7054         * gst/elements/gstfilesink.h:
7055         Added object to help in making collect pad based elements.
7056         Ported filesink.
7057         Make event function in sink baseclass return gboolean.
7058
7059 2005-05-05  Wim Taymans  <wim@fluendo.com>
7060
7061         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
7062         (gst_bin_get_by_name):
7063         * gst/gstbuffer.h:
7064         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
7065         (gst_clock_finalize):
7066         * gst/gstdata.c: (gst_data_replace):
7067         * gst/gstdata.h:
7068         * gst/gstelement.c: (gst_element_request_pad),
7069         (gst_element_pads_activate):
7070         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
7071         (gst_object_unref):
7072         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7073         (gst_pad_set_checkgetrange_function),
7074         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
7075         (gst_pad_check_pull_range), (gst_pad_pull_range),
7076         (gst_static_pad_template_get_caps), (gst_pad_start_task),
7077         (gst_pad_pause_task), (gst_pad_stop_task):
7078         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7079         (gst_element_request_pad), (gst_pad_proxy_getcaps):
7080         Fix name lookup in GstBin.
7081         Added _data_replace() function and _buffer_replace()
7082         Use finalize method to clean up clock.
7083         Fix refcounting on request pads.
7084         Fix pad schedule mode error.
7085         Some more object refcounting debug info,
7086
7087
7088 2005-05-04  Andy Wingo <wingo@pobox.com>
7089
7090         * check/Makefile.am:
7091         * docs/gst/tmpl/gstatomic.sgml:
7092         * docs/gst/tmpl/gstplugin.sgml:
7093         * gst/base/gstbasesink.c: (gst_basesink_activate):
7094         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
7095         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
7096         (gst_basesrc_query), (gst_basesrc_set_property),
7097         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
7098         (gst_basesrc_activate):
7099         * gst/base/gstbasesrc.h:
7100         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
7101         (gst_base_transform_src_activate):
7102         * gst/elements/gstelements.c:
7103         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7104         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
7105         * gst/elements/gsttee.c: (gst_tee_sink_activate):
7106         * gst/elements/gsttypefindelement.c: (find_element_get_length),
7107         (gst_type_find_element_checkgetrange),
7108         (gst_type_find_element_activate):
7109         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
7110         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
7111         (gst_caps_load_thyself):
7112         * gst/gstelement.c: (gst_element_pads_activate),
7113         (gst_element_save_thyself), (gst_element_restore_thyself):
7114         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
7115         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
7116         * gst/gstpad.h:
7117         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
7118         (gst_xml_parse_file), (gst_xml_parse_memory),
7119         (gst_xml_get_element), (gst_xml_make_element):
7120         * gst/indexers/gstfileindex.c: (gst_file_index_load),
7121         (_file_index_id_save_xml), (gst_file_index_commit):
7122         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
7123         (read_enum), (load_pad_template), (load_feature), (load_plugin),
7124         (load_paths):
7125         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
7126         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
7127         * tools/gst-complete.c: (main):
7128         * tools/gst-compprep.c: (main):
7129         * tools/gst-inspect.c: (print_element_properties_info):
7130         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
7131         * tools/gst-xmlinspect.c: (print_element_properties):
7132         GCC 4 fixen.
7133         
7134 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7135
7136         * gst/gstplugin.c: (gst_plugin_check_module),
7137         (gst_plugin_check_file), (gst_plugin_load_file):
7138             apply patch from #172526 to make register work on MacOSX
7139
7140 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7141
7142         * docs/gst/tmpl/gstconfig.sgml:
7143         * gst/gstconfig.h.in:
7144           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
7145         * testsuite/debug/printf_extension.c: (main):
7146           Do not use GST_PTR_FORMAT on pointers to types with
7147           sizeof < sizeof(gpointer).  Fixes test on 64-bit
7148         * testsuite/elements/property.h:
7149           use correct printf format
7150
7151 2005-05-02  Wim Taymans  <wim@fluendo.com>
7152
7153         * docs/design/draft-push-pull.txt:
7154         * docs/design/draft-query.txt:
7155         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
7156         (gst_basesrc_start):
7157         Added draft for new query API.
7158         Added draft for better selecting scheduling methods.
7159         Make basesrc ignore length if the subclass does not support
7160         it.
7161
7162 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         * gst/Makefile.am:
7165           possible fixes for automake-1.5 - _LIBADD is reserved
7166
7167 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7168
7169         * docs/faq/Makefile.am:
7170         * docs/manual/Makefile.am:
7171         * docs/manuals.mak:
7172         * docs/pwg/Makefile.am:
7173         * gst/Makefile.am:
7174           possible fixes for automake-1.5
7175
7176 2005-04-28  Wim Taymans  <wim@fluendo.com>
7177
7178         * gst/base/gstbasesink.c: (gst_basesink_base_init),
7179         (gst_basesink_pad_getcaps), (gst_basesink_init),
7180         (gst_basesink_do_sync):
7181         * gst/gstclock.c: (gst_clock_entry_new):
7182         * gst/gstevent.c: (gst_event_discont_get_value):
7183         * gst/gstpipeline.c: (pipeline_bus_handler),
7184         (gst_pipeline_change_state):
7185         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
7186         Better debugging of clocking info.
7187         Allow NULL values when getting discont values.
7188
7189 2005-04-27  Wim Taymans  <wim@fluendo.com>
7190
7191         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
7192         * check/gst/gstpad.c: (gst_pad_suite):
7193         Increase timeout for checks.
7194
7195 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7196
7197         * check/Makefile.am:
7198           fix the broken rule for cleanup.  Apparently this rule is
7199           only needed on FC2, so maybe this warrants further autotool
7200           inspection.
7201
7202 2005-04-26  Wim Taymans  <wim@fluendo.com>
7203
7204         * gst/gsttrashstack.h:
7205         Ooohh. a nasty one! After having a failed pop() from the stack,
7206         it's possible that the stack is empty. In that case, don't
7207         follow the NULL pointer.
7208
7209 2005-04-25  Wim Taymans  <wim@fluendo.com>
7210
7211         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7212         (gst_pad_set_checkgetrange_function),
7213         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
7214         (gst_pad_check_pull_range), (gst_pad_pull_range),
7215         (gst_static_pad_template_get_caps), (gst_pad_start_task),
7216         (gst_pad_pause_task), (gst_pad_stop_task):
7217         * gst/gstplugin.c: (gst_plugin_load):
7218         * gst/gstplugin.h:
7219         Remove gst_library_load as it does more harm than good with
7220         the new g_module flags.
7221         Revert bogus caps template check in pad linking, pad caps
7222         are important when linking not the template, which is more
7223         general than the current caps.
7224
7225 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7226
7227         * gst/autoplug/.cvsignore:
7228         * gst/autoplug/Makefile.am:
7229         * gst/autoplug/gstsearchfuncs.c:
7230         * gst/autoplug/gstsearchfuncs.h:
7231         * gst/autoplug/gstspider.c:
7232         * gst/autoplug/gstspider.h:
7233         * gst/autoplug/gstspideridentity.c:
7234         * gst/autoplug/gstspideridentity.h:
7235         * gst/autoplug/spidertest.c:
7236           Die, spider, die.
7237
7238 2005-04-25  Wim Taymans  <wim@fluendo.com>
7239
7240         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7241         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
7242         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
7243         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
7244         * gst/gstpad.h:
7245         Added stubs for unimplemented functions. 
7246
7247 2005-04-24  David Schleef  <ds@schleef.org>
7248
7249         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
7250         please fix.
7251
7252 2005-04-24  David Schleef  <ds@schleef.org>
7253
7254         Convert everything from GstAtomicInt to g_atomic_int_*, and
7255         remove gstatomic.
7256         * gst/Makefile.am:
7257         * gst/gstatomic.c:
7258         * gst/gstatomic.h:
7259         * gst/gstatomic_impl.h:
7260         * gst/gstbuffer.c:
7261         * gst/gstcaps.c:
7262         * gst/gstcaps.h:
7263         * gst/gstclock.c:
7264         * gst/gstclock.h:
7265         * gst/gstdata.c:
7266         * gst/gstdata.h:
7267         * gst/gstdata_private.h:
7268         * gst/gstevent.c:
7269         * gst/gstinfo.c:
7270         * gst/gstinfo.h:
7271         * gst/gstmessage.c:
7272         * gst/gstobject.c:
7273         * gst/gstobject.h:
7274         * gst/gststructure.c:
7275         * gst/gststructure.h:
7276         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
7277         * gst/gstutils.h:
7278
7279 2005-04-24  David Schleef  <ds@schleef.org>
7280
7281         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
7282         make the regressions tests work.  Remove some code that is no
7283         longer true.
7284         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
7285         Disable warning for pads without templates.
7286
7287 2005-04-24  David Schleef  <ds@schleef.org>
7288
7289         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
7290         functions that handle filtered links.
7291         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
7292         removed functions.
7293         * gst/gstutils.c: Fix/remove utility functions that handle
7294         filtered caps.
7295         * gst/gstutils.h:
7296         * gst/gstvalue.c: Add serialization/deserialization of caps
7297         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
7298         requires fixing so that the filter caps notation creates
7299         a capsfilter element and sets the filter_caps property.  I
7300         think everyone probably wants to keep the shorthand notation.
7301         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
7302         * docs/gst/tmpl/gstpad.sgml:
7303
7304         * gst/elements/gstelements.c: Register capsfilter element.
7305         * gst/Makefile.am: fix spacing
7306         * docs/random/ds/0.9-suggested-changes: random
7307
7308 2005-04-23  David Schleef  <ds@schleef.org>
7309
7310         * gst/elements/Makefile.am:
7311         * gst/elements/gstcapsfilter.c: New element that acts like an
7312         identity, but filters caps.  Will eventually replace filtered
7313         caps in pad linking.
7314         * gst/gstutils.c: (gst_element_create_all_pads): New function
7315         to create all the ALWAYS pads that are registered with an
7316         element class.  This functionality should eventually be
7317         merged in with GstElement initialization.
7318         * gst/gstutils.h:
7319         * testsuite/trigger/README: part of trigger test code that should
7320         have been checked in a long time ago.
7321
7322 2005-04-23  David Schleef  <ds@schleef.org>
7323
7324         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
7325         needed with new versions of libtool (nobody will confirm this),
7326         and hard to carry around.
7327         * gst/autoplug/Makefile.am:
7328         * gst/base/Makefile.am:
7329         * gst/elements/Makefile.am:
7330         * gst/indexers/Makefile.am:
7331         * gst/schedulers/Makefile.am:
7332         * libs/gst/bytestream/Makefile.am:
7333         * libs/gst/control/Makefile.am:
7334         * libs/gst/dataprotocol/Makefile.am:
7335         * libs/gst/getbits/Makefile.am:
7336
7337 2005-04-21  Wim Taymans  <wim@fluendo.com>
7338
7339         * docs/design/draft-push-pull.txt:
7340         * docs/design/part-MT-refcounting.txt:
7341         * docs/design/part-TODO.txt:
7342         * docs/design/part-caps.txt:
7343         * docs/design/part-events.txt:
7344         * docs/design/part-gstbus.txt:
7345         * docs/design/part-gstpipeline.txt:
7346         * docs/design/part-messages.txt:
7347         * docs/design/part-push-pull.txt:
7348         * docs/design/part-query.txt:
7349         Some more docs.
7350
7351 2005-04-21  Wim Taymans  <wim@fluendo.com>
7352
7353         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
7354         (gst_message_new), (gst_message_new_error),
7355         (gst_message_new_warning), (gst_message_new_tag),
7356         (gst_message_new_state_changed), (gst_message_new_application),
7357         (gst_message_get_structure):
7358         * gst/gstmessage.h:
7359         * gst/gststructure.c: (gst_structure_set_parent_refcount),
7360         (gst_structure_copy_conditional):
7361         Use parent refcount in GstMessage to ensure GstStructure
7362         consistency.
7363         Cleaned up headers a bit.
7364         
7365
7366 2005-04-20  Wim Taymans  <wim@fluendo.com>
7367
7368         * gst/base/gstbasesink.c: (gst_basesink_base_init),
7369         (gst_basesink_pad_getcaps), (gst_basesink_init),
7370         (gst_basesink_chain_unlocked):
7371         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
7372         (gst_type_find_helper):
7373         * gst/elements/gsttypefindelement.c:
7374         (gst_type_find_element_have_type), (gst_type_find_element_init),
7375         (stop_typefinding), (gst_type_find_element_handle_event),
7376         (find_suggest), (gst_type_find_element_chain),
7377         (gst_type_find_element_checkgetrange),
7378         (gst_type_find_element_getrange), (do_typefind),
7379         (gst_type_find_element_activate):
7380         * gst/gstbuffer.c: (_gst_buffer_sub_free),
7381         (gst_buffer_default_free), (gst_buffer_default_copy),
7382         (gst_buffer_set_caps):
7383         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
7384         (gst_caps_replace):
7385         * gst/gstmessage.c: (gst_message_new),
7386         (gst_message_new_state_changed):
7387         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7388         (gst_pad_set_checkgetrange_function),
7389         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
7390         (gst_pad_set_caps), (gst_pad_check_pull_range),
7391         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
7392         * gst/gstpad.h:
7393         * gst/gsttypefind.c: (gst_type_find_register):
7394         Make gst_caps_replace() work like other _replace() functions.
7395         Use _caps_replace() where possible.
7396         Make sure _message_new() initialises its field.
7397         Add gst_static_pad_template_get_caps()
7398
7399
7400 2005-04-18  Andy Wingo  <wingo@pobox.com>
7401
7402         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
7403         on the peer, not the pad. I think that was a typo. Pass an extra
7404         arg to see if random access is possible. Activate the pads as
7405         PULL_RANGE if possible.
7406
7407         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
7408
7409         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
7410         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
7411         to PROP_....
7412
7413 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7414
7415         * docs/faq/using.xml:
7416           Add note on gstreamer-properties (#154996).
7417
7418 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7419
7420         * docs/random/bbb/optional-properties:
7421           Some analysis on optional properties.
7422
7423 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7424
7425         * docs/gst/tmpl/gstelementfactory.sgml:
7426         * gst/gstelement.h:
7427         * gst/gstelementfactory.c: (gst_element_factory_init),
7428         (gst_element_factory_cleanup), (gst_element_register),
7429         (__gst_element_factory_add_static_pad_template),
7430         (gst_element_factory_get_static_pad_templates),
7431         (gst_element_factory_can_src_caps),
7432         (gst_element_factory_can_sink_caps):
7433         * gst/registries/Makefile.am:
7434         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
7435         (gst_xml_registry_class_init), (gst_xml_registry_init),
7436         (gst_xml_registry_new), (gst_xml_registry_set_property),
7437         (gst_xml_registry_get_property), (get_time), (make_dir),
7438         (gst_xml_registry_get_perms_func),
7439         (plugin_times_older_than_recurse), (plugin_times_older_than),
7440         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
7441         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
7442         (add_to_char_array), (read_string), (read_uint), (read_enum),
7443         (load_pad_template), (load_feature), (load_plugin), (load_paths),
7444         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
7445         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
7446         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
7447         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
7448         (gst_xml_registry_rebuild):
7449         * gst/registries/gstlibxmlregistry.h:
7450         * tools/gst-compprep.c: (main):
7451         * tools/gst-inspect.c: (print_pad_templates_info):
7452         * tools/gst-xmlinspect.c: (print_element_info):
7453           Use libxml2 for registry parsing, use staticpadtemplates in
7454           elementfactories. Makes gst_init() +/- 10x faster.
7455
7456 2005-04-12  Wim Taymans  <wim@fluendo.com>
7457
7458         * gst/base/Makefile.am:
7459         * gst/base/gstbasesink.c: (gst_basesink_base_init),
7460         (gst_basesink_pad_getcaps), (gst_basesink_init),
7461         (gst_basesink_event), (gst_basesink_change_state):
7462         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
7463         (gst_basesrc_init), (gst_basesrc_query),
7464         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
7465         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
7466         (gst_basesrc_check_get_range), (gst_basesrc_loop),
7467         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
7468         (gst_basesrc_stop), (gst_basesrc_activate),
7469         (gst_basesrc_change_state):
7470         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7471         (helper_find_suggest), (gst_type_find_helper):
7472         * gst/base/gsttypefindhelper.h:
7473         * gst/elements/Makefile.am:
7474         * gst/elements/gstelements.c:
7475         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
7476         (gst_fakesink_get_times), (gst_fakesink_event),
7477         (gst_fakesink_preroll), (gst_fakesink_render):
7478         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7479         (gst_fakesrc_init), (gst_fakesrc_event_handler),
7480         (gst_fakesrc_get_property), (gst_fakesrc_create),
7481         (gst_fakesrc_start), (gst_fakesrc_stop):
7482         * gst/elements/gstfakesrc.h:
7483         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
7484         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
7485         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
7486         (gst_filesrc_create_read), (gst_filesrc_create),
7487         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
7488         (gst_filesrc_start):
7489         * gst/elements/gsttypefindelement.c:
7490         (gst_type_find_element_have_type), (gst_type_find_element_init),
7491         (start_typefinding), (stop_typefinding), (push_buffer_store),
7492         (gst_type_find_element_handle_event),
7493         (gst_type_find_element_chain),
7494         (gst_type_find_element_checkgetrange),
7495         (gst_type_find_element_getrange), (do_typefind),
7496         (gst_type_find_element_activate),
7497         (gst_type_find_element_change_state):
7498         * gst/elements/gsttypefindelement.h:
7499         * gst/gstpipeline.c: (pipeline_bus_handler):
7500         Added typefind helper.
7501         Small preroll fix in the base sink.
7502         Disable typefind code in basesrc.
7503         Crude port of typefindelement.
7504         Fakesrc cleanups.
7505
7506
7507 2005-04-11  Wim Taymans  <wim@fluendo.com>
7508
7509         * check/gst/gstbus.c: (gstbus_suite):
7510         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
7511         * check/gstcheck.h:
7512           Fix up the timeout so that the test does not fail.
7513
7514 2005-04-06  Wim Taymans  <wim@fluendo.com>
7515
7516         * gst/base/README:
7517         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
7518         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
7519         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
7520         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
7521         (gst_basesrc_check_get_range), (gst_basesrc_loop),
7522         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
7523         (gst_basesrc_stop), (gst_basesrc_activate),
7524         (gst_basesrc_change_state), (basesrc_find_peek),
7525         (basesrc_find_suggest), (gst_basesrc_type_find):
7526         * gst/base/gstbasesrc.h:
7527         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7528         (gst_filesrc_class_init), (gst_filesrc_init),
7529         (gst_filesrc_finalize), (gst_filesrc_set_location),
7530         (gst_filesrc_set_property), (gst_filesrc_get_property),
7531         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
7532         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
7533         (gst_filesrc_create_read), (gst_filesrc_create),
7534         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
7535         * gst/elements/gstfilesrc.h:
7536         * gst/gstelement.c: (gst_element_get_state_func),
7537         (gst_element_lost_state), (gst_element_pads_activate):
7538         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7539         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
7540         (gst_pad_pull_range):
7541         * gst/gstpad.h:
7542         More work on the generic source base class, implement seeking,
7543         query.
7544         Make filesrc extend the base source class.
7545         Added gst_pad_set_checkgetrange_function to GstPad.
7546
7547 2005-04-06  Andy Wingo  <wingo@pobox.com>
7548
7549         * pkgconfig/gstreamer-base.pc.in:
7550         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
7551
7552         * pkgconfig/Makefile.am:
7553         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
7554
7555 2005-04-04  Wim Taymans  <wim@fluendo.com>
7556
7557         * gst/base/Makefile.am:
7558         * gst/base/README:
7559         * gst/base/gstbasesink.c: (gst_basesink_base_init),
7560         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
7561         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
7562         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
7563         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
7564         (gst_basesrc_base_init), (gst_basesrc_class_init),
7565         (gst_basesrc_init), (gst_basesrc_get_formats),
7566         (gst_basesrc_get_query_types), (gst_basesrc_query),
7567         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
7568         (gst_basesrc_set_property), (gst_basesrc_get_property),
7569         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
7570         (gst_basesrc_loop), (gst_basesrc_activate),
7571         (gst_basesrc_change_state):
7572         * gst/base/gstbasesrc.h:
7573         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7574         (gst_fakesrc_class_init), (gst_fakesrc_init),
7575         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
7576         (gst_fakesrc_get_property), (gst_fakesrc_create):
7577         * gst/elements/gstfakesrc.h:
7578         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
7579         (gst_filesrc_open_file), (gst_filesrc_loop),
7580         (gst_filesrc_activate), (filesrc_find_peek),
7581         (gst_filesrc_type_find):
7582         Made base source class, make fakesrc extend it.
7583         Add comments to basesink class.
7584         Some filesrc cleanup.
7585
7586 2005-03-31  David Schleef  <ds@schleef.org>
7587
7588         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7589         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
7590         expected to link against libgstreamer.
7591         * gst/base/Makefile.am: link against libgstreamer
7592         * gst/elements/Makefile.am: same
7593
7594 2005-03-31  Andy Wingo  <wingo@pobox.com>
7595
7596         * tests/instantiate/Makefile.am:
7597         * tests/instantiate/caps.c: Add test to test speed of caps copy
7598         and free.
7599
7600         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
7601         GMemChunk to be fair.
7602
7603         * gst/gsttrashstack.h: Remove warning about using the fallback
7604         trash stack implementation, it's still faster than malloc.
7605
7606 2005-03-30  Andy Wingo  <wingo@pobox.com>
7607
7608         * tests/complexity.c: Add a copyright.
7609
7610 2005-03-31  Wim Taymans  <wim@fluendo.com>
7611
7612         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
7613         (gst_base_transform_class_init), (gst_base_transform_init),
7614         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7615         (gst_base_transform_get_property),
7616         (gst_base_transform_sink_activate),
7617         (gst_base_transform_src_activate),
7618         (gst_base_transform_change_state):
7619         * gst/base/gstbasetransform.h:
7620         * gst/elements/gstidentity.c: (gst_identity_class_init),
7621         (gst_identity_event), (gst_identity_check_perfect),
7622         (gst_identity_transform), (gst_identity_start),
7623         (gst_identity_stop):
7624         Added start/stop methods to transform base class so subclasses 
7625         don't need to deal with state changes even.
7626
7627 2005-03-31  Wim Taymans  <wim@fluendo.com>
7628
7629         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
7630         (gst_event_new_discontinuous), (gst_event_discont_get_value):
7631         * gst/gstevent.h:
7632         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7633         (gst_pad_pull_range):
7634         Added rate to the discont event to prepare for variable speed
7635         and reverse playback.
7636
7637 2005-03-29  David Schleef  <ds@schleef.org>
7638
7639         * configure.ac:
7640         * testsuite/trigger/Makefile.am:
7641         * testsuite/trigger/trigger.c: A little example program to show
7642         how trigger-based elements can work.
7643
7644 2005-03-29  Wim Taymans  <wim@fluendo.com>
7645
7646         * gst/base/Makefile.am:
7647         * gst/base/README:
7648         * gst/base/gstbasesink.c: (gst_basesink_get_type),
7649         (gst_basesink_base_init), (gst_basesink_class_init),
7650         (gst_basesink_pad_getcaps), (gst_basesink_init),
7651         (gst_basesink_activate), (gst_basesink_change_state):
7652         * gst/base/gstbasesink.h:
7653         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
7654         (gst_base_transform_base_init), (gst_base_transform_finalize),
7655         (gst_base_transform_class_init), (gst_base_transform_init),
7656         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
7657         (gst_base_transform_event), (gst_base_transform_getrange),
7658         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
7659         (gst_base_transform_set_property),
7660         (gst_base_transform_get_property),
7661         (gst_base_transform_sink_activate),
7662         (gst_base_transform_src_activate),
7663         (gst_base_transform_change_state):
7664         * gst/base/gstbasetransform.h:
7665         * gst/elements/gstidentity.c: (gst_identity_finalize),
7666         (gst_identity_class_init), (gst_identity_init),
7667         (gst_identity_event), (gst_identity_check_perfect),
7668         (gst_identity_transform), (gst_identity_set_property),
7669         (gst_identity_get_property), (gst_identity_change_state):
7670         * gst/elements/gstidentity.h:
7671         * gst/gstelement.c: (gst_element_get_state_func),
7672         (gst_element_lost_state), (gst_element_pads_activate):
7673         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7674         (gst_pad_check_pull_range), (gst_pad_pull_range):
7675         * gst/gstpad.h:
7676         Simplify pad activation.
7677         Added function to check if pull_range can be performed.
7678         Error out when pulling inactive or flushing pads.
7679         Removed const from refcounted types as it does not make sense.
7680         Simplify pad templates in basesink
7681         Added base class for simple 1-to-1 transforms.
7682         Make identity subclass the base transform.
7683
7684 2005-03-29  Andy Wingo  <wingo@pobox.com>
7685
7686         * docs/libs/gstreamer-libs-overrides.txt: 
7687         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
7688         really don't understand what's going on, but like whatever. I want
7689         green buildbot!
7690
7691         * docs/gst/Makefile.am:
7692         * docs/libs/Makefile.am: Dist the overrides files.
7693
7694         * check/Makefile.am (clean-local): Remove .libs directories.
7695
7696         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
7697         elements to EXTRA_DIST, so po/ files are happy.
7698
7699         * po/POTFILES.in: Er, remove it here.
7700
7701         * po/POTFILES: Remove gstspider.c.
7702
7703         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
7704
7705         * docs/libs/gstreamer-libs-docs.sgml: 
7706         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
7707         bytestream.
7708
7709         * tests/complexity.c (main): Set the length of the preroll queue
7710         on the sinks to prevent a lockup.
7711
7712         * libs/gst/dataprotocol/Makefile.am: 
7713         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
7714         the same as the one in check/gst-libs/gdp.c.
7715
7716         * po/, docs/gst/: Commit automatic changes to docs and po files.
7717
7718         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
7719         the versioned libgstbase.
7720
7721         * check/Makefile.am: Depend on an unversioned gst-register, seems
7722         to make autoconf happier.
7723
7724         * gst/base/Makefile.am: Make libgstbase a versioned lib.
7725
7726 2005-03-28  Wim Taymans  <wim@fluendo.com>
7727
7728         * configure.ac:
7729         * docs/design/part-gstelement.txt:
7730         * docs/design/part-negotiation.txt:
7731         * docs/design/part-preroll.txt:
7732         * docs/design/part-scheduling.txt:
7733         * docs/design/part-states.txt:
7734         * gst/Makefile.am:
7735         * gst/base/Makefile.am:
7736         * gst/base/README:
7737         * gst/base/gstbasesink.c: (gst_basesink_get_template),
7738         (gst_basesink_base_init), (gst_basesink_class_init),
7739         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
7740         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
7741         (gst_basesink_set_pad_functions),
7742         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
7743         (gst_basesink_set_property), (gst_basesink_get_property),
7744         (gst_base_sink_get_template), (gst_base_sink_get_caps),
7745         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
7746         (gst_basesink_preroll_queue_push),
7747         (gst_basesink_preroll_queue_empty),
7748         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
7749         (gst_basesink_event), (gst_basesink_get_times),
7750         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
7751         (gst_basesink_chain_unlocked), (gst_basesink_chain),
7752         (gst_basesink_loop), (gst_basesink_activate),
7753         (gst_basesink_change_state):
7754         * gst/base/gstbasesink.h:
7755         * gst/elements/Makefile.am:
7756         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7757         (gst_fakesink_class_init), (gst_fakesink_init),
7758         (gst_fakesink_set_property), (gst_fakesink_get_property),
7759         (gst_fakesink_get_times), (gst_fakesink_event),
7760         (gst_fakesink_preroll), (gst_fakesink_render),
7761         (gst_fakesink_change_state):
7762         * gst/elements/gstfakesink.h:
7763         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
7764         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
7765         * gst/gstelement.c: (gst_element_add_pad),
7766         (gst_element_get_state_func), (gst_element_abort_state),
7767         (gst_element_commit_state), (gst_element_lost_state),
7768         (gst_element_set_state), (gst_element_pads_activate):
7769         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
7770         * gst/gstpipeline.c: (gst_pipeline_send_event),
7771         (gst_pipeline_change_state):
7772         Added state change code.
7773         Added/updated docs.
7774         Added sink base class, make fakesink extend the base class.
7775         Small cleanups in GstPipeline.
7776
7777 2005-03-26  David Schleef  <ds@schleef.org>
7778
7779         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
7780         is broken and should be implemented in a different library.
7781         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
7782         * gst/gst.h: remove gstcpu.h
7783         * gst/gstcpu.c: remove
7784         * gst/gstcpu.h: remove
7785         * gst/Makefile.am.future: Remove this file.  It's ancient.
7786
7787 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7788
7789         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
7790         (gst_bin_send_event):
7791           Add default event/set_manager handlers. The set_manager handler
7792           takes care that the manager is distributed over kids that were
7793           already in the bin before the manager was set. The event handler
7794           is a utility virtual function that sends the event over all sinks,
7795           so that gst_element_send_event (bin, event); has the expected
7796           behaviour.
7797         * gst/gstpad.c: (gst_pad_event_default):
7798           Re-install default event handling for discontinuities, so that
7799           seeking works without requiring hacks in applications or extra
7800           code in sinks.
7801         * gst/gstpipeline.c: (gst_pipeline_class_init),
7802         (gst_pipeline_send_event):
7803           Half hack, half utility: set a pipeline to PAUSED for seek events,
7804           since that is the only way we can guarantee a/v sync. Means that
7805           you can do gst_element_seek (pipeline, method, pos); on a pipeline
7806           and it "just works".
7807
7808 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7809
7810         * gst/gstpipeline.c: (gst_pipeline_use_clock):
7811           Lock/unlock mismatch.
7812
7813 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7814
7815         * docs/faq/gst-uninstalled:
7816           add gst-plugins-base
7817         * docs/gst/Makefile.am:
7818           don't error out until docs are fixed
7819         * docs/gst/gstreamer.types:
7820           remove thread
7821
7822 2005-03-22  Wim Taymans  <wim@fluendo.com>
7823
7824         * check/Makefile.am:
7825         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
7826         * gst/gststructure.c: (gst_structure_set_valist),
7827         (gst_structure_copy_conditional):
7828         Activated more tests.
7829         Added message test.
7830         Added G_TYPE_POINTER to GstStructure.
7831         
7832
7833 2005-03-22  Wim Taymans  <wim@fluendo.com>
7834
7835         * docs/design/part-TODO.txt:
7836         * docs/design/part-events.txt:
7837         * docs/design/part-gstbin.txt:
7838         * docs/design/part-gstbus.txt:
7839         * docs/design/part-gstpipeline.txt:
7840         * docs/design/part-messages.txt:
7841         * gst/gstbus.c:
7842         * gst/gstmessage.c:
7843         Docs updates
7844
7845 2005-03-21  Wim Taymans  <wim@fluendo.com>
7846
7847         * gst/gstbus.c: (gst_bus_post):
7848         Fix copy-and-paste error.
7849
7850 2005-03-21  Wim Taymans  <wim@fluendo.com>
7851
7852         * check/Makefile.am:
7853         * gst/Makefile.am:
7854         * gst/elements/Makefile.am:
7855         * gst/elements/gstelements.c:
7856         * gst/elements/gstfakesink.c: (gst_fakesink_init),
7857         (gst_fakesink_event), (gst_fakesink_chain):
7858         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7859         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
7860         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
7861         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
7862         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7863         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
7864         (gst_fakesrc_loop), (gst_fakesrc_activate),
7865         (gst_fakesrc_change_state):
7866         * gst/elements/gstfakesrc.h:
7867         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7868         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
7869         (gst_filesrc_open_file), (gst_filesrc_loop),
7870         (gst_filesrc_activate), (gst_filesrc_change_state),
7871         (filesrc_find_peek), (filesrc_find_suggest),
7872         (gst_filesrc_type_find):
7873         * gst/elements/gstidentity.c: (gst_identity_finalize),
7874         (gst_identity_class_init), (gst_identity_init),
7875         (gst_identity_proxy_getcaps), (identity_queue_push),
7876         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
7877         (gst_identity_getrange), (gst_identity_chain),
7878         (gst_identity_sink_loop), (gst_identity_src_loop),
7879         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
7880         (gst_identity_set_property), (gst_identity_get_property),
7881         (gst_identity_change_state):
7882         * gst/elements/gstidentity.h:
7883         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
7884         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
7885         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
7886         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
7887         (gst_tee_sink_activate):
7888         * gst/elements/gsttee.h:
7889         * gst/gst.c: (gst_register_core_elements), (init_post):
7890         * gst/gst.h:
7891         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
7892         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
7893         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
7894         (gst_bin_change_state):
7895         * gst/gstbin.h:
7896         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
7897         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
7898         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
7899         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
7900         (gst_bus_set_sync_handler), (gst_bus_create_watch),
7901         (bus_watch_callback), (bus_watch_destroy),
7902         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
7903         (poll_timeout), (gst_bus_poll):
7904         * gst/gstbus.h:
7905         * gst/gstcaps.h:
7906         * gst/gstdata.h:
7907         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
7908         (gst_element_post_message), (gst_element_message_full),
7909         (gst_element_get_state_func), (gst_element_get_state),
7910         (gst_element_abort_state), (gst_element_commit_state),
7911         (gst_element_lost_state), (gst_element_set_state),
7912         (gst_element_pads_activate), (gst_element_change_state),
7913         (gst_element_dispose), (gst_element_set_manager_func),
7914         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
7915         (gst_element_set_manager), (gst_element_get_manager),
7916         (gst_element_set_bus), (gst_element_get_bus),
7917         (gst_element_set_scheduler), (gst_element_get_scheduler):
7918         * gst/gstelement.h:
7919         * gst/gstevent.c: (gst_event_new_segment_seek),
7920         (gst_event_new_flush):
7921         * gst/gstevent.h:
7922         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
7923         (_gst_message_free), (gst_message_get_type), (gst_message_new),
7924         (gst_message_new_eos), (gst_message_new_error),
7925         (gst_message_new_warning), (gst_message_new_tag),
7926         (gst_message_new_state_changed), (gst_message_new_application),
7927         (gst_message_get_structure), (gst_message_parse_tag),
7928         (gst_message_parse_state_changed), (gst_message_parse_error),
7929         (gst_message_parse_warning):
7930         * gst/gstmessage.h:
7931         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
7932         (gst_real_pad_set_property), (gst_pad_set_active),
7933         (gst_pad_is_active), (gst_pad_set_blocked_async),
7934         (gst_pad_set_blocked), (gst_pad_is_blocked),
7935         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
7936         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
7937         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7938         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
7939         (gst_pad_link_filtered), (gst_pad_relink_filtered),
7940         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
7941         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
7942         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
7943         (gst_pad_set_caps), (gst_pad_configure_sink),
7944         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
7945         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
7946         (gst_real_pad_dispose), (gst_real_pad_finalize),
7947         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
7948         (gst_pad_event_default_dispatch), (gst_pad_event_default),
7949         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
7950         * gst/gstpad.h:
7951         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
7952         (pipeline_bus_handler), (gst_pipeline_change_state),
7953         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
7954         * gst/gstpipeline.h:
7955         * gst/gstprobe.h:
7956         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
7957         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
7958         (gst_queue_link_src), (gst_queue_bufferalloc),
7959         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7960         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
7961         (gst_queue_loop), (gst_queue_handle_src_event),
7962         (gst_queue_handle_src_query), (gst_queue_src_activate),
7963         (gst_queue_change_state):
7964         * gst/gstqueue.h:
7965         * gst/gstscheduler.c: (gst_scheduler_init),
7966         (gst_scheduler_dispose), (gst_scheduler_create_task),
7967         (gst_scheduler_factory_create):
7968         * gst/gstscheduler.h:
7969         * gst/gststructure.c: (gst_structure_get_type),
7970         (gst_structure_copy_conditional):
7971         * gst/gststructure.h:
7972         * gst/gsttaginterface.h:
7973         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7974         (gst_task_init), (gst_task_dispose), (gst_task_create),
7975         (gst_task_get_state), (gst_task_start), (gst_task_stop),
7976         (gst_task_pause):
7977         * gst/gsttask.h:
7978         * gst/gstthread.c:
7979         * gst/gstthread.h:
7980         * gst/gsttypes.h:
7981         * gst/schedulers/Makefile.am:
7982         * gst/schedulers/cothreads_compat.h:
7983         * gst/schedulers/entryscheduler.c:
7984         * gst/schedulers/faircothreads.c:
7985         * gst/schedulers/faircothreads.h:
7986         * gst/schedulers/fairscheduler.c:
7987         * gst/schedulers/gstbasicscheduler.c:
7988         * gst/schedulers/gstoptimalscheduler.c:
7989         * gst/schedulers/gthread-cothreads.h:
7990         * gst/schedulers/threadscheduler.c:
7991         (gst_thread_scheduler_task_get_type),
7992         (gst_thread_scheduler_task_class_init),
7993         (gst_thread_scheduler_task_init),
7994         (gst_thread_scheduler_task_start),
7995         (gst_thread_scheduler_task_stop),
7996         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
7997         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
7998         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
7999         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
8000         (plugin_init):
8001         * libs/gst/Makefile.am:
8002         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
8003         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
8004         (gst_file_pad_parent_set):
8005         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8006         (gst_dp_event_from_packet):
8007         * tests/complexity.c: (main):
8008         * tests/mass_elements.c: (main):
8009         * testsuite/states/locked.c: (message_received), (main):
8010         * testsuite/states/parent.c: (main):
8011         * tools/gst-inspect.c: (print_element_flag_info),
8012         (print_implementation_info), (print_pad_info):
8013         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
8014         (main):
8015         * tools/gst-md5sum.c: (event_loop), (main):
8016         * tools/gst-typefind.c: (main):
8017         * tools/gst-xmlinspect.c: (print_element_info):
8018         Next big merge.
8019         Added GstBus for mainloop integration.
8020         Added GstMessage for sending notifications on the bus.
8021         Added GstTask as an abstraction for pipeline entry points.
8022         Removed GstThread.
8023         Removed Schedulers.
8024         Simplified GstQueue for multithreaded core.
8025         Made _link threadsafe, removed old capsnego.
8026         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
8027         Added pad blocking functions.
8028         Reworked scheduling functions in GstPad to prepare for
8029         scheduling updates soon.
8030         Moved events out of data stream.
8031         Simplified GstEvent types.
8032         Added return values to push/pull.
8033         Removed clocking from GstElement.
8034         Added prototypes for state change function for next merge.
8035         Removed iterate from bins and state change management.
8036         Fixed some elements, disabled others for now.
8037         Fixed -inspect and -launch.
8038         Added check for GstBus.
8039
8040 2005-03-10  Wim Taymans  <wim@fluendo.com>
8041
8042         * docs/design/part-MT-refcounting.txt:
8043         * docs/design/part-clocks.txt:
8044         * docs/design/part-gstelement.txt:
8045         * docs/design/part-gstobject.txt:
8046         * docs/design/part-standards.txt:
8047         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8048         (gst_bin_remove_func), (gst_bin_remove):
8049         * gst/gstbin.h:
8050         * gst/gstbuffer.c:
8051         * gst/gstcaps.h:
8052         * testsuite/clock/clock1.c: (main):
8053         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
8054         (main):
8055         * testsuite/dlopen/loadgst.c: (do_test):
8056         * testsuite/refcounting/bin.c: (add_remove_test1),
8057         (add_remove_test2), (main):
8058         * testsuite/refcounting/element.c: (main):
8059         * testsuite/refcounting/element_pad.c: (main):
8060         * testsuite/refcounting/pad.c: (main):
8061         * tools/gst-launch.c: (sigint_handler_sighandler):
8062         * tools/gst-typefind.c: (main):
8063         Doc updates.
8064         Added doc about clock.
8065         removed gst_bin_iterate_recurse_up(), marked methods
8066         for removal.
8067         Fix more testsuites.
8068
8069 2005-03-09  Wim Taymans  <wim@fluendo.com>
8070
8071         * gst/gstpad.c: (gst_pad_get_direction),
8072         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
8073         (gst_pad_collect_valist):
8074         * testsuite/bins/interface.c: (main):
8075         * testsuite/caps/audioscale.c: (test_caps):
8076         * testsuite/caps/caps.c: (test1), (test2), (test3):
8077         * testsuite/caps/deserialize.c: (main):
8078         * testsuite/caps/enumcaps.c: (main):
8079         * testsuite/caps/filtercaps.c: (main):
8080         * testsuite/caps/intersect2.c: (main):
8081         * testsuite/caps/random.c: (main):
8082         * testsuite/caps/renegotiate.c: (my_fixate), (main):
8083         * testsuite/caps/sets.c: (check_caps):
8084         * testsuite/caps/simplify.c: (check_caps), (main):
8085         * testsuite/caps/subtract.c: (check_caps):
8086         Fix _pad_get_direction wrt ghostpads.
8087         Fix caps testsuite.
8088
8089 2005-03-09  Wim Taymans  <wim@fluendo.com>
8090
8091         * check/Makefile.am:
8092         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
8093         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
8094         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
8095         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
8096         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
8097         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
8098         (gst_bin_remove), (gst_bin_iterate_recurse_up),
8099         (bin_element_is_sink), (gst_bin_iterate_sinks),
8100         (gst_bin_iterate_all_by_interface):
8101         * gst/gstbin.h:
8102         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
8103         (gst_element_change_state), (gst_element_dispose),
8104         (gst_element_finalize), (gst_element_set_loop_function):
8105         * gst/gstelement.h:
8106         * gst/gstiterator.c: (find_custom_fold_func):
8107         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
8108         (gst_pad_collectv), (gst_pad_collect_valist),
8109         (gst_pad_template_new):
8110         * gst/gstpipeline.c: (gst_pipeline_class_init),
8111         (gst_pipeline_dispose), (gst_pipeline_set_property),
8112         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
8113         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
8114         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
8115         * gst/gstutils.h:
8116         * gst/schedulers/entryscheduler.c:
8117         * gst/schedulers/gstbasicscheduler.c:
8118         (gst_basic_scheduler_cothreaded_chain),
8119         (gst_basic_scheduler_chain_add_element):
8120         * testsuite/bins/interface.c: (main):
8121         Added GstBin test.
8122         Added GstSystemClock test.
8123         Implemented clock distribution code in GstBin.
8124         Implemented iterate sinks method for future use.
8125         Rearranged gstelement.h
8126         Fix GstIterator comparison bug.
8127         Moved some code to GstPipeline, mostly clocking related.
8128
8129 2005-03-09  Wim Taymans  <wim@fluendo.com>
8130
8131         * configure.ac:
8132         * gst/gst_private.h:
8133         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8134         (gst_bin_remove_func), (gst_bin_remove),
8135         (gst_bin_get_by_name_recurse_up):
8136         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
8137         (gst_clock_id_compare_func), (gst_clock_id_wait),
8138         (gst_clock_id_wait_async), (gst_clock_init),
8139         (gst_clock_adjust_unlocked), (gst_clock_get_time):
8140         * gst/gstelement.h:
8141         * gst/gstinfo.c: (_gst_debug_init):
8142         * gst/gstobject.h:
8143         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
8144         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
8145         * gst/gstpad.h:
8146         Bump version number, we're now 0.9.0
8147         Add future debugging category.
8148         Fix NULL _unref() in _get_by_name_recurse_up
8149         Rearrange gstpad.h.
8150         Update some docs.
8151
8152 2005-03-08  Wim Taymans  <wim@fluendo.com>
8153
8154         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
8155         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
8156         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8157         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
8158         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
8159         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
8160         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
8161         * gst/elements/gstidentity.c: (gst_identity_class_init):
8162         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
8163         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
8164         * gst/elements/gstshaper.c: (gst_shaper_class_init):
8165         * gst/elements/gststatistics.c: (gst_statistics_class_init):
8166         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
8167         (gst_tee_link):
8168         * gst/gstelement.c: (gst_element_class_init),
8169         (gst_element_base_class_init), (gst_element_init),
8170         (gst_element_get_random_pad), (gst_element_wait_state_change),
8171         (gst_element_change_state), (gst_element_dispose),
8172         (gst_element_finalize), (gst_element_set_loop_function):
8173         * gst/gstelement.h:
8174         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
8175         * gst/gstthread.c: (gst_thread_class_init),
8176         (gst_thread_release_children_locks), (gst_thread_change_state):
8177         * gst/schedulers/gstbasicscheduler.c:
8178         (gst_basic_scheduler_loopfunc_wrapper),
8179         (gst_basic_scheduler_chain_wrapper),
8180         (gst_basic_scheduler_src_wrapper),
8181         (gst_basic_scheduler_remove_element):
8182         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
8183         Remove threadsafe properties. Fix elements because GObject
8184         complains when installing a property before declaring a
8185         set/get_property handler.
8186         Rearrange gstelement.h file, use STATE macros for state locks.
8187         Free mutexes in the finalize method instead of dispose.
8188
8189 2005-03-08  Wim Taymans  <wim@fluendo.com>
8190
8191         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
8192         * gst/gstthread.c: (gst_thread_release_children_locks):
8193         Added parentage check.
8194         Fix build og GstThread again.
8195
8196 2005-03-08  Wim Taymans  <wim@fluendo.com>
8197
8198         * docs/design/part-MT-refcounting.txt:
8199         * docs/design/part-conventions.txt:
8200         * docs/design/part-gstobject.txt:
8201         * docs/design/part-relations.txt:
8202         * docs/design/part-standards.txt:
8203         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8204         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
8205         (gst_bin_get_by_name), (gst_bin_get_by_interface),
8206         (gst_bin_iterate_all_by_interface):
8207         * gst/gstbuffer.h:
8208         * gst/gstclock.h:
8209         * gst/gstelement.c: (gst_element_class_init),
8210         (gst_element_change_state), (gst_element_set_loop_function):
8211         * gst/gstelement.h:
8212         * gst/gstiterator.c:
8213         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
8214         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
8215         (gst_object_dispatch_properties_changed), (gst_object_set_name),
8216         (gst_object_set_parent), (gst_object_unparent),
8217         (gst_object_check_uniqueness):
8218         * gst/gstobject.h:
8219         Docs updates, clean up some headers.
8220
8221 2005-03-07  Wim Taymans  <wim@fluendo.com>
8222
8223         * check/.cvsignore:
8224         * check/Makefile.am:
8225         * check/gst-libs/.cvsignore:
8226         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
8227         * check/gst/.cvsignore:
8228         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
8229         (START_TEST), (gstbus_suite), (main):
8230         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
8231         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
8232         (gst_data_suite), (main):
8233         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
8234         (add_fold_func), (gstiterator_suite), (main):
8235         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
8236         (thread_name_object), (thread_name_object_default),
8237         (gst_object_name_compare), (gst_object_suite), (main):
8238         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
8239         (gst_pad_suite), (main):
8240         * check/gstcheck.c: (gst_check_log_message_func),
8241         (gst_check_log_critical_func), (gst_check_init):
8242         * check/gstcheck.h:
8243         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
8244         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
8245         Added checks.
8246
8247 2005-03-07  Wim Taymans  <wim@fluendo.com>
8248
8249         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8250         (gst_list_iterator_next), (gst_list_iterator_resync),
8251         (gst_list_iterator_free), (gst_iterator_new_list),
8252         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
8253         (gst_iterator_free), (gst_iterator_push), (filter_next),
8254         (filter_resync), (filter_uninit), (filter_free),
8255         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
8256         (gst_iterator_foreach), (find_custom_fold_func),
8257         (gst_iterator_find_custom):
8258         * gst/gstiterator.h:
8259         Added missing files.
8260
8261 2005-03-07  Wim Taymans  <wim@fluendo.com>
8262
8263         * Makefile.am:
8264         * configure.ac:
8265         * docs/design/part-MT-refcounting.txt:
8266         * docs/design/part-conventions.txt:
8267         * docs/design/part-gstobject.txt:
8268         * docs/design/part-relations.txt:
8269         * examples/mixer/mixer.c: (main):
8270         * examples/thread/thread.c: (eos), (main):
8271         * gst/Makefile.am:
8272         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
8273         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
8274         (gst_spider_plug_from_srcpad):
8275         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
8276         (gst_spider_identity_change_state),
8277         (gst_spider_identity_sink_loop_type_finding):
8278         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
8279         * gst/elements/gstidentity.c: (gst_identity_init):
8280         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
8281         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
8282         * gst/elements/gsttypefindelement.c: (free_entry):
8283         * gst/gst.c:
8284         * gst/gst.h:
8285         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
8286         (gst_bin_set_clock_func), (gst_bin_auto_clock),
8287         (gst_bin_set_index), (gst_bin_set_element_sched),
8288         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
8289         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
8290         (gst_bin_iterate_elements), (iterate_child_recurse),
8291         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
8292         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
8293         (compare_interface), (gst_bin_get_by_interface),
8294         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
8295         * gst/gstbin.h:
8296         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
8297         (gst_buffer_default_free), (gst_buffer_default_copy),
8298         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
8299         (gst_buffer_create_sub):
8300         * gst/gstbuffer.h:
8301         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
8302         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
8303         (gst_caps_unref), (gst_static_caps_get),
8304         (gst_caps_remove_and_get_structure), (gst_caps_append),
8305         (gst_caps_append_structure), (gst_caps_remove_structure),
8306         (gst_caps_copy_nth), (gst_caps_set_simple),
8307         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
8308         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
8309         (gst_caps_structure_intersect_field), (gst_caps_intersect),
8310         (gst_caps_structure_subtract_field), (gst_caps_subtract),
8311         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
8312         (gst_caps_structure_figure_out_union),
8313         (gst_caps_switch_structures), (gst_caps_do_simplify),
8314         (gst_caps_replace), (gst_caps_from_string),
8315         (gst_caps_copy_conditional):
8316         * gst/gstcaps.h:
8317         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
8318         (_gst_clock_id_free), (gst_clock_id_unref),
8319         (gst_clock_id_compare_func), (gst_clock_id_wait),
8320         (gst_clock_id_wait_async), (gst_clock_class_init),
8321         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
8322         (gst_clock_get_time), (gst_clock_set_time_adjust),
8323         (gst_clock_set_property), (gst_clock_get_property):
8324         * gst/gstclock.h:
8325         * gst/gstcompat.h:
8326         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
8327         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
8328         * gst/gstdata.h:
8329         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
8330         (gst_element_requires_clock), (gst_element_provides_clock),
8331         (gst_element_set_clock), (gst_element_clock_wait),
8332         (gst_element_wait), (gst_element_set_time_delay),
8333         (gst_element_is_indexable), (gst_element_add_pad),
8334         (gst_element_add_ghost_pad), (gst_element_remove_pad),
8335         (pad_compare_name), (gst_element_get_static_pad),
8336         (gst_element_request_pad), (gst_element_get_request_pad),
8337         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
8338         (gst_element_class_get_pad_template_list),
8339         (gst_element_class_get_pad_template), (gst_element_error_func),
8340         (gst_element_get_random_pad), (gst_element_get_event_masks),
8341         (gst_element_send_event), (gst_element_seek),
8342         (gst_element_get_query_types), (gst_element_query),
8343         (gst_element_get_formats), (gst_element_convert),
8344         (gst_element_is_locked_state), (gst_element_set_locked_state),
8345         (gst_element_sync_state_with_parent), (gst_element_change_state),
8346         (gst_element_finalize), (gst_element_yield),
8347         (gst_element_interrupt), (gst_element_set_scheduler),
8348         (gst_element_get_scheduler), (gst_element_set_loop_function):
8349         * gst/gstelement.h:
8350         * gst/gstevent.h:
8351         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
8352         (gst_format_get_by_nick), (gst_format_get_details),
8353         (gst_format_iterate_definitions):
8354         * gst/gstformat.h:
8355         * gst/gstindex.c: (gst_index_gtype_resolver):
8356         * gst/gstinfo.c:
8357         * gst/gstinfo.h:
8358         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
8359         (gst_mem_chunk_free):
8360         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8361         (gst_object_ref), (gst_object_unref), (gst_object_sink),
8362         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
8363         (gst_object_dispatch_properties_changed),
8364         (gst_object_set_name_default), (gst_object_set_name),
8365         (gst_object_get_name), (gst_object_set_name_prefix),
8366         (gst_object_get_name_prefix), (gst_object_set_parent),
8367         (gst_object_get_parent), (gst_object_unparent),
8368         (gst_object_check_uniqueness), (gst_object_save_thyself),
8369         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
8370         (gst_object_set_property), (gst_object_get_property),
8371         (gst_object_get_path_string):
8372         * gst/gstobject.h:
8373         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
8374         (gst_real_pad_init), (gst_real_pad_get_property),
8375         (gst_pad_custom_new), (gst_pad_get_direction),
8376         (gst_pad_set_active), (gst_pad_is_active),
8377         (gst_pad_set_event_function), (gst_pad_is_linked),
8378         (gst_pad_link_free), (gst_pad_link_intersect),
8379         (gst_pad_link_fixate), (gst_pad_set_caps),
8380         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
8381         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
8382         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
8383         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
8384         (gst_pad_get_caps), (gst_pad_peer_get_caps),
8385         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
8386         (gst_pad_realize), (gst_pad_get_allowed_caps),
8387         (gst_real_pad_dispose), (gst_real_pad_finalize),
8388         (gst_pad_collectv), (gst_pad_collect_valist),
8389         (gst_pad_template_dispose), (gst_pad_template_new),
8390         (gst_pad_get_internal_links):
8391         * gst/gstpad.h:
8392         * gst/gstpipeline.c: (gst_pipeline_dispose),
8393         (gst_pipeline_change_state):
8394         * gst/gstpipeline.h:
8395         * gst/gstplugin.c:
8396         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
8397         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
8398         * gst/gstpluginfeature.h:
8399         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
8400         * gst/gstquery.c: (_gst_query_type_initialize),
8401         (gst_query_type_register), (gst_query_type_get_by_nick),
8402         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
8403         * gst/gstquery.h:
8404         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
8405         * gst/gstscheduler.c: (gst_scheduler_add_element),
8406         (gst_scheduler_factory_create):
8407         * gst/gststructure.c: (gst_structure_set_parent_refcount),
8408         (gst_structure_free), (gst_structure_set_name),
8409         (gst_structure_id_set_value), (gst_structure_set_value),
8410         (gst_structure_set_valist), (gst_structure_remove_field),
8411         (gst_structure_remove_fields),
8412         (gst_structure_remove_fields_valist),
8413         (gst_structure_remove_all_fields), (gst_structure_foreach),
8414         (gst_structure_map_in_place),
8415         (gst_caps_structure_fixate_field_nearest_int),
8416         (gst_caps_structure_fixate_field_nearest_double):
8417         * gst/gststructure.h:
8418         * gst/gstsystemclock.c: (gst_system_clock_class_init),
8419         (gst_system_clock_init), (gst_system_clock_dispose),
8420         (gst_system_clock_async_thread),
8421         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
8422         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
8423         * gst/gstsystemclock.h:
8424         * gst/gsttag.c: (gst_tag_list_add_value_internal),
8425         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
8426         * gst/gsttaginterface.c:
8427         * gst/gstthread.c: (gst_thread_dispose),
8428         (gst_thread_release_children_locks), (gst_thread_change_state),
8429         (gst_thread_main_loop):
8430         * gst/gsttrashstack.h:
8431         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
8432         * gst/gsttypes.h:
8433         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8434         (gst_element_request_pad), (gst_element_get_pad_from_template),
8435         (gst_element_request_compatible_pad),
8436         (gst_element_get_compatible_pad_filtered),
8437         (gst_element_get_compatible_pad), (gst_element_state_get_name),
8438         (gst_element_link_pads_filtered), (gst_element_link_filtered),
8439         (gst_element_link_many), (gst_element_link),
8440         (gst_element_link_pads), (gst_element_unlink_pads),
8441         (gst_element_unlink_many), (gst_element_unlink),
8442         (gst_pad_can_link_filtered), (gst_pad_can_link),
8443         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
8444         (gst_object_default_error), (gst_bin_add_many),
8445         (gst_bin_remove_many), (gst_element_populate_std_props),
8446         (gst_element_class_install_std_props), (gst_buffer_merge),
8447         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
8448         (link_fold_func), (gst_pad_proxy_setcaps):
8449         * gst/gstutils.h:
8450         * gst/gstvalue.c: (gst_value_deserialize_string):
8451         * gst/parse/grammar.y:
8452         * gst/schedulers/gstbasicscheduler.c:
8453         (gst_basic_scheduler_cothreaded_chain),
8454         (gst_basic_scheduler_chain_recursive_add),
8455         (gst_basic_scheduler_pad_link):
8456         * gst/schedulers/gstoptimalscheduler.c:
8457         (get_group_schedule_function),
8458         (gst_opt_scheduler_state_transition),
8459         (gst_opt_scheduler_add_element), (element_get_reachables_func):
8460         * libs/gst/bytestream/bytestream.c:
8461         * libs/gst/dataprotocol/dataprotocol.c:
8462         (gst_dp_header_from_buffer):
8463         * po/nb.po:
8464         * po/ru.po:
8465         * tests/threadstate/threadstate2.c: (eos):
8466         * tools/gst-compprep.c: (main):
8467         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
8468         (print_pad_info), (print_children_info):
8469         * tools/gst-launch.c: (idle_func), (main):
8470         * tools/gst-md5sum.c: (idle_func), (main):
8471         * tools/gst-xmlinspect.c: (print_element_info):
8472         First THREADED backport attempt, focusing on adding locks and
8473         making sure the API is threadsafe. Needs more work. More docs
8474         follow this week.
8475
8476 2005-02-24  Andy Wingo  <wingo@pobox.com>
8477
8478         * tests/bench-complexity.scm:
8479         * tests/complexity.gnuplot: New files, good for running complexity
8480         benchmarks.
8481
8482         * tests/Makefile.am:
8483         * tests/complexity.c: New test, sets up N elements, at each level
8484         teeing into M streams per element. Eeeenteresting.
8485
8486         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
8487         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
8488         running bench-mass_elements.scm.
8489
8490         * tests/bench-mass_elements.scm: New script, runs mass_elements
8491         for various numbers of identities, outputting the results to a
8492         file. Requires guile 1.6. Just for testing.
8493
8494 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8495
8496         * gst/schedulers/fairscheduler.c:
8497           compile with debug disabled
8498
8499 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8500
8501         * configure.ac:
8502           hunting season on 0.9 is now OPEN