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