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