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