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