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