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