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