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