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