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