gst/gstpad.c: Correctly check flushing and emit probes. fixes #330125
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-02-13  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstpad.c: (gst_pad_send_event):
4         Correctly check flushing and emit probes. fixes #330125
5
6 2006-02-10  Andy Wingo  <wingo@pobox.com>
7
8         * gst/gstbus.c (gst_bus_class_init): Declare our private data
9         structure.
10         (gst_bus_init): Cache the location of the private data in the
11         instance structure.
12         (gst_bus_enable_sync_message_emission) 
13         (gst_bus_disable_sync_message_emission): Implement new public
14         functions.
15         (gst_bus_post): Emit the sync-message signal if the user asked for
16         it. Fixes #330684.
17
18         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
19         location of the bus-private structuure.
20         (gst_bus_enable_sync_message_emission)
21         (gst_bus_disable_sync_message_emission): New public functions.
22
23 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
24
25         * docs/pwg/building-boiler.xml:
26         PWG patch from #326800 (Patch by Vincent Torri)
27
28 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
29
30         * configure.ac:
31         * docs/Makefile.am:
32         * docs/design/Makefile.am:
33           Dist design docs.
34
35 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
36
37         * configure.ac:
38           back to CVS
39
40 === release 0.10.3 ===
41
42 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
43
44         * configure.ac:
45           releasing 0.10.3, "Like a virgin"
46
47 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
48
49         * configure.ac:
50           2nd prerelease of 0.10.3
51           Bump libtool versioning.
52
53 2006-02-07  Andy Wingo  <wingo@pobox.com>
54
55         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
56         update last_stop if we're in TIME format and the timestamp is
57         valid.
58
59         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
60         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
61         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
62         If we get a new newsegment with a different format, adapt
63         accordingly.
64
65         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
66         of 0. Not a problem, really.
67
68         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
69         warn if sync=true.
70
71 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
72
73         * configure.ac:
74           Prelease of 0.10.3
75
76 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
77
78         * win32/vs7:
79           project files updated to the default vs7 configuration
80         * win32/common/libgstbase.def:
81         * win32/common/libgstreamer.def:
82           added new symbols,
83           removed empty lines,
84           sorted all exported symbols alphabetically
85         * win32/common/dirent.c:
86         * win32/common/dirent.h:
87         * win32/common/gchar.h:
88           use windows line end.
89           
90 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
91
92         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
93           Send EOS event when stopping.
94
95 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
96
97         * docs/README:
98           Tell folks what to do if the plugin-foobar.xml file
99           hasn't been generated for a newly-added plugin.
100
101 2006-02-05  Julien MOUTTE  <julien@moutte.net>
102
103         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
104         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
105         (gst_collect_pads_start), (gst_collect_pads_stop),
106         (gst_collect_pads_event): Collectpads now holds a reference
107         to the GstPad that was added. Indeed we don't want to look
108         at pads that might just go away with no warning...
109
110 2006-02-05  Julien MOUTTE  <julien@moutte.net>
111
112         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
113         (gst_collect_pads_start), (gst_collect_pads_stop),
114         (gst_collect_pads_event), (gst_collect_pads_chain):
115         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
116         Mark Nauwelaerts's patch on bug #328491.
117
118 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
119
120         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
121         (gst_utils_suite):
122           Add some simple tests for gst_parse_bin_from_description() and
123           gst_bin_find_unconnected_pad() (#329069).
124
125 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
126
127         * tools/gst-launch.c: (event_loop), (main):
128           Catch errors during preroll (#320084).
129
130 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
131
132         * plugins/elements/gsttypefindelement.c:
133         (gst_type_find_element_activate):
134           Post TYPE_NOT_FOUND error message when typefinding
135           is unsuccessful in the activate function as well.
136
137 2006-02-02  Wim Taymans  <wim@fluendo.com>
138
139         * docs/design/part-element-sink.txt:
140         Updated doc.
141
142 2006-02-02  Wim Taymans  <wim@fluendo.com>
143
144         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
145         (gst_base_sink_render_object),
146         (gst_base_sink_queue_object_unlocked):
147         Only keep track of prerollable items when we are 
148         prerolling.
149         Before rendering after preroll, always check if we
150         have queued items.
151         Added some more debugging.
152
153 2006-02-02  Wim Taymans  <wim@fluendo.com>
154
155         * gst/gstelement.c: (gst_element_continue_state),
156         (gst_element_set_state_func), (gst_element_change_state):
157         Fixed #326576, been running this for quite some time with
158         no regressions at all.
159
160 2006-02-02  Wim Taymans  <wim@fluendo.com>
161
162         * common/gst.supp:
163         Added more suppressions
164
165 2006-02-02  Wim Taymans  <wim@fluendo.com>
166
167         * docs/design/part-element-sink.txt:
168         Updated document.
169
170         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
171         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
172         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
173         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
174         (gst_base_sink_do_sync), (gst_base_sink_render_object),
175         (gst_base_sink_preroll_object),
176         (gst_base_sink_queue_object_unlocked),
177         (gst_base_sink_queue_object), (gst_base_sink_event),
178         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
179         (gst_base_sink_loop), (gst_base_sink_activate_pull),
180         (gst_base_sink_get_position), (gst_base_sink_change_state):
181         * libs/gst/base/gstbasesink.h:
182         Totally refactored matching the design doc.
183         Use two segments, one to clip incomming buffers and another to
184         perform sync.
185         Handle queueing correctly, bypass the queue when playing.
186         Make EOS cancelable.
187         Handle errors correctly when operating in pull based mode.
188
189         * tests/check/elements/fakesink.c: (GST_START_TEST),
190         (fakesink_suite):
191         Added new check for sinks.
192
193 2006-02-02  Wim Taymans  <wim@fluendo.com>
194
195         * gst/gstsegment.c: (gst_segment_clip):
196         No reason to refuse to clip when start == -1
197
198 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
199
200         * docs/README:
201         * docs/manual/intro-basics.xml:
202         * docs/manual/intro-preface.xml:
203         * docs/manual/manual.xml:
204         * docs/pwg/advanced-dparams.xml:
205         * docs/pwg/intro-basics.xml:
206         * docs/pwg/intro-preface.xml:
207         * docs/pwg/pwg.xml:
208           describe dparams (controller) for plugins
209           unify docs a little more
210
211 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
212
213         * docs/gst/gstreamer-sections.txt:
214         * gst/gstutils.c: (element_find_unconnected_pad),
215         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
216         * gst/gstutils.h:
217           Add new API: gst_parse_bin_from_description() and
218           gst_bin_find_unconnected_pad() (#329069).
219
220 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
221
222         * docs/manual/README:
223           uncover a nasty detail of the docs build
224
225 2006-01-31  Wim Taymans  <wim@fluendo.com>
226
227         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
228         Don't cache duration messages if we're not going to use or
229         free them.
230
231 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
232
233         * docs/manual/advanced-dparams.xml:
234         * docs/pwg/advanced-dparams.xml:
235           more dparam docs
236         * gst/gstindex.c:
237           fix docs
238         * libs/gst/controller/lib.c: (gst_controller_init):
239           init just once
240
241 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
242
243         * gst/gstelement.c: (gst_element_message_full):
244           also show file/line/func if no additional debug was given
245
246 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
247         
248         * win32/vs7/grammar.vcproj:
249                 activate copy of autogenerated files for Release mode
250
251 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
252         
253         * win32/common/libgstreamer.def:
254                 export gst_value_compare
255
256 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
257
258         * plugins/elements/Makefile.am:
259         * plugins/elements/gstelements.c:
260         * plugins/elements/gstfdsink.c: (_do_init),
261         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
262         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
263         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
264         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
265         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
266         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
267         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
268         * plugins/elements/gstfdsink.h:
269         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
270
271 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
272
273         * docs/manual/advanced-dparams.xml:
274           describe controller
275         * docs/manual/advanced-position.xml:
276         * docs/manual/basics-init.xml:
277         * docs/manual/manual.xml:
278         * docs/manual/titlepage.xml:
279         * docs/pwg/pwg.xml:
280         * docs/pwg/titlepage.xml:
281           cleanup xml (more to come)
282         * libs/gst/controller/gstcontroller.c:
283           fix typo
284
285 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
286         
287         * win32/vs6/grammar.dsp:
288                 add autogen of gstmarshal.c,h for Release mode
289                 
290 2006-01-30  Wim Taymans  <wim@fluendo.com>
291
292         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
293         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
294         (gst_base_sink_handle_object), (gst_base_sink_event),
295         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
296         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
297         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
298         (gst_base_sink_deactivate), (gst_base_sink_activate),
299         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
300         (gst_base_sink_query), (gst_base_sink_change_state):
301         Basesink cleanups, remove some old code.
302         Handle the case where a subclass can preroll in the render
303         method (mostly audiosinks).
304         Handle more events.
305         Remove some locks around variables that are now protected
306         with the PREROLL_LOCK (clock_id, flushing, ..).
307         Optimize position query some more, do correct locking.
308         Remove old code to push queue in state change, this is not
309         needed anymore since preroll blocks on all prerollable items 
310         now.
311         Almost implemented as described in design doc.
312
313 2006-01-30  Wim Taymans  <wim@fluendo.com>
314
315         * tests/check/gst/gstbin.c: (GST_START_TEST):
316         Wait for refcount to settle down before checking.
317
318 2006-01-30  Wim Taymans  <wim@fluendo.com>
319
320         * docs/design/part-element-sink.txt:
321         Pseudo code overview of desired sink behaviour regarding
322         preroll.
323
324 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
325         * win32/vs6/grammar.dsp:
326                 fix some bugs in Release mode for autogenerated files
327                 
328 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
329         * win32/common/libgstbase.def:
330         * win32/common/libgstreamer.def:
331                 export some new symbols: gst_base_src_set_format,
332                 gst_iterator_next, gst_structure_set_valist
333
334 2006-01-29  Julien MOUTTE  <julien@moutte.net>
335
336         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
337         Set pad functions unconditionally. Fixes #329105.
338
339 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
340         * win32/vs8:
341                 add vs8 project files created by Sergey Scobich
342
343 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
344
345         * gst/gstutils.c: (gst_element_unlink_pads):
346         Don't leak pad references.
347
348         * tests/check/elements/fakesink.c: (GST_START_TEST):
349         * tests/check/generic/sinks.c: (GST_START_TEST):
350         * tests/check/generic/states.c: (GST_START_TEST):
351         * tests/check/gst/gstbin.c: (GST_START_TEST):
352         * tests/check/gst/gstcaps.c: (GST_START_TEST):
353         * tests/check/gst/gstelement.c: (GST_START_TEST):
354         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
355         * tests/check/gst/gstiterator.c: (GST_START_TEST):
356         * tests/check/gst/gstvalue.c: (GST_START_TEST):
357         Fix a bunch of leaks. Make generic/sinks.c
358         use a bit less cpu by slowing the buffer rate
359         between fakesrc and fakesink.
360         
361 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
362         * gst/gstcaps.c:
363         * gst/gstelement.c: (gst_element_send_event):
364         * gst/gstevent.c:
365         * gst/gstinfo.c:
366         * gst/gstiterator.c:
367         * gst/gstiterator.h:
368         * gst/gstpad.c: (gst_pad_send_event):
369         * gst/gststructure.c:
370         * gst/gsturi.c:
371         * gst/gstutils.c:
372         * gst/gstvalue.c:
373         * libs/gst/base/gstadapter.c:
374           doc fixes, to link to function, just write gst_cool_function(), don't
375           prefix with '#'
376
377 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
378
379         * plugins/elements/gsttee.c: (gst_tee_do_push),
380         (gst_tee_handle_buffer):
381         Always prefer an actual return value from a src
382         pad in place of NOT_LINKED. This means we return
383         WRONG_STATE when all src pads are WRONG_STATE
384         instead of NOT_LINKED.
385
386         Lock when replacing the last message to prevent
387         racing with the get_property method.
388
389         Add debug output
390
391 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
392
393         * tests/check/Makefile.am:
394         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
395         (main):
396         Add a very simple check that should have caught the memleak I fixed
397         last night (if not for the slice allocator hiding it)
398
399 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
400
401         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
402         (gst_bin_remove_func), (gst_bin_handle_message_func),
403         (bin_query_duration_fold), (bin_query_generic_fold):
404         Clean up references to the clock provider when disposed or when
405         handling a clock-lost message from it.
406
407         Unref sinks when performing a query via gst_iterator_fold, as the
408         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
409
410         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
411         (gst_clock_set_master):
412         Drop our reference to the master clock, if any, when we are disposed.
413
414         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
415         Chain up in dispose. 
416
417 2006-01-26  Wim Taymans  <wim@fluendo.com>
418
419         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
420         Add some debugging.
421
422 2006-01-26  Julien MOUTTE  <julien@moutte.net>
423
424         * plugins/elements/gsttee.c: (gst_tee_do_push),
425         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
426         handles pad being NOT_LINKED or in WRONG_STATE.
427
428 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
429
430         * win32/MANIFEST:
431           more updating
432
433 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
434
435         * win32/MANIFEST:
436           remove obsolete entry
437
438 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
439
440         * docs/gst/gstreamer-sections.txt:
441         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
442         (gst_bin_iterate_sources), (gst_bin_send_event):
443         * gst/gstbin.h:
444         * gst/gstelement.c: (gst_element_send_event):
445         * gst/gstevent.c:
446         * gst/gstpad.c: (gst_pad_send_event):
447           added code for downstream events, reviewed docs in gstevent.c
448
449 2006-01-25  Julien MOUTTE  <julien@moutte.net>
450
451         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
452         We only query position using the clock in the playing state.
453         Query peer in the other cases.
454         * win32/common/config.h: Updates.
455
456 2006-01-24  Wim Taymans  <wim@fluendo.com>
457
458         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
459         A clock entry that is scheduled for the exact time of the
460         clock is still in time.
461
462         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
463         (gst_base_sink_do_sync):
464         Add some more debug info.
465
466 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
467
468         * win32/vs7:
469           Add new vs7 project files and solution.
470
471 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
472
473         * win32/vs7:
474           all files removed as they were out-dated.
475
476 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
477
478         * docs/random/release:
479           update notes
480         * gst/gstbin.c: (gst_bin_init):
481         * gst/gstbus.c: (gst_bus_new):
482         * gst/gstbus.h:
483         * gst/gstpipeline.c: (gst_pipeline_init):
484           use gst_bus_new(), improve logging, fix docs
485         * win32/common/config.h:
486           update for cvs build
487
488 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * autogen.sh:
491           up required version of automake to 1.7
492
493 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
494
495         * win32/common/libgstreamer.def:
496           export gst_buffer_is_metadata_writable
497
498 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
499
500         * docs/gst/gstreamer-sections.txt:
501         * gst/gstevent.h:
502           Add gst_event_replace() (#327001)
503
504 2006-01-20  Wim Taymans  <wim@fluendo.com>
505
506         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
507         Make it actually compile too..
508
509 2006-01-20  Wim Taymans  <wim@fluendo.com>
510
511         * gst/gstcaps.c:
512         Clarify behaviour of _is_equal() when passing NULL parameters.
513
514         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
515         (gst_pad_set_caps):
516         Cleanups. Don't unref NULL caps.
517         When setting the same caps, protect caps of the pad with
518         proper lock.
519         Use full functionality of _is_equal() when comparing caps.
520
521 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
522
523         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
524         Don't loop infinitely if there are no buffers to present. Partially
525         fixes #327197, but collectpads is just broken for reusing elements
526         to do multiple encodes atm.
527
528 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
529
530         * tools/gst-inspect.c: (print_element_features):
531         * tools/gst-xmlinspect.c: (main):
532         URL_HANDLER is not a plugin feature we can search for in
533         the registry.
534
535 2006-01-19  Edward Hervey  <edward@fluendo.com>
536
537         * gst/gstelement.c: (gst_element_pads_activate): 
538         When activating, do src pads first, then sink pads.
539         When de-activating, do sink pads first, then src pads.
540
541 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
542
543         * docs/gst/gstreamer-sections.txt:
544         Add gst_index_add_associationv to the docs
545
546 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
547
548         * gst/gstevent.c:
549           Fix docs typo
550
551         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
552         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
553           Do some refactoring. Doesn't actually change functionality,
554           but makes landing the DRAIN event easier later.
555
556 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
557
558         * docs/pwg/advanced-scheduling.xml:
559           Update from 0.9.x to 0.10 API and make example a bit
560           clearer.
561
562 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
563
564         * docs/gst/gstreamer-sections.txt:
565         Add gst_buffer_(is|make)_metadata_writable methods.
566
567 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
568
569         * docs/design/part-sparsestreams.txt:
570         Update sparse streams doc, hopefully for greater clarity
571
572 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
573
574         * docs/design/part-events.txt:
575         Remove mention of FILLER events.
576         Add DRAIN event.
577
578         * docs/design/part-sparsestreams.txt:
579         Write some things about using NEWSEGMENT to keep sparse streams
580         flowing.
581
582 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
583
584         * gst/gstbin.c: (gst_bin_dispose):
585           Guard gst_object_unref call against a NULL object (dispose
586           can theoretically be called multiple times).
587           
588 2006-01-18  Wim Taymans  <wim@fluendo.com>
589
590         * gst/gstbin.c: (gst_bin_element_set_state):
591         * gst/gstclock.c: (gst_clock_id_wait):
592         Added some more debug info.
593
594         * libs/gst/base/gstadapter.c:
595         Added more docs.
596
597         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
598         (gst_base_sink_do_sync), (gst_base_sink_chain):
599         Added some comments.
600
601 2006-01-18  Wim Taymans  <wim@fluendo.com>
602
603         * tests/check/Makefile.am:
604         * tests/check/elements/fakesink.c: (chain_async_buffer),
605         (chain_async), (chain_async_return), (GST_START_TEST),
606         (fakesink_suite), (main):
607         Added fakesink test that checks prerolling and clipping
608         behaviour.
609
610         * tests/check/gst/gstutils.c: (GST_START_TEST):
611         Make check run faster so that buildbots don't timeout.
612
613 2006-01-18  Wim Taymans  <wim@fluendo.com>
614
615         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
616         (gst_base_sink_do_sync):
617         Some cleanups.
618         When the sink finishes blocking on the preroll buffer, it can
619         immediatly render it instead of rendering when the next buffer
620         arrives.
621
622 2006-01-18  Wim Taymans  <wim@fluendo.com>
623
624         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
625         (gst_base_sink_get_property), (gst_base_sink_do_sync),
626         (gst_base_sink_chain):
627         Small cleanups.
628         GST_ELEMENT_CLOCK and sync are protected with LOCK.
629         Don't store _last_stop if the buffer is dropped.
630
631 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
632
633         * plugins/elements/gsttypefindelement.c:
634         (gst_type_find_element_class_init):
635           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
636           object method handler that sets the caps on the pad and we want
637           that to happen before we emit the signal (fixes e.g. feeding a
638           plain text file to decodebin).
639
640 2006-01-18  Christian Schaller  <Christian@fluendo.com>
641
642         * gst/gstplugin.c: Add MPL and Proprietary as license options
643
644 2006-01-18  Andy Wingo  <wingo@pobox.com>
645
646         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
647         symbol was exported before, it appears this was just an oversight.
648         Fixes #168703.
649         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
650
651         * gst/gstindex.c (gst_index_add_associationv): Changed int in
652         prototype to gint. OK since this prototype was not in the header.
653
654 2006-01-17  Andy Wingo  <wingo@pobox.com>
655
656         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
657         registry while we remove plugins.
658
659         * tools/gst-inspect.c (print_element_info): Don't unref the
660         factory arg, that should be the responsibility of whatever code
661         received the ref. Fixes a double-free when called from
662         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
663         (main): Unref the factory if we have one.
664         (print_element_list): No change -- relies on the
665         plugin_feature_list_free to free the list of features.
666
667 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
668
669         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
670         (gst_buffer_make_metadata_writable):
671         * gst/gstbuffer.h:
672         * libs/gst/base/gstbasetransform.c:
673         (gst_base_transform_prepare_output_buf):
674         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
675         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
676           Replace gst_buffer_(make|is)_metadata_writable patch now
677           that the release is out.
678
679 2006-01-17  Andy Wingo  <wingo@pobox.com>
680
681         * gst/gstregistry.c: Reflow design comment. Update so as to speak
682         in the present tense without reference to versions.
683
684         * gst/gstregistry.c (gst_registry_add_plugin)
685         (gst_registry_remove_plugin, gst_registry_remove_feature)
686         (gst_registry_find_feature, gst_registry_get_feature_list)
687         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
688         (gst_registry_lookup, gst_registry_scan_path)
689         (_gst_registry_remove_cache_plugins)
690         (gst_registry_get_feature_list_by_plugin): Add argument
691         validation.
692
693 === release 0.10.2 ===
694
695 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
696
697         * configure.ac:
698           releasing 0.10.2, "If man is five"
699
700 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
701
702         * gst/gstbuffer.c:
703         * gst/gstbuffer.h:
704         * libs/gst/base/gstbasetransform.c:
705         (gst_base_transform_prepare_output_buf):
706         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
707         * tests/check/gst/gstbuffer.c: (gst_test_suite):
708           Back out patch until after the release.
709
710 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
711
712         * gst/gstminiobject.c:
713           Spelling fix in docs.
714         * ChangeLog - remove conflict indicator
715
716 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
717
718         Reviewed By: Andy Wingo
719
720         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
721         (gst_buffer_make_metadata_writable):
722         * gst/gstbuffer.h:
723           Add gst_buffer_(is|make)_metadata_writable as analogues of
724           gst_buffer_(is|make)_writable.
725
726         * libs/gst/base/gstbasetransform.c:
727         (gst_base_transform_prepare_output_buf):
728         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
729           Use name gst_buffer_(is|make)_metadata_writable functions.
730
731         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
732           Test gst_buffer_(is|make)_metadata_writable
733         
734           (Closes: #324162)
735
736 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
737
738         * docs/manual/Makefile.am:
739           don't do parallel make
740         * configure.ac:
741           AC_SUBST HOST_CPU
742         * win32/common/config.h.in:
743           add generations for HOST_CPU and GST_MAJORMINOR
744         * win32/common/config.h:
745           commit generated result
746
747 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
748
749         * docs/manual/appendix-integration.xml:
750           Update GNOME integration section to use gst_init_get_option_group()
751           instead of the old popt stuff (#322911). Also, GNOME applications
752           should  now use gconf*sink and gconf*src instead of the old gconf
753           helper lib we had.
754
755 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
756
757
758         * docs/gst/gstreamer-docs.sgml:
759         * docs/gst/gstreamer-sections.txt:
760         * docs/libs/gstreamer-libs-sections.txt:
761           add new API entries to the docs
762         * libs/gst/controller/Makefile.am:
763         * libs/gst/controller/gstcontroller.c:
764         * libs/gst/controller/gstcontroller.h:
765         * libs/gst/controller/gstcontrollerprivate.h:
766         * libs/gst/controller/gsthelper.c:
767         * libs/gst/controller/gstinterpolation.c:
768           move private structs to private header
769         * po/README:
770           gstreamer-0.7 -> gstreamer-0.10
771         * tests/check/libs/struct_i386.h:
772           remove private structs
773
774 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
775
776         * plugins/indexers/Makefile.am:
777           Fixes as part of #317048
778
779 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
780
781         * plugins/indexers/Makefile.am:
782           fix #316086 - compilation when mmap is missing
783
784 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
785
786         * libs/gst/base/gstbasesink.c:
787           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
788           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
789         * win32/common/config.h:
790           added some defines GST_MAJORMINOR and HOST_CPU
791         * win32/common/libgstbase.def:
792         * win32/common/libgstreamer.def:
793           added some exported functions.
794
795 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
796
797         * libs/gst/controller/gstcontroller.c:
798         (gst_controlled_property_set_interpolation_mode),
799         (gst_controlled_property_new):
800         * libs/gst/controller/gstcontroller.h:
801         * libs/gst/controller/gstinterpolation.c:
802         (interpolate_none_get_string_value_array):
803           make G_TYPE_STRING controlable
804
805 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
806
807         * tools/README:
808         * tools/gst-feedback.1.in:
809         * tools/gst-inspect.1.in:
810         * tools/gst-launch.1.in:
811         * tools/gst-md5sum.1.in:
812         * tools/gst-typefind.1.in:
813         * tools/gst-xmlinspect.1.in:
814         * tools/gst-xmllaunch.1.in:
815           cleanup man-pages, remove reference to gst-register, document env-vars
816
817 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
818
819         * gst/gstbuffer.c: (gst_buffer_span):
820           gst_buffer_span should copy the timestamp of the first buffer
821           if they were both originally overlapping subbuffers of the 
822           same parent, using the same logic as the 'slow copy' case.
823
824 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
825
826         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
827           Need to awaken ALL the pads when we pop a buffer, otherwise
828           collectpads only works when there is 2 input streams.
829
830 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
831
832         * docs/random/ensonic/media-device-daemon.txt:
833           more ideas (dbus)
834         * gst/gstbuffer.c:
835           fix doc example, add clarification
836         * tools/gst-launch.1.in:
837           add initial info about GST_PLUGIN_PATH, needs more work
838
839 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
840
841         * docs/manual/basics-bins.xml:
842         * docs/manual/basics-elements.xml:
843         * docs/manual/intro-basics.xml:
844           Some more minor docs additions and updates.
845
846 2006-01-11  Wim Taymans  <wim@fluendo.com>
847
848         * docs/manual/basics-bins.xml:
849         * docs/manual/basics-elements.xml:
850         Some small fixes as pointed out by Ser-ver on IRC.
851
852 2006-01-10  Edward Hervey  <edward@fluendo.com>
853
854         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
855         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
856         the single-segment mode.
857
858 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
859
860         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
861
862         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
863         (gst_base_src_perform_seek), (gst_base_src_send_event),
864         (gst_base_src_set_property), (gst_base_src_get_property),
865         (gst_base_src_loop), (gst_base_src_start),
866         (gst_base_src_activate_push):
867         * libs/gst/base/gstbasesrc.h:
868           Name (private) union; makes Sun's Forte compiler happy (#324900).
869
870 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * README:
873           gst-register is gone.
874
875 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
876
877         * gst/gstvalue.c: (_gst_value_initialize):
878           make the G_TYPE_DATE instantiation work if debug is disabled
879
880 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
881
882         * gst/gstmessage.c: (gst_message_parse_tag),
883         (gst_message_parse_error), (gst_message_parse_warning):
884           Don't crash when return location for error/warning debug
885           string is NULL; add fact that return locations can be
886           NULL to docs where appropriate.
887
888 2006-01-05  Wim Taymans  <wim@fluendo.com>
889
890         * gst/gstplugin.c: (gst_plugin_load_file):
891         Replace strdup by g_strdup.
892
893 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
894
895         * docs/pwg/advanced-types.xml:
896           fix doc borkage
897
898 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
899
900         submitted by: Abel Cheung
901
902         * po/LINGUAS:
903         * po/zh_TW.po:
904           Added Chinese (traditional) translation
905
906 2006-01-04  Wim Taymans  <wim@fluendo.com>
907
908         * docs/manual/basics-pads.xml:
909         * docs/plugins/Makefile.am:
910         * docs/plugins/gstreamer-plugins-docs.sgml:
911         * docs/plugins/gstreamer-plugins-sections.txt:
912         * docs/pwg/advanced-clock.xml:
913         * docs/pwg/advanced-scheduling.xml:
914         * docs/pwg/advanced-types.xml:
915         * plugins/elements/gstfdsink.c:
916         * plugins/elements/gstfdsrc.c:
917         * plugins/elements/gstfdsrc.h:
918         * plugins/elements/gstidentity.c: (gst_identity_class_init):
919         * plugins/elements/gstidentity.h:
920         * plugins/elements/gstqueue.h:
921         * plugins/elements/gsttee.c:
922         * plugins/elements/gsttee.h:
923         * plugins/elements/gsttypefindelement.c:
924         (gst_type_find_element_class_init):
925         * plugins/elements/gsttypefindelement.h:
926         Small updates to various docs.
927         Added core plugins to docs.
928
929 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
930
931         * common/gst.supp:
932           add a suppression for liboil's uninitialized variable
933
934 2006-01-02  James Livingston  <jrl at ids dot org dot au>
935
936         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
937
938         * gst/gstutils.h:
939           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
940           macro, so that gcc doesn't complain if the -Wmissing-prototypes
941           compiler switch is being used (#325429).
942
943 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
944
945         * gst/gstbin.c: (gst_bin_query):
946           Disable duration query caching in bins until it gets
947           fixed (see #324807).
948
949 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
950
951         * tools/gst-inspect.c: (print_element_properties_info):
952           Handle properties of POINTER and BOXED type.
953
954 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
955
956         * gst/gst.c: (init_post):
957           Init tags stuff and some other things before loading
958           any static plugins (there may be other static plugins
959           than just the GStreamer ones, and they may want to
960           register their own tags or formats or whatever, and
961           preferably without segfaulting).
962
963         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
964           Print at least a warning in the debug logs if we drop a
965           query just because we don't know how to adjust the value
966           in the particular format.
967
968 2005-12-24  David Schleef  <ds@schleef.org>
969
970         * tools/gstreamer-completion:
971           Replacement for gst-complete written in sh and sed.  Only
972           completes names of features, but that's 90% of what I want
973           it for.  Properties are not available in registry.xml.  (Maybe
974           they should be...)
975
976 === release 0.10.1 ===
977
978 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
979
980         * configure.ac:
981           releasing 0.10.1, "Nollaig chridheil"
982
983 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
984
985         * docs/faq/cvs.xml:
986           Add missing quote, should be make ERROR_CFLAGS="".
987
988 2005-12-20  Wim Taymans  <wim@fluendo.com>
989
990         * docs/design/part-trickmodes.txt:
991         More documentation on trickmodes.
992
993 2005-12-20  Edward Hervey  <edward@fluendo.com>
994
995         * gst/gstcaps.c: (gst_static_caps_get_type):
996         * gst/gstcaps.h:
997           API addition: GST_TYPE_STATIC_CAPS
998         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
999         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1000         * gst/gstpadtemplate.h:
1001           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1002         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1003         bindings.
1004
1005 2005-12-18  Wim Taymans  <wim@fluendo.com>
1006
1007         * libs/gst/base/gstadapter.c:
1008         * libs/gst/base/gstadapter.h:
1009         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1010         (gst_base_sink_get_position):
1011         * libs/gst/base/gstbasesink.h:
1012         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1013         (gst_base_src_default_query), (gst_base_src_default_do_seek),
1014         (gst_base_src_do_seek), (gst_base_src_perform_seek),
1015         (gst_base_src_send_event), (gst_base_src_update_length),
1016         (gst_base_src_get_range), (gst_base_src_loop),
1017         (gst_base_src_start):
1018         * libs/gst/base/gstbasesrc.h:
1019         * libs/gst/base/gstbasetransform.h:
1020         * libs/gst/base/gstcollectpads.h:
1021         * libs/gst/base/gstpushsrc.c:
1022         * libs/gst/base/gstpushsrc.h:
1023         * libs/gst/dataprotocol/dataprotocol.c:
1024         * libs/gst/dataprotocol/dataprotocol.h:
1025         * libs/gst/net/gstnetclientclock.h:
1026         * libs/gst/net/gstnettimeprovider.h:
1027         Documentation updates.
1028
1029 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1030
1031         * docs/manual/basics-helloworld.xml:
1032           Remove superfluous closing bracket in helloworld example.
1033
1034 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1035
1036         * tools/gst-launch.1.in:
1037           Update gst-launch man page; add a section with useful
1038           environment variables. Fixes #323882.
1039
1040 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
1041
1042         * gst/gst.c:
1043         * gst/gst_private.h:
1044           change some char* into char[]
1045
1046 2005-12-16  Wim Taymans  <wim@fluendo.com>
1047
1048         * gst/gstregistryxml.c: (load_feature):
1049         Cleanups.
1050         Don't use g_object_unref on GstObjects so that we avoid
1051         leaks on unsafe glibs.
1052
1053 2005-12-16  Wim Taymans  <wim@fluendo.com>
1054
1055         * gst/gstbin.c: (gst_bin_recalc_state):
1056         Small doc updates.
1057
1058 2005-12-16  Wim Taymans  <wim@fluendo.com>
1059
1060         * common/check.mak:
1061         Added make forever target for check.
1062
1063 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1064
1065         * gst/gst.c: (init_post):
1066           make the registry cache file HOST_CPU-dependent
1067
1068 2005-12-16  Andy Wingo  <wingo@pobox.com>
1069
1070         * plugins/elements/gstbufferstore.c
1071         (gst_buffer_store_cleared_func): Pay attention to g_list_append
1072         return value.
1073
1074         * tests/check/gst/gstobject.c
1075         (test_fake_object_name_threaded_unique): Pay attention to
1076         g_list_sort return value.
1077
1078 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1079
1080         * tools/gst-feedback-m.m:
1081           Update for 0.9/0.10 (fixes #323870).
1082
1083 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
1084
1085         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
1086           Fix lcopy for mini objects, the mini object needs to be ref'ed.
1087           
1088         * tests/check/gst/gstminiobject.c: (my_foo_init),
1089         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
1090         (test_value_collection), (gst_mini_object_suite):
1091           Add test to ensure refcounts end up as expected when passing
1092           GstMiniObjects through g_object_get() and g_object_set().
1093
1094 2005-12-14  Julien MOUTTE  <julien@moutte.net>
1095
1096         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1097         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
1098         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
1099         of collectpads. This version removes a lot of races without
1100         touching API/ABI. Yay !
1101
1102 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
1103
1104         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
1105           Don't allow activation of a srcpad in pull_range if it has no
1106           getrange function.
1107           Change some debug statements to be a little clearer
1108
1109         * plugins/elements/gsttypefindelement.c:
1110         (gst_type_find_handle_src_query):
1111           Check that we have a peer before executing queries thereupon.
1112
1113         * tests/examples/metadata/read-metadata.c: (message_loop):
1114           Use gst_bus_pop instead of gst_bus_poll when we just want it to
1115           immediately return us any available message with 0 timeout.
1116
1117 2005-12-12  Michael Smith  <msmith@fluendo.com>
1118
1119         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1120           Don't unref factories after calling them.
1121         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
1122         * plugins/elements/gsttypefindelement.c:
1123         (gst_type_find_element_chain):
1124           Free lists of factories after using them. Fixing typefinding memory
1125           leaks.
1126
1127 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1128
1129         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1130         (gst_plugin_feature_load):
1131           more meaningful debug output
1132         * configure.ac:
1133         * tests/Makefile.am:
1134         * tests/old/examples/Makefile.am:
1135           make make distcheck happy again
1136
1137 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1138
1139         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1140           Catch the special case where we are operating chain-based,
1141           but the downstream peer pad has no chain function. Emit a
1142           custom error message in this case instead of letting the
1143           core generate one implying that this is some sort of core
1144           bug. It's not, it just means that whatever got plugged
1145           into the pipeline downstream when we announced the type
1146           can only operate pull-based, while our source can only
1147           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
1148           Error string has not been marked for translation yet, as
1149           it probably needs some more work first.
1150
1151         (gst_type_find_element_get_best_possibility):
1152           Add helper function to find the best of all available
1153           found possibilities that qualify given the min. threshold.
1154
1155         (gst_type_find_element_handle_event):
1156           Fix the case where we get an EOS while still in TYPEFIND
1157           mode (we want to chose the best of all possible types,
1158           not just the first type that happens to be in our unsorted
1159           list of possible types).
1160
1161         (gst_type_find_element_chain):
1162           Make sure we return GST_FLOW_ERROR when we errored out
1163           in stop_typefinding(); also, don't just find the best of
1164           all found type entries and then use the last examined
1165           type entry, but actually use the best entry.
1166
1167 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1168
1169         * tests/examples/typefind/typefind.c: (type_found):
1170         * tests/examples/xml/runxml.c: (xml_loaded):
1171           More gcc4 fixes and a mem leak fix.
1172
1173 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1174
1175         * tests/examples/xml/createxml.c: (object_saved):
1176           gcc 4 fixes
1177
1178 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1179
1180         * tests/Makefile.am:
1181           enable the examples even more
1182
1183 2005-12-12  Andy Wingo  <wingo@pobox.com>
1184
1185         * libs/gst/net/gstnettimeprovider.c
1186         (gst_net_time_provider_class_init, gst_net_time_provider_init)
1187         (gst_net_time_provider_set_property)
1188         (gst_net_time_provider_get_property):
1189         API addition: Export "active" as a GObject property.
1190         (gst_net_time_provider_thread): Only respond to time queries if
1191         the time provider is active.
1192
1193         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
1194         NetTimeProvider, preserving binary compat.
1195
1196 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1197
1198         * tests/examples/controller/audio-example.c: (main):
1199         * tests/examples/launch/Makefile.am:
1200           convert comments again
1201
1202 2005-12-12  Wim Taymans  <wim@fluendo.com>
1203
1204         * libs/gst/base/gstpushsrc.c:
1205         Fix typo.
1206
1207 2005-12-12  Wim Taymans  <wim@fluendo.com>
1208
1209         * docs/libs/gstreamer-libs-sections.txt:
1210         Added new symbol to docs.
1211
1212         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1213         (gst_base_src_init), (gst_base_src_set_format),
1214         (gst_base_src_default_query), (gst_base_src_query),
1215         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
1216         (gst_base_src_perform_seek), (gst_base_src_send_event),
1217         (gst_base_src_default_event), (gst_base_src_event_handler),
1218         (gst_base_src_set_property), (gst_base_src_get_property),
1219         (gst_base_src_wait), (gst_base_src_do_sync),
1220         (gst_base_src_update_length), (gst_base_src_get_range),
1221         (gst_base_src_check_get_range), (gst_base_src_loop),
1222         (gst_base_src_default_negotiate), (gst_base_src_start),
1223         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1224         (gst_base_src_change_state):
1225         * libs/gst/base/gstbasesrc.h:
1226         Implement seeking to other formats than _BYTES.
1227         Implement more seeking methods correctly.
1228         Doc updates.
1229         Added query vmethod.
1230         Added do_seek vmethod to make life easier for subclasses
1231         when seeking.
1232         API addition: gst_base_src_set_format()
1233
1234 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1235
1236         * tests/examples/Makefile.am:
1237           added that too
1238
1239 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1240
1241         * configure.ac:
1242         * docs/random/ensonic/media-device-daemon.txt:
1243         * tests/examples/controller/.cvsignore:
1244         * tests/examples/controller/Makefile.am:
1245         * tests/examples/controller/audio-example.c: (main):
1246         * tests/examples/helloworld/.cvsignore:
1247         * tests/examples/helloworld/Makefile.am:
1248         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1249         * tests/examples/launch/.cvsignore:
1250         * tests/examples/launch/Makefile.am:
1251         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1252         * tests/examples/metadata/.cvsignore:
1253         * tests/examples/metadata/Makefile.am:
1254         * tests/examples/metadata/read-metadata.c: (message_loop),
1255         (make_pipeline), (print_tag), (main):
1256         * tests/examples/queue/.cvsignore:
1257         * tests/examples/queue/Makefile.am:
1258         * tests/examples/queue/queue.c: (event_loop), (main):
1259         * tests/examples/typefind/.cvsignore:
1260         * tests/examples/typefind/Makefile.am:
1261         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1262         (main):
1263         * tests/examples/xml/.cvsignore:
1264         * tests/examples/xml/Makefile.am:
1265         * tests/examples/xml/createxml.c: (object_saved), (main):
1266         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1267         * tests/old/examples/Makefile.am:
1268         * tests/old/examples/TODO:
1269         * tests/old/examples/controller/.cvsignore:
1270         * tests/old/examples/controller/Makefile.am:
1271         * tests/old/examples/controller/audio-example.c:
1272         * tests/old/examples/helloworld/.cvsignore:
1273         * tests/old/examples/helloworld/Makefile.am:
1274         * tests/old/examples/helloworld/helloworld.c:
1275         * tests/old/examples/launch/.cvsignore:
1276         * tests/old/examples/launch/Makefile.am:
1277         * tests/old/examples/launch/mp3parselaunch.c:
1278         * tests/old/examples/launch/mp3play:
1279         * tests/old/examples/manual/Makefile.am:
1280         * tests/old/examples/metadata/Makefile.am:
1281         * tests/old/examples/metadata/read-metadata.c:
1282         * tests/old/examples/queue/.cvsignore:
1283         * tests/old/examples/queue/Makefile.am:
1284         * tests/old/examples/queue/queue.c:
1285         * tests/old/examples/typefind/.cvsignore:
1286         * tests/old/examples/typefind/Makefile.am:
1287         * tests/old/examples/typefind/typefind.c:
1288         * tests/old/examples/xml/.cvsignore:
1289         * tests/old/examples/xml/Makefile.am:
1290         * tests/old/examples/xml/createxml.c:
1291         * tests/old/examples/xml/runxml.c:
1292           applied some simple fixing to some examples
1293           re-enabled the working examples
1294
1295 2005-12-12  Wim Taymans  <wim@fluendo.com>
1296
1297         * gst/gstsegment.c: (gst_segment_init),
1298         (gst_segment_set_last_stop), (gst_segment_set_seek),
1299         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1300         (gst_segment_to_running_time):
1301         Added more documentation.
1302         Make sure the last_pos value is updated properly.
1303         Make sure to_stream_time and to_running_time don't
1304         operate on wrong values.
1305
1306         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1307         Update check.
1308
1309 2005-12-12  Michael Smith  <msmith@fluendo.com>
1310
1311         * plugins/elements/gsttypefindelement.c: (free_entry),
1312         (gst_type_find_element_chain):
1313           Now that we're not leaking factories, make sure we keep references
1314           to them while we need them.
1315
1316 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1317
1318         * tests/check/gst/struct_i386.h:
1319           ifdef out the XML structs
1320
1321 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1322
1323         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1324           floor is not needed, F is always positive; this obviates the
1325           need for adding -lm when building without libxml
1326
1327 2005-12-12  Wim Taymans  <wim@fluendo.com>
1328
1329         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1330         Take current playback rate into account when reporting
1331         the position.
1332
1333 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1334
1335         * docs/manual/mime-world.fig:
1336           Let's try this again, this time with a file that is
1337           actually in XFig format.
1338
1339 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1340
1341         * docs/manual/mime-world.fig:
1342           Add audioconvert element to diagram so that it
1343           matches the text and the code (fixes #319526).
1344
1345 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1346
1347         * docs/pwg/building-chainfn.xml:
1348         * docs/pwg/building-pads.xml:
1349         * docs/pwg/building-state.xml:
1350         * docs/pwg/other-source.xml:
1351           Update state change stuff for 0.10 (fixes #322969).
1352
1353 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1354
1355         * docs/manual/advanced-dataaccess.xml:
1356         * docs/manual/appendix-checklist.xml:
1357         * docs/manual/appendix-programs.xml:
1358         * docs/manual/basics-pads.xml:
1359         * docs/manual/highlevel-components.xml:
1360         * docs/manual/manual.xml:
1361           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1362           add converters in front of pipelines; remove curly
1363           brackets for threads stuff, they no longer exist; use
1364           GST_TYPE_FRACTION for framerates; update some pieces of
1365           code to 0.10, but there's plenty more to do.
1366
1367         * docs/manual/appendix-porting.xml:
1368           Expand on asynchroneous state changes; s/0.9/0.10/;
1369           mention disappearance of gst_init_get_popt_table()
1370           (fixes #322916).
1371
1372 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1373
1374         * docs/faq/using.xml:
1375           Spider no longer exists, and neither does gst-launch-ext.
1376           Update examples to use decodebin and playbin and put
1377           converters in front of sinks (fixes #323726).
1378
1379 2005-12-09  Michael Smith  <msmith@fluendo.com>
1380
1381         * plugins/elements/gsttypefindelement.c: (find_peek),
1382         (gst_type_find_element_chain):
1383           Fix leaking element factories in typefinding.
1384           Fix problem where we forgot about a probable type on non-seekable
1385           files, and thus later mis-typefound it.
1386
1387 2005-12-09  Michael Smith  <msmith@fluendo.com>
1388
1389         * common/m4/gst-makecontext.m4:
1390         * common/m4/gst-mcsc.m4:
1391         * configure.ac:
1392         * win32/common/config.h:
1393         * win32/common/config.h.in:
1394           Remove makecontext stuff; not used in 0.10 and causes problems on
1395           HPUX according to bug #322441
1396
1397 2005-12-07  Wim Taymans  <wim@fluendo.com>
1398
1399         * tests/check/Makefile.am:
1400         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1401         (main):
1402         * tests/check/libs/struct_i386.h:
1403         Added ABI check for libs
1404
1405 2005-12-07  Wim Taymans  <wim@fluendo.com>
1406
1407         * tests/check/Makefile.am:
1408         And add the struct_i386.h to dist.
1409
1410 2005-12-07  Wim Taymans  <wim@fluendo.com>
1411
1412         * tests/check/Makefile.am:
1413         * tests/check/gst/.cvsignore:
1414         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1415         (main):
1416         * tests/check/gst/struct_i386.h:
1417         Added check for ABI compatibility.
1418
1419 2005-12-07  Wim Taymans  <wim@fluendo.com>
1420
1421         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1422         (gst_fake_src_get_times), (gst_fake_src_create):
1423         Fix broken sync option, fixes #323259
1424
1425 2005-12-07  Wim Taymans  <wim@fluendo.com>
1426
1427         * gst/gstbuffer.c:
1428         Small docs update.
1429
1430         * gst/gstcaps.c: (gst_caps_is_equal):
1431         Don't assert on NULL <--> X. Fixes #323260
1432
1433         * gst/gstminiobject.c: (gst_mini_object_replace):
1434         If we're doing atomic operations, we might just as well use
1435         the proper way to get an atomic pointer.
1436
1437         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1438         Clean up debugging.
1439
1440 2005-12-07  Michael Smith  <msmith@fluendo.com>
1441
1442         * gst/parse/grammar.y:
1443           Remove handling of { } for threads.
1444
1445 2005-12-06  David Schleef  <ds@schleef.org>
1446
1447         * libs/gst/base/gstbasetransform.c: speling fix.
1448
1449 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1450
1451         * docs/libs/tmpl/gstdataprotocol.sgml:
1452         * docs/random/omega/testing/gstobject.c:
1453         * gst/gst.c:
1454         * gst/gstclock.c:
1455         * gst/gstelement.c:
1456         * gst/gstelementfactory.c:
1457         * gst/gsterror.c:
1458         * gst/gstevent.c:
1459         * gst/gstghostpad.c:
1460         * gst/gstinfo.c:
1461         * gst/gstpadtemplate.c:
1462         * gst/gstregistryxml.c:
1463         * gst/gsttaglist.c:
1464         * gst/gsttagsetter.c:
1465         * gst/gsttypefind.c:
1466         * gst/gstvalue.c:
1467         * libs/gst/base/gstbasesrc.c:
1468         * libs/gst/net/gstnetclientclock.c:
1469         * libs/gst/net/gstnettimeprovider.c:
1470         * plugins/elements/gstfakesrc.c:
1471         * plugins/elements/gstfdsrc.c:
1472         * plugins/elements/gstfilesrc.c:
1473         * plugins/elements/gstidentity.c:
1474         * plugins/elements/gstqueue.c:
1475         * plugins/elements/gsttypefindelement.c:
1476         * plugins/indexers/gstfileindex.c:
1477         * plugins/indexers/gstmemindex.c:
1478         * tests/check/gst/gsttag.c:
1479         * tests/old/examples/cutter/cutter.c:
1480         * tests/old/examples/mixer/mixer.c:
1481         * tests/old/examples/xml/runxml.c: (main):
1482         * tests/old/testsuite/caps/normalisation.c:
1483         * tests/old/testsuite/debug/global.c:
1484         * tests/old/testsuite/parse/parse1.c:
1485         * tools/gst-xmlinspect.c:
1486         * win32/common/dirent.c:
1487           expand tabs
1488
1489 === release 0.10.0 ===
1490
1491 2005-12-05   <thomas (at) apestaart (dot) org>
1492
1493         * configure.ac:
1494           releasing 0.10.0, "Maroilles"
1495
1496 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1497
1498         submitted by: Funda Wang <fundawang@linux.net.cn>
1499
1500         * po/LINGUAS:
1501         * po/zh_CN.po:
1502           added Chinese (Traditional) translation
1503
1504 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1505
1506         * docs/gst/gstreamer-sections.txt:
1507         * docs/libs/tmpl/gstdataprotocol.sgml:
1508         * docs/random/thomasvs/TODO:
1509         * gst/gstutils.c:
1510         * gst/gstutils.h:
1511           fix docs
1512
1513 2005-12-05  Andy Wingo  <wingo@pobox.com>
1514
1515         patch by: Wim Taymans <wim@fluendo.com>
1516
1517         * libs/gst/base/gstbasetransform.c
1518         (gst_base_transform_prepare_output_buf)
1519         (gst_base_transform_buffer_alloc):
1520         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1521         alloc_buffer_and_set_caps.
1522
1523         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1524         set_caps on the source pad.
1525         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1526         alloc_buffer used to do. Fixes #322874.
1527
1528         * docs/gst/gstreamer-sections.txt: 
1529         * docs/design/part-negotiation.txt: 
1530         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1531         changes.
1532
1533 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1534
1535         patch by: Sebastien Moutte
1536
1537         * win32/MANIFEST:
1538         * win32/common/config.h.in:
1539         * win32/vs6/libgstcontroller.dsp:
1540           win32 build fixes
1541
1542 2005-12-05  Wim Taymans  <wim@fluendo.com>
1543
1544         * gst/gstcaps.c: (gst_caps_is_equal):
1545         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1546         (gst_fake_src_create):
1547         Back out previous code changes, leave doc updates, file bugs 
1548         instead. 
1549
1550 2005-12-05  Wim Taymans  <wim@fluendo.com>
1551
1552         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1553         (gst_fake_src_get_times), (gst_fake_src_create):
1554         * plugins/elements/gstfakesrc.h:
1555         Fix broken sync code.
1556
1557 2005-12-05  Wim Taymans  <wim@fluendo.com>
1558
1559         * gst/gstcaps.c: (gst_caps_is_equal):
1560         Comparing NULL against !NULL yields different caps, not a
1561         failure.
1562
1563 2005-12-05  Wim Taymans  <wim@fluendo.com>
1564
1565         * gst/gstpipeline.c:
1566         Fix small typo in docs.
1567
1568 2005-12-05  Andy Wingo  <wingo@pobox.com>
1569
1570         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1571
1572         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1573         registries/plugins with a MAJORMINOR one.
1574         (plugin_desc): Rename library from gstcoreleements to
1575         staticelements. Fixes #323222.
1576
1577 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1578
1579         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1580           Change debug category to 'collectpads' from 'collect_pads'
1581           (fixes #323250).
1582
1583 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1584
1585         patch by: Sebastien Moutte
1586
1587         * libs/gst/controller/gstinterpolation.c:
1588           use convert function for uint64/double
1589         * win32/vs6/libgstcontroller.dsp:
1590           link to GLib
1591
1592 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1593
1594         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1595         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1596         * gst/gstutils.h:
1597         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1598           add tests that seem to show that the guint64/gdouble conversions
1599           are correct.
1600
1601 2005-12-02  Wim Taymans  <wim@fluendo.com>
1602
1603         * gst/gstregistry.c: (gst_registry_add_path):
1604         * gst/gstregistry.h:
1605         * gst/gstregistryxml.c:
1606         Fix docs again.
1607
1608 2005-12-02  Wim Taymans  <wim@fluendo.com>
1609
1610         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1611         (gst_util_uint64_scale_int):
1612         Small cleanup.
1613
1614         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1615         Add debug log line.
1616
1617         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1618         Add FIXME.
1619
1620 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1621
1622         * win32/MANIFEST:
1623         * win32/common/config.h:
1624         * win32/vs6/gstreamer.dsw:
1625         * win32/vs6/libgstcoreelements.dsp:
1626         * win32/vs6/libgstelements.dsp:
1627           renamed core elements plugin
1628
1629 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1630
1631         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1632         (get_candidates):
1633           do piece-wise major/minor comparison so 0.9 < 0.10
1634           also allow .exe extensions for tools
1635
1636 2005-12-02  Michael Smith  <msmith@fluendo.com>
1637
1638         * gst/gst.c:
1639           Escape a % to make gtkdoc happier; bug 322958.
1640
1641 === release 0.9.7 ===
1642
1643 2005-12-01   <thomas (at) apestaart (dot) org>
1644
1645         * configure.ac:
1646           releasing 0.9.7, "My Dog Has No Nose"
1647
1648 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1649
1650         * common/gst-xmlinspect.py:
1651         * configure.ac:
1652         * docs/libs/tmpl/gstdataprotocol.sgml:
1653         * docs/random/release:
1654         * po/af.po:
1655         * po/az.po:
1656         * po/bg.po:
1657         * po/ca.po:
1658         * po/cs.po:
1659         * po/de.po:
1660         * po/en_GB.po:
1661         * po/fr.po:
1662         * po/it.po:
1663         * po/nb.po:
1664         * po/nl.po:
1665         * po/ru.po:
1666         * po/sq.po:
1667         * po/sr.po:
1668         * po/sv.po:
1669         * po/tr.po:
1670         * po/uk.po:
1671         * po/vi.po:
1672         * win32/common/config.h:
1673         * win32/common/config.h.in:
1674         * win32/vs6/gst_inspect.dsp:
1675         * win32/vs6/gst_launch.dsp:
1676         * win32/vs6/libgstbase.dsp:
1677         * win32/vs6/libgstelements.dsp:
1678         * win32/vs6/libgstreamer.dsp:
1679         * win32/vs7/GStreamer.vcproj:
1680         * win32/vs7/gst-inspect.vcproj:
1681         * win32/vs7/gst-launch.vcproj:
1682         * win32/vs7/libgstbase.vcproj:
1683           bump GST_MAJORMINOR to 0.10
1684           reset libtool version
1685
1686 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1687
1688         * po/LINGUAS:
1689         * po/bg.po:
1690           Added Bulgarian translation by (Alexander Shopov)
1691
1692 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1693
1694         * tests/check/gst/gstplugin.c:
1695           fix test
1696
1697 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1698
1699         * common/gst-xmlinspect.py:
1700         * common/gtk-doc-plugins.mak:
1701         * configure.ac:
1702         * docs/Makefile.am:
1703         * docs/gst/Makefile.am:
1704         * docs/gst/gstreamer-docs.sgml:
1705         * docs/gst/gstreamer-sections.txt:
1706         * docs/gst/gstreamer.types:
1707         * docs/gst/gstreamer.types.in:
1708         * docs/plugins/Makefile.am:
1709         * docs/plugins/gstreamer-plugins-docs.sgml:
1710         * docs/plugins/gstreamer-plugins-sections.txt:
1711         * docs/plugins/gstreamer-plugins.types:
1712         * docs/plugins/inspect.stamp:
1713         * docs/plugins/inspect/plugin-coreelements.xml:
1714         * docs/plugins/inspect/plugin-coreindexers.xml:
1715         * docs/plugins/scanobj-build.stamp:
1716         * gstreamer.spec.in:
1717         * plugins/elements/Makefile.am:
1718         * plugins/elements/gstelements.c:
1719         * plugins/elements/gstfakesink.c:
1720         * plugins/elements/gstfakesrc.c:
1721         * plugins/elements/gstfilesink.c:
1722         * plugins/elements/gstfilesrc.c:
1723         * plugins/elements/gstqueue.c:
1724         * plugins/indexers/Makefile.am:
1725         * plugins/indexers/gstindexers.c:
1726           document core plugins in a separate document just like all the
1727           others
1728           rename these plugins to something starting with core
1729
1730 2005-12-01  Andy Wingo  <wingo@pobox.com>
1731
1732         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1733         padding here before, but it missed the commit.
1734
1735 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1736
1737         * libs/gst/controller/gstinterpolation.c:
1738           whitespace prices have crashed, we should feel free to use some now
1739           use gst_guint64_to_gdouble
1740
1741 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1742
1743         * libs/gst/controller/gstcontroller.c:
1744         * libs/gst/controller/gsthelper.c:
1745         * libs/gst/controller/gstinterpolation.c:
1746         * libs/gst/controller/lib.c:
1747           wrap config.h include
1748
1749 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1750
1751         * docs/gst/gstreamer-sections.txt:
1752           update docs
1753
1754 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1755
1756         * plugins/elements/gstelements.c:
1757         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1758         (gst_fd_sink__class_init), (gst_fd_sink__init),
1759         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1760         (gst_fd_sink__get_property):
1761         * plugins/elements/gstfdsink.h:
1762         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1763         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1764         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1765         (gst_fd_src_unlock), (gst_fd_src_set_property),
1766         (gst_fd_src_get_property), (gst_fd_src_create),
1767         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1768         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1769         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1770         (gst_fd_src_uri_handler_init):
1771         * plugins/elements/gstfdsrc.h:
1772         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1773           more anal cleanup
1774
1775 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1776
1777         * docs/gst/Makefile.am:
1778         * docs/gst/gstreamer.types.in:
1779         * gst/Makefile.am:
1780           fix the docs build
1781
1782 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1783
1784         * configure.ac:
1785         * gst/Makefile.am:
1786         * gst/gst.c:
1787         * gst/gstplugin.h:
1788         * gst/gstregistry.h:
1789         * tests/benchmarks/complexity.c:
1790         * tests/benchmarks/mass-elements.c:
1791         * tests/check/Makefile.am:
1792         * tools/Makefile.am:
1793         * tools/gst-inspect.c:
1794         * tools/gst-xmlinspect.c:
1795           various fixes to make
1796           --disable-nls --disable-registry --disable-loadsave
1797           --disable-parse --disable-gst-debug
1798           work and get the core .so down to 360444 bytes after stripping
1799
1800 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1801
1802         * Makefile.am:
1803         * configure.ac:
1804           descend into tests
1805         * docs/random/thomasvs/TODO:
1806         * tests/Makefile.am:
1807         * tests/README:
1808           add a README
1809
1810 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1811
1812         * win32/GStreamer.vcproj:
1813         * win32/MANIFEST:
1814         * win32/Makefile:
1815         * win32/Makefile.inspect:
1816         * win32/Makefile.launch:
1817         * win32/Makefile.register:
1818         * win32/README.txt:
1819         * win32/gst-inspect.vcproj:
1820         * win32/gst-launch.vcproj:
1821         * win32/gst-register.vcproj:
1822         * win32/gstelements.vcproj:
1823         * win32/gstgetbits.def:
1824         * win32/gstgetbits.vcproj:
1825         * win32/gstreamer-dbg.def:
1826         * win32/gstreamer.def:
1827         * win32/libgstbase.def:
1828         * win32/libgstbase.vcproj:
1829         * win32/link_oldruntime.c:
1830         * win32/mman.c:
1831         * win32/mman.h:
1832         * win32/mman.inl:
1833         * win32/msvc71.sln:
1834           move even more stuff, win32/ is nice and clean now
1835
1836 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1837
1838         * libs/gst/control/.cvsignore:
1839         * win32/MANIFEST:
1840         * win32/config.h:
1841         * win32/dirent.c:
1842         * win32/dirent.h:
1843         * win32/gstbytestream.def:
1844         * win32/gstbytestream.vcproj:
1845         * win32/gstconfig.h:
1846         * win32/gstenumtypes.c:
1847         * win32/gstenumtypes.h:
1848         * win32/gstoptimalscheduler.vcproj:
1849         * win32/gstversion.h:
1850         * win32/gtchar.h:
1851         * win32/testsuite/bins.vcproj:
1852         * win32/testsuite/bytestream.vcproj:
1853         * win32/testsuite/caps.vcproj:
1854         * win32/testsuite/cleanup.vcproj:
1855         * win32/testsuite/clock.vcproj:
1856         * win32/testsuite/debug.vcproj:
1857         * win32/testsuite/dlopen.vcproj:
1858         * win32/testsuite/dynparams.vcproj:
1859         * win32/testsuite/elements.vcproj:
1860         * win32/testsuite/ghostpads.vcproj:
1861         * win32/testsuite/indexers.vcproj:
1862         * win32/testsuite/negotiation.vcproj:
1863         * win32/testsuite/parse.vcproj:
1864         * win32/testsuite/plugin.vcproj:
1865         * win32/testsuite/refcounting.vcproj:
1866         * win32/testsuite/schedulers.vcproj:
1867         * win32/testsuite/states.vcproj:
1868         * win32/testsuite/tags.vcproj:
1869         * win32/testsuite/threads.vcproj:
1870           remove old win32 stuff that isn't maintained and should be
1871           reorganized
1872
1873 2005-11-30  Andy Wingo  <wingo@pobox.com>
1874
1875         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1876         loading the gst.interfaces python module bork.
1877
1878         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1879         available since GLib 2.2. Fixes #318031.
1880
1881 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1882
1883         * Makefile.am:
1884         * check/.cvsignore:
1885         * check/Makefile.am:
1886         * check/elements/.cvsignore:
1887         * check/elements/fakesrc.c:
1888         * check/elements/fdsrc.c:
1889         * check/elements/identity.c:
1890         * check/generic/.cvsignore:
1891         * check/generic/states.c:
1892         * check/gst-libs/.cvsignore:
1893         * check/gst-libs/controller.c:
1894         * check/gst-libs/gdp.c:
1895         * check/gst/.cvsignore:
1896         * check/gst/capslist.h:
1897         * check/gst/gst.c:
1898         * check/gst/gstbin.c:
1899         * check/gst/gstbuffer.c:
1900         * check/gst/gstbus.c:
1901         * check/gst/gstcaps.c:
1902         * check/gst/gstelement.c:
1903         * check/gst/gstevent.c:
1904         * check/gst/gstghostpad.c:
1905         * check/gst/gstiterator.c:
1906         * check/gst/gstmessage.c:
1907         * check/gst/gstminiobject.c:
1908         * check/gst/gstobject.c:
1909         * check/gst/gstpad.c:
1910         * check/gst/gstpipeline.c:
1911         * check/gst/gstplugin.c:
1912         * check/gst/gstsegment.c:
1913         * check/gst/gststructure.c:
1914         * check/gst/gstsystemclock.c:
1915         * check/gst/gsttag.c:
1916         * check/gst/gstutils.c:
1917         * check/gst/gstvalue.c:
1918         * check/net/.cvsignore:
1919         * check/net/gstnetclientclock.c:
1920         * check/net/gstnettimeprovider.c:
1921         * check/pipelines/.cvsignore:
1922         * check/pipelines/cleanup.c:
1923         * check/pipelines/simple_launch_lines.c:
1924         * check/pipelines/stress.c:
1925         * check/states/.cvsignore:
1926         * check/states/sinks.c:
1927         * configure.ac:
1928         * examples/Makefile.am:
1929         * examples/appreader/.cvsignore:
1930         * examples/appreader/Makefile.am:
1931         * examples/appreader/appreader.c:
1932         * examples/controller/.cvsignore:
1933         * examples/controller/Makefile.am:
1934         * examples/controller/audio-example.c:
1935         * examples/cutter/.cvsignore:
1936         * examples/cutter/Makefile.am:
1937         * examples/cutter/cutter.c:
1938         * examples/cutter/cutter.h:
1939         * examples/events/Makefile.am:
1940         * examples/events/seek.c:
1941         * examples/helloworld/.cvsignore:
1942         * examples/helloworld/Makefile.am:
1943         * examples/helloworld/helloworld.c:
1944         * examples/helloworld2/.cvsignore:
1945         * examples/helloworld2/Makefile.am:
1946         * examples/helloworld2/helloworld2.c:
1947         * examples/launch/.cvsignore:
1948         * examples/launch/Makefile.am:
1949         * examples/launch/mp3parselaunch.c:
1950         * examples/launch/mp3play:
1951         * examples/manual/.cvsignore:
1952         * examples/manual/Makefile.am:
1953         * examples/manual/extract.pl:
1954         * examples/metadata/Makefile.am:
1955         * examples/metadata/read-metadata.c:
1956         * examples/mixer/.cvsignore:
1957         * examples/mixer/Makefile.am:
1958         * examples/mixer/mixer.c:
1959         * examples/mixer/mixer.h:
1960         * examples/pingpong/.cvsignore:
1961         * examples/pingpong/Makefile.am:
1962         * examples/pingpong/pingpong.c:
1963         * examples/plugins/.cvsignore:
1964         * examples/plugins/Makefile.am:
1965         * examples/plugins/example.c:
1966         * examples/plugins/example.h:
1967         * examples/pwg/.cvsignore:
1968         * examples/pwg/Makefile.am:
1969         * examples/pwg/extract.pl:
1970         * examples/queue/.cvsignore:
1971         * examples/queue/Makefile.am:
1972         * examples/queue/queue.c:
1973         * examples/queue2/.cvsignore:
1974         * examples/queue2/Makefile.am:
1975         * examples/queue2/queue2.c:
1976         * examples/queue3/.cvsignore:
1977         * examples/queue3/Makefile.am:
1978         * examples/queue3/queue3.c:
1979         * examples/queue4/.cvsignore:
1980         * examples/queue4/Makefile.am:
1981         * examples/queue4/queue4.c:
1982         * examples/retag/.cvsignore:
1983         * examples/retag/Makefile.am:
1984         * examples/retag/retag.c:
1985         * examples/retag/transcode.c:
1986         * examples/thread/.cvsignore:
1987         * examples/thread/Makefile.am:
1988         * examples/thread/thread.c:
1989         * examples/typefind/.cvsignore:
1990         * examples/typefind/Makefile.am:
1991         * examples/typefind/typefind.c:
1992         * examples/xml/.cvsignore:
1993         * examples/xml/Makefile.am:
1994         * examples/xml/createxml.c:
1995         * examples/xml/runxml.c:
1996         * tests/Makefile.am:
1997         * tests/check/Makefile.am:
1998         * testsuite/.cvsignore:
1999         * testsuite/Makefile.am:
2000         * testsuite/Rules:
2001         * testsuite/caps/.cvsignore:
2002         * testsuite/caps/Makefile.am:
2003         * testsuite/caps/app_fixate.c:
2004         * testsuite/caps/audioscale.c:
2005         * testsuite/caps/caps.c:
2006         * testsuite/caps/caps.h:
2007         * testsuite/caps/caps_strings:
2008         * testsuite/caps/compatibility.c:
2009         * testsuite/caps/deserialize.c:
2010         * testsuite/caps/enumcaps.c:
2011         * testsuite/caps/eratosthenes.c:
2012         * testsuite/caps/filtercaps.c:
2013         * testsuite/caps/fixed.c:
2014         * testsuite/caps/fraction-convert.c:
2015         * testsuite/caps/fraction-multiply-and-zero.c:
2016         * testsuite/caps/intersect2.c:
2017         * testsuite/caps/intersection.c:
2018         * testsuite/caps/normalisation.c:
2019         * testsuite/caps/random.c:
2020         * testsuite/caps/renegotiate.c:
2021         * testsuite/caps/sets.c:
2022         * testsuite/caps/simplify.c:
2023         * testsuite/caps/string-conversions.c:
2024         * testsuite/caps/structure.c:
2025         * testsuite/caps/subtract.c:
2026         * testsuite/caps/union.c:
2027         * testsuite/debug/.cvsignore:
2028         * testsuite/debug/Makefile.am:
2029         * testsuite/debug/category.c:
2030         * testsuite/debug/commandline.c:
2031         * testsuite/debug/global.c:
2032         * testsuite/debug/output.c:
2033         * testsuite/debug/printf_extension.c:
2034         * testsuite/dlopen/.cvsignore:
2035         * testsuite/dlopen/Makefile.am:
2036         * testsuite/dlopen/dlopen_gst.c:
2037         * testsuite/dlopen/loadgst.c:
2038         * testsuite/elements/.cvsignore:
2039         * testsuite/elements/Makefile.am:
2040         * testsuite/elements/gst-inspect-check.in:
2041         * testsuite/elements/struct_i386.h:
2042         * testsuite/elements/struct_size.c:
2043         * testsuite/indexers/.cvsignore:
2044         * testsuite/indexers/Makefile.am:
2045         * testsuite/indexers/cache1.c:
2046         * testsuite/indexers/indexdump.c:
2047         * testsuite/parse/.cvsignore:
2048         * testsuite/parse/Makefile.am:
2049         * testsuite/parse/parse1.c:
2050         * testsuite/parse/parse2.c:
2051         * testsuite/plugin/.cvsignore:
2052         * testsuite/plugin/Makefile.am:
2053         * testsuite/plugin/README:
2054         * testsuite/plugin/dynamic.c:
2055         * testsuite/plugin/linked.c:
2056         * testsuite/plugin/loading.c:
2057         * testsuite/plugin/registry.c:
2058         * testsuite/plugin/static.c:
2059         * testsuite/plugin/static2.c:
2060         * testsuite/plugin/testplugin.c:
2061         * testsuite/plugin/testplugin2.c:
2062         * testsuite/plugin/testplugin2_s.c:
2063         * testsuite/plugin/testplugin_s.c:
2064         * testsuite/refcounting/.cvsignore:
2065         * testsuite/refcounting/Makefile.am:
2066         * testsuite/refcounting/bin.c:
2067         * testsuite/refcounting/element.c:
2068         * testsuite/refcounting/element_pad.c:
2069         * testsuite/refcounting/mainloop.c:
2070         * testsuite/refcounting/mem.c:
2071         * testsuite/refcounting/mem.h:
2072         * testsuite/refcounting/object.c:
2073         * testsuite/refcounting/pad.c:
2074         * testsuite/refcounting/sched.c:
2075         * testsuite/refcounting/thread.c:
2076         * testsuite/states/.cvsignore:
2077         * testsuite/states/Makefile.am:
2078         * testsuite/states/bin.c:
2079         * testsuite/states/locked.c:
2080         * testsuite/states/parent.c:
2081         * testsuite/threads/.cvsignore:
2082         * testsuite/threads/159566.c:
2083         * testsuite/threads/159852.c:
2084         * testsuite/threads/Makefile.am:
2085         * testsuite/threads/queue.c:
2086         * testsuite/threads/signals.c:
2087         * testsuite/threads/staticrec.c:
2088         * testsuite/threads/thread.c:
2089         * testsuite/threads/threadb.c:
2090         * testsuite/threads/threadc.c:
2091         * testsuite/threads/threadd.c:
2092         * testsuite/threads/threade.c:
2093         * testsuite/threads/threadf.c:
2094         * testsuite/threads/threadg.c:
2095         * testsuite/threads/threadh.c:
2096         * testsuite/threads/threadi.c:
2097           move all of these under tests
2098
2099 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2100
2101         * configure.ac:
2102         * tests/Makefile.am:
2103           fix distcheck
2104
2105 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2106
2107         * docs/gst/gstreamer-sections.txt:
2108         * tests/sched/.cvsignore:
2109         * tests/sched/Makefile.am:
2110         * tests/sched/cases/(fs-fs).xml:
2111         * tests/sched/cases/(fs-i-fs).xml:
2112         * tests/sched/cases/(fs-i-i-fs).xml:
2113         * tests/sched/cases/(fs-i-q[i-fs]).xml:
2114         * tests/sched/dynamic-pipeline.c:
2115         * tests/sched/interrupt1.c:
2116         * tests/sched/interrupt2.c:
2117         * tests/sched/interrupt3.c:
2118         * tests/sched/runtestcases:
2119         * tests/sched/runxml.c:
2120         * tests/sched/sched-stress.c:
2121         * tests/sched/sort.c:
2122         * tests/sched/testcases:
2123         * tests/sched/testcases1.tc:
2124         * tests/seeking/.cvsignore:
2125         * tests/seeking/Makefile.am:
2126         * tests/seeking/seeking1.c:
2127         * tests/threadstate/.cvsignore:
2128         * tests/threadstate/Makefile.am:
2129         * tests/threadstate/test1.c:
2130         * tests/threadstate/test2.c:
2131         * tests/threadstate/threadstate1.c:
2132         * tests/threadstate/threadstate2.c:
2133         * tests/threadstate/threadstate3.c:
2134         * tests/threadstate/threadstate4.c:
2135         * tests/threadstate/threadstate5.c:
2136           remove obsolete tests
2137         * configure.ac:
2138         * tests/bench-complexity.scm:
2139         * tests/bench-mass_elements.scm:
2140         * tests/complexity.c:
2141         * tests/complexity.gnuplot:
2142         * tests/instantiate/.cvsignore:
2143         * tests/instantiate/Makefile.am:
2144         * tests/instantiate/caps.c:
2145         * tests/mass_elements.c:
2146         * tests/network-clock-utils.scm:
2147         * tests/network-clock.scm:
2148         * tests/plot-data:
2149         First pass at cleaning up tests/ dir before moving the rest
2150         Combined with CVS surgery
2151
2152 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2153
2154         * po/POTFILES.in:
2155           queue has moved, update
2156
2157 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2158
2159         * docs/gst/gstreamer-sections.txt:
2160           remove double entries from the docs
2161         * gst/gst_private.h:
2162         * gst/gstinfo.c: (_gst_debug_init):
2163           remove the THREAD debug category
2164         * gst/Makefile.am:
2165         * gst/gstqueue.c:
2166         * gst/gstqueue.h:
2167         * docs/gst/gstreamer.types:
2168         * plugins/elements/gstqueue.c: (gst_queue_get_type),
2169         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
2170           completely move queue and fix up debugging categories
2171
2172 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2173
2174         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2175           make initialization portable, using LL is not
2176
2177 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2178
2179         * win32/common/gstconfig.h:
2180           add large padding
2181
2182 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2183
2184         * win32/common/libgstreamer.def:
2185           rename symbols; sort base section
2186
2187 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2188
2189         * gst/gstclock.c: (do_linear_regression):
2190           remove crack non-portable handrolled DEBUG macro
2191
2192 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2193
2194         * docs/random/release:
2195           update notes
2196         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2197         (gst_object_flags_get_type), (register_gst_bin_flags),
2198         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2199         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2200         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2201         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
2202         (gst_caps_flags_get_type), (register_gst_clock_return),
2203         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2204         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2205         (gst_clock_flags_get_type), (register_gst_state),
2206         (gst_state_get_type), (register_gst_state_change_return),
2207         (gst_state_change_return_get_type), (register_gst_state_change),
2208         (gst_state_change_get_type), (register_gst_element_flags),
2209         (gst_element_flags_get_type), (register_gst_core_error),
2210         (gst_core_error_get_type), (register_gst_library_error),
2211         (gst_library_error_get_type), (register_gst_resource_error),
2212         (gst_resource_error_get_type), (register_gst_stream_error),
2213         (gst_stream_error_get_type), (register_gst_event_type_flags),
2214         (gst_event_type_flags_get_type), (register_gst_event_type),
2215         (gst_event_type_get_type), (register_gst_seek_type),
2216         (gst_seek_type_get_type), (register_gst_seek_flags),
2217         (gst_seek_flags_get_type), (register_gst_format),
2218         (gst_format_get_type), (register_gst_index_certainty),
2219         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2220         (gst_index_entry_type_get_type),
2221         (register_gst_index_lookup_method),
2222         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2223         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2224         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2225         (gst_index_flags_get_type), (register_gst_debug_level),
2226         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2227         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2228         (gst_iterator_result_get_type), (register_gst_iterator_item),
2229         (gst_iterator_item_get_type), (register_gst_message_type),
2230         (gst_message_type_get_type), (register_gst_mini_object_flags),
2231         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2232         (gst_pad_link_return_get_type), (register_gst_flow_return),
2233         (gst_flow_return_get_type), (register_gst_activate_mode),
2234         (gst_activate_mode_get_type), (register_gst_pad_direction),
2235         (gst_pad_direction_get_type), (register_gst_pad_flags),
2236         (gst_pad_flags_get_type), (register_gst_pad_presence),
2237         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2238         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2239         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2240         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2241         (gst_plugin_flags_get_type), (register_gst_rank),
2242         (gst_rank_get_type), (register_gst_query_type),
2243         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2244         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2245         (gst_tag_flag_get_type), (register_gst_task_state),
2246         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2247         (gst_alloc_trace_flags_get_type),
2248         (register_gst_type_find_probability),
2249         (gst_type_find_probability_get_type), (register_gst_uri_type),
2250         (gst_uri_type_get_type), (register_gst_parse_error),
2251         (gst_parse_error_get_type):
2252         * win32/common/gstenumtypes.h:
2253         * win32/common/gstversion.h:
2254           update visual studio generated files
2255
2256 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2257
2258         * win32/vs6/libgstbase.dsp:
2259         * win32/vs6/libgstelements.dsp:
2260           update project files for new locations
2261
2262 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2263
2264         * Makefile.am:
2265           remove some files
2266         * README:
2267           reinstate and update
2268         * DEVEL:
2269         * REQUIREMENTS:
2270           removed
2271         * LICENSE:
2272         * docs/random/LICENSE:
2273           moved to random
2274
2275 2005-11-30  Edward Hervey  <edward@fluendo.com>
2276
2277         * gst/gsttypefind.c: (gst_type_find_register):
2278         * gst/gsttypefind.h:
2279         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2280         (gst_type_find_factory_dispose):
2281         * gst/gsttypefindfactory.h:
2282         Fix memory leak in GstTypeFindFactory.
2283
2284 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2285
2286         * gst/gst.c:
2287         * plugins/elements/Makefile.am:
2288         * plugins/elements/gstelements.c:
2289         * plugins/elements/gstqueue.c:
2290           move queue from core to the elements plugin
2291
2292 2005-11-29  Andy Wingo  <wingo@pobox.com>
2293
2294         * libs/gst/base/gstbasetransform.h: 
2295         * libs/gst/base/gstbasesrc.h: 
2296         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2297
2298         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2299         of pointers by which to pad very extensible base classes (like the
2300         ones in libs/gst/base).
2301
2302 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2303
2304         * docs/gst/gstreamer-docs.sgml:
2305         * docs/gst/gstreamer-sections.txt:
2306         * docs/libs/gstreamer-libs-docs.sgml:
2307         * docs/libs/gstreamer-libs-sections.txt:
2308           moving documentation from core to lib
2309
2310 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2311
2312         * check/Makefile.am:
2313         * configure.ac:
2314         * docs/gst/Makefile.am:
2315         * gst/Makefile.am:
2316         * gst/base/.cvsignore:
2317         * gst/base/Makefile.am:
2318         * gst/base/README:
2319         * gst/base/gstadapter.c:
2320         * gst/base/gstadapter.h:
2321         * gst/base/gstbasesink.c:
2322         * gst/base/gstbasesink.h:
2323         * gst/base/gstbasesrc.c:
2324         * gst/base/gstbasesrc.h:
2325         * gst/base/gstbasetransform.c:
2326         * gst/base/gstbasetransform.h:
2327         * gst/base/gstcollectpads.c:
2328         * gst/base/gstcollectpads.h:
2329         * gst/base/gstpushsrc.c:
2330         * gst/base/gstpushsrc.h:
2331         * gst/base/gsttypefindhelper.c:
2332         * gst/base/gsttypefindhelper.h:
2333         * gst/check/Makefile.am:
2334         * gst/check/gstcheck.c:
2335         * gst/check/gstcheck.h:
2336         * gst/net/Makefile.am:
2337         * gst/net/gstnet.h:
2338         * gst/net/gstnetclientclock.c:
2339         * gst/net/gstnetclientclock.h:
2340         * gst/net/gstnettimepacket.c:
2341         * gst/net/gstnettimepacket.h:
2342         * gst/net/gstnettimeprovider.c:
2343         * gst/net/gstnettimeprovider.h:
2344         * libs/gst/Makefile.am:
2345         * libs/gst/base/Makefile.am:
2346         * libs/gst/base/gstbasetransform.c:
2347         * libs/gst/check/Makefile.am:
2348         * plugins/elements/Makefile.am:
2349         * po/POTFILES.in:
2350           CVS surgery + support to move base, check, and net out of gst
2351           and into libs/gst
2352
2353 2005-11-29  Andy Wingo  <wingo@pobox.com>
2354
2355         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2356
2357         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2358         padding.
2359
2360         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2361
2362         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2363
2364         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2365
2366         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2367         padding; reduces object size by about 30%. We don't expect
2368         anything else to go into gstobject.
2369
2370         * gst/gstminiobject.h (struct _GstMiniObject)
2371         (struct _GstMiniObjectClass): Only one pointer of padding; the
2372         payload is only a pointer and two ints anyway. For the class there
2373         are only two methods as well.
2374         
2375         * gst/gstelement.h (struct _GstElementClass): Removed
2376         the state_changed signal callback, it is not used.
2377
2378 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2379
2380         * docs/gst/gstreamer.types:
2381           fix includes, though they are a little dinky
2382
2383 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2384
2385         * check/Makefile.am:
2386           look in the right place for elements, a lot more chance of
2387           success
2388         * gst/Makefile.am:
2389           remove indexers and elements subdirs
2390         * plugins/Makefile.am:
2391           make indexers conditional
2392
2393 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2394
2395         * Makefile.am:
2396         * configure.ac:
2397         * plugins/elements/Makefile.am:
2398         * plugins/elements/gstcapsfilter.c:
2399         * plugins/elements/gstfilesink.c:
2400         * plugins/elements/gstfilesrc.c:
2401         * plugins/elements/gstidentity.c:
2402         * plugins/indexers/Makefile.am:
2403           do CVS surgery and related build fixery to move elements
2404           and indexers in a new gstreamer/plugins directory, out of the
2405           gst/ directory
2406
2407 2005-11-29  Andy Wingo  <wingo@pobox.com>
2408
2409         * check/Makefile.am:
2410         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2411         * pkgconfig/gstreamer-net.pc.in:
2412         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2413         #322257.
2414
2415 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2416
2417         * tools/Makefile.am:
2418         * tools/gst-complete.1.in:
2419         * tools/gst-complete.c:
2420         * tools/gst-compprep.1.in:
2421         * tools/gst-compprep.c:
2422           removing -compprep and -complete
2423
2424 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2425
2426         * gst/gstevent.c: (gst_event_new_new_segment),
2427         (gst_event_parse_new_segment):
2428         * gst/gstevent.h:
2429           fix #320529 - clean up new_segment API and structure.
2430           Let's hope everyone was using the methods, and not the structure.
2431
2432 2005-11-29  Edward Hervey  <edward@fluendo.com>
2433
2434         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2435         (gst_base_sink_event), (gst_base_sink_do_sync),
2436         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2437         Properly handle non GST_FORMAT_TIME segment
2438         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2439         Properly handle non GST_FORMAT_TIME segment
2440         * gst/gstsegment.c:
2441         This function is valid if the accumulator is 0 and the format
2442         is different from the requested format.
2443         
2444 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2445
2446         * docs/gst/gstreamer-sections.txt:
2447         Add gst_query_new_seeking and gst_query_parse_seeking to the
2448         docs.
2449
2450 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2451
2452         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2453           Treat a pad alloc with new caps the same as if we were not
2454           negotiated, in order to allow a changing upstream output
2455           to produce a new format of data.
2456
2457 2005-11-29  Edward Hervey  <edward@fluendo.com>
2458
2459         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2460         (gst_base_transform_event), (gst_base_transform_eventfunc):
2461         The event virtual method is now properly implemented, with a default
2462         handler
2463         Sub classes should call the parent_class event method. They should
2464         return FALSE if they had a problem handling the given event, or don't
2465         want GstBaseTransform to send that even downstream
2466         * gst/elements/gstidentity.c: (gst_identity_class_init),
2467         (gst_identity_init), (gst_identity_event),
2468         (gst_identity_transform_ip), (gst_identity_set_property),
2469         (gst_identity_get_property):
2470         * gst/elements/gstidentity.h:
2471         Added the single-segment boolean property.
2472         If set to TRUE, it will output a single segment of data, starting from
2473         0, will eat up all incoming newsegment, and modify the timestamp of the
2474         buffers accordingly
2475
2476 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2477
2478         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2479           Don't ref NULL target pad (#322751). Improve docs.
2480
2481 2005-11-29  Michael Smith  <msmith@fluendo.com>
2482
2483         * gst/gstregistryxml.c: (load_plugin):
2484           Don't crash if we failed to load a feature from a plugin. 
2485
2486 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2487
2488         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2489         (GST_START_TEST):
2490           use more check API and less GLib API
2491
2492 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2493
2494         * Makefile.am:
2495           don't run checks if we don't have check
2496         * common/check.mak:
2497           remove the registry when running make torture
2498         * docs/gst/gstreamer-sections.txt:
2499           remove second multiply
2500         * gst/gstqueue.c: (gst_queue_loop):
2501           fix a compile warning when disabling debug
2502
2503 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2504
2505         * gst/gstinfo.h:
2506         Hey! Let's print the pad name if the pointer != NULL instead
2507         of when it == NULL :-)
2508
2509 2005-11-28  Wim Taymans  <wim@fluendo.com>
2510
2511         * check/gst/gstutils.c: (GST_START_TEST):
2512         Updated check, add some scaling accuracy checking code.
2513
2514         * gst/gstutils.c: (gst_util_div128_64),
2515         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2516         (gst_util_uint64_scale_int):
2517         Fix 6 times faster division code. Optimize for common 
2518         1/1 and less common X/1 cases.
2519
2520 2005-11-28  Wim Taymans  <wim@fluendo.com>
2521
2522         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2523         More checks.
2524
2525         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2526         (do_linear_regression), (gst_clock_add_observation):
2527         Cleanups.
2528         Release lock when the clock cannot be slaved.
2529         Catch the case where the regression returned an invalid denominator.
2530
2531         * gst/gstutils.c: (gst_util_div128_64_iterate),
2532         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2533         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2534         Add protentially more performant non-iterative 128/64 divide function
2535         that unfortunatly does not work yet.
2536         Shortcut the trivial 0/X = 0 case.
2537         Remove the warnings on overflow.
2538
2539 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2540
2541         * gst/gstplugin.c: (gst_plugin_register_func):
2542           everything causing a plugin not to load should be at least a WARNING
2543
2544 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2545
2546         * docs/random/ensonic/dparams.txt:
2547           some TODOs for the next dev cycle
2548         * libs/gst/controller/gstcontroller.c:
2549         (gst_controlled_property_set_interpolation_mode),
2550         (gst_controlled_property_new):
2551         * libs/gst/controller/gstcontroller.h:
2552           use base type to assign acccessor functions
2553
2554 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2555
2556         * check/Makefile.am:
2557         Oops, that should have been top_srcdir
2558
2559 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2560
2561         * check/Makefile.am:
2562         * check/elements/fdsrc.c: (GST_START_TEST):
2563         Use a cmdline define to specify the location of a file to use for
2564         testing, to avoid breaking distcheck.
2565
2566 2005-11-28  Andy Wingo  <wingo@pobox.com>
2567
2568         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2569
2570 2005-11-28  Edward Hervey  <edward@fluendo.com>
2571
2572         * tools/gst-launch.c: (main):
2573         Clarify the output strings, makes it easier to translate.
2574         Fixes #322626
2575
2576 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2577
2578         * gst/Makefile.am:
2579           don't try and build net if we don't even have <sys/socket.h>
2580
2581 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2582
2583         * check/Makefile.am:
2584         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2585         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2586           Add tests for fdsrc seekability
2587
2588         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2589         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2590         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2591         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2592         * gst/elements/gstfdsrc.h:
2593           fdsrc should not be a 'live' source.
2594           Implement seeking on seekable fd's.
2595
2596         * gst/gstquery.c: (gst_query_new_seeking),
2597         (gst_query_parse_seeking):
2598         * gst/gstquery.h:
2599           Implement SEEKING query functions: 
2600             *_new_seeking and *_parse_seeking
2601
2602 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2603
2604         * gst/gstelement.c: (gst_element_dispose):
2605           don't loop forever
2606
2607         * gst/gstiterator.c:
2608         * gst/gststructure.c:
2609           doc fixes
2610
2611         * libs/gst/controller/gstcontroller.c:
2612         (gst_controlled_property_set_interpolation_mode):
2613         * libs/gst/controller/gstcontroller.h:
2614         * libs/gst/controller/gstinterpolation.c:
2615         (interpolate_none_get_enum_value_array):
2616           support controlling enums
2617
2618 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2619
2620         * gst/gstvalue.c:
2621           Improve documentation for gst_value_union().
2622
2623         * gst/gstvalue.h:
2624           Change return value for union, intersect and subtract functions
2625           from gint to gboolean.
2626
2627 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2628
2629         * gst/gstvalue.c: (gst_value_serialize_any_list),
2630         (gst_value_transform_any_list_string),
2631         (gst_value_deserialize_list), (gst_value_deserialize_array),
2632         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2633         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2634         (gst_value_set_fraction_range_full),
2635         (gst_value_deserialize_fraction_range),
2636         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2637         (gst_value_deserialize_boolean),
2638         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2639         (gst_value_serialize_float), (gst_value_deserialize_float),
2640         (gst_string_wrap), (gst_value_deserialize_string),
2641         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2642         (gst_value_union_int_range_int_range),
2643         (gst_value_intersect_int_range_int_range),
2644         (gst_value_intersect_double_range_double_range),
2645         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2646         (gst_value_subtract_int_range_int_range),
2647         (gst_value_subtract_double_double_range),
2648         (gst_value_subtract_double_range_double_range),
2649         (gst_value_deserialize_fraction):
2650         * gst/gstvalue.h:
2651           Use gint, gdouble and gchar in our API instead of int, double and
2652           char (and make usage in gstvalue.c more consistent).
2653
2654 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2655
2656         * check/Makefile.am:
2657         * libs/gst/controller/Makefile.am:
2658         * libs/gst/dataprotocol/Makefile.am:
2659           fix up Makefile.am and remove GST_ENABLE_NEW
2660
2661 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2662
2663         * configure.ac:
2664         * gst/Makefile.am:
2665         * gst/base/Makefile.am:
2666         * gst/check/Makefile.am:
2667         * gst/elements/Makefile.am:
2668         * gst/net/Makefile.am:
2669           update LDFLAGS use some more
2670
2671 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2672
2673         * common/m4/gst-doc.m4:
2674           Fixes #312589
2675
2676 2005-11-26  Edward Hervey  <edward@fluendo.com>
2677
2678         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2679         This shouldn't issue a g_warning since it returns NULL if it
2680         couldn't find the plugin, and all functions using this behave
2681         properly on a NULL return. Switching to a GST_WARNING.
2682
2683 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2684
2685         * gst/gstbin.c: (gst_bin_handle_message_func):
2686         Don't leak clock messages.
2687
2688 2005-11-25  Wim Taymans  <wim@fluendo.com>
2689
2690         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2691         (gst_util_uint64_scale_int):
2692         Optimisations, remove unneeded vars.
2693
2694 2005-11-25  Wim Taymans  <wim@fluendo.com>
2695
2696         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2697         Added more checks for the high precision uint64 cases.
2698
2699         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2700         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2701         Implement high precision (guint64 * guint64) / guint64.
2702
2703 2005-11-24  Wim Taymans  <wim@fluendo.com>
2704
2705         * gst/base/gstbasesrc.c: (gst_base_src_query):
2706         Fix wrong percentage query.
2707
2708         * gst/gstutils.c: (gst_util_uint64_scale),
2709         (gst_util_uint64_scale_int):
2710         Add some more common cases that can be handled 
2711         efficiently to _scale.
2712
2713 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2714
2715         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2716         (gst_mini_object_suite):
2717           don't use check calls from threads; check probably isn't
2718           threadsafe and using a lock to make it threadsafe would
2719           defeat the purpose of this check
2720         * gst/check/gstcheck.c:
2721         * gst/check/gstcheck.h:
2722           use GST_DEBUG some more
2723
2724 2005-11-24  Wim Taymans  <wim@fluendo.com>
2725
2726         * gst/gstutils.c: (gst_util_uint64_scale),
2727         (gst_util_uint64_scale_int):
2728         Chain trivial case to _scale_int.
2729
2730 2005-11-24  Wim Taymans  <wim@fluendo.com>
2731
2732         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2733         Added test for scaling.
2734
2735         * gst/gstclock.h:
2736         Small doc fix.
2737
2738         * gst/gstutils.c: (gst_util_uint64_scale_int):
2739         Implemented high precision scaling code.
2740
2741 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2742
2743         * gst/gstinfo.h:
2744           do not crash on pad==NULL
2745
2746 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2747
2748         Patch by: Stefan Kost
2749
2750         * common/gtk-doc.mak:
2751         * docs/gst/Makefile.am:
2752         * docs/libs/Makefile.am:
2753           Fix distcheck issues for the libraries docs build
2754           Closes #319599.
2755
2756 2005-11-24  Michael Smith <msmith@fluendo.com>
2757
2758         * docs/manual/basics-helloworld.xml:
2759           Fix bug #315027: memory leak in example code in docs.
2760
2761 2005-11-24  Michael Smith <msmith@fluendo.com>
2762
2763         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2764           Unlock the PREROLL_LOCK in a failure case.
2765
2766 2005-11-24  Wim Taymans  <wim@fluendo.com>
2767
2768         * docs/gst/gstreamer-sections.txt:
2769         * gst/base/gstadapter.h:
2770         * gst/base/gstbasesink.h:
2771         * gst/base/gstbasesrc.h:
2772         * gst/base/gstbasetransform.h:
2773         * gst/base/gstpushsrc.h:
2774         * gst/elements/gstfakesink.h:
2775         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2776         * gst/elements/gstfakesrc.h:
2777         * gst/elements/gstfilesink.h:
2778         * gst/elements/gstfilesrc.h:
2779         * gst/gst.c:
2780         * gst/gstbin.c:
2781         * gst/gstbuffer.c: (_gst_buffer_copy):
2782         * gst/gstbus.h:
2783         * gst/gstcaps.c:
2784         * gst/gstchildproxy.c:
2785         * gst/gstclock.c:
2786         * gst/gstelement.c:
2787         * gst/gstelementfactory.c:
2788         * gst/gstelementfactory.h:
2789         * gst/gstevent.c:
2790         * gst/gstghostpad.h:
2791         * gst/gstindex.h:
2792         * gst/gstinterface.h:
2793         * gst/gstminiobject.c:
2794         * gst/gstminiobject.h:
2795         * gst/gstpad.c:
2796         * gst/gstpad.h:
2797         * gst/gstpadtemplate.h:
2798         * gst/gstpipeline.h:
2799         * gst/gstpluginfeature.h:
2800         * gst/gstquery.h:
2801         * gst/gstqueue.h:
2802         * gst/gsttaglist.c:
2803         * gst/gsttaglist.h:
2804         * gst/gsttagsetter.c:
2805         * gst/gsttagsetter.h:
2806         * gst/gsttrace.c:
2807         * gst/gsttrace.h:
2808         * gst/gsttypefind.h:
2809         * gst/gsturi.h:
2810         * gst/gstvalue.c:
2811         * gst/net/gstnetclientclock.c:
2812         * gst/net/gstnetclientclock.h:
2813         * gst/net/gstnettimepacket.c:
2814         * gst/net/gstnettimeprovider.c:
2815         * gst/net/gstnettimeprovider.h:
2816         Doc fixes.
2817
2818 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2819
2820         * configure.ac: back to HEAD
2821
2822 === release 0.9.6 ===
2823
2824 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2825
2826         * configure.ac:
2827           releasing 0.9.6, "Always On Time"
2828
2829 2005-11-23  Wim Taymans  <wim@fluendo.com>
2830
2831         * docs/gst/gstreamer-sections.txt:
2832         * gst/glib-compat.c:
2833         * gst/gsttagsetter.c:
2834         * gst/gstvalue.c:
2835         * gst/net/gstnetclientclock.c:
2836         * gst/net/gstnettimepacket.h:
2837         Doc updates.
2838
2839 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2840
2841         * docs/faq/using.xml:
2842         * docs/libs/tmpl/gstcontrol.sgml:
2843         * docs/manual/advanced-dparams.xml:
2844         * docs/manual/appendix-checklist.xml:
2845         * docs/manual/basics-elements.xml:
2846         * docs/pwg/other-source.xml:
2847         * docs/random/moving-plugins:
2848         * gst/gstpad.c:
2849         * tools/gst-launch.1.in:
2850           remove mentions of sinesrc
2851
2852 2005-11-23  Michael Smith <msmith@fluendo.com>
2853
2854         * docs/gst/gstreamer-sections.txt:
2855           Update for new API and API changes.
2856         * gst/gstobject.h:
2857           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2858         * gst/gstvalue.c:
2859           Documentation typo fix.
2860         * gst/net/gstnettimepacket.c:
2861           Documentation fixes for arguments.
2862
2863 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2864
2865         * gst/gststructure.c: (gst_structure_get_fraction),
2866         (gst_structure_parse_value),
2867         (gst_structure_fixate_field_nearest_fraction):
2868         * gst/gststructure.h:
2869         * gst/gstutils.c: (gst_util_uint64_scale_int):
2870         * gst/gstutils.h:
2871         * scripts/update-funcnames:
2872         API Changes. 
2873         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2874         Make gst_structure_fixate_field_nearest_fraction take a numerator
2875         and denominator argument instead of a GValue
2876         add gst_structure_get_fraction helper function.
2877
2878 2005-11-23  Wim Taymans  <wim@fluendo.com>
2879
2880         * docs/design/part-TODO.txt:
2881         Update TODO.
2882
2883         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2884         * gst/net/gstnetclientclock.h:
2885         Use parent fields for timeout and window_size.
2886
2887 2005-11-23  Andy Wingo  <wingo@pobox.com>
2888
2889         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2890         rate_num/rate_denom change.
2891
2892         * gst/net/gstnetclientclock.c
2893         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2894         OBJECT_LOCK. Don't call add_observation with the lock.
2895
2896         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2897         fraction.
2898         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2899         rate fraction.
2900         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2901         deal with rate as a fraction whose numerator and denominator are
2902         GstClockTime values.
2903         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2904         master; the other fields are protected by the SLAVE_LOCK.
2905         (do_linear_regression): Note that this must be called with the
2906         SLAVE_LOCK.
2907         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2908         OBJECT_LOCK. Call set_calibration instead of touching the
2909         variables directly.
2910         (gst_clock_set_property, gst_clock_get_property): Protect
2911         master/slave parameters with the SLAVE_LOCK.
2912
2913         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2914         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2915         note that all of the instance variables that add_observation and
2916         the set_master functions use are protected by that lock and not
2917         the OBJECT_LOCK.
2918         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2919
2920         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2921         the caller to take the object lock.
2922
2923 2005-11-23  Wim Taymans  <wim@fluendo.com>
2924
2925         * gst/gsterror.c: (_gst_core_errors_init):
2926         * gst/gsterror.h:
2927         Add error for clock stuff.
2928
2929         * gst/gstpipeline.c: (gst_pipeline_change_state),
2930         (gst_pipeline_set_clock):
2931         Post clock error when clock cannot be used in a pipeline.
2932
2933 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2934
2935         * docs/gst/gstreamer-sections.txt:
2936           make two symbols from gstinfo private for the docs
2937         * gst/base/gstcollectpads.h:
2938         * gst/gstutils.c:
2939           fix doc typos, update docs
2940
2941 2005-11-22  Wim Taymans  <wim@fluendo.com>
2942
2943         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2944         (gst_base_sink_wait), (gst_base_sink_do_sync),
2945         (gst_base_sink_handle_event):
2946         * gst/base/gstbasesink.h:
2947         No need to store the clock, the parent element class already
2948         has it.
2949
2950         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2951         Updates for clock_set returning a gboolean
2952
2953         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2954         (gst_clock_id_wait_async), (gst_clock_class_init),
2955         (gst_clock_init), (gst_clock_finalize),
2956         (gst_clock_get_internal_time), (gst_clock_get_time),
2957         (gst_clock_slave_callback), (gst_clock_set_master),
2958         (gst_clock_get_master), (do_linear_regression),
2959         (gst_clock_add_observation), (gst_clock_set_property),
2960         (gst_clock_get_property):
2961         * gst/gstclock.h:
2962         Implement master/slave. When setting a clock as a slave, a
2963         periodic timeout is scheduled to sample master and slave times.
2964         Then the slave clock is recalibrated to match offset and rate
2965         of the master clock.
2966         Update logging a bit.
2967         Add flag so that a clock can state that is cannot be slaved to
2968         another clock.
2969
2970         * gst/gstelement.c: (gst_element_set_clock):
2971         * gst/gstelement.h:
2972         The set clock returns a gboolean for when an element cannot
2973         deal with the selected clock in the pipeline. 
2974
2975         * gst/gstpipeline.c: (gst_pipeline_change_state),
2976         (gst_pipeline_set_clock):
2977         * gst/gstpipeline.h:
2978         Handle the case where the selected clock cannot be set on
2979         the pipeline.
2980
2981         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2982         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2983         (gst_net_client_clock_set_property),
2984         (gst_net_client_clock_get_property),
2985         (gst_net_client_clock_observe_times):
2986         * gst/net/gstnetclientclock.h:
2987         Use regression code in GstClock parent, remove duplicated
2988         functionality.
2989
2990 2005-11-22  Michael Smith <msmith@fluendo.com>
2991
2992         * gst/gstutils.c: (gst_util_clock_time_scale):
2993         * gst/gstutils.h:
2994         * docs/gst/gstreamer-sections.txt:
2995           Rename method to have extra underscore.
2996
2997 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2998
2999         * gst/elements/Makefile.am:
3000         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3001         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3002         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3003         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3004         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3005         * gst/elements/gstfakesrc.h:
3006         * gst/gstqueue.c: (queue_leaky_get_type):
3007           correctly fix GEnumValues so that nick is the short lowercase
3008           dashed tag
3009         * tools/gst-inspect.c: (print_element_properties_info):
3010           also show the nick, since it's useful to use from parse_launch
3011           syntax
3012           Fixes #322139
3013
3014 2005-11-22  Michael Smith <msmith@fluendo.com>
3015
3016         * gst/gstutils.c: (gst_util_clocktime_scale):
3017         * gst/gstutils.h:
3018         * docs/gst/gstreamer-sections.txt:
3019           Add util method for scaling a clocktime by a fraction. Useful 
3020           implementation is left as an exercise for the reader.
3021
3022 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3023
3024         * gst/gstvalue.c: (gst_value_collect_fraction_range):
3025         If needed, allocate storage in the destination value during
3026         collection.
3027
3028 2005-11-22  Edward Hervey  <edward@fluendo.com>
3029
3030         * docs/gst/gstreamer-sections.txt:
3031         * gst/Makefile.am:
3032         * gst/gst.h:
3033         * gst/gsturitype.c:
3034         * gst/gsturitype.h:
3035         * gst/gstutils.c: (gst_util_set_object_arg):
3036         * tools/gst-compprep.c: (main):
3037         * tools/gst-inspect.c: (print_element_properties_info):
3038         Removed GstURI, closes bug #321061
3039
3040 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3041
3042         * check/gst/gststructure.c: (GST_START_TEST):
3043         * gst/gststructure.c: (gst_structure_parse_value):
3044           Oops, broke automatic string type parsing.
3045           Add a test to catch it in future.
3046
3047 2005-11-22  Andy Wingo  <wingo@pobox.com>
3048
3049         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
3050         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
3051         Actually rename the function implementations. Grr.
3052
3053 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3054
3055         * check/gst/capslist.h:
3056           Comment test cases
3057         * check/gst/gststructure.c: (GST_START_TEST),
3058         (gst_structure_suite):
3059           Test automatic value type detection in gst_structure_from_string.
3060         * gst/gststructure.c: (gst_structure_parse_value):
3061           Add fraction as a type we try and guess automatically in
3062           caps/structure strings.
3063
3064 2005-11-22  Andy Wingo  <wingo@pobox.com>
3065
3066         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
3067
3068         * gst/gsttagsetter.h:
3069         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
3070         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
3071         (gst_tag_setter_add_tag_valist)
3072         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
3073         _add_values, _add_valist, and _add_valist_values. Since this is an
3074         interface the function suffixes should be more explicit so
3075         language binding don't end up with element.add_valist ->
3076         gst_tag_setter_add_valist, for example. Fixes #322069.
3077
3078 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3079
3080         * check/gst/gstcaps.c: (GST_START_TEST):
3081           Extend caps string tests to check that a caps to string
3082           conversion is reversible and produces the same caps.
3083
3084         * gst/gststructure.c: (gst_structure_value_get_generic_type):
3085           Output "fraction" as the generic type fraction range, so caps
3086           serialisation and deserialisation works.
3087         * check/gst/capslist.h:
3088         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3089           Support 'MIN' and 'MAX' for deserialising fractions.
3090
3091 2005-11-22  Andy Wingo  <wingo@pobox.com>
3092
3093         * gst/gstevent.h (gst_event_new_new_segment)
3094         (gst_event_parse_new_segment, gst_event_new_buffer_size)
3095         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
3096         Renamed from *_newsegment, *_buffersize, *_notarget.
3097
3098         * scripts/update-funcnames: New script, performs the changes
3099         listed above.
3100
3101 2005-11-22  Wim Taymans  <wim@fluendo.com>
3102
3103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3104         Make sure the GstFlowReturn is returned.
3105
3106         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
3107         (gst_bus_add_signal_watch):
3108         * gst/gstbus.h:
3109         add gst_bus_add_signal_watch_full.
3110
3111         * gst/gstplugin.c: (gst_plugin_load_file):
3112         Small style cleanup.
3113
3114 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3115
3116         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
3117           Block the fakesrc srcpad when we send an event, to avoid
3118           contention on the stream_lock causing random test failures.
3119
3120 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3121
3122         * check/gst/gstvalue.c: (GST_START_TEST):
3123         * gst/gstvalue.c: (gst_value_fraction_subtract):
3124           Fix subtraction.
3125
3126 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
3127
3128         * gst/gst.h:
3129           include "gstchildproxy.h"
3130         * gst/gstchildproxy.h:
3131         * libs/gst/controller/gstcontroller.h:
3132           use G_GNUC_NULL_TERMINATED
3133
3134 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3135
3136         * check/gst/capslist.h:
3137         * check/gst/gstcaps.c: (GST_START_TEST):
3138         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3139         * gst/gststructure.c: (gst_structure_parse_range),
3140         (gst_structure_fixate_field_nearest_fraction):
3141         * gst/gststructure.h:
3142         * gst/gstvalue.c: (gst_value_init_fraction_range),
3143         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
3144         (gst_value_collect_fraction_range),
3145         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
3146         (gst_value_set_fraction_range_full),
3147         (gst_value_get_fraction_range_min),
3148         (gst_value_get_fraction_range_max),
3149         (gst_value_serialize_fraction_range),
3150         (gst_value_transform_fraction_range_string),
3151         (gst_value_compare_fraction_range),
3152         (gst_value_deserialize_fraction_range),
3153         (gst_value_intersect_fraction_fraction_range),
3154         (gst_value_intersect_fraction_range_fraction_range),
3155         (gst_value_subtract_fraction_fraction_range),
3156         (gst_value_subtract_fraction_range_fraction),
3157         (gst_value_subtract_fraction_range_fraction_range),
3158         (gst_value_collect_fraction), (gst_value_fraction_multiply),
3159         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
3160         (gst_value_transform_string_fraction), (_gst_value_initialize):
3161         * gst/gstvalue.h:
3162           Implement fraction ranges and extend GstFraction to support
3163           arithmetic subtraction, as well as deserialization from integer
3164           strings such as "100"
3165           Add a testsuite as for int and double range set operations
3166
3167 2005-11-21  Andy Wingo  <wingo@pobox.com>
3168
3169         * gst/gsttaglist.h: 
3170         * gst/gstcaps.h: 
3171         * gst/gststructure.h: Add glib-compat.h.
3172
3173 2005-11-21  Wim Taymans  <wim@fluendo.com>
3174
3175         * gst/gstbin.c: (gst_bin_change_state_func):
3176         Fix for #321595
3177
3178 2005-11-21  Wim Taymans  <wim@fluendo.com>
3179
3180         * gst/gstsegment.h:
3181         And add a nice define too.
3182
3183 2005-11-21  Wim Taymans  <wim@fluendo.com>
3184
3185         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
3186         (gst_segment_new), (gst_segment_free), (gst_segment_init),
3187         (gst_segment_set_duration), (gst_segment_set_last_stop),
3188         (gst_segment_set_seek), (gst_segment_set_newsegment),
3189         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3190         (gst_segment_clip):
3191         * gst/gstsegment.h:
3192         Make binding friendly.
3193
3194 2005-11-21  Andy Wingo  <wingo@pobox.com>
3195
3196         * gst/gsttagsetter.h: 
3197         * gst/gsttaglist.h: 
3198         * gst/gststructure.h: 
3199         * gst/gstcaps.h: 
3200         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
3201         #319940.
3202
3203         * gst/gsterror.c (_gst_core_errors_init):
3204         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
3205         category.
3206
3207         * gst/Makefile.am (gst_headers): Add glib-compat.h.
3208         (noinst_HEADERS): noinst the -private.
3209
3210 2005-11-21  Michael Smith <msmith@fluendo.com>
3211
3212         * gst/gstplugin.h:
3213         * gst/gstregistry.h:
3214           Remove unimplemented declarations for which we can see no sensible
3215           use.
3216
3217 2005-11-21  Andy Wingo  <wingo@pobox.com>
3218
3219         * gst/gst.h: Include glib-compat.h.
3220
3221         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
3222
3223         * gst/glib-compat.c: Include the public and the private header.
3224
3225         * gst/glib-compat-private.h: Copied here from glib-compat.h.
3226
3227         * gst/gstvalue.c: 
3228         * gst/gstpad.c: 
3229         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
3230
3231         * check/gst/gstevent.c (create_custom_events): Check that
3232         FLUSH_STOP is serialized.
3233
3234         * check/elements/identity.c (event_func): 
3235         * check/elements/fakesrc.c (event_func): No stream lock, the core
3236         takes it.
3237
3238         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
3239         stream lock taking, yay.
3240
3241         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
3242         ensure that core takes the stream lock.
3243
3244         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3245         lock name change.
3246
3247         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3248         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3249         it already. For the flush start we do take it though so we get the
3250         right preroll state change messages.
3251
3252         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3253         the stream lock here, the core does it for us.
3254
3255         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3256         GST_STREAM_GET_LOCK.
3257         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3258         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3259         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3260         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3261         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3262         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3263
3264         * gst/gstpad.c: Update for stream lock name change.
3265
3266         * gst/base/gstbasesink.c: Update for preroll lock name change.
3267
3268 2005-11-21  Wim Taymans  <wim@fluendo.com>
3269
3270         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3271         (gst_clock_get_master):
3272         * gst/gstclock.h:
3273         * gst/gstsystemclock.c: (gst_system_clock_init):
3274         Convert Clock flags to object flags.
3275         Added methods to manage master/slave clocks.
3276
3277 2005-11-21  Wim Taymans  <wim@fluendo.com>
3278
3279         * check/gst/gstsegment.c: (GST_START_TEST):
3280         * docs/design/part-TODO.txt:
3281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3282         (gst_base_sink_event), (gst_base_sink_do_sync),
3283         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3284         (gst_base_sink_query), (gst_base_sink_change_state):
3285         * gst/base/gstbasesink.h:
3286         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3287         (gst_base_src_default_newsegment),
3288         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3289         (gst_base_src_get_range), (gst_base_src_loop),
3290         (gst_base_src_change_state):
3291         * gst/base/gstbasesrc.h:
3292         * gst/base/gstbasetransform.c:
3293         (gst_base_transform_prepare_output_buf),
3294         (gst_base_transform_event), (gst_base_transform_change_state):
3295         * gst/base/gstbasetransform.h:
3296         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3297         (gst_collect_pads_event):
3298         * gst/base/gstcollectpads.h:
3299         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3300         (gst_fake_src_create):
3301         * gst/elements/gstfakesrc.h:
3302         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3303         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3304         (gst_segment_set_last_stop), (gst_segment_set_seek),
3305         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3306         (gst_segment_to_running_time), (gst_segment_clip):
3307         * gst/gstsegment.h:
3308         More segment updates, replace code in plugins with segment
3309         helper functions.
3310
3311 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3312
3313         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3314         Don't ignore sscanf results
3315
3316 2005-11-21  Andy Wingo  <wingo@pobox.com>
3317
3318         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3319
3320         * *.h:
3321         * *.c: Ran scripts/update-macros. Oh yes.
3322
3323         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3324         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3325         GST_GET_LOCK, etc.
3326
3327         * scripts/update-macros: New script. Run it on your files to
3328         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3329         well.
3330
3331 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3332
3333         * docs/gst/Makefile.am:
3334         * docs/gst/gstreamer-docs.sgml:
3335         * docs/gst/gstreamer-sections.txt:
3336         * docs/gst/gstreamer.types:
3337         * gst/gstinfo.h:
3338           more docs fixes, add new api to the docs
3339
3340 2005-11-21  Andy Wingo  <wingo@pobox.com>
3341
3342         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3343         state_broadcast call.
3344
3345         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3346
3347 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3348
3349         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3350         function calls for arrays.
3351
3352 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3353
3354         * docs/random/ensonic/media-device-daemon.txt:
3355           wild idea, can this be done?
3356         * docs/gst/gstreamer-sections.txt:
3357         * gst/gsterror.h:
3358         * gst/gstfilter.c:
3359         * gst/gstfilter.h:
3360         * gst/gstplugin.h:
3361         * gst/gstpluginfeature.c:
3362         * gst/gsttrace.c:
3363         * gst/gstvalue.c:
3364         * gst/gstvalue.h:
3365           doc fixes and additions
3366
3367 2005-11-21  Andy Wingo  <wingo@pobox.com>
3368
3369         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3370         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3371         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3372         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3373         private to the basesrc implementation.
3374
3375         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3376         behalf of event function if necessary. It should no longer be
3377         necessary to take the stream lock in pad's event functions. Fixes
3378         #320299.
3379
3380 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3381         * docs/gst/gstreamer-sections.txt:
3382         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3383         (gst_structure_fixate_field_nearest_double),
3384         (gst_structure_fixate_field_boolean):
3385         * gst/gststructure.h:
3386         * win32/common/libgstreamer.def:
3387         * win32/gstreamer.def:
3388
3389         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3390         (#322027)
3391
3392 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3393
3394         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3395         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3396         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3397         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3398         (gst_fdsrc_uri_handler_init):
3399         * gst/elements/gstfdsrc.h:
3400           Port fd:// URI handler from 0.8 to fdsrc
3401
3402 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3403
3404         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3405         (gst_value_serialize_fourcc):
3406         * gst/gstvalue.h:
3407           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3408           consistent with our other format defines (#320324).
3409
3410 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3411
3412         * gst/gstvalue.c: (gst_value_is_fixed):
3413           Revert previous commit. Value lists are by definition
3414           not fixed, as they are a list of possible values.
3415
3416 2005-11-21  Andy Wingo  <wingo@pobox.com>
3417
3418         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3419         during the stable series if we need it. Fixes #319178.
3420
3421         * gst/gstevent.c (gst_event_new_filler): Removed.
3422
3423         * check/gst/gstevent.c: Update comment about filler events.
3424
3425 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3426
3427         * gst/gstvalue.c: (gst_value_is_fixed):
3428           Should handle both value arrays and value lists.
3429
3430 2005-11-21  Andy Wingo  <wingo@pobox.com>
3431
3432         patch by: Alessandro Dessina <alessandro nnva org>
3433
3434         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3435         functions to access arrays. Fixes #321962.
3436
3437 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3438
3439         * docs/gst/gstreamer.types:
3440           gst_collectpads_get_type => gst_collect_pads_get_type.
3441           
3442         * gst/base/gstbasetransform.c:
3443           Remove unused SIGNAL_HANDOFF enum.
3444
3445 2005-11-21  Andy Wingo  <wingo@pobox.com>
3446
3447         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3448         the event type (upstream, downstream, serialized). Renamed
3449         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3450         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3451         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3452
3453         * gst/gstevent.c: Update for new CUSTOM event names.
3454
3455         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3456
3457         * gst/gstevent.h:
3458         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3459         bug #319392.
3460
3461 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3462
3463         * docs/gst/gstreamer-sections.txt:
3464         * win32/common/libgstbase.def:
3465         * win32/libgstbase.def:
3466         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3467         (gst_collect_pads_class_init), (gst_collect_pads_init),
3468         (gst_collect_pads_finalize), (gst_collect_pads_new),
3469         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3470         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3471         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3472         (gst_collect_pads_start), (gst_collect_pads_stop),
3473         (gst_collect_pads_peek), (gst_collect_pads_pop),
3474         (gst_collect_pads_available), (gst_collect_pads_read),
3475         (gst_collect_pads_flush), (gst_collect_pads_event),
3476         (gst_collect_pads_chain):
3477         * gst/base/gstcollectpads.h:
3478           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3479           unimplemented functions as unimplemented. Add padding to
3480           GstCollectData. (#320766, #320423)
3481
3482 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3483
3484         * gst/gstmessage.c:
3485           Improve docs for DURATION message (usage of duration parameter)
3486           (#320113)
3487
3488 2005-11-20  Wim Taymans  <wim@fluendo.com>
3489
3490         * check/Makefile.am:
3491         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3492         (main):
3493         * gst/Makefile.am:
3494         * gst/gst.h:
3495         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3496         (gst_segment_set_seek), (gst_segment_set_newsegment),
3497         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3498         (gst_segment_clip):
3499         * gst/gstsegment.h:
3500         Added segment helper structure and methods. Not fully implemented
3501         yet.
3502         Added segment check.
3503
3504 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3505
3506         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3507           Add a deserialisation test for fractions
3508         * examples/metadata/read-metadata.c: (message_loop),
3509         (make_pipeline), (main):
3510           Fix up metadata reading sample.
3511         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3512           Debug format fix
3513         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3514           Don't try and fixate empty caps
3515         * gst/gst_private.h:
3516           Wrap in G_BEGIN_DECLS/G_END_DECLS
3517         * gst/gstvalue.c: (gst_value_collect_fraction),
3518         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3519         (gst_value_transform_string_fraction),
3520         (gst_value_compare_fraction):
3521           Add some extra guards to ensure that we don't end up 
3522           with an invalid denominator of 0 in a gstfraction and
3523           that fractions always get reduced.
3524
3525 2005-11-20  Wim Taymans  <wim@fluendo.com>
3526
3527         * docs/gst/gstreamer-sections.txt:
3528         * gst/gstbuffer.h:
3529         * gst/gstelement.c:
3530         * gst/gstformat.c:
3531         * gst/gstformat.h:
3532         * gst/gstindex.h:
3533         * gst/gstquery.c:
3534         * gst/gstquery.h:
3535         * gst/gstvalue.c:
3536         Doc fixes.
3537
3538 2005-11-20  Wim Taymans  <wim@fluendo.com>
3539
3540         * docs/design/part-TODO.txt:
3541         * gst/gstcaps.h:
3542         Make a proper enum of the flag.
3543
3544 2005-11-19  Wim Taymans  <wim@fluendo.com>
3545
3546         * docs/design/part-TODO.txt:
3547         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3548         (gst_format_to_quark), (gst_format_register):
3549         * gst/gstformat.h:
3550         * gst/gstquery.c: (_gst_query_initialize),
3551         (gst_query_type_get_name), (gst_query_type_to_quark),
3552         (gst_query_type_register):
3553         * gst/gstquery.h:
3554         Add type to quark and type to string conversions.
3555
3556 2005-11-19  Andy Wingo  <wingo@pobox.com>
3557
3558         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3559         #320097.
3560
3561 2005-11-19  Wim Taymans  <wim@fluendo.com>
3562
3563         * docs/design/part-TODO.txt:
3564         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3565         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3566         (gst_bin_handle_message_func):
3567         * gst/gstbin.h:
3568         Make message handling overridable.
3569
3570 2005-11-19  Andy Wingo  <wingo@pobox.com>
3571
3572         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3573
3574         * gst/gstclock.h:
3575         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3576         be a GstClockTime.
3577         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3578         is a GstClockTime. Fixes #321710.
3579
3580         * gst/gstclock.h (GstClock): Remove offset property. Add
3581         internal_calibration and external_calibration. Fix padding. Pad
3582         also by GstClockTime so we don't run into problems.
3583
3584         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3585         (gst_clock_get_rate_offset): Remove.
3586         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3587
3588         * gst/gstutils.h:
3589         * gst/gstutils.c (g_static_rec_cond_wait)
3590         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3591
3592         * gst/gstbin.c: Remove terrible continue_state prototype.
3593
3594         * gst/gstelement.h (gst_element_continue_state): Make public.
3595
3596         * gst/gstelement.h:
3597         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3598         by continue_state. Fixes #319389.
3599
3600         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3601         Really fixes #168438. However I don't see anywhere where the
3602         filter function is called... stupid GStreamer...
3603         
3604         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3605         don't have a dispose function, so it won't get called when the
3606         object is unreffed, but oh well!
3607
3608         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3609         allows a destroy function to be set so user_data can be freed.
3610         Fixes #168438.
3611         (gst_index_set_filter): Call gst_index_set_filter_full.
3612
3613         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3614
3615         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3616         string should produce an error, given the lack of a way to
3617         represent NULL strings. Fixes #165650.
3618         
3619         * gst/gstvalue.h: 
3620         * gst/gstvalue.c (gst_value_array_append_value) 
3621         (gst_value_array_prepend_value, gst_value_array_get_size) 
3622         (gst_value_array_get_value): New API, copied from
3623         gst_value_list_*, only operates on arrays.
3624         (gst_value_list_append_value, gst_value_list_prepend_value) 
3625         (gst_value_list_concat, gst_value_list_get_size) 
3626         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3627
3628         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3629         init_list, because it works on both.
3630         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3631         (gst_value_copy_list_or_array): Renamed from copy_list.
3632         (gst_value_free_list_or_array): Renamed from free_list.
3633         (gst_value_collect_list_or_array): Renamed from collect_list.
3634         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3635         (gst_value_list_or_array_peek_pointer): Renamed from
3636         list_peek_pointer.
3637         (_gst_value_array_value_table, _gst_value_list_value_table):
3638         Update value table functions.
3639         (gst_value_compare_list_or_array): Renamed from compare_list.
3640
3641         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3642         some constness.
3643
3644         * gst/gsttaglist.c:
3645         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3646         GstTagList*. Fixes #143472.
3647
3648         * gst/gststructure.h: Clarify what the foreach/map functions can
3649         or can't do to their arguments.
3650
3651 2005-11-18  Wim Taymans  <wim@fluendo.com>
3652
3653         * gst/gstclock.c: (gst_clock_set_calibration),
3654         (gst_clock_get_calibration):
3655         Doc and API fixes.
3656         Calibration can be set with internal time equal to current
3657         internal time too.
3658
3659 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3660
3661         * gst/gsterror.c:
3662         * gst/gsterror.h:
3663           document
3664
3665 2005-11-18  Andy Wingo  <wingo@pobox.com>
3666
3667         * configure.ac: 
3668         * pkgconfig/gstreamer-net.pc.in:
3669         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3670         * pkgconfig/Makefile.am: Add net pkgconfig files.
3671
3672 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3673
3674         * gst/gstcaps.c:
3675         * gst/gstghostpad.c:
3676         * gst/gsttrace.c:
3677         * gst/gstvalue.c:
3678         * gst/gstvalue.h:
3679           docs fixes
3680
3681 2005-11-18  Andy Wingo  <wingo@pobox.com>
3682
3683         * gst/net/gstnetclientclock.c: Turn off debugging.
3684
3685         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3686         times connverge somewhat. Can't make a real test.
3687
3688         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3689         integer arithmetic. Return the minimum of the domain, which can be
3690         set as "internal" for gst_clock_set_calibration.
3691         (gst_net_client_clock_observe_times): Call _set_calibration.
3692         (gst_net_client_clock_new): Call _set_calibration instead of
3693         rate_offset.
3694
3695         * check/net/gstnetclientclock.c (test_functioning): Use the right
3696         adjustment api.
3697
3698         * gst/gstclock.h:
3699         * gst/gstclock.c (gst_clock_get_calibration) 
3700         (gst_clock_set_calibration): New functions, obsolete the ones I
3701         added yesterday. Doh. Precision issues mean we have to extrapolate
3702         from a point in the more recent past than 1970.
3703         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3704         obsolete.
3705         (gst_clock_adjust_unlocked): Use the right calibration data.
3706
3707 2005-11-18  Edward Hervey  <edward@fluendo.com>
3708
3709         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3710         Also reset the ->current_* values in READY->PAUSED
3711
3712 2005-11-18  Andy Wingo  <wingo@pobox.com>
3713
3714         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3715         Whoops, check the right fd. Also add some debugging.
3716         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3717         (do_linear_regression): Add a crapload of debugging. Subtract off
3718         the minimum values from the input series to discard unneeded bits.
3719         Use only int arithmetic. There is still double arithmetic when
3720         calculating the intercept that needs fixing. Return boolean to
3721         indicate success; FALSE would mean the domain or range is too
3722         great. Still needs fixes.
3723
3724 2005-11-18  Wim Taymans  <wim@fluendo.com>
3725
3726         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3727         For the current position in stream time, we need to subtract
3728         accumulated time.
3729         
3730         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3731         Release lock before calling the callback function of async
3732         entries.
3733
3734 2005-11-18  Andy Wingo  <wingo@pobox.com>
3735
3736         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3737         Port goes all the way to MAXUINT16.
3738
3739         * gst/net/gstnettimeprovider.c: Make the port range the same as
3740         for the kernel: 0 assigns, otherwise ports are less than
3741         MAXUINT16.
3742
3743         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3744         port change.
3745
3746         * check/net/gstnetclientclock.c (test_functioning): Add the start
3747         of another test. 
3748
3749 2005-11-18  Wim Taymans  <wim@fluendo.com>
3750
3751         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3752         (gst_bin_remove_func), (bin_bus_handler):
3753         * gst/gstbin.h:
3754         Removing a clock provider from a bin, triggers a clock lost message
3755         so that a new clock will be selected.
3756         Adding a clock to a bin triggers a clock provider message.
3757         Make sure we reselect a clock when we received a clock lost message.
3758         Keep a reference to the element that provided the clock.
3759
3760 2005-11-18  Andy Wingo  <wingo@pobox.com>
3761
3762         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3763         the clock initially so it produces values around the base time.
3764         (gst_net_client_clock_class_init): Typo fix.
3765         (gst_net_client_clock_thread): Add note on when the socket gets
3766         closed.
3767
3768 2005-11-17  Wim Taymans  <wim@fluendo.com>
3769
3770         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3771         Free remote and local time arrays.
3772
3773 2005-11-17  Wim Taymans  <wim@fluendo.com>
3774
3775         * gst/net/gstnetclientclock.c: (do_linear_regression),
3776         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3777         Fix compilation, uninitialized vars and a forgotten continue.
3778
3779 2005-11-17  Andy Wingo  <wingo@pobox.com>
3780
3781         * check/Makefile.am (check_PROGRAMS): 
3782         * check/net/gstnetclientclock.c: Add a most minimal test for the
3783         net client clock. More to come later.
3784
3785         * gst/net/gstnet.h: 
3786         * gst/net/Makefile.am: Add netclientclock.
3787
3788         * gst/net/gstnetclientclock.h:
3789         * gst/net/gstnetclientclock.c: New files, implement an untested
3790         GstClock that takes its time from a network time provider.
3791         Implements the algorithm in network-clock.scm.
3792
3793         * tests/network-clock.scm (*window-size*): Rename from
3794         *queue-length*.
3795         * tests/network-clock.scm (network-time): 
3796         * tests/network-clock-utils.scm (q-push): Update callers.
3797
3798 2005-11-17  Wim Taymans  <wim@fluendo.com>
3799
3800         * gst/gstbin.c: (gst_bin_provide_clock_func),
3801         (gst_bin_sort_iterator_new):
3802         And unref the child too..
3803
3804 2005-11-17  Wim Taymans  <wim@fluendo.com>
3805
3806         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3807         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3808         Refactor the sort iterator so it can be used while holding the
3809         LOCK too.
3810         Make clock selection select a clock closest to the source.
3811
3812 2005-11-17  Michael Smith <msmith@fluendo.com>
3813
3814         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3815         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3816         * gst/gstclock.h:
3817           Anonymous structs are a gcc (and some other compilers) extension, so
3818           don't use them. Since this is only for ABI-compatibility, and our
3819           API/ABI freeze is over in a few days, this whole thing will only
3820           last a few days, so don't bother trying to think up a meaningful
3821           name for the struct.
3822
3823 2005-11-17  Andy Wingo  <wingo@pobox.com>
3824
3825         * gst/gstclock.h (GstClock): Add rate and offset properties,
3826         preserving ABI stability. Add rate/offset accessors. Will file bug
3827         for the freeze break.
3828
3829         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3830         and offset, trying to keep precision and avoiding
3831         underflow/overflow.
3832         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3833         functions. Make gst_clock_set_time_adjust obsolete.
3834         (gst_clock_set_time_adjust): Note that this function is obsolete.
3835         Will file bug soon.
3836
3837         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3838         greppable by using GST_PADDING-1+1.
3839
3840 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3841
3842         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3843
3844         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3845           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3846
3847         * gst/gstpadtemplate.h:
3848         * gst/gstpluginfeature.h:
3849           Don't use c++ style comments in headers (#321638).
3850
3851 2005-11-16  Andy Wingo  <wingo@pobox.com>
3852
3853         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3854         buffer.
3855
3856         * check/net/gstnettimeprovider.c: Check to see that the time
3857         provider actually provides times. Works, yo!
3858
3859 2005-11-16  Wim Taymans  <wim@fluendo.com>
3860
3861         * check/Makefile.am:
3862         Enable more tests.
3863
3864         * check/elements/fakesrc.c: (GST_START_TEST):
3865         Set element to NULL before disposing it.
3866
3867 2005-11-16  Andy Wingo  <wingo@pobox.com>
3868
3869         * gst/net/Makefile.am:
3870         * gst/net/gstnet.h:
3871         * gst/net/gstnettimeprovider.c: 
3872         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3873         provider, include it from gstnet.h, and add it to the build.
3874
3875         * gst/net/gstnettimepacket.h: 
3876         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3877         sending and receiving.
3878
3879 2005-11-16  Wim Taymans  <wim@fluendo.com>
3880
3881         * check/Makefile.am:
3882         Enable valgrind check.
3883
3884         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3885         (gst_fake_src_alloc_buffer):
3886         Fix memleak.
3887
3888 2005-11-16  Wim Taymans  <wim@fluendo.com>
3889
3890         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3891         Call parent finalize too.
3892
3893 2005-11-16  Wim Taymans  <wim@fluendo.com>
3894
3895         * check/Makefile.am:
3896         Enable valgrind check that should work fine now.
3897
3898         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3899         * gst/gstqueue.c: (gst_queue_init):
3900         Fix memleaks in pad allocation.
3901
3902 2005-11-16  Andy Wingo  <wingo@pobox.com>
3903
3904         * gst/net/Makefile.am:
3905         * gst/net/gstnet.h: New part of core to hold network elements and
3906         objects. Put in core because it exposes API that applications want
3907         to use. The library is named libgstnet-tempname right now because
3908         of the existing libgstnet in gst-plugins-base. Solution is
3909         probably to rename the one in plugins-base; will file a bug for
3910         the freeze break.
3911
3912         * gst/net/gstnettimeprovider.c: 
3913         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3914         get_time call over the network.
3915
3916         * configure.ac: 
3917         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3918
3919         * check/Makefile.am:
3920         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3921         get additions shortly.
3922
3923 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3924
3925         * gst/gstpad.c: (gst_pad_new_from_static_template):
3926         * gst/gstpad.h:
3927           add gst_pad_new_from_static_template functions
3928         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3929         (gst_check_setup_sink_pad):
3930         * gst/elements/gsttee.c: (gst_tee_init):
3931           and use them
3932
3933 2005-11-16  Wim Taymans  <wim@fluendo.com>
3934
3935         * gst/gstpad.c: (gst_pad_pause_task):
3936         Removed warning, it's not really an error either.
3937
3938 2005-11-16  Wim Taymans  <wim@fluendo.com>
3939
3940         * gst/base/gstbasetransform.c:
3941         (gst_base_transform_prepare_output_buf),
3942         (gst_base_transform_event):
3943         Check if the caps are NULL, this can happen if the element
3944         is shutting down and the pad caps are set to NULL.
3945
3946 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3947
3948         * gst/elements/gsttee.c: (gst_tee_init):
3949           fix pad template leak in tee
3950
3951 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3952
3953         * gst/glib-compat.c: (g_value_dup_gst_object):
3954         * gst/glib-compat.h:
3955         * gst/gstpad.c: (gst_pad_set_property):
3956           use gst_object_ref when setting the pad template; this will
3957           trigger the pad template leaks on GLib 2.6 and the slaves
3958
3959 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3960
3961         * gst/glib-compat.c: (gst_flags_get_first_value):
3962         * gst/glib-compat.h:
3963         * gst/gstregistryxml.c:
3964           remove functions copied from GLib 2.6
3965
3966 2005-11-16  Michael Smith <msmith@fluendo.com>
3967
3968         * gst/Makefile.am:
3969           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3970           do, but only breaks with newer valgrind versions. We're not a
3971           valgrind tool, we have no link-time dependencies on libcoregrind.
3972
3973 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3974
3975         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3976           some debug changes
3977         * gst/gstmessage.h:
3978           typo fixes
3979
3980 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3981
3982         * gst/base/gstbasesrc.c: (gst_base_src_init):
3983         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3984         * gst/gstqueue.c: (gst_queue_init):
3985         * gst/gstregistryxml.c: (load_feature):
3986           Revert all these unrefs, they don't even pass make check !
3987
3988 2005-11-15  Johan Dahlin  <johan@gnome.org>
3989
3990         * gst/base/gstbasesrc.c: (gst_base_src_init):
3991         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3992         * gst/gstqueue.c: (gst_queue_init): 
3993         Free pad templates, fixes a couple of leaks.
3994
3995 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3996
3997         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3998
3999         * gst/gstpad.c: (gst_pad_get_property):
4000           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4001           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4002           (#321452)
4003
4004 2005-11-15  Wim Taymans  <wim@fluendo.com>
4005
4006         * gst/gstevent.c:
4007         Small doc update.
4008
4009 2005-11-15  Andy Wingo  <wingo@pobox.com>
4010
4011         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
4012
4013         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
4014         using GST_CLOCK_TIME_NONE to disable base time management.
4015         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
4016         time if it was NONE before.
4017         (gst_pipeline_change_state): Only munge the base time if
4018         stream_time != GST_CLOCK_TIME_NONE.
4019
4020         * check/gst/gstpipeline.c (test_base_time): Punt around the
4021         problem of the probe not being called, because that's not the
4022         issue I'm looking at. Add a check that setting stream_time to NONE
4023         disables base time management.
4024         
4025 2005-11-15  Wim Taymans  <wim@fluendo.com>
4026
4027         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4028         segment_stop == -1 at startup.
4029
4030         * gst/base/gstbasetransform.c: (gst_base_transform_event),
4031         (gst_base_transform_change_state):
4032         Init segment values at start.
4033
4034 2005-11-15  Wim Taymans  <wim@fluendo.com>
4035
4036         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4037         0 segment values are 0 in any format.
4038
4039         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4040         * gst/base/gstbasetransform.h:
4041         Parse newsegment correctly in basetransform
4042
4043         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4044         Sync to clock using updated segment values.
4045
4046 2005-11-15  Andy Wingo  <wingo@pobox.com>
4047
4048         * check/gst/gstpipeline.c (test_base_time): Add check that the
4049         base time and stream time are reset correctly.
4050
4051 2005-11-15  Wim Taymans  <wim@fluendo.com>
4052
4053         * docs/design/part-TODO.txt:
4054         Some more TODO items.
4055
4056 2005-11-15  Andy Wingo  <wingo@pobox.com>
4057
4058         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
4059         error if the user selected "no clock" as the clocking method.
4060
4061         * check/gst/gstpipeline.c (test_base_time): New test for buffer
4062         timestamps with live capture.
4063
4064         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
4065         is 0 but we are a live source, timestamp the buffers using the
4066         element's clock.
4067
4068 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
4069
4070         * docs/gst/gstreamer-sections.txt:
4071         * gst/gsterror.c:
4072         * gst/gstghostpad.c:
4073         * gst/gstobject.h:
4074         * gst/gstxml.c:
4075           more section docs
4076
4077 2005-11-14  Wim Taymans  <wim@fluendo.com>
4078
4079         * common/gst.supp:
4080           add suppressions from Wim's Debian machine
4081
4082 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4083
4084         * common/gst.supp:
4085           add suppressions from Andy's AMD64 Ubuntu machine
4086
4087 2005-11-14  Andy Wingo  <wingo@pobox.com>
4088
4089         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
4090         STATE_LOCK not necessary. Fixes #311489.
4091
4092         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
4093         #305291.
4094
4095         * gst/gstindex.c (gst_index_add_object): Note in the docs that
4096         this function is not implemented.
4097
4098 2005-11-14  Julien MOUTTE  <julien@moutte.net>
4099
4100         * gst/base/gstbasetransform.c:
4101         (gst_base_transform_prepare_output_buf):
4102         Ref the source pad caps while we need them.
4103         Fixes (#321386)
4104
4105 2005-11-11  Wim Taymans  <wim@fluendo.com>
4106
4107         * docs/gst/gstreamer-sections.txt:
4108         Added some docs for GstCollectData.
4109
4110         * gst/base/gstadapter.c:
4111         Some small code example fix.
4112
4113         * gst/base/gstcollectpads.c:
4114         * gst/base/gstcollectpads.h:
4115         Document some more.
4116
4117 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4118
4119         * configure.ac: back to HEAD
4120
4121 === release 0.9.5 ===
4122
4123 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
4124
4125         * configure.ac:
4126           releasing 0.9.5, "Bike Lunch Day"
4127
4128 2005-11-11  Wim Taymans  <wim@fluendo.com>
4129
4130         * gst/gstbuffer.c: (_gst_buffer_copy):
4131         Copy more flags.
4132
4133         * gst/gstcaps.c: (gst_caps_is_equal):
4134         Fix some docs.
4135         Make _is_equal fast in the trivial cases.
4136
4137         * gst/gstminiobject.c:
4138         * gst/gstminiobject.h:
4139         More docs. Spifify .h file.
4140
4141         * gst/gstutils.c:
4142         Small doc update.
4143
4144 2005-11-11  Wim Taymans  <wim@fluendo.com>
4145
4146         * gst/base/gstbasetransform.c:
4147         (gst_base_transform_prepare_output_buf),
4148         (gst_base_transform_handle_buffer):
4149         Small cleanups.
4150         If we're processing a buffer and need to allocate an output
4151         buffer, we cannot accept a format change. If we did get a 
4152         format change, we have to alloc a buffer ourselves of the 
4153         right size.
4154
4155 2005-11-11  Wim Taymans  <wim@fluendo.com>
4156
4157         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
4158         While checking the flag for reentrancy in the gstcaps function
4159         is nice to detect recursive invocations, it also makes it 
4160         impossible to call getcaps from multiple threads, which must be
4161         possible. So, checking for recursive calls has to go.
4162
4163 2005-11-11  Michael Smith <msmith@fluendo.com>
4164
4165         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4166           Don't sync on buffers that fall partially outside our current
4167           segment. Prevents an assertion failure/abort playing some files.
4168
4169 2005-11-10  Andy Wingo  <wingo@pobox.com>
4170
4171         * check/gst/gstbin.c (test_message_state_changed_children): Style
4172         fix..
4173
4174         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
4175         gst_bus_poll with the signal watch. Ensures that poll and a signal
4176         watch see the same messages.
4177
4178         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
4179         a poll and a watch at the same time get the same messages.
4180
4181 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4182
4183         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
4184         * gst/gstcaps.c: (gst_caps_intersect):
4185           Don't call gst_caps_do_simplify - it doesn't respect order of caps
4186           and it's not needed.
4187
4188 2005-11-10  Wim Taymans  <wim@fluendo.com>
4189
4190         * docs/design/part-TODO.txt:
4191         Updated todo.
4192
4193 2005-11-10  Wim Taymans  <wim@fluendo.com>
4194
4195         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4196         * gst/base/gstbasesrc.c: (gst_base_src_wait),
4197         (gst_base_src_do_sync), (gst_base_src_get_range):
4198         Implement clock sync in base class.
4199
4200 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4201
4202         patch by: Tim-Philipp Müller <tim at centricular dot net>
4203
4204         * gst/gststructure.c: (gst_structure_parse_field),
4205         (gst_structure_from_string):
4206           Forward-port a 0.8 patch to handle escaped spaces in structure string,
4207           so that gst_parse_launch() can deal with spaces in filtered link
4208           caps (fixes #164479)
4209         * check/gst/capslist.h:
4210         * check/gst/gststructure.c: (GST_START_TEST):
4211           add unit tests for this change
4212
4213 2005-11-10  Wim Taymans  <wim@fluendo.com>
4214
4215         * docs/gst/gstreamer-sections.txt:
4216         * gst/gstelement.c:
4217         * gst/gstelement.h:
4218         Fix docs, move some STATE macros to private.
4219
4220 2005-11-10  Wim Taymans  <wim@fluendo.com>
4221
4222         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4223         Added check for bug #317341
4224
4225         * gst/gstbuffer.c:
4226         * gst/gstbuffer.h:
4227         Some more spiffifying.
4228
4229         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
4230         Call peer linkfunction if we are a source pad. Totally fixes
4231         #317341
4232
4233         * gst/gstpad.c:
4234         Update docs, source pads should call the peer linkfunction
4235         so they can atomically perform the pad link.
4236
4237 2005-11-09  Wim Taymans  <wim@fluendo.com>
4238
4239         * gst/gstbuffer.c:
4240         * gst/gstbuffer.h:
4241         Uber-spiffy-spiffify some more.
4242
4243 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
4244
4245         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4246         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4247         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4248         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4249         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4250         * gst/gstpad.c: (gst_pad_init):
4251           Use GST_DEBUG_FUNCPTR() more extensively.
4252
4253 2005-11-09  Wim Taymans  <wim@fluendo.com>
4254
4255         * gst/gstobject.c: (gst_object_class_init):
4256         * gst/gstobject.h:
4257         Documentation fixes.
4258
4259 2005-11-09  Edward Hervey  <edward@fluendo.com>
4260
4261         * gst/gsttypefindfactory.c:
4262         Fix docs.
4263         
4264 2005-11-09  Edward Hervey  <edward@fluendo.com>
4265
4266         * gst/base/gsttypefindhelper.c:
4267         * gst/gsttypefind.c:
4268         * gst/gsttypefind.h:
4269         Fix docs.
4270
4271 2005-11-09  Wim Taymans  <wim@fluendo.com>
4272
4273         * gst/gstiterator.c:
4274         Fix revision data.
4275
4276         * gst/gsttask.c:
4277         * gst/gsttask.h:
4278         Fix docs.
4279
4280 2005-11-09  Wim Taymans  <wim@fluendo.com>
4281
4282         * gst/gstevent.h:
4283         * gst/gsturi.h:
4284         Fix docs.
4285
4286 2005-11-09  Wim Taymans  <wim@fluendo.com>
4287
4288         * docs/gst/gstreamer-sections.txt:
4289         Moved the message async delivery private lock and cond
4290         to the private section.
4291
4292         * gst/gstmessage.c:
4293         * gst/gstmessage.h:
4294         Fixed docs.
4295
4296 2005-11-09  Edward Hervey  <edward@fluendo.com>
4297
4298         * docs/gst/gstreamer-sections.txt:
4299         * gst/gsturi.c:
4300         * gst/gsturi.h:
4301         Document GstURIHandler
4302
4303 2005-11-09  Wim Taymans  <wim@fluendo.com>
4304
4305         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4306         (gst_iterator_find_custom):
4307         * gst/gstiterator.h:
4308         Fix iterator docs.
4309
4310 2005-11-09  Wim Taymans  <wim@fluendo.com>
4311
4312         * gst/gstbin.h:
4313         Document another field.
4314
4315         * gst/gststructure.c:
4316         * gst/gststructure.h:
4317         Document.
4318
4319 2005-11-09  Wim Taymans  <wim@fluendo.com>
4320
4321         * gst/gstbin.h:
4322         Documented structs.
4323
4324 2005-11-09  Wim Taymans  <wim@fluendo.com>
4325
4326         * docs/gst/gstreamer-sections.txt:
4327         Added some new macros.
4328
4329         * gst/gstclock.c:
4330         * gst/gstclock.h:
4331         * gst/gstobject.h:
4332         Docs updates.
4333
4334 2005-11-09  Wim Taymans  <wim@fluendo.com>
4335
4336         * docs/design/part-TODO.txt:
4337         Some more items for the TODO
4338
4339         * gst/gstcaps.c:
4340         * gst/gstcaps.h:
4341         Document GstCaps.
4342
4343 2005-11-09  Andy Wingo  <wingo@pobox.com>
4344
4345         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4346         to work on something else now tho...
4347
4348         * gst/base/gstadapter.c: More adapter docs.
4349
4350         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4351         (gst_file_sink_stop): New functions, replace the state change
4352         handler.
4353         (gst_file_sink_class_init): Hook up the start and stop functions.
4354         (gst_file_sink_base_init): Don't set the state change handler any
4355         more. It was a bit ugly too, being set from here...
4356         (gst_file_sink_get_property, gst_file_sink_set_property):
4357         Cleanups...
4358         (gst_file_sink_set_location): More robust check that doesn't call
4359         GST_STATE. Ugggggg.
4360
4361 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4362
4363         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4364           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4365
4366 2005-11-08  Wim Taymans  <wim@fluendo.com>
4367
4368         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4369         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4370         (gst_base_sink_chain), (gst_base_sink_change_state):
4371         * gst/base/gstbasesink.h:
4372         * gst/base/gstbasesrc.h:
4373         * gst/gstelement.h:
4374         * gst/gstevent.h:
4375         Avoid excessive typechecking in macros.
4376
4377         * gst/gstminiobject.c: (gst_mini_object_get_type),
4378         (gst_mini_object_init), (gst_mini_object_new),
4379         (gst_mini_object_free):
4380         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4381         (gst_object_finalize):
4382         Remove cruft code, optimize alloc_trace.
4383
4384 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4385
4386         * docs/faq/gst-uninstalled:
4387           fix up PS1 for systems that try to reset it
4388
4389 2005-11-07  Wim Taymans  <wim@fluendo.com>
4390
4391         * gst/base/gstbasesrc.c: (gst_base_src_init),
4392         (gst_base_src_get_range):
4393         Set the segment_end to -1 initially. Fixed typefind.
4394
4395 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4396
4397         * gst/base/gstadapter.c:
4398           Debug category should be 'adapter', not 'GstAdapter'.
4399           
4400         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4401         (gst_collectpads_class_init), (gst_collectpads_init),
4402         (gst_collectpads_peek), (gst_collectpads_pop),
4403         (gst_collectpads_event), (gst_collectpads_chain):
4404           Add debug category and some debugging output. Use boilerplate
4405           macros. Remove some extraneous words from docs.
4406
4407 2005-11-05  Andy Wingo  <wingo@pobox.com>
4408
4409         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4410         macro.
4411
4412 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4413
4414         * docs/gst/gstreamer-sections.txt:
4415         * gst/gstcaps.h:
4416         * gst/gstinfo.c:
4417         * gst/gstminiobject.h:
4418         * gst/gstobject.h:
4419         * gst/gstutils.h:
4420           more docs added
4421
4422 2005-11-04  Wim Taymans  <wim@fluendo.com>
4423
4424         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4425         Small update to stop at the configured segment_end
4426         position.
4427
4428 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4429
4430         * gst/gstregistry.c:
4431         * gst/gstregistry.h:
4432           added missing docs
4433
4434 2005-11-04  Edward Hervey  <edward@fluendo.com>
4435
4436         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4437         Check if we are doing a segment seek and have arrived at the
4438         end of that segment.
4439
4440 2005-11-04  Wim Taymans  <wim@fluendo.com>
4441
4442         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4443         Don't leak a mutex unlock in case of an error.
4444
4445         * gst/gstbus.h:
4446         Doc fixes.
4447
4448 2005-11-04  Wim Taymans  <wim@fluendo.com>
4449
4450         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4451         (gst_bus_post):
4452         Get the context to wake up only once.
4453
4454 2005-11-03  Wim Taymans  <wim@fluendo.com>
4455
4456         * check/states/sinks.c: (GST_START_TEST):
4457         Uncomment fixed check.
4458
4459         * docs/design/part-TODO.txt:
4460         Updated TODO.
4461
4462         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4463         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4464         (gst_base_sink_get_position):
4465         If we are going to PLAYING, post the right pending state
4466         when we post the intermediate paused message.
4467
4468         * gst/gstelement.c: (gst_element_continue_state),
4469         (gst_element_set_state_func), (gst_element_change_state):
4470         Don't post state changes that were between the same state
4471         and were not ASYNC.
4472
4473 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4474
4475         * docs/gst/gstreamer-sections.txt:
4476         * gst/gstcaps.h:
4477         * gst/gstinfo.c:
4478         * gst/gstminiobject.h:
4479         * gst/gstobject.h:
4480         * gst/gstutils.h:
4481           more docs and doc style fixes
4482
4483 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4484
4485         * docs/gst/gstreamer-sections.txt:
4486         * gst/gstelement.c:
4487         * gst/gstminiobject.c:
4488         doc fixes
4489
4490 2005-11-03  Andy Wingo  <wingo@pobox.com>
4491
4492         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4493         state-changed messages actually have the right order and the right
4494         values.
4495
4496 2005-11-03  Wim Taymans  <wim@fluendo.com>
4497
4498         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4499         Added some more checks. Specifically the case where NO_PREROLL
4500         elements are in the pipeline.
4501
4502         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4503         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4504         (gst_base_sink_get_position):
4505         Post READY->PAUSED state change messages too.
4506         Fix bug where VOID was posted as pending state...
4507
4508         * gst/gstbin.c: (gst_bin_recalc_state):
4509         use _element_continue_state() to continue the state change.
4510
4511         * gst/gstelement.c: (gst_element_continue_state),
4512         (gst_element_commit_state), (gst_element_set_state_func),
4513         (gst_element_change_state), (gst_element_change_state_func):
4514         Lots of state change cleanups, assign the STATE_RETURN in
4515         a new continue_state() function that also propagates the
4516         last return value from a state change to the app.
4517         Update some debug statements with proper category.
4518
4519 2005-11-03  Wim Taymans  <wim@fluendo.com>
4520
4521         * docs/design/part-events.txt:
4522         * docs/design/part-gstpipeline.txt:
4523         * docs/design/part-messages.txt:
4524         * docs/design/part-overview.txt:
4525         * docs/design/part-seeking.txt:
4526         * docs/design/part-states.txt:
4527         * docs/design/part-trickmodes.txt:
4528         * docs/manual/advanced-position.xml:
4529         Small docs updates.
4530
4531         * gst/gstobject.h:
4532         People think !! is ugly, this looks better.
4533
4534         * gst/gstpad.c: (gst_pad_set_blocked_async):
4535         Remove !! since it's fixed elsewhere now.
4536
4537 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4538
4539         * gst/gstminiobject.h:
4540         * gst/gstobject.h:
4541           Add !! to _FLAG_IS_SET macros to make the result boolean.
4542
4543 2005-11-03  Edward Hervey  <edward@fluendo.com>
4544
4545         * gst/gstpad.c: (gst_pad_set_blocked_async):
4546         comparing a flag and a gboolean rarely returns coherent results...
4547         Added two characters (!!) to make that work correctly.
4548         
4549 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4550
4551         * gst/gstbus.c: (gst_bus_class_init):
4552           Fix some typos.
4553           
4554         * gst/gstqueue.c: (gst_queue_loop):
4555           Don't assume a miniobject that isn't a buffer is an
4556           event (it could be that there is a refcounting
4557           problem somewhere and the pointer is stale and
4558           refers to an already destroyed miniobject).
4559
4560 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4561
4562         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4563
4564 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4565
4566         * docs/manual/advanced-position.xml:
4567           Update seek example and explanations to current 0.9 API.
4568
4569         * gst/elements/gsttypefindelement.c:
4570         (gst_type_find_element_activate):
4571           Remove FIXME comment now that the found caps
4572           are unreffed.
4573
4574 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4575
4576         * gst/gstregistryxml.c: (load_feature):
4577           Add another GST_STR_NULL instance
4578
4579 2005-11-02  Edward Hervey  <edward@fluendo.com>
4580
4581         * gst/gstpad.c: (handle_pad_block):
4582         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4583         
4584 2005-11-02  Wim Taymans  <wim@fluendo.com>
4585
4586         * gst/gstbin.c:
4587         Fix typo in docs.
4588
4589         * gst/gstelement.c: (gst_element_commit_state):
4590         Remove unused value.
4591
4592         * gst/gstiterator.c:
4593         Mention that the returned element is reffed in the docs.
4594
4595 2005-11-02  Wim Taymans  <wim@fluendo.com>
4596
4597         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4598         (gst_pad_push), (gst_pad_push_event):
4599         Unlock blocked pads when they are flushed.
4600
4601 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4602
4603         * docs/README:
4604         * docs/gst/gstreamer-sections.txt:
4605         * gst/gstbin.c:
4606           doc updates
4607         * gst/gstregistry.c: (gst_registry_scan_path_level):
4608           fix for a nasty little missed situation where an installed plug-in
4609           which was in the cache did not get overridden by an uninstalled one
4610           which was earlier in the plugin path because the newly created plugin
4611           for the uninstalled one (not in the registry) didn't get its
4612           ->registered set to TRUE
4613
4614 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4615
4616         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4617         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4618         (gst_collectpads_is_active), (gst_collectpads_collect),
4619         (gst_collectpads_collect_range), (gst_collectpads_start),
4620         (gst_collectpads_stop), (gst_collectpads_peek),
4621         (gst_collectpads_pop), (gst_collectpads_available),
4622         (gst_collectpads_read), (gst_collectpads_flush):
4623           Guard public API with assertions.
4624         
4625         * gst/gstpad.c:
4626           Fix docs for gst_pad_set_link_function().
4627
4628 2005-11-02  Johan Dahlin  <johan@gnome.org>
4629
4630         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4631         Unref found_caps after we used it.
4632
4633 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4634
4635         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4636           Don't try to ref NULL.
4637
4638 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4639
4640         * win32/common/config.h.in:
4641           provide a GST_FUNCTION that just gives a string for now
4642
4643 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4644
4645         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4646         (gst_object_flags_get_type), (register_gst_bin_flags),
4647         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4648         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4649         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4650         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4651         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4652         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4653         (gst_clock_flags_get_type), (register_gst_state),
4654         (gst_state_get_type), (register_gst_state_change_return),
4655         (gst_state_change_return_get_type), (register_gst_state_change),
4656         (gst_state_change_get_type), (register_gst_element_flags),
4657         (gst_element_flags_get_type), (register_gst_core_error),
4658         (gst_core_error_get_type), (register_gst_library_error),
4659         (gst_library_error_get_type), (register_gst_resource_error),
4660         (gst_resource_error_get_type), (register_gst_stream_error),
4661         (gst_stream_error_get_type), (register_gst_event_type),
4662         (gst_event_type_get_type), (register_gst_seek_type),
4663         (gst_seek_type_get_type), (register_gst_seek_flags),
4664         (gst_seek_flags_get_type), (register_gst_format),
4665         (gst_format_get_type), (register_gst_index_certainty),
4666         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4667         (gst_index_entry_type_get_type),
4668         (register_gst_index_lookup_method),
4669         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4670         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4671         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4672         (gst_index_flags_get_type), (register_gst_debug_level),
4673         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4674         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4675         (gst_iterator_result_get_type), (register_gst_iterator_item),
4676         (gst_iterator_item_get_type), (register_gst_message_type),
4677         (gst_message_type_get_type), (register_gst_mini_object_flags),
4678         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4679         (gst_pad_link_return_get_type), (register_gst_flow_return),
4680         (gst_flow_return_get_type), (register_gst_activate_mode),
4681         (gst_activate_mode_get_type), (register_gst_pad_direction),
4682         (gst_pad_direction_get_type), (register_gst_pad_flags),
4683         (gst_pad_flags_get_type), (register_gst_pad_presence),
4684         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4685         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4686         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4687         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4688         (gst_plugin_flags_get_type), (register_gst_rank),
4689         (gst_rank_get_type), (register_gst_query_type),
4690         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4691         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4692         (gst_tag_flag_get_type), (register_gst_task_state),
4693         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4694         (gst_alloc_trace_flags_get_type),
4695         (register_gst_type_find_probability),
4696         (gst_type_find_probability_get_type), (register_gst_uri_type),
4697         (gst_uri_type_get_type), (register_gst_parse_error),
4698         (gst_parse_error_get_type):
4699         * win32/common/gstversion.h:
4700           update win32 copies
4701
4702 2005-11-01  Luca Ognibene  <luogni@tin.it>
4703
4704         * gst/gst.c:
4705           fix docs. popt is dead, long live GOption.
4706
4707 2005-10-31  Wim Taymans  <wim@fluendo.com>
4708
4709         * gst/gstbuffer.h:
4710         Small doc fix.
4711
4712 2005-10-31  Andy Wingo  <wingo@pobox.com>
4713
4714         * Boo!
4715
4716         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4717
4718         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4719         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4720         the possibility of deadlocks here if code calling notify() or
4721         set() has a lock that can be taken in another notify handler (ABBA
4722         with class lock and e.g. python GIL state lock).
4723
4724 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4725
4726         * gst/gstbus.c: Doc updates.
4727
4728 2005-10-28  Wim Taymans  <wim@fluendo.com>
4729
4730         * docs/design/part-TODO.txt:
4731         * gst/gstiterator.c:
4732         * gst/gstsystemclock.c:
4733         * gst/gstsystemclock.h:
4734         Doc updates.
4735
4736 2005-10-28  Edward Hervey  <edward@fluendo.com>
4737
4738         * docs/gst/gstreamer-docs.sgml:
4739         * docs/gst/gstreamer-sections.txt:
4740         the GstURIType documentation page is private, it only defines GstURIType
4741         which should be defined in the GstURIHandler page
4742         
4743 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4744
4745         * gst/gstbin.c: (gst_bin_class_init):
4746         * gst/gstbin.h:
4747         * gst/gstutils.c:
4748         Documentation updates.
4749
4750 2005-10-28  Wim Taymans  <wim@fluendo.com>
4751
4752         * docs/gst/gstreamer-sections.txt:
4753         * gst/gstclock.c:
4754         * gst/gstclock.h:
4755         Documented the clocks.
4756
4757 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4758
4759         * docs/gst/gstreamer-sections.txt:
4760           move some macros to private sections
4761         * gst/gstminiobject.c:
4762         * gst/gstminiobject.h:
4763           add descriptions provided by ds and some more
4764         * gst/gstpad.h:
4765           mark macro as to be removed
4766
4767 2005-10-28  Wim Taymans  <wim@fluendo.com>
4768
4769         * docs/design/part-TODO.txt:
4770         Add an item to TODO.
4771
4772         * gst/gstiterator.c: (gst_iterator_fold),
4773         (gst_iterator_find_custom):
4774         * gst/gstiterator.h:
4775         Add iterator docs.
4776
4777 2005-10-28  Wim Taymans  <wim@fluendo.com>
4778
4779         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4780         (gst_base_transform_init):
4781         Don't leak class.
4782
4783         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4784         An EOS event marks the queue as completely filled.
4785
4786 2005-10-27  Wim Taymans  <wim@fluendo.com>
4787
4788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4789         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4790         Some more debugging.
4791
4792         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4793         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4794         (gst_base_transform_event), (gst_base_transform_getrange),
4795         (gst_base_transform_chain):
4796         * gst/base/gstbasetransform.h:
4797         Fix debugging,
4798         Protect transform and concurrent buffer alloc with a new lock.
4799         Try not to break ABI/API.
4800
4801 2005-10-27  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4804         (gst_base_src_init), (gst_base_src_query),
4805         (gst_base_src_default_newsegment),
4806         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4807         (gst_base_src_send_event), (gst_base_src_event_handler),
4808         (gst_base_src_pad_get_range), (gst_base_src_loop),
4809         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4810         (gst_base_src_start), (gst_base_src_deactivate),
4811         (gst_base_src_activate_push), (gst_base_src_change_state):
4812         Move some stuff around and cleanup things.
4813
4814 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4815
4816         * gst/base/gstbasesrc.c: (gst_base_src_query):
4817           Add missing break statements.
4818
4819 2005-10-27  Wim Taymans  <wim@fluendo.com>
4820
4821         * check/gst/gstbin.c: (GST_START_TEST):
4822         An extra refcount is taken in basesrc.
4823
4824         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4825         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4826         (gst_base_src_loop):
4827         Small cleanups, check for flushing after being unlocked from the 
4828         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4829         Don't send out EOS when going to READY.
4830
4831 2005-10-27  Wim Taymans  <wim@fluendo.com>
4832
4833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4834         (gst_base_sink_get_position):
4835         Some more debug.
4836
4837         * gst/gstbin.c: (message_check), (bin_replace_message),
4838         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4839         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4840         (bin_query_duration_init), (bin_query_duration_fold),
4841         (bin_query_duration_done), (bin_query_generic_fold),
4842         (gst_bin_query):
4843         * tools/gst-launch.c: (main):
4844         Remove old option.
4845
4846 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4847
4848         * examples/controller/audio-example.c: (main):
4849         * examples/queue/queue.c: (event_loop):
4850         * gst/base/gstbasetransform.h:
4851         * gst/gstelement.c: (gst_element_send_event):
4852         * gst/gstevent.h:
4853         * gst/gstpad.c: (gst_pad_send_event):
4854           fixing examples
4855           fixing docs typos
4856           changing log priority in error situations
4857
4858 2005-10-25  Wim Taymans  <wim@fluendo.com>
4859
4860         * gst/gstbin.c: (message_check), (bin_replace_message),
4861         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4862         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4863         (bin_query_duration_init), (bin_query_duration_fold),
4864         (bin_query_duration_done), (bin_query_generic_fold),
4865         (gst_bin_query):
4866         Some doc and debug updates.
4867         Cache previously requested query DURATION for speed. invalidate
4868         cached duration if element posts a DURATION message.
4869
4870 2005-10-25  Wim Taymans  <wim@fluendo.com>
4871
4872         * docs/design/part-TODO.txt:
4873         Update TODO.
4874
4875         * gst/gstbin.c: (message_check), (bin_replace_message),
4876         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4877         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4878         (bin_query_duration_init), (bin_query_duration_fold),
4879         (bin_query_duration_done), (bin_query_generic_fold),
4880         (gst_bin_query):
4881         Handle SEGMENT_START/DONE messages correctly.
4882         More evolved query algorithm that handles duration queries
4883         correctly.
4884
4885         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4886         (gst_element_get_state_func), (gst_element_abort_state),
4887         (gst_element_commit_state), (gst_element_lost_state):
4888         Some more debugging.
4889
4890         * gst/gstmessage.h:
4891         Added doc.
4892
4893 2005-10-25  Wim Taymans  <wim@fluendo.com>
4894
4895         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4896         Don't use invalid stream_time.
4897
4898         * gst/gstevent.c: (gst_event_new_newsegment):
4899         stream_time in newsegment cannot be undefined.
4900
4901 2005-10-24  Wim Taymans  <wim@fluendo.com>
4902
4903         * gst/gstbus.c:
4904         Doc fix.
4905
4906         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4907         (gst_queue_loop):
4908         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4909
4910 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4911
4912         * docs/libs/tmpl/gstdparam.sgml:
4913         * docs/libs/tmpl/gstdplinint.sgml:
4914         * docs/libs/tmpl/gstdpman.sgml:
4915         * docs/libs/tmpl/gstdpsmooth.sgml:
4916         * docs/libs/tmpl/gstunitconvert.sgml:
4917           these are obsolete
4918
4919 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4920
4921         * configure.ac:
4922           back to HEAD
4923
4924 === release 0.9.4 ===
4925
4926 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4927
4928         * configure.ac:
4929           releasing 0.9.4, "Tyrannosaurus Rex"
4930
4931 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4932
4933         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4934         (gst_file_sink_get_current_offset):
4935           Use fseeko() and ftello() if available. When falling back on
4936           lseek() to get the current offset, fflush() first to make sure
4937           everything is up-to-date and we get the right offset.
4938
4939 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4940
4941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4942         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4943         * gst/gsterror.c: (_gst_stream_errors_init):
4944         * gst/gsterror.h:
4945         * gst/gstqueue.c: (gst_queue_loop):
4946         * po/POTFILES.in:
4947           remove prematurely added error category and clean up the instances
4948
4949 2005-10-21  Wim Taymans  <wim@fluendo.com>
4950
4951         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4952         (gst_base_sink_get_position), (gst_base_sink_query),
4953         (gst_base_sink_change_state):
4954         Simply set the right flag when going to playing, that's all
4955         we need to do instead of calling a function inside the object
4956         lock (that could take the lock as well and deadlock)
4957
4958 2005-10-21  Wim Taymans  <wim@fluendo.com>
4959
4960         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4961         (gst_base_src_loop):
4962         Don't warn, the peer element knows what to do best when
4963         the seek failed, it might try something else.
4964
4965 2005-10-21  Wim Taymans  <wim@fluendo.com>
4966
4967         * gst/base/gstbasesrc.c: (gst_base_src_init),
4968         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4969         Fix seeking.
4970
4971 2005-10-21  Wim Taymans  <wim@fluendo.com>
4972
4973         * docs/design/part-segments.txt:
4974         More docs.
4975
4976         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4977         Correctly set caps, even on the subbufer.
4978
4979 2005-10-21  Wim Taymans  <wim@fluendo.com>
4980
4981         * docs/gst/gstreamer-docs.sgml:
4982         * docs/gst/gstreamer-sections.txt:
4983         * gst/gstelement.h:
4984         * gst/gstevent.c:
4985         * gst/gstevent.h:
4986         * gst/gstmessage.h:
4987         * gst/gstpad.h:
4988         * gst/gstparse.h:
4989         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4990         * gst/gsttask.h:
4991         * gst/gstutils.c:
4992         * gst/gstutils.h:
4993         And 2% more doc coverage.
4994
4995 2005-10-21  Andy Wingo  <wingo@pobox.com>
4996
4997         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4998         position reporting.
4999
5000 2005-10-20  Wim Taymans  <wim@fluendo.com>
5001
5002         * gst/gsterror.c: (gst_error_get_message):
5003         * gst/gstparse.h:
5004         * gst/gstquery.h:
5005         * gst/gststructure.c:
5006         * gst/gsttrace.c:
5007         * gst/gstutils.c:
5008         More docs.
5009
5010 2005-10-20  Wim Taymans  <wim@fluendo.com>
5011
5012         * gst/gstbuffer.h:
5013         * gst/gstpad.c:
5014         * gst/gstparse.c:
5015         Another 1% more coverage.
5016
5017 2005-10-20  Wim Taymans  <wim@fluendo.com>
5018
5019         * docs/gst/gstreamer-sections.txt:
5020         * gst/gstelement.c: (gst_element_get_state_func),
5021         (gst_element_abort_state), (gst_element_commit_state),
5022         (gst_element_lost_state):
5023         * gst/gstevent.h:
5024         * gst/gstquery.c: (gst_query_set_position),
5025         (gst_query_parse_position), (gst_query_set_duration),
5026         (gst_query_parse_duration), (gst_query_new_convert):
5027         * gst/gstutils.c:
5028         Yay! 1% more docs coverage.
5029
5030 2005-10-20  Wim Taymans  <wim@fluendo.com>
5031
5032         * gst/gstpad.h:
5033         * gst/gstquery.c: (gst_query_set_position),
5034         (gst_query_parse_position), (gst_query_set_duration),
5035         (gst_query_parse_duration), (gst_query_new_convert):
5036         * gst/gstquery.h:
5037         * gst/gstutils.c: (gst_element_query_convert):
5038         * gst/gstutils.h:
5039         Docs and consistency fixes.
5040
5041 2005-10-20  Wim Taymans  <wim@fluendo.com>
5042
5043         * gst/gsttask.c:
5044         * gst/gsttask.h:
5045         More docs.
5046
5047 2005-10-20  Wim Taymans  <wim@fluendo.com>
5048
5049         * gst/gstbin.c: (message_check), (bin_replace_message),
5050         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5051         (update_degree), (gst_bin_sort_iterator_next),
5052         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
5053         Reworked the message handling a bit, cache the messages instead of
5054         only the senders. alows us to do more in the future.
5055
5056 2005-10-20  Wim Taymans  <wim@fluendo.com>
5057
5058         * docs/design/part-TODO.txt:
5059         Update TODO
5060
5061         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5062         (gst_base_sink_query):
5063         Don't use clock time to report position when in EOS.
5064
5065 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
5066
5067         * tools/gst-inspect.c: (print_interfaces),
5068         (print_element_properties_info), (print_element_info):
5069           Fix interface output with gst-inspect -a; don't print
5070           newlines after double/float properties.
5071
5072 2005-10-20  Wim Taymans  <wim@fluendo.com>
5073
5074         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5075         (gst_base_sink_query):
5076         Speed up current position calculation.
5077
5078         * gst/base/gstbasesrc.c: (gst_base_src_query),
5079         (gst_base_src_default_newsegment):
5080         Correctly set stream position in newsegment.
5081
5082         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
5083         (update_degree), (gst_bin_sort_iterator_next),
5084         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
5085         * gst/gstmessage.c: (gst_message_new_custom):
5086         Clean up debugging info
5087
5088         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5089         (gst_queue_loop), (gst_queue_handle_src_query):
5090         Pause task faster.
5091
5092 2005-10-19  Wim Taymans  <wim@fluendo.com>
5093
5094         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5095         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5096         Fix query handling again.
5097
5098 2005-10-19  Wim Taymans  <wim@fluendo.com>
5099
5100         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5101         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5102         * gst/base/gstbasesrc.c: (gst_base_src_query):
5103         * gst/elements/gstfilesink.c: (gst_file_sink_query):
5104         * gst/elements/gsttypefindelement.c:
5105         (gst_type_find_handle_src_query), (find_element_get_length),
5106         (gst_type_find_element_activate):
5107         API change fix.
5108
5109         * gst/gstquery.c: (gst_query_new_position),
5110         (gst_query_set_position), (gst_query_parse_position),
5111         (gst_query_new_duration), (gst_query_set_duration),
5112         (gst_query_parse_duration), (gst_query_set_segment),
5113         (gst_query_parse_segment):
5114         * gst/gstquery.h:
5115         Bundling query position/duration is not a good idea since duration
5116         does not change much and we don't want to recalculate it for every
5117         position query, so they are separated again..
5118         Base value in segment query is not needed.
5119
5120         * gst/gstqueue.c: (gst_queue_handle_src_query):
5121         * gst/gstutils.c: (gst_element_query_position),
5122         (gst_element_query_duration), (gst_pad_query_position),
5123         (gst_pad_query_duration):
5124         * gst/gstutils.h:
5125         Updates for query API change.
5126         Added some docs here and there.
5127
5128 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5129
5130         * check/gst/gstbin.c: (GST_START_TEST):
5131         * check/gst/gstghostpad.c: (GST_START_TEST):
5132         * check/pipelines/cleanup.c: (GST_START_TEST):
5133           wait on thread to die so we can check refcount correctly
5134
5135 2005-10-18  Wim Taymans  <wim@fluendo.com>
5136
5137         * check/pipelines/stress.c: (GST_START_TEST):
5138         Make check a little more time consuming.
5139
5140 2005-10-18  Wim Taymans  <wim@fluendo.com>
5141
5142         * check/Makefile.am:
5143         * check/pipelines/stress.c: (GST_START_TEST),
5144         (simple_launch_lines_suite), (main):
5145         Small state change torture test.
5146
5147         * docs/design/part-states.txt:
5148         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5149         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
5150         (gst_base_sink_change_state):
5151         Never take state lock from streaming thread, clean up ugly
5152         hacks. Unfortunatly core does not yet support nice ways to
5153         async commit state.
5154         
5155         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
5156         (bin_bus_handler):
5157         Start state recalc if a STATE_DIRTY message is posted, but only
5158         on the toplevel bin.
5159
5160         * gst/gstelement.c: (gst_element_sync_state_with_parent),
5161         (gst_element_get_state_func), (gst_element_abort_state),
5162         (gst_element_commit_state), (gst_element_lost_state),
5163         (gst_element_set_state_func), (gst_element_change_state):
5164         * gst/gstelement.h:
5165         State variables are now protected with the LOCK, the state
5166         lock is only used to serialize _set_state().
5167
5168 2005-10-18  Wim Taymans  <wim@fluendo.com>
5169
5170         * check/gst/gstbin.c: (GST_START_TEST):
5171         * check/gst/gstmessage.c: (GST_START_TEST):
5172         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5173         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
5174         (bin_bus_handler):
5175         * gst/gstelement.c: (gst_element_abort_state),
5176         (gst_element_commit_state), (gst_element_lost_state):
5177         * gst/gstmessage.c: (gst_message_new_state_changed),
5178         (gst_message_new_state_dirty), (gst_message_new_segment_start),
5179         (gst_message_new_segment_done), (gst_message_new_duration),
5180         (gst_message_parse_state_changed),
5181         (gst_message_parse_segment_start),
5182         (gst_message_parse_segment_done), (gst_message_parse_duration):
5183         * gst/gstmessage.h:
5184         * tools/gst-launch.c: (event_loop):
5185         Seriously, this is better than a previous commit as we only need
5186         to notify the fact that an element changed state in a streaming
5187         thread, marking the state of the parents dirty, hence the 
5188         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
5189         message.
5190
5191 2005-10-18  Wim Taymans  <wim@fluendo.com>
5192
5193         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5194         (gst_bin_recalc_func):
5195         * gst/gstelement.c: (gst_element_set_clock),
5196         (gst_element_abort_state), (gst_element_lost_state):
5197         Cleanups, prepare for state change fixes.
5198
5199 2005-10-18  Wim Taymans  <wim@fluendo.com>
5200
5201         * gst/gstbin.h:
5202         * gst/gstelement.c: (gst_element_class_init),
5203         (gst_element_set_state), (gst_element_set_state_func):
5204         * gst/gstelement.h:
5205         Pending ABI changes.
5206         GThreadPool in GstBinClass to monitor async state changes.
5207         state_cookie in GstElement to detect concurrent gst/set state.
5208         set_state is now virtual too in case a very complicated element
5209         has to be constructed.
5210
5211 2005-10-18  Wim Taymans  <wim@fluendo.com>
5212
5213         * check/gst/gstbin.c: (GST_START_TEST):
5214         * check/gst/gstmessage.c: (GST_START_TEST):
5215         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5216         * gst/gstbin.c: (bin_bus_handler):
5217         * gst/gstelement.c: (gst_element_commit_state),
5218         (gst_element_lost_state):
5219         * gst/gstmessage.c: (gst_message_new_state_changed),
5220         (gst_message_new_segment_start), (gst_message_new_segment_done),
5221         (gst_message_new_duration), (gst_message_parse_state_changed),
5222         (gst_message_parse_segment_start),
5223         (gst_message_parse_segment_done), (gst_message_parse_duration):
5224         * gst/gstmessage.h:
5225         * tools/gst-launch.c: (event_loop):
5226         Make messages future proof.
5227         state-change gets a flag if it was a message comming from the
5228         streaming thread.
5229         segment-start/stop can also be specified in other formats.
5230         A message to notify an app that a pipeline changed playback 
5231         duration.
5232         Also fix a GstMessage leak in -launch
5233
5234 2005-10-18  Andy Wingo  <wingo@pobox.com>
5235
5236         * gst/gstelement.c (gst_element_dispose): More helpful message.
5237
5238 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5239
5240         reviewed by: <delete if not using a buddy>
5241
5242         * common/gtk-doc.mak:
5243
5244 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5245
5246         * gst/gstregistry.c: (gst_registry_scan_path_level):
5247           unref a plug-in we get that was already initialized
5248
5249 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5250
5251         * docs/gst/gstreamer-sections.txt:
5252         * docs/libs/gstreamer-libs-sections.txt:
5253         * gst/gstelement.h:
5254           add new api entries
5255           hide internal macro
5256
5257 2005-10-17  Andy Wingo  <wingo@pobox.com>
5258
5259         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5260         cleanup.
5261
5262         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5263
5264         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5265
5266         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5267         (gst_element_get_state_func): Better debug message.
5268         (gst_element_commit_state): s/INFO/DEBUG/.
5269         (gst_element_lost_state, gst_element_change_state): 
5270
5271         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5272         (gst_message_new_custom): s/INFO/LOG/.
5273
5274 2005-10-17  Michael Smith <msmith@fluendo.com>
5275
5276         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5277           Check if end time is valid using end time, not start time.
5278
5279 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5280
5281         * check/gst-libs/controller.c: (GST_START_TEST),
5282         (gst_controller_suite):
5283         * libs/gst/controller/gstcontroller.c:
5284         (gst_controlled_property_set_interpolation_mode):
5285         * libs/gst/controller/gstcontroller.h:
5286         * libs/gst/controller/gstinterpolation.c:
5287         * testsuite/controller/.cvsignore:
5288         * testsuite/controller/Makefile.am:
5289         * testsuite/controller/interpolator.c:
5290           merge controller testsuites
5291           fix broken tests
5292           remove mem-chunk from docs
5293
5294 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5295
5296         * gst/gstmemchunk.c:
5297         * gst/gstmemchunk.h:
5298         * gst/gsttrashstack.c:
5299         * gst/gsttrashstack.h:
5300           out.  get out.  you're fired.  to the Attic !
5301
5302 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5303
5304         * gst/gstcaps.c: (gst_caps_intersect):
5305           fix signedness issues in a (hopefully) correct way
5306         * gst/gstelement.c: (gst_element_pads_activate):
5307           some debugging
5308         * gst/gstobject.c: (gst_object_set_parent):
5309           some debugging
5310
5311 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5312
5313         * gst/gstvalue.h: Fix prototypes.
5314
5315 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5316
5317         * docs/gst/gstreamer-sections.txt:
5318         * gst/gst.c: (gst_version_string):
5319         * gst/gst.h:
5320         * gst/gstversion.h.in:
5321         * win32/common/libgstreamer.def:
5322           add gst_version_string ()
5323
5324 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5325
5326         * configure.ac:
5327           clean up further
5328         * gst/gst.c: (init_post):
5329         * win32/common/config.h.in:
5330           it's PLUGINDIR now
5331         * gst/gstcaps.c: (gst_caps_intersect):
5332           use gint64, the range could be bigger than a guint
5333
5334 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5335
5336         * gst/gstclock.h:
5337           document potential problem in 2038
5338
5339 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5340
5341         * gst/gstcaps.c: (gst_caps_intersect):
5342           Fix guint j diving under 0
5343
5344 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5345
5346         * configure.ac:
5347         * win32/common/config.h:
5348         * win32/common/config.h.in:
5349           check for process.h, declares getpid() on Windows
5350         * gst/gstinfo.c:
5351           include process.h if we have it
5352         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5353         * gst/gstmemchunk.h:
5354           fix signedness issues
5355         * win32/common/libgstreamer.def:
5356           fix get_type's
5357
5358 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5359
5360         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5361         fix. Because of unsigned ints, caps intersection was going nuts and
5362         trying to access structures with G_MAXUINT index. That fixes
5363         videotestsrc ! ffmpegcolorspace ! fakesink
5364         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5365         consistency.
5366
5367 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5368
5369         * configure.ac:
5370           use the gettext macro
5371         * gst/elements/gstelements.c:
5372         * gst/gst.c:
5373         * gst/indexers/gstindexers.c:
5374           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5375         * win32/common/config.h:
5376           updated config.h
5377         * win32/common/config.h.in:
5378           add the template to generate config.h
5379         * win32/common/gstenumtypes.c:
5380         * win32/common/gstversion.h:
5381           updated copies
5382
5383 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5384
5385         * gst/gst.c: (gst_version):
5386         * gst/gstversion.h.in:
5387           add the nano
5388
5389 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5390
5391         * gst/gstevent.h:
5392           Oops, add missing closing bracket.
5393
5394 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5395
5396         * configure.ac:
5397           use common m4's for argument checking
5398
5399 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5400
5401         * docs/gst/gstreamer-sections.txt:
5402         * gst/gstevent.h:
5403           Add GST_EVENT_TYPE_NAME() macro.
5404
5405 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5406
5407         * gst/gstinfo.c:
5408         * gst/gstpluginfeature.c:
5409         * gst/gsttask.c:
5410           privatize more symbols
5411
5412 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5413
5414         * configure.ac:
5415           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5416           everything that uses GStreamer API should have the includes
5417
5418 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5419
5420         * docs/gst/gstreamer-sections.txt:
5421         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5422         * gst/gstvalue.h:
5423           give each value a _get_type, removes the DATA exports
5424
5425 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5426
5427         * gst/gst.c:
5428         * gst/gst.h:
5429           remove _gst_registry_auto_load, not used anymore
5430         * gst/gstbin.c: (gst_bin_get_type):
5431         * gst/gstbin.h:
5432         * gst/gstelement.c: (gst_element_get_type):
5433         * gst/gstelement.h:
5434         * gst/gstobject.c: (gst_object_get_type):
5435         * gst/gstobject.h:
5436         * gst/gstpad.c: (gst_pad_get_type):
5437         * gst/gstpad.h:
5438           make _get_type functions similar, fixes data export from library
5439
5440 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5441
5442         * configure.ac:
5443           correctly make conditionals
5444         * gst/elements/Makefile.am:
5445         * gst/elements/gstelements.c:
5446           fix typo causing fdsrc not to build
5447
5448 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5449
5450         * testsuite/Makefile.am:
5451         * testsuite/bytestream/.cvsignore:
5452         * testsuite/bytestream/Makefile.am:
5453         * testsuite/bytestream/filepadsink.c:
5454         * testsuite/bytestream/gstbstest.c:
5455         * testsuite/bytestream/test1.c:
5456         * testsuite/bytestream/testfile1:
5457         * testsuite/caps/normalisation.c:
5458         * testsuite/caps/random.c: (main):
5459         * testsuite/cleanup/.cvsignore:
5460         * testsuite/cleanup/Makefile.am:
5461         * testsuite/cleanup/cleanup1.c:
5462         * testsuite/cleanup/cleanup2.c:
5463         * testsuite/cleanup/cleanup3.c:
5464         * testsuite/cleanup/cleanup4.c:
5465         * testsuite/cleanup/cleanup5.c:
5466         * testsuite/controller/interpolator.c:
5467         * testsuite/debug/printf_extension.c: (main):
5468         * testsuite/elements/tee.c:
5469         * testsuite/negotiation/.cvsignore:
5470         * testsuite/negotiation/Makefile.am:
5471         * testsuite/negotiation/pad_link.c:
5472         * testsuite/pad/Makefile.am:
5473         * testsuite/pad/chainnopull.c:
5474         * testsuite/pad/getnopush.c:
5475         * testsuite/pad/link.c:
5476         * testsuite/refcounting/sched.c: (create_pipeline):
5477         * testsuite/registry/Makefile.am:
5478         * testsuite/registry/gst-print-formats.c:
5479         * testsuite/schedulers/.cvsignore:
5480         * testsuite/schedulers/142183-2.c:
5481         * testsuite/schedulers/142183.c:
5482         * testsuite/schedulers/143777-2.c:
5483         * testsuite/schedulers/143777.c:
5484         * testsuite/schedulers/147713.c:
5485         * testsuite/schedulers/147819.c:
5486         * testsuite/schedulers/147894-2.c:
5487         * testsuite/schedulers/147894.c:
5488         * testsuite/schedulers/Makefile.am:
5489         * testsuite/schedulers/group_link.c:
5490         * testsuite/schedulers/queue_link.c:
5491         * testsuite/schedulers/relink.c:
5492         * testsuite/schedulers/unlink.c:
5493         * testsuite/schedulers/unref.c:
5494         * testsuite/schedulers/useless_iteration.c:
5495         * testsuite/states/bin.c:
5496           clean out/remove some stuff from the testsuite directories
5497
5498 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5499
5500         * configure.ac:
5501           check for some headers
5502         * gst/elements/Makefile.am:
5503         * gst/elements/gstelements.c:
5504           don't compile fdsrc without sys/socket.h
5505         * gst/indexers/Makefile.am:
5506         * gst/indexers/gstindexers.c: (plugin_init):
5507           don't compile fileindex without mmap
5508
5509 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         * configure.ac:
5512           reorganize
5513           clean up
5514           document more
5515           remove cruft
5516         * check/Makefile.am:
5517         * docs/gst/Makefile.am:
5518         * examples/helloworld/Makefile.am:
5519         * gst/Makefile.am:
5520         * gst/base/Makefile.am:
5521         * gst/check/Makefile.am:
5522         * gst/elements/Makefile.am:
5523         * gst/indexers/Makefile.am:
5524         * gst/parse/Makefile.am:
5525         * libs/gst/controller/Makefile.am:
5526         * libs/gst/dataprotocol/Makefile.am:
5527         * examples/helloworld/helloworld.c: (event_loop):
5528           compile fixes, though it's not being compiled currently
5529
5530 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5531
5532         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5533           Add some simple tests for the new taglist date API.
5534
5535 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5536
5537         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5538         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5539           Beautify 'last-message' output: print 'none' for buffer timestamps
5540           and durations if none is set; improve alignment with next messages.
5541
5542 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5543
5544         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5545         * gst/gstpluginfeature.h:
5546         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5547         * gst/gstregistry.h:
5548         * docs/gst/gstreamer-sections.txt:
5549           Add new API to check plugin feature version requirements.
5550
5551         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5552           Some basic tests for the above.         
5553
5554 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5555
5556         * gst/gststructure.c: (gst_structure_to_string):
5557           guard against NULL printf - happens when for example
5558           a message structure with GstClock gets serialized
5559
5560 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5561
5562         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5563           Fix presumable copy'n'pasto.
5564
5565 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5566
5567         * gst/elements/gstfakesrc.h:
5568         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5569         * gst/elements/gsttypefindelement.c:
5570           fix some signedness
5571         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5572           I wonder if this could actually write +2GB files before
5573
5574 2005-10-13  Andy Wingo  <wingo@pobox.com>
5575
5576         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5577         Fix Timmeke Waymans bug.
5578         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5579         string of the proper length to gst_caps_from_string. There's a
5580         potential for, before this fix, that this could cause someone
5581         connecting over the network to cause a segfault if the payload is
5582         not NUL-terminated.
5583
5584 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5585
5586         * docs/design/draft-push-pull.txt:
5587         * docs/design/part-overview.txt:
5588         * docs/random/TODO-pre-0.9:
5589         * docs/random/old/ChangeLog.gstreamer:
5590         * gst/base/gstpushsrc.c:
5591         * gst/gstclock.c:
5592           fixed typos
5593
5594 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5595
5596         * gst/glib-compat.c: (gst_flags_get_first_value):
5597         * gst/glib-compat.h:
5598         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5599         (gst_value_compare_double), (gst_value_serialize_flags):
5600           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5601           infinite loop
5602
5603 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5604
5605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5606         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5607           fix up debugging
5608         * tools/gst-launch.c: (event_loop):
5609           print out clock nicely
5610
5611 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5612
5613         * docs/gst/gstreamer-sections.txt:
5614         * gst/gsttaglist.h:
5615         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5616         (gst_tag_list_get_date_index):
5617           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5618           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5619
5620 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5621
5622         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5623         (gst_collectpads_chain):
5624         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5625         in CollectData.
5626
5627 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5628
5629         * docs/gst/gstreamer-sections.txt:
5630         * gst/gst.c:
5631         * gst/gsterror.h:
5632         * tools/gst-inspect.c: (main):
5633         * tools/gst-launch.c: (main):
5634         * tools/gst-run.c: (main):
5635         * tools/gst-xmlinspect.c: (main):
5636           fix GOption context leaks
5637           doc fixes
5638
5639 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5640
5641         * gst/gstbus.c:
5642           use HAVE_UNISTD_H
5643         * win32/common/config.h:
5644           update config
5645         * win32/vs6/grammar.dsp:
5646         * win32/vs6/libgstelements.dsp:
5647         * win32/vs6/libgstreamer.dsp:
5648           update vs6 files
5649
5650 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5651
5652         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5653         * gst/base/gstbasesrc.c: (gst_base_src_query):
5654           fix more guint64<->gdouble conversions
5655
5656 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5657
5658         * Makefile.am:
5659           add win32-update target
5660         * win32/common/gstconfig.h:
5661         * win32/common/gstenumtypes.c:
5662         * win32/common/gstenumtypes.h:
5663         * win32/common/gstversion.h:
5664           add files that visual studio can't generate
5665
5666 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5667
5668         * Makefile.am:
5669           add a win32-update target
5670         * configure.ac:
5671
5672 2005-10-12  Wim Taymans  <wim@fluendo.com>
5673
5674         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5675         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5676         * gst/gstelement.c: (gst_element_commit_state),
5677         (gst_element_set_state):
5678         Protect flags with proper lock.
5679         unref provided cached clock in dispose.
5680
5681 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5682
5683         * gst/gst.c:
5684         * gst/gstminiobject.h:
5685         * gst/gstpad.h:
5686         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5687           removed unused flags from miniobject
5688           doc fixes
5689
5690 2005-10-12  Wim Taymans  <wim@fluendo.com>
5691
5692         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5693         (gst_file_sink_event), (gst_file_sink_render):
5694         Flush before seeking.
5695
5696 2005-10-12  Andy Wingo  <wingo@pobox.com>
5697
5698         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5699         always been the case.
5700
5701 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5702
5703         * check/gst/gstbin.c: (GST_START_TEST):
5704         * docs/gst/gstreamer-sections.txt:
5705         * gst/base/gstbasesink.c: (gst_base_sink_init):
5706         * gst/base/gstbasesrc.c: (gst_base_src_init),
5707         (gst_base_src_get_range), (gst_base_src_check_get_range),
5708         (gst_base_src_start), (gst_base_src_stop):
5709         * gst/base/gstbasesrc.h:
5710         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5711         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5712         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5713         (bin_bus_handler):
5714         * gst/gstbin.h:
5715         * gst/gstbuffer.h:
5716         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5717         * gst/gstbus.h:
5718         * gst/gstelement.c: (gst_element_is_locked_state),
5719         (gst_element_set_locked_state), (gst_element_commit_state),
5720         (gst_element_set_state):
5721         * gst/gstelement.h:
5722         * gst/gstindex.c: (gst_index_init):
5723         * gst/gstindex.h:
5724         * gst/gstminiobject.h:
5725         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5726         (gst_object_set_parent):
5727         * gst/gstobject.h:
5728         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5729         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5730         * gst/gstpad.h:
5731         * gst/gstpadtemplate.h:
5732         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5733         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5734         * gst/gstpipeline.h:
5735         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5736         (gst_file_index_commit):
5737         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5738         * testsuite/pad/link.c: (gst_test_src_init),
5739         (gst_test_filter_init), (gst_test_sink_init):
5740         * testsuite/states/locked.c: (main):
5741           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5742           moved bitshift from macro to enum definition
5743
5744 2005-10-12  Wim Taymans  <wim@fluendo.com>
5745
5746         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5747         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5748         (gst_file_sink_render):
5749         Some more debugging info.
5750
5751 2005-10-12  Wim Taymans  <wim@fluendo.com>
5752
5753         * docs/design/part-states.txt:
5754         * tools/gst-launch.c: (main):
5755         Some doc updates.
5756         Revert non-intentional change.
5757
5758 2005-10-12  Wim Taymans  <wim@fluendo.com>
5759
5760         * check/gst/gstbin.c: (GST_START_TEST):
5761         * check/gst/gstelement.c: (GST_START_TEST):
5762         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5763         * check/gst/gstghostpad.c: (GST_START_TEST):
5764         * check/gst/gstpipeline.c: (GST_START_TEST):
5765         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5766         * check/states/sinks.c: (GST_START_TEST):
5767         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5768         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5769         (gst_bin_remove_func), (gst_bin_get_state_func),
5770         (gst_bin_recalc_state), (gst_bin_change_state_func),
5771         (bin_bus_handler):
5772         * gst/gstelement.c: (gst_element_get_state_func),
5773         (gst_element_get_state), (gst_element_abort_state),
5774         (gst_element_commit_state), (gst_element_set_state),
5775         (gst_element_change_state), (gst_element_change_state_func):
5776         * gst/gstelement.h:
5777         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5778         (gst_pipeline_provide_clock_func):
5779         * gst/gstutils.c: (gst_element_link_pads_filtered):
5780         * tools/gst-launch.c: (main):
5781         * tools/gst-typefind.c: (main):
5782         Use GstClockTime in _get_state() instead of GTimeVal.
5783         Remove old code in gstutils.c
5784
5785 2005-10-12  Andy Wingo  <wingo@pobox.com>
5786
5787         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5788         removed.
5789
5790         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5791         there is no task. Shouldn't affect any code, as nothing in our
5792         plugins checks this return value.
5793         (gst_pad_stop_task): Also take the stream lock if the pad has no
5794         task. Docs updated.
5795
5796 2005-10-12  Wim Taymans  <wim@fluendo.com>
5797
5798         * gst/gstpad.c: (pre_activate), (post_activate),
5799         (gst_pad_activate_pull), (gst_pad_activate_push):
5800         Cleanup activation code. Reset old state if
5801         activation failed.
5802
5803 2005-10-12  Wim Taymans  <wim@fluendo.com>
5804
5805         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5806         (gst_base_sink_change_state):
5807         No need to prerol after receiving EOS.
5808
5809         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5810         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5811         * gst/elements/gstidentity.c: (gst_identity_event):
5812         Print events more verbosely.
5813
5814 2005-10-12  Wim Taymans  <wim@fluendo.com>
5815
5816         * check/Makefile.am:
5817         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5818         * check/states/sinks2.c:
5819         Moved sinks2 testcode in sinks check.
5820
5821         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5822         (gst_bin_remove_func), (gst_bin_recalc_state),
5823         (gst_bin_change_state_func), (bin_bus_handler):
5824         Fix potential race condition when _get_state() iterated over an
5825         ASYNC element right before it posted a state completion.
5826
5827         * gst/gstclock.h:
5828         Do proper cast here.
5829
5830         * gst/gstevent.c: (gst_event_new_newsegment),
5831         (gst_event_parse_newsegment):
5832         A playback rate of 0.0 is not allowed.
5833
5834 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5835
5836         * win32/common/config.h:
5837         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5838         (_trewinddir), (_ttelldir), (_tseekdir):
5839         * win32/common/dirent.h:
5840         * win32/common/gtchar.h:
5841         * win32/common/libgstbase.def:
5842         * win32/common/libgstreamer.def:
5843         * win32/vs6/grammar.dsp:
5844         * win32/vs6/gst_inspect.dsp:
5845         * win32/vs6/gst_launch.dsp:
5846         * win32/vs6/gstreamer.dsw:
5847         * win32/vs6/libgstbase.dsp:
5848         * win32/vs6/libgstelements.dsp:
5849         * win32/vs6/libgstreamer.dsp:
5850           Visual Studio 6 project files, and a new common directory.
5851           Phear.
5852
5853 2005-10-11  Wim Taymans  <wim@fluendo.com>
5854
5855         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5856         (gst_base_sink_do_sync), (gst_base_sink_query),
5857         (gst_base_sink_change_state):
5858         * gst/base/gstbasesink.h:
5859         Correctly parse newsegment info.
5860
5861 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5862
5863         * gst/gst.c: (init_post):
5864           split plugin paths correctly
5865
5866 2005-10-11  Wim Taymans  <wim@fluendo.com>
5867
5868         * check/gst/gstevent.c: (GST_START_TEST):
5869         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5870         (gst_base_sink_change_state):
5871         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5872         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5873         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5874         * gst/gstevent.c: (gst_event_new_newsegment),
5875         (gst_event_parse_newsegment):
5876         * gst/gstevent.h:
5877         Added extra flag to newsegment for future API freeze.
5878         Updated check and base elements.
5879
5880 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5881
5882         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5883         (gst_collectpads_add_pad), (gst_collectpads_pop),
5884         (gst_collectpads_event), (gst_collectpads_chain):
5885         * gst/base/gstcollectpads.h: Handle EOS correctly.
5886
5887 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5888
5889         * tools/gst-launch.c: (main):
5890           more null protecting
5891
5892 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5893
5894         * gst/gst-i18n-lib.h:
5895           check for ENABLE_NLS, not GETTEXT_PACKAGE
5896         * gst/gstregistry.c: (gst_registry_add_plugin),
5897         (gst_registry_scan_path_level),
5898         (_gst_registry_remove_cache_plugins):
5899           protect possibly NULL strings
5900         * gst/parse/types.h:
5901           config.h already included before
5902         * tools/gst-inspect.c: (main):
5903           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5904           check for ENABLE_NLS, not GETTEXT_PACKAGE
5905         * tools/gst-launch.c: (main):
5906           check for ENABLE_NLS, not GETTEXT_PACKAGE
5907
5908 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5909
5910         * configure.ac:
5911           if we don't have glib, fail before testing 2.8
5912         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5913           fix a leak, should fix plugins-base testsuite
5914
5915 2005-10-11  Andy Wingo  <wingo@pobox.com>
5916
5917         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5918         take the mode we're going to as an arg. Go head and set the mode
5919         and flushing flags now, so that if the activate function starts a
5920         thread all the flags will be in the right state.
5921         (post_activate): Renamed also. Just handle making sure streaming
5922         finishes for the deactivation case, and setting the deactivated
5923         mode.
5924         (gst_pad_set_active): Complain loudly if deactivation fails.
5925         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5926         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5927         remove the terrible hack.
5928
5929 2005-10-11  Wim Taymans  <wim@fluendo.com>
5930
5931         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5932         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5933         (gst_bin_recalc_state), (gst_bin_change_state_func),
5934         (gst_bin_dispose), (bin_bus_handler):
5935         * gst/gstbin.h:
5936         Prepare to make current EOS message queue more generic.
5937         Fix some typos.
5938
5939         * gst/gstevent.c: (gst_event_new_newsegment),
5940         (gst_event_parse_newsegment):
5941         * gst/gstevent.h:
5942         Rename base to stream_time.
5943
5944         * gst/gstmessage.h:
5945         Fix typo in docs.
5946
5947 2005-10-11  Wim Taymans  <wim@fluendo.com>
5948
5949         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5950         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5951         (gst_bin_change_state_func), (bin_bus_handler):
5952         * gst/gstbin.h:
5953         Work on proper clock selection.
5954
5955 2005-10-11  Edward Hervey  <edward@fluendo.com>
5956
5957         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5958         * libs/gst/controller/gstcontroller.h:
5959         Added GList* version of _remove_properties() in order to be able to wrap
5960         it in bindings.
5961
5962 2005-10-11  Wim Taymans  <wim@fluendo.com>
5963
5964         * docs/design/part-states.txt:
5965         Some more docs.
5966
5967         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5968         (gst_bin_change_state_func), (bin_bus_handler):
5969         Doc updates. Don't distribute the same clock over and over again.
5970
5971         * gst/gstclock.c:
5972         * gst/gstclock.h:
5973         Doc updates.
5974
5975         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5976         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5977         (gst_pad_send_event):
5978         * gst/gstpad.h:
5979         Make probe emission threadsafe again.
5980         Register quarks and move _get_name() from utils.
5981         Doc updates.
5982
5983         * gst/gstpipeline.c: (gst_pipeline_class_init),
5984         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5985         Only redistribute the clock of it changed.
5986
5987         * gst/gstsystemclock.h:
5988         Doc updates. 
5989
5990         * gst/gstutils.c:
5991         * gst/gstutils.h:
5992         Moved the _flow_get_name() to GstPad.
5993
5994 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5995
5996         * check/gst-libs/gdp.c: (GST_START_TEST):
5997         * check/gst/gstcaps.c: (GST_START_TEST):
5998         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5999         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6000         (gst_dp_packet_from_caps):
6001           fix more valgrind warnings before turning up the heat
6002
6003 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6004
6005         * gst/parse/grammar.y:
6006           some cleanup before the hacking
6007
6008 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6009
6010         * gst/base/gstbasesrc.c: (gst_base_src_query):
6011           use conversions
6012         * gst/gstutils.c: (gst_guint64_to_gdouble),
6013         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
6014         * gst/gstutils.h:
6015           externalize, basesrc uses it
6016           obviously the implementation needs testing
6017
6018 2005-10-10  Wim Taymans  <wim@fluendo.com>
6019
6020         * tests/sched/Makefile.am:
6021         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
6022         (make_pipeline3), (make_pipeline4), (print_elem), (main):
6023
6024 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6025
6026         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
6027           apparently converting from guint64 to double is not implemented
6028           on MSVC
6029
6030 2005-10-10  Wim Taymans  <wim@fluendo.com>
6031
6032         * check/Makefile.am:
6033         * check/generic/states.c: (GST_START_TEST):
6034         * check/gst/gstbin.c: (GST_START_TEST):
6035         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6036         * check/states/sinks.c: (GST_START_TEST):
6037         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
6038         (main):
6039         Check fixes, use API as stated in design docs, remove hacks.
6040
6041         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6042         (gst_base_sink_change_state):
6043         Catch stopping our task while we're shutting down.
6044
6045         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6046         (gst_bin_remove_func), (gst_bin_get_state_func),
6047         (gst_bin_recalc_state), (gst_bin_change_state_func),
6048         (bin_bus_handler):
6049         * gst/gstbin.h:
6050         * gst/gstelement.c: (gst_element_init),
6051         (gst_element_get_state_func), (gst_element_abort_state),
6052         (gst_element_commit_state), (gst_element_lost_state),
6053         (gst_element_set_state), (gst_element_change_state),
6054         (gst_element_change_state_func):
6055         * gst/gstelement.h:
6056         New state change algorithm (see #318116)
6057
6058         * gst/gstpipeline.c: (gst_pipeline_class_init),
6059         (gst_pipeline_init), (gst_pipeline_set_property),
6060         (gst_pipeline_get_property), (do_pipeline_seek),
6061         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6062         * gst/gstpipeline.h:
6063         Remove crude state change hacks.
6064
6065         * gst/gstutils.h:
6066         Remove crude hacks.
6067
6068         * tools/gst-launch.c: (main):
6069         Fixes for state change. Needs some more work to fully use the
6070         new stuff.
6071
6072 2005-10-10  Andy Wingo  <wingo@pobox.com>
6073
6074         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
6075
6076         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
6077         this flag, but it's not even in GLib 2.6. Odd. Hack around the
6078         issue.
6079
6080 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6081
6082         * gst/gstiterator.c: (gst_iterator_new):
6083           Fix my previous commit: GTypes passed to gst_iterator_new()
6084           can be fundamental types.
6085
6086 2005-10-10  Wim Taymans  <wim@fluendo.com>
6087
6088         * gst/gstelement.c: (gst_element_iterate_pad_list),
6089         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
6090         (gst_element_iterate_sink_pads):
6091         Use src/sink pads lists for the respective iterators instead
6092         of filtering.
6093
6094 2005-10-10  Andy Wingo  <wingo@pobox.com>
6095
6096         Merged in popt removal + GOption addition patch from Ronald, bug
6097         #169772.
6098
6099         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
6100         GstElement macros around, remove popt-related symbols, add goption
6101         stuff.
6102
6103         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
6104         
6105         * docs/gst/Makefile.am:
6106         * docs/libs/Makefile.am: No POPT_CFLAGS.
6107         
6108         * examples/manual/Makefile.am:
6109         * docs/manual/basics-init.xml: Doc updates with an example.
6110         
6111         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6112         (gst_init), (parse_one_option), (parse_goption_arg):
6113         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
6114         bit of hand merging and debugging to get the GOption stuff working
6115         tho.
6116         
6117         * tests/Makefile.am:
6118         * tools/Makefile.am:
6119         * tools/gst-inspect.c: (main):
6120         * tools/gst-launch.c: (main):
6121         * tools/gst-run.c: (main):
6122         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
6123
6124 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6125
6126         * gst/gstiterator.c: (gst_iterator_new):
6127           Add assertions to make sure passed GType is likely to really
6128           be a GType (as the compiler won't catch it if the size and
6129           GType arguments get mixed up, see #318447).
6130
6131 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
6132
6133         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6134
6135         * gst/gstbin.c: (gst_bin_iterate_sorted):
6136           Pass GType and size arguments to gst_iterator_new() in the right
6137           order (maybe we should make _new() take the GType as first argument
6138           just like _new_list()?) (#318447).
6139           
6140
6141 2005-10-10  Wim Taymans  <wim@fluendo.com>
6142
6143         * gst/gstelement.c: (gst_element_finalize):
6144         And free the GStaticRecMutex too
6145
6146 2005-10-10  Andy Wingo  <wingo@pobox.com>
6147
6148         * gst/gstelement.c (gst_element_init, gst_element_finalize):
6149         Allocate and free the mutex properly.
6150
6151         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
6152         New macros.
6153         (GstElement): The state_lock is now recursive. Rebuild your
6154         plugins, suckers. Old macros adapted.
6155
6156         * docs/gst/gstreamer-sections.txt: Doc updates.
6157
6158         * gst/gstutils.h:
6159         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
6160         (g_static_rec_cond_wait): Ported from state changes patch, while
6161         we wait on bug #317802 to be solved in a well-distributed GLib.
6162
6163         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6164         gst_element_change_state, variable name changes.
6165         (gst_element_change_state): Split out of gst_element_set_state in
6166         preparation for the state change merge. Doesn't pay attention to
6167         the 'transition' argument.
6168         (gst_element_set_state): Updates, hopefully purely cosmetic.
6169         (gst_element_sync_state_with_parent): MT-safety. Ported from the
6170         state change patch.
6171         (gst_element_get_state_func): Renamed from get_state, cosmetic
6172         changes.
6173
6174 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6175
6176         * gst/elements/gstelements.c:
6177         * win32/GStreamer.vcproj:
6178         * win32/config.h:
6179         * win32/dirent.c: (_tseekdir):
6180         * win32/gst-inspect.vcproj:
6181         * win32/gst-launch.vcproj:
6182         * win32/gstconfig.h:
6183         * win32/gstelements.vcproj:
6184         * win32/gstenumtypes.c: (gst_object_flags_get_type):
6185         * win32/gstreamer.def:
6186         * win32/msvc71.sln:
6187           updates for the win32 build (patch from Sebastien Moutte)
6188
6189 2005-10-10  Andy Wingo  <wingo@pobox.com>
6190
6191         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
6192         gst_bin_get_state, cleaned up (but no logic changes).
6193         (bin_element_is_sink): Comment updates.
6194         (sink_iterator_filter): Remove needless cast.
6195         (gst_bin_iterate_sinks): Doc update.
6196         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
6197         cleaned up (but no logic changes).
6198
6199         * check/states/sinks.c (test_src_sink): Cleanups from the state
6200         change patch.
6201         (test_livesrc_sink): Sync on the state.
6202
6203         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
6204         the state change patch.
6205
6206         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
6207         change patch.
6208
6209         * check/gst/gstbin.c: Merge in some style fixes and additional
6210         checks from Wim's state change patch.
6211
6212 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6213
6214         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6215         (gst_type_find_helper):
6216           Check whether we have the requested data already in our list of
6217           cached buffers before pulling a new buffer; also make the buffer
6218           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
6219
6220 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6221
6222         * gst/gstcaps.c:
6223         * gst/gstevent.c:
6224           doc updates
6225         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6226           don't use long long, it's not portable.  Replacing with
6227           gint64 seems to work; let's hope no skeletons fall out of the closet.
6228
6229 2005-10-10  Andy Wingo  <wingo@pobox.com>
6230
6231         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
6232
6233 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6234
6235         * docs/gst/gstreamer-sections.txt:
6236         * gst/gstevent.c:
6237         * gst/gstevent.h:
6238         * gst/gstinfo.c:
6239         * gst/gstinfo.h:
6240         * gst/gstmessage.c: (gst_message_parse_state_changed):
6241         * gst/gstpad.c:
6242         * gst/gstpad.h:
6243           more docs, fix compilation
6244
6245 2005-10-09  Philippe Khalaf <burger@speedy.org>
6246         * gst/gstmessage.c:
6247           Fixed a few forgotten variables on previous commit
6248
6249 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6250
6251         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6252           Fix evil typefind crasher: getrange() might return a short
6253           buffer at the end of a file, but gst_type_find_peek() must
6254           either return the full data as requested or NULL, but
6255           never a short buffer.
6256
6257 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6258
6259         * gst/gstmessage.c: (gst_message_new_state_changed),
6260         (gst_message_parse_state_changed):
6261         * gst/gstmessage.h:
6262           don't use "new", it's a C++ keyword
6263
6264 2005-10-08  Wim Taymans  <wim@fluendo.com>
6265
6266         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6267         * gst/gstelement.c: (gst_element_post_message):
6268         * gst/gstpipeline.c: (gst_pipeline_change_state):
6269         Small docs and debug updates.
6270
6271 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6272
6273         * docs/gst/gstreamer-sections.txt:
6274         * gst/gstelementfactory.c:
6275         * gst/gstevent.c:
6276         * gst/gsttaglist.c:
6277           more docs
6278
6279 2005-10-08  Wim Taymans  <wim@fluendo.com>
6280
6281         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6282         (gst_bin_dispose), (bin_bus_handler):
6283         Fix typos, add comments.
6284         Clear EOS list when going to PAUSED from any direction and do it
6285         in a threadsafe way.
6286         Get base time in a threadsafe way too.
6287         Fix confusing debug in the change_state function.
6288         Various other small cleanups.
6289         
6290         * gst/gstelement.c: (gst_element_post_message):
6291         Fix very verbose bus posting code.
6292
6293         * gst/gstpipeline.c: (gst_pipeline_class_init),
6294         (gst_pipeline_set_property), (gst_pipeline_get_property),
6295         (gst_pipeline_change_state):
6296         Small ARG_ -> PROP_ cleanup
6297
6298 2005-10-08  Wim Taymans  <wim@fluendo.com>
6299
6300         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6301         Do a less CPU demanding EOS check because we can.
6302
6303 2005-10-08  Wim Taymans  <wim@fluendo.com>
6304
6305         * libs/gst/dataprotocol/dataprotocol.c:
6306         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6307         (gst_dp_packet_from_event):
6308         * libs/gst/dataprotocol/dataprotocol.h:
6309         * libs/gst/dataprotocol/dp-private.h:
6310         It's about time we bump the version number.
6311         Since event types don't fit in the guint8 anymore describing
6312         the payload type, make payload type 16 bits wide.
6313
6314 2005-10-08  Wim Taymans  <wim@fluendo.com>
6315
6316         * docs/design/part-TODO.txt:
6317         * docs/design/part-clocks.txt:
6318         * docs/design/part-events.txt:
6319         * docs/design/part-gstbin.txt:
6320         * docs/design/part-gstelement.txt:
6321         * docs/design/part-gstpipeline.txt:
6322         * docs/design/part-live-source.txt:
6323         * docs/design/part-messages.txt:
6324         * docs/design/part-overview.txt:
6325         * docs/design/part-states.txt:
6326         Many doc updates.
6327
6328 2005-10-08  Wim Taymans  <wim@fluendo.com>
6329
6330         * gst/gstevent.c:
6331         * gst/gstevent.h:
6332         Fix event quark registration.
6333         Add some space between events so we can insert them in the
6334         right groups.
6335
6336 2005-10-08  Wim Taymans  <wim@fluendo.com>
6337
6338         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6339         (gst_base_sink_handle_buffer):
6340         Better log message.
6341
6342         * gst/gstbus.h:
6343         * gst/gstelement.h:
6344         More docs.
6345
6346         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6347         (gst_queue_set_property), (gst_queue_get_property):
6348         * gst/gstqueue.h:
6349         Remove old unused properties.
6350
6351 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6352         * docs/gst/gstreamer-sections.txt:
6353         * gst/gstmessage.c:
6354         * gst/gstmessage.h:
6355         * gst/gstminiobject.c:
6356         * gst/gstminiobject.h:
6357         * gst/gstobject.h:
6358         * gst/gstpad.h:
6359         * gst/gstutils.h:
6360           lots of new docs and doc fixes
6361
6362 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6363
6364         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6365         * gst/gstplugin.h:
6366         * gst/gstregistry.c: (gst_registry_lookup_locked),
6367         (gst_registry_scan_path_level):
6368         * gst/gstregistryxml.c: (load_plugin):
6369           Only ever load one plugin for a given plugin basename.
6370           This ensures correct overriding of GST_PLUGIN_PATH over
6371           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6372           system installed plugins.
6373
6374 2005-10-08  Wim Taymans  <wim@fluendo.com>
6375
6376         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6377         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6378         Prepare for doing QOS.
6379
6380 2005-10-08  Wim Taymans  <wim@fluendo.com>
6381
6382         * check/gst/gstbin.c: (GST_START_TEST):
6383         * check/pipelines/cleanup.c: (GST_START_TEST):
6384         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6385         Allow new clock message too.
6386
6387 2005-10-08  Wim Taymans  <wim@fluendo.com>
6388
6389         * gst/gstmessage.c: (gst_message_new_error),
6390         (gst_message_new_warning), (gst_message_new_tag),
6391         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6392         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6393         (gst_message_new_segment_start), (gst_message_new_segment_done),
6394         (gst_message_parse_state_changed),
6395         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6396         (gst_message_parse_new_clock):
6397         * gst/gstmessage.h:
6398         Also carry the clock in question.
6399
6400 2005-10-08  Wim Taymans  <wim@fluendo.com>
6401
6402         * gst/gstmessage.c: (gst_message_new_custom),
6403         (gst_message_new_eos), (gst_message_new_error),
6404         (gst_message_new_warning), (gst_message_new_tag),
6405         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6406         (gst_message_new_new_clock), (gst_message_new_segment_start),
6407         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6408         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6409         * gst/gstmessage.h:
6410         Clean up.
6411         Added clock related messages.
6412
6413         * gst/gstpipeline.c: (gst_pipeline_change_state):
6414         Post message when the clock changed.
6415
6416         * tools/gst-launch.c: (event_loop):
6417         Print new clock.
6418
6419 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6420
6421         * tools/gst-inspect.c: (print_element_properties_info):
6422           Can't pass NULL strings to g_print() on windows.
6423
6424 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6425
6426         * docs/Makefile.am:
6427         * docs/gst/Makefile.am:
6428         * docs/gst/gstreamer-docs.sgml:
6429         * docs/gst/running.xml:
6430         * docs/version.entities.in:
6431           add a chapter on running GStreamer.
6432           document GST_DEBUG and GST_PLUGIN* env vars
6433
6434 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6435
6436         * Makefile.am:
6437           remove include dir
6438         * configure.ac:
6439           remove PLUGINS_BUILDDIR stuff
6440         * gst/gst.c: (init_post):
6441           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6442         * idiottest.mak:
6443           remove, it was condescending and not needed
6444
6445 2005-10-08  Wim Taymans  <wim@fluendo.com>
6446
6447         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6448         (gst_base_sink_handle_object), (gst_base_sink_event),
6449         (gst_base_sink_wait), (gst_base_sink_handle_event),
6450         (gst_base_sink_change_state):
6451         * gst/base/gstbasesink.h:
6452         Repost EOS message while going to PLAYING if still EOS.
6453         Make sure that when receiving a FLUSH_START we don't attempt
6454         to sync on the clock anymore.
6455
6456 2005-10-08  Wim Taymans  <wim@fluendo.com>
6457
6458         * tools/gst-launch.c: (event_loop):
6459         Better message printout.
6460
6461 2005-10-08  Wim Taymans  <wim@fluendo.com>
6462
6463         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6464         (gst_bin_child_proxy_get_children_count):
6465         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6466         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6467         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6468         (gst_child_proxy_set_valist):
6469         * gst/parse/grammar.y:
6470         Make ChildProxy threadsafe and fix mem leaks.
6471
6472 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         * gst/gst.c: (init_post):
6475           debug the GST_PLUGIN_ env vars
6476
6477 2005-10-08  Wim Taymans  <wim@fluendo.com>
6478
6479         * check/gst/gstbin.c: (GST_START_TEST):
6480         * check/gst/gstmessage.c: (GST_START_TEST):
6481         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6482         * gst/gstelement.c: (gst_element_commit_state),
6483         (gst_element_lost_state):
6484         * gst/gstmessage.c: (gst_message_new_state_changed),
6485         (gst_message_parse_state_changed):
6486         * gst/gstmessage.h:
6487         * tools/gst-launch.c: (event_loop):
6488         Added extra field to STATE_CHANGE message with the pending
6489         state, which will be different from the new state soon.
6490
6491 2005-10-08  Wim Taymans  <wim@fluendo.com>
6492
6493         * gst/gstbus.c: (gst_bus_pop):
6494         * gst/gstclock.c:
6495         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6496         Small cleanups and doc updates.
6497
6498 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6499
6500         * gst/gst.c: (init_pre):
6501         * gst/gstbin.c: (gst_bin_add_func):
6502           log distributing clocks and base time
6503         * gst/gstregistry.c: (gst_registry_add_plugin),
6504         (gst_registry_scan_path_level), (gst_registry_scan_path):
6505           clean up the debugging output a little
6506         * gst/gstutils.c: (gst_element_state_get_name):
6507           warn about a memleak (I've actually seen this be used, though
6508           it was probably a bug)
6509
6510 2005-10-07  Wim Taymans  <wim@fluendo.com>
6511
6512         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6513         (gst_base_src_init), (gst_base_src_default_newsegment),
6514         (gst_base_src_newsegment), (gst_base_src_do_seek),
6515         (gst_base_src_loop), (gst_base_src_start):
6516         * gst/base/gstbasesrc.h:
6517         Make the newsegment event customizable by subclasses.
6518
6519 2005-10-07  Wim Taymans  <wim@fluendo.com>
6520
6521         * gst/gstevent.c: (gst_event_new_buffersize),
6522         (gst_event_parse_buffersize):
6523         * gst/gstevent.h:
6524         New event for future idea.
6525
6526 2005-10-07  Andy Wingo  <wingo@pobox.com>
6527
6528         * gst/gstelement.c (gst_element_post_message): Doc update.
6529
6530         * docs/gst/gstreamer-sections.txt: Update.
6531
6532         * gst/gstmessage.c (gst_message_new_application): Made into a
6533         function like honest API calls.
6534         (gst_message_new_element): New message type.
6535
6536         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6537
6538         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6539         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6540         times.
6541
6542         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6543         NO_PREROLL from gst_element_change_state to fall through.
6544
6545 2005-10-07  Wim Taymans  <wim@fluendo.com>
6546
6547         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6548         (gst_ghost_pad_do_activate_push):
6549         Activating a ghostpad with no internal pad in push mode
6550         is ok.
6551
6552 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * gst/gstobject.h:
6555           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6556           Fixes compilation on Windows.
6557
6558 2005-10-07  Michael Smith <msmith@fluendo.com>
6559
6560         * tools/gst-inspect.c:
6561           Print out feature and plugin count at the end when printing out
6562           all features.
6563
6564 2005-10-04  Michael Smith <msmith@fluendo.com>
6565
6566         * gst/gsterror.c: (_gst_stream_errors_init):
6567           Add another error string used in a few existing plugins.
6568
6569         * gst/gstplugin.c:
6570         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6571         * tools/gst-inspect.c: (print_element_info):
6572           When a feature disappears from a plugin (and the feature exists in
6573           the cached registry file), things went horribly wrong. This isn't a
6574           complete fix, we should actually be removing the 'missing' features
6575           from the features list when we load the actual plugin. That's not
6576           yet implemented. 
6577
6578 2005-10-04  Johan Dahlin  <johan@gnome.org>
6579
6580         * check/gst/gstiterator.c: (GST_START_TEST):
6581         * gst/gstbin.c: (gst_bin_iterate_elements),
6582         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6583         * gst/gstelement.c: (gst_element_iterate_pads):
6584         * gst/gstformat.c: (gst_format_iterate_definitions):
6585         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6586         (gst_iterator_new_list), (gst_iterator_filter):
6587         * gst/gstiterator.h:
6588         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6589         Add a GType to GstIterator, update callsites and tests.
6590
6591 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6594           give events a chance to be handled by event probes when the pad
6595           is not linked
6596
6597 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6598
6599         * gst/gstevent.c: (gst_event_type_get_name),
6600         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6601         * gst/gstevent.h:
6602           add string representations for event types
6603
6604 2005-10-06  Wim Taymans  <wim@fluendo.com>
6605
6606         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6607         Don't use NULL pointers.
6608
6609 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6610
6611         * gst/gst_private.h:
6612         * gst/gstbus.c:
6613         * gst/gstelement.c:
6614         * gst/gstinfo.c:
6615         * gst/gstpluginfeature.c:
6616           widen the debug category in output to fit the biggest one we have
6617           add a bus category and use it
6618           play with the colors
6619           fix up some categories
6620
6621 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6622
6623         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6624           add push activation of sink ghost pads.
6625           Andye, please verify
6626
6627 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6628
6629         * gst/gstutils.c: (gst_element_link_pads):
6630           fix a bug in the case where neither element has a pad
6631         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6632           add a test for that case
6633
6634 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6635
6636         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6637           emit have-data before checking for peers.  This allows
6638           for probe handlers to connect elements.  This helps autopluggers.
6639         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6640         (gst_pad_suite):
6641           add six checks, linked/unlinked with no/true/false probe
6642
6643 2005-10-04  Wim Taymans  <wim@fluendo.com>
6644
6645         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6646         (gst_fake_sink_event), (gst_fake_sink_preroll),
6647         (gst_fake_sink_render), (gst_fake_sink_change_state):
6648         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6649         (gst_fake_src_get_property), (gst_fake_src_create),
6650         (gst_fake_src_stop):
6651         * gst/elements/gstidentity.c: (gst_identity_stop):
6652         Protect last_message with lock.
6653
6654 2005-10-04  Edward Hervey  <edward@fluendo.com>
6655
6656         * gst/gstformat.h: 
6657         Added precision in the comments for GST_FORMAT_DEFAULT
6658
6659 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6660
6661         * tools/gst-launch.c: (main):
6662           Don't try to run erroneous pipelines.
6663
6664 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6665
6666         * gst/gstbus.c: We don't need this header.
6667
6668 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6669
6670         * configure.ac:
6671           back to development
6672
6673 === release 0.9.3 ===
6674
6675 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6676
6677         * README:
6678         * configure.ac:
6679           Releasing 0.9.3, "Unregistered"
6680
6681 2005-10-03  Andy Wingo  <wingo@pobox.com>
6682
6683         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6684         whereby calling a pad's activatepush() function can start a thread
6685         that starts to push or pull before the pad gets the FLUSHING flag
6686         unset. Hack around it by holding the stream lock until the flag is
6687         set. Need to replace this with a proper solution. Together with
6688         the ghost pad fixes, this fixes mp3 playing/tagreading.
6689
6690         * docs/design/part-gstghostpad.txt: Add a note about activation of
6691         proxy pads outside of ghost pads.
6692
6693         * gst/gstghostpad.c: Implement the ghost pad activation design.
6694
6695 2005-10-02  Andy Wingo  <wingo@pobox.com>
6696
6697         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6698         It is volatile, after all.
6699
6700         * docs/design/part-gstghostpad.txt: Flesh out activation with
6701         ghost pads.
6702
6703         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6704         GST_DEBUG_FUNCPTR.
6705
6706 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6707
6708         * configure.ac:
6709           Fix (unused) AM_CONDITIONAL tests.
6710
6711 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6712
6713         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6714
6715         * gst/gstutils.c: (gst_pad_query_convert):
6716           Add assertion that makes sure src_val is >=0, just like
6717           gst_query_new_convert() has. (#315895)
6718
6719 2005-09-30  Edward Hervey  <edward@fluendo.com>
6720
6721         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6722         Let's not iterate pads we're not interested in, it avoids getting 
6723         sky-high refcounts on sinkpad.
6724
6725 2005-09-30  Wim Taymans  <wim@fluendo.com>
6726
6727         * gst/gstelement.c: (gst_element_set_state),
6728         (gst_element_change_state):
6729         Small tweak, element in ASYNC remains ASYNC.
6730
6731 2005-09-30  Wim Taymans  <wim@fluendo.com>
6732
6733         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6734         Only error is an error.
6735
6736         * gst/gstbin.c: (gst_bin_change_state):
6737         Better debugging.
6738
6739         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6740         Also call pad_block in pad alloc.
6741
6742         * gst/gstutils.c: (gst_flow_get_name):
6743         Better debugging.
6744
6745 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6746
6747         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6748         (gst_base_src_get_range):
6749           Fix documentation typos. Add some more debug info.
6750
6751 2005-09-29  David Schleef  <ds@schleef.org>
6752
6753         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6754           more end-user friendly.
6755         * tools/gst-inspect.c: (main): Check if command-line argument is
6756           a file and attempt to load that file as a plugin.
6757
6758 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6759
6760         * check/gst/gstbin.c:
6761         * check/states/sinks.c:
6762           fix tests for the new warning
6763         * check/gst/gstpipeline.c:
6764           add a test for pipeline and bus interaction
6765         * gst/gstelement.c:
6766           elements should be NULL if they get disposed; add a warning if not
6767
6768 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6769
6770         * gst/gstobject.c:
6771           for 2.6 refcounting, make debug log more correct by printing
6772           the actual refcounts at the time of swap (Wim)
6773
6774 2005-09-29  Andy Wingo  <wingo@pobox.com>
6775
6776         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6777         removes signal watches previously added via
6778         gst_bus_add_signal_watch.
6779         (gst_bus_add_signal_watch): Don't return the source id, just store
6780         it on the bus if there wasn't an id already.
6781
6782         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6783         add_signal_watch and remove_signal_watch.
6784
6785 2005-09-29  Edward Hervey  <edward@fluendo.com>
6786
6787         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6788         Better if we actually iterate the list :)
6789
6790 2005-09-29  Wim Taymans  <wim@fluendo.com>
6791
6792         * check/gst/gstbin.c: (GST_START_TEST):
6793         Change for new bus API.
6794
6795         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6796         (send_messages), (GST_START_TEST), (gstbus_suite):
6797         Change for new bus signal API.
6798
6799         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6800         (gst_bus_source_prepare), (gst_bus_source_check),
6801         (gst_bus_create_watch), (gst_bus_add_watch_full),
6802         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6803         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6804         * gst/gstbus.h:
6805         Remove support for multiple GSources operating on different
6806         message types as it is too complex and unneeded when using
6807         signals.
6808         Added support for receiving signals from the bus.
6809
6810 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6811
6812         * docs/libs/tmpl/gstdataprotocol.sgml:
6813         * docs/manual/advanced-dataaccess.xml:
6814         * gst/elements/gstcapsfilter.c:
6815         * gst/gstutils.c:
6816           rename filter-caps to caps property
6817
6818 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6819
6820         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6821           More robust fraction string parsing.
6822
6823         * docs/pwg/appendix-porting.xml:
6824           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6825
6826 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6827
6828         * gst/gstcaps.c: (gst_caps_do_simplify):
6829           Thou shalt not free a structure and then continue using it
6830           in the next loop iteration.
6831
6832         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6833         (gst_caps_suite):
6834           Add test case for caps simplification.
6835
6836 2005-09-29  Wim Taymans  <wim@fluendo.com>
6837
6838         * check/gst/gstbin.c: (GST_START_TEST):
6839         Oops.
6840
6841 2005-09-29  Wim Taymans  <wim@fluendo.com>
6842
6843         * check/gst/gstbin.c: (GST_START_TEST):
6844         Add bus to bin.
6845
6846         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6847         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6848         (find_element), (gst_bin_sort_iterator_next),
6849         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6850         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6851         (gst_bin_change_state), (gst_bin_dispose):
6852         A bin does not have a bus, it gets the bus from the parent.
6853
6854         * gst/gstelement.c: (gst_element_requires_clock),
6855         (gst_element_provides_clock), (gst_element_is_indexable),
6856         (gst_element_is_locked_state), (gst_element_change_state),
6857         (gst_element_set_bus_func):
6858         Small cleanups.
6859
6860         * gst/gstpipeline.c: (gst_pipeline_class_init),
6861         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6862         The pipeline provides a bus.
6863
6864 2005-09-28  Johan Dahlin  <johan@gnome.org>
6865
6866         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6867         gst_structure_get_enum instead of gst_structure_get_int
6868
6869         * gst/gststructure.c (gst_structure_get_enum): Impl.
6870
6871         * gst/gststructure.h (gst_structure_get_enum): Add
6872
6873         * docs/gst/gstreamer-sections.txt: Ditto
6874
6875         * gst/gstmessage.c (gst_message_new_state_changed): Use
6876         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6877         which does introspection.
6878         Reviewed by Christian Schaller
6879
6880 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6881
6882         * gst/gstinfo.c: (gst_debug_log_default):
6883           don't do dummy g_strdup()s
6884         * libs/gst/controller/gstcontroller.c:
6885         (on_object_controlled_property_changed),
6886         (gst_controlled_property_new), (gst_controller_new_valist),
6887         (gst_controller_new_list),
6888         (gst_controller_remove_properties_valist), (gst_controller_set),
6889         (gst_controller_get), (gst_controller_sync_values),
6890         (gst_controller_get_value_array), (_gst_controller_class_init),
6891         (gst_controller_get_type):
6892         * libs/gst/controller/gstcontroller.h:
6893         * libs/gst/controller/gstinterpolation.c:
6894         (gst_controlled_property_find_timed_value_node):
6895           convert // to /**/ comments
6896
6897 2005-09-28  Wim Taymans  <wim@fluendo.com>
6898
6899         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6900         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6901         (gst_bus_sync_signal_handler):
6902         * gst/gstbus.h:
6903         Added async-message and sync-message signals to the bus.
6904         Added helper BusFunc to emit signals for all posted messages.
6905
6906         * gst/gstmessage.c: (gst_message_type_get_name),
6907         (gst_message_type_to_quark), (gst_message_get_type):
6908         * gst/gstmessage.h:
6909         Register quarks for message names.
6910
6911 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6912
6913         * docs/libs/gstreamer-libs-sections.txt:
6914         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6915         (gst_controller_new_list):
6916         * libs/gst/controller/gstcontroller.h:
6917           added another constructor for language bindings
6918
6919 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6920
6921         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6922           add another check
6923         * gst/gstbus.c:
6924           add some doc
6925         * gst/gstinfo.c: (_gst_debug_init):
6926           slightly more readable color for refcount debugging
6927
6928 2005-09-28  Wim Taymans  <wim@fluendo.com>
6929
6930         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6931         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6932         (find_element), (gst_bin_sort_iterator_next),
6933         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6934         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6935         (gst_bin_change_state), (gst_bin_dispose):
6936         Small doc fixes. get_clock -> provide_clock.
6937
6938         * gst/gstelement.c: (gst_element_class_init),
6939         (gst_element_provides_clock), (gst_element_provide_clock),
6940         (gst_element_get_clock), (gst_element_commit_state),
6941         (gst_element_lost_state):
6942         * gst/gstelement.h:
6943         Make get/set_clock() symetric. Add provide_clock vmethod since
6944         that is actually what this function does.
6945
6946         * gst/gstpipeline.c: (gst_pipeline_class_init),
6947         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6948         (gst_pipeline_get_clock):
6949         get_clock -> provide_clock.
6950
6951 2005-09-28  Andy Wingo  <wingo@pobox.com>
6952
6953         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6954         lieu of real docs...
6955
6956         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6957
6958 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6959
6960         * gst/elements/gstcapsfilter.c:
6961         * gst/elements/gstfakesink.c:
6962         * gst/elements/gstfakesrc.c:
6963         * gst/elements/gstfdsink.c:
6964         * gst/elements/gstfdsrc.c:
6965         * gst/elements/gstfilesink.c:
6966         * gst/elements/gstfilesrc.c:
6967         * gst/elements/gstidentity.c:
6968         * gst/elements/gsttee.c:
6969         * gst/elements/gsttypefindelement.c:
6970           Make element details static.
6971
6972 2005-09-28  Wim Taymans  <wim@fluendo.com>
6973
6974         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6975         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6976         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6977         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6978         (gst_bin_change_state), (gst_bin_dispose):
6979         Some documentation updates.
6980         Clean up dispose handlers.
6981
6982         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6983         * gst/gstpad.c: (gst_pad_dispose):
6984         Clean up dispose handler.
6985
6986         * gst/gstpipeline.c: (gst_pipeline_change_state):
6987         Removed spurious UNLOCK.
6988
6989 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6990
6991         * docs/gst/gstreamer-sections.txt:
6992         * gst/base/gstbasesrc.h:
6993         * gst/gstelement.h:
6994         * gst/gstevent.h:
6995         * gst/gstobject.h:
6996         * gst/gstpad.h:
6997         * gst/gstpipeline.c:
6998         * gst/gstpipeline.h:
6999         * gst/gstutils.h:
7000         * gst/gstxml.h:
7001           added two new functions to the docs
7002                 documents all undocumented GstXXXFlags
7003                 completed some incomplete docs 
7004
7005 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7006
7007         * gst/gstbin.c: (gst_bin_dispose):
7008         * gst/gstelement.c: (gst_element_dispose):
7009           remove now useless and leaky resurrection code in dispose
7010         * gst/base/gstbasesrc.c: (gst_base_src_init):
7011         * gst/gstelementfactory.c: (gst_element_factory_create):
7012         * gst/gstobject.c: (gst_object_set_parent):
7013           add some debugging
7014
7015 2005-09-27  Wim Taymans  <wim@fluendo.com>
7016
7017         * docs/design/part-TODO.txt:
7018         Update TODO.
7019
7020         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7021         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7022         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7023         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7024         (gst_bin_change_state):
7025         * gst/gstelement.h:
7026         Remove element variable, we keep element info in the iterator now.
7027
7028 2005-09-27  Andy Wingo  <wingo@pobox.com>
7029
7030         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
7031         values.
7032
7033 2005-09-27  Wim Taymans  <wim@fluendo.com>
7034
7035         * check/gst/gstbin.c: (GST_START_TEST):
7036         Enable check that works now.
7037
7038         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7039         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7040         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7041         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7042         (gst_bin_change_state):
7043         * gst/gstbin.h:
7044         Redid the state change algorithm using a topological sort algo.
7045         Handles all cases correctly.
7046         Exposed iterator for state change order.
7047
7048         * gst/gstelement.h:
7049         Temp storage for state changes. Need to get rid of this soon.
7050
7051 2005-09-27  Wim Taymans  <wim@fluendo.com>
7052
7053         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
7054         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
7055         (link_fold_func), (gst_pad_proxy_setcaps):
7056         Leak fixes, the fold functions need to unref the passed object and
7057         _get_parent_*() returns ref to parent.
7058
7059 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7060
7061         * check/gst/gstbuffer.c: (test_make_writable):
7062           Plug leak in test case and fix 'make check-valgrind'
7063
7064 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7065
7066         * gst/gstbuffer.c: (gst_subbuffer_init):
7067           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
7068           works correctly in all circumstances (we could have just copied
7069           the parent buffer's readonly flag, but conceptually it seems
7070           cleaner to mark all subbuffers as read-only). (based on patch
7071           by Alessandro Decina, #314710).
7072         
7073         * check/gst/gstbuffer.c: (create_read_only_buffer),
7074         (test_make_writable), (test_subbuffer_make_writable),
7075         (gst_test_suite):
7076           Add some tests for gst_buffer_make_writable().
7077
7078 2005-09-27  Wim Taymans  <wim@fluendo.com>
7079
7080         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
7081         use gst_object_has_ancestor().
7082
7083         * gst/gstobject.c: (gst_object_has_ancestor):
7084         * gst/gstobject.h:
7085         gst_object_has_ancestor() copied from gstbin.c as it is a
7086         usefull function.
7087
7088         * tests/instantiate/create.c: (create_all_elements):
7089         * tests/lat.c: (handoff_src), (handoff_sink):
7090         * tests/sched/runxml.c: (main):
7091         * tests/seeking/seeking1.c: (main):
7092         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7093         (main):
7094         Fix compilation of some tests.
7095
7096 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7097
7098         * gst/gsterror.h:
7099           Remove comment. GST_TYPE_G_ERROR is here to stay,
7100           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
7101           (#316961, #300610).
7102
7103 2005-09-26  Wim Taymans  <wim@fluendo.com>
7104
7105         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7106         Added check that shows error in state change order.
7107
7108 2005-09-26  Wim Taymans  <wim@fluendo.com>
7109
7110         * gst/gstbin.c: (gst_bin_change_state):
7111         Make state change function use 3 queues again, we were
7112         adding elements in the wrong order.
7113
7114         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7115         Some debug info,
7116
7117         * gst/gstpad.c: (gst_pad_dispose):
7118         Added some debug info first.
7119
7120 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
7121
7122         * docs/design/draft-push-pull.txt:
7123         * docs/design/part-events.txt:
7124         * docs/design/part-overview.txt:
7125         * docs/design/part-scheduling.txt:
7126           Replace all _pull_region() with _pull_range()
7127           
7128 2005-09-26  Andy Wingo  <wingo@pobox.com>
7129
7130         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
7131
7132         * check/gst-libs/controller.c: Update for controller api change.
7133
7134         * configure.ac: 
7135         * tests/Makefile.am:
7136         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
7137         over by GLib bug 118439.
7138         
7139         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
7140         routines to a function.
7141
7142         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
7143
7144         * libs/gst/controller/gsthelper.c:
7145         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
7146         (gst_object_sync_values): Renamed from sink_values. Ugh.
7147
7148         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
7149
7150         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
7151         Renamed from controller_key, as it is exported.
7152
7153         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
7154
7155 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7156
7157         * gst/Makefile.am:
7158         * gst/gst.h:
7159         * gst/gstpad.h:
7160         * gst/gstpadtemplate.h:
7161         * gst/gstquery.c:
7162         * gst/gstquery.h:
7163         * gst/gstqueryutils.c:
7164         * gst/gstqueryutils.h:
7165           remove queryutils headers after moving the two used functions
7166           to gstquery.  also fixes build problem for gstsiddec
7167
7168 2005-09-26  Michael Smith <msmith@fluendo.com>
7169
7170         * tools/gst-launch.1.in:
7171         Correct documentation in manpage of debug syntax
7172
7173 2005-09-26  Wim Taymans  <wim@fluendo.com>
7174
7175         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7176         (gst_base_src_is_seekable), (gst_base_src_change_state):
7177         Some more debugging info.
7178
7179 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7180
7181         * docs/gst/gstreamer-sections.txt:
7182         * gst/base/gstbasetransform.h:
7183         * gst/gstindex.h:
7184           added more docs
7185
7186 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7187
7188         * docs/gst/.cvsignore:
7189         * docs/gst/tmpl/.cvsignore:
7190         * docs/gst/tmpl/gstpipeline.sgml:
7191         * docs/gst/tmpl/gstplugin.sgml:
7192         * gst/gstpipeline.c:
7193         * gst/gstplugin.c:
7194         * gst/gstplugin.h:
7195           inlined the last two docs files
7196           removed the tmpl directory from cvs (no more conflicts here!)
7197
7198 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7199
7200         * docs/gst/gstreamer-sections.txt:
7201         * docs/gst/tmpl/.cvsignore:
7202         * docs/gst/tmpl/gstpad.sgml:
7203         * docs/gst/tmpl/gstpadtemplate.sgml:
7204         * gst/Makefile.am:
7205         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7206         (gst_pad_finalize), (gst_pad_set_pad_template):
7207         * gst/gstpad.h:
7208         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7209         (gst_pad_template_class_init), (gst_pad_template_init),
7210         (gst_pad_template_dispose), (name_is_valid),
7211         (gst_static_pad_template_get), (gst_pad_template_new),
7212         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
7213         (gst_pad_template_pad_created):
7214         * gst/gstpadtemplate.h:
7215           inlined two more docs
7216           factored gstpadtemplate out of gstpad
7217
7218 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
7219
7220         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7221         (test_children_state_change_order_semi_sink):
7222           Fix test case: we can't rely on a fixed state change order when
7223           going from READY => PAUSED because the sink might commit its 
7224           new state first when the first buffer created by the source 
7225           reaches the sink before the source has finished its change state.
7226           (Test case still fails at times, see #316856, comment 5 onwards)
7227
7228 2005-09-24  Wim Taymans  <wim@fluendo.com>
7229
7230         * docs/design/part-events.txt:
7231         * docs/design/part-gstbus.txt:
7232         * docs/design/part-gstpipeline.txt:
7233         * docs/design/part-messages.txt:
7234         * docs/design/part-overview.txt:
7235         * docs/design/part-segments.txt:
7236         * gst/gstbin.c:
7237         * gst/gstbuffer.c:
7238         * gst/gstclock.c:
7239         * gst/gstelement.c:
7240         * gst/gstevent.c:
7241         * gst/gstfilter.c:
7242         * gst/gstiterator.c:
7243         Various documentation updates.
7244
7245 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7246
7247         * gst/gstclock.h:
7248           Well, that's embarassing.  Luckily we weren't using
7249           GST_CLOCK_DIFF anywhere.
7250
7251 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7252
7253         * common/gtk-doc.mak:
7254           don't fail on building XML, FC4 slave shows a bunch of doc
7255           missing bits that I don't get
7256         * gst/gstpad.c:
7257         * gst/gstpipeline.c:
7258         * gst/gststructure.c:
7259           some doc updates
7260
7261 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7262
7263         * docs/design/part-gstbin.txt:
7264         * docs/design/part-gstbus.txt:
7265         * gst/gstbus.c:
7266           Add blurb about how the bus goes into flushing mode and
7267           drops all messages when its bin goes from READY into NULL 
7268           state.
7269
7270 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7271
7272         * docs/gst/gstreamer-sections.txt:
7273         * gst/gststructure.c: (gst_structure_get_clock_time):
7274         * gst/gststructure.h:
7275           add a method to get a GstClockTime out of a structure
7276
7277 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7278
7279         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7280         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7281           Added test to check state change order in bins (can still be made
7282           to fail here under heavy disk load; bails out with 'Push on pad
7283           fakesink:sink0, but it was not activated in push mode').
7284
7285         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7286           Fix state change order when there is only a semi sink (#316856)
7287
7288         * gst/gstbus.c: (gst_bus_class_init):
7289           Use _class_peek_parent(), not _class_ref(); fix docs to say
7290           'default main context' instead of 'mainloop' where that is
7291           what's meant.
7292
7293         * gst/gstelement.c: (gst_element_commit_state),
7294         (gst_element_set_state):
7295           Fix typos in debug messages
7296
7297 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7298
7299         * docs/README:
7300         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7301         * gst/gstpluginfeature.c:
7302         * gst/gstutils.c:
7303           various doc updates
7304         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7305           change an assert into an error until it gets fixed properly
7306
7307 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7308
7309         * docs/gst/gstreamer-sections.txt:
7310         * docs/gst/tmpl/.cvsignore:
7311         * docs/gst/tmpl/gstelement.sgml:
7312         * docs/gst/tmpl/gstinfo.sgml:
7313         * docs/gst/tmpl/gstobject.sgml:
7314         * gst/gstelement.c:
7315         * gst/gstelement.h:
7316         * gst/gstinfo.c:
7317         * gst/gstinfo.h:
7318         * gst/gstobject.c: (gst_object_class_init):
7319         * gst/gstobject.h:
7320           inlined 3 more biiiig doc files and added some missing docs on the fly
7321
7322 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7323
7324         * check/gst/.cvsignore:
7325         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7326         * gst/gstregistryxml.c: (load_plugin),
7327         (gst_registry_xml_save_plugin):
7328           put back source in registry.  add checks for find_plugin.
7329         * testsuite/states/bin.c: (assert_state), (empty_bin),
7330         (test_adding_one_element), (main):
7331         * testsuite/states/locked.c: (main):
7332           some compile/run fixes
7333
7334 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7335
7336         * check/gst/gstvalue.c: (GST_START_TEST):
7337           fix leaks in the test itself
7338
7339 2005-09-22  Wim Taymans  <wim@fluendo.com>
7340
7341         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7342         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7343         (gst_base_sink_query):
7344         Prepare for more accurate position reporting and query
7345         handling.
7346
7347         * gst/gstelement.c: (gst_element_send_event),
7348         (gst_element_set_state):
7349         Add some comment.
7350
7351 2005-09-22  Wim Taymans  <wim@fluendo.com>
7352
7353         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7354         (gst_query_parse_segment):
7355         * gst/gstquery.h:
7356         More documentation.
7357         Add segment query for future use.
7358
7359 2005-09-22  Wim Taymans  <wim@fluendo.com>
7360
7361         * gst/gstbin.c: (gst_bin_add_func):
7362         Some more debug info.
7363
7364         * gst/gstelement.c: (gst_element_send_event):
7365         Simplify send_event
7366
7367         * gst/gstelement.h:
7368         Don't know how flags got broken.
7369
7370         * gst/gstquery.h:
7371         Added new query.
7372
7373 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7374
7375         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7376           Add simplistic test suite for GST_TYPE_DATE serialisation and
7377           deserialisation.
7378
7379 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7380
7381         * docs/gst/gstreamer-sections.txt:
7382         * gst/gststructure.c: (gst_structure_set_valist),
7383         (gst_structure_get_date):
7384         * gst/gststructure.h:
7385         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7386         (gst_date_copy), (gst_value_compare_date),
7387         (gst_value_serialize_date), (gst_value_deserialize_date),
7388         (gst_value_transform_date_string),
7389         (gst_value_transform_string_date), (_gst_value_initialize):
7390         * gst/gstvalue.h:
7391           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7392           bunch of utility functions along with a hack that checks that
7393           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7394           is required. Part of the grand scheme in #170777.
7395
7396 2005-09-22  Andy Wingo  <wingo@pobox.com>
7397
7398         * gst/gstconfig.h.in: Psych out gtk-doc.
7399
7400         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7401
7402         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7403
7404         * tools/gst-inspect.c (print_element_list): Plug some
7405         inconsequential leaks.
7406
7407         * gst/gstregistry.c (gst_registry_get_default): Doc.
7408
7409         * check/gst/gstplugin.c: 
7410         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7411         * gst/gstelementfactory.c (gst_element_factory_create): 
7412         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7413         refcount changes.
7414
7415         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7416         (gst_plugin_feature_load): Doc, don't eat refs.
7417
7418         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7419         (gst_plugin_list_free): Doc.
7420         (gst_plugin_load_file): Doc updates.
7421
7422         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7423         accessors returning refcounted objects, return a ref.
7424
7425         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7426         accessor for caps. IDEMPOTENCE. Oh yes.
7427
7428 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7429
7430         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7431
7432         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7433         (_gst_debug_register_funcptr):
7434           Add mutex to serialise access to the hash table with
7435           the function pointer => function name string mapping;
7436           make that hash table static scope (#316809).
7437
7438         * gst/registries/.cvsignore:
7439           Remove left-over file.
7440
7441 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7442
7443         * docs/pwg/appendix-porting.xml:
7444           And something about newsegment events and caps-on-buffers to
7445           the porting guide (feel free to improve).
7446
7447 2005-09-21  Andy Wingo  <wingo@pobox.com>
7448
7449         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7450         data and event probes on the same pad.
7451         (test_buffer_probe_once): Test that removing probes from within
7452         the probe functions works.
7453
7454 2005-09-21  Andy Wingo  <wingo@pobox.com>
7455
7456         * check/gst/gstutils.c: New file.
7457         (test_buffer_probe_n_times): A simple buffer probe test. More to
7458         come, foolios.
7459
7460         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7461         have-data::buffer, not have-data.
7462         (gst_pad_add_event_probe): Likewise for have-data::event.
7463         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7464         peer' isn't quite right yet though.
7465         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7466         (gst_pad_remove_data_probe): Change to take the guint handler_id
7467         as their arg, not the function+data, which is more glib-like.
7468
7469         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7470         the signal emission to indicate if the data is a buffer or an
7471         event.
7472         (gst_pad_get_type): Initialize buffer and event quarks.
7473         (gst_pad_class_init): have-data is now a detailed signal, yes it
7474         is.
7475
7476 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7477
7478         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7479         * gst/gstutils.c: (gst_util_set_value_from_string),
7480         (gst_util_set_object_arg):
7481           Don't put functional code in g_return_if_fail() or
7482           g_return_val_if_fail() statements, otherwise things will 
7483           break when G_DISABLE_CHECKS is defined during compilation.
7484
7485 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7486
7487         * docs/gst/tmpl/.cvsignore:
7488         * docs/gst/tmpl/gstvalue.sgml:
7489         * gst/gstvalue.c:
7490         * gst/gstvalue.h:
7491           inlied another one and added  some obvious docs
7492
7493 2005-09-21  Wim Taymans  <wim@fluendo.com>
7494
7495         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7496         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7497         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7498         (gst_fdsrc_get_property), (gst_fdsrc_create):
7499         * gst/elements/gstfdsrc.h:
7500         Properly implement fdsrc. Removed signal and timeout,
7501         better implemented somewhere else.
7502
7503 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7504
7505         * docs/gst/tmpl/.cvsignore:
7506         * docs/gst/tmpl/gstimplementsinterface.sgml:
7507         * gst/gstinterface.c:
7508           inlined more docs
7509
7510 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7511
7512         * docs/gst/gstreamer-sections.txt:
7513         * docs/gst/tmpl/.cvsignore:
7514         * docs/gst/tmpl/gstenumtypes.sgml:
7515           remove obsolete doc file
7516
7517 2005-09-21  David Schleef  <ds@schleef.org>
7518
7519         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7520         little beer, fix a little leak.
7521
7522 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7523
7524         * docs/gst/gstreamer-docs.sgml:
7525         * docs/gst/gstreamer-sections.txt:
7526         * docs/gst/tmpl/.cvsignore:
7527         * gst/Makefile.am:
7528         * gst/gst.h:
7529         * gst/gstbin.c:
7530         * gst/gstelement.h:
7531         * gst/gstindex.c: (gst_index_class_init):
7532         * gst/gstindex.h:
7533         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7534         (gst_index_factory_class_init), (gst_index_factory_init),
7535         (gst_index_factory_finalize), (gst_index_factory_new),
7536         (gst_index_factory_destroy), (gst_index_factory_find),
7537         (gst_index_factory_create), (gst_index_factory_make):
7538         * gst/gstindexfactory.h:
7539         * gst/gstpluginfeature.c:
7540         * gst/gstpluginfeature.h:
7541         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7542           more docs inlined, splitted gstindex.{c,h}
7543
7544 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7545
7546         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7547           fix a leak
7548
7549 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7550
7551         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7552           Set sync to FALSE by default.
7553
7554 2005-09-20  Wim Taymans  <wim@fluendo.com>
7555
7556         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7557         (gst_base_sink_init):
7558         Make sync property settable from subclass.
7559
7560         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7561         (gst_fake_sink_change_state):
7562         Set sync to FALSE by default.
7563
7564 2005-09-20  Wim Taymans  <wim@fluendo.com>
7565
7566         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7567         * tools/gst-launch.c: (main):
7568         The timeout handler should have lower priority than the source
7569         so we don't timeout before popping a message with 0 timeout.
7570         Dump error messages after failed state change.
7571
7572 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7573
7574         * tools/gst-inspect.c: (print_element_properties_info):
7575           Fix two typos.
7576
7577 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7578
7579         * check/gst/gstevent.c:
7580         * gst/elements/gstfakesink.c:
7581         * gst/elements/gstfakesink.h:
7582           remove the sync property from fakesink.
7583           has the side effect of setting sync TRUE
7584           for fakesink, which is a change.  Anyone who knows how
7585           to fix this nicely in a GObject-y way, feel free.
7586
7587 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7588
7589         * docs/gst/gstreamer-docs.sgml:
7590           remove probe refsection
7591
7592 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7593
7594         * check/Makefile.am:
7595           disable valgrinding the controller test again
7596         * docs/gst/gstreamer-sections.txt:
7597           update for api-changes
7598
7599 2005-09-20  Wim Taymans  <wim@fluendo.com>
7600
7601         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7602         (gst_base_sink_set_property), (gst_base_sink_get_property),
7603         (gst_base_sink_do_sync):
7604         * gst/base/gstbasesink.h:
7605         Added sync property to basesink to disable clock sync.
7606
7607 2005-09-20  Andy Wingo  <wingo@pobox.com>
7608
7609         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7610         eating the caller's refcount.
7611
7612         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7613         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7614         refcount.
7615
7616         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7617         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7618         of GLib 2.8 public, so we can know which refcount to check in
7619         tests.
7620
7621         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7622         (gst_object_init): Only set the gst refcount if we're going ahead
7623         with the refcount hack.
7624
7625 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7626
7627         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7628         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7629           more leaks plumbed, added more debug-logging
7630         * gst/gstmacros.h:
7631           whitespace fix
7632
7633 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7634
7635         * gst/gstmessage.c:
7636           remove include of gstmemchunk.h
7637
7638 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7639
7640         * gst/gstclock.c: (_gst_clock_id_free):
7641           Commit from the Political Party For More Atomic CVS Commits,
7642           so that people don't waste too much of their day fishing
7643           out obvious leaks out of massive commits.
7644           Oh, and fix a pretty damn obvious leak in the memchunk
7645           removal code.
7646
7647 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7648
7649         * check/Makefile.am:
7650         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7651           plug mem-leak, re-add to valgrindable tests
7652
7653 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7654
7655         * gst/gstplugin.h:
7656           unbreak the build for those who have chronic arthritis
7657           and typing "make check" is just too taxing on the hands
7658
7659 2005-09-20  Andy Wingo  <wingo@pobox.com>
7660
7661         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7662         really want it out, you should fix plugins at the same time.
7663
7664 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7665
7666         * configure.ac:
7667         * docs/gst/gstreamer-sections.txt:
7668         * gst/gstobject.c:
7669           added missing symbols to api docs
7670           disable ref-count hack if we have glib >= 2.8
7671
7672 2005-09-19  David Schleef  <ds@schleef.org>
7673
7674         * docs/gst/Makefile.am: Ignore a few more internal headers
7675         * docs/gst/gstreamer-docs.sgml: Remove old sections
7676         * docs/gst/gstreamer-sections.txt: Remove old sections
7677         * docs/gst/tmpl/gstobject.sgml: update
7678         * docs/gst/tmpl/gstplugin.sgml: update
7679         * docs/gst/tmpl/gstpluginfeature.sgml: update
7680         * docs/random/ds/0.9-suggested-changes: update.
7681         * gst/Makefile.am: remove memchunk and trashstack, since they're
7682           not used.
7683         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7684         * gst/gst.h: don't include some headers
7685         * gst/gstchildproxy.c: add gstmarshal.h
7686         * gst/gstclock.c: Don't use memchunks
7687         * gst/gstminiobject.c: Add some docs
7688         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7689         * gst/gstobject.h: same
7690         * gst/gstplugin.c: include gstmacros.h
7691         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7692         * gst/gstquery.c: don't use memchunks
7693         * gst/gstregistry.c: rename gst_registry_deinit()
7694         * gst/gstregistry.h: same
7695
7696 2005-09-19  David Schleef  <ds@schleef.org>
7697
7698         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7699         * docs/libs/gstreamer-libs-sections.txt:
7700         * docs/libs/tmpl/gstgetbits.sgml:
7701         * docs/libs/tmpl/gstputbits.sgml:
7702
7703 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7704
7705         * win32/gstenumtypes.c:
7706         * win32/gstenumtypes.h:
7707           Update.
7708
7709 2005-09-19  Wim Taymans  <wim@fluendo.com>
7710
7711         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7712         Automatically PAUSE and RESUME a pipeline when a flushing seek
7713         is performed.
7714
7715 2005-09-19  Andy Wingo  <wingo@pobox.com>
7716
7717         * gst/gstregistry.h: Spacing fixen.
7718
7719 2005-09-19  Wim Taymans  <wim@fluendo.com>
7720
7721         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7722         Handle state change failure more correctly.
7723
7724 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * check/Makefile.am:
7727         * check/pipelines/cleanup.c: (run_pipeline):
7728         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7729         (GST_START_TEST):
7730           enable cleanup again after fixing the leak
7731         * docs/README:
7732           some more info on docs
7733
7734 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7735
7736         * check/Makefile.am:
7737           re-enable tests now that leaks are plugged
7738         * check/gst/gst.c:
7739         * check/gst/gstbin.c:
7740         * check/gst/gstpipeline.c:
7741           add some more tests while fixing leaks
7742         * common/check.mak:
7743           make sure binaries are uptodate when valgrinding/gdbing
7744         * gst/gst.c:
7745         * gst/gstelementfactory.c:
7746           remove a ref too many, and add a FIXME for when we get
7747           round to disposing of classes
7748         * gst/gstplugin.c:
7749           fix the refcounting when loading a plugin from a file and
7750           the code pretends that the pointer is the same even though
7751           of course it can change
7752         * gst/gstpluginfeature.c:
7753           unref plugins marked cached (a bit confusing as a name)
7754           as the docs state should be done
7755           various doc additions to explain refcounting
7756         * gst/gstregistry.c:
7757         * gst/gstregistryxml.c:
7758           debugging
7759
7760 2005-09-19  Wim Taymans  <wim@fluendo.com>
7761
7762         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7763         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7764         (send_messages), (GST_START_TEST), (gstbus_suite):
7765         * check/gst/gstpipeline.c: (GST_START_TEST):
7766         * check/pipelines/cleanup.c: (run_pipeline):
7767         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7768         (GST_START_TEST):
7769         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7770         (gst_bus_source_check), (gst_bus_source_dispatch),
7771         (gst_bus_create_watch), (gst_bus_add_watch_full),
7772         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7773         * gst/gstbus.h:
7774         * tools/gst-launch.c: (event_loop):
7775         * tools/gst-md5sum.c: (event_loop):
7776         GstBusHandler -> GstBusFunc, return value has the same meaning as
7777         any other GSource (FALSE == remove source).
7778         _add_watch() and _add_watch_full() now take a MessageType mask to
7779         only handle specific types of messages.
7780         _poll() returns the GstMessage instead of the message type to avoid
7781         race conditions.
7782         _have_pending() takes a MessageType mask now too.
7783         Added testsuite for multiple bus watches.
7784         Fix testsuites and applications for new bus API.
7785
7786 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7787
7788         * check/Makefile.am:
7789           mark a bunch of the tests as to fix until we fix them
7790
7791 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7792
7793         * common/check.mak:
7794           use GST_PLUGIN settings for valgrind tests as well, so we're
7795           valgrinding the correct thing
7796         * gst/gst.c: (init_post):
7797           plug another leak
7798
7799 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7800
7801         * gst/gst.c: (init_post), (gst_deinit):
7802         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7803         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7804         * gst/gstindex.c: (gst_index_factory_class_init),
7805         (gst_index_factory_finalize):
7806         * gst/gstobject.c: (gst_object_dispose):
7807         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7808         (gst_plugin_load_file), (gst_plugin_desc_free):
7809         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7810         (gst_plugin_feature_finalize):
7811         * gst/gstregistry.c: (gst_registry_class_init),
7812         (gst_registry_init), (gst_registry_finalize),
7813         (gst_registry_get_default), (gst_registry_deinit):
7814         * gst/gstregistry.h:
7815         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7816           various cleanups and memleak plugging.  make valgrind is happy now.
7817
7818 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7819
7820         * common/check.mak:
7821           add a check-valgrind target
7822
7823 2005-09-18  David Schleef  <ds@schleef.org>
7824
7825         * tools/gst-inspect.c: Revert the GOption code.
7826
7827 2005-09-17  David Schleef  <ds@schleef.org>
7828
7829         * check/Makefile.am: Fix environment variables.
7830         * check/gst/gstplugin.c: Fix for API changes.
7831         * tools/gst-inspect.c: Fix for API changes.
7832         * tools/gst-xmlinspect.c: Fix for API changes.
7833         * gst/gstelementfactory.c:
7834         * gst/gstplugin.c:
7835         * gst/gstplugin.h:
7836         * gst/gstpluginfeature.c:
7837         * gst/gstpluginfeature.h:
7838         * gst/gstregistry.c:
7839         * gst/gstregistry.h:
7840         * gst/gstregistryxml.c:
7841         * gst/gsttypefind.c:
7842         * gst/gsttypefindfactory.c:
7843         * gst/indexers/gstfileindex.c:
7844         * gst/indexers/gstmemindex.c:
7845         * gst/schedulers/Makefile.am:
7846           Change registry to keep track of both plugins and features,
7847           removing the feature tracking from plugins themselves.
7848
7849 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7850
7851         * check/Makefile.am:
7852         * tools/gst-register.1.in:
7853           remove gst-register
7854
7855 2005-09-15  David Schleef  <ds@schleef.org>
7856
7857         * check/gst/gstplugin.c:
7858         * gst/gstelementfactory.c:
7859         * gst/gstplugin.c:
7860         * gst/gstpluginfeature.c:
7861         * gst/gstregistry.c:
7862           Getting tired of debugging.  Disabled all the unreffing of
7863           plugins and features, which fixes the segfaults, but of
7864           course leaks like crazy.  At least playbin works.
7865
7866 2005-09-15  David Schleef  <ds@schleef.org>
7867
7868         * check/gst/gstplugin.c: (register_check_elements),
7869         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7870         More testing
7871         * gst/elements/gsttypefindelement.c: Fix refcounting.
7872         * gst/gsttypefind.c:
7873         * gst/gsttypefindfactory.c:
7874         * gst/gsttypefindfactory.h:
7875
7876 2005-09-15  David Schleef  <ds@schleef.org>
7877
7878         * gst/gstindex.c: get refcounting correct.
7879         * gst/gstregistry.c: Handle the case where a feature/plugin is
7880           not found.
7881
7882 2005-09-15  David Schleef  <ds@schleef.org>
7883
7884         * check/Makefile.am:
7885         * check/gst/gstplugin.c: Add test
7886         * gst/gstplugin.c: Fix problems noticed by testsuite
7887         * gst/gstplugin.h:
7888         * gst/gstregistry.c: 
7889         * gst/gstregistry.h:
7890
7891 2005-09-15  David Schleef  <ds@schleef.org>
7892
7893         * gst/gstplugin.c: Implement semi-decent recounting and locking
7894           in plugins and plugin features.
7895         * gst/gstplugin.h:
7896         * gst/gstpluginfeature.c:
7897         * gst/gstpluginfeature.h:
7898         * gst/gstregistry.c:
7899
7900 2005-09-15  Michael Smith <msmith@fluendo.com>
7901
7902         * gst/gstregistry.c: (gst_registry_get_feature_list):
7903           Implement this. Makes oggdemux work; decodebin still broken.
7904
7905 2005-09-14  David Schleef  <ds@schleef.org>
7906
7907         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7908           #316076)
7909         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7910         * gst/check/Makefile.am:
7911         * libs/gst/controller/Makefile.am:
7912         * libs/gst/dataprotocol/Makefile.am:
7913
7914 2005-09-14  David Schleef  <ds@schleef.org>
7915
7916         * configure.ac: Remove getbits library.  Nothing uses it, and
7917           it should be in something like liboil if someone did want
7918           to use it.
7919         * libs/gst/Makefile.am:
7920         * libs/gst/getbits/Makefile.am:
7921         * libs/gst/getbits/gbtest.c:
7922         * libs/gst/getbits/getbits.c:
7923         * libs/gst/getbits/getbits.h:
7924         * libs/gst/getbits/gstgetbits_generic.c:
7925         * libs/gst/getbits/gstgetbits_i386.s:
7926         * libs/gst/getbits/gstgetbits_inl.h:
7927
7928 2005-09-14  David Schleef  <ds@schleef.org>
7929
7930         * gst/Makefile.am: Dist glib-compat.h
7931
7932 2005-09-14  David Schleef  <ds@schleef.org>
7933
7934         * configure.ac: Remove gst/registries, since it's no longer used.
7935         * gst/registries/Makefile.am:
7936         * gst/registries/gstlibxmlregistry.c:
7937         * gst/registries/gstlibxmlregistry.h:
7938         * gst/registries/gstxmlregistry.c:
7939         * gst/registries/gstxmlregistry.h:
7940         * gst/registries/registrytest.c:
7941
7942 2005-09-14  David Schleef  <ds@schleef.org>
7943
7944         * gst/glib-compat.h:
7945         * gst/gstregistryxml.c:
7946           Convergence is near.  Seriously.
7947
7948 2005-09-14  David Schleef  <ds@schleef.org>
7949
7950         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7951         * gst/glib-compat.h:
7952           Attempt #4 to appease the buildbots.
7953
7954 2005-09-14  David Schleef  <ds@schleef.org>
7955
7956         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7957           Attempt #3.
7958
7959 2005-09-14  David Schleef  <ds@schleef.org>
7960
7961         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7962         Attempt #2.
7963
7964 2005-09-14  David Schleef  <ds@schleef.org>
7965
7966         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7967           the new functions.
7968
7969 2005-09-14  David Schleef  <ds@schleef.org>
7970
7971         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7972         * gst/glib-compat.h: Add some functions that are in newer versions
7973           of glib than we care to require.
7974         * gst/gstregistryxml.c: Use them.
7975
7976 2005-09-14  David Schleef  <ds@schleef.org>
7977
7978         * po/POTFILES.in: remove gst-register.c
7979
7980 2005-09-14  David Schleef  <ds@schleef.org>
7981
7982         * docs/gst/gstreamer-docs.sgml:
7983         * docs/gst/gstreamer-sections.txt:
7984         * docs/gst/gstreamer.types:
7985         * docs/gst/tmpl/gstelement.sgml:
7986         * docs/gst/tmpl/gstplugin.sgml:
7987         * docs/gst/tmpl/gstpluginfeature.sgml:
7988           Documentation updates for registry changes.
7989
7990 2005-09-14  David Schleef  <ds@schleef.org>
7991
7992         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7993           because we don't require glib-2.8.
7994
7995 2005-09-14  David Schleef  <ds@schleef.org>
7996
7997         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7998           registries directory.
7999
8000 2005-09-14  David Schleef  <ds@schleef.org>
8001
8002         * check/Makefile.am:
8003         * check/generic/states.c:
8004         * gst/Makefile.am:
8005         * gst/gst.c:
8006         * gst/gst.h:
8007         * gst/gst_private.h:
8008         * gst/gstelementfactory.c:
8009         * gst/gstindex.c:
8010         * gst/gstinfo.c:
8011         * gst/gstplugin.c:
8012         * gst/gstplugin.h:
8013         * gst/gstpluginfeature.c:
8014         * gst/gstpluginfeature.h:
8015         * gst/gstregistry.c:
8016         * gst/gstregistry.h:
8017         * gst/gstregistrypool.c: remove
8018         * gst/gstregistrypool.h: remove
8019         * gst/gsttypefind.c:
8020         * gst/gsttypefindfactory.c:
8021         * gst/gsturi.c:
8022         * tools/Makefile.am:
8023         * tools/gst-compprep.c:
8024         * tools/gst-inspect.c:
8025         * tools/gst-register.c: remove
8026         * tools/gst-xmlinspect.c:
8027           Registry rewrite.  Changes registry from being a file created
8028           by a tool into a simple cache file created automatically by 
8029           libgstreamer.  Removed gst-register (because it's no longer
8030           needed).  Remove registry pools, because we only have one
8031           registry implementation (XML).  Fix up other subsystems as
8032           necessary.
8033
8034 2005-09-13  Michael Smith <msmith@fluendo.com>
8035
8036         * gst/gstconfig.h.in:
8037           Don't Use windows linking attributes for MinGW. Fixes #316157
8038
8039 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8040
8041         * gst/gstutils.c: (set_state_async_thread_func),
8042         (gst_element_set_state_async):
8043           Apparently people think it's better if this function doesn't
8044           try to set the state to whatever state was asked for on the first
8045           call to this function for any object.  Seriously.
8046
8047 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8048
8049         * check/gst/gstpipeline.c: (GST_START_TEST):
8050         * docs/gst/gstreamer-sections.txt:
8051         * gst/gstutils.c: (set_state_async_thread_func),
8052         (gst_element_set_state_async):
8053         * gst/gstutils.h:
8054           add a "gst_element_set_state_async" method that
8055           sets the state and starts a thread to make sure the state
8056           change completes as best as it can
8057
8058 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8059
8060         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8061           codify design+behaviour in testsuite after discussion
8062
8063 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8064
8065         * docs/gst/tmpl/gstelement.sgml:
8066         * docs/manual/appendix-quotes.xml:
8067           add a quote
8068         * gst/gstelement.c: (gst_element_set_state):
8069           add some debug
8070
8071 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
8072
8073         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8074         (gst_base_transform_prepare_output_buf),
8075         (gst_base_transform_handle_buffer):
8076         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
8077         (gst_capsfilter_prepare_buf):
8078           Remove the requirement for sub-classes to call the parent
8079           implementation of prepare_output_buffer with a wrapper function.
8080           
8081         * gst/gsttaglist.h:
8082         * gst/gsttagsetter.h:
8083           Fix #define wrapper
8084
8085 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
8086
8087         * docs/gst/gstreamer-sections.txt:
8088           more doc cleanups
8089
8090 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8091
8092         * docs/gst/gstreamer-sections.txt:
8093         * docs/gst/tmpl/gstelement.sgml:
8094         * docs/gst/tmpl/gstplugin.sgml:
8095         * gst/gstminiobject.c:
8096         * gst/gstvalue.h:
8097           docs now stop throwing warnings
8098
8099 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8100
8101         * docs/gst/gstreamer-sections.txt:
8102         * docs/gst/gstreamer.types:
8103         * docs/gst/tmpl/gstpad.sgml:
8104         * docs/gst/tmpl/gsttypes.sgml:
8105         * gst/base/gstadapter.h:
8106         * gst/base/gstbasesink.h:
8107         * gst/base/gstbasesrc.h:
8108         * gst/gstbin.h:
8109         * gst/gstbuffer.h:
8110         * gst/gstbus.h:
8111         * gst/gstcaps.h:
8112         * gst/gstclock.h:
8113         * gst/gstelement.h:
8114         * gst/gstevent.h:
8115         * gst/gstmessage.h:
8116         * gst/gstpad.h:
8117         * gst/gststructure.c:
8118         * gst/registries/gstlibxmlregistry.h:
8119           various documentation fixes
8120
8121 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8122
8123         * docs/gst/gstreamer-sections.txt:
8124         * docs/gst/tmpl/gstvalue.sgml:
8125           rearrange gstvalue section
8126         * gst/gstutils.c: (gst_element_state_get_name):
8127           NONE -> VOID
8128         * gst/gstvalue.c: (_gst_value_initialize):
8129         * gst/gstvalue.h:
8130           doc updates
8131
8132 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
8133
8134         * check/gst-libs/controller.c:
8135           Header include fix.
8136         * gst/base/gstbasetransform.c:
8137         (gst_base_transform_default_prepare_buf),
8138         (gst_base_transform_handle_buffer):
8139         * gst/base/gstbasetransform.h:
8140           Some more basetransform changes and fixes to enable sub-classes
8141           that modify buffer metadata only.
8142         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8143         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
8144         (gst_capsfilter_prepare_buf):
8145           If the output pad has fixed allowed caps and input buffers 
8146           don't have any, set the fixed caps on outgoing buffers.
8147
8148 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
8149         * check/elements/identity.c: (GST_START_TEST):
8150           Make the error a little clearer when the test fails because
8151           identity made a copy of the buffer.
8152         * docs/gst/gstreamer-sections.txt:
8153           New symbols in gstbasetransform.h
8154         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8155         (gst_base_transform_init), (gst_base_transform_transform_size),
8156         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8157         (gst_base_transform_default_prepare_buf),
8158         (gst_base_transform_get_unit_size),
8159         (gst_base_transform_buffer_alloc),
8160         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8161         (gst_base_transform_change_state),
8162         (gst_base_transform_set_passthrough),
8163         (gst_base_transform_set_in_place),
8164         (gst_base_transform_is_in_place):
8165         * gst/base/gstbasetransform.h:
8166           Change BaseTransform to separate in_place operate from same_caps
8167           output. in_place implies that the element can perform the transform
8168           on incoming buffers in-place, even if the caps on the output are
8169           different.
8170           Sub-class elements can now implement special buffer allocation
8171           methods for outgoing buffers if they wish to.
8172           Big documentation addition.
8173         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
8174         * gst/elements/gstelements.c:
8175           Changes for basetransform modifications.
8176         * gst/elements/Makefile.am:
8177         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
8178           Compile fix. Extra debug output.
8179
8180 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8181
8182         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
8183         (gst_pad_suite):
8184           add tests for valid pad naming
8185         * gst/check/gstcheck.c: (gst_check_log_message_func),
8186         (gst_check_log_critical_func):
8187           add ASSERT_WARNING
8188           remove printing of code, it is fragile when the code contains
8189           % and the line number is enough info
8190         * gst/check/gstcheck.h:
8191         * gst/gstpad.c: (gst_pad_template_new):
8192           fix memleaks
8193
8194 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8195
8196         * configure.ac:
8197           say what CHECK flags we use
8198         * docs/libs/gstreamer-libs.types:
8199         * libs/gst/controller/Makefile.am:
8200         * libs/gst/controller/gst-controller.c:
8201         * libs/gst/controller/gst-controller.h:
8202         * libs/gst/controller/gst-helper.c:
8203         * libs/gst/controller/gst-interpolation.c:
8204         * libs/gst/controller/gstcontroller.c:
8205         * libs/gst/controller/gsthelper.c:
8206         * libs/gst/controller/gstinterpolation.c:
8207         * tools/gst-inspect.c: (print_plugin_info):
8208           we don't use dashes in header names
8209
8210 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8211
8212         * check/Makefile.am:
8213         * check/gst/.cvsignore:
8214         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
8215         (gst_pipeline_suite), (main):
8216           adding a test for pipelines and state changes
8217         * gst/gstutils.c: (get_state_func):
8218           add some debugging
8219         * gstreamer.spec.in:
8220           fix up spec file
8221
8222 2005-09-08  Michael Smith <msmith@fluendo.com>
8223
8224         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
8225         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
8226         (gst_file_src_is_seekable), (gst_file_src_get_size),
8227         (gst_file_src_start):
8228         * gst/elements/gstfilesrc.h:
8229           Various fixes for unseekable, unmmapable, and non-normal files, so
8230           that fallback to read() rather than mmap() works.
8231         * gst/gstevent.c: (gst_event_new_newsegment):
8232           Allow newsegment events with segment_start == segment_end, as will
8233           correctly happen if you use filesrc on a zero-size file, for
8234           example.
8235
8236 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8237
8238         * gst/gstplugin.c: (gst_plugin_load_file):
8239           Call g_module_close when we don't load the module
8240
8241         * gst/registries/gstlibxmlregistry.c:
8242         (gst_xml_registry_get_property):
8243           Port leak fix from 0.8
8244
8245 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8246
8247         * docs/gst/gstreamer-docs.sgml:
8248         * docs/gst/tmpl/.cvsignore:
8249         * docs/gst/tmpl/gsttrace.sgml:
8250         * docs/gst/tmpl/gsttrashstack.sgml:
8251         * gst/Makefile.am:
8252         * gst/gst.h:
8253         * gst/gstelement.h:
8254         * gst/gstevent.h:
8255         * gst/gstmessage.c:
8256         * gst/gstmessage.h:
8257         * gst/gsttag.c:
8258         * gst/gsttag.h:
8259         * gst/gsttaginterface.c:
8260         * gst/gsttaginterface.h:
8261         * gst/gsttaglist.c:
8262         * gst/gsttaglist.h:
8263         * gst/gsttagsetter.c:
8264         * gst/gsttagsetter.h:
8265         * gst/gsttrace.c:
8266         * gst/gsttrace.h:
8267         * gst/gsttrashstack.c:
8268           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8269           inlined docs for gsttrace, gsttrashstack
8270
8271 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8272
8273         * gst/Makefile.am:
8274         * gst/elements/gstbufferstore.h:
8275         * gst/elements/gsttypefindelement.c:
8276         * gst/elements/gsttypefindelement.h:
8277         * gst/gst.h:
8278         * gst/gsttypefind.c:
8279         * gst/gsttypefind.h:
8280         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8281         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8282         (gst_type_find_factory_dispose),
8283         (gst_type_find_factory_unload_thyself),
8284         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8285         (gst_type_find_factory_get_caps),
8286         (gst_type_find_factory_get_extensions),
8287         (gst_type_find_factory_call_function):
8288         * gst/gsttypefindfactory.h:
8289         * gst/registries/gstlibxmlregistry.c:
8290         * gst/registries/gstxmlregistry.c:
8291           splitted gsttypefind into gsttypefind, gsttypefindfactory
8292
8293 2005-09-07  Andy Wingo  <wingo@pobox.com>
8294
8295         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8296         condition whereby the pad's task function is entered before the
8297         pad_mode variable was set.
8298
8299 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8300
8301         * gst/gstpad.c: (gst_pad_alloc_buffer):
8302           Catch misbehaving pad_alloc functions that don't
8303           set up caps and do it for them.
8304
8305 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8306
8307         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8308           test for pipe!=NULL
8309         * docs/gst/tmpl/.cvsignore:
8310         * docs/gst/tmpl/gstmemchunk.sgml:
8311         * docs/gst/tmpl/gstparse.sgml:
8312         * docs/gst/tmpl/gsttaglist.sgml:
8313         * docs/gst/tmpl/gsttagsetter.sgml:
8314         * docs/gst/tmpl/gsttypefind.sgml:
8315         * docs/gst/tmpl/gsttypefindfactory.sgml:
8316         * gst/gstmemchunk.c:
8317         * gst/gstparse.c:
8318         * gst/gsttag.c:
8319         * gst/gsttaginterface.c:
8320         * gst/gsttypefind.c:
8321         * gst/gsttypefind.h:
8322           inlined more docs
8323
8324 === release 0.9.2 ===
8325
8326 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8327
8328         * NEWS:
8329         * RELEASE:
8330         * configure.ac:
8331           releasing 0.9.2, "South"
8332
8333 2005-09-05  Andy Wingo  <wingo@pobox.com>
8334
8335         * gst/registries/gstxmlregistry.h:
8336         * gst/registries/gstxmlregistry.c: Um... resurrect...
8337         
8338         * gst/registries/gstxmlregistry.h:
8339         * gst/registries/gstxmlregistry.c: and update to newer API.
8340         Incidentally they should be a bit faster now that they don't have
8341         to parse the caps.
8342         
8343 2005-09-05  Andy Wingo  <wingo@pobox.com>
8344
8345         * gst/registries/gstxmlregistry.h:
8346         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8347         replaced by the libxml registry a while back
8348
8349 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * docs/gst/tmpl/gstplugin.sgml:
8352         * gst/elements/gstelements.c:
8353         * gst/gst.c:
8354         * gst/gstplugin.c: (gst_plugin_register_func),
8355         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8356         (gst_plugin_get_source):
8357         * gst/gstplugin.h:
8358         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8359         (gst_xml_registry_save_plugin):
8360         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8361         (gst_xml_registry_save_plugin):
8362         * tools/gst-inspect.c: (print_plugin_info):
8363           add a "source" plugin description field, to represent the source
8364           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8365           will set it to PACKAGE, which is automake's idea of the name of
8366           the source project.
8367
8368 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8369
8370         * Makefile.am:
8371         * autogen.sh:
8372         * configure.ac:
8373         * docs/Makefile.am:
8374         * docs/faq/Makefile.am:
8375         * docs/gst/tmpl/gstelement.sgml:
8376         * docs/gst/tmpl/gsttypes.sgml:
8377         * docs/htmlinstall.mak:
8378         * docs/manual/Makefile.am:
8379         * docs/pwg/Makefile.am:
8380           reorganize doc build a little
8381           split out docbook and gtk-doc stuff
8382           have two separate --enable's and enable them through autogen
8383           but disable by default in configure (to be similar to other
8384           projects)
8385         * gstreamer.spec.in:
8386           clean up docs install
8387         * po/af.po:
8388         * po/az.po:
8389         * po/ca.po:
8390         * po/cs.po:
8391         * po/de.po:
8392         * po/en_GB.po:
8393         * po/fr.po:
8394         * po/it.po:
8395         * po/nb.po:
8396         * po/nl.po:
8397         * po/ru.po:
8398         * po/sq.po:
8399         * po/sr.po:
8400         * po/sv.po:
8401         * po/tr.po:
8402         * po/uk.po:
8403         * po/vi.po:
8404           translation updates
8405
8406 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8407
8408         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8409           Add comment.
8410           
8411         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8412         (gst_fake_sink_change_state):
8413           Make state change function thread-safe.
8414           
8415         * gst/gstpad.c: (gst_pad_alloc_buffer):
8416           Set offset on generic buffer allocated by fallback.
8417
8418 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8419
8420         * docs/gst/gstreamer-sections.txt:
8421         * docs/gst/tmpl/gstelement.sgml:
8422         * gst/gstpad.c:
8423         * libs/gst/controller/gst-controller.c:
8424         (gst_controlled_property_set_interpolation_mode),
8425         (gst_controlled_property_new),
8426         (gst_controller_find_controlled_property):
8427          run the wingo-magic script against the docs
8428
8429 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8430
8431         * docs/gst/gstreamer-docs.sgml:
8432         * docs/gst/gstreamer-sections.txt:
8433         * docs/gst/tmpl/.cvsignore:
8434         * docs/gst/tmpl/gstelementdetails.sgml:
8435         * docs/gst/tmpl/gstelementfactory.sgml:
8436         * gst/gst.c:
8437         * gst/gstbus.c:
8438         * gst/gstelementfactory.c:
8439         * gst/gstelementfactory.h:
8440           merged elementdetails docs into elementfactory docs
8441           inlined both
8442
8443 2005-09-02  Andy Wingo  <wingo@pobox.com>
8444
8445         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8446         consider this enum an enum and not a flags.
8447
8448 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8449
8450         * docs/gst/gstreamer-docs.sgml:
8451         * docs/gst/tmpl/.cvsignore:
8452         * docs/gst/tmpl/gstghostpad.sgml:
8453         * docs/gst/tmpl/gstiterator.sgml:
8454         * docs/gst/tmpl/gstmacros.sgml:
8455         * docs/gst/tmpl/gstrealpad.sgml:
8456         * docs/gst/tmpl/gstregistry.sgml:
8457         * docs/gst/tmpl/gstregistrypool.sgml:
8458         * docs/gst/tmpl/gststructure.sgml:
8459         * docs/gst/tmpl/gstsystemclock.sgml:
8460         * docs/gst/tmpl/gsttrace.sgml:
8461         * gst/gstghostpad.c:
8462         * gst/gstmacros.h:
8463         * gst/gstmemchunk.c:
8464         * gst/gstmemchunk.h:
8465         * gst/gstqueue.c:
8466         * gst/gstregistry.c:
8467         * gst/gstregistrypool.c:
8468         * gst/gststructure.c:
8469         * gst/gstsystemclock.c:
8470           more docs inlined
8471
8472 2005-09-02  Andy Wingo  <wingo@pobox.com>
8473
8474         * gst/gstelement.h (GstState): Renamed from GstElementState,
8475         changed to be a normal enum instead of flags.
8476         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8477         munged to be GST_STATE_CHANGE_*.
8478         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8479         work with the new state representation.
8480         (GstStateChange): New enumeration of possible state transitions.
8481         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8482         (GstElementClass::change_state): Pass the GstStateChange along as
8483         an argument. Helps language bindings, so they don't have to use
8484         tricky lock-needing macros like GST_STATE_CHANGE ().
8485
8486         * scripts/update-states (file): New script. Run it on a file to
8487         update it for state naming and API changes. Updates files in
8488         place.
8489
8490         * All files updated for the new API.
8491
8492 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8493
8494         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8495         * gst/gstutils.c: (gst_util_set_value_from_string),
8496         (gst_util_set_object_arg):
8497           fix a bunch of unchecked return values
8498         * tools/gst-complete.c: (main):
8499         * gstreamer.spec.in:
8500           clean up a little
8501
8502 2005-09-01  Wim Taymans  <wim@fluendo.com>
8503
8504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8505         (gst_base_sink_event), (gst_base_sink_do_sync),
8506         (gst_base_sink_handle_event):
8507         * gst/base/gstbasesink.h:
8508         Handle newsegments more correctly.
8509
8510         * gst/gstbus.c:
8511         Fix docs.
8512
8513         * gst/gstevent.c: (gst_event_new_newsegment):
8514         A newsegment cannot have a start_time of -1
8515
8516 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8517
8518         * win32/gstenumtypes.c:
8519         * win32/gstenumtypes.h:
8520           Update
8521
8522 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8523
8524         * libs/gst/controller/gst-controller.c:
8525         (gst_controlled_property_set_interpolation_mode),
8526         (gst_controlled_property_new):
8527          fixed boolean again
8528
8529 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8530
8531         * docs/faq/gst-uninstalled:
8532           add -good
8533         * gst/gstevent.c:
8534         * gst/gstevent.h:
8535           remove wrong docs
8536         * gst/gstutils.c: (gst_element_link_filtered):
8537         * gst/gstutils.h:
8538           add gst_element_link_filtered
8539
8540 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8541
8542         * docs/gst/gstreamer-docs.sgml:
8543         * docs/gst/gstreamer-sections.txt:
8544         * docs/gst/tmpl/.cvsignore:
8545         * docs/gst/tmpl/gsterror.sgml:
8546         * docs/gst/tmpl/gstfilter.sgml:
8547         * docs/gst/tmpl/gsturihandler.sgml:
8548         * docs/gst/tmpl/gsturitype.sgml:
8549         * docs/gst/tmpl/gstutils.sgml:
8550         * docs/gst/tmpl/gstxml.sgml:
8551         * gst/gsterror.c:
8552         * gst/gsterror.h:
8553         * gst/gstfilter.c:
8554         * gst/gsturi.c:
8555         * gst/gsturitype.c:
8556         * gst/gstutils.c:
8557         * gst/gstxml.c:
8558           inlined more docs, fixed double id-ref
8559
8560 2005-08-31  Wim Taymans  <wim@fluendo.com>
8561
8562         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8563         (gst_base_transform_handle_buffer):
8564         Passthrough elements don't need the caps as they don't care.
8565
8566 2005-08-31  Wim Taymans  <wim@fluendo.com>
8567
8568         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8569         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8570         Don't leak refcounts on buffers.
8571
8572 2005-08-31  Wim Taymans  <wim@fluendo.com>
8573
8574         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8575         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8576         (gst_base_transform_chain), (gst_base_transform_change_state):
8577         * gst/base/gstbasetransform.h:
8578         Handle the case where we are not negotiated more gracefully.
8579
8580 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8581
8582         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8583         (gst_file_src_map_region):
8584           Set READONLY flag on mmap'ed buffers, otherwise
8585           gst_buffer_make_writable() won't work properly (#314708).
8586
8587 2005-08-31  Wim Taymans  <wim@fluendo.com>
8588
8589         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8590         passthrough elements can even do inplace on non writable
8591         buffers (as they don't touch them).
8592
8593 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8594
8595         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8596         (gst_test_mono_source_set_property),
8597         (gst_test_mono_source_class_init), (GST_START_TEST),
8598         (gst_controller_suite):
8599           more tests (hehe I have the most)
8600         * gst/gstbus.c:
8601           describe popping messages whenusing mulltiple sources
8602         * libs/gst/controller/gst-controller.c:
8603         (gst_controlled_property_set_interpolation_mode),
8604         (gst_controlled_property_new):
8605         * libs/gst/controller/gst-controller.h:
8606         * libs/gst/controller/gst-interpolation.c:
8607           implement boolean properties
8608
8609 2005-08-31  Wim Taymans  <wim@fluendo.com>
8610
8611         * gst/gstminiobject.c: (gst_mini_object_ref):
8612         Cannot assert that the refcount has to be positive
8613         since a disposed object can be resurrected.
8614
8615 2005-08-31  Wim Taymans  <wim@fluendo.com>
8616
8617         * gst/gstpad.c: (gst_pad_init):
8618         Revert change, need to first fix badly behaving 
8619         apps.
8620
8621 2005-08-30  Wim Taymans  <wim@fluendo.com>
8622
8623         * check/elements/fakesrc.c: (setup_fakesrc):
8624         * check/elements/identity.c: (setup_identity):
8625         Activate pads before using them.
8626
8627 2005-08-30  Wim Taymans  <wim@fluendo.com>
8628
8629         * gst/base/gstadapter.c: (gst_adapter_flush):
8630         Flushing out 0 bytes is ok for this function.
8631
8632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8633         no newsegment gives a warning and sets the start/stop to 
8634         invalid.
8635
8636         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8637         (gst_base_transform_set_passthrough):
8638         Some debug info.
8639
8640         * gst/gstminiobject.c: (gst_mini_object_ref):
8641         Check refcount here too.
8642
8643         * gst/gstpad.c: (gst_pad_init):
8644         Pads are initially flushing and refusing data.
8645
8646         * gst/gstutils.c: (gst_element_link_pads_filtered):
8647         When adding a capsfilter element make sure it has the
8648         same state as the parent bin.
8649
8650 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8651
8652         * docs/gst/tmpl/.cvsignore:
8653         * docs/gst/tmpl/gstformat.sgml:
8654         * docs/gst/tmpl/gstversion.sgml:
8655         * gst/gstbus.h:
8656         * gst/gstformat.c:
8657         * gst/gstformat.h:
8658         * gst/gstversion.h.in:
8659           more docs and two more inlined
8660
8661 2005-08-30  Wim Taymans  <wim@fluendo.com>
8662
8663         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8664         Don't sync to clock.
8665
8666 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8667
8668         * docs/gst/gstreamer-sections.txt:
8669           ultral33t func10ns deserve to appear in the docs actually
8670         * docs/gst/tmpl/.cvsignore:
8671         * docs/gst/tmpl/gstcompat.sgml:
8672         * docs/gst/tmpl/gstconfig.sgml:
8673         * gst/check/gstcheck.c:
8674         * gst/gstcompat.h:
8675         * gst/gstconfig.h.in:
8676           inlined more docs
8677
8678 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8679
8680         * docs/gst/tmpl/.cvsignore:
8681         * docs/gst/tmpl/gstquery.sgml:
8682         * docs/gst/tmpl/gstutils.sgml:
8683         * gst/gstquery.c:
8684         * gst/gstquery.h:
8685           inlined and extended docs
8686
8687 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8688
8689         * check/gst-libs/controller.c: (GST_START_TEST),
8690         (gst_controller_suite):
8691           more tests
8692         * docs/gst/tmpl/gstutils.sgml:
8693         * docs/libs/gstreamer-libs-sections.txt:
8694         * docs/libs/tmpl/gstdataprotocol.sgml:
8695           include path fixes
8696         * examples/controller/audio-example.c: (main):
8697           controller example works now
8698         * gst/gstclock.h:
8699           doc fixes
8700         * tools/gst-inspect.c: (print_element_properties_info):
8701           show param spec flags
8702
8703 2005-08-29  Andy Wingo  <wingo@pobox.com>
8704
8705         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8706
8707 2005-08-28  Andy Wingo  <wingo@pobox.com>
8708
8709         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8710         as having two arguments instead of just one. Allows superclasses
8711         to access information on subclasses -- see the terrible for() loop
8712         in gtype.c:g_type_create_instance for the reason why. All callers
8713         changed.
8714
8715 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8716
8717         * docs/design/part-messages.txt:
8718           update info
8719         * docs/gst/tmpl/.cvsignore:
8720         * docs/gst/tmpl/gstcaps.sgml:
8721         * docs/gst/tmpl/gstclock.sgml:
8722         * gst/gstbus.c:
8723         * gst/gstcaps.c:
8724         * gst/gstcaps.h:
8725         * gst/gstclock.c:
8726         * gst/gstclock.h:
8727         * gst/gstmessage.c:
8728           added descriptions for bus and message
8729           inline caps and clock docs
8730
8731 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8732
8733         * gst/gstmessage.c:
8734         * gst/gstmessage.h:
8735           doc fixes
8736
8737 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8738
8739         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8740           fix div-by-zero
8741
8742 2005-08-26  Andy Wingo  <wingo@pobox.com>
8743
8744         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8745         element_set_state's return val.
8746         (test_2_elements): Add test that's been disabled for months.
8747
8748         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8749         can-activate-pull properties.
8750
8751         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8752         can-activate-pull properties. Implement is_seekable so fakesrc can
8753         operate in pull mode.
8754
8755         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8756         properties.
8757         (gst_base_sink_activate, gst_base_sink_activate_pull)
8758         (gst_base_sink_activate_push): Make activation mode choosing work.
8759         Cleanups.
8760         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8761         is right. Make pull mode work. Post an eos before pausing in pull
8762         mode.
8763         (gst_base_sink_change_state): Pay attention to the core's
8764         change_state() return val.
8765         
8766         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8767         has-getrange properties. Cleanups.
8768         
8769         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8770         has_getrange and replace with can_activate_pull and
8771         can_activate_push.
8772
8773         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8774         locking comments. Remove has_loop, has_chain and replace with
8775         can_activate_pull and can_activate_push.
8776
8777 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8778
8779         * configure.ac:
8780         * examples/Makefile.am:
8781         * examples/metadata/Makefile.am:
8782         * examples/metadata/read-metadata.c: (message_loop),
8783         (have_pad_handler), (make_pipeline), (print_tag), (main):
8784           Add metadata reading example that loops over a list of filenames,
8785           dumping any tags found.
8786
8787         * gst/gstbus.c: (gst_bus_dispose):
8788         * gst/gstelement.c: (gst_element_dispose):
8789           Release a few potentially-held references in dispose.
8790
8791 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8792
8793         * docs/gst/tmpl/gstminiobject.sgml:
8794           do *not* add tmpl/*.sgml files to CVS!
8795
8796 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8797
8798         * libs/gst/bytestream/.cvsignore:
8799         * libs/gst/bytestream/Makefile.am:
8800         * libs/gst/bytestream/adapter.c:
8801         * libs/gst/bytestream/adapter.h:
8802         * libs/gst/bytestream/bytestream.c:
8803         * libs/gst/bytestream/bytestream.h:
8804         * libs/gst/bytestream/filepad.c:
8805         * libs/gst/bytestream/filepad.h:
8806           removing obsolete files
8807
8808 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8809
8810         * docs/gst/gstreamer-docs.sgml:
8811         * docs/libs/gstreamer-libs-docs.sgml:
8812           disabed additional index entries again, as this makes docs-gen just
8813           slow and they aren't useful yet
8814         * docs/libs/gstreamer-libs-sections.txt:
8815           little -section.txt cleanup for libs
8816
8817 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8818
8819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8820         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8821           fix up some debugging
8822         (gst_base_transform_get_unit_size),
8823         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8824         (gst_base_transform_handle_buffer):
8825         * gst/base/gstbasetransform.h:
8826           handle and store timed NEWSEGMENT events so that subclasses that
8827           calculate time by counting samples have a segment_start time they
8828           need to add to their timestamps - see audioresample
8829
8830 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8831
8832         * gst/gstbin.h:
8833           removed ';' from the end of macro defs
8834         * docs/gst/gstreamer-docs.sgml:
8835         * docs/gst/gstreamer-sections.txt:
8836         * docs/gst/tmpl/.cvsignore:
8837         * gst/gstbus.h:
8838         * gst/gstelement.c: (gst_element_class_init),
8839         (gst_element_set_state), (activate_pads),
8840         (gst_element_save_thyself):
8841         * gst/gstevent.c: (gst_event_new_newsegment):
8842         * gst/gstevent.h:
8843         * gst/gstiterator.c:
8844         * gst/gstiterator.h:
8845         * gst/gstpad.c:
8846         * gst/gstprobe.h:
8847         * gst/gstutils.c: (gst_pad_query_convert):
8848         * gst/gstutils.h:
8849           fixed parameter name mismatches between source, header and docs
8850           added some more docs, resolved the last batch of unused elements in
8851           docs (now someone needs to doc them)
8852
8853 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8854
8855         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8856         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8857           don't walk through the plugins backwards.  Where is all this
8858           reversed logic coming from ?
8859
8860 2005-08-25  Wim Taymans  <wim@fluendo.com>
8861
8862         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8863         (gst_base_transform_transform_size),
8864         (gst_base_transform_configure_caps),
8865         (gst_base_transform_get_unit_size),
8866         (gst_base_transform_buffer_alloc),
8867         (gst_base_transform_change_state):
8868         * gst/base/gstbasetransform.h:
8869         Cache caps unit_size.
8870         Make sure we cannot negotiate up and downstream at the
8871         same time.
8872
8873 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8874
8875         * gst/gst.c: (init_pre), (init_post):
8876           register the installed plugin path after the env var
8877         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8878         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8879           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8880           directories, so the tests can prefer uninstalled over installed
8881
8882 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8883
8884         * gst/base/gstbasetransform.h:
8885           comment
8886         * gst/gstpad.c:
8887           add to docs
8888
8889 2005-08-25  Wim Taymans  <wim@fluendo.com>
8890
8891         * gst/gstbin.c: (bin_bus_handler):
8892         Be a bit more conservative about the posted message.
8893         
8894         * gst/gstbus.c: (gst_bus_post):
8895         Some cleanups, warn wrong return values.
8896
8897 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8898
8899         * check/gst/gstbin.c: (GST_START_TEST):
8900         * gst/gstbin.c: (bin_bus_handler):
8901         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8902         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8903         (gst_message_new_warning), (gst_message_new_tag),
8904         (gst_message_new_state_changed), (gst_message_new_segment_start),
8905         (gst_message_new_segment_done), (gst_message_new_custom):
8906         * gst/gstmessage.h:
8907         * tools/gst-launch.c: (event_loop):
8908         * tools/gst-md5sum.c: (event_loop):
8909           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8910
8911 2005-08-25  Wim Taymans  <wim@fluendo.com>
8912
8913         * check/generic/states.c: (GST_START_TEST):
8914         Cleanup can be done at the end.
8915
8916         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8917         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8918         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8919         Oh boy.. Thanks for finding this, Thomas. 
8920
8921 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8922
8923         * docs/gst/gstreamer.types:
8924           added missing types
8925
8926 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8927
8928         * docs/gst/gstreamer-docs.sgml:
8929         * docs/gst/gstreamer-sections.txt:
8930         * docs/gst/tmpl/.cvsignore:
8931         * gst/gstbin.c:
8932         * gst/gstiterator.c:
8933         * gst/gstutils.c:
8934         * gst/registries/gstxmlregistry.h:
8935           added missing classes and symbols (123 more to go)
8936           removed removed symbols from section file
8937           fixed many doc-comments
8938
8939 2005-08-24  Wim Taymans  <wim@fluendo.com>
8940
8941         * check/generic/states.c: (GST_START_TEST):
8942         Make sure all tasks are stopped.
8943
8944         * check/gst/gstbin.c: (GST_START_TEST):
8945         Unref after usage for proper valgrinding.
8946
8947         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8948         Really wait for the task to stop before destroying the
8949         mutex.
8950
8951         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8952         (gst_queue_src_activate_push):
8953         Small cleanups. Don't stop the task when we did not start
8954         it.
8955
8956         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8957         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8958         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8959         (gst_task_join):
8960         * gst/gsttask.h:
8961         Protect the stream lock with the object lock.
8962         Disallow setting the stream lock when running.
8963         Add cleanup_all to wait for the threadpool to finish.
8964         Remove code to autoallocate a mutex if none was provided.
8965         Add _join() to wait for a task to stop.
8966         Protect the thread pool with a global lock.
8967
8968 2005-08-24  Wim Taymans  <wim@fluendo.com>
8969
8970         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8971         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8972         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8973         * gst/base/gstbasesink.h:
8974         Handle newsegment events correctly.
8975         Drop buffers out of the segment range.
8976
8977 2005-08-22  Andy Wingo  <wingo@pobox.com>
8978
8979         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8980         macro, implements an interface and gstimplementsinterface for a
8981         new type.
8982
8983 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8984
8985         * check/Makefile.am:
8986         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8987           add a test that does a bunch of state changes on elements
8988           needs some fixing for valgrind
8989         * check/states/sinks.c: (gst_object_suite):
8990           whitespace
8991         * gst/gstcaps.h:
8992           add prototype for gst_caps_is_equal_fixed
8993         * gst/gstplugin.c:
8994         * gst/gstregistrypool.c:
8995           doc fixes
8996
8997 2005-08-24  Andy Wingo  <wingo@pobox.com>
8998
8999         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9000         convert a negative value. Doesn't make much sense. Mostly this is
9001         here to force callers to ensure -1 maps to -1.
9002
9003 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9004
9005         * docs/pwg/advanced-types.xml:
9006           Well done to Michael for catching my deliberate introduction
9007           of this spelling mistake. 
9008         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9009         * gst/gstelement.h:
9010           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9011           unlink pads before removing the element from the bin.
9012
9013 2005-08-24  Andy Wingo  <wingo@pobox.com>
9014
9015         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
9016         the same thing as GST_DEBUG=*:4.
9017         (parse_debug_level, parse_debug_category): New helper parsers.
9018
9019 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9020
9021         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9022         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
9023         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
9024         (gst_base_transform_buffer_alloc),
9025         (gst_base_transform_handle_buffer):
9026           use gboolean return values and pointers to size so we can use the
9027           full GST_BUFFER_SIZE range (guint) for buffer sizes
9028           use GstPadDirection for transform_caps
9029         * gst/base/gstbasetransform.h:
9030           rename get_size to get_unit_size since that's what it is
9031         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
9032           use GstPadDirection for transform_caps
9033         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9034         * gst/gstutils.h:
9035           cleanup and debugging
9036
9037 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9038
9039         * gst/gstelement.c: (gst_element_class_init),
9040         (gst_element_set_state), (activate_pads),
9041         (gst_element_save_thyself):
9042         * tools/gst-compprep.c: (main):
9043         * tools/gst-inspect.c: (print_element_properties_info):
9044         * tools/gst-xmlinspect.c: (print_element_properties):
9045           Fixed long standing mem-leak
9046
9047 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9048
9049         * check/gst/gstbin.c: (GST_START_TEST):
9050         * gst/gstbin.c: (bin_bus_handler):
9051         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9052         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9053         (gst_message_new_warning), (gst_message_new_tag),
9054         (gst_message_new_state_changed), (gst_message_new_segment_start),
9055         (gst_message_new_segment_done), (gst_message_new_custom):
9056         * gst/gstmessage.h:
9057         * tools/gst-launch.c: (event_loop):
9058         * tools/gst-md5sum.c: (event_loop):
9059           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
9060           that applications can sensibly post custom messages with references
9061           to their own objects.
9062
9063 2005-08-24  Andy Wingo  <wingo@pobox.com>
9064
9065         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
9066         already.
9067
9068 2005-08-24  Wim Taymans  <wim@fluendo.com>
9069
9070         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9071         (gst_base_transform_transform_caps),
9072         (gst_base_transform_transform_size),
9073         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9074         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9075         (gst_base_transform_handle_buffer):
9076         * gst/base/gstbasetransform.h:
9077         Many fixes and new features added by Thomas. Can now also do
9078         transforms with variable sizes and a custom fixate_caps function.
9079
9080 2005-08-24  Wim Taymans  <wim@fluendo.com>
9081
9082         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9083         Some debugging.
9084
9085         * gst/gstclock.h:
9086         Cast to ClockTime before formatting to time.
9087
9088         * gst/gstutils.h:
9089         Cleanups.
9090
9091 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9092
9093         * check/gst-libs/controller.c: (GST_START_TEST),
9094         (gst_controller_suite):
9095         * docs/gst/tmpl/gstcaps.sgml:
9096         * docs/gst/tmpl/gstghostpad.sgml:
9097         * docs/gst/tmpl/gstquery.sgml:
9098         * docs/gst/tmpl/gstutils.sgml:
9099         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
9100         (gst_object_sink_values), (gst_object_get_value_arrays),
9101         (gst_object_get_value_array):
9102           gracefully handle helper method calls to objects that are not beeing
9103           controlled, added test case for that          
9104
9105 2005-08-23  Wim Taymans  <wim@fluendo.com>
9106
9107         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
9108         (gst_event_new_newsegment), (gst_event_parse_newsegment),
9109         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
9110         (gst_event_parse_qos), (gst_event_new_seek),
9111         (gst_event_parse_seek):
9112         * gst/gstevent.h:
9113         Some more debugging output and doc cleanups.
9114
9115         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9116         Fix possible deadlock.
9117
9118 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9119
9120         * docs/gst/gstreamer-docs.sgml:
9121         * docs/gst/gstreamer-sections.txt:
9122         * docs/gst/gstreamer.types:
9123         * docs/gst/tmpl/.cvsignore:
9124         * gst/gstbin.h:
9125         * gst/gstbus.c:
9126         * gst/gstelement.c:
9127         * gst/gstevent.h:
9128           added 100 symbols from gstreamer-unused.txt to the right sections
9129           fixed more broken comments
9130           added GstBus to docs
9131
9132 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9133
9134         * docs/gst/gstreamer-sections.txt:
9135         * docs/gst/tmpl/.cvsignore:
9136         * docs/gst/tmpl/gstbin.sgml:
9137         * docs/gst/tmpl/gstbuffer.sgml:
9138         * gst/base/gstbasesrc.c:
9139         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
9140         * gst/gstbuffer.c:
9141         * gst/gstbuffer.h:
9142         * tools/gst-launch.1.in:
9143           inlined more doc comments, added missing comments and fixed comments
9144           fixed typos
9145
9146 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9147
9148         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9149           some debugging
9150         * gst/gstcaps.h:
9151           whitespace fixes
9152         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
9153           more debugging
9154         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
9155         * gst/gststructure.h:
9156           add a fixate function for booleans; add a FIXME that these func
9157           names should probably be gst_structure_fixate_*
9158
9159 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9160
9161         * docs/gst/gstreamer-docs.sgml:
9162         * docs/gst/gstreamer-sections.txt:
9163         * gst/Makefile.am:
9164         * gst/gstbin.c: (gst_bin_get_type),
9165         (gst_bin_child_proxy_get_child_by_index),
9166         (gst_bin_child_proxy_get_children_count),
9167         (gst_bin_child_proxy_init):
9168         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9169         (gst_child_proxy_get_child_by_index),
9170         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
9171         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
9172         (gst_child_proxy_get), (gst_child_proxy_set_property),
9173         (gst_child_proxy_set_valist), (gst_child_proxy_set),
9174         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
9175         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
9176         * gst/gstchildproxy.h:
9177         * gst/parse/grammar.y:
9178         * tools/gst-inspect.c: (print_interfaces),
9179         (print_element_properties_info), (print_element_info):
9180           ported gstchildproxy over from 0.8
9181           ported gst-inspect fixes and enhancements over from 0.8
9182
9183 2005-08-22  Wim Taymans  <wim@fluendo.com>
9184
9185         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9186         (gst_base_transform_handle_buffer):
9187         Also call the transform function if we have ANY caps.
9188
9189         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
9190         Fix debug info.
9191
9192 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9193
9194         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
9195           Don't pretend to handle seek events if the source is not seekable
9196
9197 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9198
9199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9200           Remove extra parameter to debug output
9201
9202         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9203         (gst_base_src_do_seek), (gst_base_src_activate_push):
9204           Fix seek event handling.
9205
9206         * gst/gstpipeline.c: (gst_pipeline_change_state):
9207         * gst/gstqueue.c: (gst_queue_handle_sink_event),
9208         (gst_queue_src_activate_push):
9209           Don't start the src pad task on FLUSH_STOP if the pad
9210           isn't linked.
9211           Debug changes.
9212
9213 2005-08-22  Wim Taymans  <wim@fluendo.com>
9214
9215         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9216         Added check for gst_static_caps_get() refcounting.
9217
9218 2005-08-22  Wim Taymans  <wim@fluendo.com>
9219
9220         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
9221         Make _static_caps_get() refcounting sane.
9222         
9223         * gst/gstelement.c: (gst_element_set_state):
9224         Add g_return_val_if_fail() to protect against segfaults.
9225
9226 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
9227
9228         * docs/gst/tmpl/gstevent.sgml:
9229         * gst/gstevent.c:
9230         * gst/gstevent.h:
9231           inlined remaining docs, added missing doc comments
9232
9233 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9234
9235         * check/gst/gstbin.c: (GST_START_TEST):
9236           since we don't know when preroll is done, use refcount range
9237           check for the sink
9238         * gst/check/gstcheck.h:
9239           add macro for checking refcount range
9240
9241 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9242
9243         * check/Makefile.am:
9244           clean up environment for when registry gets built versus
9245           when actual tests are run; valgrind seems to not report
9246           leaks if GST_PLUGIN_PATH is set to some specific values
9247         * check/gst/gstbin.c: (GST_START_TEST):
9248           add more refcounting checks; maybe this exposes a
9249           preroll lock bug ?
9250         * common/check.mak:
9251         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9252         * gst/check/gstcheck.h:
9253         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9254         (gst_bin_change_state):
9255         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9256           add/fix debugging/whitespace
9257
9258 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9259
9260         * check/gst/gstevent.c: (event_probe), (test_event),
9261         (GST_START_TEST):
9262          Er, don't call gst_bin_watch_for_state_change you idiot.
9263
9264 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9265
9266         * check/Makefile.am:
9267           Use CHECK_CFLAGS and CHECK_LIBS
9268         * check/gst/gstevent.c: (event_probe), (test_event),
9269         (GST_START_TEST):
9270           Don't leak events.
9271         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9272         (gst_base_src_start), (gst_base_src_stop),
9273         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9274         (gst_base_src_change_state):
9275           Sprinkle gst_base_src_stop liberally around error paths to fix
9276           problems reusing a source after failed state changes.
9277         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9278         (helper_find_suggest), (gst_type_find_helper):
9279           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9280         * gst/gstevent.h:
9281         * docs/gst/tmpl/gstevent.sgml:
9282           Migrate part of the docs from the SGML file. Wait for ensonic to
9283           tell me how I did it wrong ;)
9284         * tools/gst-typefind.c: (main):
9285           Extra robustness to state changes between files.
9286
9287 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9288
9289         * check/Makefile.am:
9290           don't valgrind the controller test - it's leaking - Stefan, HELP
9291         * gst/check/gstcheck.c: (gst_check_message_error),
9292         (gst_check_chain_func), (gst_check_setup_element),
9293         (gst_check_teardown_element), (gst_check_setup_src_pad),
9294         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9295         (gst_check_teardown_sink_pad):
9296         * gst/check/gstcheck.h:
9297           add a bunch of methods to set up elements, and src and sink pads
9298         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9299         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9300         (GST_START_TEST):
9301           use them
9302         * gst/gstmessage.c:
9303         * gst/gsttag.h:
9304           whitespace/doc fixes
9305
9306 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9307
9308         * gst/gstelement.h:
9309           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9310           be handled by the application and not always printed as well
9311
9312 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9313
9314         * check/Makefile.am:
9315           set GST_TOOLS_DIR
9316         * gst/check/gstcheck.c: (gst_check_message_error):
9317         * gst/check/gstcheck.h:
9318           add a fail_unless_equals_int
9319           add fail_unless for error messages
9320
9321 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9322
9323         * check/Makefile.am:
9324         * check/gst.supp:
9325         * common/Makefile.am:
9326         * common/check.mak:
9327         * common/gst.supp:
9328           factor out some of the common stuff so we can use it
9329
9330 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9331
9332         * check/Makefile.am:
9333         * check/gst/gstiterator.c: (GST_START_TEST):
9334         * check/gst/gstsystemclock.c: (GST_START_TEST),
9335         (gst_systemclock_suite):
9336         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9337         * gst/gstclock.c:
9338           valgrind more tests
9339
9340 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9341
9342         * check/elements/.cvsignore:
9343         * check/elements/gstfakesrc.c:
9344           rename to name of element
9345         * check/elements/identity.c: (chain_func), (event_func),
9346         (setup_identity), (cleanup_identity), (GST_START_TEST),
9347         (identity_suite), (main):
9348           add a test for identity
9349         * check/Makefile.am:
9350         * pkgconfig/Makefile.am:
9351         * pkgconfig/gstreamer-check.pc.in:
9352         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9353         * gst/check:
9354         * gst/Makefile.am:
9355         * configure.ac:
9356           move the check stuff to a library that gets installed
9357         * check/gst-libs/controller.c: (GST_START_TEST):
9358         * check/gst-libs/gdp.c:
9359         * check/gst/gst.c: (GST_START_TEST):
9360         * check/gst/gstbin.c:
9361         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9362         * check/gst/gstbus.c:
9363         * check/gst/gstcaps.c: (GST_START_TEST):
9364         * check/gst/gstelement.c:
9365         * check/gst/gstghostpad.c:
9366         * check/gst/gstiterator.c:
9367         * check/gst/gstmessage.c:
9368         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9369         * check/gst/gstobject.c:
9370         * check/gst/gstpad.c: (GST_START_TEST):
9371         * check/gst/gststructure.c: (GST_START_TEST):
9372         * check/gst/gstsystemclock.c: (GST_START_TEST),
9373         (gst_systemclock_suite):
9374         * check/gst/gsttag.c: (gst_tag_suite):
9375         * check/gst/gstvalue.c:
9376         * check/pipelines/cleanup.c:
9377         * check/pipelines/simple_launch_lines.c:
9378         * check/states/sinks.c:
9379           change include statement
9380
9381         * docs/gst/gstreamer-sections.txt:
9382         * docs/gst/tmpl/gstpad.sgml:
9383           document more pad stuff
9384         * gst/gstminiobject.c: (gst_mini_object_ref),
9385         (gst_mini_object_unref):
9386           debug refcounting
9387
9388 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9389
9390         * docs/gst/tmpl/gst.sgml:
9391         * gst/gst.c:
9392           eliminate another tmpl file, fix spelling in the long-description
9393
9394 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9395
9396         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9397         (test_event), (timediff), (gstevents_suite):
9398           Should fix build on 64-bit arch's
9399
9400 2005-08-18  Andy Wingo  <wingo@pobox.com>
9401
9402         Make sure that when a pipeline goes to PLAYING, that data has
9403         actually hit the sink.
9404
9405         * check/states/sinks.c (test_sink): A sink that doesn't get any
9406         data shouldn't return SUCCESS for going to either PLAYING or
9407         PAUSED. Test also the return values on the way back down.
9408
9409         * gst/gstelement.c (gst_element_set_state): When changing the
9410         state of an element currently changing state asynchronously, go to
9411         lost-state after commiting the pending state. Makes future calls
9412         to get_state continue to return ASYNC.
9413
9414         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9415         ASYNC when going to PLAYING if we still don't have preroll, as can
9416         happen with live sources.
9417
9418 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9419
9420         * docs/pwg/advanced-types.xml:
9421           Hack long paragraph into 2 chunks as a workaround for buggy
9422           jadetex version in sid and breezy that loops infinitely and
9423           eats all RAM.
9424
9425 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9426
9427         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9428         (test_event), (timediff), (gstevents_suite):
9429           Provide more error margin in clock measurements to allow for 
9430           g_get_current_time inaccuracies.
9431
9432 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9433
9434         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9435         (test_event), (timediff), (gstevents_suite):
9436            Fix error message output so I might be able to tell why the
9437            test works here but fails on the build farm.
9438
9439 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9440
9441         * check/Makefile.am:
9442         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9443         (test_event), (timediff), (gstevents_suite), (main):
9444           I wrote a test!
9445
9446         * docs/design/part-seeking.txt:
9447           Spelling correction
9448
9449         * docs/gst/tmpl/gstevent.sgml:
9450         * docs/gst/tmpl/gstfakesrc.sgml:
9451           Docs updates.
9452
9453         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9454           Treat a buffer-without-newsegment the same as a receiving 
9455           a newsegment not in time format, and disable syncing to the clock
9456           with a warning.
9457
9458         * gst/gstbus.c: (gst_bus_set_sync_handler):
9459           Assert if anyone tries to replace the existing sync_handler for bus, 
9460           as only the owner should be setting it.
9461
9462         * gst/gstevent.h:
9463           Have a fixed set of custom event enums with events identified by
9464           their structure name (as in 0.8), rather than a free-for-all
9465           allowing collisions between enum values from different plugins.
9466
9467         * gst/gstpad.c: (gst_pad_class_init):
9468           Docs change.
9469           
9470         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9471           Handle out-of-band downstream events from the sending thread.
9472
9473 2005-08-17  Andy Wingo  <wingo@pobox.com>
9474
9475         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9476         play-timeout==0 to mean no timeout at all. In that case, don't
9477         bother with a get_state or a warning, just return directly, even
9478         if it's ASYNC.
9479
9480         * gst/base/gstbasetransform.c: Debug changes.
9481
9482         * gst/gstutils.h:
9483         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9484         ensure bins post state change messages. A bit of a hack but I can't
9485         think of a way to avoid it.
9486
9487         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9488
9489 2005-08-16  Andy Wingo  <wingo@pobox.com>
9490
9491         * gst/base/gstadapter.h:
9492         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9493         peek() but you own the data. Not terribly efficient atm.
9494
9495 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9496
9497         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9498         (gst_element_found_tags):
9499         * gst/gstutils.h:
9500           Add two utility functions for tag handling.
9501
9502 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9503
9504         * docs/manual/advanced-dataaccess.xml:
9505         * docs/manual/basics-helloworld.xml:
9506           Fix docs to use _bin_add() before _link(), which fixes the examples
9507           with recent core versions (reported by Madhan Raj M
9508           <raj_madan@rediffmail.com>, #313199).
9509
9510 2005-08-16  Wim Taymans  <wim@fluendo.com>
9511
9512         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9513         Added subtract checks.
9514
9515         * docs/design/part-events.txt:
9516         Some more docs about newsegment
9517
9518         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9519         Fix FIXME
9520
9521         * gst/gstcaps.c: (gst_caps_to_string):
9522         Add comments, cleanups.
9523         
9524         * gst/gstelement.c: (gst_element_save_thyself):
9525         cleanups
9526         
9527         * gst/gstvalue.c: (gst_value_collect_int_range),
9528         (gst_string_unwrap), (gst_value_union_int_int_range),
9529         (gst_value_union_int_range_int_range),
9530         (gst_value_intersect_int_int_range),
9531         (gst_value_intersect_int_range_int_range),
9532         (gst_value_intersect_double_double_range),
9533         (gst_value_intersect_double_range_double_range),
9534         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9535         (gst_value_subtract_int_range_int),
9536         (gst_value_subtract_double_range_double),
9537         (gst_value_subtract_double_range_double_range),
9538         (gst_value_subtract_from_list), (gst_value_subtract_list),
9539         (gst_value_can_compare), (gst_value_compare_fraction):
9540         Cleanups, add comments, remove unneeded asserts.
9541
9542 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9543
9544         * tools/gst-launch.c: (event_loop):
9545           don't convert NULL structures to strings
9546
9547 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9548
9549         * docs/gst/gstreamer-sections.txt:
9550           made some defines private
9551         * docs/gst/tmpl/gstconfig.sgml:
9552         * docs/gst/tmpl/gstqueue.sgml:
9553         * docs/gst/tmpl/gsttaglist.sgml:
9554         * docs/gst/tmpl/gsttypes.sgml:
9555         * docs/gst/tmpl/gstutils.sgml:
9556         * docs/pwg/appendix-porting.xml:
9557         * gst/base/gstbasesink.h:
9558         * gst/base/gstbasesrc.c:
9559         * gst/base/gstbasesrc.h:
9560         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9561         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9562         * gst/gstelement.c: (gst_element_class_init):
9563         * gst/gstpad.c: (gst_pad_class_init):
9564         * gst/gstqueue.c: (gst_queue_class_init):
9565         * gst/gstxml.c: (gst_xml_class_init):
9566           documented all undocumented signal inline
9567         * libs/gst/controller/gst-controller.h:
9568           added padding
9569
9570 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9571
9572         * docs/pwg/appendix-porting.xml:
9573           Document _set_link_function -> _set_setcaps_function.
9574
9575 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9576
9577         * check/Makefile.am:
9578           add a .check target for running the check
9579         * check/gst-libs/controller.c: (GST_START_TEST):
9580           cosmetic fixups
9581         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9582           complete checks for gstbuffer; would be nice if I could get the
9583           gcov stuff to work so I can see if I actually completed gstbuffer.c
9584         * check/gstcheck.h:
9585           add ASSERT_BUFFER_REFCOUNT
9586
9587 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9588
9589         * docs/gst/gstreamer-sections.txt:
9590         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9591         * gst/gsttag.h:
9592           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9593           spew out a warning if a tag that is already registered
9594           is re-registered, unless it is re-registered with a 
9595           different type (#308438).
9596
9597 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9598
9599         * docs/pwg/appendix-porting.xml:
9600         * docs/pwg/building-state.xml:
9601           Add some paragraphs about state changes in 0.9 to the PWG
9602           and the porting guide, in particular about the new meaning
9603           of GST_STATE_PAUSED and how to write state change functions
9604           with concurrent access by multiple threads in mind.
9605
9606 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9607
9608         * docs/gst/gstreamer-docs.sgml:
9609         * docs/libs/gstreamer-libs-docs.sgml:
9610           added deprecation and since indexes
9611         * libs/gst/controller/gst-controller.c:
9612         * libs/gst/controller/gst-helper.c:
9613           added since tags
9614
9615
9616 2005-08-11  Wim Taymans  <wim@fluendo.com>
9617
9618         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9619         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9620         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9621         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9622         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9623         (gst_ghost_pad_set_target):
9624         Actually implement (re)setting the target on a ghostpad
9625         as described in the docs.
9626
9627 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9628
9629         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9630           Check whether GST_DEBUG_NO_COLOR environment variable is
9631           set and disable coloured debug output if that is the case.
9632
9633 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9634
9635         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9636         (gst_type_find_helper):
9637           The memory returned by gst_type_find_peek() needs to
9638           stay valid until the end of a typefind function, and
9639           typefind functions may keep results from different 
9640           offsets around, so we can't just unref the buffer from
9641           the previous _peek(), but have to save all buffers 
9642           returned by _peek() until typefinding is done and only
9643           free them then.
9644
9645 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9646
9647         * docs/gst/gstreamer-sections.txt:
9648         * gst/gstutils.h:
9649           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9650
9651 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9652
9653         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9654           Fix a pretty good memleak.
9655
9656 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9657
9658         * gst/gstiterator.h:
9659           Fix wrong include and 'make distcheck'.
9660
9661 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9662
9663         * gst/gstbin.c: (bin_bus_handler):
9664           Use gst_element_post_message() instead.
9665
9666 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9667
9668         * gst/base/gstadapter.h:
9669         * gst/base/gstbasesink.h:
9670         * gst/base/gstbasesrc.h:
9671         * gst/base/gstbasetransform.h:
9672         * gst/base/gstcollectpads.h:
9673         * gst/base/gstpushsrc.h:
9674         * gst/gstiterator.h:
9675           Add padding to our base elements' class and instance structs and
9676           to GstIterator (you will need to rebuild all plugins and apps!)
9677
9678 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9679
9680         * gst/gstbin.c: (bin_bus_handler):
9681           Make default message forwarding from child->bus to bin->bus
9682           threadsafe and make it not emit warnings if the parent has no bus.
9683
9684 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9685
9686         * gst/gstelement.c: (activate_pads):
9687           On paused->ready, set pad->caps to NULL, as is the documented
9688           behaviour in this state change. Fixes playback of series of
9689           media files when visualization is enabled in Totem.
9690
9691 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9692
9693         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9694           Allow NULL as filter-caps (which means "any").
9695
9696 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9697
9698         * docs/libs/gstreamer-libs-sections.txt:
9699         * libs/gst/controller/gst-controller.c:
9700         * libs/gst/controller/gst-controller.h:
9701         * libs/gst/controller/gst-helper.c:
9702           adding more entries to the docs and fix small doc-bugs
9703
9704 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9705
9706         * docs/gst/gstreamer-docs.sgml:
9707         * docs/gst/gstreamer-sections.txt:
9708         * docs/gst/gstreamer.types:
9709         * docs/gst/tmpl/gstbasesink.sgml:
9710         * docs/gst/tmpl/gstbasesrc.sgml:
9711         * docs/gst/tmpl/gstbasetransform.sgml:
9712         * docs/gst/tmpl/gstfakesrc.sgml:
9713         * gst/base/gstcollectpads.c:
9714         * gst/base/gstcollectpads.h:
9715         * libs/gst/controller/gst-controller.c:
9716         * libs/gst/controller/gst-controller.h:
9717         * libs/gst/controller/gst-helper.c:
9718         * libs/gst/controller/gst-interpolation.c:
9719         * libs/gst/controller/lib.c:
9720           added long/short desc for controller docs
9721           added collectpads base class docs
9722           added correct includes to base-class docs
9723
9724 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9725
9726         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9727         (gst_test_mono_source_set_property),
9728         (gst_test_mono_source_class_init), (GST_START_TEST),
9729         (gst_controller_suite):
9730         * docs/gst/gstreamer-docs.sgml:
9731         * docs/gst/gstreamer-sections.txt:
9732         * docs/gst/gstreamer.types:
9733         * docs/libs/gstreamer-libs-docs.sgml:
9734         * docs/libs/gstreamer-libs-sections.txt:
9735         * gst/base/gstadapter.c:
9736         * libs/gst/controller/gst-controller.c:
9737         (gst_controlled_property_new), (gst_controlled_property_free),
9738         (gst_controller_new_valist),
9739         (gst_controller_remove_properties_valist),
9740         (gst_controller_sink_values), (_gst_controller_finalize):
9741         * libs/gst/controller/gst-controller.h:
9742         * libs/gst/controller/gst-helper.c:
9743         (gst_object_control_properties), (gst_object_uncontrol_properties),
9744         (gst_object_get_controller), (gst_object_set_controller),
9745         (gst_object_sink_values), (gst_object_get_value_arrays),
9746         (gst_object_get_value_array):
9747           more tests (and fixes) for the controller
9748           more docs for the controller
9749           integrated companies docs for the adapter 
9750
9751 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9752
9753         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9754         (GST_START_TEST), (fakesrc_suite):
9755           add tests for sizetype
9756
9757 2005-08-04  Andy Wingo  <wingo@pobox.com>
9758
9759         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9760         fixes buffer_alloc proxying among other things.
9761
9762         * gst/base/gstbasetransform.c:
9763         * gst/base/gstbasetransform.h:
9764         Revert patch to gstbasetransform from 7-28 removing
9765         delay_configure.
9766
9767         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9768         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9769         Semantics changed, should return not the size of the output buffer
9770         but the byte size of a buffer with a given caps.
9771
9772         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9773         debug object.
9774         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9775         out) are not the pad caps until setcaps finishes.
9776         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9777         not-in-place case as well. Deal with changing from in-place to
9778         not-in-place within calling pad_alloc_buffer. Still a bit
9779         concerned about the overhead here...
9780
9781 2005-08-03  Andy Wingo  <wingo@pobox.com>
9782
9783         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9784         fixating is an error.
9785
9786 2005-08-04  Edward Hervey  <edward@fluendo.com>
9787
9788         * gst/base/gstadapter.h: 
9789         Added gst_adapter_get_type() to the header
9790
9791 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9792
9793         * check/Makefile.am:
9794         * check/gst-libs/controller.c:
9795         * libs/gst/controller/gst-controller.c:
9796         (gst_controller_new_valist):
9797           added check test suite for the controller
9798         * gst/base/gstpushsrc.c:
9799           fixed a doc typo
9800
9801 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9802
9803         * docs/gst/Makefile.am:
9804         * docs/gst/gstreamer-docs.sgml:
9805         * docs/gst/gstreamer-sections.txt:
9806         * docs/gst/gstreamer.types:
9807         * docs/gst/tmpl/gstfakesrc.sgml:
9808         * gst/base/README:
9809         * gst/base/gstbasesink.c:
9810         * gst/base/gstbasesink.h:
9811         * gst/base/gstbasesrc.c:
9812         * gst/base/gstbasesrc.h:
9813         * gst/base/gstbasetransform.c:
9814         * gst/base/gstpushsrc.c:
9815         * gst/base/gstpushsrc.h:
9816           add short/long description docs to base classes
9817           add pushsrc to the docs
9818           remove consolidated doc fragments
9819
9820 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9821
9822         * configure.ac:
9823         * docs/libs/Makefile.am:
9824         * docs/libs/gstreamer-libs-docs.sgml:
9825         * docs/libs/gstreamer-libs-sections.txt:
9826         * docs/libs/gstreamer-libs.types:
9827         * examples/Makefile.am:
9828         * examples/controller/.cvsignore:
9829         * examples/controller/Makefile.am:
9830         * examples/controller/audio-example.c: (main):
9831         * libs/gst/Makefile.am:
9832         * libs/gst/controller/.cvsignore:
9833         * libs/gst/controller/Makefile.am:
9834         * libs/gst/controller/gst-controller.c:
9835         (on_object_controlled_property_changed), (gst_timed_value_compare),
9836         (gst_timed_value_find),
9837         (gst_controlled_property_set_interpolation_mode),
9838         (gst_controlled_property_new), (gst_controlled_property_free),
9839         (gst_controller_find_controlled_property),
9840         (gst_controller_new_valist), (gst_controller_new),
9841         (gst_controller_remove_properties_valist),
9842         (gst_controller_remove_properties), (gst_controller_set),
9843         (gst_controller_set_from_list), (gst_controller_unset),
9844         (gst_controller_get), (gst_controller_get_all),
9845         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9846         (gst_controller_get_value_array),
9847         (gst_controller_set_interpolation_mode),
9848         (_gst_controller_finalize), (_gst_controller_init),
9849         (_gst_controller_class_init), (gst_controller_get_type):
9850         * libs/gst/controller/gst-controller.h:
9851         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9852         (g_object_uncontrol_properties), (g_object_get_controller),
9853         (g_object_set_controller), (g_object_sink_values),
9854         (g_object_get_value_arrays), (g_object_get_value_array):
9855         * libs/gst/controller/gst-interpolation.c:
9856         (gst_controlled_property_find_timed_value_node),
9857         (interpolate_none_get), (interpolate_trigger_get),
9858         (interpolate_trigger_get_value_array):
9859         * libs/gst/controller/lib.c: (gst_controller_init):
9860         * pkgconfig/Makefile.am:
9861         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9862         * pkgconfig/gstreamer-control.pc.in:
9863         * testsuite/Makefile.am:
9864         * testsuite/controller/.cvsignore:
9865         * testsuite/controller/Makefile.am:
9866         * testsuite/controller/interpolator.c: (main):
9867           added controller code
9868           removed dparam pc files
9869
9870 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9871         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9872         (gst_collectpads_stop):
9873           Broadcast the condition when shutting down, to make sure we wake all
9874           threads up. Shut down pads on finalize, for safety.
9875
9876 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9877         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9878         (gst_base_transform_handle_buffer),
9879         (gst_base_transform_change_state):
9880           Handle PAUSED->READY->PAUSED transition after negotiation
9881           occurred already.
9882         * gst/gstmessage.c: (gst_message_init):
9883           Extra piece of debug for new messages.
9884
9885 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9886
9887         * configure.ac:
9888         * docs/gst/tmpl/gstbasesrc.sgml:
9889         * docs/gst/tmpl/gstelement.sgml:
9890         * docs/gst/tmpl/gstevent.sgml:
9891         * docs/gst/tmpl/gstfakesrc.sgml:
9892         * docs/gst/tmpl/gstformat.sgml:
9893         * docs/gst/tmpl/gstghostpad.sgml:
9894         * docs/gst/tmpl/gstpad.sgml:
9895         * docs/gst/tmpl/gstquery.sgml:
9896         * docs/gst/tmpl/gststructure.sgml:
9897         * docs/gst/tmpl/gsttaglist.sgml:
9898         * docs/gst/tmpl/gstvalue.sgml:
9899         * docs/libs/gstreamer-libs-docs.sgml:
9900         * docs/libs/gstreamer-libs-sections.txt:
9901         * docs/libs/gstreamer-libs.types:
9902         * libs/gst/Makefile.am:
9903         * libs/gst/control/.cvsignore:
9904         * libs/gst/control/Makefile.am:
9905         * libs/gst/control/control.c:
9906         * libs/gst/control/control.h:
9907         * libs/gst/control/dparam.c:
9908         * libs/gst/control/dparam.h:
9909         * libs/gst/control/dparam_smooth.c:
9910         * libs/gst/control/dparam_smooth.h:
9911         * libs/gst/control/dparamcommon.h:
9912         * libs/gst/control/dparammanager.c:
9913         * libs/gst/control/dparammanager.h:
9914         * libs/gst/control/dplinearinterp.c:
9915         * libs/gst/control/dplinearinterp.h:
9916         * libs/gst/control/unitconvert.c:
9917         * libs/gst/control/unitconvert.h:
9918         * testsuite/Makefile.am:
9919         * testsuite/dynparams/.cvsignore:
9920         * testsuite/dynparams/Makefile.am:
9921         * testsuite/dynparams/dparamstest.c:
9922         * tools/Makefile.am:
9923         * tools/gst-inspect.c: (print_element_info), (main):
9924         * tools/gst-xmlinspect.c: (print_element_info), (main):
9925           deactivate and remove dparams (libgstcontrol)
9926
9927 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9928
9929         * gst/elements/gsttypefindelement.c:
9930         (gst_type_find_element_have_type), (gst_type_find_element_init),
9931         (stop_typefinding), (gst_type_find_element_handle_event),
9932         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9933         * gst/elements/gsttypefindelement.h:
9934           Set caps on all outgoing buffers, not just the first one.
9935
9936 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9937
9938         * gst/elements/gsttypefindelement.c:
9939         (gst_type_find_element_have_type),
9940         (gst_type_find_element_check_set_buffer_caps),
9941         (gst_type_find_element_init), (stop_typefinding),
9942         (gst_type_find_element_handle_event),
9943         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9944         * gst/elements/gsttypefindelement.h:
9945           Set caps on first outgoing buffer when we've found the type.
9946
9947 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9948
9949         * docs/gst/gstreamer-docs.sgml:
9950         * docs/gst/gstreamer-sections.txt:
9951         * docs/gst/tmpl/gstscheduler.sgml:
9952         * docs/gst/tmpl/gstschedulerfactory.sgml:
9953           Remove some old cruft from docs.
9954
9955 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9956
9957         * gst/gstpad.h:
9958           Fix inline docs for GstPadLinkReturn.
9959           
9960         * gst/gststructure.c: (gst_structure_has_name):
9961         * gst/gststructure.h:
9962         * docs/gst/gstreamer-sections.txt:
9963           New API: gst_structure_has_name().
9964
9965 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9966
9967         * configure.ac:
9968           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9969           and _LARGEFILE_SOURCE in config.h as required. Do not 
9970           export those flags in our .pc files any longer (#142209).
9971
9972           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9973
9974         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9975         (gst_file_sink_do_seek), (gst_file_sink_event),
9976         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9977           Redo seek/tell calls with large file support in mind; add some
9978           debugging messages; add log message that tells us when large
9979           file support is unavailable or not enabled for some reason.
9980
9981         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9982           Add log message that tells us when large file support 
9983           is unavailable or not enabled for some reason.
9984
9985 2005-07-29  Wim Taymans  <wim@fluendo.com>
9986
9987         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9988         Added test for removing an element with ghostpad from a bin.
9989         Fixed test as current implementation does the right thing.
9990
9991         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9992         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9993         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9994         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9995         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9996         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9997         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9998         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9999         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10000         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10001         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10002         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10003         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10004         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10005         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10006         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10007         * gst/gstghostpad.h:
10008         Clean up ghostpads, remove properties for internal stuff.
10009         Make threadsafe.
10010         Fix refcounting.
10011         Prepare for switching targets, not all use cases work yet.
10012
10013 2005-07-29  Wim Taymans  <wim@fluendo.com>
10014
10015         * docs/design/part-gstghostpad.txt:
10016         Small update.
10017
10018         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10019         (gst_bin_remove_func):
10020         Unlinking pads while holding the bin LOCK is not a good
10021         idea.
10022
10023         * gst/gstpad.c: (gst_pad_class_init),
10024         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
10025         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
10026         No prob setting template after creating the pad.
10027
10028 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
10029
10030         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
10031         (gst_bus_peek), (gst_bus_source_dispatch),
10032         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
10033         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
10034           gst_bus_poll may be called from other threads. Handle
10035           this nicely by not making poll_data disappear off the
10036           stack once gst_bus_poll returns.
10037           gst_bus_peek now increments the refcount on the returned
10038           message.
10039
10040 2005-07-29  Wim Taymans  <wim@fluendo.com>
10041
10042         * docs/design/part-gstghostpad.txt:
10043         Overview of current GhostPad datastructures and use
10044         cases for changing the target.
10045
10046 2005-07-28  Wim Taymans  <wim@fluendo.com>
10047
10048         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10049         Added checks for hierarchy consistency whan adding linked
10050         elements to bins.
10051
10052         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10053         Added check to test element scheduling without bin/pipeline.
10054
10055         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10056         First add elements to bin, then link.
10057         
10058         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10059         (gst_bin_remove_func):
10060         Unlink pads from elements added/removed from bin to maintain
10061         hierarchy consistency.
10062
10063 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10064
10065         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10066         (gst_base_transform_handle_buffer):
10067         * gst/base/gstbasetransform.h:
10068           Remove broken delay_configure (fixes renegotiation of software
10069           scaling pipelines); remove some leftover printf()s.
10070
10071 2005-07-28  Wim Taymans  <wim@fluendo.com>
10072
10073         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10074         Added some more tests for wrong hierarchy
10075
10076         * docs/design/part-overview.txt:
10077         Some updates.
10078
10079         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
10080         Cleanups.
10081
10082         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
10083         (gst_element_dispose):
10084         Some more cleanups.
10085
10086         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10087         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
10088         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10089         (gst_pad_set_caps), (gst_pad_send_event):
10090         Check for correct hierarchy when linking pads. Moving to
10091         strict requirement for ghostpads when linking elements in
10092         different bins.
10093
10094         * gst/gstpad.h:
10095         Clean ups. Added WRONG_HIERARCHY return value.
10096
10097 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10098
10099         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10100           Better debug if no transform is possible.
10101
10102 2005-07-27  Wim Taymans  <wim@fluendo.com>
10103
10104         * docs/random/wtay/network-transp:
10105         Some old doc I had.
10106
10107 2005-07-27  Wim Taymans  <wim@fluendo.com>
10108
10109         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10110         (gst_dp_event_from_packet):
10111         Fix serialization of seek events.
10112
10113 2005-07-27  Wim Taymans  <wim@fluendo.com>
10114
10115         * check/gst-libs/gdp.c: (GST_START_TEST):
10116         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10117         Fix compilation and fix event serialization.
10118
10119 2005-07-27  Wim Taymans  <wim@fluendo.com>
10120
10121         * CHANGES-0.9:
10122         * docs/design/part-TODO.txt:
10123         * docs/design/part-events.txt:
10124         Some docs updates
10125
10126         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10127         (gst_base_sink_event), (gst_base_sink_do_sync),
10128         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10129         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10130         (gst_base_src_do_seek), (gst_base_src_event_handler),
10131         (gst_base_src_loop):
10132         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10133         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10134         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10135         (gst_base_transform_event), (gst_base_transform_handle_buffer),
10136         (gst_base_transform_set_passthrough),
10137         (gst_base_transform_is_passthrough):
10138         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10139         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10140         Event updates.
10141
10142         * gst/gstbuffer.h:
10143         Use faster casts.
10144
10145         * gst/gstelement.c: (gst_element_seek):
10146         * gst/gstelement.h:
10147         Update gst_element_seek.
10148
10149         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
10150         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
10151         (gst_event_new_flush_start), (gst_event_new_flush_stop),
10152         (gst_event_new_eos), (gst_event_new_newsegment),
10153         (gst_event_parse_newsegment), (gst_event_new_tag),
10154         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
10155         (gst_event_parse_qos), (gst_event_new_seek),
10156         (gst_event_parse_seek), (gst_event_new_navigation):
10157         * gst/gstevent.h:
10158         Make GstEvent use GstStructure. Add parsing code, make sure the
10159         API is sufficiently generic.
10160         Mark possible directions of events and serialization.
10161
10162         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
10163         (_gst_message_copy), (gst_message_new_segment_start),
10164         (gst_message_new_segment_done), (gst_message_new_custom),
10165         (gst_message_parse_segment_start),
10166         (gst_message_parse_segment_done):
10167         Small cleanups.
10168
10169         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10170         (gst_pad_set_caps), (gst_pad_send_event):
10171         Update for new events. 
10172         Catch events sent in wrong directions.
10173
10174         * gst/gstqueue.c: (gst_queue_link_src),
10175         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10176         (gst_queue_handle_src_query):
10177         Event updates.
10178
10179         * gst/gsttag.c:
10180         * gst/gsttag.h:
10181         Remove event code from this file.
10182
10183         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10184         (gst_dp_event_from_packet):
10185         Event updates.
10186
10187 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10188
10189         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
10190         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10191         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
10192           Make debugging actually useful.
10193
10194 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10195
10196         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
10197         (gst_pad_fixate_caps):
10198           Implement default fixation once again, so that gst_pad_fixate()
10199           actually does anything at all. This probably needs to be some
10200           sort of a last resort, and use profile-based fixation first, but
10201           since that doesn't exist yet, this is the best we have. Fixes
10202           visualization in Totem.
10203
10204 2005-07-22  Wim Taymans  <wim@fluendo.com>
10205
10206         * docs/design/part-events.txt:
10207         Small update.
10208
10209         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10210         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
10211         (gst_base_sink_activate_pull):
10212         Some more comments.
10213
10214         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
10215         (gst_fake_src_create):
10216         Fix handoff marshall.
10217
10218         * gst/elements/gstidentity.c: (gst_identity_class_init),
10219         (gst_identity_transform_ip):
10220         We're a real inplace element.
10221
10222         * gst/gstbus.c: (gst_bus_post):
10223         Added some comments.
10224
10225         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
10226         * tests/muxing/case1.c: (main):
10227         * tests/sched/dynamic-pipeline.c: (main):
10228         * tests/sched/interrupt1.c: (main):
10229         * tests/sched/interrupt2.c: (main):
10230         * tests/sched/interrupt3.c: (main):
10231         * tests/sched/runxml.c: (main):
10232         * tests/sched/sched-stress.c: (main):
10233         * tests/seeking/seeking1.c: (event_received), (main):
10234         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10235         (main):
10236         * tests/threadstate/threadstate3.c: (main):
10237         * tests/threadstate/threadstate4.c: (main):
10238         * tests/threadstate/threadstate5.c: (main):
10239         Fix the tests.
10240
10241 2005-07-21  Wim Taymans  <wim@fluendo.com>
10242
10243         * docs/design/part-seeking.txt:
10244         Some small additions.
10245
10246         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10247         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10248         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10249         * gst/base/gstbasesink.h:
10250         discont values are gint64, handle the math correctly.
10251
10252         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10253         Make the basesrc report error if the source pad is not linked.
10254
10255         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10256         (gst_queue_loop), (gst_queue_handle_src_query),
10257         (gst_queue_src_activate_push):
10258         Make queue collect data even if the srcpad is not linked.
10259         Start pushing out data as soon as it is linked.
10260
10261         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10262         * gst/gstutils.h:
10263         Added gst_flow_get_name() to ease error reporting.
10264
10265 2005-07-20  Wim Taymans  <wim@fluendo.com>
10266
10267         * gst/gstmessage.c: (gst_message_new_segment_start),
10268         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10269         (gst_message_parse_segment_done):
10270         * gst/gstmessage.h:
10271         Added a bunch of messages for advanced seeking.
10272
10273         * gst/parse/grammar.y:
10274         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10275         (gst_dpman_state_changed):
10276         Fix some new-pad -> pad-added signals
10277
10278 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10279
10280         * docs/manual/appendix-porting.xml:
10281         * docs/pwg/appendix-porting.xml:
10282           Document new-pad/state-change signal renames and the FixedList
10283           type rename.
10284
10285 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10286
10287         * docs/manual/advanced-autoplugging.xml:
10288         * docs/manual/basics-helloworld.xml:
10289         * docs/manual/basics-pads.xml:
10290         * docs/random/ds/0.9-suggested-changes:
10291         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10292         * gst/gstelement.h:
10293         * gst/gstevent.h:
10294         * gst/gstformat.h:
10295         * gst/gstquery.h:
10296         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10297         (gst_structure_parse_array), (gst_structure_parse_value):
10298         * gst/gstvalue.c: (gst_type_is_fixed),
10299         (gst_value_list_prepend_value), (gst_value_list_append_value),
10300         (gst_value_list_get_size), (gst_value_list_get_value),
10301         (gst_value_transform_array_string), (gst_value_serialize_array),
10302         (gst_value_deserialize_array), (gst_value_intersect_array),
10303         (gst_value_is_fixed), (_gst_value_initialize):
10304         * gst/gstvalue.h:
10305           GstElement::new-pad -> pad-added, GstElement::state-change ->
10306           state-changed, GstValueFixedList -> GstValueArray, add format and
10307           flags as their own arguments in gst_element_seek() (should improve
10308           "bindeability"), remove function generators since they don't work
10309           under a whole bunch of compilers (they were deprecated already
10310           anyway).
10311
10312 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10313
10314         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10315         (_gst_debug_register_funcptr):
10316         * gst/gstinfo.h:
10317           Fix illegal cast on some platforms (#309253).
10318
10319 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10320
10321         * gst/gstmessage.c: (gst_message_new_custom):
10322         * gst/gstmessage.h:
10323           Add _new_custom, make _new_application a macro to _new_custom.
10324
10325 2005-07-20  Wim Taymans  <wim@fluendo.com>
10326
10327         * gst/base/gstbasesrc.c: (gst_base_src_init),
10328         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10329         * gst/base/gstbasesrc.h:
10330         Add a gboolean to decide when to push out a discont.
10331
10332         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10333         (gst_queue_loop), (gst_queue_handle_src_query),
10334         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10335         (gst_queue_set_property), (gst_queue_get_property):
10336         Some cleanups.
10337
10338         * tests/threadstate/threadstate1.c: (main):
10339         Make a thread test compile and run... very silly..
10340
10341
10342 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10343
10344         * docs/manual/appendix-porting.xml:
10345           Mention removal of libgstgconf-0.9.la and existence of gconf
10346           elements.
10347
10348 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10349
10350         * docs/pwg/advanced-clock.xml:
10351         * docs/pwg/appendix-porting.xml:
10352         * docs/pwg/intro-preface.xml:
10353         * docs/pwg/other-base.xml:
10354         * docs/pwg/other-manager.xml:
10355         * docs/pwg/other-nton.xml:
10356         * docs/pwg/other-ntoone.xml:
10357         * docs/pwg/other-oneton.xml:
10358         * docs/pwg/pwg.xml:
10359           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10360           demuxer), remove n-to-n (was never written), fix some code examples
10361           and links and update the porting section to include all this.
10362
10363 2005-07-19  Wim Taymans  <wim@fluendo.com>
10364
10365         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10366         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10367         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10368         (gst_queue_src_activate_push), (gst_queue_change_state),
10369         (gst_queue_get_property):
10370         * gst/gstqueue.h:
10371         Propagate GstFlowReturn more intelligently upstream and output
10372         an ERROR/EOS when streaming stopped due to fatal error.
10373
10374 2005-07-19  Wim Taymans  <wim@fluendo.com>
10375
10376         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10377         Don't block forever for the state change to complete, the
10378         pipeline already did with a sensible timeout.
10379
10380 2005-07-19  Wim Taymans  <wim@fluendo.com>
10381
10382         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10383         Make sure we never call the create function is we
10384         got deactivated.
10385
10386 2005-07-19  Andy Wingo  <wingo@pobox.com>
10387
10388         * gst/parse/parse.l: Attempt to solve bug #172815.
10389
10390 2005-07-19  Wim Taymans  <wim@fluendo.com>
10391
10392         * docs/design/part-clocks.txt:
10393         * docs/design/part-events.txt:
10394         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10395         Small docs updates.
10396         Only update the seeking values when we are not
10397         busy streaming.
10398
10399 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10400
10401         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10402           Oops, ignore the result of gst_pad_push_event here.
10403
10404 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10405
10406         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10407         (gst_base_src_activate_push):
10408           Send discont event from the loop function, as pads
10409           aren't activated yet in the activate_push handler.
10410
10411         * gst/gstbin.c: (bin_bus_handler):
10412           Don't leak element name.
10413
10414 2005-07-18  Andy Wingo  <wingo@pobox.com>
10415
10416         * configure.ac: Use AS_LIBTOOL_TAGS.
10417
10418 2005-07-18  Wim Taymans  <wim@fluendo.com>
10419
10420         * docs/gst/gstreamer.types:
10421         Remove deleted types.
10422
10423 2005-07-18  Wim Taymans  <wim@fluendo.com>
10424
10425         * check/elements/gstfakesrc.c: (GST_START_TEST):
10426         * configure.ac:
10427         * gst/Makefile.am:
10428         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10429         (init_popt_callback):
10430         * gst/gst.h:
10431         * gst/gst_private.h:
10432         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10433         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10434         * gst/gstbin.h:
10435         * gst/gstbus.h:
10436         * gst/gstconfig.h.in:
10437         * gst/gstelement.c: (gst_element_class_init),
10438         (gst_element_set_base_time), (gst_element_get_base_time),
10439         (iterator_fold_with_resync), (gst_element_change_state),
10440         (gst_element_dispose), (gst_element_get_bus):
10441         * gst/gstelement.h:
10442         * gst/gstelementfactory.h:
10443         * gst/gsterror.c: (_gst_core_errors_init):
10444         * gst/gsterror.h:
10445         * gst/gstevent.h:
10446         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10447         * gst/gstindex.c:
10448         * gst/gstinfo.c: (_gst_debug_init):
10449         * gst/gstmessage.c: (_gst_message_copy):
10450         * gst/gstmessage.h:
10451         * gst/gstminiobject.h:
10452         * gst/gstobject.c:
10453         * gst/gstobject.h:
10454         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10455         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10456         * gst/gstpad.h:
10457         * gst/gstparse.h:
10458         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10459         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10460         (gst_pipeline_get_last_stream_time):
10461         * gst/gstpipeline.h:
10462         * gst/gstpluginfeature.h:
10463         * gst/gstquery.h:
10464         * gst/gstscheduler.c:
10465         * gst/gstscheduler.h:
10466         * gst/gststructure.h:
10467         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10468         (gst_task_finalize), (gst_task_func), (gst_task_create),
10469         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10470         (gst_task_stop), (gst_task_pause):
10471         * gst/gsttask.h:
10472         * gst/gsttypefind.h:
10473         * gst/gsttypes.h:
10474         * gst/registries/gstlibxmlregistry.c: (load_feature),
10475         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10476         * gst/registries/gstxmlregistry.c:
10477         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10478         * gst/schedulers/threadscheduler.c:
10479         * libs/gst/control/dparammanager.h:
10480         * tools/gst-inspect.c: (print_element_list),
10481         (print_plugin_features), (print_element_features):
10482         * tools/gst-xmlinspect.c: (print_element_list),
10483         (print_plugin_info), (main):
10484         Removed plugable schedulers.
10485         Removed Scheduler/Manager from elements.
10486         Removed gsttypes.h, rearranged includes.
10487         Removed dependency pad<->element, element<>pipeline, and
10488         various others,  fix includes.
10489         implement gst_pad_get_parent() with gst_object_get_parent()
10490         Make GstTask sefcontained.
10491         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10492         timeout.
10493         Fix endless loop in iterator_fold_with_resync.
10494
10495
10496 2005-07-18  Wim Taymans  <wim@fluendo.com>
10497
10498         * gst/Makefile.am:
10499         * gst/gstarch.h:
10500         Remove old file.
10501
10502 2005-07-18  Wim Taymans  <wim@fluendo.com>
10503
10504         * gst/Makefile.am:
10505         No more cothreads.h
10506
10507 2005-07-18  Wim Taymans  <wim@fluendo.com>
10508
10509         * gst/cothreads.c:
10510         * gst/cothreads.h:
10511         Let's remove these.
10512
10513 2005-07-18  Wim Taymans  <wim@fluendo.com>
10514
10515         * docs/design/part-dynamic.txt:
10516         * docs/design/part-events.txt:
10517         * docs/design/part-seeking.txt:
10518         Some more docs in the works.
10519
10520         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10521         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10522         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10523         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10524         (gst_base_transform_handle_buffer),
10525         (gst_base_transform_sink_activate_push),
10526         (gst_base_transform_src_activate_pull),
10527         (gst_base_transform_set_passthrough),
10528         (gst_base_transform_is_passthrough):
10529         Refcounting fixes.
10530
10531         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10532         Cleanups.
10533
10534         * gst/gstevent.c: (gst_event_finalize):
10535         Set SRC to NULL.
10536
10537         * gst/gstutils.c: (gst_element_unlink),
10538         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10539         (gst_pad_proxy_setcaps):
10540         * gst/gstutils.h:
10541         Add _get_parent_element() to get a pads parent as an element.
10542
10543 2005-07-18  Wim Taymans  <wim@fluendo.com>
10544
10545         * check/gst/gstbin.c: (GST_START_TEST):
10546         Remove bogus test.
10547
10548 2005-07-18  Wim Taymans  <wim@fluendo.com>
10549
10550         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10551         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10552         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10553         (gst_base_sink_event), (gst_base_sink_do_sync),
10554         (gst_base_sink_chain), (gst_base_sink_loop),
10555         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10556         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10557         Refcounting fixes.
10558         Fix logic for returning ASYNC when not prerolled.
10559
10560 2005-07-18  Wim Taymans  <wim@fluendo.com>
10561
10562         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10563         Fix nasty refcount bug.
10564
10565 2005-07-16 Philippe Khalaf <burger@speedy.org>
10566
10567         * gst/elements/gstfdsrc.c:
10568         * gst/elements/gstfdsrc.h:
10569         * gst/elements/gstelements.c:
10570         * gst/elements/Makefile.am:
10571         Ported fdsrc to 0.9.
10572
10573 2005-07-16  Wim Taymans  <wim@fluendo.com>
10574
10575         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10576         (gst_base_sink_do_sync):
10577         Fix compile error.
10578
10579 2005-07-16  Wim Taymans  <wim@fluendo.com>
10580
10581         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10582         (gst_base_sink_event), (gst_base_sink_get_times),
10583         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10584         * gst/base/gstbasesink.h:
10585         Store and use discont values when syncing buffers as described
10586         in design docs.
10587         
10588         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10589         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10590         (gst_base_src_activate_push):
10591         Push discont event when starting.
10592
10593         * gst/elements/gstidentity.c: (gst_identity_transform):
10594         Small cleanups.
10595
10596         * gst/gstbin.c: (gst_bin_change_state):
10597         Small cleanups in base_time  distribution.
10598
10599         * gst/gstelement.c: (gst_element_set_base_time),
10600         (gst_element_get_base_time), (gst_element_change_state):
10601         * gst/gstelement.h:
10602         Added methods for the base_time of the element.
10603         Some MT fixes.
10604
10605         * gst/gstpipeline.c: (gst_pipeline_send_event),
10606         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10607         (gst_pipeline_get_last_stream_time):
10608         * gst/gstpipeline.h:
10609         MT fixes.
10610         Handle seeking as described in design doc, remove stream_time
10611         hack.
10612         Cleanups clock and stream_time selection code. Added accessors
10613         for the stream_time.
10614         
10615
10616 2005-07-16  Andy Wingo  <wingo@pobox.com>
10617
10618         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10619         (#305291).
10620
10621 2005-07-16  Wim Taymans  <wim@fluendo.com>
10622
10623         * check/gst/gstbin.c: (GST_START_TEST):
10624         Make elements silent as the deep_notify refs the
10625         parent, which might make the test fail.
10626
10627         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10628         Don't hold the lock for too long.
10629
10630 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10631
10632         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10633           Don't unref the caps we passed to gst_caps_make_writable() after
10634           passing them. gst_caps_make_writable() will do that for us.
10635
10636 2005-07-15  Andy Wingo  <wingo@pobox.com>
10637
10638         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10639         (#157311).
10640
10641         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10642         own marshalling function for the handoff signal. Properly type the
10643         buffer as a buffer. Fixes some warnings. Should do a more general
10644         solution.
10645         (gst_identity_class_init): Plug into the right marshaller.
10646
10647 2005-07-15  Wim Taymans  <wim@fluendo.com>
10648
10649         * docs/design/part-TODO.txt:
10650         * docs/design/part-clocks.txt:
10651         * docs/design/part-element-sink.txt:
10652         * docs/design/part-events.txt:
10653         * docs/design/part-gstpipeline.txt:
10654         Updated docs, mostly DISCONT related.
10655
10656 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10657
10658         * docs/pwg/building-pads.xml:
10659           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10660
10661 2005-07-15  Andy Wingo  <wingo@pobox.com>
10662
10663         * tools/gst-typefind.c: Update, add copyright block.
10664
10665         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10666         Normalize and truncate caps before fixation.
10667
10668         * gst/gstcaps.h:
10669         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10670         discards all but the first structure from its argument.
10671
10672 2005-07-15  Wim Taymans  <wim@fluendo.com>
10673
10674         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10675         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10676         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10677         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10678         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10679         (gst_base_transform_chain), (gst_base_transform_change_state),
10680         (gst_base_transform_set_passthrough),
10681         (gst_base_transform_is_passthrough):
10682         * gst/base/gstbasetransform.h:
10683         Make passthrough work using the bufferpools.
10684         Changed API a bit, subclasses have to write into a buffer
10685         provided by the base class.
10686         More debug info in nego functions.
10687         
10688         * gst/elements/gstidentity.c: (gst_identity_init),
10689         (gst_identity_transform):
10690         Port to new base class.
10691
10692 2005-07-15  Wim Taymans  <wim@fluendo.com>
10693
10694         * gst/gstmessage.c: (gst_message_new_state_changed):
10695         * tools/gst-launch.c: (event_loop), (main):
10696         Totally dump messages in -launch with the -m option.
10697         Fix message name for State messages,
10698
10699 2005-07-14  Wim Taymans  <wim@fluendo.com>
10700
10701         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10702         Post error messages on errors.
10703
10704 2005-07-14  Wim Taymans  <wim@fluendo.com>
10705
10706         * gst/gstcaps.c: (gst_caps_do_simplify):
10707         Remove debug info.
10708
10709         * gst/gsterror.h:
10710         Define error for stream stopped.
10711
10712         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10713         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10714         Do proper return values.
10715
10716         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10717         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10718         (gst_pad_get_range):
10719         Better return values.
10720
10721         * gst/gstpad.h:
10722         Reorganise return values, add macro to check for fatal errors.
10723
10724         * gst/gstqueue.c: (gst_queue_chain):
10725         Return proper GstFlowReturn values,
10726
10727 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10728
10729         * docs/gst/gstreamer-sections.txt:
10730         * docs/gst/gstreamer.types:
10731         * docs/gst/tmpl/gst.sgml:
10732         * docs/gst/tmpl/gstbasesink.sgml:
10733         * docs/gst/tmpl/gstbasesrc.sgml:
10734         * docs/gst/tmpl/gstbasetransform.sgml:
10735         * docs/gst/tmpl/gstbin.sgml:
10736         * docs/gst/tmpl/gstbuffer.sgml:
10737         * docs/gst/tmpl/gstcaps.sgml:
10738         * docs/gst/tmpl/gstclock.sgml:
10739         * docs/gst/tmpl/gstcompat.sgml:
10740         * docs/gst/tmpl/gstconfig.sgml:
10741         * docs/gst/tmpl/gstelement.sgml:
10742         * docs/gst/tmpl/gstelementdetails.sgml:
10743         * docs/gst/tmpl/gstelementfactory.sgml:
10744         * docs/gst/tmpl/gstenumtypes.sgml:
10745         * docs/gst/tmpl/gsterror.sgml:
10746         * docs/gst/tmpl/gstevent.sgml:
10747         * docs/gst/tmpl/gstfakesink.sgml:
10748         * docs/gst/tmpl/gstfakesrc.sgml:
10749         * docs/gst/tmpl/gstfilesink.sgml:
10750         * docs/gst/tmpl/gstfilesrc.sgml:
10751         * docs/gst/tmpl/gstfilter.sgml:
10752         * docs/gst/tmpl/gstformat.sgml:
10753         * docs/gst/tmpl/gstghostpad.sgml:
10754         * docs/gst/tmpl/gstimplementsinterface.sgml:
10755         * docs/gst/tmpl/gstindex.sgml:
10756         * docs/gst/tmpl/gstindexfactory.sgml:
10757         * docs/gst/tmpl/gstinfo.sgml:
10758         * docs/gst/tmpl/gstiterator.sgml:
10759         * docs/gst/tmpl/gstmacros.sgml:
10760         * docs/gst/tmpl/gstmemchunk.sgml:
10761         * docs/gst/tmpl/gstminiobject.sgml:
10762         * docs/gst/tmpl/gstobject.sgml:
10763         * docs/gst/tmpl/gstpad.sgml:
10764         * docs/gst/tmpl/gstpadtemplate.sgml:
10765         * docs/gst/tmpl/gstparse.sgml:
10766         * docs/gst/tmpl/gstpipeline.sgml:
10767         * docs/gst/tmpl/gstplugin.sgml:
10768         * docs/gst/tmpl/gstpluginfeature.sgml:
10769         * docs/gst/tmpl/gstquery.sgml:
10770         * docs/gst/tmpl/gstqueue.sgml:
10771         * docs/gst/tmpl/gstregistry.sgml:
10772         * docs/gst/tmpl/gstregistrypool.sgml:
10773         * docs/gst/tmpl/gstscheduler.sgml:
10774         * docs/gst/tmpl/gstschedulerfactory.sgml:
10775         * docs/gst/tmpl/gststructure.sgml:
10776         * docs/gst/tmpl/gstsystemclock.sgml:
10777         * docs/gst/tmpl/gsttaglist.sgml:
10778         * docs/gst/tmpl/gsttagsetter.sgml:
10779         * docs/gst/tmpl/gsttrace.sgml:
10780         * docs/gst/tmpl/gsttrashstack.sgml:
10781         * docs/gst/tmpl/gsttypefind.sgml:
10782         * docs/gst/tmpl/gsttypefindfactory.sgml:
10783         * docs/gst/tmpl/gsttypes.sgml:
10784         * docs/gst/tmpl/gsturihandler.sgml:
10785         * docs/gst/tmpl/gsturitype.sgml:
10786         * docs/gst/tmpl/gstutils.sgml:
10787         * docs/gst/tmpl/gstvalue.sgml:
10788         * docs/gst/tmpl/gstversion.sgml:
10789         * docs/gst/tmpl/gstxml.sgml:
10790         * docs/libs/tmpl/gstcontrol.sgml:
10791         * docs/libs/tmpl/gstdataprotocol.sgml:
10792         * docs/libs/tmpl/gstdparam.sgml:
10793         * docs/libs/tmpl/gstdplinint.sgml:
10794         * docs/libs/tmpl/gstdpman.sgml:
10795         * docs/libs/tmpl/gstdpsmooth.sgml:
10796         * docs/libs/tmpl/gstgetbits.sgml:
10797         * docs/libs/tmpl/gstunitconvert.sgml:
10798         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10799         (gst_push_src_base_init), (gst_push_src_class_init),
10800         (gst_push_src_init), (gst_push_src_create):
10801         * gst/base/gstpushsrc.h:
10802         * gst/elements/gstelements.c:
10803         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10804         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10805         (gst_fake_sink_init), (gst_fake_sink_set_property),
10806         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10807         (gst_fake_sink_event), (gst_fake_sink_preroll),
10808         (gst_fake_sink_render), (gst_fake_sink_change_state):
10809         * gst/elements/gstfakesink.h:
10810         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10811         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10812         (gst_fake_src_base_init), (gst_fake_src_class_init),
10813         (gst_fake_src_init), (gst_fake_src_event_handler),
10814         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10815         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10816         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10817         (gst_fake_src_create_buffer), (gst_fake_src_create),
10818         (gst_fake_src_start), (gst_fake_src_stop):
10819         * gst/elements/gstfakesrc.h:
10820         * gst/elements/gstfilesink.c: (_do_init),
10821         (gst_file_sink_base_init), (gst_file_sink_class_init),
10822         (gst_file_sink_init), (gst_file_sink_dispose),
10823         (gst_file_sink_set_location), (gst_file_sink_set_property),
10824         (gst_file_sink_get_property), (gst_file_sink_open_file),
10825         (gst_file_sink_close_file), (gst_file_sink_query),
10826         (gst_file_sink_event), (gst_file_sink_render),
10827         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10828         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10829         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10830         * gst/elements/gstfilesink.h:
10831         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10832         (gst_file_src_class_init), (gst_file_src_init),
10833         (gst_file_src_finalize), (gst_file_src_set_location),
10834         (gst_file_src_set_property), (gst_file_src_get_property),
10835         (gst_file_src_map_region), (gst_file_src_map_small_region),
10836         (gst_file_src_create_mmap), (gst_file_src_create_read),
10837         (gst_file_src_create), (gst_file_src_is_seekable),
10838         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10839         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10840         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10841         (gst_file_src_uri_handler_init):
10842         * gst/elements/gstfilesrc.h:
10843           more autistic cleanliness in functions/names/defines
10844
10845 2005-07-13  Andy Wingo  <wingo@pobox.com>
10846
10847         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10848         source couldn't negotiate.
10849
10850         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10851         connections again.
10852
10853         * gst/gstutils.h:
10854         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10855         function. I am channeling Hades. Put your boots on suckers!!!
10856
10857 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10858
10859         * testsuite/caps/Makefile.am:
10860         * testsuite/caps/value_compare.c:
10861         * testsuite/caps/value_intersect.c:
10862         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10863           move two testsuite apps over to the check dir
10864
10865 2005-07-12  Wim Taymans  <wim@fluendo.com>
10866
10867         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10868         Added more debug info in the negotiate process.
10869
10870         * gst/gstmessage.h:
10871         Prepare for segment playback.
10872
10873         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10874         Better debugging.
10875
10876         * gst/gstutils.c:
10877         Some more docs.
10878
10879         * tools/gst-launch.c: (main):
10880         NULL pipeline on errors.
10881
10882 2005-07-12  Andy Wingo  <wingo@pobox.com>
10883
10884         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10885         not it comes from a malloc region. Make sure our copy gets freed.
10886
10887 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10888
10889         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10890         * check/gst/gstmessage.c: (GST_START_TEST):
10891         * check/gst/gststructure.c: (GST_START_TEST),
10892         (gst_structure_suite), (main):
10893           more testing
10894         * gst/gstelement.c: (gst_element_message_full):
10895           clean up GError and debug string now that they get copied
10896         * gst/gstmessage.c: (gst_message_new_error),
10897         (gst_message_new_warning), (gst_message_parse_error),
10898         (gst_message_parse_warning):
10899           use GST_TYPE_G_ERROR for structure_new, and take copies of
10900           arguments, so that we don't mess up refcounting
10901
10902 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10903
10904         * check/Makefile.am:
10905           add per-test valgrind targets
10906         * check/gst-libs/gdp.c: (GST_START_TEST),
10907         (gst_data_protocol_suite), (main):
10908           clean up
10909
10910 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10911
10912         * check/Makefile.am:
10913           instate more valgrindable tests
10914         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10915         (GST_START_TEST), (fakesrc_suite):
10916         * check/gst/gstpad.c: (GST_START_TEST):
10917         * check/gst/gststructure.c: (GST_START_TEST):
10918           fix test leaks
10919         * docs/gst/tmpl/gstminiobject.sgml:
10920         * gst/gstpad.c: (gst_pad_finalize):
10921           fix the static mutex leak
10922
10923 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10924
10925         * check/Makefile.am:
10926           add two more tests for valgrinding
10927         * check/gst/gstvalue.c: (GST_START_TEST):
10928           test refcount of deserialized buffer, found a leak
10929         * docs/gst/gstreamer-docs.sgml:
10930         * docs/gst/gstreamer-sections.txt:
10931         * docs/gst/gstreamer.types:
10932         * docs/gst/tmpl/gstminiobject.sgml:
10933           add miniobject to docs
10934         * gst/gstminiobject.c:
10935           add some docs
10936         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10937         (gst_string_unwrap):
10938           fix a hard-to-find invalid write for one of the tests
10939           fix a leak for deserialized buffers
10940
10941 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10942
10943         * docs/pwg/advanced-events.xml:
10944         * docs/pwg/advanced-request.xml:
10945         * docs/pwg/advanced-scheduling.xml:
10946         * docs/pwg/appendix-porting.xml:
10947         * docs/pwg/building-boiler.xml:
10948         * docs/pwg/intro-preface.xml:
10949         * docs/pwg/other-ntoone.xml:
10950           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10951           of example code and explanation for pad activation, loop() and
10952           getrange() functions and a bit more. Remove old comments pointing
10953           to loop-functions.
10954         * examples/pwg/Makefile.am:
10955           Add loop/getrange examples.
10956
10957 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10958
10959         * configure.ac:
10960           check for valgrind binary + some fixes
10961         * check/gst.supp:
10962           valgrind suppressions for the tests
10963         * check/Makefile.am:
10964           add a valgrind: target that valgrinds the unit tests
10965         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10966         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10967         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10968         * check/gst/gstghostpad.c:
10969           added some cleanup
10970         * check/gst/gstdata.c:
10971           removed
10972         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10973         (thread_unref), (gst_mini_object_suite), (main):
10974           added
10975         * gst/gst.c: (gst_deinit):
10976         * gst/gst.h:
10977           add a method to clean up.
10978         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10979         (gst_system_clock_obtain):
10980           allow for disposing the system clock.
10981         * tools/gst-launch.c: (main):
10982           deinit
10983
10984 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10985
10986         * docs/gst/tmpl/gstbasesrc.sgml:
10987         * docs/gst/tmpl/gstfakesrc.sgml:
10988         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10989         (gst_base_src_init), (gst_base_src_set_property),
10990         (gst_base_src_get_property), (gst_base_src_get_range),
10991         (gst_base_src_start):
10992         * gst/base/gstbasesrc.h:
10993           add num-buffers property
10994         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10995         (gst_fakesrc_init), (gst_fakesrc_set_property),
10996         (gst_fakesrc_get_property), (gst_fakesrc_create),
10997         (gst_fakesrc_start):
10998           remove num-buffers property
10999
11000 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11001
11002         * docs/gst/gstreamer-sections.txt:
11003         * docs/gst/tmpl/gstbasesink.sgml:
11004         * docs/gst/tmpl/gstbasesrc.sgml:
11005         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11006         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11007         (gst_base_sink_finalize), (gst_base_sink_set_clock),
11008         (gst_base_sink_set_property), (gst_base_sink_get_property),
11009         (gst_base_sink_handle_object), (gst_base_sink_event),
11010         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11011         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
11012         (gst_base_sink_loop), (gst_base_sink_deactivate),
11013         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
11014         (gst_base_sink_change_state):
11015         * gst/base/gstbasesink.h:
11016         * gst/base/gstbasesrc.h:
11017         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
11018         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11019         (gst_filesink_init):
11020           more macro splitting
11021
11022 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11023
11024         * gst/gstelement.c: (gst_element_get_bus):
11025           add debug
11026         * tools/gst-launch.c: (check_intr), (event_loop):
11027           fix bus leaks
11028
11029 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11030
11031         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11032           fix a caps leak
11033
11034 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11035
11036         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11037         (gst_base_src_finalize):
11038           add finalize method and clean up properly
11039         * gst/gstpipeline.c: (gst_pipeline_dispose):
11040           add debug
11041
11042 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11043
11044         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
11045         (gst_bin_suite):
11046           add more things to check
11047         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11048         * gst/gstelement.c:
11049           more debug
11050
11051 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11052
11053         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11054         (GST_START_TEST), (fakesrc_suite):
11055         * check/gst-libs/gdp.c: (GST_START_TEST):
11056         * check/gst/gst.c: (GST_START_TEST):
11057         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11058         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11059         * check/gst/gstbus.c: (GST_START_TEST):
11060         * check/gst/gstcaps.c: (GST_START_TEST):
11061         * check/gst/gstdata.c: (GST_START_TEST):
11062         * check/gst/gstelement.c: (GST_START_TEST):
11063         * check/gst/gstghostpad.c: (GST_START_TEST):
11064         * check/gst/gstiterator.c: (GST_START_TEST):
11065         * check/gst/gstmessage.c: (GST_START_TEST):
11066         * check/gst/gstobject.c: (GST_START_TEST):
11067         * check/gst/gstpad.c: (GST_START_TEST):
11068         * check/gst/gststructure.c: (GST_START_TEST):
11069         * check/gst/gstsystemclock.c: (GST_START_TEST),
11070         (gst_systemclock_suite):
11071         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11072         * check/gst/gstvalue.c: (GST_START_TEST):
11073         * check/pipelines/cleanup.c: (GST_START_TEST):
11074         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11075         * check/states/sinks.c: (GST_START_TEST):
11076         * check/gstcheck.c: (gst_check_init):
11077         * check/gstcheck.h:
11078           add debugging category
11079           use GST_START_TEST now, so we add a debug line
11080
11081 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11082
11083         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
11084           add test for state change message on a bin
11085         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
11086           add another test
11087         * gst/gstbin.c: (gst_bin_init):
11088         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
11089         * gst/gstelement.c: (gst_element_post_message),
11090         (gst_element_set_state):
11091         * gst/gstelementfactory.c: (gst_element_factory_create):
11092         * gst/gstmessage.c: (gst_message_new):
11093         * gst/gstscheduler.c:
11094           various debugging additions and cleanups
11095
11096 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11097
11098         * check/Makefile.am:
11099         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
11100         (main):
11101           adding tests for elements
11102         * gst/gstelement.c: (gst_element_dispose):
11103
11104 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11105
11106         * gst/registries/gstlibxmlregistry.c: (load_feature):
11107           plug more leaks.  A simple gst_init() now is leakfree, yay.
11108
11109 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11110
11111         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
11112         (gst_xml_registry_load):
11113           plug another memleak
11114
11115 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11116
11117         * configure.ac:
11118           use GST_SET_ERROR_CFLAGS
11119         * docs/faq/cvs.xml:
11120           change to ERROR_CFLAGS
11121
11122 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11123
11124         * configure.ac:
11125           make GST_ERROR_CFLAGS overridable and re-enable Werror
11126         * docs/faq/cvs.xml:
11127           add a note about error CFLAGS
11128         * docs/gst/tmpl/gstfakesrc.sgml:
11129         * gst/elements/gstfakesrc.c:
11130           comment out some unused code
11131         * gst/gst.c: (split_and_iterate):
11132         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
11133         (load_feature):
11134           plug some memleaks
11135
11136 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11137
11138         * common/Makefile.am:
11139         * common/gtk-doc.mak:
11140         * docs/gst/Makefile.am:
11141           factor out gtk-doc.mak
11142
11143 2005-07-07  Wim Taymans  <wim@fluendo.com>
11144
11145         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
11146         (gst_thread_scheduler_dispose):
11147         Unlock the STREAM_LOCK completely.
11148
11149 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11150
11151         * check/Makefile.am:
11152         * check/elements/.cvsignore:
11153         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11154         (START_TEST), (fakesrc_suite), (main):
11155         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11156         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11157         (gst_fakesrc_create), (gst_fakesrc_start):
11158         * gst/elements/gstfakesrc.h:
11159           adding a first element test
11160
11161 2005-07-07  Andy Wingo  <wingo@pobox.com>
11162
11163         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
11164         debug message.
11165
11166 2005-07-07  Wim Taymans  <wim@fluendo.com>
11167
11168         * gst/gstquery.c:
11169         * gst/gstquery.h:
11170         Remove old types
11171
11172 2005-07-07  Wim Taymans  <wim@fluendo.com>
11173
11174         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11175         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11176         Allow subclasses to implement their own negotiation.
11177
11178 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11179
11180         * docs/design/part-gstbin.txt:
11181         * docs/design/part-gstpipeline.txt:
11182           Update design notes to reflect the movement of
11183           responsibility for bus handling from GstPipeline to
11184           GstBin
11185
11186 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11187
11188         * configure.ac:
11189           Remove unnecessary queue2/3/4 examples.
11190
11191 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11192
11193         * examples/Makefile.am:
11194         * examples/helloworld/helloworld.c: (event_loop), (main):
11195         * examples/queue/queue.c: (event_loop), (main):
11196         * examples/queue2/queue2.c: (main):
11197           Update a couple of the examples to work again.
11198
11199         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11200         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
11201          Spelling corrections and extra debug.
11202         
11203         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
11204         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
11205         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
11206         * gst/gstbin.h:
11207         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11208         (gst_pipeline_change_state):
11209         * gst/gstpipeline.h:
11210           Move the bus handler for children to the GstBin, and create a
11211           separate bus for receiving messages from children to the one the
11212           bus sends 'upwards' on.
11213
11214 2005-07-06  Wim Taymans  <wim@fluendo.com>
11215
11216         * gst/base/README:
11217         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11218         (gst_base_sink_handle_object), (gst_base_sink_loop),
11219         (gst_base_sink_change_state):
11220         * gst/base/gstbasesink.h:
11221         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11222         (gst_base_src_init), (gst_base_src_setcaps),
11223         (gst_base_src_getcaps), (gst_base_src_loop),
11224         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
11225         (gst_base_src_start), (gst_base_src_change_state):
11226         * gst/base/gstbasesrc.h:
11227         Make basesrc negotiate.
11228         Handle the case where preroll fails in basesink.
11229         Update README.
11230
11231 2005-07-06  Wim Taymans  <wim@fluendo.com>
11232
11233         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
11234         Implement the fixate function.
11235         Clean up acceptcaps.
11236
11237 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11238
11239         * docs/pwg/building-filterfactory.xml:
11240         * docs/pwg/pwg.xml:
11241           Remove never-written filter-factory chapter; I'll add the various
11242           base classes to part 4 ("other element types") later on.
11243
11244 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11245
11246         * docs/pwg/advanced-negotiation.xml:
11247         * docs/pwg/building-boiler.xml:
11248         * docs/pwg/building-pads.xml:
11249         * docs/pwg/pwg.xml:
11250         * examples/pwg/Makefile.am:
11251           Add a chapter on caps negotiation, simplify the original code
11252           samples a bit w.r.t. caps negotiation, add link to the advanced
11253           section. Add a bunch of examples showing different use cases of
11254           different types of caps negotiation. Upstream renegotiation isn't
11255           fully documented yet since nobody knows how that works.
11256
11257 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11258
11259         * check/gst/gstpad.c:
11260         * check/gstcheck.c:
11261         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11262           if pad has no parent, return NULL as list of internal links
11263
11264 2005-07-05  Andy Wingo  <wingo@pobox.com>
11265
11266         * gst/elements/gstfilesrc.c:
11267         * gst/elements/gstfakesrc.c: 
11268         * gst/base/gstpushsrc.c:
11269         * gst/base/gstbasesrc.h: 
11270         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11271         
11272 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11273
11274         * Makefile.am:
11275           better report generation target (lcov needs a patch)
11276
11277 2005-07-05  Andy Wingo  <wingo@pobox.com>
11278
11279         * gst/elements, testsuite: Null if we got it...
11280
11281 2005-07-05  Wim Taymans  <wim@fluendo.com>
11282
11283         * configure.ac:
11284         * libs/gst/dataprotocol/Makefile.am:
11285         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11286         * libs/gst/dataprotocol/dataprotocol.h:
11287         * pkgconfig/Makefile.am:
11288         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11289         * pkgconfig/gstreamer-dataprotocol.pc.in:
11290         Ported dataprotol to 0.9. 
11291         Added pkgconfig files.
11292
11293 2005-07-05  Andy Wingo  <wingo@pobox.com>
11294
11295         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11296         Default to returning TRUE for the case when tranform_caps returns
11297         a fixed caps, like for identity or volume.
11298
11299         * check/gst/gstbus.c (pound_bus_with_messages): 
11300         * check/gst/gstmessage.c (START_TEST): 
11301         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11302         message API change.
11303
11304         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11305         logic weaks here: always run transform_caps, trying passthrough
11306         operation only if the original caps intersects with the transform.
11307
11308         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11309         source and sink caps.
11310
11311         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11312         Intersect the peer caps with the pad template before going into
11313         transform_caps.
11314         (gst_base_transform_transform_caps): More debugging.
11315
11316         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11317         src argument.
11318
11319 2005-07-04  Edward Hervey  <edward@fluendo.com>
11320
11321         * gst/gstutils.c:
11322         * gst/gstutils.h:
11323         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11324         in bindings.
11325
11326 2005-07-04  Andy Wingo  <wingo@pobox.com>
11327
11328         * check/gst/gstpad.c: Only set explicit caps on pads.
11329
11330 2005-07-01  Andy Wingo  <wingo@pobox.com>
11331
11332         * tests/network-clock.scm: Commentary update.
11333
11334         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11335         Didn't really make sense, not implementable with basetransform,
11336         etc.
11337         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11338         attempt at implementing the sync property, needs an unlock method.
11339
11340         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11341         New func, by default returns the same caps (the identity
11342         transformation).
11343         (gst_base_transform_getcaps): Uses transform_caps to return
11344         something sensible.
11345         (gst_base_transform_setcaps): Complicated logic to get caps on
11346         both pads, even if they are different, and to call set_caps once
11347         for every time both pads get their caps set.
11348         (gst_base_transform_handle_buffer): Give the ref to the transform
11349         function. Allows in-place modification of the buffer.
11350
11351         * gst/base/gstbasetransform.h (transform_caps): New class method.
11352         Given caps on one side, what can I do on the other.
11353         (set_caps): Take two caps, one for each side of the element.
11354
11355         * gst/gstpad.h:
11356         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11357         caps in place. This is safe because we can check the mutability of
11358         the caps, and a good idea because fixate functions are just called
11359         as a matter of last resort. (Not actually implemented.)
11360         (gst_pad_set_caps): If the caps we're setting is actually the same
11361         as the existing pad caps, just update the pointer without calling
11362         setcaps. Assert that caps is either NULL or fixed, as per the
11363         docs.
11364
11365         * gst/gstghostpad.c: Update for fixate changes.
11366
11367 2005-07-02  Andy Wingo  <wingo@pobox.com>
11368
11369         * gst/gstcaps.c:
11370         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11371         two refcounts makes it immutable, which is enough. Doc more.
11372
11373 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11374
11375         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11376           Put the mini_object into GValue as a mini_object,
11377           not a gpointer, since that's how we declared
11378           the signal.
11379
11380 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11381
11382         * examples/pwg/Makefile.am:
11383           Fix buildbot again.
11384
11385 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11386
11387         * docs/pwg/building-testapp.xml:
11388           Add extra check.
11389         * examples/pwg/Makefile.am:
11390           Fix buildbot.
11391
11392 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11393
11394         * configure.ac:
11395         * examples/Makefile.am:
11396         * examples/pwg/Makefile.am:
11397         * examples/pwg/extract.pl:
11398           Enable building the PWG examples.
11399         * docs/pwg/advanced-interfaces.xml:
11400           Add URI interface stub.
11401         * docs/pwg/advanced-types.xml:
11402         * docs/pwg/other-autoplugger.xml:
11403         * docs/pwg/appendix-porting.xml:
11404         * docs/pwg/pwg.xml:
11405           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11406         * docs/pwg/building-boiler.xml:
11407         * docs/pwg/building-chainfn.xml:
11408         * docs/pwg/building-pads.xml:
11409         * docs/pwg/building-props.xml:
11410         * docs/pwg/building-state.xml:
11411         * docs/pwg/building-testapp.xml:
11412           Update the building-*.xml parts for 0.9 changes. All examples
11413           code blocks compile in examples/pwg/*.
11414
11415 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11416
11417         * docs/manual/advanced-autoplugging.xml:
11418         * docs/manual/appendix-checklist.xml:
11419         * docs/manual/appendix-integration.xml:
11420         * docs/manual/highlevel-components.xml:
11421           Fix playbin/decodebin examples, update docs a bit, mention bus
11422           instead of signals in various places, mention kmplayer and
11423           kaffeine since they have a working GStreamer backend in the KDE
11424           section.
11425
11426 2005-06-30  Wim Taymans  <wim@fluendo.com>
11427
11428         * CHANGES-0.9:
11429         * docs/design/draft-ghostpads.txt:
11430         * docs/design/draft-push-pull.txt:
11431         * docs/design/draft-query.txt:
11432         * docs/design/part-TODO.txt:
11433         * docs/design/part-query.txt:
11434         Added CHANGES-0.9 doc, updated status of other docs.
11435         
11436         * gst/gstquery.h:
11437         Remove "hmm" macro
11438
11439 2005-06-30  Wim Taymans  <wim@fluendo.com>
11440
11441         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11442         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11443         (gst_base_sink_change_state):
11444         * gst/base/gstbasesink.h:
11445         Some tweaks, only EOS and a buffer complete a preroll.
11446
11447 2005-06-30  Andy Wingo  <wingo@pobox.com>
11448
11449         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11450         activate_push down to the internal pad as well.
11451
11452 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11453
11454         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11455
11456         * gst/gsttaginterface.c:
11457           Some documentation fixes (#307394 and #307397).
11458
11459 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11460
11461         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11462
11463         * gst/gstvalue.c: (gst_value_intersect_list):
11464           Fix memleak (#309125).
11465
11466 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11467
11468         * docs/manual/advanced-dataaccess.xml:
11469           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11470         * docs/manual/basics-pads.xml:
11471           Add reference for filtered caps to above chapter.
11472
11473 2005-06-30  Wim Taymans  <wim@fluendo.com>
11474
11475         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11476         (gst_bin_change_state):
11477         Probes are gone.
11478         Lame attempt at making the state change function a bit
11479         more readable.
11480
11481 2005-06-30  Wim Taymans  <wim@fluendo.com>
11482
11483         * docs/design/part-clocks.txt:
11484         * docs/design/part-element-sink.txt:
11485         * docs/design/part-events.txt:
11486         * docs/design/part-preroll.txt:
11487         * docs/design/part-states.txt:
11488         Some more tweeks and additions to the docs.
11489
11490 2005-06-30  Wim Taymans  <wim@fluendo.com>
11491
11492         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11493         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11494         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11495         (gst_pad_check_pull_range), (gst_pad_get_range),
11496         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11497         * gst/gstpad.h:
11498         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11499         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11500         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11501         (gst_pad_remove_buffer_probe):
11502         Removed atomic operations, use existing LOCK.
11503         Move exception handling out of main code path.
11504
11505 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11506
11507         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11508         (silly_return_true_function), (gst_pad_class_init),
11509         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11510         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11511         (gst_pad_send_event):
11512           Fix accumulator, add default value by using _emitv() instead
11513           of _emit() for signal emission.
11514
11515 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11516
11517         * docs/manual/advanced-dataaccess.xml:
11518         * examples/manual/Makefile.am:
11519           Add probe example.
11520         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11521           Make work (??).
11522
11523 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11524
11525         * gst/elements/gstfilesink.c: (gst_filesink_render):
11526           Simplify code so that we don't have to handle short
11527           writes and return GST_FLOW_ERROR if an error occured.
11528
11529 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11530
11531         * docs/gst/gstreamer-docs.sgml:
11532           Remove probes more.
11533
11534 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11535
11536         * docs/gst/gstreamer-sections.txt:
11537         * docs/gst/tmpl/gstpad.sgml:
11538         * docs/gst/tmpl/gstprobe.sgml:
11539         * gst/Makefile.am:
11540         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11541         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11542         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11543         (gst_pad_push_event), (gst_pad_send_event):
11544         * gst/gstpad.h:
11545         * gst/gstutils.c: (gst_pad_add_data_probe),
11546         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11547         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11548         (gst_pad_remove_buffer_probe):
11549         * gst/gstutils.h:
11550           Remove old probes, add new g-signal-based probes and some utility
11551           functions.
11552
11553 2005-06-29  Edward Hervey  <edward@fluendo.com>
11554
11555         * gst/gstelementfactory.c:
11556         * gst/gstutils.h:
11557         * gst/gstutils.c:
11558         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11559         the definition to the header file.
11560
11561 2005-06-29  Andy Wingo  <wingo@pobox.com>
11562
11563         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11564         plugins from the source directory.
11565
11566 2005-06-29  Wim Taymans  <wim@fluendo.com>
11567
11568         * docs/gst/tmpl/gstbuffer.sgml:
11569         * docs/gst/tmpl/gstclock.sgml:
11570         Some fixings for blantently wrong text.
11571
11572 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11573
11574         * check/Makefile.am:
11575         * gst/gst.c: (add_path_func), (init_pre):
11576         * gst/gstregistry.c: (gst_registry_add_path):
11577           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11578           only scan the GST_PLUGIN_PATH locations, and not add
11579           system locations
11580
11581 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11582
11583         * docs/gst/gstreamer-sections.txt:
11584         * docs/gst/tmpl/gstbasesrc.sgml:
11585         * gst/gstelement.c:
11586         * gst/gstelement.h:
11587         * gst/gstevent.c:
11588         * gst/gstutils.c:
11589           doc fixes
11590
11591 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11592
11593         * docs/manual/advanced-autoplugging.xml:
11594           Fix autoplugging example.
11595
11596 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11597
11598         * docs/manual/advanced-autoplugging.xml:
11599         * docs/manual/mime-world.fig:
11600           Try to get autoplugging working, fix type detection. Fix text
11601           in hello-world image.
11602
11603 2005-06-29  Wim Taymans  <wim@fluendo.com>
11604
11605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11606         (gst_base_sink_change_state):
11607         Small debug line.
11608
11609         * gst/gstclock.h:
11610         map SIGNAL and BROADCAST to the right function.
11611
11612         * gst/gstobject.h:
11613         Remove redundant braces.
11614
11615         * gst/gstpad.c: (gst_pad_set_caps):
11616         Don't call setcaps function when reseting caps to NULL.
11617
11618         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11619         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11620         (gst_system_clock_id_unschedule):
11621         Use BROADCAST as this is what we do.
11622
11623 2005-06-29  Wim Taymans  <wim@fluendo.com>
11624
11625         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11626         We are actually prerolling before commiting the state
11627         change. 
11628
11629 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11630
11631         * docs/manual/advanced-clocks.xml:
11632         * docs/manual/advanced-interfaces.xml:
11633         * docs/manual/advanced-metadata.xml:
11634         * docs/manual/advanced-position.xml:
11635         * docs/manual/advanced-schedulers.xml:
11636         * docs/manual/advanced-threads.xml:
11637         * docs/manual/appendix-porting.xml:
11638         * docs/manual/basics-bins.xml:
11639         * docs/manual/basics-bus.xml:
11640         * docs/manual/basics-elements.xml:
11641         * docs/manual/basics-helloworld.xml:
11642         * docs/manual/basics-pads.xml:
11643         * docs/manual/highlevel-components.xml:
11644         * docs/manual/manual.xml:
11645         * docs/manual/thread.fig:
11646           Update (until threads/scheduling) Application Development Manual;
11647           remove GstThread, add GstBus, add simple porting checklist, add
11648           documentation for tag writing, clocks, make all examples until this
11649           part compile and run.
11650         * examples/manual/Makefile.am:
11651           Update from changes to Application Development Manual; add bus
11652           example, remove thread example.
11653
11654 2005-06-28  Wim Taymans  <wim@fluendo.com>
11655
11656         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11657         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11658         (gst_bus_source_dispatch):
11659         Add debugging messages.
11660         Make internal methods static.
11661         Handle the case where the bus is flushed in the handler.
11662         
11663         * gst/gstelement.c: (gst_element_get_bus):
11664         Fix refcount in _get_bus();
11665
11666         * gst/gstpipeline.c: (gst_pipeline_change_state),
11667         (gst_pipeline_get_clock_func):
11668         Clock refcounting fixes.
11669         Handle the case where preroll timed out more gracefully.
11670         
11671         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11672         Clean up the internal thread in dispose. This is needed
11673         for subclasses that actually get disposed.
11674         
11675         * gst/schedulers/threadscheduler.c:
11676         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11677         (gst_thread_scheduler_dispose):
11678         Free thread pool in dispose.
11679
11680 2005-06-28  Andy Wingo  <wingo@pobox.com>
11681
11682         * tests/network-clock-utils.scm (debug, print-event): New utils.
11683
11684         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11685         (*packet-loss*): Unified loss probability.
11686         (network-time): Report out-of-band events.
11687
11688         * tests/plot-data: Add support for out-of-band events. Hack it
11689         into this script instead of passing it down the pipe; should fix
11690         this later.
11691
11692 2005-06-28  Wim Taymans  <wim@fluendo.com>
11693
11694         * docs/gst/gstreamer.types:
11695         * docs/gst/tmpl/gstbasesrc.sgml:
11696         * docs/gst/tmpl/gstpad.sgml:
11697         Docs fixes.
11698
11699 2005-06-28  Wim Taymans  <wim@fluendo.com>
11700
11701         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11702         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11703         (gst_proxy_pad_do_fixatecaps):
11704         Correctly proxy the check_pull_range function.
11705
11706 2005-06-28  Andy Wingo  <wingo@pobox.com>
11707
11708         * tests/network-clock.scm: Removed need for slib.
11709         
11710 2005-06-28  Wim Taymans  <wim@fluendo.com>
11711
11712         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11713         (gst_basesink_preroll_queue_flush):
11714         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11715         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11716         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11717         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11718         (gst_proxy_pad_set_property):
11719         * gst/gstpad.c:
11720         * gst/gstpad.h:
11721         * gst/gstqueue.c: (gst_queue_init):
11722         The deprecated pad loop function is removed now.
11723
11724 2005-06-28  Andy Wingo  <wingo@pobox.com>
11725
11726         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11727         New parameters, simulate network packet loss.
11728
11729         * tests/network-clock-utils.scm: Initialize the RNG.
11730
11731 2005-06-28  Wim Taymans  <wim@fluendo.com>
11732
11733         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11734         (gst_basesink_event), (gst_basesink_deactivate):
11735         Flushing the preroll queue always needs to unlock the waiters.
11736
11737 2005-06-28  Edward Hervey  <edward@fluendo.com>
11738
11739         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11740         Wheen a seek was successful on a pipeline, set the stream_time to the
11741         seek offset in order to have a synchronized stream_time.
11742
11743 2005-06-28  Wim Taymans  <wim@fluendo.com>
11744
11745         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11746         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11747         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11748         (gst_proxy_pad_do_fixatecaps):
11749         Call wrapper function instead of just calling the function
11750         pointers. This takes care of any locking and whatmore.
11751
11752 2005-06-28  Wim Taymans  <wim@fluendo.com>
11753
11754         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11755         (gst_pad_pull_range):
11756         * gst/gstpad.h:
11757         CONNECTED -> LINKED.
11758
11759 2005-06-28  Andy Wingo  <wingo@pobox.com>
11760
11761         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11762         source-munging commit!!!
11763
11764         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11765         (gst_object_sink): Take gpointer arguments, not GstObject --
11766         avoids casts. Like GLib.
11767
11768         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11769         activate.
11770
11771 2005-06-27  Andy Wingo  <wingo@pobox.com>
11772
11773         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11774         remaining buffer.
11775
11776         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11777         returns a sorted copy of the trace list.
11778         (gst_alloc_trace_print_live): New API, only prints traces with
11779         live objects. Sort the list.
11780         (gst_alloc_trace_print_all): Sort the list.
11781         (gst_alloc_trace_print): Align columns.
11782
11783         * gst/elements/gstttypefindelement.c:
11784         * gst/elements/gsttee.c:
11785         * gst/base/gstbasesrc.c:
11786         * gst/base/gstbasesink.c:
11787         * gst/base/gstbasetransform.c:
11788         * gst/gstqueue.c: Adapt for pad activation changes.
11789
11790         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11791         sched.
11792         (gst_pipeline_dispose): Drop ref on sched.
11793
11794         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11795         (gst_pad_activate_default): Push mode by default.
11796         (pre_activate_switch, post_activate_switch): New stubs, things to
11797         do before and after switching activation modes on pads.
11798         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11799         the pad's activate function to choose which mode to activate.
11800         Shortcut on deactivation and call the right function directly.
11801         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11802         mode.
11803         (gst_pad_activate_push): New API, same for push mode.
11804         (gst_pad_set_activate_function) 
11805         (gst_pad_set_activatepull_function) 
11806         (gst_pad_set_activatepush_function): Setters for new API.
11807
11808         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11809         Trace all miniobjects.
11810         (gst_mini_object_make_writable): Unref the arg if we copy, like
11811         gst_caps_make_writable.
11812
11813         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11814
11815         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11816         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11817         Adapt for new pad API.
11818
11819         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11820
11821         * gst/gstelement.h:
11822         * gst/gstelement.c (gst_element_iterate_src_pads) 
11823         (gst_element_iterate_sink_pads): New API functions.
11824         
11825         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11826         should fold into gstiterator.c in some form.
11827         (gst_element_pads_activate): Simplified via use of fold and
11828         delegation of decisions to gstpad->activate.
11829
11830         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11831         help in debugging.
11832
11833         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11834         class once in init, like gstmessage. Didn't run into this issue
11835         but it seems correct. Don't initialize a trace, gstminiobject does
11836         that.
11837
11838         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11839         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11840         to the bus.
11841         (assert_live_count): New util function, uses alloc traces to check
11842         cleanup.
11843
11844         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11845         To be modified when unlink drops the internal pad.
11846
11847 2005-06-27  Wim Taymans  <wim@fluendo.com>
11848
11849         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11850         (gst_bin_change_state):
11851         Cleanup the get_state() function a little, make sure it
11852         iterates the same set of elements.
11853         Added stub iterate_state_order().
11854
11855 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11856
11857         * docs/gst/gstreamer-docs.sgml:
11858         * docs/gst/gstreamer-sections.txt:
11859         * docs/gst/gstreamer.types:
11860         * docs/gst/tmpl/gstbasesink.sgml:
11861         * docs/gst/tmpl/gstbasesrc.sgml:
11862         * docs/gst/tmpl/gstbasetransform.sgml:
11863         * docs/gst/tmpl/gstelement.sgml:
11864         * docs/gst/tmpl/gstiterator.sgml:
11865         * gst/base/gstbasesrc.c:
11866         * gst/base/gstbasesrc.h:
11867         * gst/base/gstbasetransform.h:
11868         * gst/gstelement.c:
11869         * gst/gstiterator.h:
11870           adding basetransform and iterator docs
11871
11872 2005-06-27  Andy Wingo  <wingo@pobox.com>
11873
11874         * docs/design/part-activation.txt: Notes on how activation should
11875         work -- not quite implemented yet.
11876
11877 2005-06-25  Wim Taymans  <wim@fluendo.com>
11878
11879         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11880         At least get the chain function correct, needs more
11881         fixing.
11882
11883 2005-06-25  Wim Taymans  <wim@fluendo.com>
11884
11885         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11886         (gst_basesink_handle_object), (gst_basesink_event),
11887         (gst_basesink_do_sync), (gst_basesink_handle_event),
11888         (gst_basesink_change_state):
11889         * gst/gsttask.h:
11890         Right, two problems here: ghostpads don't take locks and
11891         glib _rec_mutex_lock_full() with depth==0 still locks.
11892         Catch illegal locking and g_warn them.
11893
11894 2005-06-25  Wim Taymans  <wim@fluendo.com>
11895
11896         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11897         Have to check for completion now...
11898
11899 2005-06-25  Wim Taymans  <wim@fluendo.com>
11900
11901         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11902         (gst_basesink_handle_object), (gst_basesink_event),
11903         (gst_basesink_do_sync), (gst_basesink_handle_event),
11904         (gst_basesink_change_state):
11905         * gst/gstpad.h:
11906         Unlock STREAM_LOCK whatever the recursion was.
11907
11908 2005-06-25  Wim Taymans  <wim@fluendo.com>
11909
11910         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11911         (gst_basesink_preroll_queue_empty),
11912         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11913         (gst_basesink_event), (gst_basesink_do_sync),
11914         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11915         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11916         (gst_basesink_change_state):
11917         Reworked the base sink, handle event and buffer serialisation
11918         correctly and removed possible deadlock.
11919         Handle EOS correctly.
11920
11921 2005-06-25  Wim Taymans  <wim@fluendo.com>
11922
11923         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11924         (gst_pipeline_change_state):
11925         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11926         Allow elements to post EOS in the state change function.
11927         Fix up -launch, make it exit the poll loop when the
11928         pipeline actually changed state.
11929         Fix up warning parsing in -launch.
11930
11931 2005-06-25  Wim Taymans  <wim@fluendo.com>
11932
11933         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11934         (gst_tee_sink_activate):
11935         Core takes STREAM_LOCK for us now.
11936
11937 2005-06-25  Wim Taymans  <wim@fluendo.com>
11938
11939         * gst/gstelement.c: (gst_element_get_state_func),
11940         (gst_element_set_state):
11941         * gst/gstelement.h:
11942         * gst/gstmessage.c: (gst_message_parse_error),
11943         (gst_message_parse_warning):
11944         Keep track of current target state while performing a state
11945         change so that subclasses can do something interesting.
11946         Fix parsing of warning/error messages when GError is NULL.
11947
11948 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11949
11950         * docs/gst/Makefile.am:
11951         * docs/gst/gstreamer-docs.sgml:
11952         * docs/gst/gstreamer-sections.txt:
11953         * docs/gst/gstreamer.types:
11954         * docs/gst/tmpl/gstbasesink.sgml:
11955         * docs/gst/tmpl/gstbasesrc.sgml:
11956         * docs/gst/tmpl/gstbin.sgml:
11957         * docs/gst/tmpl/gstcompat.sgml:
11958         * docs/gst/tmpl/gstfakesink.sgml:
11959         * docs/gst/tmpl/gstfakesrc.sgml:
11960         * docs/gst/tmpl/gstfilesink.sgml:
11961         * docs/gst/tmpl/gstfilesrc.sgml:
11962         * docs/gst/tmpl/gstindex.sgml:
11963         * docs/manual/appendix-quotes.xml:
11964         * gst/base/gstbasesrc.h:
11965         * gst/elements/gstfakesrc.h:
11966         * gst/gstmessage.h:
11967           start pulling in base classes and elements in our docs
11968
11969 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11970
11971         * docs/gst/Makefile.am:
11972         * docs/libs/Makefile.am:
11973           fixed make distcheck with gtk-doc 1.3
11974
11975 2005-06-23  Wim Taymans  <wim@fluendo.com>
11976
11977         * gst/gstelement.c: (gst_element_get_state_func),
11978         (gst_element_set_state), (gst_element_change_state):
11979         When the state did not change, also report NO_PREROLL
11980         when it matters.
11981
11982 2005-06-23  Wim Taymans  <wim@fluendo.com>
11983
11984         * gst/gstpad.c: (gst_pad_event_default):
11985         * gst/gstqueue.c: (gst_queue_loop):
11986         No unsafe task pausing please.
11987
11988 2005-06-23  Wim Taymans  <wim@fluendo.com>
11989
11990         * gst/schedulers/threadscheduler.c:
11991         (gst_thread_scheduler_task_start),
11992         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11993         Ref the task before pushing it on the threadpool. This
11994         makes sure that we have a ref when the threadfunction is
11995         actually called.
11996
11997 2005-06-23  Andy Wingo  <wingo@pobox.com>
11998
11999         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12000         offset is greater than the file's size.
12001
12002         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12003         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12004         * gst/gstobject.c (gst_object_class_init): Make the class lock
12005         recursive. Wim won't let me drop deep_notify. Decodebin works
12006         again, whoopdy doo.
12007
12008         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12009         internal pad, and hacks accordingly. Doesn't do it on the target
12010         pad because we change its caps. Probably catches all cases of
12011         interest tho.
12012         (gst_ghost_pad_set_property): Connect to notify::caps as
12013         appropritate.
12014
12015         * tests/network-clock.scm (plot-simulation): Pipe data to the
12016         elite python skript.
12017
12018         * tests/network-clock-utils.scm (define-parameter): New macro,
12019         defines a parameter that can be set via the command line.
12020         (set-parameter!, parse-parameter-arguments): Command line args
12021         parser.
12022
12023         * tests/plot-data: Simple matplotlib-based plotter, takes input on
12024         stdin.
12025
12026 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
12027
12028         * gst/elements/gsttypefindelement.c:
12029         (gst_type_find_element_handle_event):
12030           Don't restart typefinding on a discont.
12031         * gst/gstelement.c: (gst_element_set_state):
12032           Debug spelling fix.
12033         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
12034           Allow changing mode of an active pad.
12035           Debug output fixes.
12036         * gst/registries/gstlibxmlregistry.c: (load_feature):
12037           Don't cast a static pad template to a normal pad template.
12038
12039 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12040
12041         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12042         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12043           remove gst_strtoll completely, since it didn't actually do
12044           anything more than what g_ascii_strtoull already does.
12045           check for range errors when deserializing
12046           do a cast for the unsigned cases; but further fixing needs
12047           a decision on what the interpretation of "(int)" and
12048           deserialization should be for values that fall outside the
12049           type's boundaries (ie, refuse, or interpret as casting)
12050
12051 2005-06-23  Wim Taymans  <wim@fluendo.com>
12052
12053         * check/Makefile.am:
12054         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
12055         * docs/design/part-live-source.txt:
12056         * docs/design/part-states.txt:
12057         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12058         (gst_basesrc_set_live), (gst_basesrc_is_live),
12059         (gst_basesrc_get_range), (gst_basesrc_activate),
12060         (gst_basesrc_change_state):
12061         * gst/base/gstbasesrc.h:
12062         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12063         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12064         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
12065         * gst/gstelement.c: (gst_element_get_state_func),
12066         (gst_element_set_state):
12067         * gst/gstelement.h:
12068         * gst/gsttypes.h:
12069         * tools/gst-launch.c: (event_loop), (main):
12070         Added support for live sources and other elements that
12071         cannot do preroll.
12072         Updated design docs, added live-source design doc.
12073         Implemented live source functionality in basesrc
12074         Fix error condition in _bin_get_state()
12075         Implement live source handling in -launch.
12076         Added check for live sources.
12077         Fixed case in GstBin where elements were changed state
12078         multiple times.
12079
12080
12081 2005-06-23  Andy Wingo  <wingo@pobox.com>
12082
12083         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
12084         borken refcounting.
12085
12086         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
12087         gst_caps_replace takes care of this for us.
12088
12089         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
12090         gst_pad_set_caps on the target, not just its setcaps() function.
12091
12092         * tests/network-clock.scm: 
12093         * tests/network-clock-utils.scm: A network clock simulator.
12094         Something of an algorithmic testbed before doing something in C.
12095
12096 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12097
12098         * check/Makefile.am:
12099         * check/gst/capslist.h:
12100           copy over from 0.8, and add two with bitmasks specified with
12101           (int) 0xFF...
12102         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12103           add test to parse everything from capslist.h
12104         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
12105         (main):
12106           add test for structure deserialization
12107         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12108           add tests for deserialization of strings to int types
12109         * gst/gststructure.c: (gst_structure_nth_field_name):
12110         * gst/gststructure.h:
12111           add a way to get the name of a field referenced by index
12112         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12113           instead of checking if the resulting long long lies between
12114           min and max, we check if the long long would fit into
12115           a number of bytes for the final type.
12116           This fixes cases where a string represents 2^32 - 1, which
12117           when cast to int would be the (valid) -1, but is bigger than
12118           G_MAXINT
12119
12120 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12121
12122         * gst/parse/grammar.y:
12123           add a log line for type deserialization
12124
12125 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12126
12127         * check/gst/gstvalue.c: (START_TEST):
12128         * gst/gstvalue.c: (gst_value_deserialize):
12129           return long long, not int, so gint64 deserialization actually
12130           works.  Is there any flag that makes the compiler check this ?
12131           Fixes #308559
12132
12133 2005-06-22  Wim Taymans  <wim@fluendo.com>
12134
12135         * gst/gstbuffer.h:
12136         Added convenience macros for setting buffers in GValue.
12137
12138 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12139
12140         * check/gst/.cvsignore:
12141         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12142           add a test deserializing int64, and comment part out because
12143           it fails, yay !
12144
12145 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12146
12147         * check/Makefile.am:
12148         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
12149         * testsuite/Makefile.am:
12150         * testsuite/caps/Makefile.am:
12151         * testsuite/caps/value_serialize.c:
12152         * testsuite/test_gst_init.c:
12153           move a value_serialize test over
12154
12155 2005-06-20  Wim Taymans  <wim@fluendo.com>
12156
12157         * gst/gstpad.c:
12158         Small doc updates.
12159         
12160         * gst/gstvalue.c: (gst_value_compare_buffer),
12161         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
12162         (gst_value_compare_flags), (gst_value_serialize_flags),
12163         (gst_value_deserialize_flags), (_gst_value_initialize):
12164         Fix serialisation of buffers, they are not boxed types anymore
12165
12166 2005-06-20  Wim Taymans  <wim@fluendo.com>
12167
12168         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12169         Testcase to show error in buffer-on-caps serialisation.
12170
12171 2005-06-20  Andy Wingo  <wingo@pobox.com>
12172
12173         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
12174         will be adding to later.
12175
12176         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
12177         if its socks fill with rocks.
12178         (gst_system_clock_obtain): Set the name on object construction.
12179         Avoid double-checked locking.
12180
12181 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
12182
12183         * gst/gsturi.c: (gst_element_make_from_uri):
12184           Fix potential endless loop.
12185
12186 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12187
12188         * check/Makefile.am:
12189           add gsttag
12190         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
12191         (main):
12192           move over from testsuite dir and clean up
12193         * configure.ac:
12194         * gst/gsttag.c:
12195         * testsuite/Makefile.am:
12196         * testsuite/tags/.cvsignore:
12197         * testsuite/tags/Makefile.am:
12198         * testsuite/tags/merge.c:
12199           remove testsuite/tags
12200
12201 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12202
12203         * docs/gst/gstreamer-sections.txt:
12204         * docs/gst/tmpl/gstenumtypes.sgml:
12205         * win32/gstenumtypes.c:
12206           clean up documentation build a little
12207
12208 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12209
12210         * check/gstcheck.h:
12211           add macros for checking refcounts on objects and caps
12212         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
12213           add some more unit tests
12214         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12215         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
12216           fix leaked refcounts (I hope :)) so unittest works
12217         * gst/gstpad.h:
12218           whitespace removal
12219
12220 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12221
12222         * configure.ac: back to HEAD
12223
12224 === release 0.9.1 ===
12225
12226 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12227
12228         * NEWS:
12229         * RELEASE:
12230           updated
12231
12232 2005-06-17  Andy Wingo  <wingo@pobox.com>
12233
12234         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
12235         assert; it's always possible that the pad gets deactivated in
12236         between the checks in gstpad.c and the implementation. Rely on
12237         finish_preroll() to return a FLUSHING or similar instead of on the
12238         assert.
12239         
12240         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
12241         clock and post an EOS message if we come out of finish_preroll in
12242         the playing state.
12243
12244 2005-06-16  David Schleef  <ds@schleef.org>
12245
12246         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12247         (gst_capsfilter_set_property): Allow NULL as possible value
12248         for filter_caps property, indicating GST_CAPS_ANY.
12249
12250 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12251
12252         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12253           fix debug output
12254         * gst/schedulers/Makefile.am:
12255           use libgst prefix
12256         * gstreamer.spec.in:
12257           fix spec for it
12258
12259 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12260
12261         * gstreamer.spec.in:
12262           clean up
12263
12264 2005-06-08  Andy Wingo  <wingo@pobox.com>
12265
12266         * gst/gstutils.c: RPAD fixes all around.
12267         (gst_element_link_pads): Refcounting fixes.
12268
12269         * tools/gst-inspect.c:
12270         * tools/gst-xmlinspect.c:
12271         * parse/grammar.y:
12272         * gst/base/gsttypefindhelper.c:
12273         * gst/base/gstbasesink.c:
12274         * gst/gstqueue.c: RPAD fixes.
12275
12276         * gst/gstghostpad.h:
12277         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12278         pads. The tricky thing is they provide both source and sink
12279         interfaces, since they proxy the internal pad for the external
12280         pad, and vice versa. Implement with lower-level ProxyPad objects,
12281         with the interior proxy pad as a child of the exterior ghost pad.
12282         Should write a doc on this.
12283         
12284         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12285         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12286         gst_object API.
12287         
12288         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12289         pads are real pads. No ghost pads in this file. Not documenting
12290         the myriad s/RPAD/PAD/ and REALIZE fixes.
12291         (gst_pad_class_init): Add properties for "direction" and
12292         "template". Both are construct-only, so they can't change during
12293         the life of the pad. Fixes properly deriving from GstPad.
12294         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12295         derived objects, just set properties when creating the objects via
12296         g_object_new.
12297         (gst_pad_get_parent): Implement as a function, return NULL if the
12298         parent is not an element.
12299         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12300         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12301         
12302         * gst/gstobject.c (gst_object_class_init): Make name a construct
12303         property. Don't set it in the object init.
12304
12305         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12306         with UNKNOWN direction.
12307         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12308         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12309         (gst_element_remove_pad): Remove ghost-pad special cases.
12310         (gst_element_pads_activate): Remove rpad cruft.
12311
12312         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12313         catch the pad's-parent-not-an-element case.
12314
12315         * gst/gst.h: Include gstghostpad.h.
12316
12317         * gst/gst.c (init_post): No more real, ghost pads.
12318
12319         * gst/Makefile.am: Add gstghostpad.[ch].
12320
12321         * check/Makefile.am:
12322         * check/gst/gstbin.c:
12323         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12324         into a bin creates ghost pads, and that the refcounts are right.
12325         Partly moved from gstbin.c.
12326
12327 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12328
12329         * check/gst-libs/.cvsignore:
12330         * check/gst/.cvsignore:
12331         * check/pipelines/.cvsignore:
12332           ignore more
12333         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12334         (START_TEST), (cleanup_suite), (main):
12335           add some tests related to cleanup after running pipelines
12336
12337 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12338
12339         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12340           add a testsuite for GstBuffer
12341
12342 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12343
12344         * gst/gstminiobject.h:
12345           add defines for accessing the refcount
12346
12347 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12348
12349         * Makefile.am: added support for html unit test coverage reports
12350
12351 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12352
12353         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12354           Free existing caps if the capsfilter changes. Add a FIXME about
12355           setting those caps on the pads.
12356
12357         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12358           Before adding a ghost pad to a parent bin, check that there isn't
12359           already one for the element on the bin. Prevents infinite recursion
12360           when using decodebin in parse pipelines. Andy says he'll rewrite the
12361           way this works anyway, so ignore the hack.
12362
12363 2005-06-02  Andy Wingo  <wingo@pobox.com>
12364
12365         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12366         file size, pass it on to the type find helper.
12367
12368         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12369         segment_start and segment_end properly according to the seek
12370         method. Segment_end is still a bit flaky because offset can be
12371         negative for CUR and END cases, but it takes -1 as an "unset"
12372         value.
12373
12374 2005-06-02  Wim Taymans  <wim@fluendo.com>
12375
12376         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12377         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12378         (gst_basesink_activate):
12379         * gst/base/gstbasesink.h:
12380         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12381         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12382         (gst_pad_query), (gst_pad_start_task):
12383         * gst/gstpad.h:
12384         * gst/gstqueue.c: (gst_queue_bufferalloc),
12385         (gst_queue_handle_sink_event), (gst_queue_chain):
12386         Bufferalloc: return GstFlowReturn to more accuratly report
12387         why allocation failed.
12388
12389 2005-06-02  Wim Taymans  <wim@fluendo.com>
12390
12391         * gst/gstpipeline.c: (gst_pipeline_send_event):
12392         Take snapshot of state without blocking.
12393
12394 2005-06-02  Wim Taymans  <wim@fluendo.com>
12395
12396         * docs/design/part-TODO.txt:
12397         * docs/design/part-caps.txt:
12398         * docs/design/part-clocks.txt:
12399         * docs/design/part-negotiation.txt:
12400         * docs/design/part-preroll.txt:
12401         Small doc updates 
12402
12403 2005-05-30  Wim Taymans  <wim@fluendo.com>
12404
12405         * gst/elements/gstidentity.c: (gst_identity_event),
12406         (gst_identity_transform), (gst_identity_get_property):
12407         Protect last_message property as it is accessed from
12408         multiple threads.
12409
12410 2005-05-30  Wim Taymans  <wim@fluendo.com>
12411
12412         * gst/gstelement.c: (gst_element_init),
12413         (gst_element_pads_activate), (gst_element_change_state):
12414         Slicker pad activation code.
12415
12416 2005-05-30  Wim Taymans  <wim@fluendo.com>
12417
12418         * gst/Makefile.am:
12419         * gst/gstelement.h:
12420         * gst/gstelementfactory.h:
12421         * gst/gsttypes.h:
12422         Move elementfactory methods to separate .h file.
12423
12424 2005-05-30  Wim Taymans  <wim@fluendo.com>
12425
12426         * docs/design/part-overview.txt:
12427         * gst/gstsystemclock.h:
12428         Small typo fixes, doc updates.
12429
12430 2005-05-30  Wim Taymans  <wim@fluendo.com>
12431
12432         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12433         (init_popt_callback):
12434         Remove cpu-opt flag.
12435
12436 2005-05-30  Wim Taymans  <wim@fluendo.com>
12437
12438         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12439         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12440         * gst/gstbuffer.h:
12441         Avoid typechecking in places where not needed.
12442         Added accessor for malloc_data.
12443
12444 2005-05-30  Wim Taymans  <wim@fluendo.com>
12445
12446         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12447         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12448         (gst_pad_configure_sink), (gst_pad_configure_src),
12449         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12450         (gst_pad_start_task):
12451         Propagate errors from _set_caps() in configure_src/sink
12452         functions instead of returning TRUE.
12453         FLUSH events can travel up and downstream
12454
12455
12456 2005-05-30  Wim Taymans  <wim@fluendo.com>
12457
12458         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12459         (gst_basesink_activate):
12460         Handle EOS in preroll.
12461
12462 2005-05-30  Wim Taymans  <wim@fluendo.com>
12463
12464         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12465         (gst_queue_loop), (gst_queue_handle_src_event):
12466         Remove old pieces of code
12467         Flushing the queue in an upstream event is a very bad idea.
12468
12469 2005-05-26  Andy Wingo  <wingo@pobox.com>
12470
12471         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12472         gst_value_set_mini_object so as to add a ref on the object (which
12473         will be removed when the value is unset).
12474
12475         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12476         arg type in ::handoff.
12477
12478         * gst/gstelement.c (gst_element_change_state): Also deactivate
12479         pads in READY->NULL, just in case the element didn't make it to
12480         PAUSED. Wingo tested, Wim approved.
12481
12482 2005-05-26  Wim Taymans  <wim@fluendo.com>
12483
12484         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12485         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12486         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12487         A flushing pad cannot be used to alloc_buffer from.
12488
12489 2005-05-26  Wim Taymans  <wim@fluendo.com>
12490
12491         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12492         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12493         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12494         (gst_bus_create_watch), (gst_bus_add_watch_full):
12495         * gst/gstbus.h:
12496         Implement a real GSource and use g_main_context_wakeup() to
12497         signal new messages instead of the socketpair.
12498
12499 2005-05-25  Wim Taymans  <wim@fluendo.com>
12500
12501         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12502         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12503         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12504         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12505         (gst_pad_send_event), (gst_pad_start_task):
12506         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12507         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12508         (gst_queue_sink_activate), (gst_queue_src_activate),
12509         (gst_queue_change_state):
12510         * gst/gstqueue.h:
12511         Fix state changes for non sinks. We now change sinks, then elements
12512         with unconnected srcpads, then the rest.
12513         More efficient queue unlocking in flush and state changes.
12514         Set the pad activate mode even if it does not have an activate
12515         function.
12516
12517 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12518
12519         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12520           Don't go in pull mode for non-seekable sources.
12521         * gst/elements/gsttypefindelement.h:
12522         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12523         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12524         (free_entry), (stop_typefinding),
12525         (gst_type_find_element_handle_event), (find_peek),
12526         (gst_type_find_element_chain), (do_pull_typefind),
12527         (gst_type_find_element_change_state):
12528           Allow typefinding (w/o seeking) in push-mode, simplified version
12529           of what was in 0.8.
12530         * gst/gstutils.c: (gst_buffer_join):
12531         * gst/gstutils.h:
12532           gst_buffer_join() from 0.8.
12533
12534 2005-05-25  Wim Taymans  <wim@fluendo.com>
12535
12536         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12537         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12538         (gst_pad_send_event), (gst_pad_start_task):
12539         Disable attempt at mode switching until it is figured out.
12540
12541 2005-05-25  Wim Taymans  <wim@fluendo.com>
12542
12543         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12544         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12545         (gst_basesink_finish_preroll), (gst_basesink_chain),
12546         (gst_basesink_loop), (gst_basesink_activate),
12547         (gst_basesink_change_state):
12548         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12549         (gst_basesrc_get_range), (gst_basesrc_loop),
12550         (gst_basesrc_activate):
12551         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12552         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12553         (gst_real_pad_init), (gst_real_pad_set_property),
12554         (gst_real_pad_get_property), (gst_pad_set_active),
12555         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12556         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12557         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12558         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12559         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12560         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12561         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12562         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12563         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12564         (gst_pad_stop_task):
12565         * gst/gstpad.h:
12566         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12567         (gst_queue_loop), (gst_queue_src_activate):
12568         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12569         (gst_task_get_state):
12570         * gst/gsttask.h:
12571         * gst/schedulers/threadscheduler.c:
12572         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12573         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12574         in task function.
12575         Remove ACTIVE pad flag, use FLUSHING everywhere
12576         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12577         functions.
12578         Add locks around IS_FLUSHING when reading.
12579         Take STREAM lock in chain(), get_range() functions so plugins
12580         don't need to take it anymore.
12581         
12582
12583
12584 2005-05-25  Wim Taymans  <wim@fluendo.com>
12585
12586         * tools/gst-launch.c: (event_loop):
12587         Unref message after using its contents instead of
12588         before.
12589
12590 2005-05-24  Wim Taymans  <wim@fluendo.com>
12591
12592         * docs/design/draft-ghostpads.txt:
12593         * docs/design/draft-push-pull.txt:
12594         * docs/design/draft-query.txt:
12595         * docs/design/part-overview.txt:
12596         Docs updates, added general overview doc.
12597
12598 2005-05-21  David Schleef  <ds@schleef.org>
12599
12600         * docs/gst/tmpl/old/GstBin.sgml:
12601         * docs/gst/tmpl/old/GstBuffer.sgml:
12602         * docs/gst/tmpl/old/GstCaps.sgml:
12603         * docs/gst/tmpl/old/GstClock.sgml:
12604         * docs/gst/tmpl/old/GstCompat.sgml:
12605         * docs/gst/tmpl/old/GstData.sgml:
12606         * docs/gst/tmpl/old/GstElement.sgml:
12607         * docs/gst/tmpl/old/GstEvent.sgml:
12608         * docs/gst/tmpl/old/GstIndex.sgml:
12609         * docs/gst/tmpl/old/GstStructure.sgml:
12610         * docs/gst/tmpl/old/GstTag.sgml:
12611         * docs/gst/tmpl/old/cothreads.sgml:
12612         * docs/gst/tmpl/old/cothreads_compat.sgml:
12613         * docs/gst/tmpl/old/gettext.sgml:
12614         * docs/gst/tmpl/old/gobject2gtk.sgml:
12615         * docs/gst/tmpl/old/grammar.tab.sgml:
12616         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12617         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12618         * docs/gst/tmpl/old/gst_private.sgml:
12619         * docs/gst/tmpl/old/gstaggregator.sgml:
12620         * docs/gst/tmpl/old/gstarch.sgml:
12621         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12622         * docs/gst/tmpl/old/gstbufferstore.sgml:
12623         * docs/gst/tmpl/old/gstdata_private.sgml:
12624         * docs/gst/tmpl/old/gstdisksink.sgml:
12625         * docs/gst/tmpl/old/gstdisksrc.sgml:
12626         * docs/gst/tmpl/old/gstelementfactory.sgml:
12627         * docs/gst/tmpl/old/gstextratypes.sgml:
12628         * docs/gst/tmpl/old/gstfakesink.sgml:
12629         * docs/gst/tmpl/old/gstfakesrc.sgml:
12630         * docs/gst/tmpl/old/gstfdsink.sgml:
12631         * docs/gst/tmpl/old/gstfdsrc.sgml:
12632         * docs/gst/tmpl/old/gstfilesink.sgml:
12633         * docs/gst/tmpl/old/gstfilesrc.sgml:
12634         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12635         * docs/gst/tmpl/old/gstidentity.sgml:
12636         * docs/gst/tmpl/old/gstindexfactory.sgml:
12637         * docs/gst/tmpl/old/gstmarshal.sgml:
12638         * docs/gst/tmpl/old/gstmd5sink.sgml:
12639         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12640         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12641         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12642         * docs/gst/tmpl/old/gstpipefilter.sgml:
12643         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12644         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12645         * docs/gst/tmpl/old/gstshaper.sgml:
12646         * docs/gst/tmpl/old/gstspider.sgml:
12647         * docs/gst/tmpl/old/gstspideridentity.sgml:
12648         * docs/gst/tmpl/old/gststatistics.sgml:
12649         * docs/gst/tmpl/old/gsttee.sgml:
12650         * docs/gst/tmpl/old/gsttimecache.sgml:
12651         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12652         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12653         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12654         * docs/gst/tmpl/old/types.sgml:
12655           I didn't intend to add these or check them in.
12656
12657 2005-05-19  David Schleef  <ds@schleef.org>
12658
12659         * configure.ac: Use -no-common everywhere.  In a sane world, it
12660           would be the default in libtool, because without it, you can't
12661           build DLLs on Windows.
12662         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12663         * docs/gst/gstreamer-sections.txt:
12664         * docs/gst/tmpl/gstcpu.sgml:
12665         * docs/gst/tmpl/gstdata.sgml:
12666         * docs/gst/tmpl/gstthread.sgml:
12667
12668 2005-05-19  David Schleef  <ds@schleef.org>
12669
12670         * gst/gstminiobject.c: (gst_value_set_mini_object),
12671         (gst_value_take_mini_object), (gst_value_get_mini_object):
12672         * gst/gstminiobject.h: Add GValue set/get functions.
12673
12674 2005-05-19  Wim Taymans  <wim@fluendo.com>
12675
12676         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12677         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12678         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12679         * gst/gstbuffer.h:
12680         * gst/gstbus.c: (gst_bus_post):
12681         * gst/gstelement.c: (gst_element_get_random_pad):
12682         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12683         Make subbufer unref the parent in finalize.
12684         some more debugging info.
12685
12686
12687 2005-05-19  Wim Taymans  <wim@fluendo.com>
12688
12689         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12690         (gst_basesink_init), (gst_basesink_finalize),
12691         (gst_basesink_activate), (gst_basesink_change_state):
12692         Don't free preroll queue too early.
12693
12694 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12695
12696         * gst/Makefile.am:
12697         * gst/ROADMAP:
12698           Hi, I'm outdated. Please shoot me.
12699
12700 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12701
12702         * gst/gstpipeline.c: (gst_pipeline_send_event):
12703           Do not access variables after they have been deleted.
12704
12705 2005-05-19  Wim Taymans  <wim@fluendo.com>
12706
12707         * tools/gst-inspect.c: (print_plugin_features):
12708         A plugin feature does unfortunatly not use the
12709         object name yet...
12710
12711 2005-05-18  Wim Taymans  <wim@fluendo.com>
12712
12713         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12714         Port _span() functions to new subbuffers.
12715
12716 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12717
12718         * gst/gstbin.c: (gst_bin_add_func):
12719           Fix clock settery in bins when adding kids after the clock has
12720           been selected.
12721
12722 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12723
12724         * gst/elements/gstidentity.c: (gst_identity_class_init):
12725           Workaround until signals support GstMiniObject.
12726
12727 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12728
12729         * gst/gstbuffer.c:
12730         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12731
12732 2005-05-18  Wim Taymans  <wim@fluendo.com>
12733
12734         * gst/base/Makefile.am:
12735         * gst/base/gstadapter.c: (gst_adapter_base_init),
12736         (gst_adapter_class_init), (gst_adapter_init),
12737         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12738         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12739         (gst_adapter_flush), (gst_adapter_available),
12740         (gst_adapter_available_fast):
12741         * gst/base/gstadapter.h:
12742         Ported and added adapter to the base classes.
12743
12744 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12745
12746         * gst/gst.c:
12747         * gst/gstmessage.c:
12748           Make sure the class is reffed/unreffed once before threads can be
12749           used.  Fixes #304551.
12750
12751 2005-05-17  Wim Taymans  <wim@fluendo.com>
12752
12753         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12754         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12755         * gst/gstminiobject.c: (gst_mini_object_get_type),
12756         (gst_mini_object_free):
12757         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12758         (gst_pad_push), (gst_pad_push_event):
12759         * gst/gstqueue.c: (gst_queue_change_state):
12760         Don't queue buffers in basesink when we are flushing.
12761         Unref buffer when flushing in basesink.
12762         Flush queue when going to READY
12763         Unref buffer when _push() returns an error.
12764         Don't free MiniObject instance when refcount is incremented
12765         in _finalize() so that we can recover objects.
12766
12767 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12768
12769         * docs/manual/advanced-schedulers.xml:
12770         * docs/manual/appendix-checklist.xml:
12771         * docs/pwg/advanced-clock.xml:
12772         * docs/pwg/advanced-interfaces.xml:
12773         * docs/pwg/advanced-request.xml:
12774         * docs/pwg/advanced-types.xml:
12775         * docs/pwg/intro-preface.xml:
12776         * examples/plugins/example.c: (gst_example_get_type),
12777         (gst_example_class_init), (gst_example_chain),
12778         (gst_example_set_property), (gst_example_get_property),
12779         (gst_example_change_state), (plugin_init):
12780         * examples/plugins/example.h:
12781           small doc fixes
12782
12783 2005-05-17  Wim Taymans  <wim@fluendo.com>
12784
12785         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12786         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12787         * gst/gstqueue.c: (gst_queue_change_state):
12788         Clear queue when going to READY.
12789         Remove IN_SETCAPS flag too.
12790
12791 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12792
12793         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12794           Remove implicit cast from gboolean to GstElementStateReturn;
12795           make sure we still return failure in paused => ready case if
12796           the parent class fails to change state and our own stop 
12797           vfunc succeeds.
12798
12799 2005-05-17  Wim Taymans  <wim@fluendo.com>
12800
12801         * tools/gst-launch.c: (event_loop):
12802         Message was unreffed too soon.
12803
12804 2005-05-16  Andy Wingo  <wingo@pobox.com>
12805
12806         * gst/gstbin.c (sink_iterator_filter): Err... um...
12807
12808         * check/gst/gstbin.c (test_ghost_pads): New test for the
12809         ghosting-if-elements-not-in-same-bin behavior.
12810
12811 2005-05-16  David Schleef  <ds@schleef.org>
12812
12813         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12814         accessing refcount directly.
12815
12816 2005-05-15  David Schleef  <ds@schleef.org>
12817
12818         * check/Makefile.am: remove GstData checks
12819         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12820         * gst/Makefile.am: add miniobject, remove data
12821         * gst/gst.h: add miniobject, remove data
12822         * gst/gstdata.c: remove
12823         * gst/gstdata.h: remove
12824         * gst/gstdata_private.h: remove
12825         * gst/gsttypes.h: remove GstEvent and GstMessage
12826         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12827         * gst/gstmarshal.list: change BOXED -> OBJECT
12828
12829         Implement GstMiniObject.
12830         * gst/gstminiobject.c:
12831         * gst/gstminiobject.h:
12832
12833         Modify to be subclasses of GstMiniObject.
12834         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12835         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12836         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12837         (gst_subbuffer_get_type), (gst_subbuffer_init),
12838         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12839         (gst_buffer_span):
12840         * gst/gstbuffer.h:
12841         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12842         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12843         (_gst_event_copy), (gst_event_new):
12844         * gst/gstevent.h:
12845         * gst/gstmessage.c: (_gst_message_initialize),
12846         (gst_message_get_type), (gst_message_class_init),
12847         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12848         (gst_message_new), (gst_message_new_error),
12849         (gst_message_new_warning), (gst_message_new_tag),
12850         (gst_message_new_state_changed), (gst_message_new_application):
12851         * gst/gstmessage.h:
12852         * gst/gstprobe.c: (gst_probe_perform),
12853         (gst_probe_dispatcher_dispatch):
12854         * gst/gstprobe.h:
12855         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12856         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12857         (_gst_query_copy), (gst_query_new):
12858
12859         Update elements for GstData -> GstMiniObject changes
12860         * gst/gstquery.h:
12861         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12862         (gst_queue_chain), (gst_queue_loop):
12863         * gst/elements/gstbufferstore.c:
12864         (gst_buffer_store_add_buffer_func),
12865         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12866         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12867         (gst_fakesink_render):
12868         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12869         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12870         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12871         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12872         (gst_filesrc_create_read):
12873         * gst/elements/gstidentity.c: (gst_identity_class_init):
12874         * gst/elements/gsttypefindelement.c:
12875         (gst_type_find_element_src_event), (free_entry_buffers),
12876         (gst_type_find_element_handle_event):
12877         * libs/gst/dataprotocol/dataprotocol.c:
12878         (gst_dp_header_from_buffer):
12879         * libs/gst/dataprotocol/dataprotocol.h:
12880         * libs/gst/dataprotocol/dp-private.h:
12881
12882 2005-05-15  David Schleef  <ds@schleef.org>
12883
12884         * gst/elements/gstelements.c: Don't include headers that were
12885         just removed.
12886
12887 2005-05-15  David Schleef  <ds@schleef.org>
12888
12889         * gst/elements/Makefile.am: Remove some elements that don't
12890         need to be in the core (or even exist at all).
12891         * gst/elements/gstaggregator.c:
12892         * gst/elements/gstaggregator.h:
12893         * gst/elements/gstmd5sink.c:
12894         * gst/elements/gstmd5sink.h:
12895         * gst/elements/gstmultifilesrc.c:
12896         * gst/elements/gstmultifilesrc.h:
12897         * gst/elements/gstpipefilter.c:
12898         * gst/elements/gstpipefilter.h:
12899         * gst/elements/gstshaper.c:
12900         * gst/elements/gstshaper.h:
12901         * gst/elements/gststatistics.c:
12902         * gst/elements/gststatistics.h:
12903         * po/POTFILES.in: Remove above files.
12904
12905 2005-05-14  Andy Wingo  <wingo@pobox.com>
12906
12907         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12908         so as to get the refs right.
12909         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12910         unreffing objects that don't pass the filter.
12911
12912         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12913         gst_element_set_bus.
12914         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12915         normal cases, this will destroy the bus.
12916
12917         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12918         object.
12919
12920         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12921         has no sinks.
12922
12923 2005-05-13  Andy Wingo  <wingo@pobox.com>
12924
12925         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12926         gst_pad_link, call pad_link_maybe_ghosting,
12927         (pad_link_maybe_ghosting): Links pads, making sure that the
12928         elements being linked are in the same bin.
12929         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12930         Helpers for pad_link_maybe_ghosting.
12931
12932 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12933
12934         * configure.ac:
12935           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12936
12937 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12938
12939         * docs/design/part-element-source.txt:
12940           Mention GstPushSrc
12941
12942 2005-05-12  Wim Taymans  <wim@fluendo.com>
12943
12944         * gst/base/gstbasesink.c: (gst_basesink_init),
12945         (gst_basesink_activate):
12946         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12947         (gst_basesrc_is_seekable):
12948         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12949         (bin_element_is_sink), (gst_bin_change_state):
12950         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12951         * gst/gstelement.h:
12952         Identify sinks by their flag to avoid overly complicated
12953         checks (fow now).
12954         Do state changes even for elements not reachable from the
12955         sinks.
12956         BaseSink is a sink now :)
12957         Some more debugging info in the basesrc.
12958
12959
12960 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12961
12962         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12963           Implement _query on a bin, similar to _send_event.
12964
12965 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12966
12967         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12968           Discont event offset format should be GST_FORMAT_BYTES,
12969           not GST_FORMAT_TIME.
12970
12971 2005-05-12  Wim Taymans  <wim@fluendo.com>
12972
12973         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12974         Same fix as Ronald's but without the signal. 
12975
12976 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12977
12978         * gst/gstutils.c: (gst_element_query_position):
12979           No, an element is not a pad.
12980
12981 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12982
12983         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12984         (gst_bin_get_state):
12985           If a child is removed from a bin while we remove the child from
12986           the bin and while we're retrieving its state, signal this to the
12987           get_state function so we abort the wait (instead of waiting for
12988           a timeout) and can immediately re-iterate over all other elements.
12989
12990 2005-05-12  Wim Taymans  <wim@fluendo.com>
12991
12992         * gst/base/Makefile.am:
12993         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12994         (gst_basesrc_start):
12995         * gst/base/gstbasesrc.h:
12996         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12997         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12998         (gst_pushsrc_init), (gst_pushsrc_create):
12999         * gst/base/gstpushsrc.h:
13000         Added is_seekable to BaseSrc
13001         Added simple PushSrc.
13002
13003 2005-05-11  Wim Taymans  <wim@fluendo.com>
13004
13005         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13006         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13007         (gst_element_link_pads), (gst_element_query_position),
13008         (gst_element_query_convert), (intersect_caps_func),
13009         (gst_pad_query_position), (gst_pad_query_convert):
13010         Fix refcounting in utils function.
13011         No point in trying to activate a pad when it's added, it could
13012         be added from the state change function and then we deadlock, the
13013         element has to decide what to do.
13014
13015 2005-05-10  Andy Wingo  <wingo@pobox.com>
13016
13017         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
13018         *all* the arguments.
13019
13020         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
13021         stream lock if it's a FLUSH_DONE; normal flushes don't get the
13022         lock (according to the docs -- if this is wrong change the docs).
13023
13024         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
13025         flush messages in the NULL state.
13026
13027         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
13028         message immediately and return.
13029         (gst_bus_set_flushing): New function. If a bus is flushing, it
13030         flushes out any queued messages and immediately unrefs new
13031         messages. This is so when an element goes to NULL, all of the
13032         unhandled messages coming from it can be freed, and their
13033         references to the element dropped. In other words: message source
13034         ref considered harmful :P
13035
13036         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
13037         we're finished with it.
13038
13039         * gst/gstmessage.c (gst_message_new_state_changed): 
13040
13041 2005-05-10  Wim Taymans  <wim@fluendo.com>
13042
13043         * gst/gstvalue.c: (gst_value_compare_flags),
13044         (gst_value_serialize_flags), (gst_value_deserialize_flags),
13045         (_gst_value_initialize):
13046         Added flags serialize/deserialize/compare code.
13047
13048 2005-05-09  Andy Wingo  <wingo@pobox.com>
13049
13050         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
13051         Intersect the peer's caps with our caps.
13052
13053 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13054
13055         * gst/base/gsttypefindhelper.c: (helper_find_peek):
13056         * gst/elements/gsttypefindelement.c: (find_peek):
13057           Handle negative offsets better. Fixes decodebin.
13058
13059 2005-05-09  Wim Taymans  <wim@fluendo.com>
13060
13061         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
13062         (gst_base_transform_event):
13063         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
13064         Implement accept_caps.
13065         Fix silly lock/unlock mismatch in base class.
13066
13067 2005-05-09  Wim Taymans  <wim@fluendo.com>
13068
13069         * docs/design/draft-push-pull.txt:
13070         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
13071         * gst/elements/gstfilesink.c: (gst_filesink_init),
13072         (gst_filesink_query):
13073         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13074         (gst_type_find_handle_src_query), (find_element_get_length):
13075         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
13076         * gst/gstelement.h:
13077         * gst/gstmessage.c:
13078         * gst/gstmessage.h:
13079         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
13080         (gst_real_pad_get_caps_unlocked),
13081         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
13082         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13083         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
13084         (gst_real_pad_dispose), (gst_real_pad_finalize),
13085         (gst_pad_load_and_link), (gst_pad_save_thyself),
13086         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
13087         (gst_pad_check_pull_range), (gst_pad_pull_range),
13088         (gst_pad_template_get_type), (gst_pad_template_class_init),
13089         (gst_pad_template_init), (gst_pad_template_dispose),
13090         (name_is_valid), (gst_static_pad_template_get),
13091         (gst_pad_template_new), (gst_static_pad_template_get_caps),
13092         (gst_pad_template_get_caps), (gst_pad_set_element_private),
13093         (gst_pad_get_element_private), (gst_pad_start_task),
13094         (gst_pad_pause_task), (gst_pad_stop_task),
13095         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
13096         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
13097         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
13098         (gst_ghost_pad_new):
13099         * gst/gstpad.h:
13100         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
13101         (gst_query_new_position), (gst_query_set_position),
13102         (gst_query_parse_position), (gst_query_new_convert),
13103         (gst_query_set_convert), (gst_query_parse_convert):
13104         * gst/gstquery.h:
13105         * gst/gstqueryutils.c:
13106         * gst/gstqueryutils.h:
13107         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13108         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13109         (gst_queue_handle_src_query):
13110         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13111         (gst_element_query_position), (gst_element_query_convert),
13112         (intersect_caps_func), (gst_pad_query_position),
13113         (gst_pad_query_convert):
13114         * gst/gstutils.h:
13115         * tools/gst-inspect.c: (print_pad_info):
13116         * tools/gst-xmlinspect.c: (print_element_info):
13117         Remove old query functions. Ported old code.
13118         Added position/convert helper functions to gstutils.
13119         Reordered gstpad.c code, grouping relevant things.
13120         Remove gst_message_new(), always need to speficy a specific
13121         message.
13122
13123
13124 2005-05-09  Andy Wingo  <wingo@pobox.com>
13125
13126         * gst/gstiterator.h: Add some includes.
13127
13128         * gst/gstqueryutils.h: Include more headers.
13129
13130         * gst/gstpad.h:
13131         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
13132         some uses of gst_pad_query.
13133
13134         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
13135         NULL out parameters.
13136         (gst_query_new_position): New proc, allocates a new position
13137         query.
13138
13139         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
13140         gstqueryutils.c to the build.
13141
13142         * gst/gststructure.c (gst_structure_set_valist): Implement with
13143         the generic G_VALUE_COLLECT.
13144         
13145 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
13146
13147         * gst/Makefile.am: (gst_headers):
13148         Added gstqueryutils.h to the list of headers to install, that was
13149         a 'nachty' move wingo :)
13150
13151 2005-05-06  Andy Wingo  <wingo@pobox.com>
13152
13153         * gst/gstquery.h
13154         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
13155         GstData, init a memchunk.
13156         (standard_definitions): Add a few query types, deprecate a few.
13157         (gst_query_get_type): New proc.
13158         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
13159         implementation.
13160         (gst_query_new_application, gst_query_get_structure): New public
13161         procs.
13162
13163         * docs/design/draft-query.txt: Removed LINKS from the query types,
13164         because all the rest can be dispatched to other pads -- seemed
13165         ugly to have a query that couldn't be dispatched. internal_links
13166         is fine as a pad method.
13167
13168         * gst/gstpad.h: Add query2 as a pad method, add the new functions
13169         in gstpad.c, but maintain binary compatibility for the moment.
13170         Will fix before 0.9 is out.
13171
13172         * gst/gstqueryutils.c: 
13173         * gst/gstqueryutils.h: New files, implement 3 methods for each
13174         query type: parse_query, parse_response, and set. Probably need an
13175         allocator as well.
13176
13177         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
13178
13179         * gst/elements/gstfilesink.c (gst_filesink_query2):
13180         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
13181         query_types, and formats methods.
13182
13183         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
13184         (gst_pad_set_query2_function): New functions.
13185         (gst_real_pad_init): Set query2_default as the default query2
13186         function. Basically just dispatches to internally linked pads.
13187
13188         Needs review!
13189         
13190         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
13191         without using the atomic operations. Only one thread can possibly
13192         be accessing the data at this point. Changed so as to avoid
13193         gst_atomic operations.
13194
13195 2005-05-06  Wim Taymans  <wim@fluendo.com>
13196
13197         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
13198         Also set caps if we use the fallback buffer alloc.
13199
13200 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
13201
13202         * docs/gst/Makefile.am:
13203         * docs/gst/gstreamer-docs.sgml:
13204         * docs/gst/gstreamer-sections.txt:
13205         * docs/gst/tmpl/gstatomic.sgml:
13206         * docs/gst/tmpl/gstmemchunk.sgml:
13207         * testsuite/elements/struct_i386.h:
13208         * win32/GStreamer.vcproj:
13209         * win32/Makefile:
13210           Purge GstAtomic stuff from docs and win32 makefiles as well
13211
13212 2005-05-06  Wim Taymans  <wim@fluendo.com>
13213
13214         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
13215         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
13216         * gst/gstpad.c: (gst_pad_peer_get_caps):
13217         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13218         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13219         (gst_queue_src_activate), (gst_queue_change_state):
13220         * gst/gstqueue.h:
13221         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13222         (intersect_caps_func):
13223         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
13224         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
13225         Some fixes for the peer_get_caps() change.
13226
13227 2005-05-06  Wim Taymans  <wim@fluendo.com>
13228
13229         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13230         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
13231         (gst_basesink_activate):
13232         Actually do something with error codes returned from the push
13233         functions.
13234
13235 2005-05-06  Wim Taymans  <wim@fluendo.com>
13236
13237         * docs/design/part-element-sink.txt:
13238         * docs/design/part-element-source.txt:
13239         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13240         (gst_basesink_event), (gst_basesink_activate):
13241         * gst/base/gstbasesink.h:
13242         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
13243         (gst_basesrc_activate):
13244         * gst/base/gstbasesrc.h:
13245         * gst/gstelement.c: (gst_element_pads_activate):
13246         Some more documentation.
13247         Fixed scheduling decision in _pads_activate().
13248
13249 2005-05-05  Andy Wingo  <wingo@pobox.com>
13250
13251         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13252         the test suite.
13253
13254 2005-05-05  Wim Taymans  <wim@fluendo.com>
13255
13256         * gst/base/Makefile.am:
13257         * gst/base/gstbasesink.h:
13258         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13259         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13260         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13261         (gst_collectpads_class_init), (gst_collectpads_init),
13262         (gst_collectpads_finalize), (gst_collectpads_new),
13263         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13264         (find_pad), (gst_collectpads_remove_pad),
13265         (gst_collectpads_is_active), (gst_collectpads_collect),
13266         (gst_collectpads_collect_range), (gst_collectpads_start),
13267         (gst_collectpads_stop), (gst_collectpads_peek),
13268         (gst_collectpads_pop), (gst_collectpads_available),
13269         (gst_collectpads_read), (gst_collectpads_flush),
13270         (gst_collectpads_chain):
13271         * gst/base/gstcollectpads.h:
13272         * gst/elements/Makefile.am:
13273         * gst/elements/gstelements.c:
13274         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13275         (gst_fakesink_get_times), (gst_fakesink_event),
13276         (gst_fakesink_preroll), (gst_fakesink_render):
13277         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13278         (gst_filesink_init), (gst_filesink_set_location),
13279         (gst_filesink_open_file), (gst_filesink_close_file),
13280         (gst_filesink_pad_query), (gst_filesink_event),
13281         (gst_filesink_render), (gst_filesink_change_state):
13282         * gst/elements/gstfilesink.h:
13283         Added object to help in making collect pad based elements.
13284         Ported filesink.
13285         Make event function in sink baseclass return gboolean.
13286
13287 2005-05-05  Wim Taymans  <wim@fluendo.com>
13288
13289         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13290         (gst_bin_get_by_name):
13291         * gst/gstbuffer.h:
13292         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13293         (gst_clock_finalize):
13294         * gst/gstdata.c: (gst_data_replace):
13295         * gst/gstdata.h:
13296         * gst/gstelement.c: (gst_element_request_pad),
13297         (gst_element_pads_activate):
13298         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13299         (gst_object_unref):
13300         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13301         (gst_pad_set_checkgetrange_function),
13302         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13303         (gst_pad_check_pull_range), (gst_pad_pull_range),
13304         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13305         (gst_pad_pause_task), (gst_pad_stop_task):
13306         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13307         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13308         Fix name lookup in GstBin.
13309         Added _data_replace() function and _buffer_replace()
13310         Use finalize method to clean up clock.
13311         Fix refcounting on request pads.
13312         Fix pad schedule mode error.
13313         Some more object refcounting debug info,
13314
13315
13316 2005-05-04  Andy Wingo <wingo@pobox.com>
13317
13318         * check/Makefile.am:
13319         * docs/gst/tmpl/gstatomic.sgml:
13320         * docs/gst/tmpl/gstplugin.sgml:
13321         * gst/base/gstbasesink.c: (gst_basesink_activate):
13322         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13323         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13324         (gst_basesrc_query), (gst_basesrc_set_property),
13325         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13326         (gst_basesrc_activate):
13327         * gst/base/gstbasesrc.h:
13328         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13329         (gst_base_transform_src_activate):
13330         * gst/elements/gstelements.c:
13331         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13332         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13333         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13334         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13335         (gst_type_find_element_checkgetrange),
13336         (gst_type_find_element_activate):
13337         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13338         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13339         (gst_caps_load_thyself):
13340         * gst/gstelement.c: (gst_element_pads_activate),
13341         (gst_element_save_thyself), (gst_element_restore_thyself):
13342         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13343         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13344         * gst/gstpad.h:
13345         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13346         (gst_xml_parse_file), (gst_xml_parse_memory),
13347         (gst_xml_get_element), (gst_xml_make_element):
13348         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13349         (_file_index_id_save_xml), (gst_file_index_commit):
13350         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13351         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13352         (load_paths):
13353         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13354         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13355         * tools/gst-complete.c: (main):
13356         * tools/gst-compprep.c: (main):
13357         * tools/gst-inspect.c: (print_element_properties_info):
13358         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13359         * tools/gst-xmlinspect.c: (print_element_properties):
13360         GCC 4 fixen.
13361         
13362 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13363
13364         * gst/gstplugin.c: (gst_plugin_check_module),
13365         (gst_plugin_check_file), (gst_plugin_load_file):
13366             apply patch from #172526 to make register work on MacOSX
13367
13368 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13369
13370         * docs/gst/tmpl/gstconfig.sgml:
13371         * gst/gstconfig.h.in:
13372           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13373         * testsuite/debug/printf_extension.c: (main):
13374           Do not use GST_PTR_FORMAT on pointers to types with
13375           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13376         * testsuite/elements/property.h:
13377           use correct printf format
13378
13379 2005-05-02  Wim Taymans  <wim@fluendo.com>
13380
13381         * docs/design/draft-push-pull.txt:
13382         * docs/design/draft-query.txt:
13383         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13384         (gst_basesrc_start):
13385         Added draft for new query API.
13386         Added draft for better selecting scheduling methods.
13387         Make basesrc ignore length if the subclass does not support
13388         it.
13389
13390 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13391
13392         * gst/Makefile.am:
13393           possible fixes for automake-1.5 - _LIBADD is reserved
13394
13395 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13396
13397         * docs/faq/Makefile.am:
13398         * docs/manual/Makefile.am:
13399         * docs/manuals.mak:
13400         * docs/pwg/Makefile.am:
13401         * gst/Makefile.am:
13402           possible fixes for automake-1.5
13403
13404 2005-04-28  Wim Taymans  <wim@fluendo.com>
13405
13406         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13407         (gst_basesink_pad_getcaps), (gst_basesink_init),
13408         (gst_basesink_do_sync):
13409         * gst/gstclock.c: (gst_clock_entry_new):
13410         * gst/gstevent.c: (gst_event_discont_get_value):
13411         * gst/gstpipeline.c: (pipeline_bus_handler),
13412         (gst_pipeline_change_state):
13413         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13414         Better debugging of clocking info.
13415         Allow NULL values when getting discont values.
13416
13417 2005-04-27  Wim Taymans  <wim@fluendo.com>
13418
13419         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13420         * check/gst/gstpad.c: (gst_pad_suite):
13421         Increase timeout for checks.
13422
13423 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13424
13425         * check/Makefile.am:
13426           fix the broken rule for cleanup.  Apparently this rule is
13427           only needed on FC2, so maybe this warrants further autotool
13428           inspection.
13429
13430 2005-04-26  Wim Taymans  <wim@fluendo.com>
13431
13432         * gst/gsttrashstack.h:
13433         Ooohh. a nasty one! After having a failed pop() from the stack,
13434         it's possible that the stack is empty. In that case, don't
13435         follow the NULL pointer.
13436
13437 2005-04-25  Wim Taymans  <wim@fluendo.com>
13438
13439         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13440         (gst_pad_set_checkgetrange_function),
13441         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13442         (gst_pad_check_pull_range), (gst_pad_pull_range),
13443         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13444         (gst_pad_pause_task), (gst_pad_stop_task):
13445         * gst/gstplugin.c: (gst_plugin_load):
13446         * gst/gstplugin.h:
13447         Remove gst_library_load as it does more harm than good with
13448         the new g_module flags.
13449         Revert bogus caps template check in pad linking, pad caps
13450         are important when linking not the template, which is more
13451         general than the current caps.
13452
13453 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13454
13455         * gst/autoplug/.cvsignore:
13456         * gst/autoplug/Makefile.am:
13457         * gst/autoplug/gstsearchfuncs.c:
13458         * gst/autoplug/gstsearchfuncs.h:
13459         * gst/autoplug/gstspider.c:
13460         * gst/autoplug/gstspider.h:
13461         * gst/autoplug/gstspideridentity.c:
13462         * gst/autoplug/gstspideridentity.h:
13463         * gst/autoplug/spidertest.c:
13464           Die, spider, die.
13465
13466 2005-04-25  Wim Taymans  <wim@fluendo.com>
13467
13468         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13469         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13470         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13471         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13472         * gst/gstpad.h:
13473         Added stubs for unimplemented functions. 
13474
13475 2005-04-24  David Schleef  <ds@schleef.org>
13476
13477         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13478         please fix.
13479
13480 2005-04-24  David Schleef  <ds@schleef.org>
13481
13482         Convert everything from GstAtomicInt to g_atomic_int_*, and
13483         remove gstatomic.
13484         * gst/Makefile.am:
13485         * gst/gstatomic.c:
13486         * gst/gstatomic.h:
13487         * gst/gstatomic_impl.h:
13488         * gst/gstbuffer.c:
13489         * gst/gstcaps.c:
13490         * gst/gstcaps.h:
13491         * gst/gstclock.c:
13492         * gst/gstclock.h:
13493         * gst/gstdata.c:
13494         * gst/gstdata.h:
13495         * gst/gstdata_private.h:
13496         * gst/gstevent.c:
13497         * gst/gstinfo.c:
13498         * gst/gstinfo.h:
13499         * gst/gstmessage.c:
13500         * gst/gstobject.c:
13501         * gst/gstobject.h:
13502         * gst/gststructure.c:
13503         * gst/gststructure.h:
13504         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13505         * gst/gstutils.h:
13506
13507 2005-04-24  David Schleef  <ds@schleef.org>
13508
13509         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13510         make the regressions tests work.  Remove some code that is no
13511         longer true.
13512         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13513         Disable warning for pads without templates.
13514
13515 2005-04-24  David Schleef  <ds@schleef.org>
13516
13517         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13518         functions that handle filtered links.
13519         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13520         removed functions.
13521         * gst/gstutils.c: Fix/remove utility functions that handle
13522         filtered caps.
13523         * gst/gstutils.h:
13524         * gst/gstvalue.c: Add serialization/deserialization of caps
13525         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13526         requires fixing so that the filter caps notation creates
13527         a capsfilter element and sets the filter_caps property.  I
13528         think everyone probably wants to keep the shorthand notation.
13529         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13530         * docs/gst/tmpl/gstpad.sgml:
13531
13532         * gst/elements/gstelements.c: Register capsfilter element.
13533         * gst/Makefile.am: fix spacing
13534         * docs/random/ds/0.9-suggested-changes: random
13535
13536 2005-04-23  David Schleef  <ds@schleef.org>
13537
13538         * gst/elements/Makefile.am:
13539         * gst/elements/gstcapsfilter.c: New element that acts like an
13540         identity, but filters caps.  Will eventually replace filtered
13541         caps in pad linking.
13542         * gst/gstutils.c: (gst_element_create_all_pads): New function
13543         to create all the ALWAYS pads that are registered with an
13544         element class.  This functionality should eventually be
13545         merged in with GstElement initialization.
13546         * gst/gstutils.h:
13547         * testsuite/trigger/README: part of trigger test code that should
13548         have been checked in a long time ago.
13549
13550 2005-04-23  David Schleef  <ds@schleef.org>
13551
13552         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13553         needed with new versions of libtool (nobody will confirm this),
13554         and hard to carry around.
13555         * gst/autoplug/Makefile.am:
13556         * gst/base/Makefile.am:
13557         * gst/elements/Makefile.am:
13558         * gst/indexers/Makefile.am:
13559         * gst/schedulers/Makefile.am:
13560         * libs/gst/bytestream/Makefile.am:
13561         * libs/gst/control/Makefile.am:
13562         * libs/gst/dataprotocol/Makefile.am:
13563         * libs/gst/getbits/Makefile.am:
13564
13565 2005-04-21  Wim Taymans  <wim@fluendo.com>
13566
13567         * docs/design/draft-push-pull.txt:
13568         * docs/design/part-MT-refcounting.txt:
13569         * docs/design/part-TODO.txt:
13570         * docs/design/part-caps.txt:
13571         * docs/design/part-events.txt:
13572         * docs/design/part-gstbus.txt:
13573         * docs/design/part-gstpipeline.txt:
13574         * docs/design/part-messages.txt:
13575         * docs/design/part-push-pull.txt:
13576         * docs/design/part-query.txt:
13577         Some more docs.
13578
13579 2005-04-21  Wim Taymans  <wim@fluendo.com>
13580
13581         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13582         (gst_message_new), (gst_message_new_error),
13583         (gst_message_new_warning), (gst_message_new_tag),
13584         (gst_message_new_state_changed), (gst_message_new_application),
13585         (gst_message_get_structure):
13586         * gst/gstmessage.h:
13587         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13588         (gst_structure_copy_conditional):
13589         Use parent refcount in GstMessage to ensure GstStructure
13590         consistency.
13591         Cleaned up headers a bit.
13592         
13593
13594 2005-04-20  Wim Taymans  <wim@fluendo.com>
13595
13596         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13597         (gst_basesink_pad_getcaps), (gst_basesink_init),
13598         (gst_basesink_chain_unlocked):
13599         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13600         (gst_type_find_helper):
13601         * gst/elements/gsttypefindelement.c:
13602         (gst_type_find_element_have_type), (gst_type_find_element_init),
13603         (stop_typefinding), (gst_type_find_element_handle_event),
13604         (find_suggest), (gst_type_find_element_chain),
13605         (gst_type_find_element_checkgetrange),
13606         (gst_type_find_element_getrange), (do_typefind),
13607         (gst_type_find_element_activate):
13608         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13609         (gst_buffer_default_free), (gst_buffer_default_copy),
13610         (gst_buffer_set_caps):
13611         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13612         (gst_caps_replace):
13613         * gst/gstmessage.c: (gst_message_new),
13614         (gst_message_new_state_changed):
13615         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13616         (gst_pad_set_checkgetrange_function),
13617         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13618         (gst_pad_set_caps), (gst_pad_check_pull_range),
13619         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13620         * gst/gstpad.h:
13621         * gst/gsttypefind.c: (gst_type_find_register):
13622         Make gst_caps_replace() work like other _replace() functions.
13623         Use _caps_replace() where possible.
13624         Make sure _message_new() initialises its field.
13625         Add gst_static_pad_template_get_caps()
13626
13627
13628 2005-04-18  Andy Wingo  <wingo@pobox.com>
13629
13630         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13631         on the peer, not the pad. I think that was a typo. Pass an extra
13632         arg to see if random access is possible. Activate the pads as
13633         PULL_RANGE if possible.
13634
13635         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13636
13637         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13638         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13639         to PROP_....
13640
13641 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13642
13643         * docs/faq/using.xml:
13644           Add note on gstreamer-properties (#154996).
13645
13646 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13647
13648         * docs/random/bbb/optional-properties:
13649           Some analysis on optional properties.
13650
13651 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13652
13653         * docs/gst/tmpl/gstelementfactory.sgml:
13654         * gst/gstelement.h:
13655         * gst/gstelementfactory.c: (gst_element_factory_init),
13656         (gst_element_factory_cleanup), (gst_element_register),
13657         (__gst_element_factory_add_static_pad_template),
13658         (gst_element_factory_get_static_pad_templates),
13659         (gst_element_factory_can_src_caps),
13660         (gst_element_factory_can_sink_caps):
13661         * gst/registries/Makefile.am:
13662         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13663         (gst_xml_registry_class_init), (gst_xml_registry_init),
13664         (gst_xml_registry_new), (gst_xml_registry_set_property),
13665         (gst_xml_registry_get_property), (get_time), (make_dir),
13666         (gst_xml_registry_get_perms_func),
13667         (plugin_times_older_than_recurse), (plugin_times_older_than),
13668         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13669         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13670         (add_to_char_array), (read_string), (read_uint), (read_enum),
13671         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13672         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13673         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13674         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13675         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13676         (gst_xml_registry_rebuild):
13677         * gst/registries/gstlibxmlregistry.h:
13678         * tools/gst-compprep.c: (main):
13679         * tools/gst-inspect.c: (print_pad_templates_info):
13680         * tools/gst-xmlinspect.c: (print_element_info):
13681           Use libxml2 for registry parsing, use staticpadtemplates in
13682           elementfactories. Makes gst_init() +/- 10x faster.
13683
13684 2005-04-12  Wim Taymans  <wim@fluendo.com>
13685
13686         * gst/base/Makefile.am:
13687         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13688         (gst_basesink_pad_getcaps), (gst_basesink_init),
13689         (gst_basesink_event), (gst_basesink_change_state):
13690         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13691         (gst_basesrc_init), (gst_basesrc_query),
13692         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13693         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13694         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13695         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13696         (gst_basesrc_stop), (gst_basesrc_activate),
13697         (gst_basesrc_change_state):
13698         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13699         (helper_find_suggest), (gst_type_find_helper):
13700         * gst/base/gsttypefindhelper.h:
13701         * gst/elements/Makefile.am:
13702         * gst/elements/gstelements.c:
13703         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13704         (gst_fakesink_get_times), (gst_fakesink_event),
13705         (gst_fakesink_preroll), (gst_fakesink_render):
13706         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13707         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13708         (gst_fakesrc_get_property), (gst_fakesrc_create),
13709         (gst_fakesrc_start), (gst_fakesrc_stop):
13710         * gst/elements/gstfakesrc.h:
13711         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13712         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13713         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13714         (gst_filesrc_create_read), (gst_filesrc_create),
13715         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13716         (gst_filesrc_start):
13717         * gst/elements/gsttypefindelement.c:
13718         (gst_type_find_element_have_type), (gst_type_find_element_init),
13719         (start_typefinding), (stop_typefinding), (push_buffer_store),
13720         (gst_type_find_element_handle_event),
13721         (gst_type_find_element_chain),
13722         (gst_type_find_element_checkgetrange),
13723         (gst_type_find_element_getrange), (do_typefind),
13724         (gst_type_find_element_activate),
13725         (gst_type_find_element_change_state):
13726         * gst/elements/gsttypefindelement.h:
13727         * gst/gstpipeline.c: (pipeline_bus_handler):
13728         Added typefind helper.
13729         Small preroll fix in the base sink.
13730         Disable typefind code in basesrc.
13731         Crude port of typefindelement.
13732         Fakesrc cleanups.
13733
13734
13735 2005-04-11  Wim Taymans  <wim@fluendo.com>
13736
13737         * check/gst/gstbus.c: (gstbus_suite):
13738         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13739         * check/gstcheck.h:
13740           Fix up the timeout so that the test does not fail.
13741
13742 2005-04-06  Wim Taymans  <wim@fluendo.com>
13743
13744         * gst/base/README:
13745         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13746         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13747         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13748         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13749         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13750         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13751         (gst_basesrc_stop), (gst_basesrc_activate),
13752         (gst_basesrc_change_state), (basesrc_find_peek),
13753         (basesrc_find_suggest), (gst_basesrc_type_find):
13754         * gst/base/gstbasesrc.h:
13755         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13756         (gst_filesrc_class_init), (gst_filesrc_init),
13757         (gst_filesrc_finalize), (gst_filesrc_set_location),
13758         (gst_filesrc_set_property), (gst_filesrc_get_property),
13759         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13760         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13761         (gst_filesrc_create_read), (gst_filesrc_create),
13762         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13763         * gst/elements/gstfilesrc.h:
13764         * gst/gstelement.c: (gst_element_get_state_func),
13765         (gst_element_lost_state), (gst_element_pads_activate):
13766         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13767         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13768         (gst_pad_pull_range):
13769         * gst/gstpad.h:
13770         More work on the generic source base class, implement seeking,
13771         query.
13772         Make filesrc extend the base source class.
13773         Added gst_pad_set_checkgetrange_function to GstPad.
13774
13775 2005-04-06  Andy Wingo  <wingo@pobox.com>
13776
13777         * pkgconfig/gstreamer-base.pc.in:
13778         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13779
13780         * pkgconfig/Makefile.am:
13781         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13782
13783 2005-04-04  Wim Taymans  <wim@fluendo.com>
13784
13785         * gst/base/Makefile.am:
13786         * gst/base/README:
13787         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13788         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13789         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13790         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13791         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13792         (gst_basesrc_base_init), (gst_basesrc_class_init),
13793         (gst_basesrc_init), (gst_basesrc_get_formats),
13794         (gst_basesrc_get_query_types), (gst_basesrc_query),
13795         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13796         (gst_basesrc_set_property), (gst_basesrc_get_property),
13797         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13798         (gst_basesrc_loop), (gst_basesrc_activate),
13799         (gst_basesrc_change_state):
13800         * gst/base/gstbasesrc.h:
13801         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13802         (gst_fakesrc_class_init), (gst_fakesrc_init),
13803         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13804         (gst_fakesrc_get_property), (gst_fakesrc_create):
13805         * gst/elements/gstfakesrc.h:
13806         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13807         (gst_filesrc_open_file), (gst_filesrc_loop),
13808         (gst_filesrc_activate), (filesrc_find_peek),
13809         (gst_filesrc_type_find):
13810         Made base source class, make fakesrc extend it.
13811         Add comments to basesink class.
13812         Some filesrc cleanup.
13813
13814 2005-03-31  David Schleef  <ds@schleef.org>
13815
13816         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13817         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13818         expected to link against libgstreamer.
13819         * gst/base/Makefile.am: link against libgstreamer
13820         * gst/elements/Makefile.am: same
13821
13822 2005-03-31  Andy Wingo  <wingo@pobox.com>
13823
13824         * tests/instantiate/Makefile.am:
13825         * tests/instantiate/caps.c: Add test to test speed of caps copy
13826         and free.
13827
13828         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13829         GMemChunk to be fair.
13830
13831         * gst/gsttrashstack.h: Remove warning about using the fallback
13832         trash stack implementation, it's still faster than malloc.
13833
13834 2005-03-30  Andy Wingo  <wingo@pobox.com>
13835
13836         * tests/complexity.c: Add a copyright.
13837
13838 2005-03-31  Wim Taymans  <wim@fluendo.com>
13839
13840         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13841         (gst_base_transform_class_init), (gst_base_transform_init),
13842         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13843         (gst_base_transform_get_property),
13844         (gst_base_transform_sink_activate),
13845         (gst_base_transform_src_activate),
13846         (gst_base_transform_change_state):
13847         * gst/base/gstbasetransform.h:
13848         * gst/elements/gstidentity.c: (gst_identity_class_init),
13849         (gst_identity_event), (gst_identity_check_perfect),
13850         (gst_identity_transform), (gst_identity_start),
13851         (gst_identity_stop):
13852         Added start/stop methods to transform base class so subclasses 
13853         don't need to deal with state changes even.
13854
13855 2005-03-31  Wim Taymans  <wim@fluendo.com>
13856
13857         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13858         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13859         * gst/gstevent.h:
13860         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13861         (gst_pad_pull_range):
13862         Added rate to the discont event to prepare for variable speed
13863         and reverse playback.
13864
13865 2005-03-29  David Schleef  <ds@schleef.org>
13866
13867         * configure.ac:
13868         * testsuite/trigger/Makefile.am:
13869         * testsuite/trigger/trigger.c: A little example program to show
13870         how trigger-based elements can work.
13871
13872 2005-03-29  Wim Taymans  <wim@fluendo.com>
13873
13874         * gst/base/Makefile.am:
13875         * gst/base/README:
13876         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13877         (gst_basesink_base_init), (gst_basesink_class_init),
13878         (gst_basesink_pad_getcaps), (gst_basesink_init),
13879         (gst_basesink_activate), (gst_basesink_change_state):
13880         * gst/base/gstbasesink.h:
13881         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13882         (gst_base_transform_base_init), (gst_base_transform_finalize),
13883         (gst_base_transform_class_init), (gst_base_transform_init),
13884         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13885         (gst_base_transform_event), (gst_base_transform_getrange),
13886         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13887         (gst_base_transform_set_property),
13888         (gst_base_transform_get_property),
13889         (gst_base_transform_sink_activate),
13890         (gst_base_transform_src_activate),
13891         (gst_base_transform_change_state):
13892         * gst/base/gstbasetransform.h:
13893         * gst/elements/gstidentity.c: (gst_identity_finalize),
13894         (gst_identity_class_init), (gst_identity_init),
13895         (gst_identity_event), (gst_identity_check_perfect),
13896         (gst_identity_transform), (gst_identity_set_property),
13897         (gst_identity_get_property), (gst_identity_change_state):
13898         * gst/elements/gstidentity.h:
13899         * gst/gstelement.c: (gst_element_get_state_func),
13900         (gst_element_lost_state), (gst_element_pads_activate):
13901         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13902         (gst_pad_check_pull_range), (gst_pad_pull_range):
13903         * gst/gstpad.h:
13904         Simplify pad activation.
13905         Added function to check if pull_range can be performed.
13906         Error out when pulling inactive or flushing pads.
13907         Removed const from refcounted types as it does not make sense.
13908         Simplify pad templates in basesink
13909         Added base class for simple 1-to-1 transforms.
13910         Make identity subclass the base transform.
13911
13912 2005-03-29  Andy Wingo  <wingo@pobox.com>
13913
13914         * docs/libs/gstreamer-libs-overrides.txt: 
13915         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13916         really don't understand what's going on, but like whatever. I want
13917         green buildbot!
13918
13919         * docs/gst/Makefile.am:
13920         * docs/libs/Makefile.am: Dist the overrides files.
13921
13922         * check/Makefile.am (clean-local): Remove .libs directories.
13923
13924         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13925         elements to EXTRA_DIST, so po/ files are happy.
13926
13927         * po/POTFILES.in: Er, remove it here.
13928
13929         * po/POTFILES: Remove gstspider.c.
13930
13931         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13932
13933         * docs/libs/gstreamer-libs-docs.sgml: 
13934         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13935         bytestream.
13936
13937         * tests/complexity.c (main): Set the length of the preroll queue
13938         on the sinks to prevent a lockup.
13939
13940         * libs/gst/dataprotocol/Makefile.am: 
13941         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13942         the same as the one in check/gst-libs/gdp.c.
13943
13944         * po/, docs/gst/: Commit automatic changes to docs and po files.
13945
13946         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13947         the versioned libgstbase.
13948
13949         * check/Makefile.am: Depend on an unversioned gst-register, seems
13950         to make autoconf happier.
13951
13952         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13953
13954 2005-03-28  Wim Taymans  <wim@fluendo.com>
13955
13956         * configure.ac:
13957         * docs/design/part-gstelement.txt:
13958         * docs/design/part-negotiation.txt:
13959         * docs/design/part-preroll.txt:
13960         * docs/design/part-scheduling.txt:
13961         * docs/design/part-states.txt:
13962         * gst/Makefile.am:
13963         * gst/base/Makefile.am:
13964         * gst/base/README:
13965         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13966         (gst_basesink_base_init), (gst_basesink_class_init),
13967         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13968         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13969         (gst_basesink_set_pad_functions),
13970         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13971         (gst_basesink_set_property), (gst_basesink_get_property),
13972         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13973         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13974         (gst_basesink_preroll_queue_push),
13975         (gst_basesink_preroll_queue_empty),
13976         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13977         (gst_basesink_event), (gst_basesink_get_times),
13978         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13979         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13980         (gst_basesink_loop), (gst_basesink_activate),
13981         (gst_basesink_change_state):
13982         * gst/base/gstbasesink.h:
13983         * gst/elements/Makefile.am:
13984         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13985         (gst_fakesink_class_init), (gst_fakesink_init),
13986         (gst_fakesink_set_property), (gst_fakesink_get_property),
13987         (gst_fakesink_get_times), (gst_fakesink_event),
13988         (gst_fakesink_preroll), (gst_fakesink_render),
13989         (gst_fakesink_change_state):
13990         * gst/elements/gstfakesink.h:
13991         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13992         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13993         * gst/gstelement.c: (gst_element_add_pad),
13994         (gst_element_get_state_func), (gst_element_abort_state),
13995         (gst_element_commit_state), (gst_element_lost_state),
13996         (gst_element_set_state), (gst_element_pads_activate):
13997         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13998         * gst/gstpipeline.c: (gst_pipeline_send_event),
13999         (gst_pipeline_change_state):
14000         Added state change code.
14001         Added/updated docs.
14002         Added sink base class, make fakesink extend the base class.
14003         Small cleanups in GstPipeline.
14004
14005 2005-03-26  David Schleef  <ds@schleef.org>
14006
14007         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
14008         is broken and should be implemented in a different library.
14009         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14010         * gst/gst.h: remove gstcpu.h
14011         * gst/gstcpu.c: remove
14012         * gst/gstcpu.h: remove
14013         * gst/Makefile.am.future: Remove this file.  It's ancient.
14014
14015 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14016
14017         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14018         (gst_bin_send_event):
14019           Add default event/set_manager handlers. The set_manager handler
14020           takes care that the manager is distributed over kids that were
14021           already in the bin before the manager was set. The event handler
14022           is a utility virtual function that sends the event over all sinks,
14023           so that gst_element_send_event (bin, event); has the expected
14024           behaviour.
14025         * gst/gstpad.c: (gst_pad_event_default):
14026           Re-install default event handling for discontinuities, so that
14027           seeking works without requiring hacks in applications or extra
14028           code in sinks.
14029         * gst/gstpipeline.c: (gst_pipeline_class_init),
14030         (gst_pipeline_send_event):
14031           Half hack, half utility: set a pipeline to PAUSED for seek events,
14032           since that is the only way we can guarantee a/v sync. Means that
14033           you can do gst_element_seek (pipeline, method, pos); on a pipeline
14034           and it "just works".
14035
14036 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14037
14038         * gst/gstpipeline.c: (gst_pipeline_use_clock):
14039           Lock/unlock mismatch.
14040
14041 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14042
14043         * docs/faq/gst-uninstalled:
14044           add gst-plugins-base
14045         * docs/gst/Makefile.am:
14046           don't error out until docs are fixed
14047         * docs/gst/gstreamer.types:
14048           remove thread
14049
14050 2005-03-22  Wim Taymans  <wim@fluendo.com>
14051
14052         * check/Makefile.am:
14053         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
14054         * gst/gststructure.c: (gst_structure_set_valist),
14055         (gst_structure_copy_conditional):
14056         Activated more tests.
14057         Added message test.
14058         Added G_TYPE_POINTER to GstStructure.
14059         
14060
14061 2005-03-22  Wim Taymans  <wim@fluendo.com>
14062
14063         * docs/design/part-TODO.txt:
14064         * docs/design/part-events.txt:
14065         * docs/design/part-gstbin.txt:
14066         * docs/design/part-gstbus.txt:
14067         * docs/design/part-gstpipeline.txt:
14068         * docs/design/part-messages.txt:
14069         * gst/gstbus.c:
14070         * gst/gstmessage.c:
14071         Docs updates
14072
14073 2005-03-21  Wim Taymans  <wim@fluendo.com>
14074
14075         * gst/gstbus.c: (gst_bus_post):
14076         Fix copy-and-paste error.
14077
14078 2005-03-21  Wim Taymans  <wim@fluendo.com>
14079
14080         * check/Makefile.am:
14081         * gst/Makefile.am:
14082         * gst/elements/Makefile.am:
14083         * gst/elements/gstelements.c:
14084         * gst/elements/gstfakesink.c: (gst_fakesink_init),
14085         (gst_fakesink_event), (gst_fakesink_chain):
14086         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14087         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
14088         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
14089         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
14090         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14091         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
14092         (gst_fakesrc_loop), (gst_fakesrc_activate),
14093         (gst_fakesrc_change_state):
14094         * gst/elements/gstfakesrc.h:
14095         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
14096         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
14097         (gst_filesrc_open_file), (gst_filesrc_loop),
14098         (gst_filesrc_activate), (gst_filesrc_change_state),
14099         (filesrc_find_peek), (filesrc_find_suggest),
14100         (gst_filesrc_type_find):
14101         * gst/elements/gstidentity.c: (gst_identity_finalize),
14102         (gst_identity_class_init), (gst_identity_init),
14103         (gst_identity_proxy_getcaps), (identity_queue_push),
14104         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
14105         (gst_identity_getrange), (gst_identity_chain),
14106         (gst_identity_sink_loop), (gst_identity_src_loop),
14107         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
14108         (gst_identity_set_property), (gst_identity_get_property),
14109         (gst_identity_change_state):
14110         * gst/elements/gstidentity.h:
14111         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
14112         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
14113         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
14114         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
14115         (gst_tee_sink_activate):
14116         * gst/elements/gsttee.h:
14117         * gst/gst.c: (gst_register_core_elements), (init_post):
14118         * gst/gst.h:
14119         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
14120         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
14121         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
14122         (gst_bin_change_state):
14123         * gst/gstbin.h:
14124         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
14125         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
14126         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
14127         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
14128         (gst_bus_set_sync_handler), (gst_bus_create_watch),
14129         (bus_watch_callback), (bus_watch_destroy),
14130         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
14131         (poll_timeout), (gst_bus_poll):
14132         * gst/gstbus.h:
14133         * gst/gstcaps.h:
14134         * gst/gstdata.h:
14135         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14136         (gst_element_post_message), (gst_element_message_full),
14137         (gst_element_get_state_func), (gst_element_get_state),
14138         (gst_element_abort_state), (gst_element_commit_state),
14139         (gst_element_lost_state), (gst_element_set_state),
14140         (gst_element_pads_activate), (gst_element_change_state),
14141         (gst_element_dispose), (gst_element_set_manager_func),
14142         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
14143         (gst_element_set_manager), (gst_element_get_manager),
14144         (gst_element_set_bus), (gst_element_get_bus),
14145         (gst_element_set_scheduler), (gst_element_get_scheduler):
14146         * gst/gstelement.h:
14147         * gst/gstevent.c: (gst_event_new_segment_seek),
14148         (gst_event_new_flush):
14149         * gst/gstevent.h:
14150         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
14151         (_gst_message_free), (gst_message_get_type), (gst_message_new),
14152         (gst_message_new_eos), (gst_message_new_error),
14153         (gst_message_new_warning), (gst_message_new_tag),
14154         (gst_message_new_state_changed), (gst_message_new_application),
14155         (gst_message_get_structure), (gst_message_parse_tag),
14156         (gst_message_parse_state_changed), (gst_message_parse_error),
14157         (gst_message_parse_warning):
14158         * gst/gstmessage.h:
14159         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
14160         (gst_real_pad_set_property), (gst_pad_set_active),
14161         (gst_pad_is_active), (gst_pad_set_blocked_async),
14162         (gst_pad_set_blocked), (gst_pad_is_blocked),
14163         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
14164         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
14165         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
14166         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
14167         (gst_pad_link_filtered), (gst_pad_relink_filtered),
14168         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
14169         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
14170         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
14171         (gst_pad_set_caps), (gst_pad_configure_sink),
14172         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
14173         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
14174         (gst_real_pad_dispose), (gst_real_pad_finalize),
14175         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
14176         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14177         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
14178         * gst/gstpad.h:
14179         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
14180         (pipeline_bus_handler), (gst_pipeline_change_state),
14181         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
14182         * gst/gstpipeline.h:
14183         * gst/gstprobe.h:
14184         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14185         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
14186         (gst_queue_link_src), (gst_queue_bufferalloc),
14187         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14188         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
14189         (gst_queue_loop), (gst_queue_handle_src_event),
14190         (gst_queue_handle_src_query), (gst_queue_src_activate),
14191         (gst_queue_change_state):
14192         * gst/gstqueue.h:
14193         * gst/gstscheduler.c: (gst_scheduler_init),
14194         (gst_scheduler_dispose), (gst_scheduler_create_task),
14195         (gst_scheduler_factory_create):
14196         * gst/gstscheduler.h:
14197         * gst/gststructure.c: (gst_structure_get_type),
14198         (gst_structure_copy_conditional):
14199         * gst/gststructure.h:
14200         * gst/gsttaginterface.h:
14201         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14202         (gst_task_init), (gst_task_dispose), (gst_task_create),
14203         (gst_task_get_state), (gst_task_start), (gst_task_stop),
14204         (gst_task_pause):
14205         * gst/gsttask.h:
14206         * gst/gstthread.c:
14207         * gst/gstthread.h:
14208         * gst/gsttypes.h:
14209         * gst/schedulers/Makefile.am:
14210         * gst/schedulers/cothreads_compat.h:
14211         * gst/schedulers/entryscheduler.c:
14212         * gst/schedulers/faircothreads.c:
14213         * gst/schedulers/faircothreads.h:
14214         * gst/schedulers/fairscheduler.c:
14215         * gst/schedulers/gstbasicscheduler.c:
14216         * gst/schedulers/gstoptimalscheduler.c:
14217         * gst/schedulers/gthread-cothreads.h:
14218         * gst/schedulers/threadscheduler.c:
14219         (gst_thread_scheduler_task_get_type),
14220         (gst_thread_scheduler_task_class_init),
14221         (gst_thread_scheduler_task_init),
14222         (gst_thread_scheduler_task_start),
14223         (gst_thread_scheduler_task_stop),
14224         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
14225         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14226         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
14227         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
14228         (plugin_init):
14229         * libs/gst/Makefile.am:
14230         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
14231         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
14232         (gst_file_pad_parent_set):
14233         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14234         (gst_dp_event_from_packet):
14235         * tests/complexity.c: (main):
14236         * tests/mass_elements.c: (main):
14237         * testsuite/states/locked.c: (message_received), (main):
14238         * testsuite/states/parent.c: (main):
14239         * tools/gst-inspect.c: (print_element_flag_info),
14240         (print_implementation_info), (print_pad_info):
14241         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
14242         (main):
14243         * tools/gst-md5sum.c: (event_loop), (main):
14244         * tools/gst-typefind.c: (main):
14245         * tools/gst-xmlinspect.c: (print_element_info):
14246         Next big merge.
14247         Added GstBus for mainloop integration.
14248         Added GstMessage for sending notifications on the bus.
14249         Added GstTask as an abstraction for pipeline entry points.
14250         Removed GstThread.
14251         Removed Schedulers.
14252         Simplified GstQueue for multithreaded core.
14253         Made _link threadsafe, removed old capsnego.
14254         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14255         Added pad blocking functions.
14256         Reworked scheduling functions in GstPad to prepare for
14257         scheduling updates soon.
14258         Moved events out of data stream.
14259         Simplified GstEvent types.
14260         Added return values to push/pull.
14261         Removed clocking from GstElement.
14262         Added prototypes for state change function for next merge.
14263         Removed iterate from bins and state change management.
14264         Fixed some elements, disabled others for now.
14265         Fixed -inspect and -launch.
14266         Added check for GstBus.
14267
14268 2005-03-10  Wim Taymans  <wim@fluendo.com>
14269
14270         * docs/design/part-MT-refcounting.txt:
14271         * docs/design/part-clocks.txt:
14272         * docs/design/part-gstelement.txt:
14273         * docs/design/part-gstobject.txt:
14274         * docs/design/part-standards.txt:
14275         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14276         (gst_bin_remove_func), (gst_bin_remove):
14277         * gst/gstbin.h:
14278         * gst/gstbuffer.c:
14279         * gst/gstcaps.h:
14280         * testsuite/clock/clock1.c: (main):
14281         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14282         (main):
14283         * testsuite/dlopen/loadgst.c: (do_test):
14284         * testsuite/refcounting/bin.c: (add_remove_test1),
14285         (add_remove_test2), (main):
14286         * testsuite/refcounting/element.c: (main):
14287         * testsuite/refcounting/element_pad.c: (main):
14288         * testsuite/refcounting/pad.c: (main):
14289         * tools/gst-launch.c: (sigint_handler_sighandler):
14290         * tools/gst-typefind.c: (main):
14291         Doc updates.
14292         Added doc about clock.
14293         removed gst_bin_iterate_recurse_up(), marked methods
14294         for removal.
14295         Fix more testsuites.
14296
14297 2005-03-09  Wim Taymans  <wim@fluendo.com>
14298
14299         * gst/gstpad.c: (gst_pad_get_direction),
14300         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14301         (gst_pad_collect_valist):
14302         * testsuite/bins/interface.c: (main):
14303         * testsuite/caps/audioscale.c: (test_caps):
14304         * testsuite/caps/caps.c: (test1), (test2), (test3):
14305         * testsuite/caps/deserialize.c: (main):
14306         * testsuite/caps/enumcaps.c: (main):
14307         * testsuite/caps/filtercaps.c: (main):
14308         * testsuite/caps/intersect2.c: (main):
14309         * testsuite/caps/random.c: (main):
14310         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14311         * testsuite/caps/sets.c: (check_caps):
14312         * testsuite/caps/simplify.c: (check_caps), (main):
14313         * testsuite/caps/subtract.c: (check_caps):
14314         Fix _pad_get_direction wrt ghostpads.
14315         Fix caps testsuite.
14316
14317 2005-03-09  Wim Taymans  <wim@fluendo.com>
14318
14319         * check/Makefile.am:
14320         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14321         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14322         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14323         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14324         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14325         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14326         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14327         (bin_element_is_sink), (gst_bin_iterate_sinks),
14328         (gst_bin_iterate_all_by_interface):
14329         * gst/gstbin.h:
14330         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14331         (gst_element_change_state), (gst_element_dispose),
14332         (gst_element_finalize), (gst_element_set_loop_function):
14333         * gst/gstelement.h:
14334         * gst/gstiterator.c: (find_custom_fold_func):
14335         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14336         (gst_pad_collectv), (gst_pad_collect_valist),
14337         (gst_pad_template_new):
14338         * gst/gstpipeline.c: (gst_pipeline_class_init),
14339         (gst_pipeline_dispose), (gst_pipeline_set_property),
14340         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14341         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14342         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14343         * gst/gstutils.h:
14344         * gst/schedulers/entryscheduler.c:
14345         * gst/schedulers/gstbasicscheduler.c:
14346         (gst_basic_scheduler_cothreaded_chain),
14347         (gst_basic_scheduler_chain_add_element):
14348         * testsuite/bins/interface.c: (main):
14349         Added GstBin test.
14350         Added GstSystemClock test.
14351         Implemented clock distribution code in GstBin.
14352         Implemented iterate sinks method for future use.
14353         Rearranged gstelement.h
14354         Fix GstIterator comparison bug.
14355         Moved some code to GstPipeline, mostly clocking related.
14356
14357 2005-03-09  Wim Taymans  <wim@fluendo.com>
14358
14359         * configure.ac:
14360         * gst/gst_private.h:
14361         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14362         (gst_bin_remove_func), (gst_bin_remove),
14363         (gst_bin_get_by_name_recurse_up):
14364         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14365         (gst_clock_id_compare_func), (gst_clock_id_wait),
14366         (gst_clock_id_wait_async), (gst_clock_init),
14367         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14368         * gst/gstelement.h:
14369         * gst/gstinfo.c: (_gst_debug_init):
14370         * gst/gstobject.h:
14371         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14372         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14373         * gst/gstpad.h:
14374         Bump version number, we're now 0.9.0
14375         Add future debugging category.
14376         Fix NULL _unref() in _get_by_name_recurse_up
14377         Rearrange gstpad.h.
14378         Update some docs.
14379
14380 2005-03-08  Wim Taymans  <wim@fluendo.com>
14381
14382         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14383         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14384         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14385         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14386         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14387         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14388         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14389         * gst/elements/gstidentity.c: (gst_identity_class_init):
14390         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14391         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14392         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14393         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14394         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14395         (gst_tee_link):
14396         * gst/gstelement.c: (gst_element_class_init),
14397         (gst_element_base_class_init), (gst_element_init),
14398         (gst_element_get_random_pad), (gst_element_wait_state_change),
14399         (gst_element_change_state), (gst_element_dispose),
14400         (gst_element_finalize), (gst_element_set_loop_function):
14401         * gst/gstelement.h:
14402         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14403         * gst/gstthread.c: (gst_thread_class_init),
14404         (gst_thread_release_children_locks), (gst_thread_change_state):
14405         * gst/schedulers/gstbasicscheduler.c:
14406         (gst_basic_scheduler_loopfunc_wrapper),
14407         (gst_basic_scheduler_chain_wrapper),
14408         (gst_basic_scheduler_src_wrapper),
14409         (gst_basic_scheduler_remove_element):
14410         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14411         Remove threadsafe properties. Fix elements because GObject
14412         complains when installing a property before declaring a
14413         set/get_property handler.
14414         Rearrange gstelement.h file, use STATE macros for state locks.
14415         Free mutexes in the finalize method instead of dispose.
14416
14417 2005-03-08  Wim Taymans  <wim@fluendo.com>
14418
14419         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14420         * gst/gstthread.c: (gst_thread_release_children_locks):
14421         Added parentage check.
14422         Fix build og GstThread again.
14423
14424 2005-03-08  Wim Taymans  <wim@fluendo.com>
14425
14426         * docs/design/part-MT-refcounting.txt:
14427         * docs/design/part-conventions.txt:
14428         * docs/design/part-gstobject.txt:
14429         * docs/design/part-relations.txt:
14430         * docs/design/part-standards.txt:
14431         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14432         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14433         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14434         (gst_bin_iterate_all_by_interface):
14435         * gst/gstbuffer.h:
14436         * gst/gstclock.h:
14437         * gst/gstelement.c: (gst_element_class_init),
14438         (gst_element_change_state), (gst_element_set_loop_function):
14439         * gst/gstelement.h:
14440         * gst/gstiterator.c:
14441         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14442         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14443         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14444         (gst_object_set_parent), (gst_object_unparent),
14445         (gst_object_check_uniqueness):
14446         * gst/gstobject.h:
14447         Docs updates, clean up some headers.
14448
14449 2005-03-07  Wim Taymans  <wim@fluendo.com>
14450
14451         * check/.cvsignore:
14452         * check/Makefile.am:
14453         * check/gst-libs/.cvsignore:
14454         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14455         * check/gst/.cvsignore:
14456         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14457         (START_TEST), (gstbus_suite), (main):
14458         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14459         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14460         (gst_data_suite), (main):
14461         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14462         (add_fold_func), (gstiterator_suite), (main):
14463         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14464         (thread_name_object), (thread_name_object_default),
14465         (gst_object_name_compare), (gst_object_suite), (main):
14466         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14467         (gst_pad_suite), (main):
14468         * check/gstcheck.c: (gst_check_log_message_func),
14469         (gst_check_log_critical_func), (gst_check_init):
14470         * check/gstcheck.h:
14471         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14472         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14473         Added checks.
14474
14475 2005-03-07  Wim Taymans  <wim@fluendo.com>
14476
14477         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14478         (gst_list_iterator_next), (gst_list_iterator_resync),
14479         (gst_list_iterator_free), (gst_iterator_new_list),
14480         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14481         (gst_iterator_free), (gst_iterator_push), (filter_next),
14482         (filter_resync), (filter_uninit), (filter_free),
14483         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14484         (gst_iterator_foreach), (find_custom_fold_func),
14485         (gst_iterator_find_custom):
14486         * gst/gstiterator.h:
14487         Added missing files.
14488
14489 2005-03-07  Wim Taymans  <wim@fluendo.com>
14490
14491         * Makefile.am:
14492         * configure.ac:
14493         * docs/design/part-MT-refcounting.txt:
14494         * docs/design/part-conventions.txt:
14495         * docs/design/part-gstobject.txt:
14496         * docs/design/part-relations.txt:
14497         * examples/mixer/mixer.c: (main):
14498         * examples/thread/thread.c: (eos), (main):
14499         * gst/Makefile.am:
14500         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14501         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14502         (gst_spider_plug_from_srcpad):
14503         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14504         (gst_spider_identity_change_state),
14505         (gst_spider_identity_sink_loop_type_finding):
14506         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14507         * gst/elements/gstidentity.c: (gst_identity_init):
14508         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14509         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14510         * gst/elements/gsttypefindelement.c: (free_entry):
14511         * gst/gst.c:
14512         * gst/gst.h:
14513         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14514         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14515         (gst_bin_set_index), (gst_bin_set_element_sched),
14516         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14517         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14518         (gst_bin_iterate_elements), (iterate_child_recurse),
14519         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14520         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14521         (compare_interface), (gst_bin_get_by_interface),
14522         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14523         * gst/gstbin.h:
14524         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14525         (gst_buffer_default_free), (gst_buffer_default_copy),
14526         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14527         (gst_buffer_create_sub):
14528         * gst/gstbuffer.h:
14529         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14530         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14531         (gst_caps_unref), (gst_static_caps_get),
14532         (gst_caps_remove_and_get_structure), (gst_caps_append),
14533         (gst_caps_append_structure), (gst_caps_remove_structure),
14534         (gst_caps_copy_nth), (gst_caps_set_simple),
14535         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14536         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14537         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14538         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14539         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14540         (gst_caps_structure_figure_out_union),
14541         (gst_caps_switch_structures), (gst_caps_do_simplify),
14542         (gst_caps_replace), (gst_caps_from_string),
14543         (gst_caps_copy_conditional):
14544         * gst/gstcaps.h:
14545         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14546         (_gst_clock_id_free), (gst_clock_id_unref),
14547         (gst_clock_id_compare_func), (gst_clock_id_wait),
14548         (gst_clock_id_wait_async), (gst_clock_class_init),
14549         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14550         (gst_clock_get_time), (gst_clock_set_time_adjust),
14551         (gst_clock_set_property), (gst_clock_get_property):
14552         * gst/gstclock.h:
14553         * gst/gstcompat.h:
14554         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14555         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14556         * gst/gstdata.h:
14557         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14558         (gst_element_requires_clock), (gst_element_provides_clock),
14559         (gst_element_set_clock), (gst_element_clock_wait),
14560         (gst_element_wait), (gst_element_set_time_delay),
14561         (gst_element_is_indexable), (gst_element_add_pad),
14562         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14563         (pad_compare_name), (gst_element_get_static_pad),
14564         (gst_element_request_pad), (gst_element_get_request_pad),
14565         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14566         (gst_element_class_get_pad_template_list),
14567         (gst_element_class_get_pad_template), (gst_element_error_func),
14568         (gst_element_get_random_pad), (gst_element_get_event_masks),
14569         (gst_element_send_event), (gst_element_seek),
14570         (gst_element_get_query_types), (gst_element_query),
14571         (gst_element_get_formats), (gst_element_convert),
14572         (gst_element_is_locked_state), (gst_element_set_locked_state),
14573         (gst_element_sync_state_with_parent), (gst_element_change_state),
14574         (gst_element_finalize), (gst_element_yield),
14575         (gst_element_interrupt), (gst_element_set_scheduler),
14576         (gst_element_get_scheduler), (gst_element_set_loop_function):
14577         * gst/gstelement.h:
14578         * gst/gstevent.h:
14579         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14580         (gst_format_get_by_nick), (gst_format_get_details),
14581         (gst_format_iterate_definitions):
14582         * gst/gstformat.h:
14583         * gst/gstindex.c: (gst_index_gtype_resolver):
14584         * gst/gstinfo.c:
14585         * gst/gstinfo.h:
14586         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14587         (gst_mem_chunk_free):
14588         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14589         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14590         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14591         (gst_object_dispatch_properties_changed),
14592         (gst_object_set_name_default), (gst_object_set_name),
14593         (gst_object_get_name), (gst_object_set_name_prefix),
14594         (gst_object_get_name_prefix), (gst_object_set_parent),
14595         (gst_object_get_parent), (gst_object_unparent),
14596         (gst_object_check_uniqueness), (gst_object_save_thyself),
14597         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14598         (gst_object_set_property), (gst_object_get_property),
14599         (gst_object_get_path_string):
14600         * gst/gstobject.h:
14601         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14602         (gst_real_pad_init), (gst_real_pad_get_property),
14603         (gst_pad_custom_new), (gst_pad_get_direction),
14604         (gst_pad_set_active), (gst_pad_is_active),
14605         (gst_pad_set_event_function), (gst_pad_is_linked),
14606         (gst_pad_link_free), (gst_pad_link_intersect),
14607         (gst_pad_link_fixate), (gst_pad_set_caps),
14608         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14609         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14610         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14611         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14612         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14613         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14614         (gst_pad_realize), (gst_pad_get_allowed_caps),
14615         (gst_real_pad_dispose), (gst_real_pad_finalize),
14616         (gst_pad_collectv), (gst_pad_collect_valist),
14617         (gst_pad_template_dispose), (gst_pad_template_new),
14618         (gst_pad_get_internal_links):
14619         * gst/gstpad.h:
14620         * gst/gstpipeline.c: (gst_pipeline_dispose),
14621         (gst_pipeline_change_state):
14622         * gst/gstpipeline.h:
14623         * gst/gstplugin.c:
14624         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14625         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14626         * gst/gstpluginfeature.h:
14627         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14628         * gst/gstquery.c: (_gst_query_type_initialize),
14629         (gst_query_type_register), (gst_query_type_get_by_nick),
14630         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14631         * gst/gstquery.h:
14632         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14633         * gst/gstscheduler.c: (gst_scheduler_add_element),
14634         (gst_scheduler_factory_create):
14635         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14636         (gst_structure_free), (gst_structure_set_name),
14637         (gst_structure_id_set_value), (gst_structure_set_value),
14638         (gst_structure_set_valist), (gst_structure_remove_field),
14639         (gst_structure_remove_fields),
14640         (gst_structure_remove_fields_valist),
14641         (gst_structure_remove_all_fields), (gst_structure_foreach),
14642         (gst_structure_map_in_place),
14643         (gst_caps_structure_fixate_field_nearest_int),
14644         (gst_caps_structure_fixate_field_nearest_double):
14645         * gst/gststructure.h:
14646         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14647         (gst_system_clock_init), (gst_system_clock_dispose),
14648         (gst_system_clock_async_thread),
14649         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14650         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14651         * gst/gstsystemclock.h:
14652         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14653         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14654         * gst/gsttaginterface.c:
14655         * gst/gstthread.c: (gst_thread_dispose),
14656         (gst_thread_release_children_locks), (gst_thread_change_state),
14657         (gst_thread_main_loop):
14658         * gst/gsttrashstack.h:
14659         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14660         * gst/gsttypes.h:
14661         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14662         (gst_element_request_pad), (gst_element_get_pad_from_template),
14663         (gst_element_request_compatible_pad),
14664         (gst_element_get_compatible_pad_filtered),
14665         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14666         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14667         (gst_element_link_many), (gst_element_link),
14668         (gst_element_link_pads), (gst_element_unlink_pads),
14669         (gst_element_unlink_many), (gst_element_unlink),
14670         (gst_pad_can_link_filtered), (gst_pad_can_link),
14671         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14672         (gst_object_default_error), (gst_bin_add_many),
14673         (gst_bin_remove_many), (gst_element_populate_std_props),
14674         (gst_element_class_install_std_props), (gst_buffer_merge),
14675         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14676         (link_fold_func), (gst_pad_proxy_setcaps):
14677         * gst/gstutils.h:
14678         * gst/gstvalue.c: (gst_value_deserialize_string):
14679         * gst/parse/grammar.y:
14680         * gst/schedulers/gstbasicscheduler.c:
14681         (gst_basic_scheduler_cothreaded_chain),
14682         (gst_basic_scheduler_chain_recursive_add),
14683         (gst_basic_scheduler_pad_link):
14684         * gst/schedulers/gstoptimalscheduler.c:
14685         (get_group_schedule_function),
14686         (gst_opt_scheduler_state_transition),
14687         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14688         * libs/gst/bytestream/bytestream.c:
14689         * libs/gst/dataprotocol/dataprotocol.c:
14690         (gst_dp_header_from_buffer):
14691         * po/nb.po:
14692         * po/ru.po:
14693         * tests/threadstate/threadstate2.c: (eos):
14694         * tools/gst-compprep.c: (main):
14695         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14696         (print_pad_info), (print_children_info):
14697         * tools/gst-launch.c: (idle_func), (main):
14698         * tools/gst-md5sum.c: (idle_func), (main):
14699         * tools/gst-xmlinspect.c: (print_element_info):
14700         First THREADED backport attempt, focusing on adding locks and
14701         making sure the API is threadsafe. Needs more work. More docs
14702         follow this week.
14703
14704 2005-02-24  Andy Wingo  <wingo@pobox.com>
14705
14706         * tests/bench-complexity.scm:
14707         * tests/complexity.gnuplot: New files, good for running complexity
14708         benchmarks.
14709
14710         * tests/Makefile.am:
14711         * tests/complexity.c: New test, sets up N elements, at each level
14712         teeing into M streams per element. Eeeenteresting.
14713
14714         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14715         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14716         running bench-mass_elements.scm.
14717
14718         * tests/bench-mass_elements.scm: New script, runs mass_elements
14719         for various numbers of identities, outputting the results to a
14720         file. Requires guile 1.6. Just for testing.
14721
14722 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14723
14724         * gst/schedulers/fairscheduler.c:
14725           compile with debug disabled
14726
14727 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14728
14729         * configure.ac:
14730           hunting season on 0.9 is now OPEN