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