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