gst/gstghostpad.c: More cleanups.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-09-01  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
4         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
5         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
7         (gst_ghost_pad_parent_unset),
8         (gst_ghost_pad_internal_do_activate_push),
9         (gst_ghost_pad_internal_do_activate_pull),
10         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
13         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
14         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
15         (gst_ghost_pad_new_no_target_from_template),
16         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
17         More cleanups.
18         Avoid needless typechecking in macros.
19         Since the internal pad is always present and never changes, there is
20         no need to locking or ref when retrieving it.
21         Improve debugging a bit.
22         Handle link errors when setting the target. Fixes #341029.
23
24 2006-09-01  Wim Taymans  <wim@fluendo.com>
25
26         * docs/libs/gstreamer-libs-sections.txt:
27         * docs/plugins/gstreamer-plugins-sections.txt:
28         Fix docs some more.
29
30         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
31         (gst_collect_pads_event):
32         * libs/gst/base/gstcollectpads.h:
33         Documentation updates.
34         Free queued buffer when removing a pad.
35
36 2006-08-31  Michael Smith  <msmith@fluendo.com>
37
38         * gst/gstutils.c: (gst_element_link_pads),
39         (gst_element_link_pads_filtered):
40           Ensure that we set a capsfilter to NULL if we failed to link it
41           when doing filtered linking, to avoid criticals.
42
43           No need to check for unreffing srcpad, which is explicly NULLed
44           above (a trivial code cleanup).
45
46 2006-08-31  Wim Taymans  <wim@fluendo.com>
47
48         * docs/design/part-gstghostpad.txt:
49         Update ascii art in documentation.
50
51         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
52         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
53         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
54         (gst_ghost_pad_internal_do_activate_push),
55         (gst_ghost_pad_internal_do_activate_pull),
56         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
57         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
58         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
59         (gst_ghost_pad_set_target):
60         Small cleanups and leak fixes.
61         Remove some checks now that the internal pad is never NULL.
62         Fix the case where linking pads without a target would create nasty
63         criticals. Fixes #341029.
64         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
65         value of _set_target().
66
67         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
68         (gst_ghost_pad_suite):
69         Some more tests for creating and linking untargeted ghostpads.
70
71 2006-08-31  Edward Hervey  <edward@fluendo.com>
72
73         * docs/gst/gstreamer-sections.txt:
74         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
75         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
76         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
77         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
78         (gst_ghost_pad_new_from_template),
79         (gst_ghost_pad_new_no_target_from_template):
80         * gst/gstghostpad.h:
81         Refactored *_new() functions.
82         Templates are now used as a g_object_new() parameter.
83         Use template in _do_getcaps() if we don't have a target.
84         Small documentation cleanups.
85         Added two new constructors:
86         gst_ghost_pad_new_from_template()
87         gst_ghost_pad_new_no_target_from_template()
88         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
89         (gst_ghost_pad_suite):
90         Added tests for new ghostpad instanciation functions.
91
92         API additions: gst_ghost_pad_new_from_template,
93         gst_ghost_pad_new_no_target_from_template
94
95 2006-08-30  Stefan Kost,,,  <ensonic@users.sf.net>
96
97         * docs/random/ensonic/profiling.txt:
98           Ideas about qos profiling.
99
100 2006-08-29  Wim Taymans  <wim@fluendo.com>
101
102         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
103         Code cleanups.
104         Fix memleak.
105
106 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
107
108         * gst/gstxml.c:
109           Improve and detypofy docs.
110
111         * tests/check/Makefile.am:
112         * tests/check/gst/.cvsignore:
113         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
114           Add a basic test suite for GstXML.
115
116 2006-08-29  Wim Taymans  <wim@fluendo.com>
117
118         * gst/gstelement.c: (activate_pads), (clear_caps),
119         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
120         Clear the pad caps when the element shut down all of the pads and
121         is not streaming data that could modify the caps. 
122         Fixes #352958.
123
124 2006-08-28  Michael Smith  <msmith@fluendo.com>
125
126         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
127           Revert previous change; I misunderstood single-segment mode.
128
129 2006-08-28  Michael Smith  <msmith@fluendo.com>
130
131         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
132           Unset DISCONT on buffers when using single-segment mode.
133
134 2006-08-28  Wim Taymans  <wim@fluendo.com>
135
136         * gst/gstcaps.c: (gst_caps_merge_structure):
137         * gst/gstcaps.h:
138         Fix docs and indentation again.
139
140         * tests/check/gst/gstquery.c: (GST_START_TEST):
141         Fix leak in tests and add some more tests.
142
143 2006-08-28  Edward Hervey  <edward@fluendo.com>
144
145         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
146         Inform GstSegment of the last stop position in order for the current
147         segment to have a proper duration if it doesn't have a specific stop
148         position from which a duration could be calculated.
149         This bug was noticeable when a non-flushing, non-update new segment was
150         followed by another segment (all buffers from the new segment were being
151         dropped).
152
153 2006-08-28  Wim Taymans  <wim@fluendo.com>
154
155         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
156         Small comment update.
157
158         * plugins/elements/gstidentity.c: (gst_identity_class_init),
159         (gst_identity_transform_ip):
160         Drop-probability is broken, mention this in the code with a 
161         FIXME and also in the property description.
162         Make silent also be silent about the drop messages.
163
164 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
165
166         * docs/manual/appendix-win32.xml:
167           Remove mention of popt, we don't depend on that any
168           longer (#353136). Add some comments pointing out that
169           this section is slightly outdated.
170
171 2006-08-28  Wim Taymans  <wim@fluendo.com>
172
173         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
174
175         * gst/gstquery.c: (gst_query_new_segment):
176         * tests/check/gst/gstquery.c: (GST_START_TEST):
177         Initialize variables when creating a new segment query.
178         Fixes #353121.
179
180 2006-08-28  Wim Taymans  <wim@fluendo.com>
181
182         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
183
184         * gst/gstelement.c: (gst_element_get_bus):
185         * tests/check/gst/gstelement.c: (GST_START_TEST):
186         Check for NULL before _reffing the bus. Fixes #353122.
187
188 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
189
190         * docs/manual/basics-bus.xml:
191           Docs update: fix wrong callback return value explanation; add
192           some lines about the implicit relationship between main loop
193           and main context; remove duplicate main loop variable declaration.
194
195 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
196
197         * tests/check/gst/gstcaps.c: (GST_START_TEST):
198           Don't leak caps in unit test; add a few more simple
199           checks. 
200
201 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
202
203         * docs/gst/gstreamer-sections.txt:
204         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
205         (gst_caps_structure_is_subset), (gst_caps_merge),
206         (gst_caps_merge_structure):
207         * gst/gstcaps.h:
208         * libs/gst/base/gstbasetransform.c:
209         (gst_base_transform_transform_caps):
210         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
211           implement caps merging (fixes #352580)
212
213 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
214
215         * tools/Makefile.am:
216         * tools/gst-plot-timeline.py:
217           add debug-log plotting developer tool (#340674)
218
219 2006-08-23  Wim Taymans  <wim@fluendo.com>
220
221         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
222         (gst_pad_stop_task):
223         Improve debugging for task functions.
224
225         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
226         (gst_task_start), (gst_task_pause), (gst_task_join):
227         Make sure that the task function started and finished after a 
228         join(). 
229         Don't try to push the task function on the threadpool multiple
230         times.
231         Improve the g_warning message with some useful suggestions
232         about how to fix the problem. 
233
234 2006-08-23  Wim Taymans  <wim@fluendo.com>
235
236         * gst/gstutils.c: (gst_pad_proxy_getcaps):
237         Handle RESYNC correctly in _proxy_getcaps.
238
239 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
240
241         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
242         (gst_xml_parse_memory), (gst_xml_get_element):
243           Chain up to parent class in dispose function and also
244           unref the elements in the toplevel_elements GList.
245           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
246           Always return a reference in gst_xml_get_element() rather
247           than only sometimes.
248
249         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
250           Don't leak GstXml object.
251
252 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
253
254         * docs/gst/gstreamer-sections.txt:
255         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
256         (gst_caps_merge):
257         * gst/gstcaps.h:
258         * libs/gst/base/gstbasetransform.c:
259         (gst_base_transform_transform_caps):
260           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
261           in a better way
262
263 2006-08-21  Edward Hervey  <edward@fluendo.com>
264
265         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
266         Implement GObject::dispose virtual method in GstXML so we can free the
267         top_elements GList.
268
269 2006-08-21  Wim Taymans  <wim@fluendo.com>
270
271         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
272         (gst_buffer_create_sub):
273         Copy duration/offset_end/caps when creating a subbuffer of the
274         complete parent.
275         Make the subbuffer read-only when we make the metadata writable for
276         now. Fixes #351768.
277
278         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
279         Added check for metadata copy when creating subbuffers.
280
281 2006-08-21  Edward Hervey  <edward@fluendo.com>
282
283         * libs/gst/base/gstbasetransform.c:
284         (gst_base_transform_buffer_alloc):
285         Only call downstream buffer_alloc if transform element is passthrough
286         or always_in_place. Closes #350449.
287
288 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
289
290         * ChangeLog:
291           ChangeLog surgery to add comments to previous changes
292
293 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
294
295         * gst/gst.c:
296           Add comments
297
298         * gst/gstpad.c: (gst_pad_set_active):
299           Be more verbose in the log
300
301         * libs/gst/base/gstbasetransform.c:
302         (gst_base_transform_transform_caps):
303           Simplify caps to get rid of duplicates, fixes #345444
304
305 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
306
307         * gst/gstvalue.c:
308         * gst/gstvalue.h:
309           Use these optimizations only internaly.
310
311 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
312
313         * gst/gstvalue.c: (gst_value_compare_list),
314         (gst_value_compare_fraction_range),
315         (gst_value_intersect_fraction_fraction_range),
316         (gst_value_intersect_fraction_range_fraction_range),
317         (gst_value_subtract_fraction_fraction_range),
318         (gst_value_subtract_fraction_range_fraction_range),
319         (gst_value_get_compare_func), (gst_value_compare),
320         (gst_value_compare_with_func):
321         * gst/gstvalue.h:
322           Saves the expensive lookup of the compare function in many cases
323          (#345444)
324
325 2006-08-18  Edward Hervey  <edward@fluendo.com>
326
327         * tests/check/gst/gstinfo.c: (gst_info_suite):
328         Disable test that require gstdebug if it wasn't built in core.
329
330 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
331
332         * docs/random/ensonic/logging.txt:
333           update ideas
334           
335         * gst/gstinfo.c: (gst_debug_log_default):
336           reorder fields, save some columns, add optinal color codes for log-
337           levels
338
339 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
340
341         * docs/random/ensonic/logging.txt:
342           add ideas about making the logs abit more useful
343
344 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
345
346         * docs/pwg/advanced-events.xml:
347         * docs/pwg/titlepage.xml:
348           Update for 0.10 API (#340627). Add myself
349           to authors list.
350
351 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
352
353         * docs/libs/gstreamer-libs-docs.sgml:
354         * docs/libs/gstreamer-libs-sections.txt:
355         * libs/gst/check/gstbufferstraw.c:
356           Make gstcheck stuff show up in docs (still needs to
357           be documented properly though).
358
359 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
360
361         * docs/gst/gstreamer-sections.txt:
362         * gst/Makefile.am:
363         * gst/gst.c: (init_post):
364         * gst/gst_private.h:
365         * gst/gstquark.c: (_priv_gst_quarks_initialize):
366         * gst/gstquark.h:
367         * gst/gstquery.c: (gst_query_new_position),
368         (gst_query_set_position), (gst_query_parse_position),
369         (gst_query_new_duration), (gst_query_set_duration),
370         (gst_query_parse_duration), (gst_query_new_convert),
371         (gst_query_set_convert), (gst_query_parse_convert),
372         (gst_query_new_segment), (gst_query_set_segment),
373         (gst_query_parse_segment), (gst_query_new_seeking),
374         (gst_query_set_seeking), (gst_query_parse_seeking):
375         Add internal helpers for pre-registering quarks from static strings
376         and using the quark values directly instead of looking them up when
377         creating and parsing queries. Can be used for event construction too.
378         Closes #350432.
379
380 2006-08-16  Wim Taymans  <wim@fluendo.com>
381
382         * gst/gstbin.c:
383         Fix bogus docs.
384
385 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
386
387         * gst/gstutils.c: (gst_util_set_value_from_string):
388           Fix memleak (#351502).
389
390         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
391           Add unit test for most of gst_util_set_value_from_string()
392           (not that one would want to encourage use of this function).
393
394 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
395
396         * libs/gst/check/gstcheck.h:
397           Use const gchar * variables in fail_unless_equals_string
398           macro to avoid compiler warnings (and don't use tabs for
399           indenting).
400
401 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
402
403         * tools/gst-launch.c: (print_tag):
404           More space on the left for the tag names, to cater
405           for the 'extended comment' tag (not touching the
406           string for the first line since it's translated).
407
408 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
409
410         * libs/gst/check/gstcheck.h:
411           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
412           print something when they fail.
413
414 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
415
416         * docs/gst/gstreamer-sections.txt:
417         * gst/gsttaglist.c: (_gst_tag_initialize):
418         * gst/gsttaglist.h:
419           API: add GST_TAG_EXTENDED_COMMENT (#350935).
420           Also change merge function for GST_TAG_COMMENT to
421           use_first.
422
423 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
424
425         * gst/gstinfo.c: (gst_debug_print_object):
426           Make GST_PTR_FORMAT print messages as well.
427
428         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
429         (GST_START_TEST), (gst_info_suite):
430           More tests.
431
432 2006-08-14  Edward Hervey  <edward@fluendo.com>
433
434         * gst/gstelementfactory.c: (gst_element_register):
435         If the GstElementClass doesn't have a GstElementDetails with all fields
436         filled up correctly (longname, description AND author), then error out
437         nicely instead of crashing.
438
439 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
440
441         * gst/gststructure.c:
442           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
443
444         * gst/gstvalue.h:
445           Expand on the difference between arrays and lists as we use them.
446           
447 2006-08-14  Wim Taymans  <wim@fluendo.com>
448
449         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
450         If the parent state change function failed, don't assume we can safely
451         stop the source, this will be done when the pads are deactivated.
452
453 2006-08-14  Wim Taymans  <wim@fluendo.com>
454
455         * gst/gstbuffer.c:
456         * gst/gsttask.c: (gst_task_join):
457         Small doc updates.
458
459         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
460         (gst_pad_stop_task):
461         When pad (de)activation failed for some reason, restore the old
462         activation mode and set the pad to flushing instead of assuming the
463         pad is deactivated.
464         If the _task_join() failed, reinstall the task on the pad so that it can
465         be stopped later and return an error.
466
467 2006-08-11  Andy Wingo  <wingo@pobox.com>
468
469         * configure.ac:
470         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
471         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
472         is only for users of API that don't want to see deprecated
473         functions in the headers; people that want to compile out
474         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
475         CFLAGS. Fixes the build of multifdsink, or will soon..
476
477 2006-08-11  Wim Taymans  <wim@fluendo.com>
478
479         * docs/gst/gstreamer-sections.txt:
480         Add GstClockClass vmethod docs.
481
482         * gst/gstcaps.h:
483         Mark #endif with comment for associated #if
484
485         * gst/gstclock.c: (gst_clock_id_wait):
486         * gst/gstclock.h:
487         Add vmethod wait_jitter to avoid an unneeded _get_time() for
488         most clock implementations.
489         Document vmethods.
490         Flesh out docs about resolution methods.
491         API: GstClockClass::wait_jitter
492
493         * gst/gstsystemclock.c: (gst_system_clock_class_init),
494         (gst_system_clock_async_thread),
495         (gst_system_clock_id_wait_jitter_unlocked),
496         (gst_system_clock_id_wait_jitter):
497         Use base class wait_jitter variant for improved performance
498         due to less clock polling.
499
500 2006-08-11  Edward Hervey  <edward@fluendo.com>
501
502         * gst/gst.c: (gst_init_check), (init_post):
503         Set gst as being initialized before scanning/updating the registry,
504         since there might be some plugins that call gst_init() and we don't
505         want to loop back in.
506         Closes #350879
507
508 2006-08-11  Wim Taymans  <wim@fluendo.com>
509
510         * docs/design/part-qos.txt:
511         Bring docs in line with the code. Mostly the sign of the jitter was
512         wrong in the docs. Fixes #349943.
513
514         * gst/gstclock.c:
515         Fix the docs for the jitter.
516
517         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
518         (gst_event_parse_tag), (gst_event_new_buffer_size),
519         (gst_event_parse_buffer_size), (gst_event_parse_qos),
520         (gst_event_new_seek), (gst_event_parse_seek),
521         (gst_event_new_navigation):
522         Make sure the GstStructure has no parent when creating custom
523         events.
524         Add some more argument checking so that we avoid 0.0 rates.
525         Flesh out the docs for the QoS event some more.
526
527 2006-08-11  Wim Taymans  <wim@fluendo.com>
528
529         * docs/gst/gstreamer-sections.txt:
530         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
531         (ensure_current_registry_forking), (ensure_current_registry),
532         (parse_one_option), (parse_goption_arg), (gst_deinit),
533         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
534         * gst/gst.h:
535         Doc updates.
536         Added API and command line option to disable registry forking in
537         addition to the environment variable.
538         Constify some static arrays.
539         Added some more debug.
540         Don't deinit twice.
541         API: gst_registry_fork_is_enabled()
542         API: gst_registry_fork_set_enabled()
543         API: --gst-disable-registry-fork command line option
544         Fixes #348918.
545
546 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
547
548         * gst/gst.c: (gst_init):
549           Fix typo in error message.
550
551 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
552
553         * libs/gst/controller/gstcontroller.h:
554           fix ABI size-correction
555
556         * tests/check/libs/gdp.c: (gst_dp_suite):
557           make tests that use deprecated API conditional
558
559 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
560
561         * docs/libs/gstreamer-libs-sections.txt:
562         * libs/gst/controller/gstcontroller.c:
563         (_gst_controller_get_property), (_gst_controller_set_property),
564         (_gst_controller_init), (_gst_controller_class_init):
565         * libs/gst/controller/gstcontroller.h:
566         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
567         (gst_object_set_control_rate):
568           API: add gst_object_{s,g}et_control_rate(), add private data section,
569           fix docs
570
571         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
572         * libs/gst/dataprotocol/dataprotocol.h:
573           add deprecation guards to make gtk-doc happy and allow disabling cruft
574
575 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
576
577         * tests/check/Makefile.am:
578         * tests/check/gst/.cvsignore:
579           Let's enable the new unit test as well.
580
581 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
582
583         * configure.ac:
584         * docs/gst/gstreamer-sections.txt:
585         * gst/gstconfig.h.in:
586         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
587         (_gst_info_printf_extension_ptr),
588         (_gst_info_printf_extension_segment):
589           API: add GST_SEGMENT_FORMAT, which is a printf extension we
590           register that lets us easily dump GstSegments into debug
591           logs (#350419).
592
593         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
594         (info_segment_format_printf_extension), (gst_info_suite):
595           Add simple unit test that logs a bunch of different segments (not
596           valgrinded at the moment because of leaks in gst_debug_add_log_function).
597
598 2006-08-09  Edward Hervey  <edward@fluendo.com>
599
600         * libs/gst/base/gstbasetransform.c:
601         (gst_base_transform_buffer_alloc):
602         Even if we can't figure out the proper format to request downstream,
603         call buffer_alloc() downstream with the input parameters without setting
604         the caps on the srcpad. This will force negotiation in the chain
605         function.
606         Closes #350449
607
608 2006-08-08  Edward Hervey  <edward@fluendo.com>
609
610         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
611         Unlinking from a pad without a target is now a perfectly valid case
612         which should NOT raise an assertion.
613         This case would happen if a linked ghostpad its target set to NULL after
614         it was previously linked.
615
616 2006-08-08  Edward Hervey  <edward@fluendo.com>
617
618         * tests/check/libs/gdp.c:
619         Also comment out the test (see below).
620
621 2006-08-08  Edward Hervey  <edward@fluendo.com>
622
623         * tests/check/libs/gdp.c: (gst_dp_suite):
624         Use the architecture information from config.h and not gcc macros
625         in order to properly disable a test that fails on PPC64.
626
627 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
628
629         * gst/gstelement.c: (gst_element_remove_pad):
630           Don't crash printing the warning if the pad has no parent.
631
632 2006-08-02  Wim Taymans  <wim@fluendo.com>
633
634         * libs/gst/dataprotocol/dataprotocol.c:
635         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
636         (gst_dp_crc), (gst_dp_header_payload_length),
637         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
638         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
639         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
640         (gst_dp_event_from_packet), (gst_dp_validate_header),
641         (gst_dp_validate_payload):
642         Make debug category static
643         Constify the crc table.
644         Do some more arg checking in public functions.
645         Fix some docs and do some small cleanups.
646
647         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
648         Add some more checks to see if GDP deals with bogus input.
649
650 2006-07-31  Wim Taymans  <wim@fluendo.com>
651
652         * gst/gstvalue.c: (gst_value_compare_list):
653         Fix GstValueList comparison code. Fixes #347293.
654
655         * tests/check/gst/gstvalue.c: (GST_START_TEST):
656         Check to test GstValueList comparison.
657
658 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
659
660         * gst/gstelementfactory.c: (gst_element_factory_create):
661         Remove unnecessary ref/unref pair
662
663         * gst/parse/grammar.y:
664         Make sure to free the parse buffer on all code paths.
665         Move a g_free up to the error handler where it's easier to see.
666
667         * tests/check/gst/gstevent.c: (test_event):
668         Extending timeout for downstream travelling events to 10 seconds to
669         hopefully avoid intermittent failure on the buildbots.
670
671         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
672         Don't manually set the state of the src element - it will happen as a
673         natural consequence of the pipeline changing state, and that way it
674         will do it in the right order too.
675
676 2006-07-31  Wim Taymans  <wim@fluendo.com>
677
678         * libs/gst/base/gstbasetransform.c:
679         (gst_base_transform_buffer_alloc):
680         Use OBJECT_LOCK and refcounting to get the pad caps in the
681         buffer_alloc function because the caps could change while we are
682         busy with them. Fixes #349105
683
684 2006-07-31  Wim Taymans  <wim@fluendo.com>
685
686         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
687         Protect _PAD_CAPS with OBJECT_LOCK.
688
689 2006-07-31  Wim Taymans  <wim@fluendo.com>
690
691         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
692         (gst_pad_get_property), (gst_pad_activate_pull),
693         (gst_pad_activate_push), (gst_pad_set_blocked_async),
694         (gst_pad_set_activate_function),
695         (gst_pad_set_activatepull_function),
696         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
697         (gst_pad_set_getrange_function),
698         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
699         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
700         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
701         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
702         (gst_pad_set_acceptcaps_function),
703         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
704         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
705         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
706         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
707         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
708         (gst_pad_configure_sink), (gst_pad_configure_src),
709         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
710         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
711         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
712         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
713         (gst_pad_send_event):
714         Use _DEBUG_OBJECT when it makes sense.
715         Protect GST_PAD_CAPS with the OBJECT_LOCK.
716         Small cleanups and code reflows.
717         Avoid caps refcounting in _accept_caps.
718         Refactor alloc_buffer so that the code performed on the peer is in a
719         separate function. Also if the pad does not implement a buffer alloc
720         function, we should still check if the pad is flushing before falling
721         back to the default allocator.
722
723 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
724
725         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
726         Make all uses of identity and fakesink have silent=true to avoid
727         serialising every passing data structure, which is breaking tests
728         on FC4 for some unknown reason.
729
730 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
731
732         * gst/parse/Makefile.am:
733         * gst/parse/grammar.y:
734         * gst/parse/parse.l:
735           Reverted previous patch as it required to bump the flex dependency to
736           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
737
738 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
739
740         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
741
742         * gst/parse/Makefile.am:
743         * gst/parse/grammar.y:
744         * gst/parse/parse.l:
745           push & pop the state of the lexer for reentrant use case
746           Fixes #349180
747
748 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
749
750         * libs/gst/base/gstbasesrc.h:
751           Note in the docs that the ::newsegment vfunc is not actually used by
752           GstBaseSrc.
753
754 2006-07-28  Wim Taymans  <wim@fluendo.com>
755
756         * libs/gst/base/gstcollectpads.c:
757         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
758         (gst_collect_pads_clear), (gst_collect_pads_flush),
759         (gst_collect_pads_event), (gst_collect_pads_chain):
760         When flushing a pad, also clear the queued buffer so that we don't
761         accidentally use it when we shouldn't.
762         Fix leaks by inreffing incomming buffer.
763         Flush out queued buffers in case of errors.
764         Fixes #347452.
765
766 2006-07-28  Wim Taymans  <wim@fluendo.com>
767
768         * docs/random/phonon-gst:
769         Random notes about a Phonon backend.
770
771 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
772
773         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
774         Extra debug output
775         * tests/check/libs/gdp.c: (gst_dp_suite):
776         Take a whack at fixing the ppc compile using a different define to
777         disable the broken test.
778
779         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
780         Remove excess g_print()
781
782 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
783
784         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
785         Oops, meant to uncomment this line too to dampen the noise a bit.
786
787 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
788
789         * gst/parse/grammar.y:
790         * gst/parse/parse.l:
791         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
792         (GST_START_TEST), (parse_suite):
793         Fix some of the leaks exposed by extending the parse-launch testsuite,
794         and move the 3 I can't figure out into a separate test that won't run
795         the pipelines unless the appropriate line is uncommented.
796
797 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
798
799         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
800           Requesting 0 bytes before the end of the file should result in
801           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
802           unit test.
803
804 2006-07-27  Wim Taymans  <wim@fluendo.com>
805
806         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
807         Fix useless assert, a uint is always positive.
808
809         * gst/gststructure.c: (gst_structure_nth_field_name),
810         (gst_structure_foreach), (gst_structure_map_in_place):
811         Check input arguments for public functions to avoid obvious crashes.
812
813         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
814         * plugins/elements/gstfakesink.h:
815         Do less useless typechecking.
816
817 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
818
819         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
820           Do not use mmap() by default since there are a number of error
821           conditions that we would like to handle in a non-fatal way that
822           will result in a SIGBUS if we use mmap(). Examples: external
823           devices (USB harddrive, portable music player) being unplugged
824           while in use; file on mounted CD/DVD that can't be read because
825           the medium is partly damaged. Fixes #348455 and #348475.
826
827 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
828
829         * gst/gstquery.h:
830         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
831         rates are a gdouble
832
833 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
834
835         * gst/gstregistry.c:
836           Move big documentation comment into class section header, so that it
837           appears in the API docs.
838
839 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
840
841         * docs/gst/gstreamer-sections.txt:
842         Oops. Commit the docs additions too for new API.
843         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
844
845 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
846
847         * gst/gststructure.c: (gst_structure_id_set),
848         (gst_structure_id_set_valist):
849         * gst/gststructure.h:
850         Add API for setting values into structures without performing
851         a quark lookup, if the appropriate quark is already known.
852
853         API: gst_structure_id_set
854         API: gst_structure_id_set_valist
855
856         * gst/parse/grammar.y:
857         * gst/parse/parse.l:
858         Remove some dead code shown by the coverage information.
859         Don't throw a critical g_warning when encountering a syntax error,
860         just warn and let the normal error path handle it.
861
862         * plugins/elements/gstelements.c:
863         Bump the rank of filesink up to PRIMARY so that it is preferred over
864         gnomevfssink for file:// sink uri's
865
866         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
867         (GST_START_TEST), (run_delayed_test),
868         (gst_parse_test_element_base_init),
869         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
870         (gst_parse_test_element_change_state),
871         (gst_register_parse_element), (parse_suite):
872         Beef up the tests for parse syntax to check that more error cases
873         fail as they are supposed to. Increases the test coverage a bit.
874
875 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
876
877         * docs/manual/basics-elements.xml:
878           Fix gst_element_link() example.
879
880         * gst/gstutils.c:
881           Mention in API docs that one should usually gst_bin_add()
882           elements to a bin or pipeline before doing the linking.
883           
884 2006-07-26  Wim Taymans  <wim@fluendo.com>
885
886         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
887         (gst_subbuffer_get_type), (gst_buffer_create_sub):
888         Avoid function call for known types by keeping the buffer and
889         subbuffer GType global.
890
891         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
892         Random silly optimisations in read() path.
893
894 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
895
896         * tools/gst-launch.c: (main):
897           If the top-level of the parse is a normal bin, it doesn't do the
898           right logic to run as a top-level element, so place it inside a
899           pipeline.
900
901 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
902
903         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
904           Remove superfluous g_object_notify() calls, GObject does
905           that for us automatically.
906
907 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
908
909         * gst/gstinfo.h:
910           Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
911           here.
912
913 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
914
915         * gst/gsttaglist.c: (_gst_tag_initialize):
916           Allow more than one GST_TAG_IMAGE per taglist.
917
918 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
919
920         * gst/gstminiobject.c:
921           update docs
922         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
923         (gst_fd_src_create):
924           log recurring events at LOG level
925           add more debug for when the fd gets set
926
927 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
928
929         * gst/gstparse.c: (gst_parse_launch):
930           Also remove reentrance checks if flex is MT save (#348179)
931          Fix my empty ChangeLog entry below
932
933 2006-07-21  Andy Wingo  <wingo@pobox.com>
934
935         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
936
937         * libs/gst/check/Makefile.am
938         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
939         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
940         * libs/gst/check/gstbufferstraw.h:
941         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
942         functions, thus proving I am still a GStreamer haxor. OK I wrote
943         them a long time ago, but anyways.
944
945 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
946
947         * configure.ac:
948         * gst/gstparse.c: (gst_parse_launch):
949           Check for flex version and omit mutex if we have a MT save flex
950           (fixes #348179)
951
952 2006-07-21  Wim Taymans  <wim@fluendo.com>
953
954         * gst/gstparse.c: (gst_parse_launch):
955         Protect recursive calls to _parse with a recursive mutex
956         and busy flag.
957
958 2006-07-21  Wim Taymans  <wim@fluendo.com>
959
960         * tests/check/gst/gstpad.c: (GST_START_TEST):
961         Fix leak in test.
962
963 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
964
965         * gst/gstparse.c: (gst_parse_launch):
966           Do not hange on recursive uasge of gst_parse_launch()
967
968 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
969
970         * gst/gsttaglist.c:
971           Add some more docs, comments and FIXME 0.11s here and there
972           and  also fix some typos.
973
974 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
975
976         * gst/gstsegment.h:
977           Convert tabs to spaces for better readability. 
978
979 2006-07-20  Edward Hervey  <edward@fluendo.com>
980
981         * tests/check/libs/gdp.c: (gst_dp_suite):
982         the test_buffer test fails at line 140 on ppc64 at the following
983         check:
984         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
985                 "GST_BUFFER_IN_CAPS flag should have been copied !");
986         See bug #348114 for more details.
987
988 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
989
990         * docs/pwg/advanced-scheduling.xml:
991         * gst/gstpad.c:
992           Fix typos (#348000).
993
994 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
995
996         * docs/pwg/intro-basics.xml:
997           Fix wrong links (#347927).
998
999 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1000
1001         * gst/gstregistry.h:
1002         * gst/gstregistryxml.c: (load_feature),
1003         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1004         * win32/common/config.h:
1005         make --disable-index work (#342564)
1006
1007 2006-07-18  Wim Taymans  <wim@fluendo.com>
1008
1009         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1010
1011         * gst/Makefile.am:
1012         * gst/gsttrace.h:
1013         The attached patch adds two missing defines to gsttrace.h when tracing
1014         is disabled.  It also corrects one existing define.
1015         Fixes #347756.
1016
1017 2006-07-17  Wim Taymans  <wim@fluendo.com>
1018
1019         * docs/gst/gstreamer-sections.txt:
1020         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1021         * gst/gst.h:
1022         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1023         Add two functions to check and change the SIGSEGV behaviour
1024         when loading plugins.
1025         Don't mess with the SIGSEGV handler when we were told not to.
1026         Fixes #347794.
1027         API: gst_segtrap_is_enabled
1028         API: gst_segtrap_set_enabled
1029
1030 2006-07-14  Wim Taymans  <wim@fluendo.com>
1031
1032         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1033         * tests/check/elements/filesrc.c: (GST_START_TEST):
1034         Revert fix for regression in #347408 after release.
1035
1036 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1037
1038         Patch by: Antoine Tremblay <hexa00 at gmail com>
1039
1040         * gst/gstutils.c: (gst_element_unlink):
1041           Free iterator when done (#347311).
1042
1043         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1044           And add a test case for this.
1045
1046 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1047
1048         * configure.ac:
1049         Bump nano back to CVS
1050
1051 === release 0.10.9 ===
1052
1053 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1054
1055         * configure.ac:
1056           releasing 0.10.9, "On the road again"
1057
1058 2006-07-13  Wim Taymans  <wim@fluendo.com>
1059
1060         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1061         * tests/check/elements/filesrc.c: (GST_START_TEST):
1062         Revert pull-0 fix for release. Disable check. Fixes #347408.
1063
1064 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1065
1066         * libs/gst/dataprotocol/dataprotocol.c:
1067         (gst_dp_event_from_packet_1_0):
1068           Fixes #347337: failure to deserialize event packets with
1069           empty payload (only event type)
1070
1071 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1072
1073         * gst/Makefile.am:
1074           do not install a .c file in the header directory
1075
1076 2006-07-13  Edward Hervey  <edward@fluendo.com>
1077
1078         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1079         GhostPad no longer implicitely use the padtemplates of the targets.
1080         Fixes #347384
1081
1082 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1083
1084         * gst/gstvalue.c: (gst_value_compare_list),
1085         (gst_value_compare_array), (_gst_value_initialize):
1086         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1087         Make GstValueArray comparison be order dependent as designed.
1088         Add checks for value lists and value array comparisons.
1089         Fixes #347221
1090
1091 2006-07-11  Edward Hervey  <edward@fluendo.com>
1092
1093         * gst/gstbin.c: (activate_pads),
1094         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1095         (gst_bin_change_state_func):
1096         (de)activate src pads before calling state_change on the childs.
1097         This is to avoid the case where a src ghostpad is blocked (holding the
1098         stream lock), which would block the deactivation of the ghostpad's
1099         target pad.
1100         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1101         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1102         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1103         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1104         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1105         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1106         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1107         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1108         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1109         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1110         (gst_ghost_pad_class_init),
1111         (gst_ghost_pad_internal_do_activate_push),
1112         (gst_ghost_pad_internal_do_activate_pull),
1113         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1114         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1115         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1116         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
1117         GhostPads now create their internal GstProxyPad at creation (and not
1118         when they're linked, as it was being done previously).
1119         The internal and target pads are linked straight away.
1120         The data will also travel through the other pad in order to make
1121         pad blocking and probes non-hackish (the probe/block now really happens
1122         on the GhostPad and not on the target).
1123         * gst/gstpad.c: (gst_pad_set_blocked_async),
1124         (gst_pad_link_prepare), (gst_pad_push_event):
1125         Remove previous ghostpad cruft.
1126         * gst/gstutils.c: (gst_pad_add_data_probe),
1127         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1128         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1129         (gst_pad_remove_buffer_probe):
1130         Remove previous ghost pad cruft.
1131         Added more detailed debug statements.
1132         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1133         Fix the testsuite for refcounting changes.
1134         The comments about who has references were correct, but the refcount
1135         being checked wasn't the same (!?!).
1136
1137         Fixes #341029
1138
1139 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1140
1141         * docs/gst/gstreamer-sections.txt:
1142         * gst/gstconfig.h.in:
1143         More docs for configuration options, add docs to gtk-doc.
1144
1145 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1146
1147         * gst/Makefile.am:
1148         * gst/gstconfig.h.in:
1149         * win32/common/config.h:
1150         Fix build when disabling tracing (fixes #344016). Also start to document
1151         the defines that disable the sub-systems.
1152
1153 2006-07-10  Edward Hervey  <edward@fluendo.com>
1154
1155         * gst/gst.c: (ensure_current_registry_forking):
1156         let's make valgrind happy...
1157
1158 2006-07-09  Wim Taymans  <wim@fluendo.com>
1159
1160         * gst/gstelement.c: (activate_pads),
1161         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1162         Better pad activation code: Reset the collect value too on resync.
1163         Add some comments.
1164
1165 2006-07-09  Wim Taymans  <wim@fluendo.com>
1166
1167         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
1168         (gst_pad_activate_push):
1169         Use some more macros where it makes sense.
1170         Allow pad mode switching instead of asserting. When a pad
1171         is activated in one mode and we activate it in another, 
1172         deactivate it first before activating it in a different mode.
1173         Fixes #329198.
1174
1175 2006-07-08  Andy Wingo  <wingo@pobox.com>
1176
1177         * tools/gst-launch.c (main): Handle err == NULL.
1178
1179         * gst/gst.c (init_post, ensure_current_registry)
1180         (ensure_current_registry_forking)
1181         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
1182         factoring out the registry scanning into separate functions. Don't
1183         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
1184         Better environment var name/interface suggestions accepted.
1185
1186 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1187
1188         * gst/gstobject.c: (gst_object_set_name_default),
1189         (gst_object_set_name):
1190           Random micro-optimisation: don't use a hash table
1191           with strings as keys and the usual strdup/strcmp
1192           involved, but rather just use the GQuark of the
1193           type name as key, since it needs to be looked up
1194           anyway to get the type name string.
1195
1196         * tests/check/gst/gstobject.c: (GST_START_TEST):
1197           Fix various leaks.
1198
1199 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1200
1201         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
1202         (gst_bin_iterate_all_by_interface):
1203           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
1204           GTypes are gulongs and thus the top 4 bytes might be cut
1205           off on some platforms when doing GPOINTER_TO_INT, leading
1206           to invalid GTypes and bad things happening (see RH bug #179654).
1207           Also add a check to make sure the type passed in is really
1208           an interface type.
1209
1210 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1211
1212         * .cvsignore:
1213           Ignore more.
1214
1215 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1216
1217         * Makefile.am:
1218         * configure.ac:
1219         * gst-element-check.m4:
1220         * gst-element-check.m4.in:
1221           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
1222           instead of the unversioned gst-inspect (#324176, #168659).
1223
1224 2006-07-06  Wim Taymans  <wim@fluendo.com>
1225
1226         * gst/gstmessage.h:
1227         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
1228         warnings.
1229
1230 2006-07-06  Wim Taymans  <wim@fluendo.com>
1231
1232         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1233         (gst_base_src_wait), (gst_base_src_update_length),
1234         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
1235         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
1236         (gst_base_src_loop), (gst_base_src_start),
1237         (gst_base_src_activate_pull):
1238         Update docs.
1239         blocksize == 0 now means the default blocksize when working in push
1240         based mode.
1241         Remove some pointless asserts in _wait function.
1242         Fix offset/length calculations and EOS handling. We can now pull 0
1243         bytes as well, which is allowed.
1244         use _check_get_range() to decide if we can operate in _pull based
1245         mode.
1246         Fix refcounting leak when check_get_range function was not 
1247         implemented.
1248         API GstBaseSrc::blocksize range can be 0 too now (default)
1249
1250         * tests/check/elements/filesrc.c: (GST_START_TEST),
1251         (filesrc_suite):
1252         Added check to test _get_range() behaviour.
1253
1254 2006-07-06  Wim Taymans  <wim@fluendo.com>
1255
1256         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1257         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
1258         (gst_pad_pull_range):
1259         * gst/gstpad.h:
1260         Lots of comments and docs added to the pad functions.
1261         Flesh out the expected behaviour of the get_range() functions.
1262
1263 2006-07-06  Wim Taymans  <wim@fluendo.com>
1264
1265         * gst/gstbus.h:
1266         * gst/gstclock.h:
1267         * gst/gstevent.h:
1268         * gst/gstiterator.h:
1269         * gst/gstpad.h:
1270         * gst/gstplugin.h:
1271         * gst/gsttask.h:
1272         Remove comma at end of enumerator list. 
1273
1274 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
1275
1276         * win32/common/libgstbase.def:
1277         * win32/common/libgstdataprotocol.def:
1278         * win32/common/libsgtreamer.def:
1279         Add new exported functions.
1280
1281 2006-07-05  Wim Taymans  <wim@fluendo.com>
1282
1283         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
1284         Add some more docs here and there.
1285
1286 2006-07-05  Wim Taymans  <wim@fluendo.com>
1287
1288         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
1289         (gst_base_sink_loop), (gst_base_sink_get_position):
1290         When operating in pull mode update the offset so that we
1291         read sequentially.
1292
1293 2006-07-05  Wim Taymans  <wim@fluendo.com>
1294
1295         * gst/gstregistryxml.c: (read_string):
1296         Avoid strdup. (will happen in libxml, but hey!)
1297
1298         * gst/gsturi.c:
1299         Add some more docs.
1300
1301 2006-07-05  Wim Taymans  <wim@fluendo.com>
1302
1303         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
1304         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1305         (gst_buffer_suite):
1306         No point in checking if the size of the subbuffer > 0, the
1307         code handles it correclty as demonstrated by unit test.
1308         Also add a unit test for the zero sized _new_and_alloc and
1309         _copy. Fixes #346663.
1310
1311 2006-07-05  Wim Taymans  <wim@fluendo.com>
1312
1313         * libs/gst/base/gstbasetransform.c:
1314         (gst_base_transform_prepare_output_buffer),
1315         (gst_base_transform_buffer_alloc),
1316         (gst_base_transform_handle_buffer):
1317         Make sure the buffer we pass to transform_ip has a refcount of
1318         1 and thus is writable. Fixes #343196
1319
1320 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
1321
1322         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1323         (gst_file_src_init), (gst_file_src_set_property),
1324         (gst_file_src_get_property), (gst_file_src_map_region):
1325         * plugins/elements/gstfilesrc.h:
1326         Add "sequential" property, off by default, to use madvise and hint
1327         to the kernel that sequential access is desired.
1328         Touch all retrieved pages by default to ensure they are pulled
1329         into memory. (Closes #345720)
1330
1331 2006-07-03  Wim Taymans  <wim@fluendo.com>
1332
1333         * docs/design/part-block.txt:
1334         * docs/design/part-dynamic.txt:
1335         Small docs updates.
1336
1337 2006-07-03  Wim Taymans  <wim@fluendo.com>
1338
1339         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
1340         (gst_caps_unref), (gst_static_caps_get),
1341         (gst_caps_append_structure):
1342         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1343         Use GSlice when the glib we build against is >= 2.10
1344
1345 2006-07-03  Wim Taymans  <wim@fluendo.com>
1346
1347         * gst/gstelement.c: (gst_element_pads_activate):
1348         Small cleanup in pad activation code.
1349
1350 2006-07-03  Wim Taymans  <wim@fluendo.com>
1351
1352         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1353
1354         * gst/gst-i18n-app.h:
1355         * gst/gst-i18n-lib.h:
1356         * tools/gst-inspect.c: (print_signal_info):
1357         The attached patch will make the inclusion of gettext.h unconditional in
1358         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
1359         libintl.h in tools/gst-inspect.c.
1360         This allows use of --disable-nls again and fixes #344642.
1361
1362 2006-07-03  Edward Hervey  <edward@fluendo.com>
1363
1364         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
1365         Implement pad blocking on events according to part-block.txt.
1366         More comments on behaviour.
1367         * tests/check/gst/gstevent.c: (test_event):
1368         Send event to peer pad of blocked pad (else it will block).
1369
1370 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1371
1372         * libs/gst/check/gstcheck.c: (gst_check_message_error),
1373         (gst_check_run_suite):
1374           if we get the wrong message, give us the types as string
1375         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1376           Fix a translatable
1377         * tests/check/elements/filesrc.c: (GST_START_TEST):
1378           add a test for trying to open a non-existing file
1379
1380 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1381
1382         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1383           add a test for adding self
1384
1385 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1386
1387         * libs/gst/check/gstcheck.h:
1388           add some assert_ as alias for fail_unless_*
1389         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
1390           increase test coverage
1391
1392 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1393
1394         * Makefile.am:
1395           include lcov.mak for lcov coverage generation
1396         * tools/Makefile.am:
1397           add to CLEANFILES
1398
1399 2006-07-02  Edward Hervey  <edward@fluendo.com>
1400
1401         * tests/check/elements/.cvsignore:
1402         moaping
1403
1404 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1405
1406         * configure.ac:
1407           don't set CFLAGS and friends for gcov, done from GST_GCOV now
1408         * tests/check/Makefile.am:
1409           clean up gcov files
1410
1411 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1412
1413         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
1414           remove gst_caps_simplify; it was not declared and not used
1415           and deprecated in 0.8
1416
1417 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1418
1419         * docs/faq/gst-uninstalled:
1420           don't put empty paths on PYTHONPATH
1421         * docs/gst/gstreamer-sections.txt:
1422           remove some symbols that are not there
1423
1424 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1425
1426         * gst/gstcaps.c: (gst_caps_compare_structures):
1427           whitespace fixes
1428         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1429         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1430           add more tests
1431
1432 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1433
1434         * libs/gst/dataprotocol/Makefile.am:
1435           build dataprotocol test by linking to the lib, instead of
1436           compiling the source, so we get coverage
1437         * tests/check/Makefile.am:
1438         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
1439         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
1440           add a test for filesrc
1441
1442 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1443
1444         * tests/check/gst/gststructure.c: (GST_START_TEST),
1445         (gst_structure_suite):
1446           Push coverage from 59.04% to 70.00%
1447
1448 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1449
1450         * tests/check/Makefile.am:
1451           gst-inspect every element; this makes sure that we also get
1452           coverage on element's get/set functions
1453
1454 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1455
1456         * configure.ac:
1457           set CFLAGS and friends to -O0 if gcov is being used
1458           add GCOV LIBS
1459         * gst/Makefile.am:
1460         * libs/gst/base/Makefile.am:
1461         * libs/gst/check/Makefile.am:
1462         * libs/gst/controller/Makefile.am:
1463         * libs/gst/dataprotocol/Makefile.am:
1464         * libs/gst/net/Makefile.am:
1465         * plugins/elements/Makefile.am:
1466         * plugins/indexers/Makefile.am:
1467           add makefile rules to generate gcov data and clean up
1468         * tests/check/Makefile.am:
1469           add a coverage target that generates an html overview
1470           of coverage data
1471
1472 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1473
1474         * tests/check/elements/fakesink.c:
1475         * tests/check/elements/fakesrc.c:
1476         * tests/check/elements/fdsrc.c:
1477         * tests/check/elements/identity.c:
1478         * tests/check/generic/sinks.c: (gst_sinks_suite):
1479         * tests/check/generic/states.c:
1480         * tests/check/gst/gst.c:
1481         * tests/check/gst/gstabi.c:
1482         * tests/check/gst/gstbin.c:
1483         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
1484         * tests/check/gst/gstbus.c: (gst_bus_suite):
1485         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1486         * tests/check/gst/gstelement.c:
1487         * tests/check/gst/gstevent.c: (gst_event_suite):
1488         * tests/check/gst/gstghostpad.c:
1489         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
1490         * tests/check/gst/gstmessage.c: (gst_message_suite):
1491         * tests/check/gst/gstminiobject.c:
1492         * tests/check/gst/gstobject.c:
1493         * tests/check/gst/gstpad.c:
1494         * tests/check/gst/gstpipeline.c:
1495         * tests/check/gst/gstplugin.c:
1496         * tests/check/gst/gstquery.c: (gst_query_suite):
1497         * tests/check/gst/gstsegment.c: (gst_segment_suite):
1498         * tests/check/gst/gststructure.c:
1499         * tests/check/gst/gstsystemclock.c:
1500         * tests/check/gst/gsttag.c:
1501         * tests/check/gst/gsttask.c: (gst_task_suite):
1502         * tests/check/gst/gstutils.c:
1503         * tests/check/gst/gstvalue.c:
1504         * tests/check/libs/adapter.c:
1505         * tests/check/libs/basesrc.c:
1506         * tests/check/libs/collectpads.c:
1507         * tests/check/libs/controller.c:
1508         * tests/check/libs/gdp.c: (gst_dp_suite):
1509         * tests/check/libs/gstnetclientclock.c:
1510         * tests/check/libs/gstnettimeprovider.c:
1511         * tests/check/libs/libsabi.c: (libsabi_suite):
1512         * tests/check/libs/typefindhelper.c:
1513         * tests/check/pipelines/cleanup.c:
1514         * tests/check/pipelines/parse-launch.c:
1515         * tests/check/pipelines/simple-launch-lines.c:
1516         * tests/check/pipelines/stress.c: (stress_suite):
1517           use the new macro
1518
1519 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1520
1521         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
1522         * libs/gst/check/gstcheck.h:
1523           create a macro and function so that the simple unit test
1524           case can be just one macro to create main()
1525
1526 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
1527
1528         * gst/gstbin.c: (gst_bin_restore_thyself):
1529         * gst/gstxml.c: (gst_xml_make_element):
1530           Fix deserialisation from XML. Set parent manually
1531           instead of using gst_bin_add(), since gst_bin_add()
1532           will unlink all pads of the element being added.
1533           Fixes #341667.
1534
1535 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
1536
1537         Patch by: Peter Kjellerstedt <pkj at axis com>
1538
1539         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
1540           Fix missing g_strdup() and double free when using the
1541           --gst-plugin-load command line option (#346097).
1542
1543 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1544
1545         * gst/gstinfo.c:
1546           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
1547
1548         * libs/gst/net/gstnetclientclock.c:
1549         * libs/gst/net/gstnettimeprovider.c:
1550           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
1551
1552 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         * docs/manual/advanced-dataaccess.xml:
1555           Fix buffer probe example compilation in
1556           ADM (#345708).
1557         
1558 2006-06-22  Edward Hervey  <edward@fluendo.com>
1559
1560         * gst/gstelement.c: (gst_element_pads_activate):
1561         We need to deactivate src pads first and then sink pads.
1562         The reason is the src pads might be blocking while holding the streaming
1563         lock, so we need to deactivate them first so that deactivating the sink
1564         pads doesn't block (since it will require the streaming lock).
1565
1566 2006-06-22  Wim Taymans  <wim@fluendo.com>
1567
1568         * libs/gst/base/gstbasetransform.c:
1569         (gst_base_transform_buffer_alloc):
1570         Forgot to remove two unneeded unrefs.
1571         Simplify a check _is_equal allready checks the obvious case.
1572
1573 2006-06-22  Wim Taymans  <wim@fluendo.com>
1574
1575         * docs/design/part-block.txt:
1576         Some docs about what pad_block should do.
1577
1578 2006-06-22  Wim Taymans  <wim@fluendo.com>
1579
1580         * gst/gstcaps.c: (gst_caps_replace):
1581         Fix crasher when passed NULL. Doc clarification.
1582         Optimize for the trivial case.
1583
1584         * gst/gstpipeline.c: (gst_pipeline_change_state):
1585         Small cleanups.
1586
1587         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1588         Small documentation cleanup.
1589
1590         * libs/gst/base/gstbasetransform.c:
1591         (gst_base_transform_buffer_alloc):
1592         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
1593         is what we need and it avoids a whole lot of redundant 
1594         refcount operations.
1595
1596 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
1597
1598         Patch by: Philip Jägenstedt  <philip at lysator liu se>
1599
1600         * docs/manual/advanced-dataaccess.xml:
1601           Fix 'Embedding static elements' section to use
1602           GST_PLUGIN_DEFINE_STATIC (#345607).
1603
1604 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1605
1606         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
1607           Attempt to 'fix' spuriously failing test case: it seems like the
1608           timeout of half a second is simply too small when the system is under
1609           load otherwise, and the timeout doesn't really seem to serve any
1610           particular purpose here. Give the pipeline a few seconds to preroll
1611           first, and then give it another half a second to go from PAUSED to
1612           PLAYING and marshal the message into the main thread.
1613
1614 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1615
1616         * tools/gst-feedback-m.m:
1617           Don't only use unversioned tools, try versioned tools as well
1618           (#345086).
1619
1620 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1621
1622         * gst/gstbus.c: (gst_bus_class_init):
1623           Fix some typos, make docs more explicit.
1624
1625 2006-06-20  Wim Taymans  <wim@fluendo.com>
1626
1627         * tests/check/gst/gstghostpad.c: (block_callback),
1628         (GST_START_TEST), (gst_ghost_pad_suite):
1629         Added some more ghostpad tests, mainly blocking
1630         and probes.
1631
1632 2006-06-16  Wim Taymans  <wim@fluendo.com>
1633
1634         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1635         (gst_file_sink_close_file), (gst_file_sink_do_seek),
1636         (gst_file_sink_event), (gst_file_sink_render):
1637         * plugins/elements/gstfilesink.h:
1638         Check if we can seek in the file instead of assuming
1639         we always can. Post an error when we are asked to seek in a
1640         non-seekable file (like a fifo). Fixes #343312.
1641         Some cleanups.
1642
1643 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1644
1645         * tools/gst-launch.1.in:
1646           Un-garble (fourcc) bit in filtered caps section.
1647
1648 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1649
1650         * docs/manual/advanced-autoplugging.xml:
1651         * docs/manual/basics-helloworld.xml:
1652         * docs/manual/highlevel-components.xml:
1653           Don't leak bus reference in sample code.
1654
1655 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
1656
1657         * autogen.sh:
1658           Add default for new --enable-plugin-docs switch.
1659
1660         * configure.ac:
1661           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
1662           Fixes #344039.
1663
1664         * docs/Makefile.am:
1665           Use new ENABLE_PLUGIN_DOCS conditional.
1666
1667 2006-06-14  Wim Taymans  <wim@fluendo.com>
1668
1669         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
1670         Make it clear with a FIXME and a real define what the #if 0
1671         previously disabled.
1672
1673 2006-06-14  Wim Taymans  <wim@fluendo.com>
1674
1675         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1676         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1677         * libs/gst/base/gstbasetransform.c:
1678         (gst_base_transform_sink_eventfunc):
1679         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1680         Don't randomly and silently reset a segment when the format 
1681         changes as this is a bug somewhere upstream. Fixes #330379.
1682
1683 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1684
1685         Patch by: Wouter Paesen  <wouter at kangaroot net>
1686
1687         * libs/gst/controller/gstcontroller.c:
1688         (gst_controlled_property_new):
1689           Fix controlling of float properties (#344849).
1690
1691         * tests/check/libs/controller.c:
1692         (gst_test_mono_source_get_property),
1693         (gst_test_mono_source_set_property),
1694         (gst_test_mono_source_class_init), (GST_START_TEST):
1695           While we're at it, add some float stuff to unit test.
1696
1697 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1698
1699         * docs/README:
1700         * docs/images/gdp-header.svg:
1701           add a gdp image
1702         * docs/libs/Makefile.am:
1703         * docs/libs/gdp-header.png:
1704         * libs/gst/dataprotocol/dataprotocol.c:
1705           add it to the API docs
1706         * docs/manual/intro-motivation.xml:
1707           fix typo
1708
1709 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1710
1711         * gst/gst.c: (scan_and_update_registry), (init_post):
1712           If the fork()'ed child process can't write the updated registry cache
1713           file to disk for some reason, make it exit with a failure exit code,
1714           so that the parent can then re-scan the plugins itself and update the
1715           registry structures in memory and work with that (rather than failing
1716           when creating elements because seemingly no plugins are available).
1717           Refactor registry scanning code into separate function for this and
1718           also separate fork() and non-fork() code paths. Fixes #344748.
1719
1720 2006-06-13  Wim Taymans  <wim@fluendo.com>
1721
1722         * docs/manual/advanced-dataaccess.xml:
1723         Fix wrong PluginDesc. Fixes #344755.
1724
1725 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1726
1727         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1728           Fix silly bug that prevented us from creating
1729           ~/.gstreamer-0.10 and writing the registry in one
1730           go (the first call to g_mkstemp() would overwrite the
1731           placeholder in the template string, so the second call
1732           to g_mkstemp() after creating the missing directory
1733           would then error out with 'invalid argument').
1734
1735 2006-06-13  Edward Hervey  <edward@fluendo.com>
1736
1737         * gst/gst.c: (init_post):
1738         Free string.
1739
1740 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1741
1742         * gst/glib-compat-private.h:
1743         * gst/glib-compat.c:
1744         * gst/glib-compat.h:
1745         * gst/gstvalue.c: (gst_value_serialize_flags):
1746           remove GLib 2.6 compatibility code
1747
1748 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
1749
1750         * gst/parse/Makefile.am:
1751           Fix build with 'make -j N' even more (#340016).
1752
1753 2006-06-12  Wim Taymans  <wim@fluendo.com>
1754
1755         * docs/gst/gstreamer-sections.txt:
1756         Fix docs.
1757
1758 2006-06-12  Wim Taymans  <wim@fluendo.com>
1759
1760         * gst/gstsegment.c: (gst_segment_set_duration),
1761         (gst_segment_set_last_stop), (gst_segment_set_seek),
1762         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1763         (gst_segment_to_running_time), (gst_segment_clip):
1764         Use G_UNLIKELY to help the compiler a bit.
1765
1766 2006-06-12  Wim Taymans  <wim@fluendo.com>
1767
1768         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1769
1770         * gst/gstevent.c: (gst_event_get_type):
1771         * gst/gstmessage.c:
1772         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1773         (gst_pad_push):
1774         constify quark registration strings. Fixes #344115
1775         Avoid unneeded type checking is _pad_push() by internally
1776         calling gst_pad_chain_unchecked().
1777
1778 2006-06-12  Wim Taymans  <wim@fluendo.com>
1779
1780         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
1781         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
1782         (gst_subbuffer_finalize), (gst_buffer_create_sub),
1783         (gst_buffer_is_span_fast), (gst_buffer_span):
1784         Init _type for consistency.
1785         Use _FLAGS macro to avoid type check.
1786         Avoid unneeded type checks in subbufer code.
1787
1788 2006-06-12  Wim Taymans  <wim@fluendo.com>
1789
1790         * gst/gst.c: (gst_debug_help):
1791         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
1792         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1793         (gst_plugin_feature_list_free):
1794         * gst/gstregistry.c: (gst_registry_add_plugin),
1795         (gst_registry_add_feature), (gst_registry_plugin_filter),
1796         (gst_registry_feature_filter), (gst_registry_find_plugin),
1797         (gst_registry_find_feature), (gst_registry_get_plugin_list),
1798         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
1799         * gst/gstregistryxml.c: (load_feature),
1800         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
1801         * gst/gstminiobject.c: (gst_mini_object_unref),
1802         (gst_mini_object_replace), (gst_value_mini_object_free),
1803         (gst_value_mini_object_copy):
1804         Use _CAST macros to avoid unneeded type checking.
1805         Added some more G_UNLIKELY.
1806
1807 2006-06-12  Wim Taymans  <wim@fluendo.com>
1808
1809         * gst/gstbuffer.h:
1810         Avoid unneeded type checking.
1811         API: GST_BUFFER_IS_DISCONT
1812
1813         * gst/gstminiobject.h:
1814         Avoid type check in flag accessor.
1815
1816         * gst/gstelementfactory.h:
1817         * gst/gstplugin.h:
1818         * gst/gstpluginfeature.h:
1819         Add _CAST macros.
1820         API: GST_ELEMENT_FACTORY_CAST
1821         API: GST_PLUGIN_CAST
1822         API: GST_PLUGIN_FEATURE_CAST
1823
1824 2006-06-12  Wim Taymans  <wim@fluendo.com>
1825
1826         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
1827         (gst_object_unref):
1828         Add G_UNLIKELY in type registration.
1829         Avoid type check in _ref/_unref since that is also
1830         done in glib.
1831
1832 2006-06-12  Wim Taymans  <wim@fluendo.com>
1833
1834         * gst/gsterror.c: (gst_g_error_get_type):
1835         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1836         (gst_static_pad_template_get_type):
1837         * gst/gsttaglist.c: (gst_tag_list_get_type):
1838         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
1839         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
1840         * gst/gsturi.c: (gst_uri_handler_get_type):
1841         * gst/gstvalue.c: (gst_date_get_type):
1842         * gst/gstxml.c: (gst_xml_get_type):
1843         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1844         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1845         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
1846         Add G_UNLIKELY in type registration.
1847
1848 2006-06-12  Wim Taymans  <wim@fluendo.com>
1849
1850         * tools/gst-inspect.c: (print_signal_info):
1851         Properly print enum values.
1852
1853 2006-06-12  Wim Taymans  <wim@fluendo.com>
1854
1855         * gst/gstinfo.c: (gst_debug_set_active),
1856         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
1857         * gst/gstinfo.h:
1858         Add some G_[UN]LIKELY.
1859         Maintain __gst_debug_min to avoid formatting the arguments of
1860         debug messages that will be dropped anyway to avoid a lot of 
1861         overhead from the debugging system.
1862
1863 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1864
1865         * po/POTFILES.in:
1866         * po/POTFILES.skip:
1867           add missing files containing translatable strings, tell intltool about
1868           one exception
1869
1870 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1871
1872         * tests/check/libs/.cvsignore:
1873         add test-binary to ignore list
1874
1875 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1876
1877         * docs/libs/gstreamer-libs-docs.sgml:
1878         reorder (put dp into a chapter) and indent
1879
1880 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1881
1882         * configure.ac:
1883           back to HEAD
1884
1885 === release 0.10.8 ===
1886
1887 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
1888
1889         * configure.ac:
1890           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
1891
1892 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1893
1894         * gst/gst.c: (init_post):
1895           move pid declaration to declaration block
1896
1897 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1898
1899         * gst/gst.c: (init_post):
1900           use _exit() instead of exit() in our forked child; this ensures
1901           that none of the registered exit handlers from whatever is using
1902           GStreamer get executed.  This fixes gnome-mixer-applet failing
1903           to load, because ORBit would shut down.
1904           Spotted by: Edward Hervey  <edward@fluendo.com>
1905           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
1906           Fixes #344474
1907
1908 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1909
1910         * configure.ac:
1911           back to TRUNK
1912
1913 === release 0.10.7 ===
1914
1915 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
1916
1917         * configure.ac:
1918           releasing 0.10.7, "Soepeke, ik zie ou"
1919
1920 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1921
1922         * configure.ac:
1923         * po/af.po:
1924         * po/az.po:
1925         * po/bg.po:
1926         * po/ca.po:
1927         * po/cs.po:
1928         * po/de.po:
1929         * po/en_GB.po:
1930         * po/fr.po:
1931         * po/it.po:
1932         * po/nb.po:
1933         * po/nl.po:
1934         * po/ru.po:
1935         * po/sq.po:
1936         * po/sr.po:
1937         * po/sv.po:
1938         * po/tr.po:
1939         * po/uk.po:
1940         * po/vi.po:
1941         * po/zh_CN.po:
1942         * po/zh_TW.po:
1943         * win32/common/config.h:
1944           0.10.6.2 prerelease
1945
1946 2006-06-07  Wim Taymans  <wim@fluendo.com>
1947
1948         * gst/gstindex.c: (gst_index_gtype_resolver):
1949         * tools/gst-xmlinspect.c: (print_plugin_info):
1950         Fix leak spotted by coverity checker. Fixes #343827
1951         Fix another other leak found by paolo borelli.
1952
1953 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1954
1955         * libs/gst/dataprotocol/dataprotocol.c:
1956         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1957         (gst_dp_version_get_type), (gst_dp_init),
1958         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1959         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1960         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1961         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1962         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1963         (gst_dp_packetizer_free):
1964         * libs/gst/dataprotocol/dataprotocol.h:
1965           API: add a GstDPPacketizer object, and create/free functions
1966           API: add GstDPVersion enum
1967           Add 1.0 event function that uses the string serialization
1968           Serialize more useful buffer flags
1969           Fixes #343988
1970
1971 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1972
1973         * tests/check/Makefile.am:
1974         * tests/check/gst/gstabi.c:
1975         * tests/check/gst/struct_ppc64.h:
1976         * tests/check/libs/libsabi.c:
1977         * tests/check/libs/struct_ppc64.h:
1978           add ppc64 structure sizes
1979
1980 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1981
1982         * tests/check/Makefile.am:
1983         * tests/check/gst/gstabi.c:
1984         * tests/check/gst/struct_x86_64.h:
1985         * tests/check/libs/libsabi.c:
1986         * tests/check/libs/struct_x86_64.h:
1987           generate and add structure size lists for x86_64
1988
1989 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1990
1991         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1992         * libs/gst/check/gstcheck.h:
1993           factor out the method from tests that checks size of structures,
1994           and add code to generate the header containing these sizes
1995         * tests/check/gst/gstabi.c: (GST_START_TEST):
1996         * tests/check/gst/struct_i386.h:
1997         * tests/check/libs/libsabi.c: (GST_START_TEST):
1998         * tests/check/libs/struct_i386.h:
1999           use it
2000
2001 2006-06-06  Michael Smith  <msmith@fluendo.com>
2002
2003         * gst/gstsegment.h:
2004           Don't use c++-style comments, fixes #343929
2005
2006 2006-06-05  Edward Hervey  <edward@fluendo.com>
2007
2008         * gst/gst.c:
2009         plugin_paths is not used if we build without registry support.
2010
2011         * gst/gstsegment.c: (gst_segment_copy): 
2012         _copy() was always returning NULL...
2013
2014 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2015
2016         * libs/gst/dataprotocol/dataprotocol.c:
2017         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2018         (gst_dp_packet_from_event):
2019           factor out CRC code
2020
2021 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2022
2023         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2024           make sure we unset caps
2025
2026 2006-06-02  Michael Smith  <msmith@fluendo.com>
2027
2028         * libs/gst/check/gstcheck.c: (gst_check_init),
2029         (gst_check_chain_func):
2030         * libs/gst/check/gstcheck.h:
2031           Add a cond/mutex to the check support lib, signal this whenever we
2032           add to the buffers list. This will allow tests to not busy-wait on
2033           the buffer-list.
2034
2035 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2036
2037         * libs/gst/dataprotocol/dataprotocol.c:
2038         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2039         (gst_dp_packet_from_event):
2040           factor out some common header init code
2041
2042 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2043
2044         * docs/libs/gstreamer-libs-sections.txt:
2045         * docs/libs/tmpl/gstdataprotocol.sgml:
2046         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2047         * libs/gst/dataprotocol/dataprotocol.h:
2048           API: make gst_dp_crc() public
2049
2050 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2051
2052         * plugins/indexers/gstindexers.c: (plugin_init):
2053         conditionally register fileindexer (fixes #343598)
2054
2055 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2056
2057         * gst/gsttagsetter.h:
2058         Can't cast ifaces to a class
2059
2060         * libs/gst/net/gstnetclientclock.h:
2061         * libs/gst/net/gstnettimeprovider.h:
2062         * plugins/elements/gstfakesink.h:
2063         * plugins/elements/gstfakesrc.h:
2064         * plugins/elements/gstfdsink.h:
2065         * plugins/elements/gstfdsrc.h:
2066         * plugins/elements/gstfilesink.h:
2067         * plugins/elements/gstfilesrc.h:
2068         * plugins/elements/gstidentity.h:
2069         * plugins/elements/gstqueue.h:
2070         * plugins/elements/gsttee.h:
2071         * plugins/indexers/gstfileindex.c:
2072         * plugins/indexers/gstmemindex.c:
2073         * tests/old/examples/plugins/example.h:
2074         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2075
2076 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2077
2078         * libs/gst/dataprotocol/dataprotocol.c:
2079         (gst_dp_header_from_buffer):
2080           make sure we zero the whole ABI-compatible area
2081
2082 2006-06-01  Wim Taymans  <wim@fluendo.com>
2083
2084         Patch by: Alessandro Decina <alessandro at nnva dot org>
2085
2086         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2087         Make sure the EOS flag is cleared from pads after a flush
2088         or stop. Fixes #343538.
2089
2090         * tests/check/libs/collectpads.c: (GST_START_TEST),
2091         (gst_collect_pads_suite):
2092         Added test for collectpads reusage after EOS.
2093
2094 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
2095
2096         * gst/gst.c:
2097          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2098         * win32/common/libgstbase.def:
2099          export gst_collect_pads_set_flushing
2100         * win32/common/libgstreamer.def:
2101          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2102          gst_value_fraction_multiply
2103         * win32/vs6/gst_inspect.dsp:
2104          add a link to intl.lib
2105
2106 2006-05-30  Wim Taymans  <wim@fluendo.com>
2107
2108         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2109         (gst_collect_pads_chain):
2110         Handle the case where a pad is removed from the collection
2111         that could cause the other pads to become collectable.
2112
2113 2006-05-30  Wim Taymans  <wim@fluendo.com>
2114
2115         * gst/gstelement.c:
2116         Clarify the use of _release_request_pad() and
2117         _get_request_pad() a bit better.
2118
2119         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
2120         (gst_adapter_take_buffer):
2121         Fix some doc and comment typos.
2122
2123 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2124
2125         * docs/gst/gstreamer-sections.txt:
2126         * docs/libs/gstreamer-libs-sections.txt:
2127           add declared symbols
2128
2129 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
2130
2131         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2132         Add debug that can be enabled using a #define at the top of the file,
2133         for dumping stats about how late/early we were when waking up from
2134         waiting on the clock.
2135
2136 2006-05-30  Wim Taymans  <wim@fluendo.com>
2137
2138         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
2139         When rebuilding the pad list, don't leak the previous list.
2140
2141 2006-05-30  Wim Taymans  <wim@fluendo.com>
2142
2143         Patch by: Lutz Mueller <lutz at topfrose dot de>
2144
2145         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2146         (gst_base_src_get_query_types), (gst_base_src_update_length):
2147         Publish supported query types.
2148         Update last_stop field in get_range mode so the position
2149         query works. Fixes #342321.
2150
2151 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
2152
2153         * docs/gst/gstreamer-sections.txt:
2154         * gst/gsttaglist.c: (_gst_tag_initialize):
2155         * gst/gsttaglist.h:
2156           API: add GST_TAG_PREVIEW_IMAGE (#343341).
2157
2158 2006-05-30  Wim Taymans  <wim@fluendo.com>
2159
2160         Patch by: Alessandro Decina <alessandro at nnva dot org>
2161
2162         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2163         Unlock mutex when removing an unknown pad.
2164         Fixes #343334.
2165
2166         * tests/check/Makefile.am:
2167         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
2168         (push_event), (setup), (teardown), (GST_START_TEST),
2169         (gst_collect_pads_suite), (main):
2170         Added collecpads check, disabled for now as check crashes for
2171         some reason.
2172
2173 2006-05-29  Wim Taymans  <wim@fluendo.com>
2174
2175         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
2176         Don't leak pads lists.
2177
2178 2006-05-29  Wim Taymans  <wim@fluendo.com>
2179
2180         * docs/libs/gstreamer-libs-sections.txt:
2181         * libs/gst/base/gstcollectpads.c:
2182         (gst_collect_pads_set_flushing_unlocked),
2183         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2184         (gst_collect_pads_stop):
2185         * libs/gst/base/gstcollectpads.h:
2186         API: gst_collect_pads_set_flushing()
2187         Added api to set the pads to flushing, useful for seeking
2188         code in elements using collectpads.
2189         Clear segment when receiving a flush.
2190
2191 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
2192
2193         * gst/gst.c: (add_path_func), (init_post):
2194           Don't scan registry paths passed via --gst-plugin-path immediately
2195           (will crash, because absolutely nothing is set up and no types are
2196           registered etc.); do this later in init_post(). Fixes #343057.
2197
2198 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2199
2200         * gst/gst.c: (init_post):
2201           if we have fork, fork while reading/rebuilding the registry
2202           so the parent doesn't take the hit of having all plugins loaded
2203           in memory.  Fixes #342777.
2204         * configure.ac:
2205           Check if we have fork()
2206         * win32/common/config.h.in:
2207           no fork() on win32
2208
2209 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2210
2211         * plugins/elements/gstelements.c:
2212         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2213         (gst_file_src_init), (gst_file_src_set_property),
2214         (gst_file_src_get_property), (gst_file_src_start):
2215         * plugins/elements/gstfilesrc.h:
2216           API: GstFileSrc::use-mmap
2217
2218         Add a use-mmap property to enable easier testing of all code paths.
2219         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
2220         in the absence of gnomevfssrc. (Closes #340501)
2221
2222 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2223
2224         * tools/gst-inspect.c:
2225         Add missing include, removes warning of ngettext not being defined on
2226         some arches.
2227
2228 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2229
2230         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2231         Handle NULL input and output pointers silently as a failed conversion,
2232         rather than g_warnings.
2233
2234 2006-05-25  Wim Taymans  <wim@fluendo.com>
2235
2236         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
2237         Initialize variable before using. Fixes #342820.
2238
2239 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2240
2241         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
2242           Fix off-by-one bug that would only allow peeks of N-1 bytes
2243           from the start even if the buffer to typefind on contains
2244           in fact N bytes of data (makes vorbis typefinding from a
2245           vorbis identification header buffer work).
2246
2247         * tests/check/Makefile.am:
2248         * tests/check/libs/.cvsignore:
2249         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
2250         (gst_typefindhelper_suite), (main), (foobar_typefind),
2251         (plugin_init):
2252           Add very basic unit test for gst_type_find_helper_for_buffer()
2253           that checks for the problem fixed above.
2254
2255 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2256
2257         * tools/gst-inspect.c: (print_interfaces),
2258         (print_element_properties_info), (print_element_list), (main):
2259           add more translatable strings
2260
2261 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
2262
2263         Patch by: Julien Moutte  <julien at moutte net>
2264
2265         * docs/gst/gstreamer-sections.txt:
2266           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
2267           
2268         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2269         (gst_fake_sink_preroll):
2270         * plugins/elements/gstfakesink.h:
2271           API: Add new GstFakeSink::preroll-handoff signal (#337100).
2272
2273 2006-05-23  Wim Taymans  <wim@fluendo.com>
2274
2275         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
2276         * gst/gstpad.h:
2277         Added _CUSTOM error and success GstFlowReturn that can be
2278         used be elements internally. 
2279         Added macro to check for SUCCESS flowreturns.
2280         API: GST_FLOW_CUSTOM_SUCCESS
2281         API: GST_FLOW_CUSTOM_ERROR
2282         API: GST_FLOW_IS_SUCCESS
2283
2284         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2285         Added check for GstFlowReturn sanity.
2286
2287 2006-05-23  Wim Taymans  <wim@fluendo.com>
2288
2289         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2290
2291         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2292         (gst_collect_pads_event):
2293         clear/reset segment info in FLUSH_STOP.
2294         Fixes #336929.
2295
2296 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
2297
2298         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
2299         (gst_collect_pads_check_collected):
2300         Flush queued buffer on _stop(), fixes playing again (#342454)
2301
2302 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2303
2304         * tests/check/gst/gststructure.c: (GST_START_TEST),
2305         (gst_structure_suite):
2306           add a test for a complete structure
2307
2308 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2309
2310         * docs/faq/developing.xml:
2311         * docs/faq/faq.xml:
2312         * docs/faq/troubleshooting.xml:
2313         * docs/faq/using.xml:
2314           Some minor FAQ updates that won't change the fact that
2315           our FAQ is badly structured, full of information hardly
2316           anyone new to GStreamer needs to know and lacking lots
2317           of information people constantly ask for.
2318           
2319 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
2320
2321         * gst/gstpad.c: (gst_pad_set_caps):
2322           Short-circuit gst_pad_set_caps if setting the existing
2323           caps pointer again, and avoid printing debug and 
2324           reffing/unreffing the caps.
2325
2326         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2327           There's actually no need to set the caps before pushing -
2328           the acceptcaps method will handle it anyway.
2329
2330 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2331
2332         * docs/gst/gstreamer-sections.txt:
2333         * win32/common/libgstreamer.def:
2334         * gst/gstutils.c: (gst_element_seek_simple):
2335         * gst/gstutils.h:
2336           API: add gst_element_seek_simple() (#342238).
2337
2338 2006-05-18  Edward Hervey  <edward@fluendo.com>
2339
2340         * gst/gsttypefind.c: (gst_type_find_get_type):
2341         * gst/gsttypefind.h:
2342         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
2343         registered for GstTypeFind pointers. This allows wrapping the structure
2344         in bindings (i.e. gst-python).
2345
2346 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2347
2348         * gst/gsttagsetter.c:
2349           Docs additions and fixes (see #339918).
2350
2351 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2352
2353         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2354         The caps intersection algorithm can produce multiple copies of the
2355         caps. Until that is fixed, we need to simplify the result to be
2356         sure whether the allowed caps are fixed or not.
2357
2358         * plugins/elements/gstqueue.c: (gst_queue_init),
2359         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
2360         (gst_queue_push_one):
2361         Proxied buffer alloc should not set the caps on the source pad.
2362         When pushing buffers, we always accept the caps change that triggers.
2363         This prevents negotiation errors caused by caps changing mid-stream 
2364         and then being refused on our source pad (because upstream is now
2365         refusing those caps).
2366
2367 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2368
2369         * tests/examples/helloworld/helloworld.c: (main):
2370           Must plug audioconvert and audioresample between decoder
2371           and audio sink.
2372
2373 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
2374
2375         * gst/gstregistryxml.c: (read_string), (load_pad_template),
2376         (load_feature), (load_plugin):
2377         Allow empty strings for some of the plugin fields so we don't 
2378         drop valid plugin entries that were written out correctly
2379         (Fixes #341479)
2380
2381 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
2382         
2383         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2384           Use g_remove and g_rename instead of remove and rename that don't 
2385           handle utf8 characters. rename was failing for users who had specific
2386           characters in their name then the registry was built at each 
2387           gstreamer init.
2388         * win32/vs6/gst_inspect.dsp:
2389         * win32/vs6/gst_launch.dsp:
2390         * win32/vs6/libgstbase.dsp:
2391         * win32/vs6/libgstcoreelements.dsp:
2392         * win32/vs6/libgstreamer.dsp:
2393           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
2394           build of libgstreamer and clean unused libraries in projects link 
2395           settings.
2396
2397 2006-05-17  Edward Hervey  <edward@fluendo.com>
2398
2399         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2400         The queue is not responsible for pushing an EOS when receiving a fatal
2401         flow error. It's up to the real element driving the pipeline to do that.
2402
2403 2006-05-16  Edward Hervey  <edward@fluendo.com>
2404
2405         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2406         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
2407         buffer returned a fatal error. It should just send an EOS and stop
2408         its task.
2409         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
2410         when pushing buffers on the queue and will be able to handle the event.
2411
2412 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2413
2414         * docs/manual/basics-bins.xml:
2415         * docs/manual/basics-init.xml:
2416           Fix typos and minor errors in sample code (#341856).
2417
2418 2006-05-16  Wim Taymans  <wim@fluendo.com>
2419
2420         * docs/design/part-qos.txt:
2421         Fix indexes in formulas to make more sense.
2422
2423 2006-05-15  Wim Taymans  <wim@fluendo.com>
2424
2425         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2426         Don't report POSITION based on clock time if sync is
2427         disabled in a sink.
2428
2429 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
2430
2431         * gst/gstobject.h:
2432           Add cast to make compiler happy - refcount variable was a gint
2433           in GstObject but is a guint in GObject and g_atomic_int_get()
2434           wants a gint *.
2435
2436 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2437
2438         * gst/parse/Makefile.am:
2439           chain commands using &&, which also makes parallel make work
2440
2441 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
2442
2443         * docs/gst/gstreamer-sections.txt:
2444         * gst/gstevent.c:
2445         * gst/gstevent.h:
2446         * gst/gstmessage.h:
2447           Minor docs fixes.
2448
2449 === release 0.10.6 ===
2450
2451 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
2452
2453         * configure.ac:
2454           releasing 0.10.6, "Take the cannoli"
2455
2456 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2457
2458         * tools/gst-launch.c: (print_tag):
2459           Fix use of uninitialized variable in the hypothetical
2460           case that some broken plugin creates a GST_TAG_IMAGE
2461           tag containing a NULL buffer (#341667).
2462
2463 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2464
2465         * tools/gst-launch.c: (print_tag):
2466           Print something more intelligible for image tags when
2467           using the -t switch (#341556).
2468
2469 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2470
2471         * Makefile.am:
2472           updates for win32
2473         * configure.ac:
2474           define GST_MAJORMINOR so we have it available in win32/common/config.h
2475           Possibly remove it from our Makefile.am files later
2476         * win32/common/config.h:
2477         * win32/common/config.h.in:
2478           added GST_MAJORMINOR
2479         * win32/common/gstenumtypes.c: (register_gst_resource_error):
2480         * win32/common/gstversion.h:
2481           updated
2482
2483 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
2484
2485         * win32/MANIFEST:
2486           Update win32 files listing.
2487         * win32/common/gstversion.h:
2488           Add GST_MAJORMINOR definition.
2489         * win32/common/libgstreamer.def:
2490           Add new exported functions.
2491           
2492 2006-05-12  Michael Smith  <msmith@fluendo.com>
2493
2494         * gst/gstplugin.c: (gst_plugin_load_file):
2495           If an so file has no plugin entry point, unload the module.
2496
2497 2006-05-11  Wim Taymans  <wim@fluendo.com>
2498
2499         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
2500         (gst_queue_set_property):
2501         Don't forget to signal the _chain or _loop function 
2502         when the queue size or thresholds change since that might
2503         cause them to make progres again.
2504
2505 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
2506
2507         * gst/gstclock.c: (gst_clock_class_init):
2508         * gst/gstindex.c: (gst_index_class_init):
2509         * gst/gstobject.c: (gst_object_class_init):
2510         * gst/gstpad.c: (gst_pad_class_init):
2511         * gst/gstpipeline.c: (gst_pipeline_class_init):
2512         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2513         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2514         * libs/gst/base/gstbasetransform.c:
2515         (gst_base_transform_class_init):
2516         * libs/gst/net/gstnetclientclock.c:
2517         (gst_net_client_clock_class_init):
2518         * libs/gst/net/gstnettimeprovider.c:
2519         (gst_net_time_provider_class_init):
2520         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2521         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2522         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2523         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2524         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2525         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2526         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2527         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2528         * plugins/elements/gsttee.c: (gst_tee_class_init):
2529         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2530         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2531           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2532
2533 2006-05-11  Wim Taymans  <wim@fluendo.com>
2534
2535         * gst/gstbuffer.c: (_gst_buffer_initialize):
2536         Register subbufer along with the buffer type so that
2537         it does not accidentally gets registered from N
2538         different streaming threads in a non threadsafe way.
2539
2540 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2541
2542         * gst/gstbuffer.h:
2543         * gst/gstevent.h:
2544         * gst/gstmessage.h:
2545           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
2546           gst_event_ref() and gst_message_ref() functions again
2547           (ugly hack, please do fix if there's a better way besides
2548           overrides.txt, which doesn't seem to work).
2549
2550 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2551
2552         * libs/gst/check/gstcheck.h:
2553           add an assert for setting state to avoid lots of repetitive code
2554           in the future
2555
2556 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2557
2558         * gst/gstvalue.c: (gst_value_serialize_flags):
2559           fix a leak if no flags are set
2560         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2561           fix leak in tests
2562
2563 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2564
2565         * docs/manual/basics-pads.xml:
2566           Expand a bit on caps and filtered links and update
2567           examples that were still using the no longer existing
2568           gst_pad_link_filtered() (#338206).
2569
2570 2006-05-10  Wim Taymans  <wim@fluendo.com>
2571
2572         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2573         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2574         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2575         (gst_collect_pads_stop):
2576         * libs/gst/base/gstcollectpads.h:
2577         No need to call _stop in _finalize.
2578         Iterate the main pad list in _finalize.
2579         Added some more debug.
2580         Free lists and data in the right order.
2581         Also free data whem doing _remove_pad when stopped for
2582         backward compatibility protect ::started with PAD_LOCK as
2583         well.
2584
2585 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2586
2587         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
2588         (gst_structure_parse_value):
2589           add some comments
2590           rename a method so that it actually says what it does better
2591
2592 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2593
2594         * gst/gstevent.c: (_gst_event_initialize):
2595         * gst/gstformat.c: (_gst_format_initialize):
2596           make sure some essential types used by events are registered
2597           as part of gst_init()
2598         * gst/gstvalue.c: (gst_value_serialize_flags):
2599           if no flags are set, serialize them to a value that represents NONE
2600           so that deserializing them works
2601         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2602           add tests for serialization and deserialization of flags
2603
2604 2006-05-10  Wim Taymans  <wim@fluendo.com>
2605
2606         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
2607         (gst_collect_pads_collect_range), (gst_collect_pads_available),
2608         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
2609         (gst_collect_pads_event), (gst_collect_pads_chain):
2610         Update docs.
2611         Better debug info.
2612         Catch and return errors from the collect function
2613         Refuse data on eos pads.
2614
2615 2006-05-10  Edward Hervey  <edward@fluendo.com>
2616
2617         * gst/gstinterface.h:
2618         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
2619         GInterface type checking.
2620         They were previously using non-defined macros.
2621
2622 2006-05-09  Wim Taymans  <wim@fluendo.com>
2623
2624         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
2625         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
2626         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
2627         (gst_collect_pads_start), (gst_collect_pads_stop),
2628         (gst_collect_pads_peek), (gst_collect_pads_pop),
2629         (gst_collect_pads_available), (gst_collect_pads_read),
2630         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
2631         (gst_collect_pads_is_collected), (gst_collect_pads_event),
2632         (gst_collect_pads_chain):
2633         * libs/gst/base/gstcollectpads.h:
2634         Clean up the mess that is collectpads, add comments and
2635         FIXMEs where needed.
2636         Maintain a separate pad list so we can add pads while
2637         collecting the other ones. For this we need a new separate 
2638         lock (see comics).
2639         Fix memory leak in finalize.
2640         Refactor some weird code to set/unset pad flushing flags, mark
2641         with comments.
2642         Don't crash in _available, _read, _flush when we're EOS.
2643
2644         * tests/check/libs/.cvsignore:
2645         Ignore adapter check binary.
2646
2647 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2648
2649         * gst/gstindex.c: (gst_index_resolver_get_type):
2650         * plugins/elements/gstfakesink.c:
2651         (gst_fake_sink_state_error_get_type):
2652         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2653         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
2654         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2655           Const-ify GEnumValue arrays.
2656
2657 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2658
2659         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2660           Add test case for flags + gst_buffer_make_metadata_writable().
2661
2662 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2663
2664         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
2665           gst_buffer_make_metadata_writable() should maintain the
2666           buffer flags (those that make sense at least) (see #340859).
2667
2668 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2669
2670         * tools/gst-inspect.c:
2671         * tools/gst-launch.c:
2672         * tools/gst-typefind.c:
2673         * tools/gst-xmlinspect.c:
2674         * tools/tools.h:
2675           Fix up includes: need to include stdlib.h in tools.h for exit().
2676
2677 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2678
2679         * gst/gsttaglist.c: (_gst_tag_initialize):
2680         * gst/gsttaglist.h:
2681           API: add GST_TAG_IMAGE tag (#340721).
2682
2683 2006-05-08  Wim Taymans  <wim@fluendo.com>
2684
2685         * gst/gstquery.c:
2686         Added some docs for the segment query.
2687
2688 2006-05-08  Wim Taymans  <wim@fluendo.com>
2689
2690         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2691         (gst_base_src_loop), (gst_base_src_change_state):
2692         Always push non-flushing serialized events in the streaming 
2693         thread.
2694
2695 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2696
2697         * gst/gsterror.c: (_gst_stream_errors_init):
2698           Add a missing error string.
2699
2700 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
2701
2702         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
2703         Add applied_rate to the debug
2704
2705         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2706         Copy applied_rate into the outgoing NEWSEGMENT event
2707
2708 2006-05-08  Wim Taymans  <wim@fluendo.com>
2709
2710         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
2711
2712         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
2713         (gst_base_sink_change_state):
2714         call ::unlock before taking the PREROLL_LOCK so we can safely
2715         handle elements that lock in ::render.
2716         Fixes #340174.
2717
2718 2006-05-08  Edward Hervey  <edward@fluendo.com>
2719
2720         * autogen.sh: (CONFIGURE_DEF_OPT): 
2721         Darwin's libtoolize is in fact called glibtoolize.
2722         Adding glibtoolize to the list of accepted names for libtoolize.
2723
2724 2006-05-08  Wim Taymans  <wim@fluendo.com>
2725
2726         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2727         Unify error handling, don't post an error message
2728         when a push() returns EOS but perform our normal EOS
2729         handling code. Fixes #340772.
2730
2731 2006-05-08  Wim Taymans  <wim@fluendo.com>
2732
2733         * docs/design/part-overview.txt:
2734         Make upsteam/downstream concepts more clear.
2735         Give an example of serialized/non-serialized events.
2736
2737         * docs/design/part-events.txt:
2738         * docs/design/part-streams.txt:
2739         Mention applied_rate.
2740
2741         * docs/design/part-trickmodes.txt:
2742         Mention applied rate, flesh out some more use cases.
2743
2744         * gst/gstevent.c: (gst_event_new_new_segment),
2745         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
2746         (gst_event_parse_new_segment_full), (gst_event_new_tag),
2747         (gst_event_parse_tag), (gst_event_new_buffer_size),
2748         (gst_event_parse_buffer_size), (gst_event_new_qos),
2749         (gst_event_parse_qos), (gst_event_parse_seek),
2750         (gst_event_new_navigation):
2751         * gst/gstevent.h:
2752         Add applied_rate field to NEWSEGMENT event.
2753         API: gst_event_new_new_segment_full()
2754         API: gst_event_parse_new_segment_full()
2755
2756         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
2757         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
2758         (gst_segment_to_stream_time), (gst_segment_to_running_time):
2759         * gst/gstsegment.h:
2760         Add applied_rate to GstSegment structure.
2761         Make calculation of stream_time and running_time more correct
2762         wrt rate/applied_rate.
2763         Add some more docs.
2764         API: GstSegment::applied_rate field
2765         API: gst_segment_set_newsegment_full();
2766
2767         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2768         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
2769         * libs/gst/base/gstbasetransform.c:
2770         (gst_base_transform_sink_eventfunc),
2771         (gst_base_transform_handle_buffer):
2772         Parse and use applied_rate in the GstSegment field.
2773
2774         * tests/check/gst/gstevent.c: (GST_START_TEST):
2775         Add check for applied_rate field.
2776
2777         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2778         (gstsegments_suite):
2779         Add more checks for various GstSegment operations.
2780
2781 2006-05-08  Wim Taymans  <wim@fluendo.com>
2782
2783         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2784         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
2785         (gst_base_sink_get_position), (gst_base_sink_change_state):
2786         Store the sync time of the buffer end position separatly in a
2787         new variable eos_rtime so we can properly sync the EOS event.
2788         Fixes #340697.
2789         Fix the docs for gst_base_sink_set_qos_enabled().
2790         Don't set segment start to invalid value when we receive a 
2791         non TIME newsegment.
2792         get closer to handling position reporting for negative rates 
2793         correctly.
2794
2795 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2796
2797         * gst/gstcaps.c:
2798         Docs about how to print caps for debug purposes.
2799
2800         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
2801         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
2802
2803 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2804
2805         * gst/gstelement.c:
2806           use full enum names and preprend a '%' in docs strings to make recent 
2807           gtk-doc turn that into a link
2808
2809 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2810
2811         * docs/manual/basics-bins.xml:
2812         * docs/manual/basics-bus.xml:
2813         * docs/manual/basics-pads.xml:
2814           Some typo fixes, some additions, some clarifications. 
2815
2816 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2817
2818         * tools/gst-inspect.c: (main):
2819         * tools/gst-launch.c: (main):
2820         * tools/gst-run.c: (main):
2821         * tools/gst-typefind.c: (main):
2822         * tools/gst-xmlinspect.c: (main):
2823           Use the string passed to g_option_context_new() for
2824           what it's intended for - the program name is already
2825           printed elsewhere.
2826
2827 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2828
2829         * tools/Makefile.am:
2830         * tools/gst-inspect.c: (main):
2831         * tools/gst-launch.c: (main):
2832         * tools/gst-xmlinspect.c: (main):
2833         * tools/tools.h:
2834           Add back --version command line option (#340460).
2835
2836         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
2837           Add --version option and use GOption for argument parsing; refactor a
2838           bit; accept directories as arguments and recurse into them; lastly,
2839           print a decent error message when things go wrong.
2840
2841 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2842
2843         * docs/manual/basics-bins.xml:
2844         Don't mention GstThread (#340611)
2845         * docs/manual/basics-elements.xml:
2846         Update link to GObject tutorial (#340607)
2847         
2848 2006-05-05  Wim Taymans  <wim@fluendo.com>
2849
2850         * gst/gstbuffer.h:
2851         * gst/gstminiobject.c:
2852         Add note about refcounting and miniobject/buffer writeability
2853         to docs. Fixes #340604
2854
2855         * gst/gstelementfactory.h:
2856         Added some explanation about @klass.
2857
2858 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2859
2860         * docs/manual/intro-motivation.xml:
2861         * docs/manual/manual.xml:
2862         Avoid CORBA & Bonobo references (#340598)
2863
2864 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2865
2866         * docs/manual/basics-bus.xml:
2867         * docs/manual/basics-pads.xml:
2868         Fix up some inaccuracies and omissions (#340609)
2869         
2870 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2871
2872         * gst/gstghostpad.c:
2873           Small typo in docs (#340625)
2874
2875 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2876
2877         * gst/parse/Makefile.am:
2878           Make 'make -j' proof (see #340698).
2879
2880 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2881
2882         * configure.ac:
2883           Require GLib-2.8 here as well.
2884
2885 2006-05-05  Wim Taymans  <wim@fluendo.com>
2886
2887         * gst/glib-compat.c:
2888         * gst/gst.c: (init_pre):
2889         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2890         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
2891         (gst_object_dispatch_properties_changed):
2892         * gst/gstobject.h:
2893         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2894         * gst/gststructure.c: (gst_structure_set_valist):
2895         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2896         Remove pre glib2.8 compatibility, fixes #340508
2897
2898 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2899
2900         * gst/gsttaglist.h:
2901           Mention type of tags in doc blurbs.
2902
2903 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
2904
2905         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2906         (gst_pad_configure_src), (gst_pad_push):
2907         Restore acceptcaps checking behaviour now that good plugins have
2908         been released.
2909
2910 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2911
2912         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
2913
2914         * gst/gst.c:
2915         * gst/gstbus.c:
2916         * gst/gstclock.c:
2917         * gst/gstevent.c:
2918         * gst/gstformat.c:
2919         * gst/gstmessage.c:
2920         * gst/gstparse.c:
2921         * gst/gstquery.c:
2922         * gst/gstutils.c:
2923         * gst/parse/Makefile.am:
2924         * libs/gst/base/gstadapter.c:
2925         * libs/gst/base/gstbasesrc.c:
2926         * libs/gst/base/gstpushsrc.c:
2927         * libs/gst/base/gsttypefindhelper.c:
2928         * plugins/elements/gstfakesrc.c:
2929         * plugins/elements/gstidentity.c:
2930           Make sure gstprivate.h and/or config.h are
2931           always included first, otherwise some of our
2932           defines (like _FILE_OFFSET_BITS) might be
2933           redefined in the system headers. Fixes build
2934           on opensolaris (#340016).
2935
2936 2006-05-04  Wim Taymans  <wim@fluendo.com>
2937
2938         * docs/libs/gstreamer-libs-sections.txt:
2939         API: addition: gst_adapter_take_buffer()
2940         
2941         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2942         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2943         (gst_adapter_available_fast):
2944         * libs/gst/base/gstadapter.h:
2945         Prepare for optimizing the hell out of this hugely inefficient
2946         piece of code. 
2947         Added gst_adapter_take_buffer() so we can at least start thinking
2948         about subbuffering and merging.
2949         Added some comments.
2950
2951         * tests/check/Makefile.am:
2952         * tests/check/libs/adapter.c: (GST_START_TEST),
2953         (gst_adapter_suite), (main):
2954         Added GstAdapter check.
2955
2956 2006-05-04  Wim Taymans  <wim@fluendo.com>
2957
2958         * docs/design/part-overview.txt:
2959         Fix some typos, add blurb about buffer flags.
2960
2961 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2962
2963         * docs/libs/gstreamer-libs-sections.txt:
2964           make sure GstBaseTransformClass shows up in the docs
2965         * libs/gst/base/gstbasetransform.c:
2966         * libs/gst/base/gstbasetransform.h:
2967           move docs so gtk-doc picks it up now
2968
2969 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2970
2971         * docs/libs/gstreamer-libs-sections.txt:
2972           add missing symbols to docs
2973
2974 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2975
2976         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2977           back out the newsegment handling change, see #340060 for ongoing
2978           discussion
2979
2980 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2981
2982         * tools/gst-run.c: (get_candidates), (main):
2983           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2984           work); fix typo in error message. Fixes #340079.
2985
2986 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2987
2988         * common/Makefile.am:
2989         * docs/Makefile.am:
2990         * docs/faq/Makefile.am:
2991         * docs/gst/Makefile.am:
2992         * docs/libs/Makefile.am:
2993         * docs/manual/Makefile.am:
2994         * docs/plugins/Makefile.am:
2995         * docs/pwg/Makefile.am:
2996         * docs/slides/Makefile.am:
2997         * docs/upload.mak:
2998         * common/upload.mak:
2999           move upload.mak to common
3000
3001 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3002
3003         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3004           add more asserts on refcounts
3005           do more cleanup at end of tests
3006           fix test leaks showing in FC5
3007
3008 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3009
3010         * plugins/elements/gsttypefindelement.c:
3011         (gst_type_find_element_handle_event):
3012         reverted wrong change and reflowed code to avoid others falling into
3013         this trap
3014
3015 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3016
3017         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3018           fix changelog entry about last collectpads change,
3019           add notes about proper fix
3020
3021 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3022
3023         * gst/gst.c:
3024         * gst/gstregistry.c: (gst_registry_scan_path_level),
3025         (gst_registry_scan_path):
3026         * gst/gstregistry.h:
3027           only write out registry if it has changed, fixes #338339
3028
3029 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3030
3031         * gst/gstbin.c:
3032         * gst/gstpipeline.c:
3033         * plugins/elements/gstcapsfilter.c:
3034         * plugins/elements/gstfakesink.c:
3035         * plugins/elements/gstfakesrc.c:
3036         * plugins/elements/gstfdsink.c:
3037         * plugins/elements/gstfdsrc.c:
3038         * plugins/elements/gstfilesink.c:
3039         * plugins/elements/gstfilesrc.c:
3040         * plugins/elements/gstidentity.c:
3041         * plugins/elements/gstqueue.c:
3042         * plugins/elements/gsttee.c:
3043         * plugins/elements/gsttypefindelement.c:
3044         (gst_type_find_element_handle_event):
3045           make GstElementDetails const
3046
3047 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3048
3049         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3050         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3051         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3052           more detailed debug and formatting cleanup,
3053           forward newsegments to src-pad (so that e.g. adder not eats them)
3054
3055 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3056
3057         * gst/gstutils.c: (gst_element_link_pads):
3058           cleanup double code
3059
3060 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3061
3062         * libs/gst/controller/gstcontroller.c:
3063         (gst_controller_sync_values):
3064           some little tuning
3065         * tests/check/libs/controller.c: (GST_START_TEST),
3066         (gst_controller_suite):
3067           a new test for live value handling
3068
3069 2006-04-28  Wim Taymans  <wim@fluendo.com>
3070
3071         * gst/gstutils.c: (push_and_ref):
3072         Added some more docs.
3073         Fix refcount issue whith gst_element_found_tags() helper 
3074         function. Fixes #338335
3075
3076         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3077         Added testsuite for gst_element_found_tags().
3078
3079 2006-04-28  Michael Smith  <msmith@fluendo.com>
3080
3081         * gst/gstvalue.c: (gst_value_serialize_flags):
3082           Avoid NULL dereference when trying to serialize flags containing
3083           invalid values.
3084
3085 2006-04-28  Michael Smith  <msmith@fluendo.com>
3086
3087         * plugins/elements/gsttypefindelement.c:
3088         (gst_type_find_element_handle_event):
3089           If we get EOS before any data is accumulated, don't use
3090           uninitialised local variables.
3091
3092 2006-04-28  Michael Smith  <msmith@fluendo.com>
3093
3094         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3095         (gst_dp_event_from_packet):
3096           Fixes in reading/writing events over GDP (not currently used?) - 
3097           dereferencing NULL events for unknown/invalid event types, memory
3098           leak, and change g_warning to GST_WARNING.
3099
3100 2006-04-28  Wim Taymans  <wim@fluendo.com>
3101
3102         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3103         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3104         (gst_base_sink_get_position), (gst_base_sink_change_state):
3105         When frame dropping is enabled, we should not ignore frames
3106         without a duration.
3107         Update some documentation.
3108
3109 2006-04-28  Wim Taymans  <wim@fluendo.com>
3110
3111         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3112         (gst_base_src_send_event), (gst_base_src_change_state):
3113         Documentation updates.
3114
3115 2006-04-28  Wim Taymans  <wim@fluendo.com>
3116
3117         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3118         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
3119         handle EAGAIN, EINTR and short writes correctly. Also clean
3120         up some error cases, avoid a deadlock on bad file descriptors and
3121         use GST_DEBUG_OBJECT.
3122         Fixes #339843
3123
3124 2006-04-28  Wim Taymans  <wim@fluendo.com>
3125
3126         * gst/gstvalue.c: (gst_value_serialize_buffer),
3127         (gst_value_deserialize_buffer):
3128         Don't try to serialize a GValue with a NULL buffer. 
3129         Fixes #339821.
3130
3131         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3132         Added check for serialisation of NULL buffers.
3133
3134 2006-04-28  Wim Taymans  <wim@fluendo.com>
3135
3136         * gst/gstminiobject.c: (gst_value_take_mini_object):
3137         Taking a NULL miniobject is valid, fix the case where
3138         we try to unref the NULL miniobject.
3139
3140 2006-04-28  Wim Taymans  <wim@fluendo.com>
3141
3142         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3143
3144         * gst/gstbin.c: (gst_bin_handle_message_func):
3145         Update docs.
3146         Don't leak bin refcount when a state recalc is
3147         in progress and we delay another one #339808.
3148
3149 2006-04-28  Wim Taymans  <wim@fluendo.com>
3150
3151         * docs/design/part-TODO.txt:
3152         Mention QoS as an ongoing work item.
3153
3154         * docs/design/part-buffering.txt:
3155         New doc about buffering that needs to be fleshed out
3156         at some point.
3157
3158         * docs/design/part-qos.txt:
3159         More QoS policy for decoders/demuxers/transforms
3160
3161         * docs/design/part-trickmodes.txt:
3162         Small update.
3163
3164 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3165
3166         * configure.ac:
3167           back to HEAD
3168
3169 === release 0.10.5 ===
3170
3171 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
3172
3173         * configure.ac:
3174           releasing 0.10.5, "Fogo"
3175
3176 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3177
3178         patch by: Wim Taymans
3179
3180         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3181         (gst_pad_configure_src), (gst_pad_push):
3182         * gst/gstpipeline.c: (gst_pipeline_init):
3183           Fix internal data flow errors.  Fixes #338711.
3184
3185 2006-04-12  Wim Taymans  <wim@fluendo.com>
3186
3187         * tests/check/gst/gstelement.c: (GST_START_TEST):
3188         Don't leak the factory.
3189
3190 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3191
3192         * configure.ac:
3193         * win32/common/config.h:
3194           prerelease
3195
3196 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3197
3198         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3199         (gst_controller_unset_all):
3200           Free allocated GstTimedValues when freeing list nodes.
3201           Should fix leaks 'make check-valgrind' complains about.
3202
3203         * win32/common/libgstcontroller.def:
3204           Add gst_controller_unset_all.
3205
3206 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
3207
3208         * docs/libs/gstreamer-libs-sections.txt:
3209         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3210         (gst_controller_unset_all):
3211         * libs/gst/controller/gstcontroller.h:
3212         API: Added new method gst_controller_unset_all()
3213         fixed gst_controller_unset()
3214         * tests/check/libs/controller.c: (GST_START_TEST),
3215         (gst_controller_suite):
3216         Added two testcases for new and fixed method
3217
3218 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
3219
3220         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3221           MSG_DONTWAIT is not defined on Cygwin, so work
3222           around that (fixes #317048).
3223           
3224 2006-04-11  Wim Taymans  <wim@fluendo.com>
3225
3226         * gst/gstelementfactory.c: (gst_element_register),
3227         (gst_element_factory_create), (gst_element_factory_make):
3228         Some cleanups.
3229         Fixed a FIXME.
3230         Updated docs (Fixes #131079)
3231
3232         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3233         Small cleanups.
3234
3235         * tests/check/gst/gstelement.c: (GST_START_TEST),
3236         (gst_element_suite):
3237         Added testcase for elementfactory class field.
3238
3239 2006-04-10  Wim Taymans  <wim@fluendo.com>
3240
3241         * gst/gstsegment.c:
3242         Added some more docs.
3243
3244         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
3245         (gst_base_sink_reset_qos):
3246         Calculate more accurate rate values.
3247
3248 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
3249
3250         * gst/gst_private.h:
3251           add a new #ifdef to use __declspec(dllimport) only for
3252           other modules and not for gstreamer core
3253         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
3254           use gst_guint64_to_gdouble for conversion
3255         * win32/common/libgstreamer.def:
3256           add new exported functions
3257         * win32/vs6/gst_inspect.dsp:
3258         * win32/vs6/gst_launch.dsp:
3259         * win32/vs6/libgstbase.dsp:
3260         * win32/vs6/libgstcontroller.dsp:
3261         * win32/vs6/libgstcoreelements.dsp:
3262         * win32/vs6/libgstdataprotocol.dsp:
3263         * win32/vs6/libgstnet.dsp:
3264           update project files
3265
3266 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3267
3268         * gst/gstbuffer.c: (gst_subbuffer_class_init):
3269         * gst/gstclock.c: (gst_clock_class_init):
3270         * gst/gstelement.c: (gst_element_class_init):
3271         * gst/gstindex.c: (gst_index_class_init):
3272         * gst/gstindexfactory.c: (gst_index_factory_class_init):
3273         * gst/gstobject.c: (gst_object_class_init),
3274         (gst_signal_object_class_init):
3275         * gst/gstpad.c: (gst_pad_class_init):
3276         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
3277         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
3278         * gst/gstregistry.c: (gst_registry_class_init):
3279         * gst/gstsystemclock.c: (gst_system_clock_class_init):
3280         * gst/gsttask.c: (gst_task_class_init):
3281         * gst/gstxml.c: (gst_xml_class_init):
3282         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3283         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3284         (gst_base_src_loop):
3285         * libs/gst/controller/gstcontroller.c:/
3286         (_gst_controller_class_init):
3287         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3288         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3289         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
3290         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3291         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3292         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
3293
3294 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
3295
3296         * gst/gstpad.c: (gst_pad_link):
3297           Must set peer pads before calling the link function, otherwise
3298           a task started from a link function might get a flow-not-linked
3299           result when trying to push because the other thread where the
3300           linking happens hasn't had a chance to set the peers yet. This
3301           might happen for example when a queue gets linked to a downstream
3302           element, as queue starts a streaming task when its source pad
3303           gets linked. Happens in real life when playing back flac/musepack
3304           files in playbin (#332390).
3305           
3306 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3307
3308         * gst/gstindex.h:
3309         * gst/gstxml.h:
3310         * libs/gst/base/gstadapter.h:
3311         * libs/gst/base/gstbasesink.h:
3312         * libs/gst/base/gstbasesrc.h:
3313         * libs/gst/base/gstbasetransform.h:
3314         * libs/gst/base/gstcollectpads.h:
3315         * libs/gst/base/gstpushsrc.h:
3316         Fix broken GObject macros
3317
3318 2006-04-07  Wim Taymans  <wim@fluendo.com>
3319
3320         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3321         Initialize start and stop times, thanks valgrind.
3322
3323 2006-04-07  Wim Taymans  <wim@fluendo.com>
3324
3325         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3326         Be a bit nicer to badly behaving upstream elements that expect
3327         us to deal with non TIME segments and timestamps (such as fakesrc
3328         in the testsuite).
3329
3330 2006-04-07  Wim Taymans  <wim@fluendo.com>
3331
3332         * gst/gstbus.c:
3333         Small documentation clarification about the signal watch.
3334
3335         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3336         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3337         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3338         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3339         (gst_base_sink_get_position_last),
3340         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
3341         Convert and store timestamps in stream time and running time, the
3342         raw timestamps are not usefull, also document this better.
3343         Use different window sizes for good and bad QoS observations so
3344         we react to badness a little quicker.
3345         Keep track of the amount of rendered and dropped buffers.
3346         Send QoS timestamps in running time.
3347
3348         * libs/gst/base/gstbasetransform.c:
3349         (gst_base_transform_sink_eventfunc),
3350         (gst_base_transform_handle_buffer):
3351         Compare QoS timestamps against running time.
3352
3353 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3354
3355         * gst/gstpad.c:
3356           Typo fixes in docs.
3357
3358 2006-04-06  Michael Smith  <msmith@fluendo.com>
3359
3360         * gst/gstpad.c: (gst_pad_set_property):
3361           Use g_value_get_object() instead of g_value_dup_gst_object(),
3362           to avoid double-reffing the pad template (which we then sink,
3363           so this worked previously if (and only if) the pad template
3364           was floating.
3365
3366         * gst/gstpadtemplate.c: (gst_pad_template_init),
3367         (gst_pad_template_pad_created):
3368           Never return floating references to pad templates, create
3369           them as initially-sunken.
3370
3371           Document an extra function (and make this stop sinking our
3372           pad template, since that is now guaranteed to do nothing,
3373           since we created it sunken).
3374
3375         * gst/gstghostpad.c:
3376           Fix docs typo.
3377
3378 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3379
3380         * gst/gstinfo.c: (__gst_in_valgrind):
3381           Add some newlines.
3382
3383         * plugins/elements/gsttypefindelement.c:
3384         (gst_type_find_element_chain):
3385           Don't leak buffer caps.
3386
3387 2006-04-06  Michael Smith  <msmith@fluendo.com>
3388
3389         * gst/parse/grammar.y:
3390           Fix a leak in parse-launch for any source-or-sink named element 
3391           references used.
3392
3393         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
3394           Unref the pipeline if it exists after we've failed parsing.
3395
3396 2006-04-05  Michael Smith  <msmith@fluendo.com>
3397
3398         * gst/gstpipeline.c: (gst_pipeline_init):
3399           When we create a pipeline bus, initially create it in flushing mode.
3400           Fixes leaks in at least one test, and makes a new pipeline work the
3401           same as one that has gone to READY and then back to NULL.
3402
3403         * gst/gstelement.c:
3404           Typo fix in docs.
3405
3406 2006-04-05  Michael Smith  <msmith@fluendo.com>
3407
3408         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3409           Unref a pad we reffed.
3410         * tests/check/gst/gstutils.c: (GST_START_TEST):
3411           Unref bins
3412
3413 2006-04-05  Michael Smith  <msmith@fluendo.com>
3414
3415         * gst/gstquery.c: (gst_query_set_formats),
3416         (gst_query_set_formatsv):
3417           Fix leaking GValues in queries, as shown by valgrind/testsuite.
3418
3419 2006-04-05  Michael Smith  <msmith@fluendo.com>
3420
3421         * tests/check/generic/sinks.c: (GST_START_TEST):
3422           Fix a variety of memleaks in sinks check, which are only sometimes 
3423           shown by running the tests under valgrind (weird?).
3424
3425 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
3426
3427         * docs/version.entities.in:
3428           Fix the substituted entity name after thomas' changes on the
3429           weekend.
3430
3431 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3432
3433         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
3434         VALGRIND_PRINTF
3435         
3436 2006-04-05  Andy Wingo  <wingo@pobox.com>
3437
3438         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
3439
3440         * libs/gst/base/gstbasetransform.c
3441         (gst_base_transform_sink_eventfunc): When resetting our segment on
3442         FLUSH_STOP, also update the flag saying we haven't seen a
3443         newsegment.
3444
3445 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3446
3447         Patch by: Paolo Borelli  <pborelli at katamail dot com>
3448
3449         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
3450         (gst_plugin_check_license):
3451           minor clean-ups: G_DEFINE_TYPE already takes care of the
3452           parent_class stuff, no need to do it twice. Mark array of
3453           license strings as constant. (#337103)
3454           
3455 2006-04-04  Michael Smith  <msmith@fluendo.com>
3456
3457         * tools/gst-inspect.c: (print_element_list):
3458           Free the right plugin list; fixes a memory leak.
3459
3460 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3461
3462         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
3463
3464         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3465           Don't error out on empty buffers (#336945).
3466           
3467 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
3468
3469         * docs/libs/gstreamer-libs-sections.txt:
3470         * gst/gsttaglist.c:
3471         * libs/gst/base/gstbasesink.c:
3472         * libs/gst/base/gstbasesink.h:
3473         * libs/gst/base/gstbasesrc.c:
3474         * libs/gst/base/gstbasesrc.h:
3475           Documentation updates. Make BaseSink and BaseSrc docs contain the
3476           class structure so that people can actually see the prototypes for
3477           virtual functions they're supposed to be overriding.
3478
3479 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3480
3481         * plugins/elements/gsttypefindelement.c:
3482         (gst_type_find_element_chain):
3483           More debug info; when skipping typefinding, send cached
3484           events in all cases.
3485
3486 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3487
3488         * configure.ac:
3489           use new AS_VERSION and AS_NANO macros
3490         * gst/gst-i18n-lib.h:
3491         * gst/gst.c:
3492         * gst/gsterror.c:
3493         * gst/gstversion.h.in:
3494         * win32/common/config.h:
3495         * win32/common/config.h.in:
3496           update accordingly
3497
3498 2006-03-31  Michael Smith  <msmith@fluendo.com>
3499
3500         * plugins/elements/gsttypefindelement.c:
3501         (gst_type_find_element_chain):
3502           Do not typefind content if the buffers already have caps.
3503           Neccesary for icydemux (#333657), and the right thing to do anyway.
3504
3505 2006-03-30  Wim Taymans  <wim@fluendo.com>
3506
3507         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3508         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
3509         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
3510         (gst_base_sink_record_qos_observation),
3511         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3512         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3513         (gst_base_sink_change_state):
3514         More QoS measurements as described in the design doc.
3515         Get rid of ringbuffer with observations, running average is
3516         more simple and equally good.
3517         Calculates valid proportion now.
3518         Added beginning of flood measurement.
3519
3520 2006-03-29  Wim Taymans  <wim@fluendo.com>
3521
3522         * docs/design/part-qos.txt:
3523         * gst/gstclock.c:
3524         Small documentation updates and additions.
3525
3526 2006-03-29  Wim Taymans  <wim@fluendo.com>
3527
3528         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3529         (gst_base_src_send_event), (gst_base_src_loop),
3530         (gst_base_src_change_state):
3531         Perform the EOS logic when we reach the segment stop position.
3532         Fix compilation on gcc4.1
3533
3534 2006-03-29  Wim Taymans  <wim@fluendo.com>
3535
3536         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3537
3538         * plugins/elements/gstqueue.c: (gst_queue_init),
3539         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3540         (gst_queue_set_property):
3541         * plugins/elements/gstqueue.h:
3542         In queue, when EOS is received, if minimum threshold > max_size -
3543         current_level, there is chance that queue blocks forever in conditional
3544         item del wait. This is because the queue is not emptied completely due
3545         to minimum threshold.  Here is another approach. Instead of setting
3546         cur_levels to max in EOS, just zero all minimum threshold levels. This
3547         should make sure that queue gives out all data. When going to READY
3548         (stop) state, just reset the original minimum threshold levels.
3549         Fixes #336336.
3550
3551 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
3552
3553         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
3554         (gst_type_find_element_handle_event),
3555         (gst_type_find_element_send_cached_events),
3556         (gst_type_find_element_change_state):
3557         * plugins/elements/gsttypefindelement.h:
3558           When typefinding is done in push mode, we should cache
3559           events we receive during typefinding instead of just
3560           dropping them (e.g. newsegment, custom events from
3561           dvdreadsrc etc.) and then send them out once we've
3562           determined the type of the stream (and decodebin
3563           has had a chance to plug in a decoder/demuxer).
3564           
3565 2006-03-27  Wim Taymans  <wim@fluendo.com>
3566
3567         * docs/design/part-qos.txt:
3568         First QoS ideas.
3569
3570 2006-03-27  Wim Taymans  <wim@fluendo.com>
3571
3572         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
3573
3574         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3575         (gst_base_src_send_event), (gst_base_src_change_state):
3576         Handle element seek correctly when we are streaming.
3577         Fixes #326998.
3578
3579 2006-03-24  Michael Smith  <msmith@fluendo.com>
3580
3581         * docs/faq/gst-uninstalled:
3582           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
3583           allow you to correctly run intalled applications built against old 
3584           core, using plugins that require updated core (e.g. running
3585           installed totem against a full uninstalled gstreamer stack)
3586
3587 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3588
3589         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3590         more debug details
3591
3592 2006-03-24  Wim Taymans  <wim@fluendo.com>
3593
3594         * docs/gst/gstreamer-sections.txt:
3595         Rearrange the order of the methods so that related methods
3596         are grouped together in sections.
3597
3598 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3599
3600         * gst/gstelement.c:
3601           Little clarification in the docs
3602
3603 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3604
3605         * docs/README:
3606         formatting fix
3607         * plugins/elements/gstidentity.c:
3608         * plugins/elements/gstqueue.c:
3609         * plugins/elements/gsttee.c:
3610         * plugins/elements/gsttypefindelement.c:
3611         GST_ELEMENT_DETAILS formatting
3612
3613 2006-03-24  Wim Taymans  <wim@fluendo.com>
3614
3615         * libs/gst/base/gstbasesink.h:
3616         Only add fields, not insert or we break ABI.
3617
3618 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3619
3620         * win32/common/libgstbase.def:
3621         * win32/common/libgstreamer.def:
3622           Update, add recently added functions.
3623
3624 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3625
3626         * docs/gst/gstreamer-sections.txt:
3627         * gst/gstutils.c: (gst_pad_query_peer_position),
3628         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
3629         * gst/gstutils.h:
3630           API: add some new utility functions:
3631            - gst_pad_query_peer_position()
3632            - gst_pad_query_peer_duration()
3633            - gst_pad_query_peer_convert()
3634           
3635 2006-03-23  Wim Taymans  <wim@fluendo.com>
3636
3637         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3638         (gst_base_sink_init), (gst_base_sink_finalize),
3639         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
3640         (gst_base_sink_set_property), (gst_base_sink_get_property),
3641         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
3642         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3643         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
3644         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3645         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3646         (gst_base_sink_preroll_object), (gst_base_sink_event),
3647         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
3648         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3649         (gst_base_sink_query), (gst_base_sink_change_state):
3650         Decouple max-lateness and the fact that QoS messages are generated
3651         with a new property (qos).
3652         added API: GstBaseSink::async_play()
3653         Add vmethod so subclasses can be notified of ASYNC playing
3654         state changes.
3655         Collect timestamp start and stop to report better current
3656         position in EOS/PLAYING/PAUSED/READY/NULL.
3657         Refactor QoS/frame dropping and other measurements.
3658         API: GstBaseSrc::qos
3659         Fixes #326311
3660
3661         * libs/gst/base/gstbasesink.h:
3662         Added Private struct.
3663         API: gst_base_sink_set_qos_enabled()
3664         API: gst_base_sink_is_qos_enabled()
3665
3666 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3667
3668         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3669           If compiling against GLib-2.8 or newer, try to read the
3670           registry file using GMappedFile first before falling back
3671           to fopen() + fread() (#332151).
3672
3673 2006-03-22  Wim Taymans  <wim@fluendo.com>
3674
3675         * gst/gstinfo.c: (gst_debug_set_active),
3676         (gst_debug_category_set_threshold):
3677         Disable debugging unless explicitly activated.
3678         Fixes #335480.
3679
3680 2006-03-22  Wim Taymans  <wim@fluendo.com>
3681
3682         * gst/gstelement.c: (gst_element_set_locked_state),
3683         (gst_element_dispose):
3684         Cleanup the error case.
3685
3686         * gst/gstobject.c: (gst_object_dispose):
3687         print a critical when some object was disposed with
3688         a parent, also revive the object since it might
3689         crash the parent.
3690
3691 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
3692
3693         * tools/gst-launch.1.in:
3694           Fix another typo.
3695
3696 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3697
3698         * configure.ac:
3699         * tests/check/Makefile.am:
3700           disable some tests when we don't have a registry
3701         * tests/check/gst/gstutils.c: (gst_utils_suite):
3702           don't build the part that needs parsing
3703
3704 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         * gst/Makefile.am
3707         * tests/examples/Makefile.am:
3708           fix --disable-parse build
3709
3710 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3711
3712         * tools/gst-feedback.1.in:
3713           Fix typo: s/feeback/feedback/ (#133494).
3714
3715 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3716
3717         * tools/Makefile.am:
3718         * tools/gst-launch.1.in:
3719           Add FILES section and correct entry about GST_REGISTRY_PATH
3720           environment variable (#133495; #133494).
3721
3722 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3723
3724         * tools/Makefile.am:
3725         * tools/gst-md5sum.1.in:
3726         * tools/gst-md5sum.c:
3727           Remove gst-md5sum and man page (the md5sink element
3728           required was removed ages ago)
3729
3730 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3731
3732         * gst/gststructure.c: (gst_structure_id_set_value):
3733           Make sure that string fields in structures/taglists
3734           contain valid UTF-8 - we don't want to pass rubbish to
3735           applications because of a buggy plugin (cp. #334167).
3736
3737 2006-03-21  Edward Hervey  <edward@fluendo.com>
3738
3739         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3740         (gst_bin_handle_message_func):
3741         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
3742         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
3743         (gst_element_set_bus_func):
3744         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
3745         * gst/gstminiobject.c: (gst_value_set_mini_object),
3746         (gst_value_take_mini_object):
3747         * gst/gstpad.c: (gst_pad_set_pad_template):
3748         * gst/gstpipeline.c: (gst_pipeline_dispose),
3749         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3750         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
3751         (gst_collect_pads_chain):
3752         * libs/gst/net/gstnettimeprovider.c:
3753         (gst_net_time_provider_set_property):
3754         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
3755         It's in fact all issues with gst_*object_replace().
3756
3757 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3758
3759         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
3760         
3761         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3762         * pkgconfig/gstreamer-check.pc.in:
3763           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
3764
3765 2006-03-21  Edward Hervey  <edward@fluendo.com>
3766
3767         * gst/gstbuffer.h:
3768         * gst/gstevent.h:
3769         * gst/gstmessage.h:
3770         gst_[buffer|event|message]_ref() macros are replaced by a static
3771         inline functions because gcc-4.1 will about if the return value
3772         isn't used.
3773         * tests/check/gst/gstevent.c: (event_probe):
3774         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
3775
3776 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
3777
3778         * gst/gstutils.h:
3779         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
3780         the type' case. (Closes: #335195 for now). In the future, when we
3781         depend on GLib 2.10, we could also intern the type name using
3782         g_intern_static_string()
3783
3784 2006-03-20  Wim Taymans  <wim@fluendo.com>
3785
3786         * gst/gstbin.c: (gst_bin_handle_message_func),
3787         (bin_query_max_init), (bin_query_position_fold),
3788         (bin_query_position_done), (gst_bin_query):
3789         Position query should also take max of all streams.
3790
3791 2006-03-20  Wim Taymans  <wim@fluendo.com>
3792
3793         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3794         (gst_fake_src_finalize):
3795         Fix leaks in fakesrc.
3796
3797         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3798         Fix leaks in the testcase.
3799
3800 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
3801
3802         * gst/gst_private.h:
3803           add win32 specific import decoration(__declspec(dllimport)) 
3804           for all extern GstDebugCategory * variables
3805         * win32/common/libgstbase.def:
3806         * win32/common/libgstcontroller.def:
3807         * win32/common/libgstreamer.def:
3808           Add some exports, remove empty lines
3809         * win32/common/libgstdataprotocol.def:
3810         * win32/common/libgstdataprotocol.dsp:
3811         * win32/common/libgstnet.def:
3812         * win32/common/libgstnet.dsp:
3813           new project files and exportation files added
3814         
3815 2006-03-19  Wim Taymans  <wim@fluendo.com>
3816
3817         * tests/check/libs/basesrc.c: (eos_event_counter):
3818         Use proper return value for probe.
3819
3820 2006-03-17  Wim Taymans  <wim@fluendo.com>
3821
3822         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3823         (gst_pad_push):
3824         Don't leak buffers, caps and pads on negotiation errors.
3825
3826 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
3827
3828         * docs/faq/cvs.xml:
3829         * docs/faq/dependencies.xml:
3830         * docs/faq/developing.xml:
3831         * docs/faq/faq.xml:
3832         * docs/faq/general.xml:
3833         * docs/faq/getting.xml:
3834         * docs/faq/legal.xml:
3835         * docs/faq/troubleshooting.xml:
3836         * docs/faq/using.xml:
3837         Faq review and update.
3838
3839 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
3840
3841         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3842         (gst_pad_push):
3843         Don't pound the cpu to pieces by checking get_caps when accept_caps
3844         is called with the same caps as the pad already has.
3845         Use GST_DEBUG_OBJECT when outputting caps change information.
3846
3847 2006-03-15  Wim Taymans  <wim@fluendo.com>
3848
3849         * gst/gstclock.c: (gst_clock_class_init):
3850         Fix docs.
3851
3852 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
3853
3854         * gst/gstbuffer.h:
3855         Documentation fix.
3856
3857         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
3858         (gst_pad_accept_caps), (gst_pad_configure_sink),
3859         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
3860         Make the default acceptcaps behaviour be to check the requested 
3861         caps against the gst_pad_get_caps output. 
3862
3863         Ensure that gst_pad_accept_caps is used to check caps when a pad
3864         doesn't have a setcaps function, so that pads automatically refuse 
3865         caps that they don't allow in their pad template. (Fixes #332986)
3866
3867         When a buffer with attached caps is pushed, ensure that the source 
3868         pad receives those caps even if the element didn't call
3869         gst_pad_set_caps first.
3870
3871 2006-03-15  Wim Taymans  <wim@fluendo.com>
3872
3873         * libs/gst/base/gstadapter.c:
3874         Add some docs.
3875
3876 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3877
3878         * win32/common/libgstbase.def:
3879         * win32/common/libgstcontroller.def:
3880         * win32/common/libgstreamer.def:
3881           Add a whole bunch of missing functions (#334434).
3882
3883 2006-03-14  Wim Taymans  <wim@fluendo.com>
3884
3885         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3886         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3887         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
3888         Better debug info when we receive a segment event.
3889         Reorganize a bit so we can pass the get_times() results around.
3890         Use the segment format when calculating the running time.
3891         Don't do QoS is sync is disabled or we have no clock or the
3892         element does not want us to sync to the clock.
3893         Don't drop buffers if QoS is disabled for now.
3894
3895 2006-03-14  Wim Taymans  <wim@fluendo.com>
3896
3897         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
3898         Marked the stats property as unimplemented so people don't get
3899         wild ideas.
3900         Add debug message when regression goes wrong.
3901         Added some more docs.
3902
3903 2006-03-14  Wim Taymans  <wim@fluendo.com>
3904
3905         * gst/gstsegment.c: (gst_segment_to_stream_time):
3906         Return correct return type in case of errors.
3907
3908 2006-03-14  Wim Taymans  <wim@fluendo.com>
3909
3910         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
3911           Don't segfault on invalid formats.
3912
3913 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3914
3915         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3916           Can't use gst_segment_to_running_time() when the segment
3917           is not in GST_TIME_FORMAT (like with filesink, for example).
3918           Stops flac encoding pipelines from spewing critical warnings
3919           at EOS (#331248).
3920           
3921 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3922
3923         * gst/gstpipeline.c: (gst_pipeline_class_init):
3924           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3925
3926         * plugins/elements/gsttypefindelement.c:
3927         (gst_type_find_element_handle_event):
3928           Don't try to typefind empty streams.
3929
3930 2006-03-14  Wim Taymans  <wim@fluendo.com>
3931
3932         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3933         (gst_base_sink_do_qos):
3934         Separate QoS calculation.
3935         Only drop buffers when lateness is bigger than the 
3936         duration of the buffer.
3937
3938 2006-03-13  Wim Taymans  <wim@fluendo.com>
3939
3940         * gst/gstpipeline.c: (gst_pipeline_set_property),
3941         (gst_pipeline_get_property), (do_pipeline_seek),
3942         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3943         (gst_pipeline_get_delay):
3944         Don't deadlock when reading properties.
3945
3946 2006-03-13  Wim Taymans  <wim@fluendo.com>
3947
3948         * libs/gst/base/gstbasetransform.c:
3949         (gst_base_transform_class_init), (gst_base_transform_init),
3950         (gst_base_transform_sink_event),
3951         (gst_base_transform_sink_eventfunc),
3952         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3953         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3954         (gst_base_transform_set_property),
3955         (gst_base_transform_get_property),
3956         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3957         (gst_base_transform_set_qos_enabled),
3958         (gst_base_transform_is_qos_enabled):
3959         * libs/gst/base/gstbasetransform.h:
3960         Make basetransform virtual method for src events too.
3961         Handle QOS in basetransform.
3962         API: gst_base_transform_update_qos()
3963         API: gst_base_transform_set_qos_enabled()
3964         API: gst_base_transform_is_qos_enabled()
3965
3966 2006-03-13  Wim Taymans  <wim@fluendo.com>
3967
3968         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3969         (gst_base_sink_do_sync):
3970         Small cleanups.
3971         Use QOS debug category.
3972
3973 2006-03-13  Wim Taymans  <wim@fluendo.com>
3974
3975         * plugins/elements/gstqueue.c:
3976         Very small doc update.
3977
3978 2006-03-13  Wim Taymans  <wim@fluendo.com>
3979
3980         * gst/gst_private.h:
3981         * gst/gstinfo.c: (_gst_debug_init):
3982         Added QOS debug category
3983
3984 2006-03-13  Wim Taymans  <wim@fluendo.com>
3985
3986         * docs/gst/gstreamer-sections.txt:
3987         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3988         * gst/gstbin.h:
3989         * gst/gstbus.c: (gst_bus_class_init):
3990         * gst/gstbus.h:
3991         * gst/gstclock.c:
3992         * gst/gstelement.c: (gst_element_set_locked_state):
3993         * gst/gstsegment.c:
3994         Documentation updates.
3995
3996         * gst/gstpipeline.c: (gst_pipeline_get_type),
3997         (gst_pipeline_class_init), (gst_pipeline_init),
3998         (gst_pipeline_dispose), (gst_pipeline_set_property),
3999         (gst_pipeline_get_property), (do_pipeline_seek),
4000         (gst_pipeline_send_event), (gst_pipeline_change_state),
4001         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4002         (gst_pipeline_get_delay):
4003         * gst/gstpipeline.h:
4004         Added methods for setting the delay.
4005         API: gst_pipeline_set_delay()
4006         API: gst_pipeline_get_delay()
4007         Add pipeline debug category
4008         Various cleanups.
4009         Updated docs.
4010         Don't reset stream time when seek failed.
4011
4012 2006-03-13  Wim Taymans  <wim@fluendo.com>
4013
4014         * docs/design/draft-klass.txt:
4015         * docs/design/part-clocks.txt:
4016         * docs/design/part-events.txt:
4017         * docs/design/part-gstbin.txt:
4018         * docs/design/part-gstpipeline.txt:
4019         * docs/design/part-messages.txt:
4020         * docs/design/part-negotiation.txt:
4021         * docs/design/part-overview.txt:
4022         * docs/design/part-preroll.txt:
4023         * docs/design/part-seeking.txt:
4024         * docs/design/part-states.txt:
4025         * docs/design/part-streams.txt:
4026         Documentation updates.
4027
4028 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4029
4030         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4031         us to leak strings...
4032
4033 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4034
4035         * libs/gst/net/gstnettimeprovider.c:
4036           fix docs
4037         * win32/common/config.h:
4038           update
4039
4040 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4041
4042         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4043
4044         * configure.ac:
4045           Don't check for libgnomeui (leftover from old examples
4046           that aren't built or disted any longer) (#334303).
4047           
4048 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4049
4050         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4051         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4052           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4053           there's no space left on the device.
4054
4055 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4056
4057         * gst/gstclock.h:
4058           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4059           to cast the input to GstClockTime before comparing with
4060           another GstClockTime value.
4061
4062 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4063
4064         * configure.ac:
4065           back to trunk
4066
4067 === release 0.10.4 ===
4068
4069 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4070
4071         * configure.ac:
4072           releasing 0.10.4, "Light"
4073
4074 2006-03-10  Michael Smith  <msmith@fluendo.com>
4075
4076         * libs/gst/dataprotocol/dataprotocol.c:
4077           Fix docs for dataprocotol to not get the return types completely
4078           wrong for a few functions.
4079
4080 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4081
4082         * docs/gst/gstreamer-sections.txt:
4083         * gst/gstpipeline.c: (gst_pipeline_class_init),
4084         (gst_pipeline_init), (gst_pipeline_set_property),
4085         (gst_pipeline_get_property), (gst_pipeline_change_state),
4086         (gst_pipeline_set_auto_flush_bus),
4087         (gst_pipeline_get_auto_flush_bus):
4088         * gst/gstpipeline.h:
4089           Add new API: gst_pipeline_set_auto_flush_bus() and
4090           gst_pipeline_get_auto_flush_bus() to disable automatic
4091           flushing of the pipeline's GstBus when going from READY
4092           to NULL state (#332045).
4093
4094 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4095
4096         * docs/gst/gstreamer-sections.txt:
4097         * gst/gsturi.c: (gst_uri_has_protocol):
4098         * gst/gsturi.h:
4099            Add new API: gst_uri_has_protocol() (#333779).
4100
4101 2006-03-09  Wim Taymans  <wim@fluendo.com>
4102
4103         * gst/gstclock.c: (gst_clock_entry_new),
4104         (gst_clock_id_compare_func), (gst_clock_id_wait),
4105         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4106         (gst_clock_init), (gst_clock_get_internal_time),
4107         (gst_clock_set_master), (do_linear_regression),
4108         (gst_clock_add_observation), (gst_clock_set_property):
4109         * gst/gstclock.h:
4110         Review docs.
4111         Small cleanups.
4112         Fix a possible segfault when the window-size is made smaller.
4113         Calculate jitter before performing the clock wait. Ideally
4114         the clock implementation should calculate jitter but we need
4115         API breakage for that.
4116
4117         * gst/gstsystemclock.c: (gst_system_clock_init):
4118         Docs review.
4119         
4120         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4121         Remove leftover else
4122
4123         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4124         (gst_systemclock_suite):
4125         Added check to test GST_CLOCK_DIFF.
4126
4127 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4128
4129         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
4130         (gst_type_find_helper_get_range):
4131           If we are provided with the size, we should implement
4132           GstTypeFind::get_length, so that typefind functions who
4133           want to can actually peek at the middle of a file.
4134
4135 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
4136
4137         * docs/manual/advanced-dataaccess.xml:
4138           Add some very very basic error checking.
4139
4140         * docs/pwg/appendix-checklist.xml:
4141           Some updates to the list of things to check when writing an element.
4142
4143 2006-03-08  Wim Taymans  <wim@fluendo.com>
4144
4145         * docs/design/part-element-transform.txt:
4146         Added some docs about the design of tranform elements.
4147
4148         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4149         (gst_base_src_loop), (gst_base_src_change_state):
4150         Mark buffers with the DISCONT flag.
4151
4152 2006-03-08  Michael Smith  <msmith@fluendo.com>
4153
4154         * gst/gstregistry.h:
4155         * gst/gstregistryxml.c: (gst_registry_save),
4156         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
4157         (gst_registry_xml_save_pad_template),
4158         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
4159         (gst_registry_xml_write_cache):
4160           Rewrite registry-saving to avoid race conditions and check for
4161           failed writes.
4162
4163 2006-03-08  Wim Taymans  <wim@fluendo.com>
4164
4165         * libs/gst/base/gstbasetransform.c:
4166         (gst_base_transform_transform_caps),
4167         (gst_base_transform_transform_size),
4168         (gst_base_transform_prepare_output_buffer),
4169         (gst_base_transform_get_unit_size),
4170         (gst_base_transform_buffer_alloc),
4171         (gst_base_transform_handle_buffer),
4172         (gst_base_transform_change_state):
4173         Cleanups, separate normal flow from errors, add sensible
4174         DEBUG lines.
4175         Don't try to renegotiate when allocating an output buffer.
4176         Also copy DISCONT buffer flag when copying a buffer.
4177         Reset the transform after we finish streaming, not during.
4178
4179 2006-03-08  Wim Taymans  <wim@fluendo.com>
4180
4181         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4182         Use last buffer timestamp in qos message.
4183
4184 2006-03-07  Wim Taymans  <wim@fluendo.com>
4185
4186         Patch by: Christophe Fergeau
4187
4188         * docs/pwg/advanced-tagging.xml:
4189         * docs/pwg/building-pads.xml:
4190           fixes #333416
4191
4192 2006-03-07  Wim Taymans  <wim@fluendo.com>
4193
4194         * docs/libs/gstreamer-libs-sections.txt:
4195         Added basesink new methods.
4196
4197         * gst/gstevent.c:
4198         * gst/gstevent.h:
4199         Docs updates. Flesh out the QoS docs.
4200
4201         * libs/gst/base/gstadapter.c:
4202         Small doc clarification about ownership and flushing.
4203
4204         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
4205         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4206         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
4207         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4208         * libs/gst/base/gstbasesink.h:
4209         API additions: 
4210         Added new methods to allow subclass to control max-lateness 
4211         and sync.
4212         Generate very basic QoS events based on last sync observation.
4213         Updated docs, fix typo, added some QoS blurb.
4214
4215         * libs/gst/base/gstbasesrc.c:
4216         Remove obsolete _get_state() calls from docs.
4217
4218 2006-03-07  Wim Taymans  <wim@fluendo.com>
4219
4220         * docs/libs/gstreamer-libs-sections.txt:
4221         * libs/gst/base/gstbasetransform.h:
4222         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
4223         Fix docs for GstBaseSrc.
4224
4225 2006-03-07  Wim Taymans  <wim@fluendo.com>
4226
4227         * docs/gst/gstreamer-sections.txt:
4228         * gst/gstbuffer.h:
4229         * gst/gstvalue.c:
4230         * libs/gst/base/gstbasetransform.h:
4231         Small documentation fixes.
4232
4233 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4234
4235         * gst/gstvalue.c:
4236           Document thread-unsafety of gst_value_register_foo_func()
4237           when used at the same time as gst_value_foo() (#322628).
4238
4239 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4240
4241         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
4242         (gst_push_src_check_get_range):
4243           Push sources don't support pull mode by default.
4244
4245 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4246
4247         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4248         (gst_base_src_init), (gst_base_src_pad_check_get_range),
4249         (gst_base_src_default_check_get_range):
4250         * libs/gst/base/gstbasesrc.h:
4251           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
4252           provide default implementation, and rename
4253           gst_base_src_check_get_range() to
4254           gst_base_src_pad_check_get_range() for clarity.
4255
4256 2006-03-06  Wim Taymans  <wim@fluendo.com>
4257
4258         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4259         Make property overridable.
4260
4261 2006-03-06  Wim Taymans  <wim@fluendo.com>
4262
4263         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4264         (gst_base_sink_init), (gst_base_sink_set_property),
4265         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4266         * libs/gst/base/gstbasesink.h:
4267         API addition: Make max-lateness a property.
4268
4269 2006-03-06  Wim Taymans  <wim@fluendo.com>
4270
4271         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
4272         (gst_base_sink_do_sync), (gst_base_sink_render_object):
4273         Don't ever draw a frame that is >10ms late.
4274
4275 2006-03-06  Michael Smith  <msmith@fluendo.com>
4276
4277         * gst/gstmessage.c: (_gst_message_copy):
4278           When copying a message, set the parent_refcount of the enclosed
4279           structure to point at the copy, not the original message.
4280
4281 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4282
4283         Patch by: Christophe Fergeau
4284
4285         * gst/gstutils.h:
4286           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
4287           usable in c++ code (#333417)
4288
4289 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4290
4291         * gst/gstclock.h:
4292           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
4293
4294 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
4295
4296         * libs/gst/base/gstbasetransform.c:
4297         (gst_base_transform_transform_caps):
4298           Make sure caps are writable before passing them to
4299           gst_caps_append().
4300
4301 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4302
4303         * gst/gsterror.h:
4304           Fix some minor docs errors.
4305
4306 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4307
4308           Patch by: Ross Burton <ross at burtonini dot com>
4309
4310         * gst/gsterror.c: (_gst_resource_errors_init):
4311         * gst/gsterror.h:
4312           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
4313
4314 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4315
4316         * gst/gst.c:
4317         Add a check and output a g_warning when GStreamer is built
4318         against GLib 2.6 but running against 2.8 or higher, and vice 
4319         versa. (Closes: #323542)
4320
4321 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4322
4323         * gst/parse/parse.l:
4324           Commit patch for parse_launch syntax from #331255. Removes 
4325           support for quoted strings and mimetypes when writing filtered 
4326           caps. See the bug report for more details - I'm pretty sure this
4327           obscure feature is not in use by _anyone_ anywhere.
4328
4329           With this simple change, the size of the gstreamer.so here 
4330           drops from 2193KB to 1565KB.
4331
4332 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4333
4334         * plugins/elements/gsttypefindelement.h:
4335         * plugins/elements/gsttypefindelement.c:
4336         (gst_type_find_element_src_event), (start_typefinding),
4337         (stop_typefinding), (gst_type_find_element_handle_event),
4338         (gst_type_find_element_chain),
4339         (gst_type_find_element_chain_do_typefinding):
4340           Use gst_type_find_helper_for_buffer() for chain-based
4341           typefinding.
4342
4343 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4344
4345         * plugins/elements/gsttypefindelement.c:
4346         (gst_type_find_element_class_init),
4347         (gst_type_find_element_set_property),
4348         (gst_type_find_element_get_property):
4349           Deprecate "maximum" property (not only was it only taken into
4350           account for typefinding in push-mode anyway, it also was never
4351           actually possible to set it in the first place because the
4352           property was registered with the numeric property ID for the
4353           "minimum" property). Register "maximum" property correctly,
4354           for the sake of future copy'n'pasters. Remove some cruft
4355           from property get/set functions.
4356
4357 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4358
4359         * plugins/elements/gsttypefindelement.c:
4360         (gst_type_find_element_activate):
4361           Use gst_type_find_helper_get_range() here, so we
4362           can honour the "minimum" property and also emit
4363           the signal with the correct probability of the found caps.
4364
4365 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
4366
4367         * docs/libs/gstreamer-libs-sections.txt:
4368         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
4369         (helper_find_suggest), (gst_type_find_helper_get_range),
4370         (gst_type_find_helper):
4371         * libs/gst/base/gsttypefindhelper.h:
4372           New API: gst_type_find_helper_get_range() (#333042).
4373
4374 2006-03-02  Michael Smith  <msmith@fluendo.com>
4375
4376         * gst/gstregistryxml.c: (load_feature):
4377           Asserting on a failure to read part of the registry is Not Cool.
4378           Just log a warning and return NULL (which is already handled)
4379
4380 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
4381
4382         * win32/common/libgstbase.def:
4383           added export of gst_type_find_helper_for_buffer
4384         * win32/common/libgstbase.def:
4385           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
4386           gst_ghost_pad_get_target
4387
4388 2006-02-28  Wim Taymans  <wim@fluendo.com>
4389
4390         * docs/design/draft-klass.txt:
4391         We use Filter now.
4392         Added Connector to mark elements that are only used to
4393         allow pipeline connections.
4394         Moved Debug to extra feature since most of them are 
4395         functionally something else.
4396
4397 2006-02-28  Wim Taymans  <wim@fluendo.com>
4398
4399         * docs/design/draft-klass.txt:
4400         Some updates and clarifications.
4401
4402 2006-02-28  Wim Taymans  <wim@fluendo.com>
4403
4404         * docs/design/draft-klass.txt:
4405         Proposal for klass field values.
4406
4407         * docs/design/part-streams.txt:
4408         Start of a doc describing stream anatomy.
4409
4410 2006-02-28  Wim Taymans  <wim@fluendo.com>
4411
4412         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
4413         Help the compiler a bit with type registration.
4414         Use existing forward cod path instead of duplicating it when 
4415         handling a message.
4416         
4417         * gst/gstbus.c: (gst_bus_get_type):
4418         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
4419         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
4420         * gst/gstclock.c: (gst_clock_get_type):
4421         * gst/gstelement.c: (gst_element_get_type),
4422         * gst/gstelementfactory.c: (gst_element_factory_get_type):
4423         * gst/gstindexfactory.c: (gst_index_factory_get_type):
4424         * gst/gstminiobject.c: (gst_mini_object_get_type):
4425         * gst/gstpad.c: (gst_pad_get_type):
4426         * gst/gstsegment.c: (gst_segment_get_type):
4427         * gst/gststructure.c: (gst_structure_get_type):
4428         * gst/gstsystemclock.c: (gst_system_clock_get_type):
4429         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
4430         * gst/gstvalue.c:
4431         Help compiler with type registration.
4432
4433         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4434         Small doc update.
4435
4436 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4437
4438         * plugins/elements/gsttypefindelement.c:
4439         (gst_type_find_element_handle_event):
4440           When we get an EOS event and have not found a type yet
4441           (most likely because we had not yet accumulated
4442           TYPE_FIND_MIN_SIZE of data yet), try to determine the
4443           type given the data we have so far. Fixes typefinding
4444           for very short streams again, most notably quicktime
4445           redirections as used on Apple's trailer site (#331701).
4446
4447 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4448
4449         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
4450         (gst_type_find_helper):
4451           Try typefinding factories with the highest rank first.
4452
4453 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4454
4455         * docs/libs/gstreamer-libs-docs.sgml:
4456         * docs/libs/gstreamer-libs-sections.txt:
4457         * libs/gst/base/gsttypefindhelper.c:
4458           Add section for typefind helper and add documentation
4459           for the old and the new function.
4460
4461 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4462
4463         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
4464         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
4465         (gst_type_find_helper_for_buffer):
4466         * libs/gst/base/gsttypefindhelper.h:
4467           New API: gst_type_find_helper_for_buffer() (#332723).
4468           
4469 2006-02-27  Michael Smith  <msmith@fluendo.com>
4470
4471         Patch by: Loïc Minier
4472
4473         * configure.ac:
4474         * docs/Makefile.am:
4475         * docs/slides/Makefile.am:
4476           prevent CVS directories getting disted.
4477
4478 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4479
4480         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
4481           Use the REFCOUNTING category for caps refcounting.
4482           
4483 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4484
4485         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4486           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
4487
4488 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4489
4490         * plugins/elements/gsttypefindelement.c:
4491         (gst_type_find_element_activate):
4492           Use gst_pad_check_pull_range() before _activate_pull()
4493           to avoid unnecessary open/close (see #331690).
4494
4495 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4496
4497         * gst/gstutils.c:
4498           Docs enhancement: make it crystal clear what the
4499           gst_pad_add_*_probe() callbacks should look like.
4500
4501 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4502
4503         * libs/gst/base/gstbasesrc.c:
4504           Document how applications can stop recording from
4505           live sources (see #330996).
4506
4507 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4508
4509         * tests/check/Makefile.am:
4510         * tests/check/libs/basesrc.c: (eos_event_counter),
4511         (basesrc_eos_events_pull), (basesrc_eos_events_push),
4512         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
4513         (gst_basesrc_suite), (main):
4514           ... and add some tests for the base source EOS stuff.
4515
4516 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4517
4518         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
4519           Test case originally showed the problem fixed below,
4520           but was then amended. Add checks back at the place
4521           where they used to be.
4522
4523 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4524
4525         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4526         (gst_base_src_init), (gst_base_src_loop),
4527         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4528         (gst_base_src_change_state):
4529         * libs/gst/base/gstbasesrc.h:
4530           Don't unconditionally send EOS when going from PAUSED to
4531           READY state, esp. make sure we don't send two EOS events
4532           in some cases (e.g. one when reaching EOS and one when
4533           going from PAUSED to READY). Also, we don't want to send
4534           EOS events when operating in pull mode. However, we do
4535           want to send an EOS event when shutting down a live
4536           source explicitly, for example (fixes #330996).
4537           
4538 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4539
4540         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4541           Update src->read_position after a seek when not using mmap.
4542           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
4543
4544 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
4545
4546         * gst/Makefile.am:
4547         * gst/gstparse.h:
4548         * gst/gstutils.c:
4549         * gst/gstutils.h:
4550         Make things work with --disable-parse as they do with 
4551         --disable-load-save - the symbols involved disappear, but the
4552         header is still installed and GST_DISABLE_PARSE is included via
4553         gstconfig.h
4554
4555 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4556
4557         * libs/gst/base/gstbasetransform.c:
4558         (gst_base_transform_change_state): Fix a stupid bug. I was 
4559         sure I compiled that.
4560
4561 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4562
4563         * gst/gstpad.c: (gst_pad_set_blocked_async):
4564         * gst/gstutils.c: (gst_pad_add_data_probe),
4565         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4566         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4567         (gst_pad_remove_buffer_probe): Make those function act on the
4568         ghostpad target when it's a ghostpad. (Closes #331727)
4569
4570 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4571
4572         * libs/gst/base/gstbasetransform.c:
4573         (gst_base_transform_change_state): Make basetransform reusable.
4574         (Closes #331898)
4575
4576 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
4577
4578         * docs/random/release:
4579         Move the current documentation of how to do a release to the top
4580         of the file.
4581
4582         * gst/gstbin.c: (gst_bin_class_init),
4583         (gst_bin_handle_message_func):
4584         Allow multiple state-recalculation threads. (Closes #328873)
4585
4586 2006-02-19  Julien MOUTTE  <julien@moutte.net>
4587
4588         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
4589         * gst/gstpad.c: (gst_pad_set_event_function),
4590         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4591         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
4592         2 strings. You can't use the STR_NULL macro on that.
4593
4594 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
4595
4596         * gst/gstpad.c: (gst_pad_set_event_function),
4597         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4598         (gst_pad_set_getcaps_function)
4599         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
4600           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
4601           So now, we can use --gst-debug-level=5 on Windows
4602         * win32/common/libgstcontroller.def:
4603           Added export of gst_controller_init
4604         * win32/vs6/libgstcontroller.dsp:
4605           Fixed Release post build configuration
4606
4607 2006-02-17  Wim Taymans  <wim@fluendo.com>
4608
4609         * tests/check/gst/gstquery.c: (GST_START_TEST):
4610         Added another check.
4611
4612 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
4613
4614         * plugins/elements/gsttypefindelement.c: (find_peek):
4615           We can do peeks at non-zero offsets, as long as they
4616           fall within the buffer we have.
4617
4618 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
4619
4620         * tests/check/Makefile.am:
4621         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
4622         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
4623         (parse_suite), (main):
4624           Add testsuite for parse launch syntax
4625
4626 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
4627
4628         * plugins/elements/gsttypefindelement.c:
4629         (gst_type_find_element_chain):
4630           When typefinding is unsuccessful in the chain function, don't
4631           error out immediately. Only error out with NO_CAPS_FOUND if
4632           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
4633           otherwise simply wait for more data so we can try typefinding
4634           again with more data later. Also, don't attempt to typefind
4635           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
4636           this should improve typefinding from network sources where the
4637           size of the first buffer can be somewhat random.
4638
4639 2006-02-14  Wim Taymans  <wim@fluendo.com>
4640
4641         * docs/gst/gstreamer-sections.txt:
4642         * gst/gstpadtemplate.c:
4643         * gst/gstpadtemplate.h:
4644         Fix padtemplate docs, fixes #328805.
4645
4646 2006-02-14  Wim Taymans  <wim@fluendo.com>
4647
4648         * tools/gst-launch.c: (main):
4649         NO_PREROLL is not an ERROR so don't send confusing messages
4650         to the user.
4651
4652 2006-02-14  Wim Taymans  <wim@fluendo.com>
4653
4654         Patch by: Torsten Schoenfeld
4655
4656         * gst/gstregistry.c: (gst_registry_get_default),
4657         (_gst_registry_cleanup):
4658         Protect default registry with lock and ref/sink it.
4659         Fixes #324818
4660
4661 2006-02-14  Wim Taymans  <wim@fluendo.com>
4662
4663         * gst/gstbuffer.c:
4664         * gst/gstquery.c: (gst_query_list_add_format),
4665         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4666         (gst_query_parse_formats_nth):
4667         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4668         Docs fixes.
4669
4670 2006-02-14  Wim Taymans  <wim@fluendo.com>
4671
4672         * docs/gst/gstreamer-sections.txt:
4673         Reworked query docs.
4674
4675         * gst/gstquery.c: (gst_query_new_formats),
4676         (gst_query_list_add_format), (gst_query_set_formats),
4677         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4678         (gst_query_parse_formats_nth):
4679         * gst/gstquery.h:
4680         Flesh out formats query, added some new methods.
4681         Fix part of #324398.
4682
4683         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
4684         Added query creation tests.
4685
4686 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
4687
4688         * gst/gstpad.c: (fixate_value):
4689         Add a default fixation for fraction lists.
4690
4691 2006-02-13  Wim Taymans  <wim@fluendo.com>
4692
4693         * gst/gsttask.c: (gst_task_init), (gst_task_func),
4694         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
4695         (gst_task_join):
4696         * gst/gsttask.h:
4697         Detect and warn for obvious deadlocks. fixes #320340
4698         Fix error case where lock was not released.
4699
4700         * tests/check/Makefile.am:
4701         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
4702         (task_func), (gst_element_suite), (main):
4703         Add task check.
4704
4705 2006-02-13  Wim Taymans  <wim@fluendo.com>
4706
4707         * docs/gst/gstreamer-sections.txt:
4708         * gst/gstbus.c:
4709         Add new functions to docs.
4710
4711 2006-02-13  Wim Taymans  <wim@fluendo.com>
4712
4713         * docs/design/part-TODO.txt:
4714         Updated TODO list, basesrc supports seeking to non-bytes
4715         formats.
4716
4717         * docs/design/part-element-sink.txt:
4718         Update docs.
4719
4720         * gst/gstbin.c: (bin_replace_message),
4721         (gst_bin_handle_message_func):
4722         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
4723         * gst/gstevent.c: (gst_event_finalize):
4724         * gst/gstpad.c: (gst_pad_event_default_dispatch),
4725         (gst_pad_send_event):
4726         Use shiny new _TYPE_NAME macros.
4727
4728         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4729         Move debug statement up.
4730
4731         * gst/gstelement.c: (gst_element_set_locked_state):
4732         Add some debugging.
4733
4734 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
4735
4736         * docs/gst/gstreamer-sections.txt:
4737         * gst/gstmessage.h:
4738         * gst/gstquery.h:
4739           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
4740           macros (#330906). Also, document the already existing
4741           GST_QUERY_TYPE macro.
4742
4743 2006-02-13  Wim Taymans  <wim@fluendo.com>
4744
4745         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
4746         (event_probe), (GST_START_TEST):
4747         Only events up to the pipeline EOS are counted, there are
4748         some more when going to NULL currently which we don't care
4749         about for now.
4750
4751 2006-02-13  Wim Taymans  <wim@fluendo.com>
4752
4753         * gst/gstpad.c: (gst_pad_send_event):
4754         Correctly check flushing and emit probes. fixes #330125
4755
4756 2006-02-10  Andy Wingo  <wingo@pobox.com>
4757
4758         * gst/gstbus.c (gst_bus_class_init): Declare our private data
4759         structure.
4760         (gst_bus_init): Cache the location of the private data in the
4761         instance structure.
4762         (gst_bus_enable_sync_message_emission) 
4763         (gst_bus_disable_sync_message_emission): Implement new public
4764         functions.
4765         (gst_bus_post): Emit the sync-message signal if the user asked for
4766         it. Fixes #330684.
4767
4768         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
4769         location of the bus-private structure.
4770         (gst_bus_enable_sync_message_emission)
4771         (gst_bus_disable_sync_message_emission): API addition
4772
4773 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
4774
4775         Patch by: Vincent Torri
4776
4777         * docs/pwg/building-boiler.xml:
4778         PWG patch from #326800
4779
4780 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4781
4782         * configure.ac:
4783         * docs/Makefile.am:
4784         * docs/design/Makefile.am:
4785           Dist design docs.
4786
4787 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4788
4789         * configure.ac:
4790           back to CVS
4791
4792 === release 0.10.3 ===
4793
4794 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
4795
4796         * configure.ac:
4797           releasing 0.10.3, "Like a virgin"
4798
4799 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4800
4801         * configure.ac:
4802           2nd prerelease of 0.10.3
4803           Bump libtool versioning.
4804
4805 2006-02-07  Andy Wingo  <wingo@pobox.com>
4806
4807         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
4808         update last_stop if we're in TIME format and the timestamp is
4809         valid.
4810
4811         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
4812         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
4813         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
4814         If we get a new newsegment with a different format, adapt
4815         accordingly.
4816
4817         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
4818         of 0. Not a problem, really.
4819
4820         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
4821         warn if sync=true.
4822
4823 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
4824
4825         * configure.ac:
4826           Prelease of 0.10.3
4827
4828 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
4829
4830         * win32/vs7:
4831           project files updated to the default vs7 configuration
4832         * win32/common/libgstbase.def:
4833         * win32/common/libgstreamer.def:
4834           added new symbols,
4835           removed empty lines,
4836           sorted all exported symbols alphabetically
4837         * win32/common/dirent.c:
4838         * win32/common/dirent.h:
4839         * win32/common/gchar.h:
4840           use windows line end.
4841           
4842 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4843
4844         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4845           Send EOS event when stopping.
4846
4847 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4848
4849         * docs/README:
4850           Tell folks what to do if the plugin-foobar.xml file
4851           hasn't been generated for a newly-added plugin.
4852
4853 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4854
4855         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4856         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4857         (gst_collect_pads_start), (gst_collect_pads_stop),
4858         (gst_collect_pads_event): Collectpads now holds a reference
4859         to the GstPad that was added. Indeed we don't want to look
4860         at pads that might just go away with no warning...
4861
4862 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4863
4864         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4865         (gst_collect_pads_start), (gst_collect_pads_stop),
4866         (gst_collect_pads_event), (gst_collect_pads_chain):
4867         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
4868         Mark Nauwelaerts's patch on bug #328491.
4869
4870 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4871
4872         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
4873         (gst_utils_suite):
4874           Add some simple tests for gst_parse_bin_from_description() and
4875           gst_bin_find_unconnected_pad() (#329069).
4876
4877 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4878
4879         * tools/gst-launch.c: (event_loop), (main):
4880           Catch errors during preroll (#320084).
4881
4882 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
4883
4884         * plugins/elements/gsttypefindelement.c:
4885         (gst_type_find_element_activate):
4886           Post TYPE_NOT_FOUND error message when typefinding
4887           is unsuccessful in the activate function as well.
4888
4889 2006-02-02  Wim Taymans  <wim@fluendo.com>
4890
4891         * docs/design/part-element-sink.txt:
4892         Updated doc.
4893
4894 2006-02-02  Wim Taymans  <wim@fluendo.com>
4895
4896         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4897         (gst_base_sink_render_object),
4898         (gst_base_sink_queue_object_unlocked):
4899         Only keep track of prerollable items when we are 
4900         prerolling.
4901         Before rendering after preroll, always check if we
4902         have queued items.
4903         Added some more debugging.
4904
4905 2006-02-02  Wim Taymans  <wim@fluendo.com>
4906
4907         * gst/gstelement.c: (gst_element_continue_state),
4908         (gst_element_set_state_func), (gst_element_change_state):
4909         Fixed #326576, been running this for quite some time with
4910         no regressions at all.
4911
4912 2006-02-02  Wim Taymans  <wim@fluendo.com>
4913
4914         * common/gst.supp:
4915         Added more suppressions
4916
4917 2006-02-02  Wim Taymans  <wim@fluendo.com>
4918
4919         * docs/design/part-element-sink.txt:
4920         Updated document.
4921
4922         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4923         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4924         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4925         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4926         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4927         (gst_base_sink_preroll_object),
4928         (gst_base_sink_queue_object_unlocked),
4929         (gst_base_sink_queue_object), (gst_base_sink_event),
4930         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4931         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4932         (gst_base_sink_get_position), (gst_base_sink_change_state):
4933         * libs/gst/base/gstbasesink.h:
4934         Totally refactored matching the design doc.
4935         Use two segments, one to clip incomming buffers and another to
4936         perform sync.
4937         Handle queueing correctly, bypass the queue when playing.
4938         Make EOS cancelable.
4939         Handle errors correctly when operating in pull based mode.
4940
4941         * tests/check/elements/fakesink.c: (GST_START_TEST),
4942         (fakesink_suite):
4943         Added new check for sinks.
4944
4945 2006-02-02  Wim Taymans  <wim@fluendo.com>
4946
4947         * gst/gstsegment.c: (gst_segment_clip):
4948         No reason to refuse to clip when start == -1
4949
4950 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4951
4952         * docs/README:
4953         * docs/manual/intro-basics.xml:
4954         * docs/manual/intro-preface.xml:
4955         * docs/manual/manual.xml:
4956         * docs/pwg/advanced-dparams.xml:
4957         * docs/pwg/intro-basics.xml:
4958         * docs/pwg/intro-preface.xml:
4959         * docs/pwg/pwg.xml:
4960           describe dparams (controller) for plugins
4961           unify docs a little more
4962
4963 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4964
4965         * docs/gst/gstreamer-sections.txt:
4966         * gst/gstutils.c: (element_find_unconnected_pad),
4967         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4968         * gst/gstutils.h:
4969           Add new API: gst_parse_bin_from_description() and
4970           gst_bin_find_unconnected_pad() (#329069).
4971
4972 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4973
4974         * docs/manual/README:
4975           uncover a nasty detail of the docs build
4976
4977 2006-01-31  Wim Taymans  <wim@fluendo.com>
4978
4979         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4980         Don't cache duration messages if we're not going to use or
4981         free them.
4982
4983 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4984
4985         * docs/manual/advanced-dparams.xml:
4986         * docs/pwg/advanced-dparams.xml:
4987           more dparam docs
4988         * gst/gstindex.c:
4989           fix docs
4990         * libs/gst/controller/lib.c: (gst_controller_init):
4991           init just once
4992
4993 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4994
4995         * gst/gstelement.c: (gst_element_message_full):
4996           also show file/line/func if no additional debug was given
4997
4998 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4999         
5000         * win32/vs7/grammar.vcproj:
5001           activate copy of autogenerated files for Release mode
5002
5003 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5004         
5005         * win32/common/libgstreamer.def:
5006           export gst_value_compare
5007
5008 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5009
5010         * plugins/elements/Makefile.am:
5011         * plugins/elements/gstelements.c:
5012         * plugins/elements/gstfdsink.c: (_do_init),
5013         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5014         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5015         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5016         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5017         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5018         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5019         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5020         * plugins/elements/gstfdsink.h:
5021         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5022
5023 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5024
5025         * docs/manual/advanced-dparams.xml:
5026           describe controller
5027         * docs/manual/advanced-position.xml:
5028         * docs/manual/basics-init.xml:
5029         * docs/manual/manual.xml:
5030         * docs/manual/titlepage.xml:
5031         * docs/pwg/pwg.xml:
5032         * docs/pwg/titlepage.xml:
5033           cleanup xml (more to come)
5034         * libs/gst/controller/gstcontroller.c:
5035           fix typo
5036
5037 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5038         
5039         * win32/vs6/grammar.dsp:
5040           add autogen of gstmarshal.c,h for Release mode
5041                 
5042 2006-01-30  Wim Taymans  <wim@fluendo.com>
5043
5044         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5045         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5046         (gst_base_sink_handle_object), (gst_base_sink_event),
5047         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5048         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5049         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5050         (gst_base_sink_deactivate), (gst_base_sink_activate),
5051         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5052         (gst_base_sink_query), (gst_base_sink_change_state):
5053         Basesink cleanups, remove some old code.
5054         Handle the case where a subclass can preroll in the render
5055         method (mostly audiosinks).
5056         Handle more events.
5057         Remove some locks around variables that are now protected
5058         with the PREROLL_LOCK (clock_id, flushing, ..).
5059         Optimize position query some more, do correct locking.
5060         Remove old code to push queue in state change, this is not
5061         needed anymore since preroll blocks on all prerollable items 
5062         now.
5063         Almost implemented as described in design doc.
5064
5065 2006-01-30  Wim Taymans  <wim@fluendo.com>
5066
5067         * tests/check/gst/gstbin.c: (GST_START_TEST):
5068         Wait for refcount to settle down before checking.
5069
5070 2006-01-30  Wim Taymans  <wim@fluendo.com>
5071
5072         * docs/design/part-element-sink.txt:
5073         Pseudo code overview of desired sink behaviour regarding
5074         preroll.
5075
5076 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5077         * win32/vs6/grammar.dsp:
5078           fix some bugs in Release mode for autogenerated files
5079                 
5080 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5081         * win32/common/libgstbase.def:
5082         * win32/common/libgstreamer.def:
5083           export some new symbols: gst_base_src_set_format,
5084           gst_iterator_next, gst_structure_set_valist
5085
5086 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5087
5088         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5089         Set pad functions unconditionally. Fixes #329105.
5090
5091 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5092         * win32/vs8:
5093           add vs8 project files created by Sergey Scobich
5094
5095 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
5096
5097         * gst/gstutils.c: (gst_element_unlink_pads):
5098         Don't leak pad references.
5099
5100         * tests/check/elements/fakesink.c: (GST_START_TEST):
5101         * tests/check/generic/sinks.c: (GST_START_TEST):
5102         * tests/check/generic/states.c: (GST_START_TEST):
5103         * tests/check/gst/gstbin.c: (GST_START_TEST):
5104         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5105         * tests/check/gst/gstelement.c: (GST_START_TEST):
5106         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5107         * tests/check/gst/gstiterator.c: (GST_START_TEST):
5108         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5109         Fix a bunch of leaks. Make generic/sinks.c
5110         use a bit less cpu by slowing the buffer rate
5111         between fakesrc and fakesink.
5112         
5113 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
5114         * gst/gstcaps.c:
5115         * gst/gstelement.c: (gst_element_send_event):
5116         * gst/gstevent.c:
5117         * gst/gstinfo.c:
5118         * gst/gstiterator.c:
5119         * gst/gstiterator.h:
5120         * gst/gstpad.c: (gst_pad_send_event):
5121         * gst/gststructure.c:
5122         * gst/gsturi.c:
5123         * gst/gstutils.c:
5124         * gst/gstvalue.c:
5125         * libs/gst/base/gstadapter.c:
5126           doc fixes, to link to function, just write gst_cool_function(), don't
5127           prefix with '#'
5128
5129 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5130
5131         * plugins/elements/gsttee.c: (gst_tee_do_push),
5132         (gst_tee_handle_buffer):
5133         Always prefer an actual return value from a src
5134         pad in place of NOT_LINKED. This means we return
5135         WRONG_STATE when all src pads are WRONG_STATE
5136         instead of NOT_LINKED.
5137
5138         Lock when replacing the last message to prevent
5139         racing with the get_property method.
5140
5141         Add debug output
5142
5143 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5144
5145         * tests/check/Makefile.am:
5146         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
5147         (main):
5148         Add a very simple check that should have caught the memleak I fixed
5149         last night (if not for the slice allocator hiding it)
5150
5151 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5152
5153         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5154         (gst_bin_remove_func), (gst_bin_handle_message_func),
5155         (bin_query_duration_fold), (bin_query_generic_fold):
5156         Clean up references to the clock provider when disposed or when
5157         handling a clock-lost message from it.
5158
5159         Unref sinks when performing a query via gst_iterator_fold, as the
5160         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
5161
5162         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
5163         (gst_clock_set_master):
5164         Drop our reference to the master clock, if any, when we are disposed.
5165
5166         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
5167         Chain up in dispose. 
5168
5169 2006-01-26  Wim Taymans  <wim@fluendo.com>
5170
5171         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5172         Add some debugging.
5173
5174 2006-01-26  Julien MOUTTE  <julien@moutte.net>
5175
5176         * plugins/elements/gsttee.c: (gst_tee_do_push),
5177         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
5178         handles pad being NOT_LINKED or in WRONG_STATE.
5179
5180 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5181
5182         * win32/MANIFEST:
5183           more updating
5184
5185 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5186
5187         * win32/MANIFEST:
5188           remove obsolete entry
5189
5190 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5191
5192         * docs/gst/gstreamer-sections.txt:
5193         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
5194         (gst_bin_iterate_sources), (gst_bin_send_event):
5195         * gst/gstbin.h:
5196         * gst/gstelement.c: (gst_element_send_event):
5197         * gst/gstevent.c:
5198         * gst/gstpad.c: (gst_pad_send_event):
5199           added code for downstream events, reviewed docs in gstevent.c
5200
5201 2006-01-25  Julien MOUTTE  <julien@moutte.net>
5202
5203         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5204         We only query position using the clock in the playing state.
5205         Query peer in the other cases.
5206         * win32/common/config.h: Updates.
5207
5208 2006-01-24  Wim Taymans  <wim@fluendo.com>
5209
5210         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5211         A clock entry that is scheduled for the exact time of the
5212         clock is still in time.
5213
5214         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5215         (gst_base_sink_do_sync):
5216         Add some more debug info.
5217
5218 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5219
5220         * win32/vs7:
5221           Add new vs7 project files and solution.
5222
5223 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5224
5225         * win32/vs7:
5226           all files removed as they were out-dated.
5227
5228 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5229
5230         * docs/random/release:
5231           update notes
5232         * gst/gstbin.c: (gst_bin_init):
5233         * gst/gstbus.c: (gst_bus_new):
5234         * gst/gstbus.h:
5235         * gst/gstpipeline.c: (gst_pipeline_init):
5236           use gst_bus_new(), improve logging, fix docs
5237         * win32/common/config.h:
5238           update for cvs build
5239
5240 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5241
5242         * autogen.sh:
5243           up required version of automake to 1.7
5244
5245 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
5246
5247         * win32/common/libgstreamer.def:
5248           export gst_buffer_is_metadata_writable
5249
5250 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5251
5252         * docs/gst/gstreamer-sections.txt:
5253         * gst/gstevent.h:
5254           Add gst_event_replace() (#327001)
5255
5256 2006-01-20  Wim Taymans  <wim@fluendo.com>
5257
5258         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5259         Make it actually compile too..
5260
5261 2006-01-20  Wim Taymans  <wim@fluendo.com>
5262
5263         * gst/gstcaps.c:
5264         Clarify behaviour of _is_equal() when passing NULL parameters.
5265
5266         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5267         (gst_pad_set_caps):
5268         Cleanups. Don't unref NULL caps.
5269         When setting the same caps, protect caps of the pad with
5270         proper lock.
5271         Use full functionality of _is_equal() when comparing caps.
5272
5273 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5274
5275         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
5276         Don't loop infinitely if there are no buffers to present. Partially
5277         fixes #327197, but collectpads is just broken for reusing elements
5278         to do multiple encodes atm.
5279
5280 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5281
5282         * tools/gst-inspect.c: (print_element_features):
5283         * tools/gst-xmlinspect.c: (main):
5284         URL_HANDLER is not a plugin feature we can search for in
5285         the registry.
5286
5287 2006-01-19  Edward Hervey  <edward@fluendo.com>
5288
5289         * gst/gstelement.c: (gst_element_pads_activate): 
5290         When activating, do src pads first, then sink pads.
5291         When de-activating, do sink pads first, then src pads.
5292
5293 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5294
5295         * docs/gst/gstreamer-sections.txt:
5296         Add gst_index_add_associationv to the docs
5297
5298 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5299
5300         * gst/gstevent.c:
5301           Fix docs typo
5302
5303         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
5304         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
5305           Do some refactoring. Doesn't actually change functionality,
5306           but makes landing the DRAIN event easier later.
5307
5308 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
5309
5310         * docs/pwg/advanced-scheduling.xml:
5311           Update from 0.9.x to 0.10 API and make example a bit
5312           clearer.
5313
5314 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5315
5316         * docs/gst/gstreamer-sections.txt:
5317         Add gst_buffer_(is|make)_metadata_writable methods.
5318
5319 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5320
5321         * docs/design/part-sparsestreams.txt:
5322         Update sparse streams doc, hopefully for greater clarity
5323
5324 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
5325
5326         * docs/design/part-events.txt:
5327         Remove mention of FILLER events.
5328         Add DRAIN event.
5329
5330         * docs/design/part-sparsestreams.txt:
5331         Write some things about using NEWSEGMENT to keep sparse streams
5332         flowing.
5333
5334 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5335
5336         * gst/gstbin.c: (gst_bin_dispose):
5337           Guard gst_object_unref call against a NULL object (dispose
5338           can theoretically be called multiple times).
5339           
5340 2006-01-18  Wim Taymans  <wim@fluendo.com>
5341
5342         * gst/gstbin.c: (gst_bin_element_set_state):
5343         * gst/gstclock.c: (gst_clock_id_wait):
5344         Added some more debug info.
5345
5346         * libs/gst/base/gstadapter.c:
5347         Added more docs.
5348
5349         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5350         (gst_base_sink_do_sync), (gst_base_sink_chain):
5351         Added some comments.
5352
5353 2006-01-18  Wim Taymans  <wim@fluendo.com>
5354
5355         * tests/check/Makefile.am:
5356         * tests/check/elements/fakesink.c: (chain_async_buffer),
5357         (chain_async), (chain_async_return), (GST_START_TEST),
5358         (fakesink_suite), (main):
5359         Added fakesink test that checks prerolling and clipping
5360         behaviour.
5361
5362         * tests/check/gst/gstutils.c: (GST_START_TEST):
5363         Make check run faster so that buildbots don't timeout.
5364
5365 2006-01-18  Wim Taymans  <wim@fluendo.com>
5366
5367         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5368         (gst_base_sink_do_sync):
5369         Some cleanups.
5370         When the sink finishes blocking on the preroll buffer, it can
5371         immediatly render it instead of rendering when the next buffer
5372         arrives.
5373
5374 2006-01-18  Wim Taymans  <wim@fluendo.com>
5375
5376         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
5377         (gst_base_sink_get_property), (gst_base_sink_do_sync),
5378         (gst_base_sink_chain):
5379         Small cleanups.
5380         GST_ELEMENT_CLOCK and sync are protected with LOCK.
5381         Don't store _last_stop if the buffer is dropped.
5382
5383 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5384
5385         * plugins/elements/gsttypefindelement.c:
5386         (gst_type_find_element_class_init):
5387           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
5388           object method handler that sets the caps on the pad and we want
5389           that to happen before we emit the signal (fixes e.g. feeding a
5390           plain text file to decodebin).
5391
5392 2006-01-18  Christian Schaller  <Christian@fluendo.com>
5393
5394         * gst/gstplugin.c: Add MPL and Proprietary as license options
5395
5396 2006-01-18  Andy Wingo  <wingo@pobox.com>
5397
5398         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
5399         symbol was exported before, it appears this was just an oversight.
5400         Fixes #168703.
5401         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
5402
5403         * gst/gstindex.c (gst_index_add_associationv): Changed int in
5404         prototype to gint. OK since this prototype was not in the header.
5405
5406 2006-01-17  Andy Wingo  <wingo@pobox.com>
5407
5408         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
5409         registry while we remove plugins.
5410
5411         * tools/gst-inspect.c (print_element_info): Don't unref the
5412         factory arg, that should be the responsibility of whatever code
5413         received the ref. Fixes a double-free when called from
5414         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
5415         (main): Unref the factory if we have one.
5416         (print_element_list): No change -- relies on the
5417         plugin_feature_list_free to free the list of features.
5418
5419 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
5420
5421         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5422         (gst_buffer_make_metadata_writable):
5423         * gst/gstbuffer.h:
5424         * libs/gst/base/gstbasetransform.c:
5425         (gst_base_transform_prepare_output_buf):
5426         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5427         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5428           Replace gst_buffer_(make|is)_metadata_writable patch now
5429           that the release is out.
5430
5431 2006-01-17  Andy Wingo  <wingo@pobox.com>
5432
5433         * gst/gstregistry.c: Reflow design comment. Update so as to speak
5434         in the present tense without reference to versions.
5435
5436         * gst/gstregistry.c (gst_registry_add_plugin)
5437         (gst_registry_remove_plugin, gst_registry_remove_feature)
5438         (gst_registry_find_feature, gst_registry_get_feature_list)
5439         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
5440         (gst_registry_lookup, gst_registry_scan_path)
5441         (_gst_registry_remove_cache_plugins)
5442         (gst_registry_get_feature_list_by_plugin): Add argument
5443         validation.
5444
5445 === release 0.10.2 ===
5446
5447 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
5448
5449         * configure.ac:
5450           releasing 0.10.2, "If man is five"
5451
5452 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5453
5454         * gst/gstbuffer.c:
5455         * gst/gstbuffer.h:
5456         * libs/gst/base/gstbasetransform.c:
5457         (gst_base_transform_prepare_output_buf):
5458         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5459         * tests/check/gst/gstbuffer.c: (gst_test_suite):
5460           Back out patch until after the release.
5461
5462 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5463
5464         * gst/gstminiobject.c:
5465           Spelling fix in docs.
5466         * ChangeLog - remove conflict indicator
5467
5468 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5469
5470         Reviewed By: Andy Wingo
5471
5472         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5473         (gst_buffer_make_metadata_writable):
5474         * gst/gstbuffer.h:
5475           Add gst_buffer_(is|make)_metadata_writable as analogues of
5476           gst_buffer_(is|make)_writable.
5477
5478         * libs/gst/base/gstbasetransform.c:
5479         (gst_base_transform_prepare_output_buf):
5480         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5481           Use name gst_buffer_(is|make)_metadata_writable functions.
5482
5483         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5484           Test gst_buffer_(is|make)_metadata_writable
5485         
5486           (Closes: #324162)
5487
5488 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5489
5490         * docs/manual/Makefile.am:
5491           don't do parallel make
5492         * configure.ac:
5493           AC_SUBST HOST_CPU
5494         * win32/common/config.h.in:
5495           add generations for HOST_CPU and GST_MAJORMINOR
5496         * win32/common/config.h:
5497           commit generated result
5498
5499 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
5500
5501         * docs/manual/appendix-integration.xml:
5502           Update GNOME integration section to use gst_init_get_option_group()
5503           instead of the old popt stuff (#322911). Also, GNOME applications
5504           should  now use gconf*sink and gconf*src instead of the old gconf
5505           helper lib we had.
5506
5507 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
5508
5509
5510         * docs/gst/gstreamer-docs.sgml:
5511         * docs/gst/gstreamer-sections.txt:
5512         * docs/libs/gstreamer-libs-sections.txt:
5513           add new API entries to the docs
5514         * libs/gst/controller/Makefile.am:
5515         * libs/gst/controller/gstcontroller.c:
5516         * libs/gst/controller/gstcontroller.h:
5517         * libs/gst/controller/gstcontrollerprivate.h:
5518         * libs/gst/controller/gsthelper.c:
5519         * libs/gst/controller/gstinterpolation.c:
5520           move private structs to private header
5521         * po/README:
5522           gstreamer-0.7 -> gstreamer-0.10
5523         * tests/check/libs/struct_i386.h:
5524           remove private structs
5525
5526 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5527
5528         * plugins/indexers/Makefile.am:
5529           Fixes as part of #317048
5530
5531 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5532
5533         * plugins/indexers/Makefile.am:
5534           fix #316086 - compilation when mmap is missing
5535
5536 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
5537
5538         * libs/gst/base/gstbasesink.c:
5539           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
5540           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
5541         * win32/common/config.h:
5542           added some defines GST_MAJORMINOR and HOST_CPU
5543         * win32/common/libgstbase.def:
5544         * win32/common/libgstreamer.def:
5545           added some exported functions.
5546
5547 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5548
5549         * libs/gst/controller/gstcontroller.c:
5550         (gst_controlled_property_set_interpolation_mode),
5551         (gst_controlled_property_new):
5552         * libs/gst/controller/gstcontroller.h:
5553         * libs/gst/controller/gstinterpolation.c:
5554         (interpolate_none_get_string_value_array):
5555           make G_TYPE_STRING controlable
5556
5557 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5558
5559         * tools/README:
5560         * tools/gst-feedback.1.in:
5561         * tools/gst-inspect.1.in:
5562         * tools/gst-launch.1.in:
5563         * tools/gst-md5sum.1.in:
5564         * tools/gst-typefind.1.in:
5565         * tools/gst-xmlinspect.1.in:
5566         * tools/gst-xmllaunch.1.in:
5567           cleanup man-pages, remove reference to gst-register, document env-vars
5568
5569 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
5570
5571         * gst/gstbuffer.c: (gst_buffer_span):
5572           gst_buffer_span should copy the timestamp of the first buffer
5573           if they were both originally overlapping subbuffers of the 
5574           same parent, using the same logic as the 'slow copy' case.
5575
5576 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
5577
5578         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
5579           Need to awaken ALL the pads when we pop a buffer, otherwise
5580           collectpads only works when there is 2 input streams.
5581
5582 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
5583
5584         * docs/random/ensonic/media-device-daemon.txt:
5585           more ideas (dbus)
5586         * gst/gstbuffer.c:
5587           fix doc example, add clarification
5588         * tools/gst-launch.1.in:
5589           add initial info about GST_PLUGIN_PATH, needs more work
5590
5591 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5592
5593         * docs/manual/basics-bins.xml:
5594         * docs/manual/basics-elements.xml:
5595         * docs/manual/intro-basics.xml:
5596           Some more minor docs additions and updates.
5597
5598 2006-01-11  Wim Taymans  <wim@fluendo.com>
5599
5600         * docs/manual/basics-bins.xml:
5601         * docs/manual/basics-elements.xml:
5602         Some small fixes as pointed out by Ser-ver on IRC.
5603
5604 2006-01-10  Edward Hervey  <edward@fluendo.com>
5605
5606         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5607         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
5608         the single-segment mode.
5609
5610 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
5611
5612         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5613
5614         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
5615         (gst_base_src_perform_seek), (gst_base_src_send_event),
5616         (gst_base_src_set_property), (gst_base_src_get_property),
5617         (gst_base_src_loop), (gst_base_src_start),
5618         (gst_base_src_activate_push):
5619         * libs/gst/base/gstbasesrc.h:
5620           Name (private) union; makes Sun's Forte compiler happy (#324900).
5621
5622 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5623
5624         * README:
5625           gst-register is gone.
5626
5627 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * gst/gstvalue.c: (_gst_value_initialize):
5630           make the G_TYPE_DATE instantiation work if debug is disabled
5631
5632 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
5633
5634         * gst/gstmessage.c: (gst_message_parse_tag),
5635         (gst_message_parse_error), (gst_message_parse_warning):
5636           Don't crash when return location for error/warning debug
5637           string is NULL; add fact that return locations can be
5638           NULL to docs where appropriate.
5639
5640 2006-01-05  Wim Taymans  <wim@fluendo.com>
5641
5642         * gst/gstplugin.c: (gst_plugin_load_file):
5643         Replace strdup by g_strdup.
5644
5645 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5646
5647         * docs/pwg/advanced-types.xml:
5648           fix doc borkage
5649
5650 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5651
5652         submitted by: Abel Cheung
5653
5654         * po/LINGUAS:
5655         * po/zh_TW.po:
5656           Added Chinese (traditional) translation
5657
5658 2006-01-04  Wim Taymans  <wim@fluendo.com>
5659
5660         * docs/manual/basics-pads.xml:
5661         * docs/plugins/Makefile.am:
5662         * docs/plugins/gstreamer-plugins-docs.sgml:
5663         * docs/plugins/gstreamer-plugins-sections.txt:
5664         * docs/pwg/advanced-clock.xml:
5665         * docs/pwg/advanced-scheduling.xml:
5666         * docs/pwg/advanced-types.xml:
5667         * plugins/elements/gstfdsink.c:
5668         * plugins/elements/gstfdsrc.c:
5669         * plugins/elements/gstfdsrc.h:
5670         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5671         * plugins/elements/gstidentity.h:
5672         * plugins/elements/gstqueue.h:
5673         * plugins/elements/gsttee.c:
5674         * plugins/elements/gsttee.h:
5675         * plugins/elements/gsttypefindelement.c:
5676         (gst_type_find_element_class_init):
5677         * plugins/elements/gsttypefindelement.h:
5678         Small updates to various docs.
5679         Added core plugins to docs.
5680
5681 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5682
5683         * common/gst.supp:
5684           add a suppression for liboil's uninitialized variable
5685
5686 2006-01-02  James Livingston  <jrl at ids dot org dot au>
5687
5688         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5689
5690         * gst/gstutils.h:
5691           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
5692           macro, so that gcc doesn't complain if the -Wmissing-prototypes
5693           compiler switch is being used (#325429).
5694
5695 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
5696
5697         * gst/gstbin.c: (gst_bin_query):
5698           Disable duration query caching in bins until it gets
5699           fixed (see #324807).
5700
5701 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5702
5703         * tools/gst-inspect.c: (print_element_properties_info):
5704           Handle properties of POINTER and BOXED type.
5705
5706 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5707
5708         * gst/gst.c: (init_post):
5709           Init tags stuff and some other things before loading
5710           any static plugins (there may be other static plugins
5711           than just the GStreamer ones, and they may want to
5712           register their own tags or formats or whatever, and
5713           preferably without segfaulting).
5714
5715         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5716           Print at least a warning in the debug logs if we drop a
5717           query just because we don't know how to adjust the value
5718           in the particular format.
5719
5720 2005-12-24  David Schleef  <ds@schleef.org>
5721
5722         * tools/gstreamer-completion:
5723           Replacement for gst-complete written in sh and sed.  Only
5724           completes names of features, but that's 90% of what I want
5725           it for.  Properties are not available in registry.xml.  (Maybe
5726           they should be...)
5727
5728 === release 0.10.1 ===
5729
5730 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
5731
5732         * configure.ac:
5733           releasing 0.10.1, "Nollaig chridheil"
5734
5735 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
5736
5737         * docs/faq/cvs.xml:
5738           Add missing quote, should be make ERROR_CFLAGS="".
5739
5740 2005-12-20  Wim Taymans  <wim@fluendo.com>
5741
5742         * docs/design/part-trickmodes.txt:
5743         More documentation on trickmodes.
5744
5745 2005-12-20  Edward Hervey  <edward@fluendo.com>
5746
5747         * gst/gstcaps.c: (gst_static_caps_get_type):
5748         * gst/gstcaps.h:
5749           API addition: GST_TYPE_STATIC_CAPS
5750         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
5751         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
5752         * gst/gstpadtemplate.h:
5753           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
5754         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
5755         bindings.
5756
5757 2005-12-18  Wim Taymans  <wim@fluendo.com>
5758
5759         * libs/gst/base/gstadapter.c:
5760         * libs/gst/base/gstadapter.h:
5761         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5762         (gst_base_sink_get_position):
5763         * libs/gst/base/gstbasesink.h:
5764         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5765         (gst_base_src_default_query), (gst_base_src_default_do_seek),
5766         (gst_base_src_do_seek), (gst_base_src_perform_seek),
5767         (gst_base_src_send_event), (gst_base_src_update_length),
5768         (gst_base_src_get_range), (gst_base_src_loop),
5769         (gst_base_src_start):
5770         * libs/gst/base/gstbasesrc.h:
5771         * libs/gst/base/gstbasetransform.h:
5772         * libs/gst/base/gstcollectpads.h:
5773         * libs/gst/base/gstpushsrc.c:
5774         * libs/gst/base/gstpushsrc.h:
5775         * libs/gst/dataprotocol/dataprotocol.c:
5776         * libs/gst/dataprotocol/dataprotocol.h:
5777         * libs/gst/net/gstnetclientclock.h:
5778         * libs/gst/net/gstnettimeprovider.h:
5779         Documentation updates.
5780
5781 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5782
5783         * docs/manual/basics-helloworld.xml:
5784           Remove superfluous closing bracket in helloworld example.
5785
5786 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5787
5788         * tools/gst-launch.1.in:
5789           Update gst-launch man page; add a section with useful
5790           environment variables. Fixes #323882.
5791
5792 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
5793
5794         * gst/gst.c:
5795         * gst/gst_private.h:
5796           change some char* into char[]
5797
5798 2005-12-16  Wim Taymans  <wim@fluendo.com>
5799
5800         * gst/gstregistryxml.c: (load_feature):
5801         Cleanups.
5802         Don't use g_object_unref on GstObjects so that we avoid
5803         leaks on unsafe glibs.
5804
5805 2005-12-16  Wim Taymans  <wim@fluendo.com>
5806
5807         * gst/gstbin.c: (gst_bin_recalc_state):
5808         Small doc updates.
5809
5810 2005-12-16  Wim Taymans  <wim@fluendo.com>
5811
5812         * common/check.mak:
5813         Added make forever target for check.
5814
5815 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5816
5817         * gst/gst.c: (init_post):
5818           make the registry cache file HOST_CPU-dependent
5819
5820 2005-12-16  Andy Wingo  <wingo@pobox.com>
5821
5822         * plugins/elements/gstbufferstore.c
5823         (gst_buffer_store_cleared_func): Pay attention to g_list_append
5824         return value.
5825
5826         * tests/check/gst/gstobject.c
5827         (test_fake_object_name_threaded_unique): Pay attention to
5828         g_list_sort return value.
5829
5830 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5831
5832         * tools/gst-feedback-m.m:
5833           Update for 0.9/0.10 (fixes #323870).
5834
5835 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
5836
5837         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
5838           Fix lcopy for mini objects, the mini object needs to be ref'ed.
5839           
5840         * tests/check/gst/gstminiobject.c: (my_foo_init),
5841         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
5842         (test_value_collection), (gst_mini_object_suite):
5843           Add test to ensure refcounts end up as expected when passing
5844           GstMiniObjects through g_object_get() and g_object_set().
5845
5846 2005-12-14  Julien MOUTTE  <julien@moutte.net>
5847
5848         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5849         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5850         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
5851         of collectpads. This version removes a lot of races without
5852         touching API/ABI. Yay !
5853
5854 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
5855
5856         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
5857           Don't allow activation of a srcpad in pull_range if it has no
5858           getrange function.
5859           Change some debug statements to be a little clearer
5860
5861         * plugins/elements/gsttypefindelement.c:
5862         (gst_type_find_handle_src_query):
5863           Check that we have a peer before executing queries thereupon.
5864
5865         * tests/examples/metadata/read-metadata.c: (message_loop):
5866           Use gst_bus_pop instead of gst_bus_poll when we just want it to
5867           immediately return us any available message with 0 timeout.
5868
5869 2005-12-12  Michael Smith  <msmith@fluendo.com>
5870
5871         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5872           Don't unref factories after calling them.
5873         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
5874         * plugins/elements/gsttypefindelement.c:
5875         (gst_type_find_element_chain):
5876           Free lists of factories after using them. Fixing typefinding memory
5877           leaks.
5878
5879 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5880
5881         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5882         (gst_plugin_feature_load):
5883           more meaningful debug output
5884         * configure.ac:
5885         * tests/Makefile.am:
5886         * tests/old/examples/Makefile.am:
5887           make make distcheck happy again
5888
5889 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5890
5891         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5892           Catch the special case where we are operating chain-based,
5893           but the downstream peer pad has no chain function. Emit a
5894           custom error message in this case instead of letting the
5895           core generate one implying that this is some sort of core
5896           bug. It's not, it just means that whatever got plugged
5897           into the pipeline downstream when we announced the type
5898           can only operate pull-based, while our source can only
5899           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
5900           Error string has not been marked for translation yet, as
5901           it probably needs some more work first.
5902
5903         (gst_type_find_element_get_best_possibility):
5904           Add helper function to find the best of all available
5905           found possibilities that qualify given the min. threshold.
5906
5907         (gst_type_find_element_handle_event):
5908           Fix the case where we get an EOS while still in TYPEFIND
5909           mode (we want to chose the best of all possible types,
5910           not just the first type that happens to be in our unsorted
5911           list of possible types).
5912
5913         (gst_type_find_element_chain):
5914           Make sure we return GST_FLOW_ERROR when we errored out
5915           in stop_typefinding(); also, don't just find the best of
5916           all found type entries and then use the last examined
5917           type entry, but actually use the best entry.
5918
5919 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5920
5921         * tests/examples/typefind/typefind.c: (type_found):
5922         * tests/examples/xml/runxml.c: (xml_loaded):
5923           More gcc4 fixes and a mem leak fix.
5924
5925 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5926
5927         * tests/examples/xml/createxml.c: (object_saved):
5928           gcc 4 fixes
5929
5930 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5931
5932         * tests/Makefile.am:
5933           enable the examples even more
5934
5935 2005-12-12  Andy Wingo  <wingo@pobox.com>
5936
5937         * libs/gst/net/gstnettimeprovider.c
5938         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5939         (gst_net_time_provider_set_property)
5940         (gst_net_time_provider_get_property):
5941         API addition: Export "active" as a GObject property.
5942         (gst_net_time_provider_thread): Only respond to time queries if
5943         the time provider is active.
5944
5945         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5946         NetTimeProvider, preserving binary compat.
5947
5948 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5949
5950         * tests/examples/controller/audio-example.c: (main):
5951         * tests/examples/launch/Makefile.am:
5952           convert comments again
5953
5954 2005-12-12  Wim Taymans  <wim@fluendo.com>
5955
5956         * libs/gst/base/gstpushsrc.c:
5957         Fix typo.
5958
5959 2005-12-12  Wim Taymans  <wim@fluendo.com>
5960
5961         * docs/libs/gstreamer-libs-sections.txt:
5962         Added new symbol to docs.
5963
5964         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5965         (gst_base_src_init), (gst_base_src_set_format),
5966         (gst_base_src_default_query), (gst_base_src_query),
5967         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5968         (gst_base_src_perform_seek), (gst_base_src_send_event),
5969         (gst_base_src_default_event), (gst_base_src_event_handler),
5970         (gst_base_src_set_property), (gst_base_src_get_property),
5971         (gst_base_src_wait), (gst_base_src_do_sync),
5972         (gst_base_src_update_length), (gst_base_src_get_range),
5973         (gst_base_src_check_get_range), (gst_base_src_loop),
5974         (gst_base_src_default_negotiate), (gst_base_src_start),
5975         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5976         (gst_base_src_change_state):
5977         * libs/gst/base/gstbasesrc.h:
5978         Implement seeking to other formats than _BYTES.
5979         Implement more seeking methods correctly.
5980         Doc updates.
5981         Added query vmethod.
5982         Added do_seek vmethod to make life easier for subclasses
5983         when seeking.
5984         API addition: gst_base_src_set_format()
5985
5986 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5987
5988         * tests/examples/Makefile.am:
5989           added that too
5990
5991 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5992
5993         * configure.ac:
5994         * docs/random/ensonic/media-device-daemon.txt:
5995         * tests/examples/controller/.cvsignore:
5996         * tests/examples/controller/Makefile.am:
5997         * tests/examples/controller/audio-example.c: (main):
5998         * tests/examples/helloworld/.cvsignore:
5999         * tests/examples/helloworld/Makefile.am:
6000         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6001         * tests/examples/launch/.cvsignore:
6002         * tests/examples/launch/Makefile.am:
6003         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6004         * tests/examples/metadata/.cvsignore:
6005         * tests/examples/metadata/Makefile.am:
6006         * tests/examples/metadata/read-metadata.c: (message_loop),
6007         (make_pipeline), (print_tag), (main):
6008         * tests/examples/queue/.cvsignore:
6009         * tests/examples/queue/Makefile.am:
6010         * tests/examples/queue/queue.c: (event_loop), (main):
6011         * tests/examples/typefind/.cvsignore:
6012         * tests/examples/typefind/Makefile.am:
6013         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6014         (main):
6015         * tests/examples/xml/.cvsignore:
6016         * tests/examples/xml/Makefile.am:
6017         * tests/examples/xml/createxml.c: (object_saved), (main):
6018         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6019         * tests/old/examples/Makefile.am:
6020         * tests/old/examples/TODO:
6021         * tests/old/examples/controller/.cvsignore:
6022         * tests/old/examples/controller/Makefile.am:
6023         * tests/old/examples/controller/audio-example.c:
6024         * tests/old/examples/helloworld/.cvsignore:
6025         * tests/old/examples/helloworld/Makefile.am:
6026         * tests/old/examples/helloworld/helloworld.c:
6027         * tests/old/examples/launch/.cvsignore:
6028         * tests/old/examples/launch/Makefile.am:
6029         * tests/old/examples/launch/mp3parselaunch.c:
6030         * tests/old/examples/launch/mp3play:
6031         * tests/old/examples/manual/Makefile.am:
6032         * tests/old/examples/metadata/Makefile.am:
6033         * tests/old/examples/metadata/read-metadata.c:
6034         * tests/old/examples/queue/.cvsignore:
6035         * tests/old/examples/queue/Makefile.am:
6036         * tests/old/examples/queue/queue.c:
6037         * tests/old/examples/typefind/.cvsignore:
6038         * tests/old/examples/typefind/Makefile.am:
6039         * tests/old/examples/typefind/typefind.c:
6040         * tests/old/examples/xml/.cvsignore:
6041         * tests/old/examples/xml/Makefile.am:
6042         * tests/old/examples/xml/createxml.c:
6043         * tests/old/examples/xml/runxml.c:
6044           applied some simple fixing to some examples
6045           re-enabled the working examples
6046
6047 2005-12-12  Wim Taymans  <wim@fluendo.com>
6048
6049         * gst/gstsegment.c: (gst_segment_init),
6050         (gst_segment_set_last_stop), (gst_segment_set_seek),
6051         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6052         (gst_segment_to_running_time):
6053         Added more documentation.
6054         Make sure the last_pos value is updated properly.
6055         Make sure to_stream_time and to_running_time don't
6056         operate on wrong values.
6057
6058         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6059         Update check.
6060
6061 2005-12-12  Michael Smith  <msmith@fluendo.com>
6062
6063         * plugins/elements/gsttypefindelement.c: (free_entry),
6064         (gst_type_find_element_chain):
6065           Now that we're not leaking factories, make sure we keep references
6066           to them while we need them.
6067
6068 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6069
6070         * tests/check/gst/struct_i386.h:
6071           ifdef out the XML structs
6072
6073 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6074
6075         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6076           floor is not needed, F is always positive; this obviates the
6077           need for adding -lm when building without libxml
6078
6079 2005-12-12  Wim Taymans  <wim@fluendo.com>
6080
6081         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6082         Take current playback rate into account when reporting
6083         the position.
6084
6085 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6086
6087         * docs/manual/mime-world.fig:
6088           Let's try this again, this time with a file that is
6089           actually in XFig format.
6090
6091 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6092
6093         * docs/manual/mime-world.fig:
6094           Add audioconvert element to diagram so that it
6095           matches the text and the code (fixes #319526).
6096
6097 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6098
6099         * docs/pwg/building-chainfn.xml:
6100         * docs/pwg/building-pads.xml:
6101         * docs/pwg/building-state.xml:
6102         * docs/pwg/other-source.xml:
6103           Update state change stuff for 0.10 (fixes #322969).
6104
6105 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6106
6107         * docs/manual/advanced-dataaccess.xml:
6108         * docs/manual/appendix-checklist.xml:
6109         * docs/manual/appendix-programs.xml:
6110         * docs/manual/basics-pads.xml:
6111         * docs/manual/highlevel-components.xml:
6112         * docs/manual/manual.xml:
6113           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6114           add converters in front of pipelines; remove curly
6115           brackets for threads stuff, they no longer exist; use
6116           GST_TYPE_FRACTION for framerates; update some pieces of
6117           code to 0.10, but there's plenty more to do.
6118
6119         * docs/manual/appendix-porting.xml:
6120           Expand on asynchroneous state changes; s/0.9/0.10/;
6121           mention disappearance of gst_init_get_popt_table()
6122           (fixes #322916).
6123
6124 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6125
6126         * docs/faq/using.xml:
6127           Spider no longer exists, and neither does gst-launch-ext.
6128           Update examples to use decodebin and playbin and put
6129           converters in front of sinks (fixes #323726).
6130
6131 2005-12-09  Michael Smith  <msmith@fluendo.com>
6132
6133         * plugins/elements/gsttypefindelement.c: (find_peek),
6134         (gst_type_find_element_chain):
6135           Fix leaking element factories in typefinding.
6136           Fix problem where we forgot about a probable type on non-seekable
6137           files, and thus later mis-typefound it.
6138
6139 2005-12-09  Michael Smith  <msmith@fluendo.com>
6140
6141         * common/m4/gst-makecontext.m4:
6142         * common/m4/gst-mcsc.m4:
6143         * configure.ac:
6144         * win32/common/config.h:
6145         * win32/common/config.h.in:
6146           Remove makecontext stuff; not used in 0.10 and causes problems on
6147           HPUX according to bug #322441
6148
6149 2005-12-07  Wim Taymans  <wim@fluendo.com>
6150
6151         * tests/check/Makefile.am:
6152         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
6153         (main):
6154         * tests/check/libs/struct_i386.h:
6155         Added ABI check for libs
6156
6157 2005-12-07  Wim Taymans  <wim@fluendo.com>
6158
6159         * tests/check/Makefile.am:
6160         And add the struct_i386.h to dist.
6161
6162 2005-12-07  Wim Taymans  <wim@fluendo.com>
6163
6164         * tests/check/Makefile.am:
6165         * tests/check/gst/.cvsignore:
6166         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
6167         (main):
6168         * tests/check/gst/struct_i386.h:
6169         Added check for ABI compatibility.
6170
6171 2005-12-07  Wim Taymans  <wim@fluendo.com>
6172
6173         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6174         (gst_fake_src_get_times), (gst_fake_src_create):
6175         Fix broken sync option, fixes #323259
6176
6177 2005-12-07  Wim Taymans  <wim@fluendo.com>
6178
6179         * gst/gstbuffer.c:
6180         Small docs update.
6181
6182         * gst/gstcaps.c: (gst_caps_is_equal):
6183         Don't assert on NULL <--> X. Fixes #323260
6184
6185         * gst/gstminiobject.c: (gst_mini_object_replace):
6186         If we're doing atomic operations, we might just as well use
6187         the proper way to get an atomic pointer.
6188
6189         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6190         Clean up debugging.
6191
6192 2005-12-07  Michael Smith  <msmith@fluendo.com>
6193
6194         * gst/parse/grammar.y:
6195           Remove handling of { } for threads.
6196
6197 2005-12-06  David Schleef  <ds@schleef.org>
6198
6199         * libs/gst/base/gstbasetransform.c: speling fix.
6200
6201 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6202
6203         * docs/libs/tmpl/gstdataprotocol.sgml:
6204         * docs/random/omega/testing/gstobject.c:
6205         * gst/gst.c:
6206         * gst/gstclock.c:
6207         * gst/gstelement.c:
6208         * gst/gstelementfactory.c:
6209         * gst/gsterror.c:
6210         * gst/gstevent.c:
6211         * gst/gstghostpad.c:
6212         * gst/gstinfo.c:
6213         * gst/gstpadtemplate.c:
6214         * gst/gstregistryxml.c:
6215         * gst/gsttaglist.c:
6216         * gst/gsttagsetter.c:
6217         * gst/gsttypefind.c:
6218         * gst/gstvalue.c:
6219         * libs/gst/base/gstbasesrc.c:
6220         * libs/gst/net/gstnetclientclock.c:
6221         * libs/gst/net/gstnettimeprovider.c:
6222         * plugins/elements/gstfakesrc.c:
6223         * plugins/elements/gstfdsrc.c:
6224         * plugins/elements/gstfilesrc.c:
6225         * plugins/elements/gstidentity.c:
6226         * plugins/elements/gstqueue.c:
6227         * plugins/elements/gsttypefindelement.c:
6228         * plugins/indexers/gstfileindex.c:
6229         * plugins/indexers/gstmemindex.c:
6230         * tests/check/gst/gsttag.c:
6231         * tests/old/examples/cutter/cutter.c:
6232         * tests/old/examples/mixer/mixer.c:
6233         * tests/old/examples/xml/runxml.c: (main):
6234         * tests/old/testsuite/caps/normalisation.c:
6235         * tests/old/testsuite/debug/global.c:
6236         * tests/old/testsuite/parse/parse1.c:
6237         * tools/gst-xmlinspect.c:
6238         * win32/common/dirent.c:
6239           expand tabs
6240
6241 === release 0.10.0 ===
6242
6243 2005-12-05   <thomas (at) apestaart (dot) org>
6244
6245         * configure.ac:
6246           releasing 0.10.0, "Maroilles"
6247
6248 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6249
6250         submitted by: Funda Wang <fundawang@linux.net.cn>
6251
6252         * po/LINGUAS:
6253         * po/zh_CN.po:
6254           added Chinese (Traditional) translation
6255
6256 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6257
6258         * docs/gst/gstreamer-sections.txt:
6259         * docs/libs/tmpl/gstdataprotocol.sgml:
6260         * docs/random/thomasvs/TODO:
6261         * gst/gstutils.c:
6262         * gst/gstutils.h:
6263           fix docs
6264
6265 2005-12-05  Andy Wingo  <wingo@pobox.com>
6266
6267         patch by: Wim Taymans <wim@fluendo.com>
6268
6269         * libs/gst/base/gstbasetransform.c
6270         (gst_base_transform_prepare_output_buf)
6271         (gst_base_transform_buffer_alloc):
6272         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
6273         alloc_buffer_and_set_caps.
6274
6275         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
6276         set_caps on the source pad.
6277         (gst_pad_alloc_buffer_and_set_caps): New function, does what
6278         alloc_buffer used to do. Fixes #322874.
6279
6280         * docs/gst/gstreamer-sections.txt: 
6281         * docs/design/part-negotiation.txt: 
6282         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
6283         changes.
6284
6285 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6286
6287         patch by: Sebastien Moutte
6288
6289         * win32/MANIFEST:
6290         * win32/common/config.h.in:
6291         * win32/vs6/libgstcontroller.dsp:
6292           win32 build fixes
6293
6294 2005-12-05  Wim Taymans  <wim@fluendo.com>
6295
6296         * gst/gstcaps.c: (gst_caps_is_equal):
6297         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6298         (gst_fake_src_create):
6299         Back out previous code changes, leave doc updates, file bugs 
6300         instead. 
6301
6302 2005-12-05  Wim Taymans  <wim@fluendo.com>
6303
6304         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6305         (gst_fake_src_get_times), (gst_fake_src_create):
6306         * plugins/elements/gstfakesrc.h:
6307         Fix broken sync code.
6308
6309 2005-12-05  Wim Taymans  <wim@fluendo.com>
6310
6311         * gst/gstcaps.c: (gst_caps_is_equal):
6312         Comparing NULL against !NULL yields different caps, not a
6313         failure.
6314
6315 2005-12-05  Wim Taymans  <wim@fluendo.com>
6316
6317         * gst/gstpipeline.c:
6318         Fix small typo in docs.
6319
6320 2005-12-05  Andy Wingo  <wingo@pobox.com>
6321
6322         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
6323
6324         * gst/gst.c (init_post): remove hard-coded 0.9 location for
6325         registries/plugins with a MAJORMINOR one.
6326         (plugin_desc): Rename library from gstcoreleements to
6327         staticelements. Fixes #323222.
6328
6329 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
6330
6331         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
6332           Change debug category to 'collectpads' from 'collect_pads'
6333           (fixes #323250).
6334
6335 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6336
6337         patch by: Sebastien Moutte
6338
6339         * libs/gst/controller/gstinterpolation.c:
6340           use convert function for uint64/double
6341         * win32/vs6/libgstcontroller.dsp:
6342           link to GLib
6343
6344 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6345
6346         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
6347         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
6348         * gst/gstutils.h:
6349         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6350           add tests that seem to show that the guint64/gdouble conversions
6351           are correct.
6352
6353 2005-12-02  Wim Taymans  <wim@fluendo.com>
6354
6355         * gst/gstregistry.c: (gst_registry_add_path):
6356         * gst/gstregistry.h:
6357         * gst/gstregistryxml.c:
6358         Fix docs again.
6359
6360 2005-12-02  Wim Taymans  <wim@fluendo.com>
6361
6362         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6363         (gst_util_uint64_scale_int):
6364         Small cleanup.
6365
6366         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6367         Add debug log line.
6368
6369         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
6370         Add FIXME.
6371
6372 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6373
6374         * win32/MANIFEST:
6375         * win32/common/config.h:
6376         * win32/vs6/gstreamer.dsw:
6377         * win32/vs6/libgstcoreelements.dsp:
6378         * win32/vs6/libgstelements.dsp:
6379           renamed core elements plugin
6380
6381 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6382
6383         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
6384         (get_candidates):
6385           do piece-wise major/minor comparison so 0.9 < 0.10
6386           also allow .exe extensions for tools
6387
6388 2005-12-02  Michael Smith  <msmith@fluendo.com>
6389
6390         * gst/gst.c:
6391           Escape a % to make gtkdoc happier; bug 322958.
6392
6393 === release 0.9.7 ===
6394
6395 2005-12-01   <thomas (at) apestaart (dot) org>
6396
6397         * configure.ac:
6398           releasing 0.9.7, "My Dog Has No Nose"
6399
6400 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6401
6402         * common/gst-xmlinspect.py:
6403         * configure.ac:
6404         * docs/libs/tmpl/gstdataprotocol.sgml:
6405         * docs/random/release:
6406         * po/af.po:
6407         * po/az.po:
6408         * po/bg.po:
6409         * po/ca.po:
6410         * po/cs.po:
6411         * po/de.po:
6412         * po/en_GB.po:
6413         * po/fr.po:
6414         * po/it.po:
6415         * po/nb.po:
6416         * po/nl.po:
6417         * po/ru.po:
6418         * po/sq.po:
6419         * po/sr.po:
6420         * po/sv.po:
6421         * po/tr.po:
6422         * po/uk.po:
6423         * po/vi.po:
6424         * win32/common/config.h:
6425         * win32/common/config.h.in:
6426         * win32/vs6/gst_inspect.dsp:
6427         * win32/vs6/gst_launch.dsp:
6428         * win32/vs6/libgstbase.dsp:
6429         * win32/vs6/libgstelements.dsp:
6430         * win32/vs6/libgstreamer.dsp:
6431         * win32/vs7/GStreamer.vcproj:
6432         * win32/vs7/gst-inspect.vcproj:
6433         * win32/vs7/gst-launch.vcproj:
6434         * win32/vs7/libgstbase.vcproj:
6435           bump GST_MAJORMINOR to 0.10
6436           reset libtool version
6437
6438 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6439
6440         * po/LINGUAS:
6441         * po/bg.po:
6442           Added Bulgarian translation by (Alexander Shopov)
6443
6444 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6445
6446         * tests/check/gst/gstplugin.c:
6447           fix test
6448
6449 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6450
6451         * common/gst-xmlinspect.py:
6452         * common/gtk-doc-plugins.mak:
6453         * configure.ac:
6454         * docs/Makefile.am:
6455         * docs/gst/Makefile.am:
6456         * docs/gst/gstreamer-docs.sgml:
6457         * docs/gst/gstreamer-sections.txt:
6458         * docs/gst/gstreamer.types:
6459         * docs/gst/gstreamer.types.in:
6460         * docs/plugins/Makefile.am:
6461         * docs/plugins/gstreamer-plugins-docs.sgml:
6462         * docs/plugins/gstreamer-plugins-sections.txt:
6463         * docs/plugins/gstreamer-plugins.types:
6464         * docs/plugins/inspect.stamp:
6465         * docs/plugins/inspect/plugin-coreelements.xml:
6466         * docs/plugins/inspect/plugin-coreindexers.xml:
6467         * docs/plugins/scanobj-build.stamp:
6468         * gstreamer.spec.in:
6469         * plugins/elements/Makefile.am:
6470         * plugins/elements/gstelements.c:
6471         * plugins/elements/gstfakesink.c:
6472         * plugins/elements/gstfakesrc.c:
6473         * plugins/elements/gstfilesink.c:
6474         * plugins/elements/gstfilesrc.c:
6475         * plugins/elements/gstqueue.c:
6476         * plugins/indexers/Makefile.am:
6477         * plugins/indexers/gstindexers.c:
6478           document core plugins in a separate document just like all the
6479           others
6480           rename these plugins to something starting with core
6481
6482 2005-12-01  Andy Wingo  <wingo@pobox.com>
6483
6484         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
6485         padding here before, but it missed the commit.
6486
6487 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6488
6489         * libs/gst/controller/gstinterpolation.c:
6490           whitespace prices have crashed, we should feel free to use some now
6491           use gst_guint64_to_gdouble
6492
6493 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6494
6495         * libs/gst/controller/gstcontroller.c:
6496         * libs/gst/controller/gsthelper.c:
6497         * libs/gst/controller/gstinterpolation.c:
6498         * libs/gst/controller/lib.c:
6499           wrap config.h include
6500
6501 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6502
6503         * docs/gst/gstreamer-sections.txt:
6504           update docs
6505
6506 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6507
6508         * plugins/elements/gstelements.c:
6509         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
6510         (gst_fd_sink__class_init), (gst_fd_sink__init),
6511         (gst_fd_sink__chain), (gst_fd_sink__set_property),
6512         (gst_fd_sink__get_property):
6513         * plugins/elements/gstfdsink.h:
6514         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
6515         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
6516         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
6517         (gst_fd_src_unlock), (gst_fd_src_set_property),
6518         (gst_fd_src_get_property), (gst_fd_src_create),
6519         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
6520         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
6521         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
6522         (gst_fd_src_uri_handler_init):
6523         * plugins/elements/gstfdsrc.h:
6524         * plugins/elements/gstqueue.c: (gst_queue_get_type):
6525           more anal cleanup
6526
6527 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6528
6529         * docs/gst/Makefile.am:
6530         * docs/gst/gstreamer.types.in:
6531         * gst/Makefile.am:
6532           fix the docs build
6533
6534 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6535
6536         * configure.ac:
6537         * gst/Makefile.am:
6538         * gst/gst.c:
6539         * gst/gstplugin.h:
6540         * gst/gstregistry.h:
6541         * tests/benchmarks/complexity.c:
6542         * tests/benchmarks/mass-elements.c:
6543         * tests/check/Makefile.am:
6544         * tools/Makefile.am:
6545         * tools/gst-inspect.c:
6546         * tools/gst-xmlinspect.c:
6547           various fixes to make
6548           --disable-nls --disable-registry --disable-loadsave
6549           --disable-parse --disable-gst-debug
6550           work and get the core .so down to 360444 bytes after stripping
6551
6552 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * Makefile.am:
6555         * configure.ac:
6556           descend into tests
6557         * docs/random/thomasvs/TODO:
6558         * tests/Makefile.am:
6559         * tests/README:
6560           add a README
6561
6562 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6563
6564         * win32/GStreamer.vcproj:
6565         * win32/MANIFEST:
6566         * win32/Makefile:
6567         * win32/Makefile.inspect:
6568         * win32/Makefile.launch:
6569         * win32/Makefile.register:
6570         * win32/README.txt:
6571         * win32/gst-inspect.vcproj:
6572         * win32/gst-launch.vcproj:
6573         * win32/gst-register.vcproj:
6574         * win32/gstelements.vcproj:
6575         * win32/gstgetbits.def:
6576         * win32/gstgetbits.vcproj:
6577         * win32/gstreamer-dbg.def:
6578         * win32/gstreamer.def:
6579         * win32/libgstbase.def:
6580         * win32/libgstbase.vcproj:
6581         * win32/link_oldruntime.c:
6582         * win32/mman.c:
6583         * win32/mman.h:
6584         * win32/mman.inl:
6585         * win32/msvc71.sln:
6586           move even more stuff, win32/ is nice and clean now
6587
6588 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6589
6590         * libs/gst/control/.cvsignore:
6591         * win32/MANIFEST:
6592         * win32/config.h:
6593         * win32/dirent.c:
6594         * win32/dirent.h:
6595         * win32/gstbytestream.def:
6596         * win32/gstbytestream.vcproj:
6597         * win32/gstconfig.h:
6598         * win32/gstenumtypes.c:
6599         * win32/gstenumtypes.h:
6600         * win32/gstoptimalscheduler.vcproj:
6601         * win32/gstversion.h:
6602         * win32/gtchar.h:
6603         * win32/testsuite/bins.vcproj:
6604         * win32/testsuite/bytestream.vcproj:
6605         * win32/testsuite/caps.vcproj:
6606         * win32/testsuite/cleanup.vcproj:
6607         * win32/testsuite/clock.vcproj:
6608         * win32/testsuite/debug.vcproj:
6609         * win32/testsuite/dlopen.vcproj:
6610         * win32/testsuite/dynparams.vcproj:
6611         * win32/testsuite/elements.vcproj:
6612         * win32/testsuite/ghostpads.vcproj:
6613         * win32/testsuite/indexers.vcproj:
6614         * win32/testsuite/negotiation.vcproj:
6615         * win32/testsuite/parse.vcproj:
6616         * win32/testsuite/plugin.vcproj:
6617         * win32/testsuite/refcounting.vcproj:
6618         * win32/testsuite/schedulers.vcproj:
6619         * win32/testsuite/states.vcproj:
6620         * win32/testsuite/tags.vcproj:
6621         * win32/testsuite/threads.vcproj:
6622           remove old win32 stuff that isn't maintained and should be
6623           reorganized
6624
6625 2005-11-30  Andy Wingo  <wingo@pobox.com>
6626
6627         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
6628         loading the gst.interfaces python module bork.
6629
6630         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
6631         available since GLib 2.2. Fixes #318031.
6632
6633 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6634
6635         * Makefile.am:
6636         * check/.cvsignore:
6637         * check/Makefile.am:
6638         * check/elements/.cvsignore:
6639         * check/elements/fakesrc.c:
6640         * check/elements/fdsrc.c:
6641         * check/elements/identity.c:
6642         * check/generic/.cvsignore:
6643         * check/generic/states.c:
6644         * check/gst-libs/.cvsignore:
6645         * check/gst-libs/controller.c:
6646         * check/gst-libs/gdp.c:
6647         * check/gst/.cvsignore:
6648         * check/gst/capslist.h:
6649         * check/gst/gst.c:
6650         * check/gst/gstbin.c:
6651         * check/gst/gstbuffer.c:
6652         * check/gst/gstbus.c:
6653         * check/gst/gstcaps.c:
6654         * check/gst/gstelement.c:
6655         * check/gst/gstevent.c:
6656         * check/gst/gstghostpad.c:
6657         * check/gst/gstiterator.c:
6658         * check/gst/gstmessage.c:
6659         * check/gst/gstminiobject.c:
6660         * check/gst/gstobject.c:
6661         * check/gst/gstpad.c:
6662         * check/gst/gstpipeline.c:
6663         * check/gst/gstplugin.c:
6664         * check/gst/gstsegment.c:
6665         * check/gst/gststructure.c:
6666         * check/gst/gstsystemclock.c:
6667         * check/gst/gsttag.c:
6668         * check/gst/gstutils.c:
6669         * check/gst/gstvalue.c:
6670         * check/net/.cvsignore:
6671         * check/net/gstnetclientclock.c:
6672         * check/net/gstnettimeprovider.c:
6673         * check/pipelines/.cvsignore:
6674         * check/pipelines/cleanup.c:
6675         * check/pipelines/simple_launch_lines.c:
6676         * check/pipelines/stress.c:
6677         * check/states/.cvsignore:
6678         * check/states/sinks.c:
6679         * configure.ac:
6680         * examples/Makefile.am:
6681         * examples/appreader/.cvsignore:
6682         * examples/appreader/Makefile.am:
6683         * examples/appreader/appreader.c:
6684         * examples/controller/.cvsignore:
6685         * examples/controller/Makefile.am:
6686         * examples/controller/audio-example.c:
6687         * examples/cutter/.cvsignore:
6688         * examples/cutter/Makefile.am:
6689         * examples/cutter/cutter.c:
6690         * examples/cutter/cutter.h:
6691         * examples/events/Makefile.am:
6692         * examples/events/seek.c:
6693         * examples/helloworld/.cvsignore:
6694         * examples/helloworld/Makefile.am:
6695         * examples/helloworld/helloworld.c:
6696         * examples/helloworld2/.cvsignore:
6697         * examples/helloworld2/Makefile.am:
6698         * examples/helloworld2/helloworld2.c:
6699         * examples/launch/.cvsignore:
6700         * examples/launch/Makefile.am:
6701         * examples/launch/mp3parselaunch.c:
6702         * examples/launch/mp3play:
6703         * examples/manual/.cvsignore:
6704         * examples/manual/Makefile.am:
6705         * examples/manual/extract.pl:
6706         * examples/metadata/Makefile.am:
6707         * examples/metadata/read-metadata.c:
6708         * examples/mixer/.cvsignore:
6709         * examples/mixer/Makefile.am:
6710         * examples/mixer/mixer.c:
6711         * examples/mixer/mixer.h:
6712         * examples/pingpong/.cvsignore:
6713         * examples/pingpong/Makefile.am:
6714         * examples/pingpong/pingpong.c:
6715         * examples/plugins/.cvsignore:
6716         * examples/plugins/Makefile.am:
6717         * examples/plugins/example.c:
6718         * examples/plugins/example.h:
6719         * examples/pwg/.cvsignore:
6720         * examples/pwg/Makefile.am:
6721         * examples/pwg/extract.pl:
6722         * examples/queue/.cvsignore:
6723         * examples/queue/Makefile.am:
6724         * examples/queue/queue.c:
6725         * examples/queue2/.cvsignore:
6726         * examples/queue2/Makefile.am:
6727         * examples/queue2/queue2.c:
6728         * examples/queue3/.cvsignore:
6729         * examples/queue3/Makefile.am:
6730         * examples/queue3/queue3.c:
6731         * examples/queue4/.cvsignore:
6732         * examples/queue4/Makefile.am:
6733         * examples/queue4/queue4.c:
6734         * examples/retag/.cvsignore:
6735         * examples/retag/Makefile.am:
6736         * examples/retag/retag.c:
6737         * examples/retag/transcode.c:
6738         * examples/thread/.cvsignore:
6739         * examples/thread/Makefile.am:
6740         * examples/thread/thread.c:
6741         * examples/typefind/.cvsignore:
6742         * examples/typefind/Makefile.am:
6743         * examples/typefind/typefind.c:
6744         * examples/xml/.cvsignore:
6745         * examples/xml/Makefile.am:
6746         * examples/xml/createxml.c:
6747         * examples/xml/runxml.c:
6748         * tests/Makefile.am:
6749         * tests/check/Makefile.am:
6750         * testsuite/.cvsignore:
6751         * testsuite/Makefile.am:
6752         * testsuite/Rules:
6753         * testsuite/caps/.cvsignore:
6754         * testsuite/caps/Makefile.am:
6755         * testsuite/caps/app_fixate.c:
6756         * testsuite/caps/audioscale.c:
6757         * testsuite/caps/caps.c:
6758         * testsuite/caps/caps.h:
6759         * testsuite/caps/caps_strings:
6760         * testsuite/caps/compatibility.c:
6761         * testsuite/caps/deserialize.c:
6762         * testsuite/caps/enumcaps.c:
6763         * testsuite/caps/eratosthenes.c:
6764         * testsuite/caps/filtercaps.c:
6765         * testsuite/caps/fixed.c:
6766         * testsuite/caps/fraction-convert.c:
6767         * testsuite/caps/fraction-multiply-and-zero.c:
6768         * testsuite/caps/intersect2.c:
6769         * testsuite/caps/intersection.c:
6770         * testsuite/caps/normalisation.c:
6771         * testsuite/caps/random.c:
6772         * testsuite/caps/renegotiate.c:
6773         * testsuite/caps/sets.c:
6774         * testsuite/caps/simplify.c:
6775         * testsuite/caps/string-conversions.c:
6776         * testsuite/caps/structure.c:
6777         * testsuite/caps/subtract.c:
6778         * testsuite/caps/union.c:
6779         * testsuite/debug/.cvsignore:
6780         * testsuite/debug/Makefile.am:
6781         * testsuite/debug/category.c:
6782         * testsuite/debug/commandline.c:
6783         * testsuite/debug/global.c:
6784         * testsuite/debug/output.c:
6785         * testsuite/debug/printf_extension.c:
6786         * testsuite/dlopen/.cvsignore:
6787         * testsuite/dlopen/Makefile.am:
6788         * testsuite/dlopen/dlopen_gst.c:
6789         * testsuite/dlopen/loadgst.c:
6790         * testsuite/elements/.cvsignore:
6791         * testsuite/elements/Makefile.am:
6792         * testsuite/elements/gst-inspect-check.in:
6793         * testsuite/elements/struct_i386.h:
6794         * testsuite/elements/struct_size.c:
6795         * testsuite/indexers/.cvsignore:
6796         * testsuite/indexers/Makefile.am:
6797         * testsuite/indexers/cache1.c:
6798         * testsuite/indexers/indexdump.c:
6799         * testsuite/parse/.cvsignore:
6800         * testsuite/parse/Makefile.am:
6801         * testsuite/parse/parse1.c:
6802         * testsuite/parse/parse2.c:
6803         * testsuite/plugin/.cvsignore:
6804         * testsuite/plugin/Makefile.am:
6805         * testsuite/plugin/README:
6806         * testsuite/plugin/dynamic.c:
6807         * testsuite/plugin/linked.c:
6808         * testsuite/plugin/loading.c:
6809         * testsuite/plugin/registry.c:
6810         * testsuite/plugin/static.c:
6811         * testsuite/plugin/static2.c:
6812         * testsuite/plugin/testplugin.c:
6813         * testsuite/plugin/testplugin2.c:
6814         * testsuite/plugin/testplugin2_s.c:
6815         * testsuite/plugin/testplugin_s.c:
6816         * testsuite/refcounting/.cvsignore:
6817         * testsuite/refcounting/Makefile.am:
6818         * testsuite/refcounting/bin.c:
6819         * testsuite/refcounting/element.c:
6820         * testsuite/refcounting/element_pad.c:
6821         * testsuite/refcounting/mainloop.c:
6822         * testsuite/refcounting/mem.c:
6823         * testsuite/refcounting/mem.h:
6824         * testsuite/refcounting/object.c:
6825         * testsuite/refcounting/pad.c:
6826         * testsuite/refcounting/sched.c:
6827         * testsuite/refcounting/thread.c:
6828         * testsuite/states/.cvsignore:
6829         * testsuite/states/Makefile.am:
6830         * testsuite/states/bin.c:
6831         * testsuite/states/locked.c:
6832         * testsuite/states/parent.c:
6833         * testsuite/threads/.cvsignore:
6834         * testsuite/threads/159566.c:
6835         * testsuite/threads/159852.c:
6836         * testsuite/threads/Makefile.am:
6837         * testsuite/threads/queue.c:
6838         * testsuite/threads/signals.c:
6839         * testsuite/threads/staticrec.c:
6840         * testsuite/threads/thread.c:
6841         * testsuite/threads/threadb.c:
6842         * testsuite/threads/threadc.c:
6843         * testsuite/threads/threadd.c:
6844         * testsuite/threads/threade.c:
6845         * testsuite/threads/threadf.c:
6846         * testsuite/threads/threadg.c:
6847         * testsuite/threads/threadh.c:
6848         * testsuite/threads/threadi.c:
6849           move all of these under tests
6850
6851 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6852
6853         * configure.ac:
6854         * tests/Makefile.am:
6855           fix distcheck
6856
6857 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6858
6859         * docs/gst/gstreamer-sections.txt:
6860         * tests/sched/.cvsignore:
6861         * tests/sched/Makefile.am:
6862         * tests/sched/cases/(fs-fs).xml:
6863         * tests/sched/cases/(fs-i-fs).xml:
6864         * tests/sched/cases/(fs-i-i-fs).xml:
6865         * tests/sched/cases/(fs-i-q[i-fs]).xml:
6866         * tests/sched/dynamic-pipeline.c:
6867         * tests/sched/interrupt1.c:
6868         * tests/sched/interrupt2.c:
6869         * tests/sched/interrupt3.c:
6870         * tests/sched/runtestcases:
6871         * tests/sched/runxml.c:
6872         * tests/sched/sched-stress.c:
6873         * tests/sched/sort.c:
6874         * tests/sched/testcases:
6875         * tests/sched/testcases1.tc:
6876         * tests/seeking/.cvsignore:
6877         * tests/seeking/Makefile.am:
6878         * tests/seeking/seeking1.c:
6879         * tests/threadstate/.cvsignore:
6880         * tests/threadstate/Makefile.am:
6881         * tests/threadstate/test1.c:
6882         * tests/threadstate/test2.c:
6883         * tests/threadstate/threadstate1.c:
6884         * tests/threadstate/threadstate2.c:
6885         * tests/threadstate/threadstate3.c:
6886         * tests/threadstate/threadstate4.c:
6887         * tests/threadstate/threadstate5.c:
6888           remove obsolete tests
6889         * configure.ac:
6890         * tests/bench-complexity.scm:
6891         * tests/bench-mass_elements.scm:
6892         * tests/complexity.c:
6893         * tests/complexity.gnuplot:
6894         * tests/instantiate/.cvsignore:
6895         * tests/instantiate/Makefile.am:
6896         * tests/instantiate/caps.c:
6897         * tests/mass_elements.c:
6898         * tests/network-clock-utils.scm:
6899         * tests/network-clock.scm:
6900         * tests/plot-data:
6901         First pass at cleaning up tests/ dir before moving the rest
6902         Combined with CVS surgery
6903
6904 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6905
6906         * po/POTFILES.in:
6907           queue has moved, update
6908
6909 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6910
6911         * docs/gst/gstreamer-sections.txt:
6912           remove double entries from the docs
6913         * gst/gst_private.h:
6914         * gst/gstinfo.c: (_gst_debug_init):
6915           remove the THREAD debug category
6916         * gst/Makefile.am:
6917         * gst/gstqueue.c:
6918         * gst/gstqueue.h:
6919         * docs/gst/gstreamer.types:
6920         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6921         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6922           completely move queue and fix up debugging categories
6923
6924 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6925
6926         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6927           make initialization portable, using LL is not
6928
6929 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6930
6931         * win32/common/gstconfig.h:
6932           add large padding
6933
6934 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6935
6936         * win32/common/libgstreamer.def:
6937           rename symbols; sort base section
6938
6939 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6940
6941         * gst/gstclock.c: (do_linear_regression):
6942           remove crack non-portable handrolled DEBUG macro
6943
6944 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6945
6946         * docs/random/release:
6947           update notes
6948         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6949         (gst_object_flags_get_type), (register_gst_bin_flags),
6950         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6951         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6952         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6953         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6954         (gst_caps_flags_get_type), (register_gst_clock_return),
6955         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6956         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6957         (gst_clock_flags_get_type), (register_gst_state),
6958         (gst_state_get_type), (register_gst_state_change_return),
6959         (gst_state_change_return_get_type), (register_gst_state_change),
6960         (gst_state_change_get_type), (register_gst_element_flags),
6961         (gst_element_flags_get_type), (register_gst_core_error),
6962         (gst_core_error_get_type), (register_gst_library_error),
6963         (gst_library_error_get_type), (register_gst_resource_error),
6964         (gst_resource_error_get_type), (register_gst_stream_error),
6965         (gst_stream_error_get_type), (register_gst_event_type_flags),
6966         (gst_event_type_flags_get_type), (register_gst_event_type),
6967         (gst_event_type_get_type), (register_gst_seek_type),
6968         (gst_seek_type_get_type), (register_gst_seek_flags),
6969         (gst_seek_flags_get_type), (register_gst_format),
6970         (gst_format_get_type), (register_gst_index_certainty),
6971         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6972         (gst_index_entry_type_get_type),
6973         (register_gst_index_lookup_method),
6974         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6975         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6976         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6977         (gst_index_flags_get_type), (register_gst_debug_level),
6978         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6979         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6980         (gst_iterator_result_get_type), (register_gst_iterator_item),
6981         (gst_iterator_item_get_type), (register_gst_message_type),
6982         (gst_message_type_get_type), (register_gst_mini_object_flags),
6983         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6984         (gst_pad_link_return_get_type), (register_gst_flow_return),
6985         (gst_flow_return_get_type), (register_gst_activate_mode),
6986         (gst_activate_mode_get_type), (register_gst_pad_direction),
6987         (gst_pad_direction_get_type), (register_gst_pad_flags),
6988         (gst_pad_flags_get_type), (register_gst_pad_presence),
6989         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6990         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6991         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6992         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6993         (gst_plugin_flags_get_type), (register_gst_rank),
6994         (gst_rank_get_type), (register_gst_query_type),
6995         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6996         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6997         (gst_tag_flag_get_type), (register_gst_task_state),
6998         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6999         (gst_alloc_trace_flags_get_type),
7000         (register_gst_type_find_probability),
7001         (gst_type_find_probability_get_type), (register_gst_uri_type),
7002         (gst_uri_type_get_type), (register_gst_parse_error),
7003         (gst_parse_error_get_type):
7004         * win32/common/gstenumtypes.h:
7005         * win32/common/gstversion.h:
7006           update visual studio generated files
7007
7008 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7009
7010         * win32/vs6/libgstbase.dsp:
7011         * win32/vs6/libgstelements.dsp:
7012           update project files for new locations
7013
7014 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7015
7016         * Makefile.am:
7017           remove some files
7018         * README:
7019           reinstate and update
7020         * DEVEL:
7021         * REQUIREMENTS:
7022           removed
7023         * LICENSE:
7024         * docs/random/LICENSE:
7025           moved to random
7026
7027 2005-11-30  Edward Hervey  <edward@fluendo.com>
7028
7029         * gst/gsttypefind.c: (gst_type_find_register):
7030         * gst/gsttypefind.h:
7031         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7032         (gst_type_find_factory_dispose):
7033         * gst/gsttypefindfactory.h:
7034         Fix memory leak in GstTypeFindFactory.
7035
7036 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7037
7038         * gst/gst.c:
7039         * plugins/elements/Makefile.am:
7040         * plugins/elements/gstelements.c:
7041         * plugins/elements/gstqueue.c:
7042           move queue from core to the elements plugin
7043
7044 2005-11-29  Andy Wingo  <wingo@pobox.com>
7045
7046         * libs/gst/base/gstbasetransform.h: 
7047         * libs/gst/base/gstbasesrc.h: 
7048         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7049
7050         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7051         of pointers by which to pad very extensible base classes (like the
7052         ones in libs/gst/base).
7053
7054 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7055
7056         * docs/gst/gstreamer-docs.sgml:
7057         * docs/gst/gstreamer-sections.txt:
7058         * docs/libs/gstreamer-libs-docs.sgml:
7059         * docs/libs/gstreamer-libs-sections.txt:
7060           moving documentation from core to lib
7061
7062 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7063
7064         * check/Makefile.am:
7065         * configure.ac:
7066         * docs/gst/Makefile.am:
7067         * gst/Makefile.am:
7068         * gst/base/.cvsignore:
7069         * gst/base/Makefile.am:
7070         * gst/base/README:
7071         * gst/base/gstadapter.c:
7072         * gst/base/gstadapter.h:
7073         * gst/base/gstbasesink.c:
7074         * gst/base/gstbasesink.h:
7075         * gst/base/gstbasesrc.c:
7076         * gst/base/gstbasesrc.h:
7077         * gst/base/gstbasetransform.c:
7078         * gst/base/gstbasetransform.h:
7079         * gst/base/gstcollectpads.c:
7080         * gst/base/gstcollectpads.h:
7081         * gst/base/gstpushsrc.c:
7082         * gst/base/gstpushsrc.h:
7083         * gst/base/gsttypefindhelper.c:
7084         * gst/base/gsttypefindhelper.h:
7085         * gst/check/Makefile.am:
7086         * gst/check/gstcheck.c:
7087         * gst/check/gstcheck.h:
7088         * gst/net/Makefile.am:
7089         * gst/net/gstnet.h:
7090         * gst/net/gstnetclientclock.c:
7091         * gst/net/gstnetclientclock.h:
7092         * gst/net/gstnettimepacket.c:
7093         * gst/net/gstnettimepacket.h:
7094         * gst/net/gstnettimeprovider.c:
7095         * gst/net/gstnettimeprovider.h:
7096         * libs/gst/Makefile.am:
7097         * libs/gst/base/Makefile.am:
7098         * libs/gst/base/gstbasetransform.c:
7099         * libs/gst/check/Makefile.am:
7100         * plugins/elements/Makefile.am:
7101         * po/POTFILES.in:
7102           CVS surgery + support to move base, check, and net out of gst
7103           and into libs/gst
7104
7105 2005-11-29  Andy Wingo  <wingo@pobox.com>
7106
7107         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7108
7109         * gst/gststructure.h (struct _GstStructure): Only one pointer of
7110         padding.
7111
7112         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7113
7114         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7115
7116         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
7117
7118         * gst/gstobject.h: (struct _GstObject): Only one pointer of
7119         padding; reduces object size by about 30%. We don't expect
7120         anything else to go into gstobject.
7121
7122         * gst/gstminiobject.h (struct _GstMiniObject)
7123         (struct _GstMiniObjectClass): Only one pointer of padding; the
7124         payload is only a pointer and two ints anyway. For the class there
7125         are only two methods as well.
7126         
7127         * gst/gstelement.h (struct _GstElementClass): Removed
7128         the state_changed signal callback, it is not used.
7129
7130 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7131
7132         * docs/gst/gstreamer.types:
7133           fix includes, though they are a little dinky
7134
7135 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7136
7137         * check/Makefile.am:
7138           look in the right place for elements, a lot more chance of
7139           success
7140         * gst/Makefile.am:
7141           remove indexers and elements subdirs
7142         * plugins/Makefile.am:
7143           make indexers conditional
7144
7145 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7146
7147         * Makefile.am:
7148         * configure.ac:
7149         * plugins/elements/Makefile.am:
7150         * plugins/elements/gstcapsfilter.c:
7151         * plugins/elements/gstfilesink.c:
7152         * plugins/elements/gstfilesrc.c:
7153         * plugins/elements/gstidentity.c:
7154         * plugins/indexers/Makefile.am:
7155           do CVS surgery and related build fixery to move elements
7156           and indexers in a new gstreamer/plugins directory, out of the
7157           gst/ directory
7158
7159 2005-11-29  Andy Wingo  <wingo@pobox.com>
7160
7161         * check/Makefile.am:
7162         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7163         * pkgconfig/gstreamer-net.pc.in:
7164         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
7165         #322257.
7166
7167 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7168
7169         * tools/Makefile.am:
7170         * tools/gst-complete.1.in:
7171         * tools/gst-complete.c:
7172         * tools/gst-compprep.1.in:
7173         * tools/gst-compprep.c:
7174           removing -compprep and -complete
7175
7176 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7177
7178         * gst/gstevent.c: (gst_event_new_new_segment),
7179         (gst_event_parse_new_segment):
7180         * gst/gstevent.h:
7181           fix #320529 - clean up new_segment API and structure.
7182           Let's hope everyone was using the methods, and not the structure.
7183
7184 2005-11-29  Edward Hervey  <edward@fluendo.com>
7185
7186         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7187         (gst_base_sink_event), (gst_base_sink_do_sync),
7188         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7189         Properly handle non GST_FORMAT_TIME segment
7190         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7191         Properly handle non GST_FORMAT_TIME segment
7192         * gst/gstsegment.c:
7193         This function is valid if the accumulator is 0 and the format
7194         is different from the requested format.
7195         
7196 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7197
7198         * docs/gst/gstreamer-sections.txt:
7199         Add gst_query_new_seeking and gst_query_parse_seeking to the
7200         docs.
7201
7202 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7203
7204         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7205           Treat a pad alloc with new caps the same as if we were not
7206           negotiated, in order to allow a changing upstream output
7207           to produce a new format of data.
7208
7209 2005-11-29  Edward Hervey  <edward@fluendo.com>
7210
7211         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7212         (gst_base_transform_event), (gst_base_transform_eventfunc):
7213         The event virtual method is now properly implemented, with a default
7214         handler
7215         Sub classes should call the parent_class event method. They should
7216         return FALSE if they had a problem handling the given event, or don't
7217         want GstBaseTransform to send that even downstream
7218         * gst/elements/gstidentity.c: (gst_identity_class_init),
7219         (gst_identity_init), (gst_identity_event),
7220         (gst_identity_transform_ip), (gst_identity_set_property),
7221         (gst_identity_get_property):
7222         * gst/elements/gstidentity.h:
7223         Added the single-segment boolean property.
7224         If set to TRUE, it will output a single segment of data, starting from
7225         0, will eat up all incoming newsegment, and modify the timestamp of the
7226         buffers accordingly
7227
7228 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
7229
7230         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
7231           Don't ref NULL target pad (#322751). Improve docs.
7232
7233 2005-11-29  Michael Smith  <msmith@fluendo.com>
7234
7235         * gst/gstregistryxml.c: (load_plugin):
7236           Don't crash if we failed to load a feature from a plugin. 
7237
7238 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7239
7240         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7241         (GST_START_TEST):
7242           use more check API and less GLib API
7243
7244 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7245
7246         * Makefile.am:
7247           don't run checks if we don't have check
7248         * common/check.mak:
7249           remove the registry when running make torture
7250         * docs/gst/gstreamer-sections.txt:
7251           remove second multiply
7252         * gst/gstqueue.c: (gst_queue_loop):
7253           fix a compile warning when disabling debug
7254
7255 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7256
7257         * gst/gstinfo.h:
7258         Hey! Let's print the pad name if the pointer != NULL instead
7259         of when it == NULL :-)
7260
7261 2005-11-28  Wim Taymans  <wim@fluendo.com>
7262
7263         * check/gst/gstutils.c: (GST_START_TEST):
7264         Updated check, add some scaling accuracy checking code.
7265
7266         * gst/gstutils.c: (gst_util_div128_64),
7267         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
7268         (gst_util_uint64_scale_int):
7269         Fix 6 times faster division code. Optimize for common 
7270         1/1 and less common X/1 cases.
7271
7272 2005-11-28  Wim Taymans  <wim@fluendo.com>
7273
7274         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7275         More checks.
7276
7277         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
7278         (do_linear_regression), (gst_clock_add_observation):
7279         Cleanups.
7280         Release lock when the clock cannot be slaved.
7281         Catch the case where the regression returned an invalid denominator.
7282
7283         * gst/gstutils.c: (gst_util_div128_64_iterate),
7284         (gst_util_div128_64), (gst_util_uint64_scale_int64),
7285         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7286         Add protentially more performant non-iterative 128/64 divide function
7287         that unfortunatly does not work yet.
7288         Shortcut the trivial 0/X = 0 case.
7289         Remove the warnings on overflow.
7290
7291 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7292
7293         * gst/gstplugin.c: (gst_plugin_register_func):
7294           everything causing a plugin not to load should be at least a WARNING
7295
7296 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
7297
7298         * docs/random/ensonic/dparams.txt:
7299           some TODOs for the next dev cycle
7300         * libs/gst/controller/gstcontroller.c:
7301         (gst_controlled_property_set_interpolation_mode),
7302         (gst_controlled_property_new):
7303         * libs/gst/controller/gstcontroller.h:
7304           use base type to assign acccessor functions
7305
7306 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7307
7308         * check/Makefile.am:
7309         Oops, that should have been top_srcdir
7310
7311 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7312
7313         * check/Makefile.am:
7314         * check/elements/fdsrc.c: (GST_START_TEST):
7315         Use a cmdline define to specify the location of a file to use for
7316         testing, to avoid breaking distcheck.
7317
7318 2005-11-28  Andy Wingo  <wingo@pobox.com>
7319
7320         * gst/gstpad.c (fixate_value): Use array functions for arrays.
7321
7322 2005-11-28  Edward Hervey  <edward@fluendo.com>
7323
7324         * tools/gst-launch.c: (main):
7325         Clarify the output strings, makes it easier to translate.
7326         Fixes #322626
7327
7328 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7329
7330         * gst/Makefile.am:
7331           don't try and build net if we don't even have <sys/socket.h>
7332
7333 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
7334
7335         * check/Makefile.am:
7336         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
7337         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
7338           Add tests for fdsrc seekability
7339
7340         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7341         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
7342         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
7343         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
7344         * gst/elements/gstfdsrc.h:
7345           fdsrc should not be a 'live' source.
7346           Implement seeking on seekable fd's.
7347
7348         * gst/gstquery.c: (gst_query_new_seeking),
7349         (gst_query_parse_seeking):
7350         * gst/gstquery.h:
7351           Implement SEEKING query functions: 
7352             *_new_seeking and *_parse_seeking
7353
7354 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
7355
7356         * gst/gstelement.c: (gst_element_dispose):
7357           don't loop forever
7358
7359         * gst/gstiterator.c:
7360         * gst/gststructure.c:
7361           doc fixes
7362
7363         * libs/gst/controller/gstcontroller.c:
7364         (gst_controlled_property_set_interpolation_mode):
7365         * libs/gst/controller/gstcontroller.h:
7366         * libs/gst/controller/gstinterpolation.c:
7367         (interpolate_none_get_enum_value_array):
7368           support controlling enums
7369
7370 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7371
7372         * gst/gstvalue.c:
7373           Improve documentation for gst_value_union().
7374
7375         * gst/gstvalue.h:
7376           Change return value for union, intersect and subtract functions
7377           from gint to gboolean.
7378
7379 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7380
7381         * gst/gstvalue.c: (gst_value_serialize_any_list),
7382         (gst_value_transform_any_list_string),
7383         (gst_value_deserialize_list), (gst_value_deserialize_array),
7384         (gst_value_set_int_range), (gst_value_deserialize_int_range),
7385         (gst_value_set_double_range), (gst_value_deserialize_double_range),
7386         (gst_value_set_fraction_range_full),
7387         (gst_value_deserialize_fraction_range),
7388         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
7389         (gst_value_deserialize_boolean),
7390         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
7391         (gst_value_serialize_float), (gst_value_deserialize_float),
7392         (gst_string_wrap), (gst_value_deserialize_string),
7393         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
7394         (gst_value_union_int_range_int_range),
7395         (gst_value_intersect_int_range_int_range),
7396         (gst_value_intersect_double_range_double_range),
7397         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7398         (gst_value_subtract_int_range_int_range),
7399         (gst_value_subtract_double_double_range),
7400         (gst_value_subtract_double_range_double_range),
7401         (gst_value_deserialize_fraction):
7402         * gst/gstvalue.h:
7403           Use gint, gdouble and gchar in our API instead of int, double and
7404           char (and make usage in gstvalue.c more consistent).
7405
7406 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7407
7408         * check/Makefile.am:
7409         * libs/gst/controller/Makefile.am:
7410         * libs/gst/dataprotocol/Makefile.am:
7411           fix up Makefile.am and remove GST_ENABLE_NEW
7412
7413 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7414
7415         * configure.ac:
7416         * gst/Makefile.am:
7417         * gst/base/Makefile.am:
7418         * gst/check/Makefile.am:
7419         * gst/elements/Makefile.am:
7420         * gst/net/Makefile.am:
7421           update LDFLAGS use some more
7422
7423 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7424
7425         * common/m4/gst-doc.m4:
7426           Fixes #312589
7427
7428 2005-11-26  Edward Hervey  <edward@fluendo.com>
7429
7430         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7431         This shouldn't issue a g_warning since it returns NULL if it
7432         couldn't find the plugin, and all functions using this behave
7433         properly on a NULL return. Switching to a GST_WARNING.
7434
7435 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
7436
7437         * gst/gstbin.c: (gst_bin_handle_message_func):
7438         Don't leak clock messages.
7439
7440 2005-11-25  Wim Taymans  <wim@fluendo.com>
7441
7442         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7443         (gst_util_uint64_scale_int):
7444         Optimisations, remove unneeded vars.
7445
7446 2005-11-25  Wim Taymans  <wim@fluendo.com>
7447
7448         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7449         Added more checks for the high precision uint64 cases.
7450
7451         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7452         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7453         Implement high precision (guint64 * guint64) / guint64.
7454
7455 2005-11-24  Wim Taymans  <wim@fluendo.com>
7456
7457         * gst/base/gstbasesrc.c: (gst_base_src_query):
7458         Fix wrong percentage query.
7459
7460         * gst/gstutils.c: (gst_util_uint64_scale),
7461         (gst_util_uint64_scale_int):
7462         Add some more common cases that can be handled 
7463         efficiently to _scale.
7464
7465 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7466
7467         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
7468         (gst_mini_object_suite):
7469           don't use check calls from threads; check probably isn't
7470           threadsafe and using a lock to make it threadsafe would
7471           defeat the purpose of this check
7472         * gst/check/gstcheck.c:
7473         * gst/check/gstcheck.h:
7474           use GST_DEBUG some more
7475
7476 2005-11-24  Wim Taymans  <wim@fluendo.com>
7477
7478         * gst/gstutils.c: (gst_util_uint64_scale),
7479         (gst_util_uint64_scale_int):
7480         Chain trivial case to _scale_int.
7481
7482 2005-11-24  Wim Taymans  <wim@fluendo.com>
7483
7484         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7485         Added test for scaling.
7486
7487         * gst/gstclock.h:
7488         Small doc fix.
7489
7490         * gst/gstutils.c: (gst_util_uint64_scale_int):
7491         Implemented high precision scaling code.
7492
7493 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
7494
7495         * gst/gstinfo.h:
7496           do not crash on pad==NULL
7497
7498 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7499
7500         Patch by: Stefan Kost
7501
7502         * common/gtk-doc.mak:
7503         * docs/gst/Makefile.am:
7504         * docs/libs/Makefile.am:
7505           Fix distcheck issues for the libraries docs build
7506           Closes #319599.
7507
7508 2005-11-24  Michael Smith <msmith@fluendo.com>
7509
7510         * docs/manual/basics-helloworld.xml:
7511           Fix bug #315027: memory leak in example code in docs.
7512
7513 2005-11-24  Michael Smith <msmith@fluendo.com>
7514
7515         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7516           Unlock the PREROLL_LOCK in a failure case.
7517
7518 2005-11-24  Wim Taymans  <wim@fluendo.com>
7519
7520         * docs/gst/gstreamer-sections.txt:
7521         * gst/base/gstadapter.h:
7522         * gst/base/gstbasesink.h:
7523         * gst/base/gstbasesrc.h:
7524         * gst/base/gstbasetransform.h:
7525         * gst/base/gstpushsrc.h:
7526         * gst/elements/gstfakesink.h:
7527         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
7528         * gst/elements/gstfakesrc.h:
7529         * gst/elements/gstfilesink.h:
7530         * gst/elements/gstfilesrc.h:
7531         * gst/gst.c:
7532         * gst/gstbin.c:
7533         * gst/gstbuffer.c: (_gst_buffer_copy):
7534         * gst/gstbus.h:
7535         * gst/gstcaps.c:
7536         * gst/gstchildproxy.c:
7537         * gst/gstclock.c:
7538         * gst/gstelement.c:
7539         * gst/gstelementfactory.c:
7540         * gst/gstelementfactory.h:
7541         * gst/gstevent.c:
7542         * gst/gstghostpad.h:
7543         * gst/gstindex.h:
7544         * gst/gstinterface.h:
7545         * gst/gstminiobject.c:
7546         * gst/gstminiobject.h:
7547         * gst/gstpad.c:
7548         * gst/gstpad.h:
7549         * gst/gstpadtemplate.h:
7550         * gst/gstpipeline.h:
7551         * gst/gstpluginfeature.h:
7552         * gst/gstquery.h:
7553         * gst/gstqueue.h:
7554         * gst/gsttaglist.c:
7555         * gst/gsttaglist.h:
7556         * gst/gsttagsetter.c:
7557         * gst/gsttagsetter.h:
7558         * gst/gsttrace.c:
7559         * gst/gsttrace.h:
7560         * gst/gsttypefind.h:
7561         * gst/gsturi.h:
7562         * gst/gstvalue.c:
7563         * gst/net/gstnetclientclock.c:
7564         * gst/net/gstnetclientclock.h:
7565         * gst/net/gstnettimepacket.c:
7566         * gst/net/gstnettimeprovider.c:
7567         * gst/net/gstnettimeprovider.h:
7568         Doc fixes.
7569
7570 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7571
7572         * configure.ac: back to HEAD
7573
7574 === release 0.9.6 ===
7575
7576 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
7577
7578         * configure.ac:
7579           releasing 0.9.6, "Always On Time"
7580
7581 2005-11-23  Wim Taymans  <wim@fluendo.com>
7582
7583         * docs/gst/gstreamer-sections.txt:
7584         * gst/glib-compat.c:
7585         * gst/gsttagsetter.c:
7586         * gst/gstvalue.c:
7587         * gst/net/gstnetclientclock.c:
7588         * gst/net/gstnettimepacket.h:
7589         Doc updates.
7590
7591 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7592
7593         * docs/faq/using.xml:
7594         * docs/libs/tmpl/gstcontrol.sgml:
7595         * docs/manual/advanced-dparams.xml:
7596         * docs/manual/appendix-checklist.xml:
7597         * docs/manual/basics-elements.xml:
7598         * docs/pwg/other-source.xml:
7599         * docs/random/moving-plugins:
7600         * gst/gstpad.c:
7601         * tools/gst-launch.1.in:
7602           remove mentions of sinesrc
7603
7604 2005-11-23  Michael Smith <msmith@fluendo.com>
7605
7606         * docs/gst/gstreamer-sections.txt:
7607           Update for new API and API changes.
7608         * gst/gstobject.h:
7609           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
7610         * gst/gstvalue.c:
7611           Documentation typo fix.
7612         * gst/net/gstnettimepacket.c:
7613           Documentation fixes for arguments.
7614
7615 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
7616
7617         * gst/gststructure.c: (gst_structure_get_fraction),
7618         (gst_structure_parse_value),
7619         (gst_structure_fixate_field_nearest_fraction):
7620         * gst/gststructure.h:
7621         * gst/gstutils.c: (gst_util_uint64_scale_int):
7622         * gst/gstutils.h:
7623         * scripts/update-funcnames:
7624         API Changes. 
7625         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
7626         Make gst_structure_fixate_field_nearest_fraction take a numerator
7627         and denominator argument instead of a GValue
7628         add gst_structure_get_fraction helper function.
7629
7630 2005-11-23  Wim Taymans  <wim@fluendo.com>
7631
7632         * docs/design/part-TODO.txt:
7633         Update TODO.
7634
7635         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7636         * gst/net/gstnetclientclock.h:
7637         Use parent fields for timeout and window_size.
7638
7639 2005-11-23  Andy Wingo  <wingo@pobox.com>
7640
7641         * check/net/gstnetclientclock.c (test_functioning): Adjust to
7642         rate_num/rate_denom change.
7643
7644         * gst/net/gstnetclientclock.c
7645         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
7646         OBJECT_LOCK. Don't call add_observation with the lock.
7647
7648         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
7649         fraction.
7650         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
7651         rate fraction.
7652         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
7653         deal with rate as a fraction whose numerator and denominator are
7654         GstClockTime values.
7655         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
7656         master; the other fields are protected by the SLAVE_LOCK.
7657         (do_linear_regression): Note that this must be called with the
7658         SLAVE_LOCK.
7659         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
7660         OBJECT_LOCK. Call set_calibration instead of touching the
7661         variables directly.
7662         (gst_clock_set_property, gst_clock_get_property): Protect
7663         master/slave parameters with the SLAVE_LOCK.
7664
7665         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
7666         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
7667         note that all of the instance variables that add_observation and
7668         the set_master functions use are protected by that lock and not
7669         the OBJECT_LOCK.
7670         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
7671
7672         * gst/gstclock.c (gst_clock_add_observation): No longer requires
7673         the caller to take the object lock.
7674
7675 2005-11-23  Wim Taymans  <wim@fluendo.com>
7676
7677         * gst/gsterror.c: (_gst_core_errors_init):
7678         * gst/gsterror.h:
7679         Add error for clock stuff.
7680
7681         * gst/gstpipeline.c: (gst_pipeline_change_state),
7682         (gst_pipeline_set_clock):
7683         Post clock error when clock cannot be used in a pipeline.
7684
7685 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
7686
7687         * docs/gst/gstreamer-sections.txt:
7688           make two symbols from gstinfo private for the docs
7689         * gst/base/gstcollectpads.h:
7690         * gst/gstutils.c:
7691           fix doc typos, update docs
7692
7693 2005-11-22  Wim Taymans  <wim@fluendo.com>
7694
7695         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7696         (gst_base_sink_wait), (gst_base_sink_do_sync),
7697         (gst_base_sink_handle_event):
7698         * gst/base/gstbasesink.h:
7699         No need to store the clock, the parent element class already
7700         has it.
7701
7702         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
7703         Updates for clock_set returning a gboolean
7704
7705         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
7706         (gst_clock_id_wait_async), (gst_clock_class_init),
7707         (gst_clock_init), (gst_clock_finalize),
7708         (gst_clock_get_internal_time), (gst_clock_get_time),
7709         (gst_clock_slave_callback), (gst_clock_set_master),
7710         (gst_clock_get_master), (do_linear_regression),
7711         (gst_clock_add_observation), (gst_clock_set_property),
7712         (gst_clock_get_property):
7713         * gst/gstclock.h:
7714         Implement master/slave. When setting a clock as a slave, a
7715         periodic timeout is scheduled to sample master and slave times.
7716         Then the slave clock is recalibrated to match offset and rate
7717         of the master clock.
7718         Update logging a bit.
7719         Add flag so that a clock can state that is cannot be slaved to
7720         another clock.
7721
7722         * gst/gstelement.c: (gst_element_set_clock):
7723         * gst/gstelement.h:
7724         The set clock returns a gboolean for when an element cannot
7725         deal with the selected clock in the pipeline. 
7726
7727         * gst/gstpipeline.c: (gst_pipeline_change_state),
7728         (gst_pipeline_set_clock):
7729         * gst/gstpipeline.h:
7730         Handle the case where the selected clock cannot be set on
7731         the pipeline.
7732
7733         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
7734         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
7735         (gst_net_client_clock_set_property),
7736         (gst_net_client_clock_get_property),
7737         (gst_net_client_clock_observe_times):
7738         * gst/net/gstnetclientclock.h:
7739         Use regression code in GstClock parent, remove duplicated
7740         functionality.
7741
7742 2005-11-22  Michael Smith <msmith@fluendo.com>
7743
7744         * gst/gstutils.c: (gst_util_clock_time_scale):
7745         * gst/gstutils.h:
7746         * docs/gst/gstreamer-sections.txt:
7747           Rename method to have extra underscore.
7748
7749 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7750
7751         * gst/elements/Makefile.am:
7752         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
7753         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7754         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
7755         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
7756         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
7757         * gst/elements/gstfakesrc.h:
7758         * gst/gstqueue.c: (queue_leaky_get_type):
7759           correctly fix GEnumValues so that nick is the short lowercase
7760           dashed tag
7761         * tools/gst-inspect.c: (print_element_properties_info):
7762           also show the nick, since it's useful to use from parse_launch
7763           syntax
7764           Fixes #322139
7765
7766 2005-11-22  Michael Smith <msmith@fluendo.com>
7767
7768         * gst/gstutils.c: (gst_util_clocktime_scale):
7769         * gst/gstutils.h:
7770         * docs/gst/gstreamer-sections.txt:
7771           Add util method for scaling a clocktime by a fraction. Useful 
7772           implementation is left as an exercise for the reader.
7773
7774 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7775
7776         * gst/gstvalue.c: (gst_value_collect_fraction_range):
7777         If needed, allocate storage in the destination value during
7778         collection.
7779
7780 2005-11-22  Edward Hervey  <edward@fluendo.com>
7781
7782         * docs/gst/gstreamer-sections.txt:
7783         * gst/Makefile.am:
7784         * gst/gst.h:
7785         * gst/gsturitype.c:
7786         * gst/gsturitype.h:
7787         * gst/gstutils.c: (gst_util_set_object_arg):
7788         * tools/gst-compprep.c: (main):
7789         * tools/gst-inspect.c: (print_element_properties_info):
7790         Removed GstURI, closes bug #321061
7791
7792 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7793
7794         * check/gst/gststructure.c: (GST_START_TEST):
7795         * gst/gststructure.c: (gst_structure_parse_value):
7796           Oops, broke automatic string type parsing.
7797           Add a test to catch it in future.
7798
7799 2005-11-22  Andy Wingo  <wingo@pobox.com>
7800
7801         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
7802         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
7803         Actually rename the function implementations. Grr.
7804
7805 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7806
7807         * check/gst/capslist.h:
7808           Comment test cases
7809         * check/gst/gststructure.c: (GST_START_TEST),
7810         (gst_structure_suite):
7811           Test automatic value type detection in gst_structure_from_string.
7812         * gst/gststructure.c: (gst_structure_parse_value):
7813           Add fraction as a type we try and guess automatically in
7814           caps/structure strings.
7815
7816 2005-11-22  Andy Wingo  <wingo@pobox.com>
7817
7818         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
7819
7820         * gst/gsttagsetter.h:
7821         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
7822         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
7823         (gst_tag_setter_add_tag_valist)
7824         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
7825         _add_values, _add_valist, and _add_valist_values. Since this is an
7826         interface the function suffixes should be more explicit so
7827         language binding don't end up with element.add_valist ->
7828         gst_tag_setter_add_valist, for example. Fixes #322069.
7829
7830 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7831
7832         * check/gst/gstcaps.c: (GST_START_TEST):
7833           Extend caps string tests to check that a caps to string
7834           conversion is reversible and produces the same caps.
7835
7836         * gst/gststructure.c: (gst_structure_value_get_generic_type):
7837           Output "fraction" as the generic type fraction range, so caps
7838           serialisation and deserialisation works.
7839         * check/gst/capslist.h:
7840         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7841           Support 'MIN' and 'MAX' for deserialising fractions.
7842
7843 2005-11-22  Andy Wingo  <wingo@pobox.com>
7844
7845         * gst/gstevent.h (gst_event_new_new_segment)
7846         (gst_event_parse_new_segment, gst_event_new_buffer_size)
7847         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
7848         Renamed from *_newsegment, *_buffersize, *_notarget.
7849
7850         * scripts/update-funcnames: New script, performs the changes
7851         listed above.
7852
7853 2005-11-22  Wim Taymans  <wim@fluendo.com>
7854
7855         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7856         Make sure the GstFlowReturn is returned.
7857
7858         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
7859         (gst_bus_add_signal_watch):
7860         * gst/gstbus.h:
7861         add gst_bus_add_signal_watch_full.
7862
7863         * gst/gstplugin.c: (gst_plugin_load_file):
7864         Small style cleanup.
7865
7866 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7867
7868         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
7869           Block the fakesrc srcpad when we send an event, to avoid
7870           contention on the stream_lock causing random test failures.
7871
7872 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7873
7874         * check/gst/gstvalue.c: (GST_START_TEST):
7875         * gst/gstvalue.c: (gst_value_fraction_subtract):
7876           Fix subtraction.
7877
7878 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
7879
7880         * gst/gst.h:
7881           include "gstchildproxy.h"
7882         * gst/gstchildproxy.h:
7883         * libs/gst/controller/gstcontroller.h:
7884           use G_GNUC_NULL_TERMINATED
7885
7886 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7887
7888         * check/gst/capslist.h:
7889         * check/gst/gstcaps.c: (GST_START_TEST):
7890         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7891         * gst/gststructure.c: (gst_structure_parse_range),
7892         (gst_structure_fixate_field_nearest_fraction):
7893         * gst/gststructure.h:
7894         * gst/gstvalue.c: (gst_value_init_fraction_range),
7895         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
7896         (gst_value_collect_fraction_range),
7897         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
7898         (gst_value_set_fraction_range_full),
7899         (gst_value_get_fraction_range_min),
7900         (gst_value_get_fraction_range_max),
7901         (gst_value_serialize_fraction_range),
7902         (gst_value_transform_fraction_range_string),
7903         (gst_value_compare_fraction_range),
7904         (gst_value_deserialize_fraction_range),
7905         (gst_value_intersect_fraction_fraction_range),
7906         (gst_value_intersect_fraction_range_fraction_range),
7907         (gst_value_subtract_fraction_fraction_range),
7908         (gst_value_subtract_fraction_range_fraction),
7909         (gst_value_subtract_fraction_range_fraction_range),
7910         (gst_value_collect_fraction), (gst_value_fraction_multiply),
7911         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
7912         (gst_value_transform_string_fraction), (_gst_value_initialize):
7913         * gst/gstvalue.h:
7914           Implement fraction ranges and extend GstFraction to support
7915           arithmetic subtraction, as well as deserialization from integer
7916           strings such as "100"
7917           Add a testsuite as for int and double range set operations
7918
7919 2005-11-21  Andy Wingo  <wingo@pobox.com>
7920
7921         * gst/gsttaglist.h: 
7922         * gst/gstcaps.h: 
7923         * gst/gststructure.h: Add glib-compat.h.
7924
7925 2005-11-21  Wim Taymans  <wim@fluendo.com>
7926
7927         * gst/gstbin.c: (gst_bin_change_state_func):
7928         Fix for #321595
7929
7930 2005-11-21  Wim Taymans  <wim@fluendo.com>
7931
7932         * gst/gstsegment.h:
7933         And add a nice define too.
7934
7935 2005-11-21  Wim Taymans  <wim@fluendo.com>
7936
7937         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7938         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7939         (gst_segment_set_duration), (gst_segment_set_last_stop),
7940         (gst_segment_set_seek), (gst_segment_set_newsegment),
7941         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7942         (gst_segment_clip):
7943         * gst/gstsegment.h:
7944         Make binding friendly.
7945
7946 2005-11-21  Andy Wingo  <wingo@pobox.com>
7947
7948         * gst/gsttagsetter.h: 
7949         * gst/gsttaglist.h: 
7950         * gst/gststructure.h: 
7951         * gst/gstcaps.h: 
7952         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7953         #319940.
7954
7955         * gst/gsterror.c (_gst_core_errors_init):
7956         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7957         category.
7958
7959         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7960         (noinst_HEADERS): noinst the -private.
7961
7962 2005-11-21  Michael Smith <msmith@fluendo.com>
7963
7964         * gst/gstplugin.h:
7965         * gst/gstregistry.h:
7966           Remove unimplemented declarations for which we can see no sensible
7967           use.
7968
7969 2005-11-21  Andy Wingo  <wingo@pobox.com>
7970
7971         * gst/gst.h: Include glib-compat.h.
7972
7973         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7974
7975         * gst/glib-compat.c: Include the public and the private header.
7976
7977         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7978
7979         * gst/gstvalue.c: 
7980         * gst/gstpad.c: 
7981         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7982
7983         * check/gst/gstevent.c (create_custom_events): Check that
7984         FLUSH_STOP is serialized.
7985
7986         * check/elements/identity.c (event_func): 
7987         * check/elements/fakesrc.c (event_func): No stream lock, the core
7988         takes it.
7989
7990         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7991         stream lock taking, yay.
7992
7993         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7994         ensure that core takes the stream lock.
7995
7996         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7997         lock name change.
7998
7999         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8000         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8001         it already. For the flush start we do take it though so we get the
8002         right preroll state change messages.
8003
8004         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8005         the stream lock here, the core does it for us.
8006
8007         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8008         GST_STREAM_GET_LOCK.
8009         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8010         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8011         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8012         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8013         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8014         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8015
8016         * gst/gstpad.c: Update for stream lock name change.
8017
8018         * gst/base/gstbasesink.c: Update for preroll lock name change.
8019
8020 2005-11-21  Wim Taymans  <wim@fluendo.com>
8021
8022         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8023         (gst_clock_get_master):
8024         * gst/gstclock.h:
8025         * gst/gstsystemclock.c: (gst_system_clock_init):
8026         Convert Clock flags to object flags.
8027         Added methods to manage master/slave clocks.
8028
8029 2005-11-21  Wim Taymans  <wim@fluendo.com>
8030
8031         * check/gst/gstsegment.c: (GST_START_TEST):
8032         * docs/design/part-TODO.txt:
8033         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8034         (gst_base_sink_event), (gst_base_sink_do_sync),
8035         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8036         (gst_base_sink_query), (gst_base_sink_change_state):
8037         * gst/base/gstbasesink.h:
8038         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8039         (gst_base_src_default_newsegment),
8040         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8041         (gst_base_src_get_range), (gst_base_src_loop),
8042         (gst_base_src_change_state):
8043         * gst/base/gstbasesrc.h:
8044         * gst/base/gstbasetransform.c:
8045         (gst_base_transform_prepare_output_buf),
8046         (gst_base_transform_event), (gst_base_transform_change_state):
8047         * gst/base/gstbasetransform.h:
8048         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8049         (gst_collect_pads_event):
8050         * gst/base/gstcollectpads.h:
8051         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8052         (gst_fake_src_create):
8053         * gst/elements/gstfakesrc.h:
8054         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8055         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8056         (gst_segment_set_last_stop), (gst_segment_set_seek),
8057         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8058         (gst_segment_to_running_time), (gst_segment_clip):
8059         * gst/gstsegment.h:
8060         More segment updates, replace code in plugins with segment
8061         helper functions.
8062
8063 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8064
8065         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8066         Don't ignore sscanf results
8067
8068 2005-11-21  Andy Wingo  <wingo@pobox.com>
8069
8070         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8071
8072         * *.h:
8073         * *.c: Ran scripts/update-macros. Oh yes.
8074
8075         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8076         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8077         GST_GET_LOCK, etc.
8078
8079         * scripts/update-macros: New script. Run it on your files to
8080         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8081         well.
8082
8083 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8084
8085         * docs/gst/Makefile.am:
8086         * docs/gst/gstreamer-docs.sgml:
8087         * docs/gst/gstreamer-sections.txt:
8088         * docs/gst/gstreamer.types:
8089         * gst/gstinfo.h:
8090           more docs fixes, add new api to the docs
8091
8092 2005-11-21  Andy Wingo  <wingo@pobox.com>
8093
8094         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8095         state_broadcast call.
8096
8097         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8098
8099 2005-11-21  Julien MOUTTE  <julien@moutte.net>
8100
8101         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8102         function calls for arrays.
8103
8104 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8105
8106         * docs/random/ensonic/media-device-daemon.txt:
8107           wild idea, can this be done?
8108         * docs/gst/gstreamer-sections.txt:
8109         * gst/gsterror.h:
8110         * gst/gstfilter.c:
8111         * gst/gstfilter.h:
8112         * gst/gstplugin.h:
8113         * gst/gstpluginfeature.c:
8114         * gst/gsttrace.c:
8115         * gst/gstvalue.c:
8116         * gst/gstvalue.h:
8117           doc fixes and additions
8118
8119 2005-11-21  Andy Wingo  <wingo@pobox.com>
8120
8121         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
8122         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
8123         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
8124         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
8125         private to the basesrc implementation.
8126
8127         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
8128         behalf of event function if necessary. It should no longer be
8129         necessary to take the stream lock in pad's event functions. Fixes
8130         #320299.
8131
8132 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8133         * docs/gst/gstreamer-sections.txt:
8134         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
8135         (gst_structure_fixate_field_nearest_double),
8136         (gst_structure_fixate_field_boolean):
8137         * gst/gststructure.h:
8138         * win32/common/libgstreamer.def:
8139         * win32/gstreamer.def:
8140
8141         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
8142         (#322027)
8143
8144 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8145
8146         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
8147         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
8148         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
8149         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
8150         (gst_fdsrc_uri_handler_init):
8151         * gst/elements/gstfdsrc.h:
8152           Port fd:// URI handler from 0.8 to fdsrc
8153
8154 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8155
8156         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
8157         (gst_value_serialize_fourcc):
8158         * gst/gstvalue.h:
8159           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
8160           consistent with our other format defines (#320324).
8161
8162 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8163
8164         * gst/gstvalue.c: (gst_value_is_fixed):
8165           Revert previous commit. Value lists are by definition
8166           not fixed, as they are a list of possible values.
8167
8168 2005-11-21  Andy Wingo  <wingo@pobox.com>
8169
8170         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
8171         during the stable series if we need it. Fixes #319178.
8172
8173         * gst/gstevent.c (gst_event_new_filler): Removed.
8174
8175         * check/gst/gstevent.c: Update comment about filler events.
8176
8177 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8178
8179         * gst/gstvalue.c: (gst_value_is_fixed):
8180           Should handle both value arrays and value lists.
8181
8182 2005-11-21  Andy Wingo  <wingo@pobox.com>
8183
8184         patch by: Alessandro Dessina <alessandro nnva org>
8185
8186         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
8187         functions to access arrays. Fixes #321962.
8188
8189 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8190
8191         * docs/gst/gstreamer.types:
8192           gst_collectpads_get_type => gst_collect_pads_get_type.
8193           
8194         * gst/base/gstbasetransform.c:
8195           Remove unused SIGNAL_HANDOFF enum.
8196
8197 2005-11-21  Andy Wingo  <wingo@pobox.com>
8198
8199         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
8200         the event type (upstream, downstream, serialized). Renamed
8201         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
8202         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
8203         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
8204
8205         * gst/gstevent.c: Update for new CUSTOM event names.
8206
8207         * check/gst/gstevent.c: Update check for new CUSTOM event names.
8208
8209         * gst/gstevent.h:
8210         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
8211         bug #319392.
8212
8213 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8214
8215         * docs/gst/gstreamer-sections.txt:
8216         * win32/common/libgstbase.def:
8217         * win32/libgstbase.def:
8218         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8219         (gst_collect_pads_class_init), (gst_collect_pads_init),
8220         (gst_collect_pads_finalize), (gst_collect_pads_new),
8221         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
8222         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
8223         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
8224         (gst_collect_pads_start), (gst_collect_pads_stop),
8225         (gst_collect_pads_peek), (gst_collect_pads_pop),
8226         (gst_collect_pads_available), (gst_collect_pads_read),
8227         (gst_collect_pads_flush), (gst_collect_pads_event),
8228         (gst_collect_pads_chain):
8229         * gst/base/gstcollectpads.h:
8230           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
8231           unimplemented functions as unimplemented. Add padding to
8232           GstCollectData. (#320766, #320423)
8233
8234 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8235
8236         * gst/gstmessage.c:
8237           Improve docs for DURATION message (usage of duration parameter)
8238           (#320113)
8239
8240 2005-11-20  Wim Taymans  <wim@fluendo.com>
8241
8242         * check/Makefile.am:
8243         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
8244         (main):
8245         * gst/Makefile.am:
8246         * gst/gst.h:
8247         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8248         (gst_segment_set_seek), (gst_segment_set_newsegment),
8249         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8250         (gst_segment_clip):
8251         * gst/gstsegment.h:
8252         Added segment helper structure and methods. Not fully implemented
8253         yet.
8254         Added segment check.
8255
8256 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
8257
8258         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8259           Add a deserialisation test for fractions
8260         * examples/metadata/read-metadata.c: (message_loop),
8261         (make_pipeline), (main):
8262           Fix up metadata reading sample.
8263         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8264           Debug format fix
8265         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8266           Don't try and fixate empty caps
8267         * gst/gst_private.h:
8268           Wrap in G_BEGIN_DECLS/G_END_DECLS
8269         * gst/gstvalue.c: (gst_value_collect_fraction),
8270         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
8271         (gst_value_transform_string_fraction),
8272         (gst_value_compare_fraction):
8273           Add some extra guards to ensure that we don't end up 
8274           with an invalid denominator of 0 in a gstfraction and
8275           that fractions always get reduced.
8276
8277 2005-11-20  Wim Taymans  <wim@fluendo.com>
8278
8279         * docs/gst/gstreamer-sections.txt:
8280         * gst/gstbuffer.h:
8281         * gst/gstelement.c:
8282         * gst/gstformat.c:
8283         * gst/gstformat.h:
8284         * gst/gstindex.h:
8285         * gst/gstquery.c:
8286         * gst/gstquery.h:
8287         * gst/gstvalue.c:
8288         Doc fixes.
8289
8290 2005-11-20  Wim Taymans  <wim@fluendo.com>
8291
8292         * docs/design/part-TODO.txt:
8293         * gst/gstcaps.h:
8294         Make a proper enum of the flag.
8295
8296 2005-11-19  Wim Taymans  <wim@fluendo.com>
8297
8298         * docs/design/part-TODO.txt:
8299         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
8300         (gst_format_to_quark), (gst_format_register):
8301         * gst/gstformat.h:
8302         * gst/gstquery.c: (_gst_query_initialize),
8303         (gst_query_type_get_name), (gst_query_type_to_quark),
8304         (gst_query_type_register):
8305         * gst/gstquery.h:
8306         Add type to quark and type to string conversions.
8307
8308 2005-11-19  Andy Wingo  <wingo@pobox.com>
8309
8310         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
8311         #320097.
8312
8313 2005-11-19  Wim Taymans  <wim@fluendo.com>
8314
8315         * docs/design/part-TODO.txt:
8316         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8317         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
8318         (gst_bin_handle_message_func):
8319         * gst/gstbin.h:
8320         Make message handling overridable.
8321
8322 2005-11-19  Andy Wingo  <wingo@pobox.com>
8323
8324         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
8325
8326         * gst/gstclock.h:
8327         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
8328         be a GstClockTime.
8329         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
8330         is a GstClockTime. Fixes #321710.
8331
8332         * gst/gstclock.h (GstClock): Remove offset property. Add
8333         internal_calibration and external_calibration. Fix padding. Pad
8334         also by GstClockTime so we don't run into problems.
8335
8336         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
8337         (gst_clock_get_rate_offset): Remove.
8338         (gst_clock_set_time_adjust): Remove. Fixes #321712.
8339
8340         * gst/gstutils.h:
8341         * gst/gstutils.c (g_static_rec_cond_wait)
8342         (g_static_rec_cond_timed_wait): Removed, no longer needed.
8343
8344         * gst/gstbin.c: Remove terrible continue_state prototype.
8345
8346         * gst/gstelement.h (gst_element_continue_state): Make public.
8347
8348         * gst/gstelement.h:
8349         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
8350         by continue_state. Fixes #319389.
8351
8352         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
8353         Really fixes #168438. However I don't see anywhere where the
8354         filter function is called... stupid GStreamer...
8355         
8356         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
8357         don't have a dispose function, so it won't get called when the
8358         object is unreffed, but oh well!
8359
8360         * gst/gstindex.c (gst_index_set_filter_full): New API function,
8361         allows a destroy function to be set so user_data can be freed.
8362         Fixes #168438.
8363         (gst_index_set_filter): Call gst_index_set_filter_full.
8364
8365         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
8366
8367         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
8368         string should produce an error, given the lack of a way to
8369         represent NULL strings. Fixes #165650.
8370         
8371         * gst/gstvalue.h: 
8372         * gst/gstvalue.c (gst_value_array_append_value) 
8373         (gst_value_array_prepend_value, gst_value_array_get_size) 
8374         (gst_value_array_get_value): New API, copied from
8375         gst_value_list_*, only operates on arrays.
8376         (gst_value_list_append_value, gst_value_list_prepend_value) 
8377         (gst_value_list_concat, gst_value_list_get_size) 
8378         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
8379
8380         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
8381         init_list, because it works on both.
8382         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
8383         (gst_value_copy_list_or_array): Renamed from copy_list.
8384         (gst_value_free_list_or_array): Renamed from free_list.
8385         (gst_value_collect_list_or_array): Renamed from collect_list.
8386         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
8387         (gst_value_list_or_array_peek_pointer): Renamed from
8388         list_peek_pointer.
8389         (_gst_value_array_value_table, _gst_value_list_value_table):
8390         Update value table functions.
8391         (gst_value_compare_list_or_array): Renamed from compare_list.
8392
8393         * gsttaglist.h: Whoops, foreach function returns void. Also fix
8394         some constness.
8395
8396         * gst/gsttaglist.c:
8397         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
8398         GstTagList*. Fixes #143472.
8399
8400         * gst/gststructure.h: Clarify what the foreach/map functions can
8401         or can't do to their arguments.
8402
8403 2005-11-18  Wim Taymans  <wim@fluendo.com>
8404
8405         * gst/gstclock.c: (gst_clock_set_calibration),
8406         (gst_clock_get_calibration):
8407         Doc and API fixes.
8408         Calibration can be set with internal time equal to current
8409         internal time too.
8410
8411 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8412
8413         * gst/gsterror.c:
8414         * gst/gsterror.h:
8415           document
8416
8417 2005-11-18  Andy Wingo  <wingo@pobox.com>
8418
8419         * configure.ac: 
8420         * pkgconfig/gstreamer-net.pc.in:
8421         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8422         * pkgconfig/Makefile.am: Add net pkgconfig files.
8423
8424 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
8425
8426         * gst/gstcaps.c:
8427         * gst/gstghostpad.c:
8428         * gst/gsttrace.c:
8429         * gst/gstvalue.c:
8430         * gst/gstvalue.h:
8431           docs fixes
8432
8433 2005-11-18  Andy Wingo  <wingo@pobox.com>
8434
8435         * gst/net/gstnetclientclock.c: Turn off debugging.
8436
8437         * check/net/gstnetclientclock.c (test_functioning): Assert that the
8438         times connverge somewhat. Can't make a real test.
8439
8440         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
8441         integer arithmetic. Return the minimum of the domain, which can be
8442         set as "internal" for gst_clock_set_calibration.
8443         (gst_net_client_clock_observe_times): Call _set_calibration.
8444         (gst_net_client_clock_new): Call _set_calibration instead of
8445         rate_offset.
8446
8447         * check/net/gstnetclientclock.c (test_functioning): Use the right
8448         adjustment api.
8449
8450         * gst/gstclock.h:
8451         * gst/gstclock.c (gst_clock_get_calibration) 
8452         (gst_clock_set_calibration): New functions, obsolete the ones I
8453         added yesterday. Doh. Precision issues mean we have to extrapolate
8454         from a point in the more recent past than 1970.
8455         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
8456         obsolete.
8457         (gst_clock_adjust_unlocked): Use the right calibration data.
8458
8459 2005-11-18  Edward Hervey  <edward@fluendo.com>
8460
8461         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
8462         Also reset the ->current_* values in READY->PAUSED
8463
8464 2005-11-18  Andy Wingo  <wingo@pobox.com>
8465
8466         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
8467         Whoops, check the right fd. Also add some debugging.
8468         (gst_net_client_clock_observe_times): Adjust for int64 offset.
8469         (do_linear_regression): Add a crapload of debugging. Subtract off
8470         the minimum values from the input series to discard unneeded bits.
8471         Use only int arithmetic. There is still double arithmetic when
8472         calculating the intercept that needs fixing. Return boolean to
8473         indicate success; FALSE would mean the domain or range is too
8474         great. Still needs fixes.
8475
8476 2005-11-18  Wim Taymans  <wim@fluendo.com>
8477
8478         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8479         For the current position in stream time, we need to subtract
8480         accumulated time.
8481         
8482         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8483         Release lock before calling the callback function of async
8484         entries.
8485
8486 2005-11-18  Andy Wingo  <wingo@pobox.com>
8487
8488         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
8489         Port goes all the way to MAXUINT16.
8490
8491         * gst/net/gstnettimeprovider.c: Make the port range the same as
8492         for the kernel: 0 assigns, otherwise ports are less than
8493         MAXUINT16.
8494
8495         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
8496         port change.
8497
8498         * check/net/gstnetclientclock.c (test_functioning): Add the start
8499         of another test. 
8500
8501 2005-11-18  Wim Taymans  <wim@fluendo.com>
8502
8503         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8504         (gst_bin_remove_func), (bin_bus_handler):
8505         * gst/gstbin.h:
8506         Removing a clock provider from a bin, triggers a clock lost message
8507         so that a new clock will be selected.
8508         Adding a clock to a bin triggers a clock provider message.
8509         Make sure we reselect a clock when we received a clock lost message.
8510         Keep a reference to the element that provided the clock.
8511
8512 2005-11-18  Andy Wingo  <wingo@pobox.com>
8513
8514         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
8515         the clock initially so it produces values around the base time.
8516         (gst_net_client_clock_class_init): Typo fix.
8517         (gst_net_client_clock_thread): Add note on when the socket gets
8518         closed.
8519
8520 2005-11-17  Wim Taymans  <wim@fluendo.com>
8521
8522         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
8523         Free remote and local time arrays.
8524
8525 2005-11-17  Wim Taymans  <wim@fluendo.com>
8526
8527         * gst/net/gstnetclientclock.c: (do_linear_regression),
8528         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
8529         Fix compilation, uninitialized vars and a forgotten continue.
8530
8531 2005-11-17  Andy Wingo  <wingo@pobox.com>
8532
8533         * check/Makefile.am (check_PROGRAMS): 
8534         * check/net/gstnetclientclock.c: Add a most minimal test for the
8535         net client clock. More to come later.
8536
8537         * gst/net/gstnet.h: 
8538         * gst/net/Makefile.am: Add netclientclock.
8539
8540         * gst/net/gstnetclientclock.h:
8541         * gst/net/gstnetclientclock.c: New files, implement an untested
8542         GstClock that takes its time from a network time provider.
8543         Implements the algorithm in network-clock.scm.
8544
8545         * tests/network-clock.scm (*window-size*): Rename from
8546         *queue-length*.
8547         * tests/network-clock.scm (network-time): 
8548         * tests/network-clock-utils.scm (q-push): Update callers.
8549
8550 2005-11-17  Wim Taymans  <wim@fluendo.com>
8551
8552         * gst/gstbin.c: (gst_bin_provide_clock_func),
8553         (gst_bin_sort_iterator_new):
8554         And unref the child too..
8555
8556 2005-11-17  Wim Taymans  <wim@fluendo.com>
8557
8558         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8559         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
8560         Refactor the sort iterator so it can be used while holding the
8561         LOCK too.
8562         Make clock selection select a clock closest to the source.
8563
8564 2005-11-17  Michael Smith <msmith@fluendo.com>
8565
8566         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
8567         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
8568         * gst/gstclock.h:
8569           Anonymous structs are a gcc (and some other compilers) extension, so
8570           don't use them. Since this is only for ABI-compatibility, and our
8571           API/ABI freeze is over in a few days, this whole thing will only
8572           last a few days, so don't bother trying to think up a meaningful
8573           name for the struct.
8574
8575 2005-11-17  Andy Wingo  <wingo@pobox.com>
8576
8577         * gst/gstclock.h (GstClock): Add rate and offset properties,
8578         preserving ABI stability. Add rate/offset accessors. Will file bug
8579         for the freeze break.
8580
8581         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
8582         and offset, trying to keep precision and avoiding
8583         underflow/overflow.
8584         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
8585         functions. Make gst_clock_set_time_adjust obsolete.
8586         (gst_clock_set_time_adjust): Note that this function is obsolete.
8587         Will file bug soon.
8588
8589         * gst/base/gstbasetransform.h: Make the ABI-stability hack
8590         greppable by using GST_PADDING-1+1.
8591
8592 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
8593
8594         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8595
8596         * gst/gstmessage.c: (gst_message_parse_clock_lost):
8597           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
8598
8599         * gst/gstpadtemplate.h:
8600         * gst/gstpluginfeature.h:
8601           Don't use c++ style comments in headers (#321638).
8602
8603 2005-11-16  Andy Wingo  <wingo@pobox.com>
8604
8605         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
8606         buffer.
8607
8608         * check/net/gstnettimeprovider.c: Check to see that the time
8609         provider actually provides times. Works, yo!
8610
8611 2005-11-16  Wim Taymans  <wim@fluendo.com>
8612
8613         * check/Makefile.am:
8614         Enable more tests.
8615
8616         * check/elements/fakesrc.c: (GST_START_TEST):
8617         Set element to NULL before disposing it.
8618
8619 2005-11-16  Andy Wingo  <wingo@pobox.com>
8620
8621         * gst/net/Makefile.am:
8622         * gst/net/gstnet.h:
8623         * gst/net/gstnettimeprovider.c: 
8624         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
8625         provider, include it from gstnet.h, and add it to the build.
8626
8627         * gst/net/gstnettimepacket.h: 
8628         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
8629         sending and receiving.
8630
8631 2005-11-16  Wim Taymans  <wim@fluendo.com>
8632
8633         * check/Makefile.am:
8634         Enable valgrind check.
8635
8636         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
8637         (gst_fake_src_alloc_buffer):
8638         Fix memleak.
8639
8640 2005-11-16  Wim Taymans  <wim@fluendo.com>
8641
8642         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
8643         Call parent finalize too.
8644
8645 2005-11-16  Wim Taymans  <wim@fluendo.com>
8646
8647         * check/Makefile.am:
8648         Enable valgrind check that should work fine now.
8649
8650         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8651         * gst/gstqueue.c: (gst_queue_init):
8652         Fix memleaks in pad allocation.
8653
8654 2005-11-16  Andy Wingo  <wingo@pobox.com>
8655
8656         * gst/net/Makefile.am:
8657         * gst/net/gstnet.h: New part of core to hold network elements and
8658         objects. Put in core because it exposes API that applications want
8659         to use. The library is named libgstnet-tempname right now because
8660         of the existing libgstnet in gst-plugins-base. Solution is
8661         probably to rename the one in plugins-base; will file a bug for
8662         the freeze break.
8663
8664         * gst/net/gstnettimeprovider.c: 
8665         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
8666         get_time call over the network.
8667
8668         * configure.ac: 
8669         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
8670
8671         * check/Makefile.am:
8672         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
8673         get additions shortly.
8674
8675 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8676
8677         * gst/gstpad.c: (gst_pad_new_from_static_template):
8678         * gst/gstpad.h:
8679           add gst_pad_new_from_static_template functions
8680         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
8681         (gst_check_setup_sink_pad):
8682         * gst/elements/gsttee.c: (gst_tee_init):
8683           and use them
8684
8685 2005-11-16  Wim Taymans  <wim@fluendo.com>
8686
8687         * gst/gstpad.c: (gst_pad_pause_task):
8688         Removed warning, it's not really an error either.
8689
8690 2005-11-16  Wim Taymans  <wim@fluendo.com>
8691
8692         * gst/base/gstbasetransform.c:
8693         (gst_base_transform_prepare_output_buf),
8694         (gst_base_transform_event):
8695         Check if the caps are NULL, this can happen if the element
8696         is shutting down and the pad caps are set to NULL.
8697
8698 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8699
8700         * gst/elements/gsttee.c: (gst_tee_init):
8701           fix pad template leak in tee
8702
8703 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8704
8705         * gst/glib-compat.c: (g_value_dup_gst_object):
8706         * gst/glib-compat.h:
8707         * gst/gstpad.c: (gst_pad_set_property):
8708           use gst_object_ref when setting the pad template; this will
8709           trigger the pad template leaks on GLib 2.6 and the slaves
8710
8711 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8712
8713         * gst/glib-compat.c: (gst_flags_get_first_value):
8714         * gst/glib-compat.h:
8715         * gst/gstregistryxml.c:
8716           remove functions copied from GLib 2.6
8717
8718 2005-11-16  Michael Smith <msmith@fluendo.com>
8719
8720         * gst/Makefile.am:
8721           Don't link against VALGRIND_LIBS. That was always the wrong thing to
8722           do, but only breaks with newer valgrind versions. We're not a
8723           valgrind tool, we have no link-time dependencies on libcoregrind.
8724
8725 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8726
8727         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8728           some debug changes
8729         * gst/gstmessage.h:
8730           typo fixes
8731
8732 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8733
8734         * gst/base/gstbasesrc.c: (gst_base_src_init):
8735         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8736         * gst/gstqueue.c: (gst_queue_init):
8737         * gst/gstregistryxml.c: (load_feature):
8738           Revert all these unrefs, they don't even pass make check !
8739
8740 2005-11-15  Johan Dahlin  <johan@gnome.org>
8741
8742         * gst/base/gstbasesrc.c: (gst_base_src_init):
8743         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8744         * gst/gstqueue.c: (gst_queue_init): 
8745         Free pad templates, fixes a couple of leaks.
8746
8747 2005-11-15  Daniel Fischer  <dan at f3c dot com>
8748
8749         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8750
8751         * gst/gstpad.c: (gst_pad_get_property):
8752           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
8753           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
8754           (#321452)
8755
8756 2005-11-15  Wim Taymans  <wim@fluendo.com>
8757
8758         * gst/gstevent.c:
8759         Small doc update.
8760
8761 2005-11-15  Andy Wingo  <wingo@pobox.com>
8762
8763         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
8764
8765         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
8766         using GST_CLOCK_TIME_NONE to disable base time management.
8767         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
8768         time if it was NONE before.
8769         (gst_pipeline_change_state): Only munge the base time if
8770         stream_time != GST_CLOCK_TIME_NONE.
8771
8772         * check/gst/gstpipeline.c (test_base_time): Punt around the
8773         problem of the probe not being called, because that's not the
8774         issue I'm looking at. Add a check that setting stream_time to NONE
8775         disables base time management.
8776         
8777 2005-11-15  Wim Taymans  <wim@fluendo.com>
8778
8779         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8780         segment_stop == -1 at startup.
8781
8782         * gst/base/gstbasetransform.c: (gst_base_transform_event),
8783         (gst_base_transform_change_state):
8784         Init segment values at start.
8785
8786 2005-11-15  Wim Taymans  <wim@fluendo.com>
8787
8788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8789         0 segment values are 0 in any format.
8790
8791         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8792         * gst/base/gstbasetransform.h:
8793         Parse newsegment correctly in basetransform
8794
8795         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8796         Sync to clock using updated segment values.
8797
8798 2005-11-15  Andy Wingo  <wingo@pobox.com>
8799
8800         * check/gst/gstpipeline.c (test_base_time): Add check that the
8801         base time and stream time are reset correctly.
8802
8803 2005-11-15  Wim Taymans  <wim@fluendo.com>
8804
8805         * docs/design/part-TODO.txt:
8806         Some more TODO items.
8807
8808 2005-11-15  Andy Wingo  <wingo@pobox.com>
8809
8810         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
8811         error if the user selected "no clock" as the clocking method.
8812
8813         * check/gst/gstpipeline.c (test_base_time): New test for buffer
8814         timestamps with live capture.
8815
8816         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
8817         is 0 but we are a live source, timestamp the buffers using the
8818         element's clock.
8819
8820 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
8821
8822         * docs/gst/gstreamer-sections.txt:
8823         * gst/gsterror.c:
8824         * gst/gstghostpad.c:
8825         * gst/gstobject.h:
8826         * gst/gstxml.c:
8827           more section docs
8828
8829 2005-11-14  Wim Taymans  <wim@fluendo.com>
8830
8831         * common/gst.supp:
8832           add suppressions from Wim's Debian machine
8833
8834 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8835
8836         * common/gst.supp:
8837           add suppressions from Andy's AMD64 Ubuntu machine
8838
8839 2005-11-14  Andy Wingo  <wingo@pobox.com>
8840
8841         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
8842         STATE_LOCK not necessary. Fixes #311489.
8843
8844         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
8845         #305291.
8846
8847         * gst/gstindex.c (gst_index_add_object): Note in the docs that
8848         this function is not implemented.
8849
8850 2005-11-14  Julien MOUTTE  <julien@moutte.net>
8851
8852         * gst/base/gstbasetransform.c:
8853         (gst_base_transform_prepare_output_buf):
8854         Ref the source pad caps while we need them.
8855         Fixes (#321386)
8856
8857 2005-11-11  Wim Taymans  <wim@fluendo.com>
8858
8859         * docs/gst/gstreamer-sections.txt:
8860         Added some docs for GstCollectData.
8861
8862         * gst/base/gstadapter.c:
8863         Some small code example fix.
8864
8865         * gst/base/gstcollectpads.c:
8866         * gst/base/gstcollectpads.h:
8867         Document some more.
8868
8869 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8870
8871         * configure.ac: back to HEAD
8872
8873 === release 0.9.5 ===
8874
8875 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
8876
8877         * configure.ac:
8878           releasing 0.9.5, "Bike Lunch Day"
8879
8880 2005-11-11  Wim Taymans  <wim@fluendo.com>
8881
8882         * gst/gstbuffer.c: (_gst_buffer_copy):
8883         Copy more flags.
8884
8885         * gst/gstcaps.c: (gst_caps_is_equal):
8886         Fix some docs.
8887         Make _is_equal fast in the trivial cases.
8888
8889         * gst/gstminiobject.c:
8890         * gst/gstminiobject.h:
8891         More docs. Spifify .h file.
8892
8893         * gst/gstutils.c:
8894         Small doc update.
8895
8896 2005-11-11  Wim Taymans  <wim@fluendo.com>
8897
8898         * gst/base/gstbasetransform.c:
8899         (gst_base_transform_prepare_output_buf),
8900         (gst_base_transform_handle_buffer):
8901         Small cleanups.
8902         If we're processing a buffer and need to allocate an output
8903         buffer, we cannot accept a format change. If we did get a 
8904         format change, we have to alloc a buffer ourselves of the 
8905         right size.
8906
8907 2005-11-11  Wim Taymans  <wim@fluendo.com>
8908
8909         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
8910         While checking the flag for reentrancy in the gstcaps function
8911         is nice to detect recursive invocations, it also makes it 
8912         impossible to call getcaps from multiple threads, which must be
8913         possible. So, checking for recursive calls has to go.
8914
8915 2005-11-11  Michael Smith <msmith@fluendo.com>
8916
8917         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8918           Don't sync on buffers that fall partially outside our current
8919           segment. Prevents an assertion failure/abort playing some files.
8920
8921 2005-11-10  Andy Wingo  <wingo@pobox.com>
8922
8923         * check/gst/gstbin.c (test_message_state_changed_children): Style
8924         fix..
8925
8926         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8927         gst_bus_poll with the signal watch. Ensures that poll and a signal
8928         watch see the same messages.
8929
8930         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8931         a poll and a watch at the same time get the same messages.
8932
8933 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8934
8935         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8936         * gst/gstcaps.c: (gst_caps_intersect):
8937           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8938           and it's not needed.
8939
8940 2005-11-10  Wim Taymans  <wim@fluendo.com>
8941
8942         * docs/design/part-TODO.txt:
8943         Updated todo.
8944
8945 2005-11-10  Wim Taymans  <wim@fluendo.com>
8946
8947         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8948         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8949         (gst_base_src_do_sync), (gst_base_src_get_range):
8950         Implement clock sync in base class.
8951
8952 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8953
8954         patch by: Tim-Philipp Müller <tim at centricular dot net>
8955
8956         * gst/gststructure.c: (gst_structure_parse_field),
8957         (gst_structure_from_string):
8958           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8959           so that gst_parse_launch() can deal with spaces in filtered link
8960           caps (fixes #164479)
8961         * check/gst/capslist.h:
8962         * check/gst/gststructure.c: (GST_START_TEST):
8963           add unit tests for this change
8964
8965 2005-11-10  Wim Taymans  <wim@fluendo.com>
8966
8967         * docs/gst/gstreamer-sections.txt:
8968         * gst/gstelement.c:
8969         * gst/gstelement.h:
8970         Fix docs, move some STATE macros to private.
8971
8972 2005-11-10  Wim Taymans  <wim@fluendo.com>
8973
8974         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8975         Added check for bug #317341
8976
8977         * gst/gstbuffer.c:
8978         * gst/gstbuffer.h:
8979         Some more spiffifying.
8980
8981         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8982         Call peer linkfunction if we are a source pad. Totally fixes
8983         #317341
8984
8985         * gst/gstpad.c:
8986         Update docs, source pads should call the peer linkfunction
8987         so they can atomically perform the pad link.
8988
8989 2005-11-09  Wim Taymans  <wim@fluendo.com>
8990
8991         * gst/gstbuffer.c:
8992         * gst/gstbuffer.h:
8993         Uber-spiffy-spiffify some more.
8994
8995 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8996
8997         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8998         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8999         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9000         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9001         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9002         * gst/gstpad.c: (gst_pad_init):
9003           Use GST_DEBUG_FUNCPTR() more extensively.
9004
9005 2005-11-09  Wim Taymans  <wim@fluendo.com>
9006
9007         * gst/gstobject.c: (gst_object_class_init):
9008         * gst/gstobject.h:
9009         Documentation fixes.
9010
9011 2005-11-09  Edward Hervey  <edward@fluendo.com>
9012
9013         * gst/gsttypefindfactory.c:
9014         Fix docs.
9015         
9016 2005-11-09  Edward Hervey  <edward@fluendo.com>
9017
9018         * gst/base/gsttypefindhelper.c:
9019         * gst/gsttypefind.c:
9020         * gst/gsttypefind.h:
9021         Fix docs.
9022
9023 2005-11-09  Wim Taymans  <wim@fluendo.com>
9024
9025         * gst/gstiterator.c:
9026         Fix revision data.
9027
9028         * gst/gsttask.c:
9029         * gst/gsttask.h:
9030         Fix docs.
9031
9032 2005-11-09  Wim Taymans  <wim@fluendo.com>
9033
9034         * gst/gstevent.h:
9035         * gst/gsturi.h:
9036         Fix docs.
9037
9038 2005-11-09  Wim Taymans  <wim@fluendo.com>
9039
9040         * docs/gst/gstreamer-sections.txt:
9041         Moved the message async delivery private lock and cond
9042         to the private section.
9043
9044         * gst/gstmessage.c:
9045         * gst/gstmessage.h:
9046         Fixed docs.
9047
9048 2005-11-09  Edward Hervey  <edward@fluendo.com>
9049
9050         * docs/gst/gstreamer-sections.txt:
9051         * gst/gsturi.c:
9052         * gst/gsturi.h:
9053         Document GstURIHandler
9054
9055 2005-11-09  Wim Taymans  <wim@fluendo.com>
9056
9057         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9058         (gst_iterator_find_custom):
9059         * gst/gstiterator.h:
9060         Fix iterator docs.
9061
9062 2005-11-09  Wim Taymans  <wim@fluendo.com>
9063
9064         * gst/gstbin.h:
9065         Document another field.
9066
9067         * gst/gststructure.c:
9068         * gst/gststructure.h:
9069         Document.
9070
9071 2005-11-09  Wim Taymans  <wim@fluendo.com>
9072
9073         * gst/gstbin.h:
9074         Documented structs.
9075
9076 2005-11-09  Wim Taymans  <wim@fluendo.com>
9077
9078         * docs/gst/gstreamer-sections.txt:
9079         Added some new macros.
9080
9081         * gst/gstclock.c:
9082         * gst/gstclock.h:
9083         * gst/gstobject.h:
9084         Docs updates.
9085
9086 2005-11-09  Wim Taymans  <wim@fluendo.com>
9087
9088         * docs/design/part-TODO.txt:
9089         Some more items for the TODO
9090
9091         * gst/gstcaps.c:
9092         * gst/gstcaps.h:
9093         Document GstCaps.
9094
9095 2005-11-09  Andy Wingo  <wingo@pobox.com>
9096
9097         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9098         to work on something else now tho...
9099
9100         * gst/base/gstadapter.c: More adapter docs.
9101
9102         * gst/elements/gstfilesink.c (gst_file_sink_start) 
9103         (gst_file_sink_stop): New functions, replace the state change
9104         handler.
9105         (gst_file_sink_class_init): Hook up the start and stop functions.
9106         (gst_file_sink_base_init): Don't set the state change handler any
9107         more. It was a bit ugly too, being set from here...
9108         (gst_file_sink_get_property, gst_file_sink_set_property):
9109         Cleanups...
9110         (gst_file_sink_set_location): More robust check that doesn't call
9111         GST_STATE. Ugggggg.
9112
9113 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9114
9115         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9116           Hold STREAM_LOCK while pushing newsegment or tag events as well.
9117
9118 2005-11-08  Wim Taymans  <wim@fluendo.com>
9119
9120         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9121         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9122         (gst_base_sink_chain), (gst_base_sink_change_state):
9123         * gst/base/gstbasesink.h:
9124         * gst/base/gstbasesrc.h:
9125         * gst/gstelement.h:
9126         * gst/gstevent.h:
9127         Avoid excessive typechecking in macros.
9128
9129         * gst/gstminiobject.c: (gst_mini_object_get_type),
9130         (gst_mini_object_init), (gst_mini_object_new),
9131         (gst_mini_object_free):
9132         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9133         (gst_object_finalize):
9134         Remove cruft code, optimize alloc_trace.
9135
9136 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9137
9138         * docs/faq/gst-uninstalled:
9139           fix up PS1 for systems that try to reset it
9140
9141 2005-11-07  Wim Taymans  <wim@fluendo.com>
9142
9143         * gst/base/gstbasesrc.c: (gst_base_src_init),
9144         (gst_base_src_get_range):
9145         Set the segment_end to -1 initially. Fixed typefind.
9146
9147 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9148
9149         * gst/base/gstadapter.c:
9150           Debug category should be 'adapter', not 'GstAdapter'.
9151           
9152         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
9153         (gst_collectpads_class_init), (gst_collectpads_init),
9154         (gst_collectpads_peek), (gst_collectpads_pop),
9155         (gst_collectpads_event), (gst_collectpads_chain):
9156           Add debug category and some debugging output. Use boilerplate
9157           macros. Remove some extraneous words from docs.
9158
9159 2005-11-05  Andy Wingo  <wingo@pobox.com>
9160
9161         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
9162         macro.
9163
9164 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9165
9166         * docs/gst/gstreamer-sections.txt:
9167         * gst/gstcaps.h:
9168         * gst/gstinfo.c:
9169         * gst/gstminiobject.h:
9170         * gst/gstobject.h:
9171         * gst/gstutils.h:
9172           more docs added
9173
9174 2005-11-04  Wim Taymans  <wim@fluendo.com>
9175
9176         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9177         Small update to stop at the configured segment_end
9178         position.
9179
9180 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9181
9182         * gst/gstregistry.c:
9183         * gst/gstregistry.h:
9184           added missing docs
9185
9186 2005-11-04  Edward Hervey  <edward@fluendo.com>
9187
9188         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9189         Check if we are doing a segment seek and have arrived at the
9190         end of that segment.
9191
9192 2005-11-04  Wim Taymans  <wim@fluendo.com>
9193
9194         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
9195         Don't leak a mutex unlock in case of an error.
9196
9197         * gst/gstbus.h:
9198         Doc fixes.
9199
9200 2005-11-04  Wim Taymans  <wim@fluendo.com>
9201
9202         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
9203         (gst_bus_post):
9204         Get the context to wake up only once.
9205
9206 2005-11-03  Wim Taymans  <wim@fluendo.com>
9207
9208         * check/states/sinks.c: (GST_START_TEST):
9209         Uncomment fixed check.
9210
9211         * docs/design/part-TODO.txt:
9212         Updated TODO.
9213
9214         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9215         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9216         (gst_base_sink_get_position):
9217         If we are going to PLAYING, post the right pending state
9218         when we post the intermediate paused message.
9219
9220         * gst/gstelement.c: (gst_element_continue_state),
9221         (gst_element_set_state_func), (gst_element_change_state):
9222         Don't post state changes that were between the same state
9223         and were not ASYNC.
9224
9225 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9226
9227         * docs/gst/gstreamer-sections.txt:
9228         * gst/gstcaps.h:
9229         * gst/gstinfo.c:
9230         * gst/gstminiobject.h:
9231         * gst/gstobject.h:
9232         * gst/gstutils.h:
9233           more docs and doc style fixes
9234
9235 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9236
9237         * docs/gst/gstreamer-sections.txt:
9238         * gst/gstelement.c:
9239         * gst/gstminiobject.c:
9240         doc fixes
9241
9242 2005-11-03  Andy Wingo  <wingo@pobox.com>
9243
9244         * check/states/sinks.c (test_livesrc_sink): Add checks that the
9245         state-changed messages actually have the right order and the right
9246         values.
9247
9248 2005-11-03  Wim Taymans  <wim@fluendo.com>
9249
9250         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9251         Added some more checks. Specifically the case where NO_PREROLL
9252         elements are in the pipeline.
9253
9254         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9255         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9256         (gst_base_sink_get_position):
9257         Post READY->PAUSED state change messages too.
9258         Fix bug where VOID was posted as pending state...
9259
9260         * gst/gstbin.c: (gst_bin_recalc_state):
9261         use _element_continue_state() to continue the state change.
9262
9263         * gst/gstelement.c: (gst_element_continue_state),
9264         (gst_element_commit_state), (gst_element_set_state_func),
9265         (gst_element_change_state), (gst_element_change_state_func):
9266         Lots of state change cleanups, assign the STATE_RETURN in
9267         a new continue_state() function that also propagates the
9268         last return value from a state change to the app.
9269         Update some debug statements with proper category.
9270
9271 2005-11-03  Wim Taymans  <wim@fluendo.com>
9272
9273         * docs/design/part-events.txt:
9274         * docs/design/part-gstpipeline.txt:
9275         * docs/design/part-messages.txt:
9276         * docs/design/part-overview.txt:
9277         * docs/design/part-seeking.txt:
9278         * docs/design/part-states.txt:
9279         * docs/design/part-trickmodes.txt:
9280         * docs/manual/advanced-position.xml:
9281         Small docs updates.
9282
9283         * gst/gstobject.h:
9284         People think !! is ugly, this looks better.
9285
9286         * gst/gstpad.c: (gst_pad_set_blocked_async):
9287         Remove !! since it's fixed elsewhere now.
9288
9289 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9290
9291         * gst/gstminiobject.h:
9292         * gst/gstobject.h:
9293           Add !! to _FLAG_IS_SET macros to make the result boolean.
9294
9295 2005-11-03  Edward Hervey  <edward@fluendo.com>
9296
9297         * gst/gstpad.c: (gst_pad_set_blocked_async):
9298         comparing a flag and a gboolean rarely returns coherent results...
9299         Added two characters (!!) to make that work correctly.
9300         
9301 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9302
9303         * gst/gstbus.c: (gst_bus_class_init):
9304           Fix some typos.
9305           
9306         * gst/gstqueue.c: (gst_queue_loop):
9307           Don't assume a miniobject that isn't a buffer is an
9308           event (it could be that there is a refcounting
9309           problem somewhere and the pointer is stale and
9310           refers to an already destroyed miniobject).
9311
9312 2005-11-03  Julien MOUTTE  <julien@moutte.net>
9313
9314         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
9315
9316 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9317
9318         * docs/manual/advanced-position.xml:
9319           Update seek example and explanations to current 0.9 API.
9320
9321         * gst/elements/gsttypefindelement.c:
9322         (gst_type_find_element_activate):
9323           Remove FIXME comment now that the found caps
9324           are unreffed.
9325
9326 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9327
9328         * gst/gstregistryxml.c: (load_feature):
9329           Add another GST_STR_NULL instance
9330
9331 2005-11-02  Edward Hervey  <edward@fluendo.com>
9332
9333         * gst/gstpad.c: (handle_pad_block):
9334         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
9335         
9336 2005-11-02  Wim Taymans  <wim@fluendo.com>
9337
9338         * gst/gstbin.c:
9339         Fix typo in docs.
9340
9341         * gst/gstelement.c: (gst_element_commit_state):
9342         Remove unused value.
9343
9344         * gst/gstiterator.c:
9345         Mention that the returned element is reffed in the docs.
9346
9347 2005-11-02  Wim Taymans  <wim@fluendo.com>
9348
9349         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
9350         (gst_pad_push), (gst_pad_push_event):
9351         Unlock blocked pads when they are flushed.
9352
9353 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9354
9355         * docs/README:
9356         * docs/gst/gstreamer-sections.txt:
9357         * gst/gstbin.c:
9358           doc updates
9359         * gst/gstregistry.c: (gst_registry_scan_path_level):
9360           fix for a nasty little missed situation where an installed plug-in
9361           which was in the cache did not get overridden by an uninstalled one
9362           which was earlier in the plugin path because the newly created plugin
9363           for the uninstalled one (not in the registry) didn't get its
9364           ->registered set to TRUE
9365
9366 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9367
9368         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
9369         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
9370         (gst_collectpads_is_active), (gst_collectpads_collect),
9371         (gst_collectpads_collect_range), (gst_collectpads_start),
9372         (gst_collectpads_stop), (gst_collectpads_peek),
9373         (gst_collectpads_pop), (gst_collectpads_available),
9374         (gst_collectpads_read), (gst_collectpads_flush):
9375           Guard public API with assertions.
9376         
9377         * gst/gstpad.c:
9378           Fix docs for gst_pad_set_link_function().
9379
9380 2005-11-02  Johan Dahlin  <johan@gnome.org>
9381
9382         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
9383         Unref found_caps after we used it.
9384
9385 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9386
9387         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
9388           Don't try to ref NULL.
9389
9390 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9391
9392         * win32/common/config.h.in:
9393           provide a GST_FUNCTION that just gives a string for now
9394
9395 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9396
9397         * win32/common/gstenumtypes.c: (register_gst_object_flags),
9398         (gst_object_flags_get_type), (register_gst_bin_flags),
9399         (gst_bin_flags_get_type), (register_gst_buffer_flag),
9400         (gst_buffer_flag_get_type), (register_gst_bus_flags),
9401         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
9402         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
9403         (gst_clock_return_get_type), (register_gst_clock_entry_type),
9404         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
9405         (gst_clock_flags_get_type), (register_gst_state),
9406         (gst_state_get_type), (register_gst_state_change_return),
9407         (gst_state_change_return_get_type), (register_gst_state_change),
9408         (gst_state_change_get_type), (register_gst_element_flags),
9409         (gst_element_flags_get_type), (register_gst_core_error),
9410         (gst_core_error_get_type), (register_gst_library_error),
9411         (gst_library_error_get_type), (register_gst_resource_error),
9412         (gst_resource_error_get_type), (register_gst_stream_error),
9413         (gst_stream_error_get_type), (register_gst_event_type),
9414         (gst_event_type_get_type), (register_gst_seek_type),
9415         (gst_seek_type_get_type), (register_gst_seek_flags),
9416         (gst_seek_flags_get_type), (register_gst_format),
9417         (gst_format_get_type), (register_gst_index_certainty),
9418         (gst_index_certainty_get_type), (register_gst_index_entry_type),
9419         (gst_index_entry_type_get_type),
9420         (register_gst_index_lookup_method),
9421         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
9422         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
9423         (gst_index_resolver_method_get_type), (register_gst_index_flags),
9424         (gst_index_flags_get_type), (register_gst_debug_level),
9425         (gst_debug_level_get_type), (register_gst_debug_color_flags),
9426         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
9427         (gst_iterator_result_get_type), (register_gst_iterator_item),
9428         (gst_iterator_item_get_type), (register_gst_message_type),
9429         (gst_message_type_get_type), (register_gst_mini_object_flags),
9430         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
9431         (gst_pad_link_return_get_type), (register_gst_flow_return),
9432         (gst_flow_return_get_type), (register_gst_activate_mode),
9433         (gst_activate_mode_get_type), (register_gst_pad_direction),
9434         (gst_pad_direction_get_type), (register_gst_pad_flags),
9435         (gst_pad_flags_get_type), (register_gst_pad_presence),
9436         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
9437         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
9438         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
9439         (gst_plugin_error_get_type), (register_gst_plugin_flags),
9440         (gst_plugin_flags_get_type), (register_gst_rank),
9441         (gst_rank_get_type), (register_gst_query_type),
9442         (gst_query_type_get_type), (register_gst_tag_merge_mode),
9443         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
9444         (gst_tag_flag_get_type), (register_gst_task_state),
9445         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
9446         (gst_alloc_trace_flags_get_type),
9447         (register_gst_type_find_probability),
9448         (gst_type_find_probability_get_type), (register_gst_uri_type),
9449         (gst_uri_type_get_type), (register_gst_parse_error),
9450         (gst_parse_error_get_type):
9451         * win32/common/gstversion.h:
9452           update win32 copies
9453
9454 2005-11-01  Luca Ognibene  <luogni@tin.it>
9455
9456         * gst/gst.c:
9457           fix docs. popt is dead, long live GOption.
9458
9459 2005-10-31  Wim Taymans  <wim@fluendo.com>
9460
9461         * gst/gstbuffer.h:
9462         Small doc fix.
9463
9464 2005-10-31  Andy Wingo  <wingo@pobox.com>
9465
9466         * Boo!
9467
9468         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
9469
9470         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
9471         need to serialize property notifications on GLib 2.8. GLib 2.6 has
9472         the possibility of deadlocks here if code calling notify() or
9473         set() has a lock that can be taken in another notify handler (ABBA
9474         with class lock and e.g. python GIL state lock).
9475
9476 2005-10-28  Julien MOUTTE  <julien@moutte.net>
9477
9478         * gst/gstbus.c: Doc updates.
9479
9480 2005-10-28  Wim Taymans  <wim@fluendo.com>
9481
9482         * docs/design/part-TODO.txt:
9483         * gst/gstiterator.c:
9484         * gst/gstsystemclock.c:
9485         * gst/gstsystemclock.h:
9486         Doc updates.
9487
9488 2005-10-28  Edward Hervey  <edward@fluendo.com>
9489
9490         * docs/gst/gstreamer-docs.sgml:
9491         * docs/gst/gstreamer-sections.txt:
9492         the GstURIType documentation page is private, it only defines GstURIType
9493         which should be defined in the GstURIHandler page
9494         
9495 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9496
9497         * gst/gstbin.c: (gst_bin_class_init):
9498         * gst/gstbin.h:
9499         * gst/gstutils.c:
9500         Documentation updates.
9501
9502 2005-10-28  Wim Taymans  <wim@fluendo.com>
9503
9504         * docs/gst/gstreamer-sections.txt:
9505         * gst/gstclock.c:
9506         * gst/gstclock.h:
9507         Documented the clocks.
9508
9509 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
9510
9511         * docs/gst/gstreamer-sections.txt:
9512           move some macros to private sections
9513         * gst/gstminiobject.c:
9514         * gst/gstminiobject.h:
9515           add descriptions provided by ds and some more
9516         * gst/gstpad.h:
9517           mark macro as to be removed
9518
9519 2005-10-28  Wim Taymans  <wim@fluendo.com>
9520
9521         * docs/design/part-TODO.txt:
9522         Add an item to TODO.
9523
9524         * gst/gstiterator.c: (gst_iterator_fold),
9525         (gst_iterator_find_custom):
9526         * gst/gstiterator.h:
9527         Add iterator docs.
9528
9529 2005-10-28  Wim Taymans  <wim@fluendo.com>
9530
9531         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9532         (gst_base_transform_init):
9533         Don't leak class.
9534
9535         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
9536         An EOS event marks the queue as completely filled.
9537
9538 2005-10-27  Wim Taymans  <wim@fluendo.com>
9539
9540         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9541         (gst_base_sink_do_sync), (gst_base_sink_get_position):
9542         Some more debugging.
9543
9544         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
9545         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
9546         (gst_base_transform_event), (gst_base_transform_getrange),
9547         (gst_base_transform_chain):
9548         * gst/base/gstbasetransform.h:
9549         Fix debugging,
9550         Protect transform and concurrent buffer alloc with a new lock.
9551         Try not to break ABI/API.
9552
9553 2005-10-27  Wim Taymans  <wim@fluendo.com>
9554
9555         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9556         (gst_base_src_init), (gst_base_src_query),
9557         (gst_base_src_default_newsegment),
9558         (gst_base_src_configure_segment), (gst_base_src_do_seek),
9559         (gst_base_src_send_event), (gst_base_src_event_handler),
9560         (gst_base_src_pad_get_range), (gst_base_src_loop),
9561         (gst_base_src_unlock), (gst_base_src_default_negotiate),
9562         (gst_base_src_start), (gst_base_src_deactivate),
9563         (gst_base_src_activate_push), (gst_base_src_change_state):
9564         Move some stuff around and cleanup things.
9565
9566 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
9567
9568         * gst/base/gstbasesrc.c: (gst_base_src_query):
9569           Add missing break statements.
9570
9571 2005-10-27  Wim Taymans  <wim@fluendo.com>
9572
9573         * check/gst/gstbin.c: (GST_START_TEST):
9574         An extra refcount is taken in basesrc.
9575
9576         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
9577         (gst_base_src_get_range), (gst_base_src_pad_get_range),
9578         (gst_base_src_loop):
9579         Small cleanups, check for flushing after being unlocked from the 
9580         LIVE_LOCK. take refcounts correctly (not yet everywhere).
9581         Don't send out EOS when going to READY.
9582
9583 2005-10-27  Wim Taymans  <wim@fluendo.com>
9584
9585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9586         (gst_base_sink_get_position):
9587         Some more debug.
9588
9589         * gst/gstbin.c: (message_check), (bin_replace_message),
9590         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9591         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9592         (bin_query_duration_init), (bin_query_duration_fold),
9593         (bin_query_duration_done), (bin_query_generic_fold),
9594         (gst_bin_query):
9595         * tools/gst-launch.c: (main):
9596         Remove old option.
9597
9598 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
9599
9600         * examples/controller/audio-example.c: (main):
9601         * examples/queue/queue.c: (event_loop):
9602         * gst/base/gstbasetransform.h:
9603         * gst/gstelement.c: (gst_element_send_event):
9604         * gst/gstevent.h:
9605         * gst/gstpad.c: (gst_pad_send_event):
9606           fixing examples
9607           fixing docs typos
9608           changing log priority in error situations
9609
9610 2005-10-25  Wim Taymans  <wim@fluendo.com>
9611
9612         * gst/gstbin.c: (message_check), (bin_replace_message),
9613         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9614         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9615         (bin_query_duration_init), (bin_query_duration_fold),
9616         (bin_query_duration_done), (bin_query_generic_fold),
9617         (gst_bin_query):
9618         Some doc and debug updates.
9619         Cache previously requested query DURATION for speed. invalidate
9620         cached duration if element posts a DURATION message.
9621
9622 2005-10-25  Wim Taymans  <wim@fluendo.com>
9623
9624         * docs/design/part-TODO.txt:
9625         Update TODO.
9626
9627         * gst/gstbin.c: (message_check), (bin_replace_message),
9628         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9629         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9630         (bin_query_duration_init), (bin_query_duration_fold),
9631         (bin_query_duration_done), (bin_query_generic_fold),
9632         (gst_bin_query):
9633         Handle SEGMENT_START/DONE messages correctly.
9634         More evolved query algorithm that handles duration queries
9635         correctly.
9636
9637         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
9638         (gst_element_get_state_func), (gst_element_abort_state),
9639         (gst_element_commit_state), (gst_element_lost_state):
9640         Some more debugging.
9641
9642         * gst/gstmessage.h:
9643         Added doc.
9644
9645 2005-10-25  Wim Taymans  <wim@fluendo.com>
9646
9647         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9648         Don't use invalid stream_time.
9649
9650         * gst/gstevent.c: (gst_event_new_newsegment):
9651         stream_time in newsegment cannot be undefined.
9652
9653 2005-10-24  Wim Taymans  <wim@fluendo.com>
9654
9655         * gst/gstbus.c:
9656         Doc fix.
9657
9658         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9659         (gst_queue_loop):
9660         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
9661
9662 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
9663
9664         * docs/libs/tmpl/gstdparam.sgml:
9665         * docs/libs/tmpl/gstdplinint.sgml:
9666         * docs/libs/tmpl/gstdpman.sgml:
9667         * docs/libs/tmpl/gstdpsmooth.sgml:
9668         * docs/libs/tmpl/gstunitconvert.sgml:
9669           these are obsolete
9670
9671 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9672
9673         * configure.ac:
9674           back to HEAD
9675
9676 === release 0.9.4 ===
9677
9678 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9679
9680         * configure.ac:
9681           releasing 0.9.4, "Tyrannosaurus Rex"
9682
9683 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
9684
9685         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9686         (gst_file_sink_get_current_offset):
9687           Use fseeko() and ftello() if available. When falling back on
9688           lseek() to get the current offset, fflush() first to make sure
9689           everything is up-to-date and we get the right offset.
9690
9691 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9692
9693         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9694         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9695         * gst/gsterror.c: (_gst_stream_errors_init):
9696         * gst/gsterror.h:
9697         * gst/gstqueue.c: (gst_queue_loop):
9698         * po/POTFILES.in:
9699           remove prematurely added error category and clean up the instances
9700
9701 2005-10-21  Wim Taymans  <wim@fluendo.com>
9702
9703         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9704         (gst_base_sink_get_position), (gst_base_sink_query),
9705         (gst_base_sink_change_state):
9706         Simply set the right flag when going to playing, that's all
9707         we need to do instead of calling a function inside the object
9708         lock (that could take the lock as well and deadlock)
9709
9710 2005-10-21  Wim Taymans  <wim@fluendo.com>
9711
9712         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
9713         (gst_base_src_loop):
9714         Don't warn, the peer element knows what to do best when
9715         the seek failed, it might try something else.
9716
9717 2005-10-21  Wim Taymans  <wim@fluendo.com>
9718
9719         * gst/base/gstbasesrc.c: (gst_base_src_init),
9720         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9721         Fix seeking.
9722
9723 2005-10-21  Wim Taymans  <wim@fluendo.com>
9724
9725         * docs/design/part-segments.txt:
9726         More docs.
9727
9728         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9729         Correctly set caps, even on the subbufer.
9730
9731 2005-10-21  Wim Taymans  <wim@fluendo.com>
9732
9733         * docs/gst/gstreamer-docs.sgml:
9734         * docs/gst/gstreamer-sections.txt:
9735         * gst/gstelement.h:
9736         * gst/gstevent.c:
9737         * gst/gstevent.h:
9738         * gst/gstmessage.h:
9739         * gst/gstpad.h:
9740         * gst/gstparse.h:
9741         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
9742         * gst/gsttask.h:
9743         * gst/gstutils.c:
9744         * gst/gstutils.h:
9745         And 2% more doc coverage.
9746
9747 2005-10-21  Andy Wingo  <wingo@pobox.com>
9748
9749         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
9750         position reporting.
9751
9752 2005-10-20  Wim Taymans  <wim@fluendo.com>
9753
9754         * gst/gsterror.c: (gst_error_get_message):
9755         * gst/gstparse.h:
9756         * gst/gstquery.h:
9757         * gst/gststructure.c:
9758         * gst/gsttrace.c:
9759         * gst/gstutils.c:
9760         More docs.
9761
9762 2005-10-20  Wim Taymans  <wim@fluendo.com>
9763
9764         * gst/gstbuffer.h:
9765         * gst/gstpad.c:
9766         * gst/gstparse.c:
9767         Another 1% more coverage.
9768
9769 2005-10-20  Wim Taymans  <wim@fluendo.com>
9770
9771         * docs/gst/gstreamer-sections.txt:
9772         * gst/gstelement.c: (gst_element_get_state_func),
9773         (gst_element_abort_state), (gst_element_commit_state),
9774         (gst_element_lost_state):
9775         * gst/gstevent.h:
9776         * gst/gstquery.c: (gst_query_set_position),
9777         (gst_query_parse_position), (gst_query_set_duration),
9778         (gst_query_parse_duration), (gst_query_new_convert):
9779         * gst/gstutils.c:
9780         Yay! 1% more docs coverage.
9781
9782 2005-10-20  Wim Taymans  <wim@fluendo.com>
9783
9784         * gst/gstpad.h:
9785         * gst/gstquery.c: (gst_query_set_position),
9786         (gst_query_parse_position), (gst_query_set_duration),
9787         (gst_query_parse_duration), (gst_query_new_convert):
9788         * gst/gstquery.h:
9789         * gst/gstutils.c: (gst_element_query_convert):
9790         * gst/gstutils.h:
9791         Docs and consistency fixes.
9792
9793 2005-10-20  Wim Taymans  <wim@fluendo.com>
9794
9795         * gst/gsttask.c:
9796         * gst/gsttask.h:
9797         More docs.
9798
9799 2005-10-20  Wim Taymans  <wim@fluendo.com>
9800
9801         * gst/gstbin.c: (message_check), (bin_replace_message),
9802         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9803         (update_degree), (gst_bin_sort_iterator_next),
9804         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
9805         Reworked the message handling a bit, cache the messages instead of
9806         only the senders. alows us to do more in the future.
9807
9808 2005-10-20  Wim Taymans  <wim@fluendo.com>
9809
9810         * docs/design/part-TODO.txt:
9811         Update TODO
9812
9813         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9814         (gst_base_sink_query):
9815         Don't use clock time to report position when in EOS.
9816
9817 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
9818
9819         * tools/gst-inspect.c: (print_interfaces),
9820         (print_element_properties_info), (print_element_info):
9821           Fix interface output with gst-inspect -a; don't print
9822           newlines after double/float properties.
9823
9824 2005-10-20  Wim Taymans  <wim@fluendo.com>
9825
9826         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9827         (gst_base_sink_query):
9828         Speed up current position calculation.
9829
9830         * gst/base/gstbasesrc.c: (gst_base_src_query),
9831         (gst_base_src_default_newsegment):
9832         Correctly set stream position in newsegment.
9833
9834         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
9835         (update_degree), (gst_bin_sort_iterator_next),
9836         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
9837         * gst/gstmessage.c: (gst_message_new_custom):
9838         Clean up debugging info
9839
9840         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9841         (gst_queue_loop), (gst_queue_handle_src_query):
9842         Pause task faster.
9843
9844 2005-10-19  Wim Taymans  <wim@fluendo.com>
9845
9846         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9847         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9848         Fix query handling again.
9849
9850 2005-10-19  Wim Taymans  <wim@fluendo.com>
9851
9852         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9853         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9854         * gst/base/gstbasesrc.c: (gst_base_src_query):
9855         * gst/elements/gstfilesink.c: (gst_file_sink_query):
9856         * gst/elements/gsttypefindelement.c:
9857         (gst_type_find_handle_src_query), (find_element_get_length),
9858         (gst_type_find_element_activate):
9859         API change fix.
9860
9861         * gst/gstquery.c: (gst_query_new_position),
9862         (gst_query_set_position), (gst_query_parse_position),
9863         (gst_query_new_duration), (gst_query_set_duration),
9864         (gst_query_parse_duration), (gst_query_set_segment),
9865         (gst_query_parse_segment):
9866         * gst/gstquery.h:
9867         Bundling query position/duration is not a good idea since duration
9868         does not change much and we don't want to recalculate it for every
9869         position query, so they are separated again..
9870         Base value in segment query is not needed.
9871
9872         * gst/gstqueue.c: (gst_queue_handle_src_query):
9873         * gst/gstutils.c: (gst_element_query_position),
9874         (gst_element_query_duration), (gst_pad_query_position),
9875         (gst_pad_query_duration):
9876         * gst/gstutils.h:
9877         Updates for query API change.
9878         Added some docs here and there.
9879
9880 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9881
9882         * check/gst/gstbin.c: (GST_START_TEST):
9883         * check/gst/gstghostpad.c: (GST_START_TEST):
9884         * check/pipelines/cleanup.c: (GST_START_TEST):
9885           wait on thread to die so we can check refcount correctly
9886
9887 2005-10-18  Wim Taymans  <wim@fluendo.com>
9888
9889         * check/pipelines/stress.c: (GST_START_TEST):
9890         Make check a little more time consuming.
9891
9892 2005-10-18  Wim Taymans  <wim@fluendo.com>
9893
9894         * check/Makefile.am:
9895         * check/pipelines/stress.c: (GST_START_TEST),
9896         (simple_launch_lines_suite), (main):
9897         Small state change torture test.
9898
9899         * docs/design/part-states.txt:
9900         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9901         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
9902         (gst_base_sink_change_state):
9903         Never take state lock from streaming thread, clean up ugly
9904         hacks. Unfortunatly core does not yet support nice ways to
9905         async commit state.
9906         
9907         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
9908         (bin_bus_handler):
9909         Start state recalc if a STATE_DIRTY message is posted, but only
9910         on the toplevel bin.
9911
9912         * gst/gstelement.c: (gst_element_sync_state_with_parent),
9913         (gst_element_get_state_func), (gst_element_abort_state),
9914         (gst_element_commit_state), (gst_element_lost_state),
9915         (gst_element_set_state_func), (gst_element_change_state):
9916         * gst/gstelement.h:
9917         State variables are now protected with the LOCK, the state
9918         lock is only used to serialize _set_state().
9919
9920 2005-10-18  Wim Taymans  <wim@fluendo.com>
9921
9922         * check/gst/gstbin.c: (GST_START_TEST):
9923         * check/gst/gstmessage.c: (GST_START_TEST):
9924         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9925         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
9926         (bin_bus_handler):
9927         * gst/gstelement.c: (gst_element_abort_state),
9928         (gst_element_commit_state), (gst_element_lost_state):
9929         * gst/gstmessage.c: (gst_message_new_state_changed),
9930         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9931         (gst_message_new_segment_done), (gst_message_new_duration),
9932         (gst_message_parse_state_changed),
9933         (gst_message_parse_segment_start),
9934         (gst_message_parse_segment_done), (gst_message_parse_duration):
9935         * gst/gstmessage.h:
9936         * tools/gst-launch.c: (event_loop):
9937         Seriously, this is better than a previous commit as we only need
9938         to notify the fact that an element changed state in a streaming
9939         thread, marking the state of the parents dirty, hence the 
9940         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9941         message.
9942
9943 2005-10-18  Wim Taymans  <wim@fluendo.com>
9944
9945         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9946         (gst_bin_recalc_func):
9947         * gst/gstelement.c: (gst_element_set_clock),
9948         (gst_element_abort_state), (gst_element_lost_state):
9949         Cleanups, prepare for state change fixes.
9950
9951 2005-10-18  Wim Taymans  <wim@fluendo.com>
9952
9953         * gst/gstbin.h:
9954         * gst/gstelement.c: (gst_element_class_init),
9955         (gst_element_set_state), (gst_element_set_state_func):
9956         * gst/gstelement.h:
9957         Pending ABI changes.
9958         GThreadPool in GstBinClass to monitor async state changes.
9959         state_cookie in GstElement to detect concurrent gst/set state.
9960         set_state is now virtual too in case a very complicated element
9961         has to be constructed.
9962
9963 2005-10-18  Wim Taymans  <wim@fluendo.com>
9964
9965         * check/gst/gstbin.c: (GST_START_TEST):
9966         * check/gst/gstmessage.c: (GST_START_TEST):
9967         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9968         * gst/gstbin.c: (bin_bus_handler):
9969         * gst/gstelement.c: (gst_element_commit_state),
9970         (gst_element_lost_state):
9971         * gst/gstmessage.c: (gst_message_new_state_changed),
9972         (gst_message_new_segment_start), (gst_message_new_segment_done),
9973         (gst_message_new_duration), (gst_message_parse_state_changed),
9974         (gst_message_parse_segment_start),
9975         (gst_message_parse_segment_done), (gst_message_parse_duration):
9976         * gst/gstmessage.h:
9977         * tools/gst-launch.c: (event_loop):
9978         Make messages future proof.
9979         state-change gets a flag if it was a message comming from the
9980         streaming thread.
9981         segment-start/stop can also be specified in other formats.
9982         A message to notify an app that a pipeline changed playback 
9983         duration.
9984         Also fix a GstMessage leak in -launch
9985
9986 2005-10-18  Andy Wingo  <wingo@pobox.com>
9987
9988         * gst/gstelement.c (gst_element_dispose): More helpful message.
9989
9990 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9991
9992         reviewed by: <delete if not using a buddy>
9993
9994         * common/gtk-doc.mak:
9995
9996 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9997
9998         * gst/gstregistry.c: (gst_registry_scan_path_level):
9999           unref a plug-in we get that was already initialized
10000
10001 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10002
10003         * docs/gst/gstreamer-sections.txt:
10004         * docs/libs/gstreamer-libs-sections.txt:
10005         * gst/gstelement.h:
10006           add new api entries
10007           hide internal macro
10008
10009 2005-10-17  Andy Wingo  <wingo@pobox.com>
10010
10011         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10012         cleanup.
10013
10014         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10015
10016         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10017
10018         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10019         (gst_element_get_state_func): Better debug message.
10020         (gst_element_commit_state): s/INFO/DEBUG/.
10021         (gst_element_lost_state, gst_element_change_state): 
10022
10023         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10024         (gst_message_new_custom): s/INFO/LOG/.
10025
10026 2005-10-17  Michael Smith <msmith@fluendo.com>
10027
10028         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10029           Check if end time is valid using end time, not start time.
10030
10031 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10032
10033         * check/gst-libs/controller.c: (GST_START_TEST),
10034         (gst_controller_suite):
10035         * libs/gst/controller/gstcontroller.c:
10036         (gst_controlled_property_set_interpolation_mode):
10037         * libs/gst/controller/gstcontroller.h:
10038         * libs/gst/controller/gstinterpolation.c:
10039         * testsuite/controller/.cvsignore:
10040         * testsuite/controller/Makefile.am:
10041         * testsuite/controller/interpolator.c:
10042           merge controller testsuites
10043           fix broken tests
10044           remove mem-chunk from docs
10045
10046 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10047
10048         * gst/gstmemchunk.c:
10049         * gst/gstmemchunk.h:
10050         * gst/gsttrashstack.c:
10051         * gst/gsttrashstack.h:
10052           out.  get out.  you're fired.  to the Attic !
10053
10054 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10055
10056         * gst/gstcaps.c: (gst_caps_intersect):
10057           fix signedness issues in a (hopefully) correct way
10058         * gst/gstelement.c: (gst_element_pads_activate):
10059           some debugging
10060         * gst/gstobject.c: (gst_object_set_parent):
10061           some debugging
10062
10063 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10064
10065         * gst/gstvalue.h: Fix prototypes.
10066
10067 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10068
10069         * docs/gst/gstreamer-sections.txt:
10070         * gst/gst.c: (gst_version_string):
10071         * gst/gst.h:
10072         * gst/gstversion.h.in:
10073         * win32/common/libgstreamer.def:
10074           add gst_version_string ()
10075
10076 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10077
10078         * configure.ac:
10079           clean up further
10080         * gst/gst.c: (init_post):
10081         * win32/common/config.h.in:
10082           it's PLUGINDIR now
10083         * gst/gstcaps.c: (gst_caps_intersect):
10084           use gint64, the range could be bigger than a guint
10085
10086 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10087
10088         * gst/gstclock.h:
10089           document potential problem in 2038
10090
10091 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10092
10093         * gst/gstcaps.c: (gst_caps_intersect):
10094           Fix guint j diving under 0
10095
10096 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10097
10098         * configure.ac:
10099         * win32/common/config.h:
10100         * win32/common/config.h.in:
10101           check for process.h, declares getpid() on Windows
10102         * gst/gstinfo.c:
10103           include process.h if we have it
10104         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10105         * gst/gstmemchunk.h:
10106           fix signedness issues
10107         * win32/common/libgstreamer.def:
10108           fix get_type's
10109
10110 2005-10-16  Julien MOUTTE  <julien@moutte.net>
10111
10112         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10113         fix. Because of unsigned ints, caps intersection was going nuts and
10114         trying to access structures with G_MAXUINT index. That fixes
10115         videotestsrc ! ffmpegcolorspace ! fakesink
10116         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
10117         consistency.
10118
10119 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10120
10121         * configure.ac:
10122           use the gettext macro
10123         * gst/elements/gstelements.c:
10124         * gst/gst.c:
10125         * gst/indexers/gstindexers.c:
10126           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
10127         * win32/common/config.h:
10128           updated config.h
10129         * win32/common/config.h.in:
10130           add the template to generate config.h
10131         * win32/common/gstenumtypes.c:
10132         * win32/common/gstversion.h:
10133           updated copies
10134
10135 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10136
10137         * gst/gst.c: (gst_version):
10138         * gst/gstversion.h.in:
10139           add the nano
10140
10141 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10142
10143         * gst/gstevent.h:
10144           Oops, add missing closing bracket.
10145
10146 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10147
10148         * configure.ac:
10149           use common m4's for argument checking
10150
10151 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10152
10153         * docs/gst/gstreamer-sections.txt:
10154         * gst/gstevent.h:
10155           Add GST_EVENT_TYPE_NAME() macro.
10156
10157 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10158
10159         * gst/gstinfo.c:
10160         * gst/gstpluginfeature.c:
10161         * gst/gsttask.c:
10162           privatize more symbols
10163
10164 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10165
10166         * configure.ac:
10167           add srcdir, builddir includes to GST_ALL_CFLAGS, since
10168           everything that uses GStreamer API should have the includes
10169
10170 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10171
10172         * docs/gst/gstreamer-sections.txt:
10173         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10174         * gst/gstvalue.h:
10175           give each value a _get_type, removes the DATA exports
10176
10177 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10178
10179         * gst/gst.c:
10180         * gst/gst.h:
10181           remove _gst_registry_auto_load, not used anymore
10182         * gst/gstbin.c: (gst_bin_get_type):
10183         * gst/gstbin.h:
10184         * gst/gstelement.c: (gst_element_get_type):
10185         * gst/gstelement.h:
10186         * gst/gstobject.c: (gst_object_get_type):
10187         * gst/gstobject.h:
10188         * gst/gstpad.c: (gst_pad_get_type):
10189         * gst/gstpad.h:
10190           make _get_type functions similar, fixes data export from library
10191
10192 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10193
10194         * configure.ac:
10195           correctly make conditionals
10196         * gst/elements/Makefile.am:
10197         * gst/elements/gstelements.c:
10198           fix typo causing fdsrc not to build
10199
10200 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10201
10202         * testsuite/Makefile.am:
10203         * testsuite/bytestream/.cvsignore:
10204         * testsuite/bytestream/Makefile.am:
10205         * testsuite/bytestream/filepadsink.c:
10206         * testsuite/bytestream/gstbstest.c:
10207         * testsuite/bytestream/test1.c:
10208         * testsuite/bytestream/testfile1:
10209         * testsuite/caps/normalisation.c:
10210         * testsuite/caps/random.c: (main):
10211         * testsuite/cleanup/.cvsignore:
10212         * testsuite/cleanup/Makefile.am:
10213         * testsuite/cleanup/cleanup1.c:
10214         * testsuite/cleanup/cleanup2.c:
10215         * testsuite/cleanup/cleanup3.c:
10216         * testsuite/cleanup/cleanup4.c:
10217         * testsuite/cleanup/cleanup5.c:
10218         * testsuite/controller/interpolator.c:
10219         * testsuite/debug/printf_extension.c: (main):
10220         * testsuite/elements/tee.c:
10221         * testsuite/negotiation/.cvsignore:
10222         * testsuite/negotiation/Makefile.am:
10223         * testsuite/negotiation/pad_link.c:
10224         * testsuite/pad/Makefile.am:
10225         * testsuite/pad/chainnopull.c:
10226         * testsuite/pad/getnopush.c:
10227         * testsuite/pad/link.c:
10228         * testsuite/refcounting/sched.c: (create_pipeline):
10229         * testsuite/registry/Makefile.am:
10230         * testsuite/registry/gst-print-formats.c:
10231         * testsuite/schedulers/.cvsignore:
10232         * testsuite/schedulers/142183-2.c:
10233         * testsuite/schedulers/142183.c:
10234         * testsuite/schedulers/143777-2.c:
10235         * testsuite/schedulers/143777.c:
10236         * testsuite/schedulers/147713.c:
10237         * testsuite/schedulers/147819.c:
10238         * testsuite/schedulers/147894-2.c:
10239         * testsuite/schedulers/147894.c:
10240         * testsuite/schedulers/Makefile.am:
10241         * testsuite/schedulers/group_link.c:
10242         * testsuite/schedulers/queue_link.c:
10243         * testsuite/schedulers/relink.c:
10244         * testsuite/schedulers/unlink.c:
10245         * testsuite/schedulers/unref.c:
10246         * testsuite/schedulers/useless_iteration.c:
10247         * testsuite/states/bin.c:
10248           clean out/remove some stuff from the testsuite directories
10249
10250 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10251
10252         * configure.ac:
10253           check for some headers
10254         * gst/elements/Makefile.am:
10255         * gst/elements/gstelements.c:
10256           don't compile fdsrc without sys/socket.h
10257         * gst/indexers/Makefile.am:
10258         * gst/indexers/gstindexers.c: (plugin_init):
10259           don't compile fileindex without mmap
10260
10261 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10262
10263         * configure.ac:
10264           reorganize
10265           clean up
10266           document more
10267           remove cruft
10268         * check/Makefile.am:
10269         * docs/gst/Makefile.am:
10270         * examples/helloworld/Makefile.am:
10271         * gst/Makefile.am:
10272         * gst/base/Makefile.am:
10273         * gst/check/Makefile.am:
10274         * gst/elements/Makefile.am:
10275         * gst/indexers/Makefile.am:
10276         * gst/parse/Makefile.am:
10277         * libs/gst/controller/Makefile.am:
10278         * libs/gst/dataprotocol/Makefile.am:
10279         * examples/helloworld/helloworld.c: (event_loop):
10280           compile fixes, though it's not being compiled currently
10281
10282 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10283
10284         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
10285           Add some simple tests for the new taglist date API.
10286
10287 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10288
10289         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
10290         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
10291           Beautify 'last-message' output: print 'none' for buffer timestamps
10292           and durations if none is set; improve alignment with next messages.
10293
10294 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10295
10296         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
10297         * gst/gstpluginfeature.h:
10298         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
10299         * gst/gstregistry.h:
10300         * docs/gst/gstreamer-sections.txt:
10301           Add new API to check plugin feature version requirements.
10302
10303         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
10304           Some basic tests for the above.         
10305
10306 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10307
10308         * gst/gststructure.c: (gst_structure_to_string):
10309           guard against NULL printf - happens when for example
10310           a message structure with GstClock gets serialized
10311
10312 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10313
10314         * gst/base/gstcollectpads.c: (gst_collectpads_event):
10315           Fix presumable copy'n'pasto.
10316
10317 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10318
10319         * gst/elements/gstfakesrc.h:
10320         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
10321         * gst/elements/gsttypefindelement.c:
10322           fix some signedness
10323         * gst/elements/gstfilesink.c: (gst_file_sink_render):
10324           I wonder if this could actually write +2GB files before
10325
10326 2005-10-13  Andy Wingo  <wingo@pobox.com>
10327
10328         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
10329         Fix Timmeke Waymans bug.
10330         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
10331         string of the proper length to gst_caps_from_string. There's a
10332         potential for, before this fix, that this could cause someone
10333         connecting over the network to cause a segfault if the payload is
10334         not NUL-terminated.
10335
10336 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10337
10338         * docs/design/draft-push-pull.txt:
10339         * docs/design/part-overview.txt:
10340         * docs/random/TODO-pre-0.9:
10341         * docs/random/old/ChangeLog.gstreamer:
10342         * gst/base/gstpushsrc.c:
10343         * gst/gstclock.c:
10344           fixed typos
10345
10346 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10347
10348         * gst/glib-compat.c: (gst_flags_get_first_value):
10349         * gst/glib-compat.h:
10350         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
10351         (gst_value_compare_double), (gst_value_serialize_flags):
10352           GLib 2.6 g_flags_get_first_value has a bug that triggers an
10353           infinite loop
10354
10355 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10356
10357         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10358         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10359           fix up debugging
10360         * tools/gst-launch.c: (event_loop):
10361           print out clock nicely
10362
10363 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10364
10365         * docs/gst/gstreamer-sections.txt:
10366         * gst/gsttaglist.h:
10367         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
10368         (gst_tag_list_get_date_index):
10369           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
10370           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
10371
10372 2005-10-13  Julien MOUTTE  <julien@moutte.net>
10373
10374         * gst/base/gstcollectpads.c: (gst_collectpads_event),
10375         (gst_collectpads_chain):
10376         * gst/base/gstcollectpads.h: Handle newsegment and store informations
10377         in CollectData.
10378
10379 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10380
10381         * docs/gst/gstreamer-sections.txt:
10382         * gst/gst.c:
10383         * gst/gsterror.h:
10384         * tools/gst-inspect.c: (main):
10385         * tools/gst-launch.c: (main):
10386         * tools/gst-run.c: (main):
10387         * tools/gst-xmlinspect.c: (main):
10388           fix GOption context leaks
10389           doc fixes
10390
10391 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10392
10393         * gst/gstbus.c:
10394           use HAVE_UNISTD_H
10395         * win32/common/config.h:
10396           update config
10397         * win32/vs6/grammar.dsp:
10398         * win32/vs6/libgstelements.dsp:
10399         * win32/vs6/libgstreamer.dsp:
10400           update vs6 files
10401
10402 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10403
10404         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10405         * gst/base/gstbasesrc.c: (gst_base_src_query):
10406           fix more guint64<->gdouble conversions
10407
10408 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10409
10410         * Makefile.am:
10411           add win32-update target
10412         * win32/common/gstconfig.h:
10413         * win32/common/gstenumtypes.c:
10414         * win32/common/gstenumtypes.h:
10415         * win32/common/gstversion.h:
10416           add files that visual studio can't generate
10417
10418 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10419
10420         * Makefile.am:
10421           add a win32-update target
10422         * configure.ac:
10423
10424 2005-10-12  Wim Taymans  <wim@fluendo.com>
10425
10426         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10427         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
10428         * gst/gstelement.c: (gst_element_commit_state),
10429         (gst_element_set_state):
10430         Protect flags with proper lock.
10431         unref provided cached clock in dispose.
10432
10433 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10434
10435         * gst/gst.c:
10436         * gst/gstminiobject.h:
10437         * gst/gstpad.h:
10438         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
10439           removed unused flags from miniobject
10440           doc fixes
10441
10442 2005-10-12  Wim Taymans  <wim@fluendo.com>
10443
10444         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10445         (gst_file_sink_event), (gst_file_sink_render):
10446         Flush before seeking.
10447
10448 2005-10-12  Andy Wingo  <wingo@pobox.com>
10449
10450         * gst/gst.c (gst_init_check): Ignore unknown options, as has
10451         always been the case.
10452
10453 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10454
10455         * check/gst/gstbin.c: (GST_START_TEST):
10456         * docs/gst/gstreamer-sections.txt:
10457         * gst/base/gstbasesink.c: (gst_base_sink_init):
10458         * gst/base/gstbasesrc.c: (gst_base_src_init),
10459         (gst_base_src_get_range), (gst_base_src_check_get_range),
10460         (gst_base_src_start), (gst_base_src_stop):
10461         * gst/base/gstbasesrc.h:
10462         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
10463         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10464         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
10465         (bin_bus_handler):
10466         * gst/gstbin.h:
10467         * gst/gstbuffer.h:
10468         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
10469         * gst/gstbus.h:
10470         * gst/gstelement.c: (gst_element_is_locked_state),
10471         (gst_element_set_locked_state), (gst_element_commit_state),
10472         (gst_element_set_state):
10473         * gst/gstelement.h:
10474         * gst/gstindex.c: (gst_index_init):
10475         * gst/gstindex.h:
10476         * gst/gstminiobject.h:
10477         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
10478         (gst_object_set_parent):
10479         * gst/gstobject.h:
10480         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
10481         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
10482         * gst/gstpad.h:
10483         * gst/gstpadtemplate.h:
10484         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
10485         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10486         * gst/gstpipeline.h:
10487         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10488         (gst_file_index_commit):
10489         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
10490         * testsuite/pad/link.c: (gst_test_src_init),
10491         (gst_test_filter_init), (gst_test_sink_init):
10492         * testsuite/states/locked.c: (main):
10493           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
10494           moved bitshift from macro to enum definition
10495
10496 2005-10-12  Wim Taymans  <wim@fluendo.com>
10497
10498         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
10499         * gst/elements/gstfilesink.c: (gst_file_sink_event),
10500         (gst_file_sink_render):
10501         Some more debugging info.
10502
10503 2005-10-12  Wim Taymans  <wim@fluendo.com>
10504
10505         * docs/design/part-states.txt:
10506         * tools/gst-launch.c: (main):
10507         Some doc updates.
10508         Revert non-intentional change.
10509
10510 2005-10-12  Wim Taymans  <wim@fluendo.com>
10511
10512         * check/gst/gstbin.c: (GST_START_TEST):
10513         * check/gst/gstelement.c: (GST_START_TEST):
10514         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
10515         * check/gst/gstghostpad.c: (GST_START_TEST):
10516         * check/gst/gstpipeline.c: (GST_START_TEST):
10517         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10518         * check/states/sinks.c: (GST_START_TEST):
10519         * gst/elements/gsttypefindelement.c: (stop_typefinding):
10520         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10521         (gst_bin_remove_func), (gst_bin_get_state_func),
10522         (gst_bin_recalc_state), (gst_bin_change_state_func),
10523         (bin_bus_handler):
10524         * gst/gstelement.c: (gst_element_get_state_func),
10525         (gst_element_get_state), (gst_element_abort_state),
10526         (gst_element_commit_state), (gst_element_set_state),
10527         (gst_element_change_state), (gst_element_change_state_func):
10528         * gst/gstelement.h:
10529         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
10530         (gst_pipeline_provide_clock_func):
10531         * gst/gstutils.c: (gst_element_link_pads_filtered):
10532         * tools/gst-launch.c: (main):
10533         * tools/gst-typefind.c: (main):
10534         Use GstClockTime in _get_state() instead of GTimeVal.
10535         Remove old code in gstutils.c
10536
10537 2005-10-12  Andy Wingo  <wingo@pobox.com>
10538
10539         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
10540         removed.
10541
10542         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
10543         there is no task. Shouldn't affect any code, as nothing in our
10544         plugins checks this return value.
10545         (gst_pad_stop_task): Also take the stream lock if the pad has no
10546         task. Docs updated.
10547
10548 2005-10-12  Wim Taymans  <wim@fluendo.com>
10549
10550         * gst/gstpad.c: (pre_activate), (post_activate),
10551         (gst_pad_activate_pull), (gst_pad_activate_push):
10552         Cleanup activation code. Reset old state if
10553         activation failed.
10554
10555 2005-10-12  Wim Taymans  <wim@fluendo.com>
10556
10557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10558         (gst_base_sink_change_state):
10559         No need to prerol after receiving EOS.
10560
10561         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10562         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
10563         * gst/elements/gstidentity.c: (gst_identity_event):
10564         Print events more verbosely.
10565
10566 2005-10-12  Wim Taymans  <wim@fluendo.com>
10567
10568         * check/Makefile.am:
10569         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10570         * check/states/sinks2.c:
10571         Moved sinks2 testcode in sinks check.
10572
10573         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10574         (gst_bin_remove_func), (gst_bin_recalc_state),
10575         (gst_bin_change_state_func), (bin_bus_handler):
10576         Fix potential race condition when _get_state() iterated over an
10577         ASYNC element right before it posted a state completion.
10578
10579         * gst/gstclock.h:
10580         Do proper cast here.
10581
10582         * gst/gstevent.c: (gst_event_new_newsegment),
10583         (gst_event_parse_newsegment):
10584         A playback rate of 0.0 is not allowed.
10585
10586 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10587
10588         * win32/common/config.h:
10589         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10590         (_trewinddir), (_ttelldir), (_tseekdir):
10591         * win32/common/dirent.h:
10592         * win32/common/gtchar.h:
10593         * win32/common/libgstbase.def:
10594         * win32/common/libgstreamer.def:
10595         * win32/vs6/grammar.dsp:
10596         * win32/vs6/gst_inspect.dsp:
10597         * win32/vs6/gst_launch.dsp:
10598         * win32/vs6/gstreamer.dsw:
10599         * win32/vs6/libgstbase.dsp:
10600         * win32/vs6/libgstelements.dsp:
10601         * win32/vs6/libgstreamer.dsp:
10602           Visual Studio 6 project files, and a new common directory.
10603           Phear.
10604
10605 2005-10-11  Wim Taymans  <wim@fluendo.com>
10606
10607         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10608         (gst_base_sink_do_sync), (gst_base_sink_query),
10609         (gst_base_sink_change_state):
10610         * gst/base/gstbasesink.h:
10611         Correctly parse newsegment info.
10612
10613 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10614
10615         * gst/gst.c: (init_post):
10616           split plugin paths correctly
10617
10618 2005-10-11  Wim Taymans  <wim@fluendo.com>
10619
10620         * check/gst/gstevent.c: (GST_START_TEST):
10621         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10622         (gst_base_sink_change_state):
10623         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
10624         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10625         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10626         * gst/gstevent.c: (gst_event_new_newsegment),
10627         (gst_event_parse_newsegment):
10628         * gst/gstevent.h:
10629         Added extra flag to newsegment for future API freeze.
10630         Updated check and base elements.
10631
10632 2005-10-11  Julien MOUTTE  <julien@moutte.net>
10633
10634         * gst/base/gstcollectpads.c: (gst_collectpads_init),
10635         (gst_collectpads_add_pad), (gst_collectpads_pop),
10636         (gst_collectpads_event), (gst_collectpads_chain):
10637         * gst/base/gstcollectpads.h: Handle EOS correctly.
10638
10639 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10640
10641         * tools/gst-launch.c: (main):
10642           more null protecting
10643
10644 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10645
10646         * gst/gst-i18n-lib.h:
10647           check for ENABLE_NLS, not GETTEXT_PACKAGE
10648         * gst/gstregistry.c: (gst_registry_add_plugin),
10649         (gst_registry_scan_path_level),
10650         (_gst_registry_remove_cache_plugins):
10651           protect possibly NULL strings
10652         * gst/parse/types.h:
10653           config.h already included before
10654         * tools/gst-inspect.c: (main):
10655           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
10656           check for ENABLE_NLS, not GETTEXT_PACKAGE
10657         * tools/gst-launch.c: (main):
10658           check for ENABLE_NLS, not GETTEXT_PACKAGE
10659
10660 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10661
10662         * configure.ac:
10663           if we don't have glib, fail before testing 2.8
10664         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
10665           fix a leak, should fix plugins-base testsuite
10666
10667 2005-10-11  Andy Wingo  <wingo@pobox.com>
10668
10669         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
10670         take the mode we're going to as an arg. Go head and set the mode
10671         and flushing flags now, so that if the activate function starts a
10672         thread all the flags will be in the right state.
10673         (post_activate): Renamed also. Just handle making sure streaming
10674         finishes for the deactivation case, and setting the deactivated
10675         mode.
10676         (gst_pad_set_active): Complain loudly if deactivation fails.
10677         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
10678         (gst_pad_activate_push): Adapt to pre/post_activate changes,
10679         remove the terrible hack.
10680
10681 2005-10-11  Wim Taymans  <wim@fluendo.com>
10682
10683         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10684         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
10685         (gst_bin_recalc_state), (gst_bin_change_state_func),
10686         (gst_bin_dispose), (bin_bus_handler):
10687         * gst/gstbin.h:
10688         Prepare to make current EOS message queue more generic.
10689         Fix some typos.
10690
10691         * gst/gstevent.c: (gst_event_new_newsegment),
10692         (gst_event_parse_newsegment):
10693         * gst/gstevent.h:
10694         Rename base to stream_time.
10695
10696         * gst/gstmessage.h:
10697         Fix typo in docs.
10698
10699 2005-10-11  Wim Taymans  <wim@fluendo.com>
10700
10701         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10702         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
10703         (gst_bin_change_state_func), (bin_bus_handler):
10704         * gst/gstbin.h:
10705         Work on proper clock selection.
10706
10707 2005-10-11  Edward Hervey  <edward@fluendo.com>
10708
10709         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
10710         * libs/gst/controller/gstcontroller.h:
10711         Added GList* version of _remove_properties() in order to be able to wrap
10712         it in bindings.
10713
10714 2005-10-11  Wim Taymans  <wim@fluendo.com>
10715
10716         * docs/design/part-states.txt:
10717         Some more docs.
10718
10719         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
10720         (gst_bin_change_state_func), (bin_bus_handler):
10721         Doc updates. Don't distribute the same clock over and over again.
10722
10723         * gst/gstclock.c:
10724         * gst/gstclock.h:
10725         Doc updates.
10726
10727         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
10728         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
10729         (gst_pad_send_event):
10730         * gst/gstpad.h:
10731         Make probe emission threadsafe again.
10732         Register quarks and move _get_name() from utils.
10733         Doc updates.
10734
10735         * gst/gstpipeline.c: (gst_pipeline_class_init),
10736         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10737         Only redistribute the clock of it changed.
10738
10739         * gst/gstsystemclock.h:
10740         Doc updates. 
10741
10742         * gst/gstutils.c:
10743         * gst/gstutils.h:
10744         Moved the _flow_get_name() to GstPad.
10745
10746 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10747
10748         * check/gst-libs/gdp.c: (GST_START_TEST):
10749         * check/gst/gstcaps.c: (GST_START_TEST):
10750         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
10751         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
10752         (gst_dp_packet_from_caps):
10753           fix more valgrind warnings before turning up the heat
10754
10755 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10756
10757         * gst/parse/grammar.y:
10758           some cleanup before the hacking
10759
10760 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * gst/base/gstbasesrc.c: (gst_base_src_query):
10763           use conversions
10764         * gst/gstutils.c: (gst_guint64_to_gdouble),
10765         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
10766         * gst/gstutils.h:
10767           externalize, basesrc uses it
10768           obviously the implementation needs testing
10769
10770 2005-10-10  Wim Taymans  <wim@fluendo.com>
10771
10772         * tests/sched/Makefile.am:
10773         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
10774         (make_pipeline3), (make_pipeline4), (print_elem), (main):
10775
10776 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
10779           apparently converting from guint64 to double is not implemented
10780           on MSVC
10781
10782 2005-10-10  Wim Taymans  <wim@fluendo.com>
10783
10784         * check/Makefile.am:
10785         * check/generic/states.c: (GST_START_TEST):
10786         * check/gst/gstbin.c: (GST_START_TEST):
10787         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10788         * check/states/sinks.c: (GST_START_TEST):
10789         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
10790         (main):
10791         Check fixes, use API as stated in design docs, remove hacks.
10792
10793         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10794         (gst_base_sink_change_state):
10795         Catch stopping our task while we're shutting down.
10796
10797         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
10798         (gst_bin_remove_func), (gst_bin_get_state_func),
10799         (gst_bin_recalc_state), (gst_bin_change_state_func),
10800         (bin_bus_handler):
10801         * gst/gstbin.h:
10802         * gst/gstelement.c: (gst_element_init),
10803         (gst_element_get_state_func), (gst_element_abort_state),
10804         (gst_element_commit_state), (gst_element_lost_state),
10805         (gst_element_set_state), (gst_element_change_state),
10806         (gst_element_change_state_func):
10807         * gst/gstelement.h:
10808         New state change algorithm (see #318116)
10809
10810         * gst/gstpipeline.c: (gst_pipeline_class_init),
10811         (gst_pipeline_init), (gst_pipeline_set_property),
10812         (gst_pipeline_get_property), (do_pipeline_seek),
10813         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10814         * gst/gstpipeline.h:
10815         Remove crude state change hacks.
10816
10817         * gst/gstutils.h:
10818         Remove crude hacks.
10819
10820         * tools/gst-launch.c: (main):
10821         Fixes for state change. Needs some more work to fully use the
10822         new stuff.
10823
10824 2005-10-10  Andy Wingo  <wingo@pobox.com>
10825
10826         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
10827
10828         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
10829         this flag, but it's not even in GLib 2.6. Odd. Hack around the
10830         issue.
10831
10832 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10833
10834         * gst/gstiterator.c: (gst_iterator_new):
10835           Fix my previous commit: GTypes passed to gst_iterator_new()
10836           can be fundamental types.
10837
10838 2005-10-10  Wim Taymans  <wim@fluendo.com>
10839
10840         * gst/gstelement.c: (gst_element_iterate_pad_list),
10841         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
10842         (gst_element_iterate_sink_pads):
10843         Use src/sink pads lists for the respective iterators instead
10844         of filtering.
10845
10846 2005-10-10  Andy Wingo  <wingo@pobox.com>
10847
10848         Merged in popt removal + GOption addition patch from Ronald, bug
10849         #169772.
10850
10851         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
10852         GstElement macros around, remove popt-related symbols, add goption
10853         stuff.
10854
10855         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
10856         
10857         * docs/gst/Makefile.am:
10858         * docs/libs/Makefile.am: No POPT_CFLAGS.
10859         
10860         * examples/manual/Makefile.am:
10861         * docs/manual/basics-init.xml: Doc updates with an example.
10862         
10863         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10864         (gst_init), (parse_one_option), (parse_goption_arg):
10865         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
10866         bit of hand merging and debugging to get the GOption stuff working
10867         tho.
10868         
10869         * tests/Makefile.am:
10870         * tools/Makefile.am:
10871         * tools/gst-inspect.c: (main):
10872         * tools/gst-launch.c: (main):
10873         * tools/gst-run.c: (main):
10874         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
10875
10876 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10877
10878         * gst/gstiterator.c: (gst_iterator_new):
10879           Add assertions to make sure passed GType is likely to really
10880           be a GType (as the compiler won't catch it if the size and
10881           GType arguments get mixed up, see #318447).
10882
10883 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
10884
10885         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10886
10887         * gst/gstbin.c: (gst_bin_iterate_sorted):
10888           Pass GType and size arguments to gst_iterator_new() in the right
10889           order (maybe we should make _new() take the GType as first argument
10890           just like _new_list()?) (#318447).
10891           
10892
10893 2005-10-10  Wim Taymans  <wim@fluendo.com>
10894
10895         * gst/gstelement.c: (gst_element_finalize):
10896         And free the GStaticRecMutex too
10897
10898 2005-10-10  Andy Wingo  <wingo@pobox.com>
10899
10900         * gst/gstelement.c (gst_element_init, gst_element_finalize):
10901         Allocate and free the mutex properly.
10902
10903         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
10904         New macros.
10905         (GstElement): The state_lock is now recursive. Rebuild your
10906         plugins, suckers. Old macros adapted.
10907
10908         * docs/gst/gstreamer-sections.txt: Doc updates.
10909
10910         * gst/gstutils.h:
10911         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
10912         (g_static_rec_cond_wait): Ported from state changes patch, while
10913         we wait on bug #317802 to be solved in a well-distributed GLib.
10914
10915         * gst/gstelement.c (gst_element_change_state_func): Renamed from
10916         gst_element_change_state, variable name changes.
10917         (gst_element_change_state): Split out of gst_element_set_state in
10918         preparation for the state change merge. Doesn't pay attention to
10919         the 'transition' argument.
10920         (gst_element_set_state): Updates, hopefully purely cosmetic.
10921         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10922         state change patch.
10923         (gst_element_get_state_func): Renamed from get_state, cosmetic
10924         changes.
10925
10926 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10927
10928         * gst/elements/gstelements.c:
10929         * win32/GStreamer.vcproj:
10930         * win32/config.h:
10931         * win32/dirent.c: (_tseekdir):
10932         * win32/gst-inspect.vcproj:
10933         * win32/gst-launch.vcproj:
10934         * win32/gstconfig.h:
10935         * win32/gstelements.vcproj:
10936         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10937         * win32/gstreamer.def:
10938         * win32/msvc71.sln:
10939           updates for the win32 build (patch from Sebastien Moutte)
10940
10941 2005-10-10  Andy Wingo  <wingo@pobox.com>
10942
10943         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10944         gst_bin_get_state, cleaned up (but no logic changes).
10945         (bin_element_is_sink): Comment updates.
10946         (sink_iterator_filter): Remove needless cast.
10947         (gst_bin_iterate_sinks): Doc update.
10948         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10949         cleaned up (but no logic changes).
10950
10951         * check/states/sinks.c (test_src_sink): Cleanups from the state
10952         change patch.
10953         (test_livesrc_sink): Sync on the state.
10954
10955         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10956         the state change patch.
10957
10958         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10959         change patch.
10960
10961         * check/gst/gstbin.c: Merge in some style fixes and additional
10962         checks from Wim's state change patch.
10963
10964 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10965
10966         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10967         (gst_type_find_helper):
10968           Check whether we have the requested data already in our list of
10969           cached buffers before pulling a new buffer; also make the buffer
10970           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10971
10972 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * gst/gstcaps.c:
10975         * gst/gstevent.c:
10976           doc updates
10977         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10978           don't use long long, it's not portable.  Replacing with
10979           gint64 seems to work; let's hope no skeletons fall out of the closet.
10980
10981 2005-10-10  Andy Wingo  <wingo@pobox.com>
10982
10983         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10984
10985 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10986
10987         * docs/gst/gstreamer-sections.txt:
10988         * gst/gstevent.c:
10989         * gst/gstevent.h:
10990         * gst/gstinfo.c:
10991         * gst/gstinfo.h:
10992         * gst/gstmessage.c: (gst_message_parse_state_changed):
10993         * gst/gstpad.c:
10994         * gst/gstpad.h:
10995           more docs, fix compilation
10996
10997 2005-10-09  Philippe Khalaf <burger@speedy.org>
10998         * gst/gstmessage.c:
10999           Fixed a few forgotten variables on previous commit
11000
11001 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11002
11003         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11004           Fix evil typefind crasher: getrange() might return a short
11005           buffer at the end of a file, but gst_type_find_peek() must
11006           either return the full data as requested or NULL, but
11007           never a short buffer.
11008
11009 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11010
11011         * gst/gstmessage.c: (gst_message_new_state_changed),
11012         (gst_message_parse_state_changed):
11013         * gst/gstmessage.h:
11014           don't use "new", it's a C++ keyword
11015
11016 2005-10-08  Wim Taymans  <wim@fluendo.com>
11017
11018         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11019         * gst/gstelement.c: (gst_element_post_message):
11020         * gst/gstpipeline.c: (gst_pipeline_change_state):
11021         Small docs and debug updates.
11022
11023 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11024
11025         * docs/gst/gstreamer-sections.txt:
11026         * gst/gstelementfactory.c:
11027         * gst/gstevent.c:
11028         * gst/gsttaglist.c:
11029           more docs
11030
11031 2005-10-08  Wim Taymans  <wim@fluendo.com>
11032
11033         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11034         (gst_bin_dispose), (bin_bus_handler):
11035         Fix typos, add comments.
11036         Clear EOS list when going to PAUSED from any direction and do it
11037         in a threadsafe way.
11038         Get base time in a threadsafe way too.
11039         Fix confusing debug in the change_state function.
11040         Various other small cleanups.
11041         
11042         * gst/gstelement.c: (gst_element_post_message):
11043         Fix very verbose bus posting code.
11044
11045         * gst/gstpipeline.c: (gst_pipeline_class_init),
11046         (gst_pipeline_set_property), (gst_pipeline_get_property),
11047         (gst_pipeline_change_state):
11048         Small ARG_ -> PROP_ cleanup
11049
11050 2005-10-08  Wim Taymans  <wim@fluendo.com>
11051
11052         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11053         Do a less CPU demanding EOS check because we can.
11054
11055 2005-10-08  Wim Taymans  <wim@fluendo.com>
11056
11057         * libs/gst/dataprotocol/dataprotocol.c:
11058         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11059         (gst_dp_packet_from_event):
11060         * libs/gst/dataprotocol/dataprotocol.h:
11061         * libs/gst/dataprotocol/dp-private.h:
11062         It's about time we bump the version number.
11063         Since event types don't fit in the guint8 anymore describing
11064         the payload type, make payload type 16 bits wide.
11065
11066 2005-10-08  Wim Taymans  <wim@fluendo.com>
11067
11068         * docs/design/part-TODO.txt:
11069         * docs/design/part-clocks.txt:
11070         * docs/design/part-events.txt:
11071         * docs/design/part-gstbin.txt:
11072         * docs/design/part-gstelement.txt:
11073         * docs/design/part-gstpipeline.txt:
11074         * docs/design/part-live-source.txt:
11075         * docs/design/part-messages.txt:
11076         * docs/design/part-overview.txt:
11077         * docs/design/part-states.txt:
11078         Many doc updates.
11079
11080 2005-10-08  Wim Taymans  <wim@fluendo.com>
11081
11082         * gst/gstevent.c:
11083         * gst/gstevent.h:
11084         Fix event quark registration.
11085         Add some space between events so we can insert them in the
11086         right groups.
11087
11088 2005-10-08  Wim Taymans  <wim@fluendo.com>
11089
11090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11091         (gst_base_sink_handle_buffer):
11092         Better log message.
11093
11094         * gst/gstbus.h:
11095         * gst/gstelement.h:
11096         More docs.
11097
11098         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11099         (gst_queue_set_property), (gst_queue_get_property):
11100         * gst/gstqueue.h:
11101         Remove old unused properties.
11102
11103 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11104         * docs/gst/gstreamer-sections.txt:
11105         * gst/gstmessage.c:
11106         * gst/gstmessage.h:
11107         * gst/gstminiobject.c:
11108         * gst/gstminiobject.h:
11109         * gst/gstobject.h:
11110         * gst/gstpad.h:
11111         * gst/gstutils.h:
11112           lots of new docs and doc fixes
11113
11114 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11115
11116         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
11117         * gst/gstplugin.h:
11118         * gst/gstregistry.c: (gst_registry_lookup_locked),
11119         (gst_registry_scan_path_level):
11120         * gst/gstregistryxml.c: (load_plugin):
11121           Only ever load one plugin for a given plugin basename.
11122           This ensures correct overriding of GST_PLUGIN_PATH over
11123           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
11124           system installed plugins.
11125
11126 2005-10-08  Wim Taymans  <wim@fluendo.com>
11127
11128         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11129         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
11130         Prepare for doing QOS.
11131
11132 2005-10-08  Wim Taymans  <wim@fluendo.com>
11133
11134         * check/gst/gstbin.c: (GST_START_TEST):
11135         * check/pipelines/cleanup.c: (GST_START_TEST):
11136         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11137         Allow new clock message too.
11138
11139 2005-10-08  Wim Taymans  <wim@fluendo.com>
11140
11141         * gst/gstmessage.c: (gst_message_new_error),
11142         (gst_message_new_warning), (gst_message_new_tag),
11143         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11144         (gst_message_new_clock_lost), (gst_message_new_new_clock),
11145         (gst_message_new_segment_start), (gst_message_new_segment_done),
11146         (gst_message_parse_state_changed),
11147         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
11148         (gst_message_parse_new_clock):
11149         * gst/gstmessage.h:
11150         Also carry the clock in question.
11151
11152 2005-10-08  Wim Taymans  <wim@fluendo.com>
11153
11154         * gst/gstmessage.c: (gst_message_new_custom),
11155         (gst_message_new_eos), (gst_message_new_error),
11156         (gst_message_new_warning), (gst_message_new_tag),
11157         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11158         (gst_message_new_new_clock), (gst_message_new_segment_start),
11159         (gst_message_new_segment_done), (gst_message_parse_state_changed),
11160         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
11161         * gst/gstmessage.h:
11162         Clean up.
11163         Added clock related messages.
11164
11165         * gst/gstpipeline.c: (gst_pipeline_change_state):
11166         Post message when the clock changed.
11167
11168         * tools/gst-launch.c: (event_loop):
11169         Print new clock.
11170
11171 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11172
11173         * tools/gst-inspect.c: (print_element_properties_info):
11174           Can't pass NULL strings to g_print() on windows.
11175
11176 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11177
11178         * docs/Makefile.am:
11179         * docs/gst/Makefile.am:
11180         * docs/gst/gstreamer-docs.sgml:
11181         * docs/gst/running.xml:
11182         * docs/version.entities.in:
11183           add a chapter on running GStreamer.
11184           document GST_DEBUG and GST_PLUGIN* env vars
11185
11186 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11187
11188         * Makefile.am:
11189           remove include dir
11190         * configure.ac:
11191           remove PLUGINS_BUILDDIR stuff
11192         * gst/gst.c: (init_post):
11193           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
11194         * idiottest.mak:
11195           remove, it was condescending and not needed
11196
11197 2005-10-08  Wim Taymans  <wim@fluendo.com>
11198
11199         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
11200         (gst_base_sink_handle_object), (gst_base_sink_event),
11201         (gst_base_sink_wait), (gst_base_sink_handle_event),
11202         (gst_base_sink_change_state):
11203         * gst/base/gstbasesink.h:
11204         Repost EOS message while going to PLAYING if still EOS.
11205         Make sure that when receiving a FLUSH_START we don't attempt
11206         to sync on the clock anymore.
11207
11208 2005-10-08  Wim Taymans  <wim@fluendo.com>
11209
11210         * tools/gst-launch.c: (event_loop):
11211         Better message printout.
11212
11213 2005-10-08  Wim Taymans  <wim@fluendo.com>
11214
11215         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
11216         (gst_bin_child_proxy_get_children_count):
11217         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11218         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
11219         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
11220         (gst_child_proxy_set_valist):
11221         * gst/parse/grammar.y:
11222         Make ChildProxy threadsafe and fix mem leaks.
11223
11224 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * gst/gst.c: (init_post):
11227           debug the GST_PLUGIN_ env vars
11228
11229 2005-10-08  Wim Taymans  <wim@fluendo.com>
11230
11231         * check/gst/gstbin.c: (GST_START_TEST):
11232         * check/gst/gstmessage.c: (GST_START_TEST):
11233         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11234         * gst/gstelement.c: (gst_element_commit_state),
11235         (gst_element_lost_state):
11236         * gst/gstmessage.c: (gst_message_new_state_changed),
11237         (gst_message_parse_state_changed):
11238         * gst/gstmessage.h:
11239         * tools/gst-launch.c: (event_loop):
11240         Added extra field to STATE_CHANGE message with the pending
11241         state, which will be different from the new state soon.
11242
11243 2005-10-08  Wim Taymans  <wim@fluendo.com>
11244
11245         * gst/gstbus.c: (gst_bus_pop):
11246         * gst/gstclock.c:
11247         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11248         Small cleanups and doc updates.
11249
11250 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11251
11252         * gst/gst.c: (init_pre):
11253         * gst/gstbin.c: (gst_bin_add_func):
11254           log distributing clocks and base time
11255         * gst/gstregistry.c: (gst_registry_add_plugin),
11256         (gst_registry_scan_path_level), (gst_registry_scan_path):
11257           clean up the debugging output a little
11258         * gst/gstutils.c: (gst_element_state_get_name):
11259           warn about a memleak (I've actually seen this be used, though
11260           it was probably a bug)
11261
11262 2005-10-07  Wim Taymans  <wim@fluendo.com>
11263
11264         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11265         (gst_base_src_init), (gst_base_src_default_newsegment),
11266         (gst_base_src_newsegment), (gst_base_src_do_seek),
11267         (gst_base_src_loop), (gst_base_src_start):
11268         * gst/base/gstbasesrc.h:
11269         Make the newsegment event customizable by subclasses.
11270
11271 2005-10-07  Wim Taymans  <wim@fluendo.com>
11272
11273         * gst/gstevent.c: (gst_event_new_buffersize),
11274         (gst_event_parse_buffersize):
11275         * gst/gstevent.h:
11276         New event for future idea.
11277
11278 2005-10-07  Andy Wingo  <wingo@pobox.com>
11279
11280         * gst/gstelement.c (gst_element_post_message): Doc update.
11281
11282         * docs/gst/gstreamer-sections.txt: Update.
11283
11284         * gst/gstmessage.c (gst_message_new_application): Made into a
11285         function like honest API calls.
11286         (gst_message_new_element): New message type.
11287
11288         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
11289
11290         * check/elements/fakesrc.c (test_no_preroll): New check, checks
11291         that setting a live fakesrc to PAUSED returns NO_PREROLL both
11292         times.
11293
11294         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
11295         NO_PREROLL from gst_element_change_state to fall through.
11296
11297 2005-10-07  Wim Taymans  <wim@fluendo.com>
11298
11299         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
11300         (gst_ghost_pad_do_activate_push):
11301         Activating a ghostpad with no internal pad in push mode
11302         is ok.
11303
11304 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11305
11306         * gst/gstobject.h:
11307           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
11308           Fixes compilation on Windows.
11309
11310 2005-10-07  Michael Smith <msmith@fluendo.com>
11311
11312         * tools/gst-inspect.c:
11313           Print out feature and plugin count at the end when printing out
11314           all features.
11315
11316 2005-10-04  Michael Smith <msmith@fluendo.com>
11317
11318         * gst/gsterror.c: (_gst_stream_errors_init):
11319           Add another error string used in a few existing plugins.
11320
11321         * gst/gstplugin.c:
11322         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11323         * tools/gst-inspect.c: (print_element_info):
11324           When a feature disappears from a plugin (and the feature exists in
11325           the cached registry file), things went horribly wrong. This isn't a
11326           complete fix, we should actually be removing the 'missing' features
11327           from the features list when we load the actual plugin. That's not
11328           yet implemented. 
11329
11330 2005-10-04  Johan Dahlin  <johan@gnome.org>
11331
11332         * check/gst/gstiterator.c: (GST_START_TEST):
11333         * gst/gstbin.c: (gst_bin_iterate_elements),
11334         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
11335         * gst/gstelement.c: (gst_element_iterate_pads):
11336         * gst/gstformat.c: (gst_format_iterate_definitions):
11337         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11338         (gst_iterator_new_list), (gst_iterator_filter):
11339         * gst/gstiterator.h:
11340         * gst/gstquery.c: (gst_query_type_iterate_definitions):
11341         Add a GType to GstIterator, update callsites and tests.
11342
11343 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11344
11345         * gst/gstpad.c: (gst_pad_event_default_dispatch):
11346           give events a chance to be handled by event probes when the pad
11347           is not linked
11348
11349 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11350
11351         * gst/gstevent.c: (gst_event_type_get_name),
11352         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
11353         * gst/gstevent.h:
11354           add string representations for event types
11355
11356 2005-10-06  Wim Taymans  <wim@fluendo.com>
11357
11358         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
11359         Don't use NULL pointers.
11360
11361 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11362
11363         * gst/gst_private.h:
11364         * gst/gstbus.c:
11365         * gst/gstelement.c:
11366         * gst/gstinfo.c:
11367         * gst/gstpluginfeature.c:
11368           widen the debug category in output to fit the biggest one we have
11369           add a bus category and use it
11370           play with the colors
11371           fix up some categories
11372
11373 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11374
11375         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
11376           add push activation of sink ghost pads.
11377           Andye, please verify
11378
11379 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11380
11381         * gst/gstutils.c: (gst_element_link_pads):
11382           fix a bug in the case where neither element has a pad
11383         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11384           add a test for that case
11385
11386 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11387
11388         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
11389           emit have-data before checking for peers.  This allows
11390           for probe handlers to connect elements.  This helps autopluggers.
11391         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
11392         (gst_pad_suite):
11393           add six checks, linked/unlinked with no/true/false probe
11394
11395 2005-10-04  Wim Taymans  <wim@fluendo.com>
11396
11397         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
11398         (gst_fake_sink_event), (gst_fake_sink_preroll),
11399         (gst_fake_sink_render), (gst_fake_sink_change_state):
11400         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
11401         (gst_fake_src_get_property), (gst_fake_src_create),
11402         (gst_fake_src_stop):
11403         * gst/elements/gstidentity.c: (gst_identity_stop):
11404         Protect last_message with lock.
11405
11406 2005-10-04  Edward Hervey  <edward@fluendo.com>
11407
11408         * gst/gstformat.h: 
11409         Added precision in the comments for GST_FORMAT_DEFAULT
11410
11411 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
11412
11413         * tools/gst-launch.c: (main):
11414           Don't try to run erroneous pipelines.
11415
11416 2005-10-04  Julien MOUTTE  <julien@moutte.net>
11417
11418         * gst/gstbus.c: We don't need this header.
11419
11420 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11421
11422         * configure.ac:
11423           back to development
11424
11425 === release 0.9.3 ===
11426
11427 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11428
11429         * README:
11430         * configure.ac:
11431           Releasing 0.9.3, "Unregistered"
11432
11433 2005-10-03  Andy Wingo  <wingo@pobox.com>
11434
11435         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
11436         whereby calling a pad's activatepush() function can start a thread
11437         that starts to push or pull before the pad gets the FLUSHING flag
11438         unset. Hack around it by holding the stream lock until the flag is
11439         set. Need to replace this with a proper solution. Together with
11440         the ghost pad fixes, this fixes mp3 playing/tagreading.
11441
11442         * docs/design/part-gstghostpad.txt: Add a note about activation of
11443         proxy pads outside of ghost pads.
11444
11445         * gst/gstghostpad.c: Implement the ghost pad activation design.
11446
11447 2005-10-02  Andy Wingo  <wingo@pobox.com>
11448
11449         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
11450         It is volatile, after all.
11451
11452         * docs/design/part-gstghostpad.txt: Flesh out activation with
11453         ghost pads.
11454
11455         * gst/base/gstbasesrc.c (gst_base_src_init): Use
11456         GST_DEBUG_FUNCPTR.
11457
11458 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11459
11460         * configure.ac:
11461           Fix (unused) AM_CONDITIONAL tests.
11462
11463 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
11464
11465         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11466
11467         * gst/gstutils.c: (gst_pad_query_convert):
11468           Add assertion that makes sure src_val is >=0, just like
11469           gst_query_new_convert() has. (#315895)
11470
11471 2005-09-30  Edward Hervey  <edward@fluendo.com>
11472
11473         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
11474         Let's not iterate pads we're not interested in, it avoids getting 
11475         sky-high refcounts on sinkpad.
11476
11477 2005-09-30  Wim Taymans  <wim@fluendo.com>
11478
11479         * gst/gstelement.c: (gst_element_set_state),
11480         (gst_element_change_state):
11481         Small tweak, element in ASYNC remains ASYNC.
11482
11483 2005-09-30  Wim Taymans  <wim@fluendo.com>
11484
11485         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11486         Only error is an error.
11487
11488         * gst/gstbin.c: (gst_bin_change_state):
11489         Better debugging.
11490
11491         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
11492         Also call pad_block in pad alloc.
11493
11494         * gst/gstutils.c: (gst_flow_get_name):
11495         Better debugging.
11496
11497 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11498
11499         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11500         (gst_base_src_get_range):
11501           Fix documentation typos. Add some more debug info.
11502
11503 2005-09-29  David Schleef  <ds@schleef.org>
11504
11505         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
11506           more end-user friendly.
11507         * tools/gst-inspect.c: (main): Check if command-line argument is
11508           a file and attempt to load that file as a plugin.
11509
11510 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11511
11512         * check/gst/gstbin.c:
11513         * check/states/sinks.c:
11514           fix tests for the new warning
11515         * check/gst/gstpipeline.c:
11516           add a test for pipeline and bus interaction
11517         * gst/gstelement.c:
11518           elements should be NULL if they get disposed; add a warning if not
11519
11520 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11521
11522         * gst/gstobject.c:
11523           for 2.6 refcounting, make debug log more correct by printing
11524           the actual refcounts at the time of swap (Wim)
11525
11526 2005-09-29  Andy Wingo  <wingo@pobox.com>
11527
11528         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
11529         removes signal watches previously added via
11530         gst_bus_add_signal_watch.
11531         (gst_bus_add_signal_watch): Don't return the source id, just store
11532         it on the bus if there wasn't an id already.
11533
11534         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
11535         add_signal_watch and remove_signal_watch.
11536
11537 2005-09-29  Edward Hervey  <edward@fluendo.com>
11538
11539         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
11540         Better if we actually iterate the list :)
11541
11542 2005-09-29  Wim Taymans  <wim@fluendo.com>
11543
11544         * check/gst/gstbin.c: (GST_START_TEST):
11545         Change for new bus API.
11546
11547         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11548         (send_messages), (GST_START_TEST), (gstbus_suite):
11549         Change for new bus signal API.
11550
11551         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
11552         (gst_bus_source_prepare), (gst_bus_source_check),
11553         (gst_bus_create_watch), (gst_bus_add_watch_full),
11554         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
11555         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
11556         * gst/gstbus.h:
11557         Remove support for multiple GSources operating on different
11558         message types as it is too complex and unneeded when using
11559         signals.
11560         Added support for receiving signals from the bus.
11561
11562 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11563
11564         * docs/libs/tmpl/gstdataprotocol.sgml:
11565         * docs/manual/advanced-dataaccess.xml:
11566         * gst/elements/gstcapsfilter.c:
11567         * gst/gstutils.c:
11568           rename filter-caps to caps property
11569
11570 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11571
11572         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11573           More robust fraction string parsing.
11574
11575         * docs/pwg/appendix-porting.xml:
11576           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
11577
11578 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11579
11580         * gst/gstcaps.c: (gst_caps_do_simplify):
11581           Thou shalt not free a structure and then continue using it
11582           in the next loop iteration.
11583
11584         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
11585         (gst_caps_suite):
11586           Add test case for caps simplification.
11587
11588 2005-09-29  Wim Taymans  <wim@fluendo.com>
11589
11590         * check/gst/gstbin.c: (GST_START_TEST):
11591         Oops.
11592
11593 2005-09-29  Wim Taymans  <wim@fluendo.com>
11594
11595         * check/gst/gstbin.c: (GST_START_TEST):
11596         Add bus to bin.
11597
11598         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
11599         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11600         (find_element), (gst_bin_sort_iterator_next),
11601         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11602         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11603         (gst_bin_change_state), (gst_bin_dispose):
11604         A bin does not have a bus, it gets the bus from the parent.
11605
11606         * gst/gstelement.c: (gst_element_requires_clock),
11607         (gst_element_provides_clock), (gst_element_is_indexable),
11608         (gst_element_is_locked_state), (gst_element_change_state),
11609         (gst_element_set_bus_func):
11610         Small cleanups.
11611
11612         * gst/gstpipeline.c: (gst_pipeline_class_init),
11613         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
11614         The pipeline provides a bus.
11615
11616 2005-09-28  Johan Dahlin  <johan@gnome.org>
11617
11618         * gst/gstmessage.c (gst_message_parse_state_changed): Use
11619         gst_structure_get_enum instead of gst_structure_get_int
11620
11621         * gst/gststructure.c (gst_structure_get_enum): Impl.
11622
11623         * gst/gststructure.h (gst_structure_get_enum): Add
11624
11625         * docs/gst/gstreamer-sections.txt: Ditto
11626
11627         * gst/gstmessage.c (gst_message_new_state_changed): Use
11628         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
11629         which does introspection.
11630         Reviewed by Christian Schaller
11631
11632 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11633
11634         * gst/gstinfo.c: (gst_debug_log_default):
11635           don't do dummy g_strdup()s
11636         * libs/gst/controller/gstcontroller.c:
11637         (on_object_controlled_property_changed),
11638         (gst_controlled_property_new), (gst_controller_new_valist),
11639         (gst_controller_new_list),
11640         (gst_controller_remove_properties_valist), (gst_controller_set),
11641         (gst_controller_get), (gst_controller_sync_values),
11642         (gst_controller_get_value_array), (_gst_controller_class_init),
11643         (gst_controller_get_type):
11644         * libs/gst/controller/gstcontroller.h:
11645         * libs/gst/controller/gstinterpolation.c:
11646         (gst_controlled_property_find_timed_value_node):
11647           convert // to /**/ comments
11648
11649 2005-09-28  Wim Taymans  <wim@fluendo.com>
11650
11651         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
11652         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
11653         (gst_bus_sync_signal_handler):
11654         * gst/gstbus.h:
11655         Added async-message and sync-message signals to the bus.
11656         Added helper BusFunc to emit signals for all posted messages.
11657
11658         * gst/gstmessage.c: (gst_message_type_get_name),
11659         (gst_message_type_to_quark), (gst_message_get_type):
11660         * gst/gstmessage.h:
11661         Register quarks for message names.
11662
11663 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11664
11665         * docs/libs/gstreamer-libs-sections.txt:
11666         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11667         (gst_controller_new_list):
11668         * libs/gst/controller/gstcontroller.h:
11669           added another constructor for language bindings
11670
11671 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11672
11673         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11674           add another check
11675         * gst/gstbus.c:
11676           add some doc
11677         * gst/gstinfo.c: (_gst_debug_init):
11678           slightly more readable color for refcount debugging
11679
11680 2005-09-28  Wim Taymans  <wim@fluendo.com>
11681
11682         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11683         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11684         (find_element), (gst_bin_sort_iterator_next),
11685         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11686         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11687         (gst_bin_change_state), (gst_bin_dispose):
11688         Small doc fixes. get_clock -> provide_clock.
11689
11690         * gst/gstelement.c: (gst_element_class_init),
11691         (gst_element_provides_clock), (gst_element_provide_clock),
11692         (gst_element_get_clock), (gst_element_commit_state),
11693         (gst_element_lost_state):
11694         * gst/gstelement.h:
11695         Make get/set_clock() symetric. Add provide_clock vmethod since
11696         that is actually what this function does.
11697
11698         * gst/gstpipeline.c: (gst_pipeline_class_init),
11699         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
11700         (gst_pipeline_get_clock):
11701         get_clock -> provide_clock.
11702
11703 2005-09-28  Andy Wingo  <wingo@pobox.com>
11704
11705         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
11706         lieu of real docs...
11707
11708         * gst/elements/gstfdsrc.c: Cleaned up a bit.
11709
11710 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
11711
11712         * gst/elements/gstcapsfilter.c:
11713         * gst/elements/gstfakesink.c:
11714         * gst/elements/gstfakesrc.c:
11715         * gst/elements/gstfdsink.c:
11716         * gst/elements/gstfdsrc.c:
11717         * gst/elements/gstfilesink.c:
11718         * gst/elements/gstfilesrc.c:
11719         * gst/elements/gstidentity.c:
11720         * gst/elements/gsttee.c:
11721         * gst/elements/gsttypefindelement.c:
11722           Make element details static.
11723
11724 2005-09-28  Wim Taymans  <wim@fluendo.com>
11725
11726         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11727         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11728         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11729         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11730         (gst_bin_change_state), (gst_bin_dispose):
11731         Some documentation updates.
11732         Clean up dispose handlers.
11733
11734         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
11735         * gst/gstpad.c: (gst_pad_dispose):
11736         Clean up dispose handler.
11737
11738         * gst/gstpipeline.c: (gst_pipeline_change_state):
11739         Removed spurious UNLOCK.
11740
11741 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
11742
11743         * docs/gst/gstreamer-sections.txt:
11744         * gst/base/gstbasesrc.h:
11745         * gst/gstelement.h:
11746         * gst/gstevent.h:
11747         * gst/gstobject.h:
11748         * gst/gstpad.h:
11749         * gst/gstpipeline.c:
11750         * gst/gstpipeline.h:
11751         * gst/gstutils.h:
11752         * gst/gstxml.h:
11753           added two new functions to the docs
11754                 documents all undocumented GstXXXFlags
11755                 completed some incomplete docs 
11756
11757 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11758
11759         * gst/gstbin.c: (gst_bin_dispose):
11760         * gst/gstelement.c: (gst_element_dispose):
11761           remove now useless and leaky resurrection code in dispose
11762         * gst/base/gstbasesrc.c: (gst_base_src_init):
11763         * gst/gstelementfactory.c: (gst_element_factory_create):
11764         * gst/gstobject.c: (gst_object_set_parent):
11765           add some debugging
11766
11767 2005-09-27  Wim Taymans  <wim@fluendo.com>
11768
11769         * docs/design/part-TODO.txt:
11770         Update TODO.
11771
11772         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11773         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11774         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11775         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11776         (gst_bin_change_state):
11777         * gst/gstelement.h:
11778         Remove element variable, we keep element info in the iterator now.
11779
11780 2005-09-27  Andy Wingo  <wingo@pobox.com>
11781
11782         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
11783         values.
11784
11785 2005-09-27  Wim Taymans  <wim@fluendo.com>
11786
11787         * check/gst/gstbin.c: (GST_START_TEST):
11788         Enable check that works now.
11789
11790         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11791         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11792         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11793         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11794         (gst_bin_change_state):
11795         * gst/gstbin.h:
11796         Redid the state change algorithm using a topological sort algo.
11797         Handles all cases correctly.
11798         Exposed iterator for state change order.
11799
11800         * gst/gstelement.h:
11801         Temp storage for state changes. Need to get rid of this soon.
11802
11803 2005-09-27  Wim Taymans  <wim@fluendo.com>
11804
11805         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
11806         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
11807         (link_fold_func), (gst_pad_proxy_setcaps):
11808         Leak fixes, the fold functions need to unref the passed object and
11809         _get_parent_*() returns ref to parent.
11810
11811 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11812
11813         * check/gst/gstbuffer.c: (test_make_writable):
11814           Plug leak in test case and fix 'make check-valgrind'
11815
11816 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11817
11818         * gst/gstbuffer.c: (gst_subbuffer_init):
11819           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
11820           works correctly in all circumstances (we could have just copied
11821           the parent buffer's readonly flag, but conceptually it seems
11822           cleaner to mark all subbuffers as read-only). (based on patch
11823           by Alessandro Decina, #314710).
11824         
11825         * check/gst/gstbuffer.c: (create_read_only_buffer),
11826         (test_make_writable), (test_subbuffer_make_writable),
11827         (gst_test_suite):
11828           Add some tests for gst_buffer_make_writable().
11829
11830 2005-09-27  Wim Taymans  <wim@fluendo.com>
11831
11832         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
11833         use gst_object_has_ancestor().
11834
11835         * gst/gstobject.c: (gst_object_has_ancestor):
11836         * gst/gstobject.h:
11837         gst_object_has_ancestor() copied from gstbin.c as it is a
11838         usefull function.
11839
11840         * tests/instantiate/create.c: (create_all_elements):
11841         * tests/lat.c: (handoff_src), (handoff_sink):
11842         * tests/sched/runxml.c: (main):
11843         * tests/seeking/seeking1.c: (main):
11844         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11845         (main):
11846         Fix compilation of some tests.
11847
11848 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11849
11850         * gst/gsterror.h:
11851           Remove comment. GST_TYPE_G_ERROR is here to stay,
11852           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
11853           (#316961, #300610).
11854
11855 2005-09-26  Wim Taymans  <wim@fluendo.com>
11856
11857         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11858         Added check that shows error in state change order.
11859
11860 2005-09-26  Wim Taymans  <wim@fluendo.com>
11861
11862         * gst/gstbin.c: (gst_bin_change_state):
11863         Make state change function use 3 queues again, we were
11864         adding elements in the wrong order.
11865
11866         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11867         Some debug info,
11868
11869         * gst/gstpad.c: (gst_pad_dispose):
11870         Added some debug info first.
11871
11872 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
11873
11874         * docs/design/draft-push-pull.txt:
11875         * docs/design/part-events.txt:
11876         * docs/design/part-overview.txt:
11877         * docs/design/part-scheduling.txt:
11878           Replace all _pull_region() with _pull_range()
11879           
11880 2005-09-26  Andy Wingo  <wingo@pobox.com>
11881
11882         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
11883
11884         * check/gst-libs/controller.c: Update for controller api change.
11885
11886         * configure.ac: 
11887         * tests/Makefile.am:
11888         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
11889         over by GLib bug 118439.
11890         
11891         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
11892         routines to a function.
11893
11894         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
11895
11896         * libs/gst/controller/gsthelper.c:
11897         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
11898         (gst_object_sync_values): Renamed from sink_values. Ugh.
11899
11900         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
11901
11902         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
11903         Renamed from controller_key, as it is exported.
11904
11905         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
11906
11907 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11908
11909         * gst/Makefile.am:
11910         * gst/gst.h:
11911         * gst/gstpad.h:
11912         * gst/gstpadtemplate.h:
11913         * gst/gstquery.c:
11914         * gst/gstquery.h:
11915         * gst/gstqueryutils.c:
11916         * gst/gstqueryutils.h:
11917           remove queryutils headers after moving the two used functions
11918           to gstquery.  also fixes build problem for gstsiddec
11919
11920 2005-09-26  Michael Smith <msmith@fluendo.com>
11921
11922         * tools/gst-launch.1.in:
11923         Correct documentation in manpage of debug syntax
11924
11925 2005-09-26  Wim Taymans  <wim@fluendo.com>
11926
11927         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11928         (gst_base_src_is_seekable), (gst_base_src_change_state):
11929         Some more debugging info.
11930
11931 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11932
11933         * docs/gst/gstreamer-sections.txt:
11934         * gst/base/gstbasetransform.h:
11935         * gst/gstindex.h:
11936           added more docs
11937
11938 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11939
11940         * docs/gst/.cvsignore:
11941         * docs/gst/tmpl/.cvsignore:
11942         * docs/gst/tmpl/gstpipeline.sgml:
11943         * docs/gst/tmpl/gstplugin.sgml:
11944         * gst/gstpipeline.c:
11945         * gst/gstplugin.c:
11946         * gst/gstplugin.h:
11947           inlined the last two docs files
11948           removed the tmpl directory from cvs (no more conflicts here!)
11949
11950 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11951
11952         * docs/gst/gstreamer-sections.txt:
11953         * docs/gst/tmpl/.cvsignore:
11954         * docs/gst/tmpl/gstpad.sgml:
11955         * docs/gst/tmpl/gstpadtemplate.sgml:
11956         * gst/Makefile.am:
11957         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11958         (gst_pad_finalize), (gst_pad_set_pad_template):
11959         * gst/gstpad.h:
11960         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11961         (gst_pad_template_class_init), (gst_pad_template_init),
11962         (gst_pad_template_dispose), (name_is_valid),
11963         (gst_static_pad_template_get), (gst_pad_template_new),
11964         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11965         (gst_pad_template_pad_created):
11966         * gst/gstpadtemplate.h:
11967           inlined two more docs
11968           factored gstpadtemplate out of gstpad
11969
11970 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11971
11972         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11973         (test_children_state_change_order_semi_sink):
11974           Fix test case: we can't rely on a fixed state change order when
11975           going from READY => PAUSED because the sink might commit its 
11976           new state first when the first buffer created by the source 
11977           reaches the sink before the source has finished its change state.
11978           (Test case still fails at times, see #316856, comment 5 onwards)
11979
11980 2005-09-24  Wim Taymans  <wim@fluendo.com>
11981
11982         * docs/design/part-events.txt:
11983         * docs/design/part-gstbus.txt:
11984         * docs/design/part-gstpipeline.txt:
11985         * docs/design/part-messages.txt:
11986         * docs/design/part-overview.txt:
11987         * docs/design/part-segments.txt:
11988         * gst/gstbin.c:
11989         * gst/gstbuffer.c:
11990         * gst/gstclock.c:
11991         * gst/gstelement.c:
11992         * gst/gstevent.c:
11993         * gst/gstfilter.c:
11994         * gst/gstiterator.c:
11995         Various documentation updates.
11996
11997 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11998
11999         * gst/gstclock.h:
12000           Well, that's embarassing.  Luckily we weren't using
12001           GST_CLOCK_DIFF anywhere.
12002
12003 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12004
12005         * common/gtk-doc.mak:
12006           don't fail on building XML, FC4 slave shows a bunch of doc
12007           missing bits that I don't get
12008         * gst/gstpad.c:
12009         * gst/gstpipeline.c:
12010         * gst/gststructure.c:
12011           some doc updates
12012
12013 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12014
12015         * docs/design/part-gstbin.txt:
12016         * docs/design/part-gstbus.txt:
12017         * gst/gstbus.c:
12018           Add blurb about how the bus goes into flushing mode and
12019           drops all messages when its bin goes from READY into NULL 
12020           state.
12021
12022 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12023
12024         * docs/gst/gstreamer-sections.txt:
12025         * gst/gststructure.c: (gst_structure_get_clock_time):
12026         * gst/gststructure.h:
12027           add a method to get a GstClockTime out of a structure
12028
12029 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12030
12031         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12032         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12033           Added test to check state change order in bins (can still be made
12034           to fail here under heavy disk load; bails out with 'Push on pad
12035           fakesink:sink0, but it was not activated in push mode').
12036
12037         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12038           Fix state change order when there is only a semi sink (#316856)
12039
12040         * gst/gstbus.c: (gst_bus_class_init):
12041           Use _class_peek_parent(), not _class_ref(); fix docs to say
12042           'default main context' instead of 'mainloop' where that is
12043           what's meant.
12044
12045         * gst/gstelement.c: (gst_element_commit_state),
12046         (gst_element_set_state):
12047           Fix typos in debug messages
12048
12049 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12050
12051         * docs/README:
12052         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12053         * gst/gstpluginfeature.c:
12054         * gst/gstutils.c:
12055           various doc updates
12056         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12057           change an assert into an error until it gets fixed properly
12058
12059 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12060
12061         * docs/gst/gstreamer-sections.txt:
12062         * docs/gst/tmpl/.cvsignore:
12063         * docs/gst/tmpl/gstelement.sgml:
12064         * docs/gst/tmpl/gstinfo.sgml:
12065         * docs/gst/tmpl/gstobject.sgml:
12066         * gst/gstelement.c:
12067         * gst/gstelement.h:
12068         * gst/gstinfo.c:
12069         * gst/gstinfo.h:
12070         * gst/gstobject.c: (gst_object_class_init):
12071         * gst/gstobject.h:
12072           inlined 3 more biiiig doc files and added some missing docs on the fly
12073
12074 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12075
12076         * check/gst/.cvsignore:
12077         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12078         * gst/gstregistryxml.c: (load_plugin),
12079         (gst_registry_xml_save_plugin):
12080           put back source in registry.  add checks for find_plugin.
12081         * testsuite/states/bin.c: (assert_state), (empty_bin),
12082         (test_adding_one_element), (main):
12083         * testsuite/states/locked.c: (main):
12084           some compile/run fixes
12085
12086 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12087
12088         * check/gst/gstvalue.c: (GST_START_TEST):
12089           fix leaks in the test itself
12090
12091 2005-09-22  Wim Taymans  <wim@fluendo.com>
12092
12093         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12094         (gst_base_sink_send_event), (gst_base_sink_peer_query),
12095         (gst_base_sink_query):
12096         Prepare for more accurate position reporting and query
12097         handling.
12098
12099         * gst/gstelement.c: (gst_element_send_event),
12100         (gst_element_set_state):
12101         Add some comment.
12102
12103 2005-09-22  Wim Taymans  <wim@fluendo.com>
12104
12105         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12106         (gst_query_parse_segment):
12107         * gst/gstquery.h:
12108         More documentation.
12109         Add segment query for future use.
12110
12111 2005-09-22  Wim Taymans  <wim@fluendo.com>
12112
12113         * gst/gstbin.c: (gst_bin_add_func):
12114         Some more debug info.
12115
12116         * gst/gstelement.c: (gst_element_send_event):
12117         Simplify send_event
12118
12119         * gst/gstelement.h:
12120         Don't know how flags got broken.
12121
12122         * gst/gstquery.h:
12123         Added new query.
12124
12125 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12126
12127         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
12128           Add simplistic test suite for GST_TYPE_DATE serialisation and
12129           deserialisation.
12130
12131 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12132
12133         * docs/gst/gstreamer-sections.txt:
12134         * gst/gststructure.c: (gst_structure_set_valist),
12135         (gst_structure_get_date):
12136         * gst/gststructure.h:
12137         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
12138         (gst_date_copy), (gst_value_compare_date),
12139         (gst_value_serialize_date), (gst_value_deserialize_date),
12140         (gst_value_transform_date_string),
12141         (gst_value_transform_string_date), (_gst_value_initialize):
12142         * gst/gstvalue.h:
12143           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
12144           bunch of utility functions along with a hack that checks that
12145           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
12146           is required. Part of the grand scheme in #170777.
12147
12148 2005-09-22  Andy Wingo  <wingo@pobox.com>
12149
12150         * gst/gstconfig.h.in: Psych out gtk-doc.
12151
12152         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
12153
12154         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
12155
12156         * tools/gst-inspect.c (print_element_list): Plug some
12157         inconsequential leaks.
12158
12159         * gst/gstregistry.c (gst_registry_get_default): Doc.
12160
12161         * check/gst/gstplugin.c: 
12162         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
12163         * gst/gstelementfactory.c (gst_element_factory_create): 
12164         * gst/gstindexfactory.c (gst_index_factory_create): Update for
12165         refcount changes.
12166
12167         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
12168         (gst_plugin_feature_load): Doc, don't eat refs.
12169
12170         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
12171         (gst_plugin_list_free): Doc.
12172         (gst_plugin_load_file): Doc updates.
12173
12174         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
12175         accessors returning refcounted objects, return a ref.
12176
12177         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
12178         accessor for caps. IDEMPOTENCE. Oh yes.
12179
12180 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
12181
12182         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12183
12184         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12185         (_gst_debug_register_funcptr):
12186           Add mutex to serialise access to the hash table with
12187           the function pointer => function name string mapping;
12188           make that hash table static scope (#316809).
12189
12190         * gst/registries/.cvsignore:
12191           Remove left-over file.
12192
12193 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12194
12195         * docs/pwg/appendix-porting.xml:
12196           And something about newsegment events and caps-on-buffers to
12197           the porting guide (feel free to improve).
12198
12199 2005-09-21  Andy Wingo  <wingo@pobox.com>
12200
12201         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
12202         data and event probes on the same pad.
12203         (test_buffer_probe_once): Test that removing probes from within
12204         the probe functions works.
12205
12206 2005-09-21  Andy Wingo  <wingo@pobox.com>
12207
12208         * check/gst/gstutils.c: New file.
12209         (test_buffer_probe_n_times): A simple buffer probe test. More to
12210         come, foolios.
12211
12212         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
12213         have-data::buffer, not have-data.
12214         (gst_pad_add_event_probe): Likewise for have-data::event.
12215         (gst_pad_add_data_probe): More docs. The part about 'resolving the
12216         peer' isn't quite right yet though.
12217         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
12218         (gst_pad_remove_data_probe): Change to take the guint handler_id
12219         as their arg, not the function+data, which is more glib-like.
12220
12221         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
12222         the signal emission to indicate if the data is a buffer or an
12223         event.
12224         (gst_pad_get_type): Initialize buffer and event quarks.
12225         (gst_pad_class_init): have-data is now a detailed signal, yes it
12226         is.
12227
12228 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12229
12230         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12231         * gst/gstutils.c: (gst_util_set_value_from_string),
12232         (gst_util_set_object_arg):
12233           Don't put functional code in g_return_if_fail() or
12234           g_return_val_if_fail() statements, otherwise things will 
12235           break when G_DISABLE_CHECKS is defined during compilation.
12236
12237 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12238
12239         * docs/gst/tmpl/.cvsignore:
12240         * docs/gst/tmpl/gstvalue.sgml:
12241         * gst/gstvalue.c:
12242         * gst/gstvalue.h:
12243           inlied another one and added  some obvious docs
12244
12245 2005-09-21  Wim Taymans  <wim@fluendo.com>
12246
12247         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12248         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
12249         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
12250         (gst_fdsrc_get_property), (gst_fdsrc_create):
12251         * gst/elements/gstfdsrc.h:
12252         Properly implement fdsrc. Removed signal and timeout,
12253         better implemented somewhere else.
12254
12255 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12256
12257         * docs/gst/tmpl/.cvsignore:
12258         * docs/gst/tmpl/gstimplementsinterface.sgml:
12259         * gst/gstinterface.c:
12260           inlined more docs
12261
12262 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12263
12264         * docs/gst/gstreamer-sections.txt:
12265         * docs/gst/tmpl/.cvsignore:
12266         * docs/gst/tmpl/gstenumtypes.sgml:
12267           remove obsolete doc file
12268
12269 2005-09-21  David Schleef  <ds@schleef.org>
12270
12271         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
12272         little beer, fix a little leak.
12273
12274 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12275
12276         * docs/gst/gstreamer-docs.sgml:
12277         * docs/gst/gstreamer-sections.txt:
12278         * docs/gst/tmpl/.cvsignore:
12279         * gst/Makefile.am:
12280         * gst/gst.h:
12281         * gst/gstbin.c:
12282         * gst/gstelement.h:
12283         * gst/gstindex.c: (gst_index_class_init):
12284         * gst/gstindex.h:
12285         * gst/gstindexfactory.c: (gst_index_factory_get_type),
12286         (gst_index_factory_class_init), (gst_index_factory_init),
12287         (gst_index_factory_finalize), (gst_index_factory_new),
12288         (gst_index_factory_destroy), (gst_index_factory_find),
12289         (gst_index_factory_create), (gst_index_factory_make):
12290         * gst/gstindexfactory.h:
12291         * gst/gstpluginfeature.c:
12292         * gst/gstpluginfeature.h:
12293         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12294           more docs inlined, splitted gstindex.{c,h}
12295
12296 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12297
12298         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12299           fix a leak
12300
12301 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12302
12303         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12304           Set sync to FALSE by default.
12305
12306 2005-09-20  Wim Taymans  <wim@fluendo.com>
12307
12308         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12309         (gst_base_sink_init):
12310         Make sync property settable from subclass.
12311
12312         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12313         (gst_fake_sink_change_state):
12314         Set sync to FALSE by default.
12315
12316 2005-09-20  Wim Taymans  <wim@fluendo.com>
12317
12318         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
12319         * tools/gst-launch.c: (main):
12320         The timeout handler should have lower priority than the source
12321         so we don't timeout before popping a message with 0 timeout.
12322         Dump error messages after failed state change.
12323
12324 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12325
12326         * tools/gst-inspect.c: (print_element_properties_info):
12327           Fix two typos.
12328
12329 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12330
12331         * check/gst/gstevent.c:
12332         * gst/elements/gstfakesink.c:
12333         * gst/elements/gstfakesink.h:
12334           remove the sync property from fakesink.
12335           has the side effect of setting sync TRUE
12336           for fakesink, which is a change.  Anyone who knows how
12337           to fix this nicely in a GObject-y way, feel free.
12338
12339 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12340
12341         * docs/gst/gstreamer-docs.sgml:
12342           remove probe refsection
12343
12344 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12345
12346         * check/Makefile.am:
12347           disable valgrinding the controller test again
12348         * docs/gst/gstreamer-sections.txt:
12349           update for api-changes
12350
12351 2005-09-20  Wim Taymans  <wim@fluendo.com>
12352
12353         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12354         (gst_base_sink_set_property), (gst_base_sink_get_property),
12355         (gst_base_sink_do_sync):
12356         * gst/base/gstbasesink.h:
12357         Added sync property to basesink to disable clock sync.
12358
12359 2005-09-20  Andy Wingo  <wingo@pobox.com>
12360
12361         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
12362         eating the caller's refcount.
12363
12364         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
12365         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
12366         refcount.
12367
12368         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
12369         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
12370         of GLib 2.8 public, so we can know which refcount to check in
12371         tests.
12372
12373         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
12374         (gst_object_init): Only set the gst refcount if we're going ahead
12375         with the refcount hack.
12376
12377 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12378
12379         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12380         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12381           more leaks plumbed, added more debug-logging
12382         * gst/gstmacros.h:
12383           whitespace fix
12384
12385 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12386
12387         * gst/gstmessage.c:
12388           remove include of gstmemchunk.h
12389
12390 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12391
12392         * gst/gstclock.c: (_gst_clock_id_free):
12393           Commit from the Political Party For More Atomic CVS Commits,
12394           so that people don't waste too much of their day fishing
12395           out obvious leaks out of massive commits.
12396           Oh, and fix a pretty damn obvious leak in the memchunk
12397           removal code.
12398
12399 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12400
12401         * check/Makefile.am:
12402         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12403           plug mem-leak, re-add to valgrindable tests
12404
12405 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12406
12407         * gst/gstplugin.h:
12408           unbreak the build for those who have chronic arthritis
12409           and typing "make check" is just too taxing on the hands
12410
12411 2005-09-20  Andy Wingo  <wingo@pobox.com>
12412
12413         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
12414         really want it out, you should fix plugins at the same time.
12415
12416 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
12417
12418         * configure.ac:
12419         * docs/gst/gstreamer-sections.txt:
12420         * gst/gstobject.c:
12421           added missing symbols to api docs
12422           disable ref-count hack if we have glib >= 2.8
12423
12424 2005-09-19  David Schleef  <ds@schleef.org>
12425
12426         * docs/gst/Makefile.am: Ignore a few more internal headers
12427         * docs/gst/gstreamer-docs.sgml: Remove old sections
12428         * docs/gst/gstreamer-sections.txt: Remove old sections
12429         * docs/gst/tmpl/gstobject.sgml: update
12430         * docs/gst/tmpl/gstplugin.sgml: update
12431         * docs/gst/tmpl/gstpluginfeature.sgml: update
12432         * docs/random/ds/0.9-suggested-changes: update.
12433         * gst/Makefile.am: remove memchunk and trashstack, since they're
12434           not used.
12435         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
12436         * gst/gst.h: don't include some headers
12437         * gst/gstchildproxy.c: add gstmarshal.h
12438         * gst/gstclock.c: Don't use memchunks
12439         * gst/gstminiobject.c: Add some docs
12440         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
12441         * gst/gstobject.h: same
12442         * gst/gstplugin.c: include gstmacros.h
12443         * gst/gstplugin.h: don't include gstmacros.h, since it's private
12444         * gst/gstquery.c: don't use memchunks
12445         * gst/gstregistry.c: rename gst_registry_deinit()
12446         * gst/gstregistry.h: same
12447
12448 2005-09-19  David Schleef  <ds@schleef.org>
12449
12450         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
12451         * docs/libs/gstreamer-libs-sections.txt:
12452         * docs/libs/tmpl/gstgetbits.sgml:
12453         * docs/libs/tmpl/gstputbits.sgml:
12454
12455 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
12456
12457         * win32/gstenumtypes.c:
12458         * win32/gstenumtypes.h:
12459           Update.
12460
12461 2005-09-19  Wim Taymans  <wim@fluendo.com>
12462
12463         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
12464         Automatically PAUSE and RESUME a pipeline when a flushing seek
12465         is performed.
12466
12467 2005-09-19  Andy Wingo  <wingo@pobox.com>
12468
12469         * gst/gstregistry.h: Spacing fixen.
12470
12471 2005-09-19  Wim Taymans  <wim@fluendo.com>
12472
12473         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
12474         Handle state change failure more correctly.
12475
12476 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12477
12478         * check/Makefile.am:
12479         * check/pipelines/cleanup.c: (run_pipeline):
12480         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12481         (GST_START_TEST):
12482           enable cleanup again after fixing the leak
12483         * docs/README:
12484           some more info on docs
12485
12486 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12487
12488         * check/Makefile.am:
12489           re-enable tests now that leaks are plugged
12490         * check/gst/gst.c:
12491         * check/gst/gstbin.c:
12492         * check/gst/gstpipeline.c:
12493           add some more tests while fixing leaks
12494         * common/check.mak:
12495           make sure binaries are uptodate when valgrinding/gdbing
12496         * gst/gst.c:
12497         * gst/gstelementfactory.c:
12498           remove a ref too many, and add a FIXME for when we get
12499           round to disposing of classes
12500         * gst/gstplugin.c:
12501           fix the refcounting when loading a plugin from a file and
12502           the code pretends that the pointer is the same even though
12503           of course it can change
12504         * gst/gstpluginfeature.c:
12505           unref plugins marked cached (a bit confusing as a name)
12506           as the docs state should be done
12507           various doc additions to explain refcounting
12508         * gst/gstregistry.c:
12509         * gst/gstregistryxml.c:
12510           debugging
12511
12512 2005-09-19  Wim Taymans  <wim@fluendo.com>
12513
12514         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12515         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12516         (send_messages), (GST_START_TEST), (gstbus_suite):
12517         * check/gst/gstpipeline.c: (GST_START_TEST):
12518         * check/pipelines/cleanup.c: (run_pipeline):
12519         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12520         (GST_START_TEST):
12521         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
12522         (gst_bus_source_check), (gst_bus_source_dispatch),
12523         (gst_bus_create_watch), (gst_bus_add_watch_full),
12524         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
12525         * gst/gstbus.h:
12526         * tools/gst-launch.c: (event_loop):
12527         * tools/gst-md5sum.c: (event_loop):
12528         GstBusHandler -> GstBusFunc, return value has the same meaning as
12529         any other GSource (FALSE == remove source).
12530         _add_watch() and _add_watch_full() now take a MessageType mask to
12531         only handle specific types of messages.
12532         _poll() returns the GstMessage instead of the message type to avoid
12533         race conditions.
12534         _have_pending() takes a MessageType mask now too.
12535         Added testsuite for multiple bus watches.
12536         Fix testsuites and applications for new bus API.
12537
12538 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12539
12540         * check/Makefile.am:
12541           mark a bunch of the tests as to fix until we fix them
12542
12543 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12544
12545         * common/check.mak:
12546           use GST_PLUGIN settings for valgrind tests as well, so we're
12547           valgrinding the correct thing
12548         * gst/gst.c: (init_post):
12549           plug another leak
12550
12551 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12552
12553         * gst/gst.c: (init_post), (gst_deinit):
12554         * gst/gstelementfactory.c: (gst_element_factory_class_init),
12555         (gst_element_factory_finalize), (gst_element_factory_cleanup):
12556         * gst/gstindex.c: (gst_index_factory_class_init),
12557         (gst_index_factory_finalize):
12558         * gst/gstobject.c: (gst_object_dispose):
12559         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12560         (gst_plugin_load_file), (gst_plugin_desc_free):
12561         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
12562         (gst_plugin_feature_finalize):
12563         * gst/gstregistry.c: (gst_registry_class_init),
12564         (gst_registry_init), (gst_registry_finalize),
12565         (gst_registry_get_default), (gst_registry_deinit):
12566         * gst/gstregistry.h:
12567         * gst/gstregistryxml.c: (load_feature), (load_plugin):
12568           various cleanups and memleak plugging.  make valgrind is happy now.
12569
12570 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12571
12572         * common/check.mak:
12573           add a check-valgrind target
12574
12575 2005-09-18  David Schleef  <ds@schleef.org>
12576
12577         * tools/gst-inspect.c: Revert the GOption code.
12578
12579 2005-09-17  David Schleef  <ds@schleef.org>
12580
12581         * check/Makefile.am: Fix environment variables.
12582         * check/gst/gstplugin.c: Fix for API changes.
12583         * tools/gst-inspect.c: Fix for API changes.
12584         * tools/gst-xmlinspect.c: Fix for API changes.
12585         * gst/gstelementfactory.c:
12586         * gst/gstplugin.c:
12587         * gst/gstplugin.h:
12588         * gst/gstpluginfeature.c:
12589         * gst/gstpluginfeature.h:
12590         * gst/gstregistry.c:
12591         * gst/gstregistry.h:
12592         * gst/gstregistryxml.c:
12593         * gst/gsttypefind.c:
12594         * gst/gsttypefindfactory.c:
12595         * gst/indexers/gstfileindex.c:
12596         * gst/indexers/gstmemindex.c:
12597         * gst/schedulers/Makefile.am:
12598           Change registry to keep track of both plugins and features,
12599           removing the feature tracking from plugins themselves.
12600
12601 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12602
12603         * check/Makefile.am:
12604         * tools/gst-register.1.in:
12605           remove gst-register
12606
12607 2005-09-15  David Schleef  <ds@schleef.org>
12608
12609         * check/gst/gstplugin.c:
12610         * gst/gstelementfactory.c:
12611         * gst/gstplugin.c:
12612         * gst/gstpluginfeature.c:
12613         * gst/gstregistry.c:
12614           Getting tired of debugging.  Disabled all the unreffing of
12615           plugins and features, which fixes the segfaults, but of
12616           course leaks like crazy.  At least playbin works.
12617
12618 2005-09-15  David Schleef  <ds@schleef.org>
12619
12620         * check/gst/gstplugin.c: (register_check_elements),
12621         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
12622         More testing
12623         * gst/elements/gsttypefindelement.c: Fix refcounting.
12624         * gst/gsttypefind.c:
12625         * gst/gsttypefindfactory.c:
12626         * gst/gsttypefindfactory.h:
12627
12628 2005-09-15  David Schleef  <ds@schleef.org>
12629
12630         * gst/gstindex.c: get refcounting correct.
12631         * gst/gstregistry.c: Handle the case where a feature/plugin is
12632           not found.
12633
12634 2005-09-15  David Schleef  <ds@schleef.org>
12635
12636         * check/Makefile.am:
12637         * check/gst/gstplugin.c: Add test
12638         * gst/gstplugin.c: Fix problems noticed by testsuite
12639         * gst/gstplugin.h:
12640         * gst/gstregistry.c: 
12641         * gst/gstregistry.h:
12642
12643 2005-09-15  David Schleef  <ds@schleef.org>
12644
12645         * gst/gstplugin.c: Implement semi-decent recounting and locking
12646           in plugins and plugin features.
12647         * gst/gstplugin.h:
12648         * gst/gstpluginfeature.c:
12649         * gst/gstpluginfeature.h:
12650         * gst/gstregistry.c:
12651
12652 2005-09-15  Michael Smith <msmith@fluendo.com>
12653
12654         * gst/gstregistry.c: (gst_registry_get_feature_list):
12655           Implement this. Makes oggdemux work; decodebin still broken.
12656
12657 2005-09-14  David Schleef  <ds@schleef.org>
12658
12659         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
12660           #316076)
12661         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
12662         * gst/check/Makefile.am:
12663         * libs/gst/controller/Makefile.am:
12664         * libs/gst/dataprotocol/Makefile.am:
12665
12666 2005-09-14  David Schleef  <ds@schleef.org>
12667
12668         * configure.ac: Remove getbits library.  Nothing uses it, and
12669           it should be in something like liboil if someone did want
12670           to use it.
12671         * libs/gst/Makefile.am:
12672         * libs/gst/getbits/Makefile.am:
12673         * libs/gst/getbits/gbtest.c:
12674         * libs/gst/getbits/getbits.c:
12675         * libs/gst/getbits/getbits.h:
12676         * libs/gst/getbits/gstgetbits_generic.c:
12677         * libs/gst/getbits/gstgetbits_i386.s:
12678         * libs/gst/getbits/gstgetbits_inl.h:
12679
12680 2005-09-14  David Schleef  <ds@schleef.org>
12681
12682         * gst/Makefile.am: Dist glib-compat.h
12683
12684 2005-09-14  David Schleef  <ds@schleef.org>
12685
12686         * configure.ac: Remove gst/registries, since it's no longer used.
12687         * gst/registries/Makefile.am:
12688         * gst/registries/gstlibxmlregistry.c:
12689         * gst/registries/gstlibxmlregistry.h:
12690         * gst/registries/gstxmlregistry.c:
12691         * gst/registries/gstxmlregistry.h:
12692         * gst/registries/registrytest.c:
12693
12694 2005-09-14  David Schleef  <ds@schleef.org>
12695
12696         * gst/glib-compat.h:
12697         * gst/gstregistryxml.c:
12698           Convergence is near.  Seriously.
12699
12700 2005-09-14  David Schleef  <ds@schleef.org>
12701
12702         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12703         * gst/glib-compat.h:
12704           Attempt #4 to appease the buildbots.
12705
12706 2005-09-14  David Schleef  <ds@schleef.org>
12707
12708         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12709           Attempt #3.
12710
12711 2005-09-14  David Schleef  <ds@schleef.org>
12712
12713         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12714         Attempt #2.
12715
12716 2005-09-14  David Schleef  <ds@schleef.org>
12717
12718         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
12719           the new functions.
12720
12721 2005-09-14  David Schleef  <ds@schleef.org>
12722
12723         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12724         * gst/glib-compat.h: Add some functions that are in newer versions
12725           of glib than we care to require.
12726         * gst/gstregistryxml.c: Use them.
12727
12728 2005-09-14  David Schleef  <ds@schleef.org>
12729
12730         * po/POTFILES.in: remove gst-register.c
12731
12732 2005-09-14  David Schleef  <ds@schleef.org>
12733
12734         * docs/gst/gstreamer-docs.sgml:
12735         * docs/gst/gstreamer-sections.txt:
12736         * docs/gst/gstreamer.types:
12737         * docs/gst/tmpl/gstelement.sgml:
12738         * docs/gst/tmpl/gstplugin.sgml:
12739         * docs/gst/tmpl/gstpluginfeature.sgml:
12740           Documentation updates for registry changes.
12741
12742 2005-09-14  David Schleef  <ds@schleef.org>
12743
12744         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
12745           because we don't require glib-2.8.
12746
12747 2005-09-14  David Schleef  <ds@schleef.org>
12748
12749         * gst/gstregistryxml.c: Added.  Essentially moved out of the
12750           registries directory.
12751
12752 2005-09-14  David Schleef  <ds@schleef.org>
12753
12754         * check/Makefile.am:
12755         * check/generic/states.c:
12756         * gst/Makefile.am:
12757         * gst/gst.c:
12758         * gst/gst.h:
12759         * gst/gst_private.h:
12760         * gst/gstelementfactory.c:
12761         * gst/gstindex.c:
12762         * gst/gstinfo.c:
12763         * gst/gstplugin.c:
12764         * gst/gstplugin.h:
12765         * gst/gstpluginfeature.c:
12766         * gst/gstpluginfeature.h:
12767         * gst/gstregistry.c:
12768         * gst/gstregistry.h:
12769         * gst/gstregistrypool.c: remove
12770         * gst/gstregistrypool.h: remove
12771         * gst/gsttypefind.c:
12772         * gst/gsttypefindfactory.c:
12773         * gst/gsturi.c:
12774         * tools/Makefile.am:
12775         * tools/gst-compprep.c:
12776         * tools/gst-inspect.c:
12777         * tools/gst-register.c: remove
12778         * tools/gst-xmlinspect.c:
12779           Registry rewrite.  Changes registry from being a file created
12780           by a tool into a simple cache file created automatically by 
12781           libgstreamer.  Removed gst-register (because it's no longer
12782           needed).  Remove registry pools, because we only have one
12783           registry implementation (XML).  Fix up other subsystems as
12784           necessary.
12785
12786 2005-09-13  Michael Smith <msmith@fluendo.com>
12787
12788         * gst/gstconfig.h.in:
12789           Don't Use windows linking attributes for MinGW. Fixes #316157
12790
12791 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12792
12793         * gst/gstutils.c: (set_state_async_thread_func),
12794         (gst_element_set_state_async):
12795           Apparently people think it's better if this function doesn't
12796           try to set the state to whatever state was asked for on the first
12797           call to this function for any object.  Seriously.
12798
12799 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12800
12801         * check/gst/gstpipeline.c: (GST_START_TEST):
12802         * docs/gst/gstreamer-sections.txt:
12803         * gst/gstutils.c: (set_state_async_thread_func),
12804         (gst_element_set_state_async):
12805         * gst/gstutils.h:
12806           add a "gst_element_set_state_async" method that
12807           sets the state and starts a thread to make sure the state
12808           change completes as best as it can
12809
12810 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12811
12812         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12813           codify design+behaviour in testsuite after discussion
12814
12815 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12816
12817         * docs/gst/tmpl/gstelement.sgml:
12818         * docs/manual/appendix-quotes.xml:
12819           add a quote
12820         * gst/gstelement.c: (gst_element_set_state):
12821           add some debug
12822
12823 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
12824
12825         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12826         (gst_base_transform_prepare_output_buf),
12827         (gst_base_transform_handle_buffer):
12828         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
12829         (gst_capsfilter_prepare_buf):
12830           Remove the requirement for sub-classes to call the parent
12831           implementation of prepare_output_buffer with a wrapper function.
12832           
12833         * gst/gsttaglist.h:
12834         * gst/gsttagsetter.h:
12835           Fix #define wrapper
12836
12837 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
12838
12839         * docs/gst/gstreamer-sections.txt:
12840           more doc cleanups
12841
12842 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12843
12844         * docs/gst/gstreamer-sections.txt:
12845         * docs/gst/tmpl/gstelement.sgml:
12846         * docs/gst/tmpl/gstplugin.sgml:
12847         * gst/gstminiobject.c:
12848         * gst/gstvalue.h:
12849           docs now stop throwing warnings
12850
12851 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12852
12853         * docs/gst/gstreamer-sections.txt:
12854         * docs/gst/gstreamer.types:
12855         * docs/gst/tmpl/gstpad.sgml:
12856         * docs/gst/tmpl/gsttypes.sgml:
12857         * gst/base/gstadapter.h:
12858         * gst/base/gstbasesink.h:
12859         * gst/base/gstbasesrc.h:
12860         * gst/gstbin.h:
12861         * gst/gstbuffer.h:
12862         * gst/gstbus.h:
12863         * gst/gstcaps.h:
12864         * gst/gstclock.h:
12865         * gst/gstelement.h:
12866         * gst/gstevent.h:
12867         * gst/gstmessage.h:
12868         * gst/gstpad.h:
12869         * gst/gststructure.c:
12870         * gst/registries/gstlibxmlregistry.h:
12871           various documentation fixes
12872
12873 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12874
12875         * docs/gst/gstreamer-sections.txt:
12876         * docs/gst/tmpl/gstvalue.sgml:
12877           rearrange gstvalue section
12878         * gst/gstutils.c: (gst_element_state_get_name):
12879           NONE -> VOID
12880         * gst/gstvalue.c: (_gst_value_initialize):
12881         * gst/gstvalue.h:
12882           doc updates
12883
12884 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
12885
12886         * check/gst-libs/controller.c:
12887           Header include fix.
12888         * gst/base/gstbasetransform.c:
12889         (gst_base_transform_default_prepare_buf),
12890         (gst_base_transform_handle_buffer):
12891         * gst/base/gstbasetransform.h:
12892           Some more basetransform changes and fixes to enable sub-classes
12893           that modify buffer metadata only.
12894         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12895         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
12896         (gst_capsfilter_prepare_buf):
12897           If the output pad has fixed allowed caps and input buffers 
12898           don't have any, set the fixed caps on outgoing buffers.
12899
12900 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
12901         * check/elements/identity.c: (GST_START_TEST):
12902           Make the error a little clearer when the test fails because
12903           identity made a copy of the buffer.
12904         * docs/gst/gstreamer-sections.txt:
12905           New symbols in gstbasetransform.h
12906         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12907         (gst_base_transform_init), (gst_base_transform_transform_size),
12908         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12909         (gst_base_transform_default_prepare_buf),
12910         (gst_base_transform_get_unit_size),
12911         (gst_base_transform_buffer_alloc),
12912         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12913         (gst_base_transform_change_state),
12914         (gst_base_transform_set_passthrough),
12915         (gst_base_transform_set_in_place),
12916         (gst_base_transform_is_in_place):
12917         * gst/base/gstbasetransform.h:
12918           Change BaseTransform to separate in_place operate from same_caps
12919           output. in_place implies that the element can perform the transform
12920           on incoming buffers in-place, even if the caps on the output are
12921           different.
12922           Sub-class elements can now implement special buffer allocation
12923           methods for outgoing buffers if they wish to.
12924           Big documentation addition.
12925         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12926         * gst/elements/gstelements.c:
12927           Changes for basetransform modifications.
12928         * gst/elements/Makefile.am:
12929         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12930           Compile fix. Extra debug output.
12931
12932 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12933
12934         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12935         (gst_pad_suite):
12936           add tests for valid pad naming
12937         * gst/check/gstcheck.c: (gst_check_log_message_func),
12938         (gst_check_log_critical_func):
12939           add ASSERT_WARNING
12940           remove printing of code, it is fragile when the code contains
12941           % and the line number is enough info
12942         * gst/check/gstcheck.h:
12943         * gst/gstpad.c: (gst_pad_template_new):
12944           fix memleaks
12945
12946 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12947
12948         * configure.ac:
12949           say what CHECK flags we use
12950         * docs/libs/gstreamer-libs.types:
12951         * libs/gst/controller/Makefile.am:
12952         * libs/gst/controller/gst-controller.c:
12953         * libs/gst/controller/gst-controller.h:
12954         * libs/gst/controller/gst-helper.c:
12955         * libs/gst/controller/gst-interpolation.c:
12956         * libs/gst/controller/gstcontroller.c:
12957         * libs/gst/controller/gsthelper.c:
12958         * libs/gst/controller/gstinterpolation.c:
12959         * tools/gst-inspect.c: (print_plugin_info):
12960           we don't use dashes in header names
12961
12962 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12963
12964         * check/Makefile.am:
12965         * check/gst/.cvsignore:
12966         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12967         (gst_pipeline_suite), (main):
12968           adding a test for pipelines and state changes
12969         * gst/gstutils.c: (get_state_func):
12970           add some debugging
12971         * gstreamer.spec.in:
12972           fix up spec file
12973
12974 2005-09-08  Michael Smith <msmith@fluendo.com>
12975
12976         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12977         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12978         (gst_file_src_is_seekable), (gst_file_src_get_size),
12979         (gst_file_src_start):
12980         * gst/elements/gstfilesrc.h:
12981           Various fixes for unseekable, unmmapable, and non-normal files, so
12982           that fallback to read() rather than mmap() works.
12983         * gst/gstevent.c: (gst_event_new_newsegment):
12984           Allow newsegment events with segment_start == segment_end, as will
12985           correctly happen if you use filesrc on a zero-size file, for
12986           example.
12987
12988 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12989
12990         * gst/gstplugin.c: (gst_plugin_load_file):
12991           Call g_module_close when we don't load the module
12992
12993         * gst/registries/gstlibxmlregistry.c:
12994         (gst_xml_registry_get_property):
12995           Port leak fix from 0.8
12996
12997 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12998
12999         * docs/gst/gstreamer-docs.sgml:
13000         * docs/gst/tmpl/.cvsignore:
13001         * docs/gst/tmpl/gsttrace.sgml:
13002         * docs/gst/tmpl/gsttrashstack.sgml:
13003         * gst/Makefile.am:
13004         * gst/gst.h:
13005         * gst/gstelement.h:
13006         * gst/gstevent.h:
13007         * gst/gstmessage.c:
13008         * gst/gstmessage.h:
13009         * gst/gsttag.c:
13010         * gst/gsttag.h:
13011         * gst/gsttaginterface.c:
13012         * gst/gsttaginterface.h:
13013         * gst/gsttaglist.c:
13014         * gst/gsttaglist.h:
13015         * gst/gsttagsetter.c:
13016         * gst/gsttagsetter.h:
13017         * gst/gsttrace.c:
13018         * gst/gsttrace.h:
13019         * gst/gsttrashstack.c:
13020           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13021           inlined docs for gsttrace, gsttrashstack
13022
13023 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13024
13025         * gst/Makefile.am:
13026         * gst/elements/gstbufferstore.h:
13027         * gst/elements/gsttypefindelement.c:
13028         * gst/elements/gsttypefindelement.h:
13029         * gst/gst.h:
13030         * gst/gsttypefind.c:
13031         * gst/gsttypefind.h:
13032         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13033         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13034         (gst_type_find_factory_dispose),
13035         (gst_type_find_factory_unload_thyself),
13036         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13037         (gst_type_find_factory_get_caps),
13038         (gst_type_find_factory_get_extensions),
13039         (gst_type_find_factory_call_function):
13040         * gst/gsttypefindfactory.h:
13041         * gst/registries/gstlibxmlregistry.c:
13042         * gst/registries/gstxmlregistry.c:
13043           splitted gsttypefind into gsttypefind, gsttypefindfactory
13044
13045 2005-09-07  Andy Wingo  <wingo@pobox.com>
13046
13047         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13048         condition whereby the pad's task function is entered before the
13049         pad_mode variable was set.
13050
13051 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13052
13053         * gst/gstpad.c: (gst_pad_alloc_buffer):
13054           Catch misbehaving pad_alloc functions that don't
13055           set up caps and do it for them.
13056
13057 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13058
13059         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13060           test for pipe!=NULL
13061         * docs/gst/tmpl/.cvsignore:
13062         * docs/gst/tmpl/gstmemchunk.sgml:
13063         * docs/gst/tmpl/gstparse.sgml:
13064         * docs/gst/tmpl/gsttaglist.sgml:
13065         * docs/gst/tmpl/gsttagsetter.sgml:
13066         * docs/gst/tmpl/gsttypefind.sgml:
13067         * docs/gst/tmpl/gsttypefindfactory.sgml:
13068         * gst/gstmemchunk.c:
13069         * gst/gstparse.c:
13070         * gst/gsttag.c:
13071         * gst/gsttaginterface.c:
13072         * gst/gsttypefind.c:
13073         * gst/gsttypefind.h:
13074           inlined more docs
13075
13076 === release 0.9.2 ===
13077
13078 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13079
13080         * NEWS:
13081         * RELEASE:
13082         * configure.ac:
13083           releasing 0.9.2, "South"
13084
13085 2005-09-05  Andy Wingo  <wingo@pobox.com>
13086
13087         * gst/registries/gstxmlregistry.h:
13088         * gst/registries/gstxmlregistry.c: Um... resurrect...
13089         
13090         * gst/registries/gstxmlregistry.h:
13091         * gst/registries/gstxmlregistry.c: and update to newer API.
13092         Incidentally they should be a bit faster now that they don't have
13093         to parse the caps.
13094         
13095 2005-09-05  Andy Wingo  <wingo@pobox.com>
13096
13097         * gst/registries/gstxmlregistry.h:
13098         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13099         replaced by the libxml registry a while back
13100
13101 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13102
13103         * docs/gst/tmpl/gstplugin.sgml:
13104         * gst/elements/gstelements.c:
13105         * gst/gst.c:
13106         * gst/gstplugin.c: (gst_plugin_register_func),
13107         (gst_plugin_desc_copy), (gst_plugin_desc_free),
13108         (gst_plugin_get_source):
13109         * gst/gstplugin.h:
13110         * gst/registries/gstlibxmlregistry.c: (load_plugin),
13111         (gst_xml_registry_save_plugin):
13112         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13113         (gst_xml_registry_save_plugin):
13114         * tools/gst-inspect.c: (print_plugin_info):
13115           add a "source" plugin description field, to represent the source
13116           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
13117           will set it to PACKAGE, which is automake's idea of the name of
13118           the source project.
13119
13120 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13121
13122         * Makefile.am:
13123         * autogen.sh:
13124         * configure.ac:
13125         * docs/Makefile.am:
13126         * docs/faq/Makefile.am:
13127         * docs/gst/tmpl/gstelement.sgml:
13128         * docs/gst/tmpl/gsttypes.sgml:
13129         * docs/htmlinstall.mak:
13130         * docs/manual/Makefile.am:
13131         * docs/pwg/Makefile.am:
13132           reorganize doc build a little
13133           split out docbook and gtk-doc stuff
13134           have two separate --enable's and enable them through autogen
13135           but disable by default in configure (to be similar to other
13136           projects)
13137         * gstreamer.spec.in:
13138           clean up docs install
13139         * po/af.po:
13140         * po/az.po:
13141         * po/ca.po:
13142         * po/cs.po:
13143         * po/de.po:
13144         * po/en_GB.po:
13145         * po/fr.po:
13146         * po/it.po:
13147         * po/nb.po:
13148         * po/nl.po:
13149         * po/ru.po:
13150         * po/sq.po:
13151         * po/sr.po:
13152         * po/sv.po:
13153         * po/tr.po:
13154         * po/uk.po:
13155         * po/vi.po:
13156           translation updates
13157
13158 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
13159
13160         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
13161           Add comment.
13162           
13163         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13164         (gst_fake_sink_change_state):
13165           Make state change function thread-safe.
13166           
13167         * gst/gstpad.c: (gst_pad_alloc_buffer):
13168           Set offset on generic buffer allocated by fallback.
13169
13170 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
13171
13172         * docs/gst/gstreamer-sections.txt:
13173         * docs/gst/tmpl/gstelement.sgml:
13174         * gst/gstpad.c:
13175         * libs/gst/controller/gst-controller.c:
13176         (gst_controlled_property_set_interpolation_mode),
13177         (gst_controlled_property_new),
13178         (gst_controller_find_controlled_property):
13179          run the wingo-magic script against the docs
13180
13181 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13182
13183         * docs/gst/gstreamer-docs.sgml:
13184         * docs/gst/gstreamer-sections.txt:
13185         * docs/gst/tmpl/.cvsignore:
13186         * docs/gst/tmpl/gstelementdetails.sgml:
13187         * docs/gst/tmpl/gstelementfactory.sgml:
13188         * gst/gst.c:
13189         * gst/gstbus.c:
13190         * gst/gstelementfactory.c:
13191         * gst/gstelementfactory.h:
13192           merged elementdetails docs into elementfactory docs
13193           inlined both
13194
13195 2005-09-02  Andy Wingo  <wingo@pobox.com>
13196
13197         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
13198         consider this enum an enum and not a flags.
13199
13200 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13201
13202         * docs/gst/gstreamer-docs.sgml:
13203         * docs/gst/tmpl/.cvsignore:
13204         * docs/gst/tmpl/gstghostpad.sgml:
13205         * docs/gst/tmpl/gstiterator.sgml:
13206         * docs/gst/tmpl/gstmacros.sgml:
13207         * docs/gst/tmpl/gstrealpad.sgml:
13208         * docs/gst/tmpl/gstregistry.sgml:
13209         * docs/gst/tmpl/gstregistrypool.sgml:
13210         * docs/gst/tmpl/gststructure.sgml:
13211         * docs/gst/tmpl/gstsystemclock.sgml:
13212         * docs/gst/tmpl/gsttrace.sgml:
13213         * gst/gstghostpad.c:
13214         * gst/gstmacros.h:
13215         * gst/gstmemchunk.c:
13216         * gst/gstmemchunk.h:
13217         * gst/gstqueue.c:
13218         * gst/gstregistry.c:
13219         * gst/gstregistrypool.c:
13220         * gst/gststructure.c:
13221         * gst/gstsystemclock.c:
13222           more docs inlined
13223
13224 2005-09-02  Andy Wingo  <wingo@pobox.com>
13225
13226         * gst/gstelement.h (GstState): Renamed from GstElementState,
13227         changed to be a normal enum instead of flags.
13228         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
13229         munged to be GST_STATE_CHANGE_*.
13230         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
13231         work with the new state representation.
13232         (GstStateChange): New enumeration of possible state transitions.
13233         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
13234         (GstElementClass::change_state): Pass the GstStateChange along as
13235         an argument. Helps language bindings, so they don't have to use
13236         tricky lock-needing macros like GST_STATE_CHANGE ().
13237
13238         * scripts/update-states (file): New script. Run it on a file to
13239         update it for state naming and API changes. Updates files in
13240         place.
13241
13242         * All files updated for the new API.
13243
13244 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13245
13246         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
13247         * gst/gstutils.c: (gst_util_set_value_from_string),
13248         (gst_util_set_object_arg):
13249           fix a bunch of unchecked return values
13250         * tools/gst-complete.c: (main):
13251         * gstreamer.spec.in:
13252           clean up a little
13253
13254 2005-09-01  Wim Taymans  <wim@fluendo.com>
13255
13256         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13257         (gst_base_sink_event), (gst_base_sink_do_sync),
13258         (gst_base_sink_handle_event):
13259         * gst/base/gstbasesink.h:
13260         Handle newsegments more correctly.
13261
13262         * gst/gstbus.c:
13263         Fix docs.
13264
13265         * gst/gstevent.c: (gst_event_new_newsegment):
13266         A newsegment cannot have a start_time of -1
13267
13268 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
13269
13270         * win32/gstenumtypes.c:
13271         * win32/gstenumtypes.h:
13272           Update
13273
13274 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13275
13276         * libs/gst/controller/gst-controller.c:
13277         (gst_controlled_property_set_interpolation_mode),
13278         (gst_controlled_property_new):
13279          fixed boolean again
13280
13281 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13282
13283         * docs/faq/gst-uninstalled:
13284           add -good
13285         * gst/gstevent.c:
13286         * gst/gstevent.h:
13287           remove wrong docs
13288         * gst/gstutils.c: (gst_element_link_filtered):
13289         * gst/gstutils.h:
13290           add gst_element_link_filtered
13291
13292 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13293
13294         * docs/gst/gstreamer-docs.sgml:
13295         * docs/gst/gstreamer-sections.txt:
13296         * docs/gst/tmpl/.cvsignore:
13297         * docs/gst/tmpl/gsterror.sgml:
13298         * docs/gst/tmpl/gstfilter.sgml:
13299         * docs/gst/tmpl/gsturihandler.sgml:
13300         * docs/gst/tmpl/gsturitype.sgml:
13301         * docs/gst/tmpl/gstutils.sgml:
13302         * docs/gst/tmpl/gstxml.sgml:
13303         * gst/gsterror.c:
13304         * gst/gsterror.h:
13305         * gst/gstfilter.c:
13306         * gst/gsturi.c:
13307         * gst/gsturitype.c:
13308         * gst/gstutils.c:
13309         * gst/gstxml.c:
13310           inlined more docs, fixed double id-ref
13311
13312 2005-08-31  Wim Taymans  <wim@fluendo.com>
13313
13314         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13315         (gst_base_transform_handle_buffer):
13316         Passthrough elements don't need the caps as they don't care.
13317
13318 2005-08-31  Wim Taymans  <wim@fluendo.com>
13319
13320         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13321         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
13322         Don't leak refcounts on buffers.
13323
13324 2005-08-31  Wim Taymans  <wim@fluendo.com>
13325
13326         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
13327         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13328         (gst_base_transform_chain), (gst_base_transform_change_state):
13329         * gst/base/gstbasetransform.h:
13330         Handle the case where we are not negotiated more gracefully.
13331
13332 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
13333
13334         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
13335         (gst_file_src_map_region):
13336           Set READONLY flag on mmap'ed buffers, otherwise
13337           gst_buffer_make_writable() won't work properly (#314708).
13338
13339 2005-08-31  Wim Taymans  <wim@fluendo.com>
13340
13341         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
13342         passthrough elements can even do inplace on non writable
13343         buffers (as they don't touch them).
13344
13345 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13346
13347         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13348         (gst_test_mono_source_set_property),
13349         (gst_test_mono_source_class_init), (GST_START_TEST),
13350         (gst_controller_suite):
13351           more tests (hehe I have the most)
13352         * gst/gstbus.c:
13353           describe popping messages whenusing mulltiple sources
13354         * libs/gst/controller/gst-controller.c:
13355         (gst_controlled_property_set_interpolation_mode),
13356         (gst_controlled_property_new):
13357         * libs/gst/controller/gst-controller.h:
13358         * libs/gst/controller/gst-interpolation.c:
13359           implement boolean properties
13360
13361 2005-08-31  Wim Taymans  <wim@fluendo.com>
13362
13363         * gst/gstminiobject.c: (gst_mini_object_ref):
13364         Cannot assert that the refcount has to be positive
13365         since a disposed object can be resurrected.
13366
13367 2005-08-31  Wim Taymans  <wim@fluendo.com>
13368
13369         * gst/gstpad.c: (gst_pad_init):
13370         Revert change, need to first fix badly behaving 
13371         apps.
13372
13373 2005-08-30  Wim Taymans  <wim@fluendo.com>
13374
13375         * check/elements/fakesrc.c: (setup_fakesrc):
13376         * check/elements/identity.c: (setup_identity):
13377         Activate pads before using them.
13378
13379 2005-08-30  Wim Taymans  <wim@fluendo.com>
13380
13381         * gst/base/gstadapter.c: (gst_adapter_flush):
13382         Flushing out 0 bytes is ok for this function.
13383
13384         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13385         no newsegment gives a warning and sets the start/stop to 
13386         invalid.
13387
13388         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
13389         (gst_base_transform_set_passthrough):
13390         Some debug info.
13391
13392         * gst/gstminiobject.c: (gst_mini_object_ref):
13393         Check refcount here too.
13394
13395         * gst/gstpad.c: (gst_pad_init):
13396         Pads are initially flushing and refusing data.
13397
13398         * gst/gstutils.c: (gst_element_link_pads_filtered):
13399         When adding a capsfilter element make sure it has the
13400         same state as the parent bin.
13401
13402 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13403
13404         * docs/gst/tmpl/.cvsignore:
13405         * docs/gst/tmpl/gstformat.sgml:
13406         * docs/gst/tmpl/gstversion.sgml:
13407         * gst/gstbus.h:
13408         * gst/gstformat.c:
13409         * gst/gstformat.h:
13410         * gst/gstversion.h.in:
13411           more docs and two more inlined
13412
13413 2005-08-30  Wim Taymans  <wim@fluendo.com>
13414
13415         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
13416         Don't sync to clock.
13417
13418 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13419
13420         * docs/gst/gstreamer-sections.txt:
13421           ultral33t func10ns deserve to appear in the docs actually
13422         * docs/gst/tmpl/.cvsignore:
13423         * docs/gst/tmpl/gstcompat.sgml:
13424         * docs/gst/tmpl/gstconfig.sgml:
13425         * gst/check/gstcheck.c:
13426         * gst/gstcompat.h:
13427         * gst/gstconfig.h.in:
13428           inlined more docs
13429
13430 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13431
13432         * docs/gst/tmpl/.cvsignore:
13433         * docs/gst/tmpl/gstquery.sgml:
13434         * docs/gst/tmpl/gstutils.sgml:
13435         * gst/gstquery.c:
13436         * gst/gstquery.h:
13437           inlined and extended docs
13438
13439 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13440
13441         * check/gst-libs/controller.c: (GST_START_TEST),
13442         (gst_controller_suite):
13443           more tests
13444         * docs/gst/tmpl/gstutils.sgml:
13445         * docs/libs/gstreamer-libs-sections.txt:
13446         * docs/libs/tmpl/gstdataprotocol.sgml:
13447           include path fixes
13448         * examples/controller/audio-example.c: (main):
13449           controller example works now
13450         * gst/gstclock.h:
13451           doc fixes
13452         * tools/gst-inspect.c: (print_element_properties_info):
13453           show param spec flags
13454
13455 2005-08-29  Andy Wingo  <wingo@pobox.com>
13456
13457         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
13458
13459 2005-08-28  Andy Wingo  <wingo@pobox.com>
13460
13461         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
13462         as having two arguments instead of just one. Allows superclasses
13463         to access information on subclasses -- see the terrible for() loop
13464         in gtype.c:g_type_create_instance for the reason why. All callers
13465         changed.
13466
13467 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13468
13469         * docs/design/part-messages.txt:
13470           update info
13471         * docs/gst/tmpl/.cvsignore:
13472         * docs/gst/tmpl/gstcaps.sgml:
13473         * docs/gst/tmpl/gstclock.sgml:
13474         * gst/gstbus.c:
13475         * gst/gstcaps.c:
13476         * gst/gstcaps.h:
13477         * gst/gstclock.c:
13478         * gst/gstclock.h:
13479         * gst/gstmessage.c:
13480           added descriptions for bus and message
13481           inline caps and clock docs
13482
13483 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13484
13485         * gst/gstmessage.c:
13486         * gst/gstmessage.h:
13487           doc fixes
13488
13489 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13490
13491         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13492           fix div-by-zero
13493
13494 2005-08-26  Andy Wingo  <wingo@pobox.com>
13495
13496         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
13497         element_set_state's return val.
13498         (test_2_elements): Add test that's been disabled for months.
13499
13500         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
13501         can-activate-pull properties.
13502
13503         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
13504         can-activate-pull properties. Implement is_seekable so fakesrc can
13505         operate in pull mode.
13506
13507         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
13508         properties.
13509         (gst_base_sink_activate, gst_base_sink_activate_pull)
13510         (gst_base_sink_activate_push): Make activation mode choosing work.
13511         Cleanups.
13512         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
13513         is right. Make pull mode work. Post an eos before pausing in pull
13514         mode.
13515         (gst_base_sink_change_state): Pay attention to the core's
13516         change_state() return val.
13517         
13518         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
13519         has-getrange properties. Cleanups.
13520         
13521         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
13522         has_getrange and replace with can_activate_pull and
13523         can_activate_push.
13524
13525         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
13526         locking comments. Remove has_loop, has_chain and replace with
13527         can_activate_pull and can_activate_push.
13528
13529 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
13530
13531         * configure.ac:
13532         * examples/Makefile.am:
13533         * examples/metadata/Makefile.am:
13534         * examples/metadata/read-metadata.c: (message_loop),
13535         (have_pad_handler), (make_pipeline), (print_tag), (main):
13536           Add metadata reading example that loops over a list of filenames,
13537           dumping any tags found.
13538
13539         * gst/gstbus.c: (gst_bus_dispose):
13540         * gst/gstelement.c: (gst_element_dispose):
13541           Release a few potentially-held references in dispose.
13542
13543 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13544
13545         * docs/gst/tmpl/gstminiobject.sgml:
13546           do *not* add tmpl/*.sgml files to CVS!
13547
13548 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13549
13550         * libs/gst/bytestream/.cvsignore:
13551         * libs/gst/bytestream/Makefile.am:
13552         * libs/gst/bytestream/adapter.c:
13553         * libs/gst/bytestream/adapter.h:
13554         * libs/gst/bytestream/bytestream.c:
13555         * libs/gst/bytestream/bytestream.h:
13556         * libs/gst/bytestream/filepad.c:
13557         * libs/gst/bytestream/filepad.h:
13558           removing obsolete files
13559
13560 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13561
13562         * docs/gst/gstreamer-docs.sgml:
13563         * docs/libs/gstreamer-libs-docs.sgml:
13564           disabed additional index entries again, as this makes docs-gen just
13565           slow and they aren't useful yet
13566         * docs/libs/gstreamer-libs-sections.txt:
13567           little -section.txt cleanup for libs
13568
13569 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13570
13571         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13572         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
13573           fix up some debugging
13574         (gst_base_transform_get_unit_size),
13575         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13576         (gst_base_transform_handle_buffer):
13577         * gst/base/gstbasetransform.h:
13578           handle and store timed NEWSEGMENT events so that subclasses that
13579           calculate time by counting samples have a segment_start time they
13580           need to add to their timestamps - see audioresample
13581
13582 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13583
13584         * gst/gstbin.h:
13585           removed ';' from the end of macro defs
13586         * docs/gst/gstreamer-docs.sgml:
13587         * docs/gst/gstreamer-sections.txt:
13588         * docs/gst/tmpl/.cvsignore:
13589         * gst/gstbus.h:
13590         * gst/gstelement.c: (gst_element_class_init),
13591         (gst_element_set_state), (activate_pads),
13592         (gst_element_save_thyself):
13593         * gst/gstevent.c: (gst_event_new_newsegment):
13594         * gst/gstevent.h:
13595         * gst/gstiterator.c:
13596         * gst/gstiterator.h:
13597         * gst/gstpad.c:
13598         * gst/gstprobe.h:
13599         * gst/gstutils.c: (gst_pad_query_convert):
13600         * gst/gstutils.h:
13601           fixed parameter name mismatches between source, header and docs
13602           added some more docs, resolved the last batch of unused elements in
13603           docs (now someone needs to doc them)
13604
13605 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13606
13607         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
13608         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
13609           don't walk through the plugins backwards.  Where is all this
13610           reversed logic coming from ?
13611
13612 2005-08-25  Wim Taymans  <wim@fluendo.com>
13613
13614         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13615         (gst_base_transform_transform_size),
13616         (gst_base_transform_configure_caps),
13617         (gst_base_transform_get_unit_size),
13618         (gst_base_transform_buffer_alloc),
13619         (gst_base_transform_change_state):
13620         * gst/base/gstbasetransform.h:
13621         Cache caps unit_size.
13622         Make sure we cannot negotiate up and downstream at the
13623         same time.
13624
13625 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13626
13627         * gst/gst.c: (init_pre), (init_post):
13628           register the installed plugin path after the env var
13629         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
13630         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
13631           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
13632           directories, so the tests can prefer uninstalled over installed
13633
13634 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13635
13636         * gst/base/gstbasetransform.h:
13637           comment
13638         * gst/gstpad.c:
13639           add to docs
13640
13641 2005-08-25  Wim Taymans  <wim@fluendo.com>
13642
13643         * gst/gstbin.c: (bin_bus_handler):
13644         Be a bit more conservative about the posted message.
13645         
13646         * gst/gstbus.c: (gst_bus_post):
13647         Some cleanups, warn wrong return values.
13648
13649 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
13650
13651         * check/gst/gstbin.c: (GST_START_TEST):
13652         * gst/gstbin.c: (bin_bus_handler):
13653         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13654         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13655         (gst_message_new_warning), (gst_message_new_tag),
13656         (gst_message_new_state_changed), (gst_message_new_segment_start),
13657         (gst_message_new_segment_done), (gst_message_new_custom):
13658         * gst/gstmessage.h:
13659         * tools/gst-launch.c: (event_loop):
13660         * tools/gst-md5sum.c: (event_loop):
13661           Revert unpopular change for GST_MESSAGE_SRC to GObject.
13662
13663 2005-08-25  Wim Taymans  <wim@fluendo.com>
13664
13665         * check/generic/states.c: (GST_START_TEST):
13666         Cleanup can be done at the end.
13667
13668         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
13669         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13670         (gst_task_get_state), (gst_task_start), (gst_task_pause):
13671         Oh boy.. Thanks for finding this, Thomas. 
13672
13673 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13674
13675         * docs/gst/gstreamer.types:
13676           added missing types
13677
13678 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13679
13680         * docs/gst/gstreamer-docs.sgml:
13681         * docs/gst/gstreamer-sections.txt:
13682         * docs/gst/tmpl/.cvsignore:
13683         * gst/gstbin.c:
13684         * gst/gstiterator.c:
13685         * gst/gstutils.c:
13686         * gst/registries/gstxmlregistry.h:
13687           added missing classes and symbols (123 more to go)
13688           removed removed symbols from section file
13689           fixed many doc-comments
13690
13691 2005-08-24  Wim Taymans  <wim@fluendo.com>
13692
13693         * check/generic/states.c: (GST_START_TEST):
13694         Make sure all tasks are stopped.
13695
13696         * check/gst/gstbin.c: (GST_START_TEST):
13697         Unref after usage for proper valgrinding.
13698
13699         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
13700         Really wait for the task to stop before destroying the
13701         mutex.
13702
13703         * gst/gstqueue.c: (gst_queue_sink_activate_push),
13704         (gst_queue_src_activate_push):
13705         Small cleanups. Don't stop the task when we did not start
13706         it.
13707
13708         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
13709         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13710         (gst_task_get_state), (gst_task_start), (gst_task_pause),
13711         (gst_task_join):
13712         * gst/gsttask.h:
13713         Protect the stream lock with the object lock.
13714         Disallow setting the stream lock when running.
13715         Add cleanup_all to wait for the threadpool to finish.
13716         Remove code to autoallocate a mutex if none was provided.
13717         Add _join() to wait for a task to stop.
13718         Protect the thread pool with a global lock.
13719
13720 2005-08-24  Wim Taymans  <wim@fluendo.com>
13721
13722         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13723         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13724         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
13725         * gst/base/gstbasesink.h:
13726         Handle newsegment events correctly.
13727         Drop buffers out of the segment range.
13728
13729 2005-08-22  Andy Wingo  <wingo@pobox.com>
13730
13731         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
13732         macro, implements an interface and gstimplementsinterface for a
13733         new type.
13734
13735 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13736
13737         * check/Makefile.am:
13738         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
13739           add a test that does a bunch of state changes on elements
13740           needs some fixing for valgrind
13741         * check/states/sinks.c: (gst_object_suite):
13742           whitespace
13743         * gst/gstcaps.h:
13744           add prototype for gst_caps_is_equal_fixed
13745         * gst/gstplugin.c:
13746         * gst/gstregistrypool.c:
13747           doc fixes
13748
13749 2005-08-24  Andy Wingo  <wingo@pobox.com>
13750
13751         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
13752         convert a negative value. Doesn't make much sense. Mostly this is
13753         here to force callers to ensure -1 maps to -1.
13754
13755 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13756
13757         * docs/pwg/advanced-types.xml:
13758           Well done to Michael for catching my deliberate introduction
13759           of this spelling mistake. 
13760         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
13761         * gst/gstelement.h:
13762           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
13763           unlink pads before removing the element from the bin.
13764
13765 2005-08-24  Andy Wingo  <wingo@pobox.com>
13766
13767         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
13768         the same thing as GST_DEBUG=*:4.
13769         (parse_debug_level, parse_debug_category): New helper parsers.
13770
13771 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13772
13773         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13774         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
13775         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
13776         (gst_base_transform_buffer_alloc),
13777         (gst_base_transform_handle_buffer):
13778           use gboolean return values and pointers to size so we can use the
13779           full GST_BUFFER_SIZE range (guint) for buffer sizes
13780           use GstPadDirection for transform_caps
13781         * gst/base/gstbasetransform.h:
13782           rename get_size to get_unit_size since that's what it is
13783         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
13784           use GstPadDirection for transform_caps
13785         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13786         * gst/gstutils.h:
13787           cleanup and debugging
13788
13789 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13790
13791         * gst/gstelement.c: (gst_element_class_init),
13792         (gst_element_set_state), (activate_pads),
13793         (gst_element_save_thyself):
13794         * tools/gst-compprep.c: (main):
13795         * tools/gst-inspect.c: (print_element_properties_info):
13796         * tools/gst-xmlinspect.c: (print_element_properties):
13797           Fixed long standing mem-leak
13798
13799 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13800
13801         * check/gst/gstbin.c: (GST_START_TEST):
13802         * gst/gstbin.c: (bin_bus_handler):
13803         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13804         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13805         (gst_message_new_warning), (gst_message_new_tag),
13806         (gst_message_new_state_changed), (gst_message_new_segment_start),
13807         (gst_message_new_segment_done), (gst_message_new_custom):
13808         * gst/gstmessage.h:
13809         * tools/gst-launch.c: (event_loop):
13810         * tools/gst-md5sum.c: (event_loop):
13811           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
13812           that applications can sensibly post custom messages with references
13813           to their own objects.
13814
13815 2005-08-24  Andy Wingo  <wingo@pobox.com>
13816
13817         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
13818         already.
13819
13820 2005-08-24  Wim Taymans  <wim@fluendo.com>
13821
13822         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13823         (gst_base_transform_transform_caps),
13824         (gst_base_transform_transform_size),
13825         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13826         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13827         (gst_base_transform_handle_buffer):
13828         * gst/base/gstbasetransform.h:
13829         Many fixes and new features added by Thomas. Can now also do
13830         transforms with variable sizes and a custom fixate_caps function.
13831
13832 2005-08-24  Wim Taymans  <wim@fluendo.com>
13833
13834         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13835         Some debugging.
13836
13837         * gst/gstclock.h:
13838         Cast to ClockTime before formatting to time.
13839
13840         * gst/gstutils.h:
13841         Cleanups.
13842
13843 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13844
13845         * check/gst-libs/controller.c: (GST_START_TEST),
13846         (gst_controller_suite):
13847         * docs/gst/tmpl/gstcaps.sgml:
13848         * docs/gst/tmpl/gstghostpad.sgml:
13849         * docs/gst/tmpl/gstquery.sgml:
13850         * docs/gst/tmpl/gstutils.sgml:
13851         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
13852         (gst_object_sink_values), (gst_object_get_value_arrays),
13853         (gst_object_get_value_array):
13854           gracefully handle helper method calls to objects that are not beeing
13855           controlled, added test case for that          
13856
13857 2005-08-23  Wim Taymans  <wim@fluendo.com>
13858
13859         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
13860         (gst_event_new_newsegment), (gst_event_parse_newsegment),
13861         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
13862         (gst_event_parse_qos), (gst_event_new_seek),
13863         (gst_event_parse_seek):
13864         * gst/gstevent.h:
13865         Some more debugging output and doc cleanups.
13866
13867         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13868         Fix possible deadlock.
13869
13870 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13871
13872         * docs/gst/gstreamer-docs.sgml:
13873         * docs/gst/gstreamer-sections.txt:
13874         * docs/gst/gstreamer.types:
13875         * docs/gst/tmpl/.cvsignore:
13876         * gst/gstbin.h:
13877         * gst/gstbus.c:
13878         * gst/gstelement.c:
13879         * gst/gstevent.h:
13880           added 100 symbols from gstreamer-unused.txt to the right sections
13881           fixed more broken comments
13882           added GstBus to docs
13883
13884 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13885
13886         * docs/gst/gstreamer-sections.txt:
13887         * docs/gst/tmpl/.cvsignore:
13888         * docs/gst/tmpl/gstbin.sgml:
13889         * docs/gst/tmpl/gstbuffer.sgml:
13890         * gst/base/gstbasesrc.c:
13891         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
13892         * gst/gstbuffer.c:
13893         * gst/gstbuffer.h:
13894         * tools/gst-launch.1.in:
13895           inlined more doc comments, added missing comments and fixed comments
13896           fixed typos
13897
13898 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13899
13900         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13901           some debugging
13902         * gst/gstcaps.h:
13903           whitespace fixes
13904         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
13905           more debugging
13906         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
13907         * gst/gststructure.h:
13908           add a fixate function for booleans; add a FIXME that these func
13909           names should probably be gst_structure_fixate_*
13910
13911 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13912
13913         * docs/gst/gstreamer-docs.sgml:
13914         * docs/gst/gstreamer-sections.txt:
13915         * gst/Makefile.am:
13916         * gst/gstbin.c: (gst_bin_get_type),
13917         (gst_bin_child_proxy_get_child_by_index),
13918         (gst_bin_child_proxy_get_children_count),
13919         (gst_bin_child_proxy_init):
13920         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13921         (gst_child_proxy_get_child_by_index),
13922         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13923         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13924         (gst_child_proxy_get), (gst_child_proxy_set_property),
13925         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13926         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13927         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13928         * gst/gstchildproxy.h:
13929         * gst/parse/grammar.y:
13930         * tools/gst-inspect.c: (print_interfaces),
13931         (print_element_properties_info), (print_element_info):
13932           ported gstchildproxy over from 0.8
13933           ported gst-inspect fixes and enhancements over from 0.8
13934
13935 2005-08-22  Wim Taymans  <wim@fluendo.com>
13936
13937         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13938         (gst_base_transform_handle_buffer):
13939         Also call the transform function if we have ANY caps.
13940
13941         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13942         Fix debug info.
13943
13944 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13945
13946         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13947           Don't pretend to handle seek events if the source is not seekable
13948
13949 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13950
13951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13952           Remove extra parameter to debug output
13953
13954         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13955         (gst_base_src_do_seek), (gst_base_src_activate_push):
13956           Fix seek event handling.
13957
13958         * gst/gstpipeline.c: (gst_pipeline_change_state):
13959         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13960         (gst_queue_src_activate_push):
13961           Don't start the src pad task on FLUSH_STOP if the pad
13962           isn't linked.
13963           Debug changes.
13964
13965 2005-08-22  Wim Taymans  <wim@fluendo.com>
13966
13967         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13968         Added check for gst_static_caps_get() refcounting.
13969
13970 2005-08-22  Wim Taymans  <wim@fluendo.com>
13971
13972         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13973         Make _static_caps_get() refcounting sane.
13974         
13975         * gst/gstelement.c: (gst_element_set_state):
13976         Add g_return_val_if_fail() to protect against segfaults.
13977
13978 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13979
13980         * docs/gst/tmpl/gstevent.sgml:
13981         * gst/gstevent.c:
13982         * gst/gstevent.h:
13983           inlined remaining docs, added missing doc comments
13984
13985 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13986
13987         * check/gst/gstbin.c: (GST_START_TEST):
13988           since we don't know when preroll is done, use refcount range
13989           check for the sink
13990         * gst/check/gstcheck.h:
13991           add macro for checking refcount range
13992
13993 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13994
13995         * check/Makefile.am:
13996           clean up environment for when registry gets built versus
13997           when actual tests are run; valgrind seems to not report
13998           leaks if GST_PLUGIN_PATH is set to some specific values
13999         * check/gst/gstbin.c: (GST_START_TEST):
14000           add more refcounting checks; maybe this exposes a
14001           preroll lock bug ?
14002         * common/check.mak:
14003         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14004         * gst/check/gstcheck.h:
14005         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14006         (gst_bin_change_state):
14007         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14008           add/fix debugging/whitespace
14009
14010 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14011
14012         * check/gst/gstevent.c: (event_probe), (test_event),
14013         (GST_START_TEST):
14014          Er, don't call gst_bin_watch_for_state_change you idiot.
14015
14016 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14017
14018         * check/Makefile.am:
14019           Use CHECK_CFLAGS and CHECK_LIBS
14020         * check/gst/gstevent.c: (event_probe), (test_event),
14021         (GST_START_TEST):
14022           Don't leak events.
14023         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14024         (gst_base_src_start), (gst_base_src_stop),
14025         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14026         (gst_base_src_change_state):
14027           Sprinkle gst_base_src_stop liberally around error paths to fix
14028           problems reusing a source after failed state changes.
14029         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14030         (helper_find_suggest), (gst_type_find_helper):
14031           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14032         * gst/gstevent.h:
14033         * docs/gst/tmpl/gstevent.sgml:
14034           Migrate part of the docs from the SGML file. Wait for ensonic to
14035           tell me how I did it wrong ;)
14036         * tools/gst-typefind.c: (main):
14037           Extra robustness to state changes between files.
14038
14039 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14040
14041         * check/Makefile.am:
14042           don't valgrind the controller test - it's leaking - Stefan, HELP
14043         * gst/check/gstcheck.c: (gst_check_message_error),
14044         (gst_check_chain_func), (gst_check_setup_element),
14045         (gst_check_teardown_element), (gst_check_setup_src_pad),
14046         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14047         (gst_check_teardown_sink_pad):
14048         * gst/check/gstcheck.h:
14049           add a bunch of methods to set up elements, and src and sink pads
14050         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14051         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14052         (GST_START_TEST):
14053           use them
14054         * gst/gstmessage.c:
14055         * gst/gsttag.h:
14056           whitespace/doc fixes
14057
14058 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14059
14060         * gst/gstelement.h:
14061           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14062           be handled by the application and not always printed as well
14063
14064 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14065
14066         * check/Makefile.am:
14067           set GST_TOOLS_DIR
14068         * gst/check/gstcheck.c: (gst_check_message_error):
14069         * gst/check/gstcheck.h:
14070           add a fail_unless_equals_int
14071           add fail_unless for error messages
14072
14073 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14074
14075         * check/Makefile.am:
14076         * check/gst.supp:
14077         * common/Makefile.am:
14078         * common/check.mak:
14079         * common/gst.supp:
14080           factor out some of the common stuff so we can use it
14081
14082 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14083
14084         * check/Makefile.am:
14085         * check/gst/gstiterator.c: (GST_START_TEST):
14086         * check/gst/gstsystemclock.c: (GST_START_TEST),
14087         (gst_systemclock_suite):
14088         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14089         * gst/gstclock.c:
14090           valgrind more tests
14091
14092 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14093
14094         * check/elements/.cvsignore:
14095         * check/elements/gstfakesrc.c:
14096           rename to name of element
14097         * check/elements/identity.c: (chain_func), (event_func),
14098         (setup_identity), (cleanup_identity), (GST_START_TEST),
14099         (identity_suite), (main):
14100           add a test for identity
14101         * check/Makefile.am:
14102         * pkgconfig/Makefile.am:
14103         * pkgconfig/gstreamer-check.pc.in:
14104         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14105         * gst/check:
14106         * gst/Makefile.am:
14107         * configure.ac:
14108           move the check stuff to a library that gets installed
14109         * check/gst-libs/controller.c: (GST_START_TEST):
14110         * check/gst-libs/gdp.c:
14111         * check/gst/gst.c: (GST_START_TEST):
14112         * check/gst/gstbin.c:
14113         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14114         * check/gst/gstbus.c:
14115         * check/gst/gstcaps.c: (GST_START_TEST):
14116         * check/gst/gstelement.c:
14117         * check/gst/gstghostpad.c:
14118         * check/gst/gstiterator.c:
14119         * check/gst/gstmessage.c:
14120         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
14121         * check/gst/gstobject.c:
14122         * check/gst/gstpad.c: (GST_START_TEST):
14123         * check/gst/gststructure.c: (GST_START_TEST):
14124         * check/gst/gstsystemclock.c: (GST_START_TEST),
14125         (gst_systemclock_suite):
14126         * check/gst/gsttag.c: (gst_tag_suite):
14127         * check/gst/gstvalue.c:
14128         * check/pipelines/cleanup.c:
14129         * check/pipelines/simple_launch_lines.c:
14130         * check/states/sinks.c:
14131           change include statement
14132
14133         * docs/gst/gstreamer-sections.txt:
14134         * docs/gst/tmpl/gstpad.sgml:
14135           document more pad stuff
14136         * gst/gstminiobject.c: (gst_mini_object_ref),
14137         (gst_mini_object_unref):
14138           debug refcounting
14139
14140 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
14141
14142         * docs/gst/tmpl/gst.sgml:
14143         * gst/gst.c:
14144           eliminate another tmpl file, fix spelling in the long-description
14145
14146 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14147
14148         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14149         (test_event), (timediff), (gstevents_suite):
14150           Should fix build on 64-bit arch's
14151
14152 2005-08-18  Andy Wingo  <wingo@pobox.com>
14153
14154         Make sure that when a pipeline goes to PLAYING, that data has
14155         actually hit the sink.
14156
14157         * check/states/sinks.c (test_sink): A sink that doesn't get any
14158         data shouldn't return SUCCESS for going to either PLAYING or
14159         PAUSED. Test also the return values on the way back down.
14160
14161         * gst/gstelement.c (gst_element_set_state): When changing the
14162         state of an element currently changing state asynchronously, go to
14163         lost-state after commiting the pending state. Makes future calls
14164         to get_state continue to return ASYNC.
14165
14166         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
14167         ASYNC when going to PLAYING if we still don't have preroll, as can
14168         happen with live sources.
14169
14170 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14171
14172         * docs/pwg/advanced-types.xml:
14173           Hack long paragraph into 2 chunks as a workaround for buggy
14174           jadetex version in sid and breezy that loops infinitely and
14175           eats all RAM.
14176
14177 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14178
14179         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14180         (test_event), (timediff), (gstevents_suite):
14181           Provide more error margin in clock measurements to allow for 
14182           g_get_current_time inaccuracies.
14183
14184 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14185
14186         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14187         (test_event), (timediff), (gstevents_suite):
14188            Fix error message output so I might be able to tell why the
14189            test works here but fails on the build farm.
14190
14191 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14192
14193         * check/Makefile.am:
14194         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14195         (test_event), (timediff), (gstevents_suite), (main):
14196           I wrote a test!
14197
14198         * docs/design/part-seeking.txt:
14199           Spelling correction
14200
14201         * docs/gst/tmpl/gstevent.sgml:
14202         * docs/gst/tmpl/gstfakesrc.sgml:
14203           Docs updates.
14204
14205         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14206           Treat a buffer-without-newsegment the same as a receiving 
14207           a newsegment not in time format, and disable syncing to the clock
14208           with a warning.
14209
14210         * gst/gstbus.c: (gst_bus_set_sync_handler):
14211           Assert if anyone tries to replace the existing sync_handler for bus, 
14212           as only the owner should be setting it.
14213
14214         * gst/gstevent.h:
14215           Have a fixed set of custom event enums with events identified by
14216           their structure name (as in 0.8), rather than a free-for-all
14217           allowing collisions between enum values from different plugins.
14218
14219         * gst/gstpad.c: (gst_pad_class_init):
14220           Docs change.
14221           
14222         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14223           Handle out-of-band downstream events from the sending thread.
14224
14225 2005-08-17  Andy Wingo  <wingo@pobox.com>
14226
14227         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
14228         play-timeout==0 to mean no timeout at all. In that case, don't
14229         bother with a get_state or a warning, just return directly, even
14230         if it's ASYNC.
14231
14232         * gst/base/gstbasetransform.c: Debug changes.
14233
14234         * gst/gstutils.h:
14235         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
14236         ensure bins post state change messages. A bit of a hack but I can't
14237         think of a way to avoid it.
14238
14239         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
14240
14241 2005-08-16  Andy Wingo  <wingo@pobox.com>
14242
14243         * gst/base/gstadapter.h:
14244         * gst/base/gstadapter.c (gst_adapter_take): New function, like
14245         peek() but you own the data. Not terribly efficient atm.
14246
14247 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14248
14249         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
14250         (gst_element_found_tags):
14251         * gst/gstutils.h:
14252           Add two utility functions for tag handling.
14253
14254 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14255
14256         * docs/manual/advanced-dataaccess.xml:
14257         * docs/manual/basics-helloworld.xml:
14258           Fix docs to use _bin_add() before _link(), which fixes the examples
14259           with recent core versions (reported by Madhan Raj M
14260           <raj_madan@rediffmail.com>, #313199).
14261
14262 2005-08-16  Wim Taymans  <wim@fluendo.com>
14263
14264         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14265         Added subtract checks.
14266
14267         * docs/design/part-events.txt:
14268         Some more docs about newsegment
14269
14270         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14271         Fix FIXME
14272
14273         * gst/gstcaps.c: (gst_caps_to_string):
14274         Add comments, cleanups.
14275         
14276         * gst/gstelement.c: (gst_element_save_thyself):
14277         cleanups
14278         
14279         * gst/gstvalue.c: (gst_value_collect_int_range),
14280         (gst_string_unwrap), (gst_value_union_int_int_range),
14281         (gst_value_union_int_range_int_range),
14282         (gst_value_intersect_int_int_range),
14283         (gst_value_intersect_int_range_int_range),
14284         (gst_value_intersect_double_double_range),
14285         (gst_value_intersect_double_range_double_range),
14286         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
14287         (gst_value_subtract_int_range_int),
14288         (gst_value_subtract_double_range_double),
14289         (gst_value_subtract_double_range_double_range),
14290         (gst_value_subtract_from_list), (gst_value_subtract_list),
14291         (gst_value_can_compare), (gst_value_compare_fraction):
14292         Cleanups, add comments, remove unneeded asserts.
14293
14294 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14295
14296         * tools/gst-launch.c: (event_loop):
14297           don't convert NULL structures to strings
14298
14299 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
14300
14301         * docs/gst/gstreamer-sections.txt:
14302           made some defines private
14303         * docs/gst/tmpl/gstconfig.sgml:
14304         * docs/gst/tmpl/gstqueue.sgml:
14305         * docs/gst/tmpl/gsttaglist.sgml:
14306         * docs/gst/tmpl/gsttypes.sgml:
14307         * docs/gst/tmpl/gstutils.sgml:
14308         * docs/pwg/appendix-porting.xml:
14309         * gst/base/gstbasesink.h:
14310         * gst/base/gstbasesrc.c:
14311         * gst/base/gstbasesrc.h:
14312         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
14313         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
14314         * gst/gstelement.c: (gst_element_class_init):
14315         * gst/gstpad.c: (gst_pad_class_init):
14316         * gst/gstqueue.c: (gst_queue_class_init):
14317         * gst/gstxml.c: (gst_xml_class_init):
14318           documented all undocumented signal inline
14319         * libs/gst/controller/gst-controller.h:
14320           added padding
14321
14322 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14323
14324         * docs/pwg/appendix-porting.xml:
14325           Document _set_link_function -> _set_setcaps_function.
14326
14327 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14328
14329         * check/Makefile.am:
14330           add a .check target for running the check
14331         * check/gst-libs/controller.c: (GST_START_TEST):
14332           cosmetic fixups
14333         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14334           complete checks for gstbuffer; would be nice if I could get the
14335           gcov stuff to work so I can see if I actually completed gstbuffer.c
14336         * check/gstcheck.h:
14337           add ASSERT_BUFFER_REFCOUNT
14338
14339 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
14340
14341         * docs/gst/gstreamer-sections.txt:
14342         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
14343         * gst/gsttag.h:
14344           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
14345           spew out a warning if a tag that is already registered
14346           is re-registered, unless it is re-registered with a 
14347           different type (#308438).
14348
14349 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
14350
14351         * docs/pwg/appendix-porting.xml:
14352         * docs/pwg/building-state.xml:
14353           Add some paragraphs about state changes in 0.9 to the PWG
14354           and the porting guide, in particular about the new meaning
14355           of GST_STATE_PAUSED and how to write state change functions
14356           with concurrent access by multiple threads in mind.
14357
14358 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
14359
14360         * docs/gst/gstreamer-docs.sgml:
14361         * docs/libs/gstreamer-libs-docs.sgml:
14362           added deprecation and since indexes
14363         * libs/gst/controller/gst-controller.c:
14364         * libs/gst/controller/gst-helper.c:
14365           added since tags
14366
14367
14368 2005-08-11  Wim Taymans  <wim@fluendo.com>
14369
14370         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
14371         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
14372         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
14373         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
14374         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
14375         (gst_ghost_pad_set_target):
14376         Actually implement (re)setting the target on a ghostpad
14377         as described in the docs.
14378
14379 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14380
14381         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
14382           Check whether GST_DEBUG_NO_COLOR environment variable is
14383           set and disable coloured debug output if that is the case.
14384
14385 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14386
14387         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14388         (gst_type_find_helper):
14389           The memory returned by gst_type_find_peek() needs to
14390           stay valid until the end of a typefind function, and
14391           typefind functions may keep results from different 
14392           offsets around, so we can't just unref the buffer from
14393           the previous _peek(), but have to save all buffers 
14394           returned by _peek() until typefinding is done and only
14395           free them then.
14396
14397 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
14398
14399         * docs/gst/gstreamer-sections.txt:
14400         * gst/gstutils.h:
14401           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
14402
14403 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14404
14405         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14406           Fix a pretty good memleak.
14407
14408 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14409
14410         * gst/gstiterator.h:
14411           Fix wrong include and 'make distcheck'.
14412
14413 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14414
14415         * gst/gstbin.c: (bin_bus_handler):
14416           Use gst_element_post_message() instead.
14417
14418 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14419
14420         * gst/base/gstadapter.h:
14421         * gst/base/gstbasesink.h:
14422         * gst/base/gstbasesrc.h:
14423         * gst/base/gstbasetransform.h:
14424         * gst/base/gstcollectpads.h:
14425         * gst/base/gstpushsrc.h:
14426         * gst/gstiterator.h:
14427           Add padding to our base elements' class and instance structs and
14428           to GstIterator (you will need to rebuild all plugins and apps!)
14429
14430 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14431
14432         * gst/gstbin.c: (bin_bus_handler):
14433           Make default message forwarding from child->bus to bin->bus
14434           threadsafe and make it not emit warnings if the parent has no bus.
14435
14436 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14437
14438         * gst/gstelement.c: (activate_pads):
14439           On paused->ready, set pad->caps to NULL, as is the documented
14440           behaviour in this state change. Fixes playback of series of
14441           media files when visualization is enabled in Totem.
14442
14443 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14444
14445         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14446           Allow NULL as filter-caps (which means "any").
14447
14448 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14449
14450         * docs/libs/gstreamer-libs-sections.txt:
14451         * libs/gst/controller/gst-controller.c:
14452         * libs/gst/controller/gst-controller.h:
14453         * libs/gst/controller/gst-helper.c:
14454           adding more entries to the docs and fix small doc-bugs
14455
14456 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14457
14458         * docs/gst/gstreamer-docs.sgml:
14459         * docs/gst/gstreamer-sections.txt:
14460         * docs/gst/gstreamer.types:
14461         * docs/gst/tmpl/gstbasesink.sgml:
14462         * docs/gst/tmpl/gstbasesrc.sgml:
14463         * docs/gst/tmpl/gstbasetransform.sgml:
14464         * docs/gst/tmpl/gstfakesrc.sgml:
14465         * gst/base/gstcollectpads.c:
14466         * gst/base/gstcollectpads.h:
14467         * libs/gst/controller/gst-controller.c:
14468         * libs/gst/controller/gst-controller.h:
14469         * libs/gst/controller/gst-helper.c:
14470         * libs/gst/controller/gst-interpolation.c:
14471         * libs/gst/controller/lib.c:
14472           added long/short desc for controller docs
14473           added collectpads base class docs
14474           added correct includes to base-class docs
14475
14476 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14477
14478         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14479         (gst_test_mono_source_set_property),
14480         (gst_test_mono_source_class_init), (GST_START_TEST),
14481         (gst_controller_suite):
14482         * docs/gst/gstreamer-docs.sgml:
14483         * docs/gst/gstreamer-sections.txt:
14484         * docs/gst/gstreamer.types:
14485         * docs/libs/gstreamer-libs-docs.sgml:
14486         * docs/libs/gstreamer-libs-sections.txt:
14487         * gst/base/gstadapter.c:
14488         * libs/gst/controller/gst-controller.c:
14489         (gst_controlled_property_new), (gst_controlled_property_free),
14490         (gst_controller_new_valist),
14491         (gst_controller_remove_properties_valist),
14492         (gst_controller_sink_values), (_gst_controller_finalize):
14493         * libs/gst/controller/gst-controller.h:
14494         * libs/gst/controller/gst-helper.c:
14495         (gst_object_control_properties), (gst_object_uncontrol_properties),
14496         (gst_object_get_controller), (gst_object_set_controller),
14497         (gst_object_sink_values), (gst_object_get_value_arrays),
14498         (gst_object_get_value_array):
14499           more tests (and fixes) for the controller
14500           more docs for the controller
14501           integrated companies docs for the adapter 
14502
14503 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14504
14505         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
14506         (GST_START_TEST), (fakesrc_suite):
14507           add tests for sizetype
14508
14509 2005-08-04  Andy Wingo  <wingo@pobox.com>
14510
14511         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
14512         fixes buffer_alloc proxying among other things.
14513
14514         * gst/base/gstbasetransform.c:
14515         * gst/base/gstbasetransform.h:
14516         Revert patch to gstbasetransform from 7-28 removing
14517         delay_configure.
14518
14519         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
14520         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
14521         Semantics changed, should return not the size of the output buffer
14522         but the byte size of a buffer with a given caps.
14523
14524         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
14525         debug object.
14526         (gst_base_transform_configure_caps): Don't set out_size here: (in,
14527         out) are not the pad caps until setcaps finishes.
14528         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
14529         not-in-place case as well. Deal with changing from in-place to
14530         not-in-place within calling pad_alloc_buffer. Still a bit
14531         concerned about the overhead here...
14532
14533 2005-08-03  Andy Wingo  <wingo@pobox.com>
14534
14535         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
14536         fixating is an error.
14537
14538 2005-08-04  Edward Hervey  <edward@fluendo.com>
14539
14540         * gst/base/gstadapter.h: 
14541         Added gst_adapter_get_type() to the header
14542
14543 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14544
14545         * check/Makefile.am:
14546         * check/gst-libs/controller.c:
14547         * libs/gst/controller/gst-controller.c:
14548         (gst_controller_new_valist):
14549           added check test suite for the controller
14550         * gst/base/gstpushsrc.c:
14551           fixed a doc typo
14552
14553 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14554
14555         * docs/gst/Makefile.am:
14556         * docs/gst/gstreamer-docs.sgml:
14557         * docs/gst/gstreamer-sections.txt:
14558         * docs/gst/gstreamer.types:
14559         * docs/gst/tmpl/gstfakesrc.sgml:
14560         * gst/base/README:
14561         * gst/base/gstbasesink.c:
14562         * gst/base/gstbasesink.h:
14563         * gst/base/gstbasesrc.c:
14564         * gst/base/gstbasesrc.h:
14565         * gst/base/gstbasetransform.c:
14566         * gst/base/gstpushsrc.c:
14567         * gst/base/gstpushsrc.h:
14568           add short/long description docs to base classes
14569           add pushsrc to the docs
14570           remove consolidated doc fragments
14571
14572 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14573
14574         * configure.ac:
14575         * docs/libs/Makefile.am:
14576         * docs/libs/gstreamer-libs-docs.sgml:
14577         * docs/libs/gstreamer-libs-sections.txt:
14578         * docs/libs/gstreamer-libs.types:
14579         * examples/Makefile.am:
14580         * examples/controller/.cvsignore:
14581         * examples/controller/Makefile.am:
14582         * examples/controller/audio-example.c: (main):
14583         * libs/gst/Makefile.am:
14584         * libs/gst/controller/.cvsignore:
14585         * libs/gst/controller/Makefile.am:
14586         * libs/gst/controller/gst-controller.c:
14587         (on_object_controlled_property_changed), (gst_timed_value_compare),
14588         (gst_timed_value_find),
14589         (gst_controlled_property_set_interpolation_mode),
14590         (gst_controlled_property_new), (gst_controlled_property_free),
14591         (gst_controller_find_controlled_property),
14592         (gst_controller_new_valist), (gst_controller_new),
14593         (gst_controller_remove_properties_valist),
14594         (gst_controller_remove_properties), (gst_controller_set),
14595         (gst_controller_set_from_list), (gst_controller_unset),
14596         (gst_controller_get), (gst_controller_get_all),
14597         (gst_controller_sink_values), (gst_controller_get_value_arrays),
14598         (gst_controller_get_value_array),
14599         (gst_controller_set_interpolation_mode),
14600         (_gst_controller_finalize), (_gst_controller_init),
14601         (_gst_controller_class_init), (gst_controller_get_type):
14602         * libs/gst/controller/gst-controller.h:
14603         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
14604         (g_object_uncontrol_properties), (g_object_get_controller),
14605         (g_object_set_controller), (g_object_sink_values),
14606         (g_object_get_value_arrays), (g_object_get_value_array):
14607         * libs/gst/controller/gst-interpolation.c:
14608         (gst_controlled_property_find_timed_value_node),
14609         (interpolate_none_get), (interpolate_trigger_get),
14610         (interpolate_trigger_get_value_array):
14611         * libs/gst/controller/lib.c: (gst_controller_init):
14612         * pkgconfig/Makefile.am:
14613         * pkgconfig/gstreamer-control-uninstalled.pc.in:
14614         * pkgconfig/gstreamer-control.pc.in:
14615         * testsuite/Makefile.am:
14616         * testsuite/controller/.cvsignore:
14617         * testsuite/controller/Makefile.am:
14618         * testsuite/controller/interpolator.c: (main):
14619           added controller code
14620           removed dparam pc files
14621
14622 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14623         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
14624         (gst_collectpads_stop):
14625           Broadcast the condition when shutting down, to make sure we wake all
14626           threads up. Shut down pads on finalize, for safety.
14627
14628 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14629         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14630         (gst_base_transform_handle_buffer),
14631         (gst_base_transform_change_state):
14632           Handle PAUSED->READY->PAUSED transition after negotiation
14633           occurred already.
14634         * gst/gstmessage.c: (gst_message_init):
14635           Extra piece of debug for new messages.
14636
14637 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
14638
14639         * configure.ac:
14640         * docs/gst/tmpl/gstbasesrc.sgml:
14641         * docs/gst/tmpl/gstelement.sgml:
14642         * docs/gst/tmpl/gstevent.sgml:
14643         * docs/gst/tmpl/gstfakesrc.sgml:
14644         * docs/gst/tmpl/gstformat.sgml:
14645         * docs/gst/tmpl/gstghostpad.sgml:
14646         * docs/gst/tmpl/gstpad.sgml:
14647         * docs/gst/tmpl/gstquery.sgml:
14648         * docs/gst/tmpl/gststructure.sgml:
14649         * docs/gst/tmpl/gsttaglist.sgml:
14650         * docs/gst/tmpl/gstvalue.sgml:
14651         * docs/libs/gstreamer-libs-docs.sgml:
14652         * docs/libs/gstreamer-libs-sections.txt:
14653         * docs/libs/gstreamer-libs.types:
14654         * libs/gst/Makefile.am:
14655         * libs/gst/control/.cvsignore:
14656         * libs/gst/control/Makefile.am:
14657         * libs/gst/control/control.c:
14658         * libs/gst/control/control.h:
14659         * libs/gst/control/dparam.c:
14660         * libs/gst/control/dparam.h:
14661         * libs/gst/control/dparam_smooth.c:
14662         * libs/gst/control/dparam_smooth.h:
14663         * libs/gst/control/dparamcommon.h:
14664         * libs/gst/control/dparammanager.c:
14665         * libs/gst/control/dparammanager.h:
14666         * libs/gst/control/dplinearinterp.c:
14667         * libs/gst/control/dplinearinterp.h:
14668         * libs/gst/control/unitconvert.c:
14669         * libs/gst/control/unitconvert.h:
14670         * testsuite/Makefile.am:
14671         * testsuite/dynparams/.cvsignore:
14672         * testsuite/dynparams/Makefile.am:
14673         * testsuite/dynparams/dparamstest.c:
14674         * tools/Makefile.am:
14675         * tools/gst-inspect.c: (print_element_info), (main):
14676         * tools/gst-xmlinspect.c: (print_element_info), (main):
14677           deactivate and remove dparams (libgstcontrol)
14678
14679 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14680
14681         * gst/elements/gsttypefindelement.c:
14682         (gst_type_find_element_have_type), (gst_type_find_element_init),
14683         (stop_typefinding), (gst_type_find_element_handle_event),
14684         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14685         * gst/elements/gsttypefindelement.h:
14686           Set caps on all outgoing buffers, not just the first one.
14687
14688 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14689
14690         * gst/elements/gsttypefindelement.c:
14691         (gst_type_find_element_have_type),
14692         (gst_type_find_element_check_set_buffer_caps),
14693         (gst_type_find_element_init), (stop_typefinding),
14694         (gst_type_find_element_handle_event),
14695         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14696         * gst/elements/gsttypefindelement.h:
14697           Set caps on first outgoing buffer when we've found the type.
14698
14699 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14700
14701         * docs/gst/gstreamer-docs.sgml:
14702         * docs/gst/gstreamer-sections.txt:
14703         * docs/gst/tmpl/gstscheduler.sgml:
14704         * docs/gst/tmpl/gstschedulerfactory.sgml:
14705           Remove some old cruft from docs.
14706
14707 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
14708
14709         * gst/gstpad.h:
14710           Fix inline docs for GstPadLinkReturn.
14711           
14712         * gst/gststructure.c: (gst_structure_has_name):
14713         * gst/gststructure.h:
14714         * docs/gst/gstreamer-sections.txt:
14715           New API: gst_structure_has_name().
14716
14717 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
14718
14719         * configure.ac:
14720           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
14721           and _LARGEFILE_SOURCE in config.h as required. Do not 
14722           export those flags in our .pc files any longer (#142209).
14723
14724           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
14725
14726         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
14727         (gst_file_sink_do_seek), (gst_file_sink_event),
14728         (gst_file_sink_get_current_offset), (gst_file_sink_render):
14729           Redo seek/tell calls with large file support in mind; add some
14730           debugging messages; add log message that tells us when large
14731           file support is unavailable or not enabled for some reason.
14732
14733         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
14734           Add log message that tells us when large file support 
14735           is unavailable or not enabled for some reason.
14736
14737 2005-07-29  Wim Taymans  <wim@fluendo.com>
14738
14739         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14740         Added test for removing an element with ghostpad from a bin.
14741         Fixed test as current implementation does the right thing.
14742
14743         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
14744         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
14745         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
14746         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
14747         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
14748         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
14749         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
14750         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14751         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
14752         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
14753         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
14754         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
14755         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
14756         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
14757         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
14758         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
14759         * gst/gstghostpad.h:
14760         Clean up ghostpads, remove properties for internal stuff.
14761         Make threadsafe.
14762         Fix refcounting.
14763         Prepare for switching targets, not all use cases work yet.
14764
14765 2005-07-29  Wim Taymans  <wim@fluendo.com>
14766
14767         * docs/design/part-gstghostpad.txt:
14768         Small update.
14769
14770         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14771         (gst_bin_remove_func):
14772         Unlinking pads while holding the bin LOCK is not a good
14773         idea.
14774
14775         * gst/gstpad.c: (gst_pad_class_init),
14776         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
14777         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
14778         No prob setting template after creating the pad.
14779
14780 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
14781
14782         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
14783         (gst_bus_peek), (gst_bus_source_dispatch),
14784         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
14785         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
14786           gst_bus_poll may be called from other threads. Handle
14787           this nicely by not making poll_data disappear off the
14788           stack once gst_bus_poll returns.
14789           gst_bus_peek now increments the refcount on the returned
14790           message.
14791
14792 2005-07-29  Wim Taymans  <wim@fluendo.com>
14793
14794         * docs/design/part-gstghostpad.txt:
14795         Overview of current GhostPad datastructures and use
14796         cases for changing the target.
14797
14798 2005-07-28  Wim Taymans  <wim@fluendo.com>
14799
14800         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14801         Added checks for hierarchy consistency whan adding linked
14802         elements to bins.
14803
14804         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14805         Added check to test element scheduling without bin/pipeline.
14806
14807         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14808         First add elements to bin, then link.
14809         
14810         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14811         (gst_bin_remove_func):
14812         Unlink pads from elements added/removed from bin to maintain
14813         hierarchy consistency.
14814
14815 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14816
14817         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14818         (gst_base_transform_handle_buffer):
14819         * gst/base/gstbasetransform.h:
14820           Remove broken delay_configure (fixes renegotiation of software
14821           scaling pipelines); remove some leftover printf()s.
14822
14823 2005-07-28  Wim Taymans  <wim@fluendo.com>
14824
14825         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14826         Added some more tests for wrong hierarchy
14827
14828         * docs/design/part-overview.txt:
14829         Some updates.
14830
14831         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
14832         Cleanups.
14833
14834         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
14835         (gst_element_dispose):
14836         Some more cleanups.
14837
14838         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14839         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
14840         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14841         (gst_pad_set_caps), (gst_pad_send_event):
14842         Check for correct hierarchy when linking pads. Moving to
14843         strict requirement for ghostpads when linking elements in
14844         different bins.
14845
14846         * gst/gstpad.h:
14847         Clean ups. Added WRONG_HIERARCHY return value.
14848
14849 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14850
14851         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14852           Better debug if no transform is possible.
14853
14854 2005-07-27  Wim Taymans  <wim@fluendo.com>
14855
14856         * docs/random/wtay/network-transp:
14857         Some old doc I had.
14858
14859 2005-07-27  Wim Taymans  <wim@fluendo.com>
14860
14861         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14862         (gst_dp_event_from_packet):
14863         Fix serialization of seek events.
14864
14865 2005-07-27  Wim Taymans  <wim@fluendo.com>
14866
14867         * check/gst-libs/gdp.c: (GST_START_TEST):
14868         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14869         Fix compilation and fix event serialization.
14870
14871 2005-07-27  Wim Taymans  <wim@fluendo.com>
14872
14873         * CHANGES-0.9:
14874         * docs/design/part-TODO.txt:
14875         * docs/design/part-events.txt:
14876         Some docs updates
14877
14878         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14879         (gst_base_sink_event), (gst_base_sink_do_sync),
14880         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14881         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14882         (gst_base_src_do_seek), (gst_base_src_event_handler),
14883         (gst_base_src_loop):
14884         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14885         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14886         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14887         (gst_base_transform_event), (gst_base_transform_handle_buffer),
14888         (gst_base_transform_set_passthrough),
14889         (gst_base_transform_is_passthrough):
14890         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14891         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14892         Event updates.
14893
14894         * gst/gstbuffer.h:
14895         Use faster casts.
14896
14897         * gst/gstelement.c: (gst_element_seek):
14898         * gst/gstelement.h:
14899         Update gst_element_seek.
14900
14901         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
14902         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
14903         (gst_event_new_flush_start), (gst_event_new_flush_stop),
14904         (gst_event_new_eos), (gst_event_new_newsegment),
14905         (gst_event_parse_newsegment), (gst_event_new_tag),
14906         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
14907         (gst_event_parse_qos), (gst_event_new_seek),
14908         (gst_event_parse_seek), (gst_event_new_navigation):
14909         * gst/gstevent.h:
14910         Make GstEvent use GstStructure. Add parsing code, make sure the
14911         API is sufficiently generic.
14912         Mark possible directions of events and serialization.
14913
14914         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
14915         (_gst_message_copy), (gst_message_new_segment_start),
14916         (gst_message_new_segment_done), (gst_message_new_custom),
14917         (gst_message_parse_segment_start),
14918         (gst_message_parse_segment_done):
14919         Small cleanups.
14920
14921         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14922         (gst_pad_set_caps), (gst_pad_send_event):
14923         Update for new events. 
14924         Catch events sent in wrong directions.
14925
14926         * gst/gstqueue.c: (gst_queue_link_src),
14927         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14928         (gst_queue_handle_src_query):
14929         Event updates.
14930
14931         * gst/gsttag.c:
14932         * gst/gsttag.h:
14933         Remove event code from this file.
14934
14935         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14936         (gst_dp_event_from_packet):
14937         Event updates.
14938
14939 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14940
14941         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14942         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14943         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14944           Make debugging actually useful.
14945
14946 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14947
14948         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14949         (gst_pad_fixate_caps):
14950           Implement default fixation once again, so that gst_pad_fixate()
14951           actually does anything at all. This probably needs to be some
14952           sort of a last resort, and use profile-based fixation first, but
14953           since that doesn't exist yet, this is the best we have. Fixes
14954           visualization in Totem.
14955
14956 2005-07-22  Wim Taymans  <wim@fluendo.com>
14957
14958         * docs/design/part-events.txt:
14959         Small update.
14960
14961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14962         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14963         (gst_base_sink_activate_pull):
14964         Some more comments.
14965
14966         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14967         (gst_fake_src_create):
14968         Fix handoff marshall.
14969
14970         * gst/elements/gstidentity.c: (gst_identity_class_init),
14971         (gst_identity_transform_ip):
14972         We're a real inplace element.
14973
14974         * gst/gstbus.c: (gst_bus_post):
14975         Added some comments.
14976
14977         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14978         * tests/muxing/case1.c: (main):
14979         * tests/sched/dynamic-pipeline.c: (main):
14980         * tests/sched/interrupt1.c: (main):
14981         * tests/sched/interrupt2.c: (main):
14982         * tests/sched/interrupt3.c: (main):
14983         * tests/sched/runxml.c: (main):
14984         * tests/sched/sched-stress.c: (main):
14985         * tests/seeking/seeking1.c: (event_received), (main):
14986         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14987         (main):
14988         * tests/threadstate/threadstate3.c: (main):
14989         * tests/threadstate/threadstate4.c: (main):
14990         * tests/threadstate/threadstate5.c: (main):
14991         Fix the tests.
14992
14993 2005-07-21  Wim Taymans  <wim@fluendo.com>
14994
14995         * docs/design/part-seeking.txt:
14996         Some small additions.
14997
14998         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14999         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15000         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15001         * gst/base/gstbasesink.h:
15002         discont values are gint64, handle the math correctly.
15003
15004         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15005         Make the basesrc report error if the source pad is not linked.
15006
15007         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15008         (gst_queue_loop), (gst_queue_handle_src_query),
15009         (gst_queue_src_activate_push):
15010         Make queue collect data even if the srcpad is not linked.
15011         Start pushing out data as soon as it is linked.
15012
15013         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15014         * gst/gstutils.h:
15015         Added gst_flow_get_name() to ease error reporting.
15016
15017 2005-07-20  Wim Taymans  <wim@fluendo.com>
15018
15019         * gst/gstmessage.c: (gst_message_new_segment_start),
15020         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15021         (gst_message_parse_segment_done):
15022         * gst/gstmessage.h:
15023         Added a bunch of messages for advanced seeking.
15024
15025         * gst/parse/grammar.y:
15026         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15027         (gst_dpman_state_changed):
15028         Fix some new-pad -> pad-added signals
15029
15030 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15031
15032         * docs/manual/appendix-porting.xml:
15033         * docs/pwg/appendix-porting.xml:
15034           Document new-pad/state-change signal renames and the FixedList
15035           type rename.
15036
15037 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15038
15039         * docs/manual/advanced-autoplugging.xml:
15040         * docs/manual/basics-helloworld.xml:
15041         * docs/manual/basics-pads.xml:
15042         * docs/random/ds/0.9-suggested-changes:
15043         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15044         * gst/gstelement.h:
15045         * gst/gstevent.h:
15046         * gst/gstformat.h:
15047         * gst/gstquery.h:
15048         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15049         (gst_structure_parse_array), (gst_structure_parse_value):
15050         * gst/gstvalue.c: (gst_type_is_fixed),
15051         (gst_value_list_prepend_value), (gst_value_list_append_value),
15052         (gst_value_list_get_size), (gst_value_list_get_value),
15053         (gst_value_transform_array_string), (gst_value_serialize_array),
15054         (gst_value_deserialize_array), (gst_value_intersect_array),
15055         (gst_value_is_fixed), (_gst_value_initialize):
15056         * gst/gstvalue.h:
15057           GstElement::new-pad -> pad-added, GstElement::state-change ->
15058           state-changed, GstValueFixedList -> GstValueArray, add format and
15059           flags as their own arguments in gst_element_seek() (should improve
15060           "bindeability"), remove function generators since they don't work
15061           under a whole bunch of compilers (they were deprecated already
15062           anyway).
15063
15064 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15065
15066         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15067         (_gst_debug_register_funcptr):
15068         * gst/gstinfo.h:
15069           Fix illegal cast on some platforms (#309253).
15070
15071 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15072
15073         * gst/gstmessage.c: (gst_message_new_custom):
15074         * gst/gstmessage.h:
15075           Add _new_custom, make _new_application a macro to _new_custom.
15076
15077 2005-07-20  Wim Taymans  <wim@fluendo.com>
15078
15079         * gst/base/gstbasesrc.c: (gst_base_src_init),
15080         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15081         * gst/base/gstbasesrc.h:
15082         Add a gboolean to decide when to push out a discont.
15083
15084         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15085         (gst_queue_loop), (gst_queue_handle_src_query),
15086         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15087         (gst_queue_set_property), (gst_queue_get_property):
15088         Some cleanups.
15089
15090         * tests/threadstate/threadstate1.c: (main):
15091         Make a thread test compile and run... very silly..
15092
15093
15094 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15095
15096         * docs/manual/appendix-porting.xml:
15097           Mention removal of libgstgconf-0.9.la and existence of gconf
15098           elements.
15099
15100 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15101
15102         * docs/pwg/advanced-clock.xml:
15103         * docs/pwg/appendix-porting.xml:
15104         * docs/pwg/intro-preface.xml:
15105         * docs/pwg/other-base.xml:
15106         * docs/pwg/other-manager.xml:
15107         * docs/pwg/other-nton.xml:
15108         * docs/pwg/other-ntoone.xml:
15109         * docs/pwg/other-oneton.xml:
15110         * docs/pwg/pwg.xml:
15111           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15112           demuxer), remove n-to-n (was never written), fix some code examples
15113           and links and update the porting section to include all this.
15114
15115 2005-07-19  Wim Taymans  <wim@fluendo.com>
15116
15117         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
15118         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
15119         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
15120         (gst_queue_src_activate_push), (gst_queue_change_state),
15121         (gst_queue_get_property):
15122         * gst/gstqueue.h:
15123         Propagate GstFlowReturn more intelligently upstream and output
15124         an ERROR/EOS when streaming stopped due to fatal error.
15125
15126 2005-07-19  Wim Taymans  <wim@fluendo.com>
15127
15128         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15129         Don't block forever for the state change to complete, the
15130         pipeline already did with a sensible timeout.
15131
15132 2005-07-19  Wim Taymans  <wim@fluendo.com>
15133
15134         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15135         Make sure we never call the create function is we
15136         got deactivated.
15137
15138 2005-07-19  Andy Wingo  <wingo@pobox.com>
15139
15140         * gst/parse/parse.l: Attempt to solve bug #172815.
15141
15142 2005-07-19  Wim Taymans  <wim@fluendo.com>
15143
15144         * docs/design/part-clocks.txt:
15145         * docs/design/part-events.txt:
15146         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
15147         Small docs updates.
15148         Only update the seeking values when we are not
15149         busy streaming.
15150
15151 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15152
15153         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15154           Oops, ignore the result of gst_pad_push_event here.
15155
15156 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15157
15158         * gst/base/gstbasesrc.c: (gst_base_src_loop),
15159         (gst_base_src_activate_push):
15160           Send discont event from the loop function, as pads
15161           aren't activated yet in the activate_push handler.
15162
15163         * gst/gstbin.c: (bin_bus_handler):
15164           Don't leak element name.
15165
15166 2005-07-18  Andy Wingo  <wingo@pobox.com>
15167
15168         * configure.ac: Use AS_LIBTOOL_TAGS.
15169
15170 2005-07-18  Wim Taymans  <wim@fluendo.com>
15171
15172         * docs/gst/gstreamer.types:
15173         Remove deleted types.
15174
15175 2005-07-18  Wim Taymans  <wim@fluendo.com>
15176
15177         * check/elements/gstfakesrc.c: (GST_START_TEST):
15178         * configure.ac:
15179         * gst/Makefile.am:
15180         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
15181         (init_popt_callback):
15182         * gst/gst.h:
15183         * gst/gst_private.h:
15184         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
15185         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
15186         * gst/gstbin.h:
15187         * gst/gstbus.h:
15188         * gst/gstconfig.h.in:
15189         * gst/gstelement.c: (gst_element_class_init),
15190         (gst_element_set_base_time), (gst_element_get_base_time),
15191         (iterator_fold_with_resync), (gst_element_change_state),
15192         (gst_element_dispose), (gst_element_get_bus):
15193         * gst/gstelement.h:
15194         * gst/gstelementfactory.h:
15195         * gst/gsterror.c: (_gst_core_errors_init):
15196         * gst/gsterror.h:
15197         * gst/gstevent.h:
15198         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15199         * gst/gstindex.c:
15200         * gst/gstinfo.c: (_gst_debug_init):
15201         * gst/gstmessage.c: (_gst_message_copy):
15202         * gst/gstmessage.h:
15203         * gst/gstminiobject.h:
15204         * gst/gstobject.c:
15205         * gst/gstobject.h:
15206         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15207         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
15208         * gst/gstpad.h:
15209         * gst/gstparse.h:
15210         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15211         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15212         (gst_pipeline_get_last_stream_time):
15213         * gst/gstpipeline.h:
15214         * gst/gstpluginfeature.h:
15215         * gst/gstquery.h:
15216         * gst/gstscheduler.c:
15217         * gst/gstscheduler.h:
15218         * gst/gststructure.h:
15219         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15220         (gst_task_finalize), (gst_task_func), (gst_task_create),
15221         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
15222         (gst_task_stop), (gst_task_pause):
15223         * gst/gsttask.h:
15224         * gst/gsttypefind.h:
15225         * gst/gsttypes.h:
15226         * gst/registries/gstlibxmlregistry.c: (load_feature),
15227         (gst_xml_registry_load), (gst_xml_registry_save_feature):
15228         * gst/registries/gstxmlregistry.c:
15229         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
15230         * gst/schedulers/threadscheduler.c:
15231         * libs/gst/control/dparammanager.h:
15232         * tools/gst-inspect.c: (print_element_list),
15233         (print_plugin_features), (print_element_features):
15234         * tools/gst-xmlinspect.c: (print_element_list),
15235         (print_plugin_info), (main):
15236         Removed plugable schedulers.
15237         Removed Scheduler/Manager from elements.
15238         Removed gsttypes.h, rearranged includes.
15239         Removed dependency pad<->element, element<>pipeline, and
15240         various others,  fix includes.
15241         implement gst_pad_get_parent() with gst_object_get_parent()
15242         Make GstTask sefcontained.
15243         Fix _get_state() on GstBin, it did not return ASYNC with a 0
15244         timeout.
15245         Fix endless loop in iterator_fold_with_resync.
15246
15247
15248 2005-07-18  Wim Taymans  <wim@fluendo.com>
15249
15250         * gst/Makefile.am:
15251         * gst/gstarch.h:
15252         Remove old file.
15253
15254 2005-07-18  Wim Taymans  <wim@fluendo.com>
15255
15256         * gst/Makefile.am:
15257         No more cothreads.h
15258
15259 2005-07-18  Wim Taymans  <wim@fluendo.com>
15260
15261         * gst/cothreads.c:
15262         * gst/cothreads.h:
15263         Let's remove these.
15264
15265 2005-07-18  Wim Taymans  <wim@fluendo.com>
15266
15267         * docs/design/part-dynamic.txt:
15268         * docs/design/part-events.txt:
15269         * docs/design/part-seeking.txt:
15270         Some more docs in the works.
15271
15272         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15273         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
15274         (gst_base_transform_setcaps), (gst_base_transform_get_size),
15275         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
15276         (gst_base_transform_handle_buffer),
15277         (gst_base_transform_sink_activate_push),
15278         (gst_base_transform_src_activate_pull),
15279         (gst_base_transform_set_passthrough),
15280         (gst_base_transform_is_passthrough):
15281         Refcounting fixes.
15282
15283         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
15284         Cleanups.
15285
15286         * gst/gstevent.c: (gst_event_finalize):
15287         Set SRC to NULL.
15288
15289         * gst/gstutils.c: (gst_element_unlink),
15290         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
15291         (gst_pad_proxy_setcaps):
15292         * gst/gstutils.h:
15293         Add _get_parent_element() to get a pads parent as an element.
15294
15295 2005-07-18  Wim Taymans  <wim@fluendo.com>
15296
15297         * check/gst/gstbin.c: (GST_START_TEST):
15298         Remove bogus test.
15299
15300 2005-07-18  Wim Taymans  <wim@fluendo.com>
15301
15302         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15303         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15304         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15305         (gst_base_sink_event), (gst_base_sink_do_sync),
15306         (gst_base_sink_chain), (gst_base_sink_loop),
15307         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
15308         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15309         Refcounting fixes.
15310         Fix logic for returning ASYNC when not prerolled.
15311
15312 2005-07-18  Wim Taymans  <wim@fluendo.com>
15313
15314         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15315         Fix nasty refcount bug.
15316
15317 2005-07-16 Philippe Khalaf <burger@speedy.org>
15318
15319         * gst/elements/gstfdsrc.c:
15320         * gst/elements/gstfdsrc.h:
15321         * gst/elements/gstelements.c:
15322         * gst/elements/Makefile.am:
15323         Ported fdsrc to 0.9.
15324
15325 2005-07-16  Wim Taymans  <wim@fluendo.com>
15326
15327         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15328         (gst_base_sink_do_sync):
15329         Fix compile error.
15330
15331 2005-07-16  Wim Taymans  <wim@fluendo.com>
15332
15333         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15334         (gst_base_sink_event), (gst_base_sink_get_times),
15335         (gst_base_sink_do_sync), (gst_base_sink_change_state):
15336         * gst/base/gstbasesink.h:
15337         Store and use discont values when syncing buffers as described
15338         in design docs.
15339         
15340         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15341         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
15342         (gst_base_src_activate_push):
15343         Push discont event when starting.
15344
15345         * gst/elements/gstidentity.c: (gst_identity_transform):
15346         Small cleanups.
15347
15348         * gst/gstbin.c: (gst_bin_change_state):
15349         Small cleanups in base_time  distribution.
15350
15351         * gst/gstelement.c: (gst_element_set_base_time),
15352         (gst_element_get_base_time), (gst_element_change_state):
15353         * gst/gstelement.h:
15354         Added methods for the base_time of the element.
15355         Some MT fixes.
15356
15357         * gst/gstpipeline.c: (gst_pipeline_send_event),
15358         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15359         (gst_pipeline_get_last_stream_time):
15360         * gst/gstpipeline.h:
15361         MT fixes.
15362         Handle seeking as described in design doc, remove stream_time
15363         hack.
15364         Cleanups clock and stream_time selection code. Added accessors
15365         for the stream_time.
15366         
15367
15368 2005-07-16  Andy Wingo  <wingo@pobox.com>
15369
15370         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
15371         (#305291).
15372
15373 2005-07-16  Wim Taymans  <wim@fluendo.com>
15374
15375         * check/gst/gstbin.c: (GST_START_TEST):
15376         Make elements silent as the deep_notify refs the
15377         parent, which might make the test fail.
15378
15379         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15380         Don't hold the lock for too long.
15381
15382 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
15383
15384         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15385           Don't unref the caps we passed to gst_caps_make_writable() after
15386           passing them. gst_caps_make_writable() will do that for us.
15387
15388 2005-07-15  Andy Wingo  <wingo@pobox.com>
15389
15390         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
15391         (#157311).
15392
15393         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
15394         own marshalling function for the handoff signal. Properly type the
15395         buffer as a buffer. Fixes some warnings. Should do a more general
15396         solution.
15397         (gst_identity_class_init): Plug into the right marshaller.
15398
15399 2005-07-15  Wim Taymans  <wim@fluendo.com>
15400
15401         * docs/design/part-TODO.txt:
15402         * docs/design/part-clocks.txt:
15403         * docs/design/part-element-sink.txt:
15404         * docs/design/part-events.txt:
15405         * docs/design/part-gstpipeline.txt:
15406         Updated docs, mostly DISCONT related.
15407
15408 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
15409
15410         * docs/pwg/building-pads.xml:
15411           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
15412
15413 2005-07-15  Andy Wingo  <wingo@pobox.com>
15414
15415         * tools/gst-typefind.c: Update, add copyright block.
15416
15417         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
15418         Normalize and truncate caps before fixation.
15419
15420         * gst/gstcaps.h:
15421         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
15422         discards all but the first structure from its argument.
15423
15424 2005-07-15  Wim Taymans  <wim@fluendo.com>
15425
15426         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15427         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
15428         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15429         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15430         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
15431         (gst_base_transform_chain), (gst_base_transform_change_state),
15432         (gst_base_transform_set_passthrough),
15433         (gst_base_transform_is_passthrough):
15434         * gst/base/gstbasetransform.h:
15435         Make passthrough work using the bufferpools.
15436         Changed API a bit, subclasses have to write into a buffer
15437         provided by the base class.
15438         More debug info in nego functions.
15439         
15440         * gst/elements/gstidentity.c: (gst_identity_init),
15441         (gst_identity_transform):
15442         Port to new base class.
15443
15444 2005-07-15  Wim Taymans  <wim@fluendo.com>
15445
15446         * gst/gstmessage.c: (gst_message_new_state_changed):
15447         * tools/gst-launch.c: (event_loop), (main):
15448         Totally dump messages in -launch with the -m option.
15449         Fix message name for State messages,
15450
15451 2005-07-14  Wim Taymans  <wim@fluendo.com>
15452
15453         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15454         Post error messages on errors.
15455
15456 2005-07-14  Wim Taymans  <wim@fluendo.com>
15457
15458         * gst/gstcaps.c: (gst_caps_do_simplify):
15459         Remove debug info.
15460
15461         * gst/gsterror.h:
15462         Define error for stream stopped.
15463
15464         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15465         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
15466         Do proper return values.
15467
15468         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15469         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
15470         (gst_pad_get_range):
15471         Better return values.
15472
15473         * gst/gstpad.h:
15474         Reorganise return values, add macro to check for fatal errors.
15475
15476         * gst/gstqueue.c: (gst_queue_chain):
15477         Return proper GstFlowReturn values,
15478
15479 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15480
15481         * docs/gst/gstreamer-sections.txt:
15482         * docs/gst/gstreamer.types:
15483         * docs/gst/tmpl/gst.sgml:
15484         * docs/gst/tmpl/gstbasesink.sgml:
15485         * docs/gst/tmpl/gstbasesrc.sgml:
15486         * docs/gst/tmpl/gstbasetransform.sgml:
15487         * docs/gst/tmpl/gstbin.sgml:
15488         * docs/gst/tmpl/gstbuffer.sgml:
15489         * docs/gst/tmpl/gstcaps.sgml:
15490         * docs/gst/tmpl/gstclock.sgml:
15491         * docs/gst/tmpl/gstcompat.sgml:
15492         * docs/gst/tmpl/gstconfig.sgml:
15493         * docs/gst/tmpl/gstelement.sgml:
15494         * docs/gst/tmpl/gstelementdetails.sgml:
15495         * docs/gst/tmpl/gstelementfactory.sgml:
15496         * docs/gst/tmpl/gstenumtypes.sgml:
15497         * docs/gst/tmpl/gsterror.sgml:
15498         * docs/gst/tmpl/gstevent.sgml:
15499         * docs/gst/tmpl/gstfakesink.sgml:
15500         * docs/gst/tmpl/gstfakesrc.sgml:
15501         * docs/gst/tmpl/gstfilesink.sgml:
15502         * docs/gst/tmpl/gstfilesrc.sgml:
15503         * docs/gst/tmpl/gstfilter.sgml:
15504         * docs/gst/tmpl/gstformat.sgml:
15505         * docs/gst/tmpl/gstghostpad.sgml:
15506         * docs/gst/tmpl/gstimplementsinterface.sgml:
15507         * docs/gst/tmpl/gstindex.sgml:
15508         * docs/gst/tmpl/gstindexfactory.sgml:
15509         * docs/gst/tmpl/gstinfo.sgml:
15510         * docs/gst/tmpl/gstiterator.sgml:
15511         * docs/gst/tmpl/gstmacros.sgml:
15512         * docs/gst/tmpl/gstmemchunk.sgml:
15513         * docs/gst/tmpl/gstminiobject.sgml:
15514         * docs/gst/tmpl/gstobject.sgml:
15515         * docs/gst/tmpl/gstpad.sgml:
15516         * docs/gst/tmpl/gstpadtemplate.sgml:
15517         * docs/gst/tmpl/gstparse.sgml:
15518         * docs/gst/tmpl/gstpipeline.sgml:
15519         * docs/gst/tmpl/gstplugin.sgml:
15520         * docs/gst/tmpl/gstpluginfeature.sgml:
15521         * docs/gst/tmpl/gstquery.sgml:
15522         * docs/gst/tmpl/gstqueue.sgml:
15523         * docs/gst/tmpl/gstregistry.sgml:
15524         * docs/gst/tmpl/gstregistrypool.sgml:
15525         * docs/gst/tmpl/gstscheduler.sgml:
15526         * docs/gst/tmpl/gstschedulerfactory.sgml:
15527         * docs/gst/tmpl/gststructure.sgml:
15528         * docs/gst/tmpl/gstsystemclock.sgml:
15529         * docs/gst/tmpl/gsttaglist.sgml:
15530         * docs/gst/tmpl/gsttagsetter.sgml:
15531         * docs/gst/tmpl/gsttrace.sgml:
15532         * docs/gst/tmpl/gsttrashstack.sgml:
15533         * docs/gst/tmpl/gsttypefind.sgml:
15534         * docs/gst/tmpl/gsttypefindfactory.sgml:
15535         * docs/gst/tmpl/gsttypes.sgml:
15536         * docs/gst/tmpl/gsturihandler.sgml:
15537         * docs/gst/tmpl/gsturitype.sgml:
15538         * docs/gst/tmpl/gstutils.sgml:
15539         * docs/gst/tmpl/gstvalue.sgml:
15540         * docs/gst/tmpl/gstversion.sgml:
15541         * docs/gst/tmpl/gstxml.sgml:
15542         * docs/libs/tmpl/gstcontrol.sgml:
15543         * docs/libs/tmpl/gstdataprotocol.sgml:
15544         * docs/libs/tmpl/gstdparam.sgml:
15545         * docs/libs/tmpl/gstdplinint.sgml:
15546         * docs/libs/tmpl/gstdpman.sgml:
15547         * docs/libs/tmpl/gstdpsmooth.sgml:
15548         * docs/libs/tmpl/gstgetbits.sgml:
15549         * docs/libs/tmpl/gstunitconvert.sgml:
15550         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
15551         (gst_push_src_base_init), (gst_push_src_class_init),
15552         (gst_push_src_init), (gst_push_src_create):
15553         * gst/base/gstpushsrc.h:
15554         * gst/elements/gstelements.c:
15555         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
15556         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
15557         (gst_fake_sink_init), (gst_fake_sink_set_property),
15558         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
15559         (gst_fake_sink_event), (gst_fake_sink_preroll),
15560         (gst_fake_sink_render), (gst_fake_sink_change_state):
15561         * gst/elements/gstfakesink.h:
15562         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15563         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
15564         (gst_fake_src_base_init), (gst_fake_src_class_init),
15565         (gst_fake_src_init), (gst_fake_src_event_handler),
15566         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
15567         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
15568         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
15569         (gst_fake_src_create_buffer), (gst_fake_src_create),
15570         (gst_fake_src_start), (gst_fake_src_stop):
15571         * gst/elements/gstfakesrc.h:
15572         * gst/elements/gstfilesink.c: (_do_init),
15573         (gst_file_sink_base_init), (gst_file_sink_class_init),
15574         (gst_file_sink_init), (gst_file_sink_dispose),
15575         (gst_file_sink_set_location), (gst_file_sink_set_property),
15576         (gst_file_sink_get_property), (gst_file_sink_open_file),
15577         (gst_file_sink_close_file), (gst_file_sink_query),
15578         (gst_file_sink_event), (gst_file_sink_render),
15579         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
15580         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
15581         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
15582         * gst/elements/gstfilesink.h:
15583         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
15584         (gst_file_src_class_init), (gst_file_src_init),
15585         (gst_file_src_finalize), (gst_file_src_set_location),
15586         (gst_file_src_set_property), (gst_file_src_get_property),
15587         (gst_file_src_map_region), (gst_file_src_map_small_region),
15588         (gst_file_src_create_mmap), (gst_file_src_create_read),
15589         (gst_file_src_create), (gst_file_src_is_seekable),
15590         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
15591         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
15592         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
15593         (gst_file_src_uri_handler_init):
15594         * gst/elements/gstfilesrc.h:
15595           more autistic cleanliness in functions/names/defines
15596
15597 2005-07-13  Andy Wingo  <wingo@pobox.com>
15598
15599         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
15600         source couldn't negotiate.
15601
15602         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
15603         connections again.
15604
15605         * gst/gstutils.h:
15606         * gst/gstutils.c (gst_element_link_pads_filtered): New old
15607         function. I am channeling Hades. Put your boots on suckers!!!
15608
15609 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15610
15611         * testsuite/caps/Makefile.am:
15612         * testsuite/caps/value_compare.c:
15613         * testsuite/caps/value_intersect.c:
15614         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15615           move two testsuite apps over to the check dir
15616
15617 2005-07-12  Wim Taymans  <wim@fluendo.com>
15618
15619         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15620         Added more debug info in the negotiate process.
15621
15622         * gst/gstmessage.h:
15623         Prepare for segment playback.
15624
15625         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
15626         Better debugging.
15627
15628         * gst/gstutils.c:
15629         Some more docs.
15630
15631         * tools/gst-launch.c: (main):
15632         NULL pipeline on errors.
15633
15634 2005-07-12  Andy Wingo  <wingo@pobox.com>
15635
15636         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
15637         not it comes from a malloc region. Make sure our copy gets freed.
15638
15639 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15640
15641         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15642         * check/gst/gstmessage.c: (GST_START_TEST):
15643         * check/gst/gststructure.c: (GST_START_TEST),
15644         (gst_structure_suite), (main):
15645           more testing
15646         * gst/gstelement.c: (gst_element_message_full):
15647           clean up GError and debug string now that they get copied
15648         * gst/gstmessage.c: (gst_message_new_error),
15649         (gst_message_new_warning), (gst_message_parse_error),
15650         (gst_message_parse_warning):
15651           use GST_TYPE_G_ERROR for structure_new, and take copies of
15652           arguments, so that we don't mess up refcounting
15653
15654 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15655
15656         * check/Makefile.am:
15657           add per-test valgrind targets
15658         * check/gst-libs/gdp.c: (GST_START_TEST),
15659         (gst_data_protocol_suite), (main):
15660           clean up
15661
15662 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15663
15664         * check/Makefile.am:
15665           instate more valgrindable tests
15666         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15667         (GST_START_TEST), (fakesrc_suite):
15668         * check/gst/gstpad.c: (GST_START_TEST):
15669         * check/gst/gststructure.c: (GST_START_TEST):
15670           fix test leaks
15671         * docs/gst/tmpl/gstminiobject.sgml:
15672         * gst/gstpad.c: (gst_pad_finalize):
15673           fix the static mutex leak
15674
15675 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15676
15677         * check/Makefile.am:
15678           add two more tests for valgrinding
15679         * check/gst/gstvalue.c: (GST_START_TEST):
15680           test refcount of deserialized buffer, found a leak
15681         * docs/gst/gstreamer-docs.sgml:
15682         * docs/gst/gstreamer-sections.txt:
15683         * docs/gst/gstreamer.types:
15684         * docs/gst/tmpl/gstminiobject.sgml:
15685           add miniobject to docs
15686         * gst/gstminiobject.c:
15687           add some docs
15688         * gst/gstvalue.c: (gst_value_deserialize_buffer),
15689         (gst_string_unwrap):
15690           fix a hard-to-find invalid write for one of the tests
15691           fix a leak for deserialized buffers
15692
15693 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15694
15695         * docs/pwg/advanced-events.xml:
15696         * docs/pwg/advanced-request.xml:
15697         * docs/pwg/advanced-scheduling.xml:
15698         * docs/pwg/appendix-porting.xml:
15699         * docs/pwg/building-boiler.xml:
15700         * docs/pwg/intro-preface.xml:
15701         * docs/pwg/other-ntoone.xml:
15702           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
15703           of example code and explanation for pad activation, loop() and
15704           getrange() functions and a bit more. Remove old comments pointing
15705           to loop-functions.
15706         * examples/pwg/Makefile.am:
15707           Add loop/getrange examples.
15708
15709 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15710
15711         * configure.ac:
15712           check for valgrind binary + some fixes
15713         * check/gst.supp:
15714           valgrind suppressions for the tests
15715         * check/Makefile.am:
15716           add a valgrind: target that valgrinds the unit tests
15717         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
15718         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15719         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15720         * check/gst/gstghostpad.c:
15721           added some cleanup
15722         * check/gst/gstdata.c:
15723           removed
15724         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
15725         (thread_unref), (gst_mini_object_suite), (main):
15726           added
15727         * gst/gst.c: (gst_deinit):
15728         * gst/gst.h:
15729           add a method to clean up.
15730         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15731         (gst_system_clock_obtain):
15732           allow for disposing the system clock.
15733         * tools/gst-launch.c: (main):
15734           deinit
15735
15736 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15737
15738         * docs/gst/tmpl/gstbasesrc.sgml:
15739         * docs/gst/tmpl/gstfakesrc.sgml:
15740         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15741         (gst_base_src_init), (gst_base_src_set_property),
15742         (gst_base_src_get_property), (gst_base_src_get_range),
15743         (gst_base_src_start):
15744         * gst/base/gstbasesrc.h:
15745           add num-buffers property
15746         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15747         (gst_fakesrc_init), (gst_fakesrc_set_property),
15748         (gst_fakesrc_get_property), (gst_fakesrc_create),
15749         (gst_fakesrc_start):
15750           remove num-buffers property
15751
15752 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15753
15754         * docs/gst/gstreamer-sections.txt:
15755         * docs/gst/tmpl/gstbasesink.sgml:
15756         * docs/gst/tmpl/gstbasesrc.sgml:
15757         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15758         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15759         (gst_base_sink_finalize), (gst_base_sink_set_clock),
15760         (gst_base_sink_set_property), (gst_base_sink_get_property),
15761         (gst_base_sink_handle_object), (gst_base_sink_event),
15762         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15763         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
15764         (gst_base_sink_loop), (gst_base_sink_deactivate),
15765         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
15766         (gst_base_sink_change_state):
15767         * gst/base/gstbasesink.h:
15768         * gst/base/gstbasesrc.h:
15769         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
15770         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15771         (gst_filesink_init):
15772           more macro splitting
15773
15774 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15775
15776         * gst/gstelement.c: (gst_element_get_bus):
15777           add debug
15778         * tools/gst-launch.c: (check_intr), (event_loop):
15779           fix bus leaks
15780
15781 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15782
15783         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15784           fix a caps leak
15785
15786 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15787
15788         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15789         (gst_base_src_finalize):
15790           add finalize method and clean up properly
15791         * gst/gstpipeline.c: (gst_pipeline_dispose):
15792           add debug
15793
15794 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15795
15796         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
15797         (gst_bin_suite):
15798           add more things to check
15799         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15800         * gst/gstelement.c:
15801           more debug
15802
15803 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15804
15805         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15806         (GST_START_TEST), (fakesrc_suite):
15807         * check/gst-libs/gdp.c: (GST_START_TEST):
15808         * check/gst/gst.c: (GST_START_TEST):
15809         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15810         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15811         * check/gst/gstbus.c: (GST_START_TEST):
15812         * check/gst/gstcaps.c: (GST_START_TEST):
15813         * check/gst/gstdata.c: (GST_START_TEST):
15814         * check/gst/gstelement.c: (GST_START_TEST):
15815         * check/gst/gstghostpad.c: (GST_START_TEST):
15816         * check/gst/gstiterator.c: (GST_START_TEST):
15817         * check/gst/gstmessage.c: (GST_START_TEST):
15818         * check/gst/gstobject.c: (GST_START_TEST):
15819         * check/gst/gstpad.c: (GST_START_TEST):
15820         * check/gst/gststructure.c: (GST_START_TEST):
15821         * check/gst/gstsystemclock.c: (GST_START_TEST),
15822         (gst_systemclock_suite):
15823         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15824         * check/gst/gstvalue.c: (GST_START_TEST):
15825         * check/pipelines/cleanup.c: (GST_START_TEST):
15826         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15827         * check/states/sinks.c: (GST_START_TEST):
15828         * check/gstcheck.c: (gst_check_init):
15829         * check/gstcheck.h:
15830           add debugging category
15831           use GST_START_TEST now, so we add a debug line
15832
15833 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15834
15835         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
15836           add test for state change message on a bin
15837         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
15838           add another test
15839         * gst/gstbin.c: (gst_bin_init):
15840         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
15841         * gst/gstelement.c: (gst_element_post_message),
15842         (gst_element_set_state):
15843         * gst/gstelementfactory.c: (gst_element_factory_create):
15844         * gst/gstmessage.c: (gst_message_new):
15845         * gst/gstscheduler.c:
15846           various debugging additions and cleanups
15847
15848 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15849
15850         * check/Makefile.am:
15851         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
15852         (main):
15853           adding tests for elements
15854         * gst/gstelement.c: (gst_element_dispose):
15855
15856 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15857
15858         * gst/registries/gstlibxmlregistry.c: (load_feature):
15859           plug more leaks.  A simple gst_init() now is leakfree, yay.
15860
15861 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15862
15863         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
15864         (gst_xml_registry_load):
15865           plug another memleak
15866
15867 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15868
15869         * configure.ac:
15870           use GST_SET_ERROR_CFLAGS
15871         * docs/faq/cvs.xml:
15872           change to ERROR_CFLAGS
15873
15874 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15875
15876         * configure.ac:
15877           make GST_ERROR_CFLAGS overridable and re-enable Werror
15878         * docs/faq/cvs.xml:
15879           add a note about error CFLAGS
15880         * docs/gst/tmpl/gstfakesrc.sgml:
15881         * gst/elements/gstfakesrc.c:
15882           comment out some unused code
15883         * gst/gst.c: (split_and_iterate):
15884         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
15885         (load_feature):
15886           plug some memleaks
15887
15888 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15889
15890         * common/Makefile.am:
15891         * common/gtk-doc.mak:
15892         * docs/gst/Makefile.am:
15893           factor out gtk-doc.mak
15894
15895 2005-07-07  Wim Taymans  <wim@fluendo.com>
15896
15897         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
15898         (gst_thread_scheduler_dispose):
15899         Unlock the STREAM_LOCK completely.
15900
15901 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15902
15903         * check/Makefile.am:
15904         * check/elements/.cvsignore:
15905         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15906         (START_TEST), (fakesrc_suite), (main):
15907         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15908         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15909         (gst_fakesrc_create), (gst_fakesrc_start):
15910         * gst/elements/gstfakesrc.h:
15911           adding a first element test
15912
15913 2005-07-07  Andy Wingo  <wingo@pobox.com>
15914
15915         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
15916         debug message.
15917
15918 2005-07-07  Wim Taymans  <wim@fluendo.com>
15919
15920         * gst/gstquery.c:
15921         * gst/gstquery.h:
15922         Remove old types
15923
15924 2005-07-07  Wim Taymans  <wim@fluendo.com>
15925
15926         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15927         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15928         Allow subclasses to implement their own negotiation.
15929
15930 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15931
15932         * docs/design/part-gstbin.txt:
15933         * docs/design/part-gstpipeline.txt:
15934           Update design notes to reflect the movement of
15935           responsibility for bus handling from GstPipeline to
15936           GstBin
15937
15938 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15939
15940         * configure.ac:
15941           Remove unnecessary queue2/3/4 examples.
15942
15943 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15944
15945         * examples/Makefile.am:
15946         * examples/helloworld/helloworld.c: (event_loop), (main):
15947         * examples/queue/queue.c: (event_loop), (main):
15948         * examples/queue2/queue2.c: (main):
15949           Update a couple of the examples to work again.
15950
15951         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15952         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15953          Spelling corrections and extra debug.
15954         
15955         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15956         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15957         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15958         * gst/gstbin.h:
15959         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15960         (gst_pipeline_change_state):
15961         * gst/gstpipeline.h:
15962           Move the bus handler for children to the GstBin, and create a
15963           separate bus for receiving messages from children to the one the
15964           bus sends 'upwards' on.
15965
15966 2005-07-06  Wim Taymans  <wim@fluendo.com>
15967
15968         * gst/base/README:
15969         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15970         (gst_base_sink_handle_object), (gst_base_sink_loop),
15971         (gst_base_sink_change_state):
15972         * gst/base/gstbasesink.h:
15973         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15974         (gst_base_src_init), (gst_base_src_setcaps),
15975         (gst_base_src_getcaps), (gst_base_src_loop),
15976         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15977         (gst_base_src_start), (gst_base_src_change_state):
15978         * gst/base/gstbasesrc.h:
15979         Make basesrc negotiate.
15980         Handle the case where preroll fails in basesink.
15981         Update README.
15982
15983 2005-07-06  Wim Taymans  <wim@fluendo.com>
15984
15985         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15986         Implement the fixate function.
15987         Clean up acceptcaps.
15988
15989 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15990
15991         * docs/pwg/building-filterfactory.xml:
15992         * docs/pwg/pwg.xml:
15993           Remove never-written filter-factory chapter; I'll add the various
15994           base classes to part 4 ("other element types") later on.
15995
15996 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15997
15998         * docs/pwg/advanced-negotiation.xml:
15999         * docs/pwg/building-boiler.xml:
16000         * docs/pwg/building-pads.xml:
16001         * docs/pwg/pwg.xml:
16002         * examples/pwg/Makefile.am:
16003           Add a chapter on caps negotiation, simplify the original code
16004           samples a bit w.r.t. caps negotiation, add link to the advanced
16005           section. Add a bunch of examples showing different use cases of
16006           different types of caps negotiation. Upstream renegotiation isn't
16007           fully documented yet since nobody knows how that works.
16008
16009 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16010
16011         * check/gst/gstpad.c:
16012         * check/gstcheck.c:
16013         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16014           if pad has no parent, return NULL as list of internal links
16015
16016 2005-07-05  Andy Wingo  <wingo@pobox.com>
16017
16018         * gst/elements/gstfilesrc.c:
16019         * gst/elements/gstfakesrc.c: 
16020         * gst/base/gstpushsrc.c:
16021         * gst/base/gstbasesrc.h: 
16022         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16023         
16024 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16025
16026         * Makefile.am:
16027           better report generation target (lcov needs a patch)
16028
16029 2005-07-05  Andy Wingo  <wingo@pobox.com>
16030
16031         * gst/elements, testsuite: Null if we got it...
16032
16033 2005-07-05  Wim Taymans  <wim@fluendo.com>
16034
16035         * configure.ac:
16036         * libs/gst/dataprotocol/Makefile.am:
16037         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16038         * libs/gst/dataprotocol/dataprotocol.h:
16039         * pkgconfig/Makefile.am:
16040         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16041         * pkgconfig/gstreamer-dataprotocol.pc.in:
16042         Ported dataprotol to 0.9. 
16043         Added pkgconfig files.
16044
16045 2005-07-05  Andy Wingo  <wingo@pobox.com>
16046
16047         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16048         Default to returning TRUE for the case when tranform_caps returns
16049         a fixed caps, like for identity or volume.
16050
16051         * check/gst/gstbus.c (pound_bus_with_messages): 
16052         * check/gst/gstmessage.c (START_TEST): 
16053         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16054         message API change.
16055
16056         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16057         logic weaks here: always run transform_caps, trying passthrough
16058         operation only if the original caps intersects with the transform.
16059
16060         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16061         source and sink caps.
16062
16063         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16064         Intersect the peer caps with the pad template before going into
16065         transform_caps.
16066         (gst_base_transform_transform_caps): More debugging.
16067
16068         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16069         src argument.
16070
16071 2005-07-04  Edward Hervey  <edward@fluendo.com>
16072
16073         * gst/gstutils.c:
16074         * gst/gstutils.h:
16075         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16076         in bindings.
16077
16078 2005-07-04  Andy Wingo  <wingo@pobox.com>
16079
16080         * check/gst/gstpad.c: Only set explicit caps on pads.
16081
16082 2005-07-01  Andy Wingo  <wingo@pobox.com>
16083
16084         * tests/network-clock.scm: Commentary update.
16085
16086         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16087         Didn't really make sense, not implementable with basetransform,
16088         etc.
16089         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16090         attempt at implementing the sync property, needs an unlock method.
16091
16092         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16093         New func, by default returns the same caps (the identity
16094         transformation).
16095         (gst_base_transform_getcaps): Uses transform_caps to return
16096         something sensible.
16097         (gst_base_transform_setcaps): Complicated logic to get caps on
16098         both pads, even if they are different, and to call set_caps once
16099         for every time both pads get their caps set.
16100         (gst_base_transform_handle_buffer): Give the ref to the transform
16101         function. Allows in-place modification of the buffer.
16102
16103         * gst/base/gstbasetransform.h (transform_caps): New class method.
16104         Given caps on one side, what can I do on the other.
16105         (set_caps): Take two caps, one for each side of the element.
16106
16107         * gst/gstpad.h:
16108         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16109         caps in place. This is safe because we can check the mutability of
16110         the caps, and a good idea because fixate functions are just called
16111         as a matter of last resort. (Not actually implemented.)
16112         (gst_pad_set_caps): If the caps we're setting is actually the same
16113         as the existing pad caps, just update the pointer without calling
16114         setcaps. Assert that caps is either NULL or fixed, as per the
16115         docs.
16116
16117         * gst/gstghostpad.c: Update for fixate changes.
16118
16119 2005-07-02  Andy Wingo  <wingo@pobox.com>
16120
16121         * gst/gstcaps.c:
16122         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
16123         two refcounts makes it immutable, which is enough. Doc more.
16124
16125 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
16126
16127         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
16128           Put the mini_object into GValue as a mini_object,
16129           not a gpointer, since that's how we declared
16130           the signal.
16131
16132 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16133
16134         * examples/pwg/Makefile.am:
16135           Fix buildbot again.
16136
16137 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16138
16139         * docs/pwg/building-testapp.xml:
16140           Add extra check.
16141         * examples/pwg/Makefile.am:
16142           Fix buildbot.
16143
16144 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16145
16146         * configure.ac:
16147         * examples/Makefile.am:
16148         * examples/pwg/Makefile.am:
16149         * examples/pwg/extract.pl:
16150           Enable building the PWG examples.
16151         * docs/pwg/advanced-interfaces.xml:
16152           Add URI interface stub.
16153         * docs/pwg/advanced-types.xml:
16154         * docs/pwg/other-autoplugger.xml:
16155         * docs/pwg/appendix-porting.xml:
16156         * docs/pwg/pwg.xml:
16157           Add porting guide (mostly stubs), remove autoplugging (see ADM).
16158         * docs/pwg/building-boiler.xml:
16159         * docs/pwg/building-chainfn.xml:
16160         * docs/pwg/building-pads.xml:
16161         * docs/pwg/building-props.xml:
16162         * docs/pwg/building-state.xml:
16163         * docs/pwg/building-testapp.xml:
16164           Update the building-*.xml parts for 0.9 changes. All examples
16165           code blocks compile in examples/pwg/*.
16166
16167 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16168
16169         * docs/manual/advanced-autoplugging.xml:
16170         * docs/manual/appendix-checklist.xml:
16171         * docs/manual/appendix-integration.xml:
16172         * docs/manual/highlevel-components.xml:
16173           Fix playbin/decodebin examples, update docs a bit, mention bus
16174           instead of signals in various places, mention kmplayer and
16175           kaffeine since they have a working GStreamer backend in the KDE
16176           section.
16177
16178 2005-06-30  Wim Taymans  <wim@fluendo.com>
16179
16180         * CHANGES-0.9:
16181         * docs/design/draft-ghostpads.txt:
16182         * docs/design/draft-push-pull.txt:
16183         * docs/design/draft-query.txt:
16184         * docs/design/part-TODO.txt:
16185         * docs/design/part-query.txt:
16186         Added CHANGES-0.9 doc, updated status of other docs.
16187         
16188         * gst/gstquery.h:
16189         Remove "hmm" macro
16190
16191 2005-06-30  Wim Taymans  <wim@fluendo.com>
16192
16193         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16194         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16195         (gst_base_sink_change_state):
16196         * gst/base/gstbasesink.h:
16197         Some tweaks, only EOS and a buffer complete a preroll.
16198
16199 2005-06-30  Andy Wingo  <wingo@pobox.com>
16200
16201         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
16202         activate_push down to the internal pad as well.
16203
16204 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
16205
16206         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16207
16208         * gst/gsttaginterface.c:
16209           Some documentation fixes (#307394 and #307397).
16210
16211 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
16212
16213         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16214
16215         * gst/gstvalue.c: (gst_value_intersect_list):
16216           Fix memleak (#309125).
16217
16218 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16219
16220         * docs/manual/advanced-dataaccess.xml:
16221           Fix fakesrc example to compile; doesn't work, bug somewhere...?
16222         * docs/manual/basics-pads.xml:
16223           Add reference for filtered caps to above chapter.
16224
16225 2005-06-30  Wim Taymans  <wim@fluendo.com>
16226
16227         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
16228         (gst_bin_change_state):
16229         Probes are gone.
16230         Lame attempt at making the state change function a bit
16231         more readable.
16232
16233 2005-06-30  Wim Taymans  <wim@fluendo.com>
16234
16235         * docs/design/part-clocks.txt:
16236         * docs/design/part-element-sink.txt:
16237         * docs/design/part-events.txt:
16238         * docs/design/part-preroll.txt:
16239         * docs/design/part-states.txt:
16240         Some more tweeks and additions to the docs.
16241
16242 2005-06-30  Wim Taymans  <wim@fluendo.com>
16243
16244         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16245         (default_have_data), (gst_pad_class_init), (gst_pad_init),
16246         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16247         (gst_pad_check_pull_range), (gst_pad_get_range),
16248         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
16249         * gst/gstpad.h:
16250         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
16251         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16252         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16253         (gst_pad_remove_buffer_probe):
16254         Removed atomic operations, use existing LOCK.
16255         Move exception handling out of main code path.
16256
16257 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16258
16259         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16260         (silly_return_true_function), (gst_pad_class_init),
16261         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16262         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
16263         (gst_pad_send_event):
16264           Fix accumulator, add default value by using _emitv() instead
16265           of _emit() for signal emission.
16266
16267 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16268
16269         * docs/manual/advanced-dataaccess.xml:
16270         * examples/manual/Makefile.am:
16271           Add probe example.
16272         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
16273           Make work (??).
16274
16275 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
16276
16277         * gst/elements/gstfilesink.c: (gst_filesink_render):
16278           Simplify code so that we don't have to handle short
16279           writes and return GST_FLOW_ERROR if an error occured.
16280
16281 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16282
16283         * docs/gst/gstreamer-docs.sgml:
16284           Remove probes more.
16285
16286 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16287
16288         * docs/gst/gstreamer-sections.txt:
16289         * docs/gst/tmpl/gstpad.sgml:
16290         * docs/gst/tmpl/gstprobe.sgml:
16291         * gst/Makefile.am:
16292         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16293         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
16294         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16295         (gst_pad_push_event), (gst_pad_send_event):
16296         * gst/gstpad.h:
16297         * gst/gstutils.c: (gst_pad_add_data_probe),
16298         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16299         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16300         (gst_pad_remove_buffer_probe):
16301         * gst/gstutils.h:
16302           Remove old probes, add new g-signal-based probes and some utility
16303           functions.
16304
16305 2005-06-29  Edward Hervey  <edward@fluendo.com>
16306
16307         * gst/gstelementfactory.c:
16308         * gst/gstutils.h:
16309         * gst/gstutils.c:
16310         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
16311         the definition to the header file.
16312
16313 2005-06-29  Andy Wingo  <wingo@pobox.com>
16314
16315         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
16316         plugins from the source directory.
16317
16318 2005-06-29  Wim Taymans  <wim@fluendo.com>
16319
16320         * docs/gst/tmpl/gstbuffer.sgml:
16321         * docs/gst/tmpl/gstclock.sgml:
16322         Some fixings for blantently wrong text.
16323
16324 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16325
16326         * check/Makefile.am:
16327         * gst/gst.c: (add_path_func), (init_pre):
16328         * gst/gstregistry.c: (gst_registry_add_path):
16329           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
16330           only scan the GST_PLUGIN_PATH locations, and not add
16331           system locations
16332
16333 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16334
16335         * docs/gst/gstreamer-sections.txt:
16336         * docs/gst/tmpl/gstbasesrc.sgml:
16337         * gst/gstelement.c:
16338         * gst/gstelement.h:
16339         * gst/gstevent.c:
16340         * gst/gstutils.c:
16341           doc fixes
16342
16343 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16344
16345         * docs/manual/advanced-autoplugging.xml:
16346           Fix autoplugging example.
16347
16348 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16349
16350         * docs/manual/advanced-autoplugging.xml:
16351         * docs/manual/mime-world.fig:
16352           Try to get autoplugging working, fix type detection. Fix text
16353           in hello-world image.
16354
16355 2005-06-29  Wim Taymans  <wim@fluendo.com>
16356
16357         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16358         (gst_base_sink_change_state):
16359         Small debug line.
16360
16361         * gst/gstclock.h:
16362         map SIGNAL and BROADCAST to the right function.
16363
16364         * gst/gstobject.h:
16365         Remove redundant braces.
16366
16367         * gst/gstpad.c: (gst_pad_set_caps):
16368         Don't call setcaps function when reseting caps to NULL.
16369
16370         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16371         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
16372         (gst_system_clock_id_unschedule):
16373         Use BROADCAST as this is what we do.
16374
16375 2005-06-29  Wim Taymans  <wim@fluendo.com>
16376
16377         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16378         We are actually prerolling before commiting the state
16379         change. 
16380
16381 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16382
16383         * docs/manual/advanced-clocks.xml:
16384         * docs/manual/advanced-interfaces.xml:
16385         * docs/manual/advanced-metadata.xml:
16386         * docs/manual/advanced-position.xml:
16387         * docs/manual/advanced-schedulers.xml:
16388         * docs/manual/advanced-threads.xml:
16389         * docs/manual/appendix-porting.xml:
16390         * docs/manual/basics-bins.xml:
16391         * docs/manual/basics-bus.xml:
16392         * docs/manual/basics-elements.xml:
16393         * docs/manual/basics-helloworld.xml:
16394         * docs/manual/basics-pads.xml:
16395         * docs/manual/highlevel-components.xml:
16396         * docs/manual/manual.xml:
16397         * docs/manual/thread.fig:
16398           Update (until threads/scheduling) Application Development Manual;
16399           remove GstThread, add GstBus, add simple porting checklist, add
16400           documentation for tag writing, clocks, make all examples until this
16401           part compile and run.
16402         * examples/manual/Makefile.am:
16403           Update from changes to Application Development Manual; add bus
16404           example, remove thread example.
16405
16406 2005-06-28  Wim Taymans  <wim@fluendo.com>
16407
16408         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
16409         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
16410         (gst_bus_source_dispatch):
16411         Add debugging messages.
16412         Make internal methods static.
16413         Handle the case where the bus is flushed in the handler.
16414         
16415         * gst/gstelement.c: (gst_element_get_bus):
16416         Fix refcount in _get_bus();
16417
16418         * gst/gstpipeline.c: (gst_pipeline_change_state),
16419         (gst_pipeline_get_clock_func):
16420         Clock refcounting fixes.
16421         Handle the case where preroll timed out more gracefully.
16422         
16423         * gst/gstsystemclock.c: (gst_system_clock_dispose):
16424         Clean up the internal thread in dispose. This is needed
16425         for subclasses that actually get disposed.
16426         
16427         * gst/schedulers/threadscheduler.c:
16428         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16429         (gst_thread_scheduler_dispose):
16430         Free thread pool in dispose.
16431
16432 2005-06-28  Andy Wingo  <wingo@pobox.com>
16433
16434         * tests/network-clock-utils.scm (debug, print-event): New utils.
16435
16436         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
16437         (*packet-loss*): Unified loss probability.
16438         (network-time): Report out-of-band events.
16439
16440         * tests/plot-data: Add support for out-of-band events. Hack it
16441         into this script instead of passing it down the pipe; should fix
16442         this later.
16443
16444 2005-06-28  Wim Taymans  <wim@fluendo.com>
16445
16446         * docs/gst/gstreamer.types:
16447         * docs/gst/tmpl/gstbasesrc.sgml:
16448         * docs/gst/tmpl/gstpad.sgml:
16449         Docs fixes.
16450
16451 2005-06-28  Wim Taymans  <wim@fluendo.com>
16452
16453         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16454         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
16455         (gst_proxy_pad_do_fixatecaps):
16456         Correctly proxy the check_pull_range function.
16457
16458 2005-06-28  Andy Wingo  <wingo@pobox.com>
16459
16460         * tests/network-clock.scm: Removed need for slib.
16461         
16462 2005-06-28  Wim Taymans  <wim@fluendo.com>
16463
16464         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
16465         (gst_basesink_preroll_queue_flush):
16466         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
16467         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
16468         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16469         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
16470         (gst_proxy_pad_set_property):
16471         * gst/gstpad.c:
16472         * gst/gstpad.h:
16473         * gst/gstqueue.c: (gst_queue_init):
16474         The deprecated pad loop function is removed now.
16475
16476 2005-06-28  Andy Wingo  <wingo@pobox.com>
16477
16478         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
16479         New parameters, simulate network packet loss.
16480
16481         * tests/network-clock-utils.scm: Initialize the RNG.
16482
16483 2005-06-28  Wim Taymans  <wim@fluendo.com>
16484
16485         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
16486         (gst_basesink_event), (gst_basesink_deactivate):
16487         Flushing the preroll queue always needs to unlock the waiters.
16488
16489 2005-06-28  Edward Hervey  <edward@fluendo.com>
16490
16491         * gst/gstpipeline.c: (gst_pipeline_send_event): 
16492         Wheen a seek was successful on a pipeline, set the stream_time to the
16493         seek offset in order to have a synchronized stream_time.
16494
16495 2005-06-28  Wim Taymans  <wim@fluendo.com>
16496
16497         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16498         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
16499         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
16500         (gst_proxy_pad_do_fixatecaps):
16501         Call wrapper function instead of just calling the function
16502         pointers. This takes care of any locking and whatmore.
16503
16504 2005-06-28  Wim Taymans  <wim@fluendo.com>
16505
16506         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
16507         (gst_pad_pull_range):
16508         * gst/gstpad.h:
16509         CONNECTED -> LINKED.
16510
16511 2005-06-28  Andy Wingo  <wingo@pobox.com>
16512
16513         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
16514         source-munging commit!!!
16515
16516         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
16517         (gst_object_sink): Take gpointer arguments, not GstObject --
16518         avoids casts. Like GLib.
16519
16520         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
16521         activate.
16522
16523 2005-06-27  Andy Wingo  <wingo@pobox.com>
16524
16525         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
16526         remaining buffer.
16527
16528         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
16529         returns a sorted copy of the trace list.
16530         (gst_alloc_trace_print_live): New API, only prints traces with
16531         live objects. Sort the list.
16532         (gst_alloc_trace_print_all): Sort the list.
16533         (gst_alloc_trace_print): Align columns.
16534
16535         * gst/elements/gstttypefindelement.c:
16536         * gst/elements/gsttee.c:
16537         * gst/base/gstbasesrc.c:
16538         * gst/base/gstbasesink.c:
16539         * gst/base/gstbasetransform.c:
16540         * gst/gstqueue.c: Adapt for pad activation changes.
16541
16542         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
16543         sched.
16544         (gst_pipeline_dispose): Drop ref on sched.
16545
16546         * gst/gstpad.c (gst_pad_init): Set the default activate func.
16547         (gst_pad_activate_default): Push mode by default.
16548         (pre_activate_switch, post_activate_switch): New stubs, things to
16549         do before and after switching activation modes on pads.
16550         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
16551         the pad's activate function to choose which mode to activate.
16552         Shortcut on deactivation and call the right function directly.
16553         (gst_pad_activate_pull): New API, (de)activates a pad in pull
16554         mode.
16555         (gst_pad_activate_push): New API, same for push mode.
16556         (gst_pad_set_activate_function) 
16557         (gst_pad_set_activatepull_function) 
16558         (gst_pad_set_activatepush_function): Setters for new API.
16559
16560         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
16561         Trace all miniobjects.
16562         (gst_mini_object_make_writable): Unref the arg if we copy, like
16563         gst_caps_make_writable.
16564
16565         * gst/gstmessage.c (_gst_message_initialize): No trace init.
16566
16567         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
16568         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
16569         Adapt for new pad API.
16570
16571         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
16572
16573         * gst/gstelement.h:
16574         * gst/gstelement.c (gst_element_iterate_src_pads) 
16575         (gst_element_iterate_sink_pads): New API functions.
16576         
16577         * gst/gstelement.c (iterator_fold_with_resync): New utility,
16578         should fold into gstiterator.c in some form.
16579         (gst_element_pads_activate): Simplified via use of fold and
16580         delegation of decisions to gstpad->activate.
16581
16582         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
16583         help in debugging.
16584
16585         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
16586         class once in init, like gstmessage. Didn't run into this issue
16587         but it seems correct. Don't initialize a trace, gstminiobject does
16588         that.
16589
16590         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
16591         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
16592         to the bus.
16593         (assert_live_count): New util function, uses alloc traces to check
16594         cleanup.
16595
16596         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
16597         To be modified when unlink drops the internal pad.
16598
16599 2005-06-27  Wim Taymans  <wim@fluendo.com>
16600
16601         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
16602         (gst_bin_change_state):
16603         Cleanup the get_state() function a little, make sure it
16604         iterates the same set of elements.
16605         Added stub iterate_state_order().
16606
16607 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16608
16609         * docs/gst/gstreamer-docs.sgml:
16610         * docs/gst/gstreamer-sections.txt:
16611         * docs/gst/gstreamer.types:
16612         * docs/gst/tmpl/gstbasesink.sgml:
16613         * docs/gst/tmpl/gstbasesrc.sgml:
16614         * docs/gst/tmpl/gstbasetransform.sgml:
16615         * docs/gst/tmpl/gstelement.sgml:
16616         * docs/gst/tmpl/gstiterator.sgml:
16617         * gst/base/gstbasesrc.c:
16618         * gst/base/gstbasesrc.h:
16619         * gst/base/gstbasetransform.h:
16620         * gst/gstelement.c:
16621         * gst/gstiterator.h:
16622           adding basetransform and iterator docs
16623
16624 2005-06-27  Andy Wingo  <wingo@pobox.com>
16625
16626         * docs/design/part-activation.txt: Notes on how activation should
16627         work -- not quite implemented yet.
16628
16629 2005-06-25  Wim Taymans  <wim@fluendo.com>
16630
16631         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
16632         At least get the chain function correct, needs more
16633         fixing.
16634
16635 2005-06-25  Wim Taymans  <wim@fluendo.com>
16636
16637         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16638         (gst_basesink_handle_object), (gst_basesink_event),
16639         (gst_basesink_do_sync), (gst_basesink_handle_event),
16640         (gst_basesink_change_state):
16641         * gst/gsttask.h:
16642         Right, two problems here: ghostpads don't take locks and
16643         glib _rec_mutex_lock_full() with depth==0 still locks.
16644         Catch illegal locking and g_warn them.
16645
16646 2005-06-25  Wim Taymans  <wim@fluendo.com>
16647
16648         * check/states/sinks.c: (START_TEST), (gst_object_suite):
16649         Have to check for completion now...
16650
16651 2005-06-25  Wim Taymans  <wim@fluendo.com>
16652
16653         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16654         (gst_basesink_handle_object), (gst_basesink_event),
16655         (gst_basesink_do_sync), (gst_basesink_handle_event),
16656         (gst_basesink_change_state):
16657         * gst/gstpad.h:
16658         Unlock STREAM_LOCK whatever the recursion was.
16659
16660 2005-06-25  Wim Taymans  <wim@fluendo.com>
16661
16662         * gst/base/gstbasesink.c: (gst_basesink_set_property),
16663         (gst_basesink_preroll_queue_empty),
16664         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
16665         (gst_basesink_event), (gst_basesink_do_sync),
16666         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
16667         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
16668         (gst_basesink_change_state):
16669         Reworked the base sink, handle event and buffer serialisation
16670         correctly and removed possible deadlock.
16671         Handle EOS correctly.
16672
16673 2005-06-25  Wim Taymans  <wim@fluendo.com>
16674
16675         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
16676         (gst_pipeline_change_state):
16677         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16678         Allow elements to post EOS in the state change function.
16679         Fix up -launch, make it exit the poll loop when the
16680         pipeline actually changed state.
16681         Fix up warning parsing in -launch.
16682
16683 2005-06-25  Wim Taymans  <wim@fluendo.com>
16684
16685         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
16686         (gst_tee_sink_activate):
16687         Core takes STREAM_LOCK for us now.
16688
16689 2005-06-25  Wim Taymans  <wim@fluendo.com>
16690
16691         * gst/gstelement.c: (gst_element_get_state_func),
16692         (gst_element_set_state):
16693         * gst/gstelement.h:
16694         * gst/gstmessage.c: (gst_message_parse_error),
16695         (gst_message_parse_warning):
16696         Keep track of current target state while performing a state
16697         change so that subclasses can do something interesting.
16698         Fix parsing of warning/error messages when GError is NULL.
16699
16700 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16701
16702         * docs/gst/Makefile.am:
16703         * docs/gst/gstreamer-docs.sgml:
16704         * docs/gst/gstreamer-sections.txt:
16705         * docs/gst/gstreamer.types:
16706         * docs/gst/tmpl/gstbasesink.sgml:
16707         * docs/gst/tmpl/gstbasesrc.sgml:
16708         * docs/gst/tmpl/gstbin.sgml:
16709         * docs/gst/tmpl/gstcompat.sgml:
16710         * docs/gst/tmpl/gstfakesink.sgml:
16711         * docs/gst/tmpl/gstfakesrc.sgml:
16712         * docs/gst/tmpl/gstfilesink.sgml:
16713         * docs/gst/tmpl/gstfilesrc.sgml:
16714         * docs/gst/tmpl/gstindex.sgml:
16715         * docs/manual/appendix-quotes.xml:
16716         * gst/base/gstbasesrc.h:
16717         * gst/elements/gstfakesrc.h:
16718         * gst/gstmessage.h:
16719           start pulling in base classes and elements in our docs
16720
16721 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
16722
16723         * docs/gst/Makefile.am:
16724         * docs/libs/Makefile.am:
16725           fixed make distcheck with gtk-doc 1.3
16726
16727 2005-06-23  Wim Taymans  <wim@fluendo.com>
16728
16729         * gst/gstelement.c: (gst_element_get_state_func),
16730         (gst_element_set_state), (gst_element_change_state):
16731         When the state did not change, also report NO_PREROLL
16732         when it matters.
16733
16734 2005-06-23  Wim Taymans  <wim@fluendo.com>
16735
16736         * gst/gstpad.c: (gst_pad_event_default):
16737         * gst/gstqueue.c: (gst_queue_loop):
16738         No unsafe task pausing please.
16739
16740 2005-06-23  Wim Taymans  <wim@fluendo.com>
16741
16742         * gst/schedulers/threadscheduler.c:
16743         (gst_thread_scheduler_task_start),
16744         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
16745         Ref the task before pushing it on the threadpool. This
16746         makes sure that we have a ref when the threadfunction is
16747         actually called.
16748
16749 2005-06-23  Andy Wingo  <wingo@pobox.com>
16750
16751         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
16752         offset is greater than the file's size.
16753
16754         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
16755         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
16756         * gst/gstobject.c (gst_object_class_init): Make the class lock
16757         recursive. Wim won't let me drop deep_notify. Decodebin works
16758         again, whoopdy doo.
16759
16760         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
16761         internal pad, and hacks accordingly. Doesn't do it on the target
16762         pad because we change its caps. Probably catches all cases of
16763         interest tho.
16764         (gst_ghost_pad_set_property): Connect to notify::caps as
16765         appropritate.
16766
16767         * tests/network-clock.scm (plot-simulation): Pipe data to the
16768         elite python skript.
16769
16770         * tests/network-clock-utils.scm (define-parameter): New macro,
16771         defines a parameter that can be set via the command line.
16772         (set-parameter!, parse-parameter-arguments): Command line args
16773         parser.
16774
16775         * tests/plot-data: Simple matplotlib-based plotter, takes input on
16776         stdin.
16777
16778 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
16779
16780         * gst/elements/gsttypefindelement.c:
16781         (gst_type_find_element_handle_event):
16782           Don't restart typefinding on a discont.
16783         * gst/gstelement.c: (gst_element_set_state):
16784           Debug spelling fix.
16785         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
16786           Allow changing mode of an active pad.
16787           Debug output fixes.
16788         * gst/registries/gstlibxmlregistry.c: (load_feature):
16789           Don't cast a static pad template to a normal pad template.
16790
16791 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16792
16793         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16794         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16795           remove gst_strtoll completely, since it didn't actually do
16796           anything more than what g_ascii_strtoull already does.
16797           check for range errors when deserializing
16798           do a cast for the unsigned cases; but further fixing needs
16799           a decision on what the interpretation of "(int)" and
16800           deserialization should be for values that fall outside the
16801           type's boundaries (ie, refuse, or interpret as casting)
16802
16803 2005-06-23  Wim Taymans  <wim@fluendo.com>
16804
16805         * check/Makefile.am:
16806         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
16807         * docs/design/part-live-source.txt:
16808         * docs/design/part-states.txt:
16809         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16810         (gst_basesrc_set_live), (gst_basesrc_is_live),
16811         (gst_basesrc_get_range), (gst_basesrc_activate),
16812         (gst_basesrc_change_state):
16813         * gst/base/gstbasesrc.h:
16814         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16815         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16816         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
16817         * gst/gstelement.c: (gst_element_get_state_func),
16818         (gst_element_set_state):
16819         * gst/gstelement.h:
16820         * gst/gsttypes.h:
16821         * tools/gst-launch.c: (event_loop), (main):
16822         Added support for live sources and other elements that
16823         cannot do preroll.
16824         Updated design docs, added live-source design doc.
16825         Implemented live source functionality in basesrc
16826         Fix error condition in _bin_get_state()
16827         Implement live source handling in -launch.
16828         Added check for live sources.
16829         Fixed case in GstBin where elements were changed state
16830         multiple times.
16831
16832
16833 2005-06-23  Andy Wingo  <wingo@pobox.com>
16834
16835         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
16836         borken refcounting.
16837
16838         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
16839         gst_caps_replace takes care of this for us.
16840
16841         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
16842         gst_pad_set_caps on the target, not just its setcaps() function.
16843
16844         * tests/network-clock.scm: 
16845         * tests/network-clock-utils.scm: A network clock simulator.
16846         Something of an algorithmic testbed before doing something in C.
16847
16848 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16849
16850         * check/Makefile.am:
16851         * check/gst/capslist.h:
16852           copy over from 0.8, and add two with bitmasks specified with
16853           (int) 0xFF...
16854         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16855           add test to parse everything from capslist.h
16856         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
16857         (main):
16858           add test for structure deserialization
16859         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16860           add tests for deserialization of strings to int types
16861         * gst/gststructure.c: (gst_structure_nth_field_name):
16862         * gst/gststructure.h:
16863           add a way to get the name of a field referenced by index
16864         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16865           instead of checking if the resulting long long lies between
16866           min and max, we check if the long long would fit into
16867           a number of bytes for the final type.
16868           This fixes cases where a string represents 2^32 - 1, which
16869           when cast to int would be the (valid) -1, but is bigger than
16870           G_MAXINT
16871
16872 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16873
16874         * gst/parse/grammar.y:
16875           add a log line for type deserialization
16876
16877 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16878
16879         * check/gst/gstvalue.c: (START_TEST):
16880         * gst/gstvalue.c: (gst_value_deserialize):
16881           return long long, not int, so gint64 deserialization actually
16882           works.  Is there any flag that makes the compiler check this ?
16883           Fixes #308559
16884
16885 2005-06-22  Wim Taymans  <wim@fluendo.com>
16886
16887         * gst/gstbuffer.h:
16888         Added convenience macros for setting buffers in GValue.
16889
16890 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16891
16892         * check/gst/.cvsignore:
16893         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16894           add a test deserializing int64, and comment part out because
16895           it fails, yay !
16896
16897 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16898
16899         * check/Makefile.am:
16900         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
16901         * testsuite/Makefile.am:
16902         * testsuite/caps/Makefile.am:
16903         * testsuite/caps/value_serialize.c:
16904         * testsuite/test_gst_init.c:
16905           move a value_serialize test over
16906
16907 2005-06-20  Wim Taymans  <wim@fluendo.com>
16908
16909         * gst/gstpad.c:
16910         Small doc updates.
16911         
16912         * gst/gstvalue.c: (gst_value_compare_buffer),
16913         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
16914         (gst_value_compare_flags), (gst_value_serialize_flags),
16915         (gst_value_deserialize_flags), (_gst_value_initialize):
16916         Fix serialisation of buffers, they are not boxed types anymore
16917
16918 2005-06-20  Wim Taymans  <wim@fluendo.com>
16919
16920         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16921         Testcase to show error in buffer-on-caps serialisation.
16922
16923 2005-06-20  Andy Wingo  <wingo@pobox.com>
16924
16925         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16926         will be adding to later.
16927
16928         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16929         if its socks fill with rocks.
16930         (gst_system_clock_obtain): Set the name on object construction.
16931         Avoid double-checked locking.
16932
16933 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16934
16935         * gst/gsturi.c: (gst_element_make_from_uri):
16936           Fix potential endless loop.
16937
16938 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16939
16940         * check/Makefile.am:
16941           add gsttag
16942         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16943         (main):
16944           move over from testsuite dir and clean up
16945         * configure.ac:
16946         * gst/gsttag.c:
16947         * testsuite/Makefile.am:
16948         * testsuite/tags/.cvsignore:
16949         * testsuite/tags/Makefile.am:
16950         * testsuite/tags/merge.c:
16951           remove testsuite/tags
16952
16953 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16954
16955         * docs/gst/gstreamer-sections.txt:
16956         * docs/gst/tmpl/gstenumtypes.sgml:
16957         * win32/gstenumtypes.c:
16958           clean up documentation build a little
16959
16960 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16961
16962         * check/gstcheck.h:
16963           add macros for checking refcounts on objects and caps
16964         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16965           add some more unit tests
16966         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16967         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16968           fix leaked refcounts (I hope :)) so unittest works
16969         * gst/gstpad.h:
16970           whitespace removal
16971
16972 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16973
16974         * configure.ac: back to HEAD
16975
16976 === release 0.9.1 ===
16977
16978 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16979
16980         * NEWS:
16981         * RELEASE:
16982           updated
16983
16984 2005-06-17  Andy Wingo  <wingo@pobox.com>
16985
16986         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16987         assert; it's always possible that the pad gets deactivated in
16988         between the checks in gstpad.c and the implementation. Rely on
16989         finish_preroll() to return a FLUSHING or similar instead of on the
16990         assert.
16991         
16992         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16993         clock and post an EOS message if we come out of finish_preroll in
16994         the playing state.
16995
16996 2005-06-16  David Schleef  <ds@schleef.org>
16997
16998         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16999         (gst_capsfilter_set_property): Allow NULL as possible value
17000         for filter_caps property, indicating GST_CAPS_ANY.
17001
17002 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17003
17004         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17005           fix debug output
17006         * gst/schedulers/Makefile.am:
17007           use libgst prefix
17008         * gstreamer.spec.in:
17009           fix spec for it
17010
17011 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17012
17013         * gstreamer.spec.in:
17014           clean up
17015
17016 2005-06-08  Andy Wingo  <wingo@pobox.com>
17017
17018         * gst/gstutils.c: RPAD fixes all around.
17019         (gst_element_link_pads): Refcounting fixes.
17020
17021         * tools/gst-inspect.c:
17022         * tools/gst-xmlinspect.c:
17023         * parse/grammar.y:
17024         * gst/base/gsttypefindhelper.c:
17025         * gst/base/gstbasesink.c:
17026         * gst/gstqueue.c: RPAD fixes.
17027
17028         * gst/gstghostpad.h:
17029         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17030         pads. The tricky thing is they provide both source and sink
17031         interfaces, since they proxy the internal pad for the external
17032         pad, and vice versa. Implement with lower-level ProxyPad objects,
17033         with the interior proxy pad as a child of the exterior ghost pad.
17034         Should write a doc on this.
17035         
17036         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17037         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17038         gst_object API.
17039         
17040         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17041         pads are real pads. No ghost pads in this file. Not documenting
17042         the myriad s/RPAD/PAD/ and REALIZE fixes.
17043         (gst_pad_class_init): Add properties for "direction" and
17044         "template". Both are construct-only, so they can't change during
17045         the life of the pad. Fixes properly deriving from GstPad.
17046         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17047         derived objects, just set properties when creating the objects via
17048         g_object_new.
17049         (gst_pad_get_parent): Implement as a function, return NULL if the
17050         parent is not an element.
17051         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17052         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17053         
17054         * gst/gstobject.c (gst_object_class_init): Make name a construct
17055         property. Don't set it in the object init.
17056
17057         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17058         with UNKNOWN direction.
17059         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17060         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17061         (gst_element_remove_pad): Remove ghost-pad special cases.
17062         (gst_element_pads_activate): Remove rpad cruft.
17063
17064         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17065         catch the pad's-parent-not-an-element case.
17066
17067         * gst/gst.h: Include gstghostpad.h.
17068
17069         * gst/gst.c (init_post): No more real, ghost pads.
17070
17071         * gst/Makefile.am: Add gstghostpad.[ch].
17072
17073         * check/Makefile.am:
17074         * check/gst/gstbin.c:
17075         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17076         into a bin creates ghost pads, and that the refcounts are right.
17077         Partly moved from gstbin.c.
17078
17079 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17080
17081         * check/gst-libs/.cvsignore:
17082         * check/gst/.cvsignore:
17083         * check/pipelines/.cvsignore:
17084           ignore more
17085         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17086         (START_TEST), (cleanup_suite), (main):
17087           add some tests related to cleanup after running pipelines
17088
17089 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17090
17091         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17092           add a testsuite for GstBuffer
17093
17094 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17095
17096         * gst/gstminiobject.h:
17097           add defines for accessing the refcount
17098
17099 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
17100
17101         * Makefile.am: added support for html unit test coverage reports
17102
17103 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
17104
17105         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17106           Free existing caps if the capsfilter changes. Add a FIXME about
17107           setting those caps on the pads.
17108
17109         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17110           Before adding a ghost pad to a parent bin, check that there isn't
17111           already one for the element on the bin. Prevents infinite recursion
17112           when using decodebin in parse pipelines. Andy says he'll rewrite the
17113           way this works anyway, so ignore the hack.
17114
17115 2005-06-02  Andy Wingo  <wingo@pobox.com>
17116
17117         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
17118         file size, pass it on to the type find helper.
17119
17120         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
17121         segment_start and segment_end properly according to the seek
17122         method. Segment_end is still a bit flaky because offset can be
17123         negative for CUR and END cases, but it takes -1 as an "unset"
17124         value.
17125
17126 2005-06-02  Wim Taymans  <wim@fluendo.com>
17127
17128         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
17129         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
17130         (gst_basesink_activate):
17131         * gst/base/gstbasesink.h:
17132         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17133         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17134         (gst_pad_query), (gst_pad_start_task):
17135         * gst/gstpad.h:
17136         * gst/gstqueue.c: (gst_queue_bufferalloc),
17137         (gst_queue_handle_sink_event), (gst_queue_chain):
17138         Bufferalloc: return GstFlowReturn to more accuratly report
17139         why allocation failed.
17140
17141 2005-06-02  Wim Taymans  <wim@fluendo.com>
17142
17143         * gst/gstpipeline.c: (gst_pipeline_send_event):
17144         Take snapshot of state without blocking.
17145
17146 2005-06-02  Wim Taymans  <wim@fluendo.com>
17147
17148         * docs/design/part-TODO.txt:
17149         * docs/design/part-caps.txt:
17150         * docs/design/part-clocks.txt:
17151         * docs/design/part-negotiation.txt:
17152         * docs/design/part-preroll.txt:
17153         Small doc updates 
17154
17155 2005-05-30  Wim Taymans  <wim@fluendo.com>
17156
17157         * gst/elements/gstidentity.c: (gst_identity_event),
17158         (gst_identity_transform), (gst_identity_get_property):
17159         Protect last_message property as it is accessed from
17160         multiple threads.
17161
17162 2005-05-30  Wim Taymans  <wim@fluendo.com>
17163
17164         * gst/gstelement.c: (gst_element_init),
17165         (gst_element_pads_activate), (gst_element_change_state):
17166         Slicker pad activation code.
17167
17168 2005-05-30  Wim Taymans  <wim@fluendo.com>
17169
17170         * gst/Makefile.am:
17171         * gst/gstelement.h:
17172         * gst/gstelementfactory.h:
17173         * gst/gsttypes.h:
17174         Move elementfactory methods to separate .h file.
17175
17176 2005-05-30  Wim Taymans  <wim@fluendo.com>
17177
17178         * docs/design/part-overview.txt:
17179         * gst/gstsystemclock.h:
17180         Small typo fixes, doc updates.
17181
17182 2005-05-30  Wim Taymans  <wim@fluendo.com>
17183
17184         * gst/gst.c: (gst_init_get_popt_table), (init_post),
17185         (init_popt_callback):
17186         Remove cpu-opt flag.
17187
17188 2005-05-30  Wim Taymans  <wim@fluendo.com>
17189
17190         * gst/gstbuffer.c: (gst_subbuffer_finalize),
17191         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
17192         * gst/gstbuffer.h:
17193         Avoid typechecking in places where not needed.
17194         Added accessor for malloc_data.
17195
17196 2005-05-30  Wim Taymans  <wim@fluendo.com>
17197
17198         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
17199         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
17200         (gst_pad_configure_sink), (gst_pad_configure_src),
17201         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
17202         (gst_pad_start_task):
17203         Propagate errors from _set_caps() in configure_src/sink
17204         functions instead of returning TRUE.
17205         FLUSH events can travel up and downstream
17206
17207
17208 2005-05-30  Wim Taymans  <wim@fluendo.com>
17209
17210         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17211         (gst_basesink_activate):
17212         Handle EOS in preroll.
17213
17214 2005-05-30  Wim Taymans  <wim@fluendo.com>
17215
17216         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17217         (gst_queue_loop), (gst_queue_handle_src_event):
17218         Remove old pieces of code
17219         Flushing the queue in an upstream event is a very bad idea.
17220
17221 2005-05-26  Andy Wingo  <wingo@pobox.com>
17222
17223         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
17224         gst_value_set_mini_object so as to add a ref on the object (which
17225         will be removed when the value is unset).
17226
17227         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
17228         arg type in ::handoff.
17229
17230         * gst/gstelement.c (gst_element_change_state): Also deactivate
17231         pads in READY->NULL, just in case the element didn't make it to
17232         PAUSED. Wingo tested, Wim approved.
17233
17234 2005-05-26  Wim Taymans  <wim@fluendo.com>
17235
17236         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17237         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17238         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
17239         A flushing pad cannot be used to alloc_buffer from.
17240
17241 2005-05-26  Wim Taymans  <wim@fluendo.com>
17242
17243         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
17244         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
17245         (gst_bus_source_dispatch), (gst_bus_source_finalize),
17246         (gst_bus_create_watch), (gst_bus_add_watch_full):
17247         * gst/gstbus.h:
17248         Implement a real GSource and use g_main_context_wakeup() to
17249         signal new messages instead of the socketpair.
17250
17251 2005-05-25  Wim Taymans  <wim@fluendo.com>
17252
17253         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
17254         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
17255         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17256         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17257         (gst_pad_send_event), (gst_pad_start_task):
17258         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
17259         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
17260         (gst_queue_sink_activate), (gst_queue_src_activate),
17261         (gst_queue_change_state):
17262         * gst/gstqueue.h:
17263         Fix state changes for non sinks. We now change sinks, then elements
17264         with unconnected srcpads, then the rest.
17265         More efficient queue unlocking in flush and state changes.
17266         Set the pad activate mode even if it does not have an activate
17267         function.
17268
17269 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17270
17271         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
17272           Don't go in pull mode for non-seekable sources.
17273         * gst/elements/gsttypefindelement.h:
17274         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17275         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
17276         (free_entry), (stop_typefinding),
17277         (gst_type_find_element_handle_event), (find_peek),
17278         (gst_type_find_element_chain), (do_pull_typefind),
17279         (gst_type_find_element_change_state):
17280           Allow typefinding (w/o seeking) in push-mode, simplified version
17281           of what was in 0.8.
17282         * gst/gstutils.c: (gst_buffer_join):
17283         * gst/gstutils.h:
17284           gst_buffer_join() from 0.8.
17285
17286 2005-05-25  Wim Taymans  <wim@fluendo.com>
17287
17288         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17289         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17290         (gst_pad_send_event), (gst_pad_start_task):
17291         Disable attempt at mode switching until it is figured out.
17292
17293 2005-05-25  Wim Taymans  <wim@fluendo.com>
17294
17295         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
17296         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17297         (gst_basesink_finish_preroll), (gst_basesink_chain),
17298         (gst_basesink_loop), (gst_basesink_activate),
17299         (gst_basesink_change_state):
17300         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
17301         (gst_basesrc_get_range), (gst_basesrc_loop),
17302         (gst_basesrc_activate):
17303         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17304         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17305         (gst_real_pad_init), (gst_real_pad_set_property),
17306         (gst_real_pad_get_property), (gst_pad_set_active),
17307         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
17308         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
17309         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
17310         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
17311         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17312         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
17313         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
17314         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17315         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
17316         (gst_pad_stop_task):
17317         * gst/gstpad.h:
17318         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17319         (gst_queue_loop), (gst_queue_src_activate):
17320         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
17321         (gst_task_get_state):
17322         * gst/gsttask.h:
17323         * gst/schedulers/threadscheduler.c:
17324         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
17325         Implement gst_pad_pause/start/stop_task(), take STREAM lock
17326         in task function.
17327         Remove ACTIVE pad flag, use FLUSHING everywhere
17328         Added _pad_chain(), _pad_get_range() to call chain/getrange 
17329         functions.
17330         Add locks around IS_FLUSHING when reading.
17331         Take STREAM lock in chain(), get_range() functions so plugins
17332         don't need to take it anymore.
17333         
17334
17335
17336 2005-05-25  Wim Taymans  <wim@fluendo.com>
17337
17338         * tools/gst-launch.c: (event_loop):
17339         Unref message after using its contents instead of
17340         before.
17341
17342 2005-05-24  Wim Taymans  <wim@fluendo.com>
17343
17344         * docs/design/draft-ghostpads.txt:
17345         * docs/design/draft-push-pull.txt:
17346         * docs/design/draft-query.txt:
17347         * docs/design/part-overview.txt:
17348         Docs updates, added general overview doc.
17349
17350 2005-05-21  David Schleef  <ds@schleef.org>
17351
17352         * docs/gst/tmpl/old/GstBin.sgml:
17353         * docs/gst/tmpl/old/GstBuffer.sgml:
17354         * docs/gst/tmpl/old/GstCaps.sgml:
17355         * docs/gst/tmpl/old/GstClock.sgml:
17356         * docs/gst/tmpl/old/GstCompat.sgml:
17357         * docs/gst/tmpl/old/GstData.sgml:
17358         * docs/gst/tmpl/old/GstElement.sgml:
17359         * docs/gst/tmpl/old/GstEvent.sgml:
17360         * docs/gst/tmpl/old/GstIndex.sgml:
17361         * docs/gst/tmpl/old/GstStructure.sgml:
17362         * docs/gst/tmpl/old/GstTag.sgml:
17363         * docs/gst/tmpl/old/cothreads.sgml:
17364         * docs/gst/tmpl/old/cothreads_compat.sgml:
17365         * docs/gst/tmpl/old/gettext.sgml:
17366         * docs/gst/tmpl/old/gobject2gtk.sgml:
17367         * docs/gst/tmpl/old/grammar.tab.sgml:
17368         * docs/gst/tmpl/old/gst-i18n-app.sgml:
17369         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
17370         * docs/gst/tmpl/old/gst_private.sgml:
17371         * docs/gst/tmpl/old/gstaggregator.sgml:
17372         * docs/gst/tmpl/old/gstarch.sgml:
17373         * docs/gst/tmpl/old/gstatomic_impl.sgml:
17374         * docs/gst/tmpl/old/gstbufferstore.sgml:
17375         * docs/gst/tmpl/old/gstdata_private.sgml:
17376         * docs/gst/tmpl/old/gstdisksink.sgml:
17377         * docs/gst/tmpl/old/gstdisksrc.sgml:
17378         * docs/gst/tmpl/old/gstelementfactory.sgml:
17379         * docs/gst/tmpl/old/gstextratypes.sgml:
17380         * docs/gst/tmpl/old/gstfakesink.sgml:
17381         * docs/gst/tmpl/old/gstfakesrc.sgml:
17382         * docs/gst/tmpl/old/gstfdsink.sgml:
17383         * docs/gst/tmpl/old/gstfdsrc.sgml:
17384         * docs/gst/tmpl/old/gstfilesink.sgml:
17385         * docs/gst/tmpl/old/gstfilesrc.sgml:
17386         * docs/gst/tmpl/old/gsthttpsrc.sgml:
17387         * docs/gst/tmpl/old/gstidentity.sgml:
17388         * docs/gst/tmpl/old/gstindexfactory.sgml:
17389         * docs/gst/tmpl/old/gstmarshal.sgml:
17390         * docs/gst/tmpl/old/gstmd5sink.sgml:
17391         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
17392         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
17393         * docs/gst/tmpl/old/gstpadtemplate.sgml:
17394         * docs/gst/tmpl/old/gstpipefilter.sgml:
17395         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
17396         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
17397         * docs/gst/tmpl/old/gstshaper.sgml:
17398         * docs/gst/tmpl/old/gstspider.sgml:
17399         * docs/gst/tmpl/old/gstspideridentity.sgml:
17400         * docs/gst/tmpl/old/gststatistics.sgml:
17401         * docs/gst/tmpl/old/gsttee.sgml:
17402         * docs/gst/tmpl/old/gsttimecache.sgml:
17403         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
17404         * docs/gst/tmpl/old/gstxmlregistry.sgml:
17405         * docs/gst/tmpl/old/gthread-cothreads.sgml:
17406         * docs/gst/tmpl/old/types.sgml:
17407           I didn't intend to add these or check them in.
17408
17409 2005-05-19  David Schleef  <ds@schleef.org>
17410
17411         * configure.ac: Use -no-common everywhere.  In a sane world, it
17412           would be the default in libtool, because without it, you can't
17413           build DLLs on Windows.
17414         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
17415         * docs/gst/gstreamer-sections.txt:
17416         * docs/gst/tmpl/gstcpu.sgml:
17417         * docs/gst/tmpl/gstdata.sgml:
17418         * docs/gst/tmpl/gstthread.sgml:
17419
17420 2005-05-19  David Schleef  <ds@schleef.org>
17421
17422         * gst/gstminiobject.c: (gst_value_set_mini_object),
17423         (gst_value_take_mini_object), (gst_value_get_mini_object):
17424         * gst/gstminiobject.h: Add GValue set/get functions.
17425
17426 2005-05-19  Wim Taymans  <wim@fluendo.com>
17427
17428         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
17429         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
17430         (gst_subbuffer_init), (gst_buffer_is_span_fast):
17431         * gst/gstbuffer.h:
17432         * gst/gstbus.c: (gst_bus_post):
17433         * gst/gstelement.c: (gst_element_get_random_pad):
17434         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
17435         Make subbufer unref the parent in finalize.
17436         some more debugging info.
17437
17438
17439 2005-05-19  Wim Taymans  <wim@fluendo.com>
17440
17441         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17442         (gst_basesink_init), (gst_basesink_finalize),
17443         (gst_basesink_activate), (gst_basesink_change_state):
17444         Don't free preroll queue too early.
17445
17446 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17447
17448         * gst/Makefile.am:
17449         * gst/ROADMAP:
17450           Hi, I'm outdated. Please shoot me.
17451
17452 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17453
17454         * gst/gstpipeline.c: (gst_pipeline_send_event):
17455           Do not access variables after they have been deleted.
17456
17457 2005-05-19  Wim Taymans  <wim@fluendo.com>
17458
17459         * tools/gst-inspect.c: (print_plugin_features):
17460         A plugin feature does unfortunatly not use the
17461         object name yet...
17462
17463 2005-05-18  Wim Taymans  <wim@fluendo.com>
17464
17465         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
17466         Port _span() functions to new subbuffers.
17467
17468 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17469
17470         * gst/gstbin.c: (gst_bin_add_func):
17471           Fix clock settery in bins when adding kids after the clock has
17472           been selected.
17473
17474 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17475
17476         * gst/elements/gstidentity.c: (gst_identity_class_init):
17477           Workaround until signals support GstMiniObject.
17478
17479 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
17480
17481         * gst/gstbuffer.c:
17482         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
17483
17484 2005-05-18  Wim Taymans  <wim@fluendo.com>
17485
17486         * gst/base/Makefile.am:
17487         * gst/base/gstadapter.c: (gst_adapter_base_init),
17488         (gst_adapter_class_init), (gst_adapter_init),
17489         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
17490         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
17491         (gst_adapter_flush), (gst_adapter_available),
17492         (gst_adapter_available_fast):
17493         * gst/base/gstadapter.h:
17494         Ported and added adapter to the base classes.
17495
17496 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17497
17498         * gst/gst.c:
17499         * gst/gstmessage.c:
17500           Make sure the class is reffed/unreffed once before threads can be
17501           used.  Fixes #304551.
17502
17503 2005-05-17  Wim Taymans  <wim@fluendo.com>
17504
17505         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
17506         (gst_basesink_chain_unlocked), (gst_basesink_activate):
17507         * gst/gstminiobject.c: (gst_mini_object_get_type),
17508         (gst_mini_object_free):
17509         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
17510         (gst_pad_push), (gst_pad_push_event):
17511         * gst/gstqueue.c: (gst_queue_change_state):
17512         Don't queue buffers in basesink when we are flushing.
17513         Unref buffer when flushing in basesink.
17514         Flush queue when going to READY
17515         Unref buffer when _push() returns an error.
17516         Don't free MiniObject instance when refcount is incremented
17517         in _finalize() so that we can recover objects.
17518
17519 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17520
17521         * docs/manual/advanced-schedulers.xml:
17522         * docs/manual/appendix-checklist.xml:
17523         * docs/pwg/advanced-clock.xml:
17524         * docs/pwg/advanced-interfaces.xml:
17525         * docs/pwg/advanced-request.xml:
17526         * docs/pwg/advanced-types.xml:
17527         * docs/pwg/intro-preface.xml:
17528         * examples/plugins/example.c: (gst_example_get_type),
17529         (gst_example_class_init), (gst_example_chain),
17530         (gst_example_set_property), (gst_example_get_property),
17531         (gst_example_change_state), (plugin_init):
17532         * examples/plugins/example.h:
17533           small doc fixes
17534
17535 2005-05-17  Wim Taymans  <wim@fluendo.com>
17536
17537         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
17538         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
17539         * gst/gstqueue.c: (gst_queue_change_state):
17540         Clear queue when going to READY.
17541         Remove IN_SETCAPS flag too.
17542
17543 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
17544
17545         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
17546           Remove implicit cast from gboolean to GstElementStateReturn;
17547           make sure we still return failure in paused => ready case if
17548           the parent class fails to change state and our own stop 
17549           vfunc succeeds.
17550
17551 2005-05-17  Wim Taymans  <wim@fluendo.com>
17552
17553         * tools/gst-launch.c: (event_loop):
17554         Message was unreffed too soon.
17555
17556 2005-05-16  Andy Wingo  <wingo@pobox.com>
17557
17558         * gst/gstbin.c (sink_iterator_filter): Err... um...
17559
17560         * check/gst/gstbin.c (test_ghost_pads): New test for the
17561         ghosting-if-elements-not-in-same-bin behavior.
17562
17563 2005-05-16  David Schleef  <ds@schleef.org>
17564
17565         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
17566         accessing refcount directly.
17567
17568 2005-05-15  David Schleef  <ds@schleef.org>
17569
17570         * check/Makefile.am: remove GstData checks
17571         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
17572         * gst/Makefile.am: add miniobject, remove data
17573         * gst/gst.h: add miniobject, remove data
17574         * gst/gstdata.c: remove
17575         * gst/gstdata.h: remove
17576         * gst/gstdata_private.h: remove
17577         * gst/gsttypes.h: remove GstEvent and GstMessage
17578         * gst/gstelement.c: (gst_element_post_message): fix for API changes
17579         * gst/gstmarshal.list: change BOXED -> OBJECT
17580
17581         Implement GstMiniObject.
17582         * gst/gstminiobject.c:
17583         * gst/gstminiobject.h:
17584
17585         Modify to be subclasses of GstMiniObject.
17586         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
17587         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
17588         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
17589         (gst_subbuffer_get_type), (gst_subbuffer_init),
17590         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
17591         (gst_buffer_span):
17592         * gst/gstbuffer.h:
17593         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
17594         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
17595         (_gst_event_copy), (gst_event_new):
17596         * gst/gstevent.h:
17597         * gst/gstmessage.c: (_gst_message_initialize),
17598         (gst_message_get_type), (gst_message_class_init),
17599         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
17600         (gst_message_new), (gst_message_new_error),
17601         (gst_message_new_warning), (gst_message_new_tag),
17602         (gst_message_new_state_changed), (gst_message_new_application):
17603         * gst/gstmessage.h:
17604         * gst/gstprobe.c: (gst_probe_perform),
17605         (gst_probe_dispatcher_dispatch):
17606         * gst/gstprobe.h:
17607         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
17608         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
17609         (_gst_query_copy), (gst_query_new):
17610
17611         Update elements for GstData -> GstMiniObject changes
17612         * gst/gstquery.h:
17613         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
17614         (gst_queue_chain), (gst_queue_loop):
17615         * gst/elements/gstbufferstore.c:
17616         (gst_buffer_store_add_buffer_func),
17617         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
17618         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17619         (gst_fakesink_render):
17620         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17621         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
17622         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
17623         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
17624         (gst_filesrc_create_read):
17625         * gst/elements/gstidentity.c: (gst_identity_class_init):
17626         * gst/elements/gsttypefindelement.c:
17627         (gst_type_find_element_src_event), (free_entry_buffers),
17628         (gst_type_find_element_handle_event):
17629         * libs/gst/dataprotocol/dataprotocol.c:
17630         (gst_dp_header_from_buffer):
17631         * libs/gst/dataprotocol/dataprotocol.h:
17632         * libs/gst/dataprotocol/dp-private.h:
17633
17634 2005-05-15  David Schleef  <ds@schleef.org>
17635
17636         * gst/elements/gstelements.c: Don't include headers that were
17637         just removed.
17638
17639 2005-05-15  David Schleef  <ds@schleef.org>
17640
17641         * gst/elements/Makefile.am: Remove some elements that don't
17642         need to be in the core (or even exist at all).
17643         * gst/elements/gstaggregator.c:
17644         * gst/elements/gstaggregator.h:
17645         * gst/elements/gstmd5sink.c:
17646         * gst/elements/gstmd5sink.h:
17647         * gst/elements/gstmultifilesrc.c:
17648         * gst/elements/gstmultifilesrc.h:
17649         * gst/elements/gstpipefilter.c:
17650         * gst/elements/gstpipefilter.h:
17651         * gst/elements/gstshaper.c:
17652         * gst/elements/gstshaper.h:
17653         * gst/elements/gststatistics.c:
17654         * gst/elements/gststatistics.h:
17655         * po/POTFILES.in: Remove above files.
17656
17657 2005-05-14  Andy Wingo  <wingo@pobox.com>
17658
17659         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
17660         so as to get the refs right.
17661         (sink_iterator_filter): New function, wraps bin_element_is_sink,
17662         unreffing objects that don't pass the filter.
17663
17664         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
17665         gst_element_set_bus.
17666         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
17667         normal cases, this will destroy the bus.
17668
17669         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
17670         object.
17671
17672         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
17673         has no sinks.
17674
17675 2005-05-13  Andy Wingo  <wingo@pobox.com>
17676
17677         * gst/gstutils.c (gst_element_link_pads): Instead of calling
17678         gst_pad_link, call pad_link_maybe_ghosting,
17679         (pad_link_maybe_ghosting): Links pads, making sure that the
17680         elements being linked are in the same bin.
17681         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
17682         Helpers for pad_link_maybe_ghosting.
17683
17684 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17685
17686         * configure.ac:
17687           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
17688
17689 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17690
17691         * docs/design/part-element-source.txt:
17692           Mention GstPushSrc
17693
17694 2005-05-12  Wim Taymans  <wim@fluendo.com>
17695
17696         * gst/base/gstbasesink.c: (gst_basesink_init),
17697         (gst_basesink_activate):
17698         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
17699         (gst_basesrc_is_seekable):
17700         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17701         (bin_element_is_sink), (gst_bin_change_state):
17702         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17703         * gst/gstelement.h:
17704         Identify sinks by their flag to avoid overly complicated
17705         checks (fow now).
17706         Do state changes even for elements not reachable from the
17707         sinks.
17708         BaseSink is a sink now :)
17709         Some more debugging info in the basesrc.
17710
17711
17712 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17713
17714         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
17715           Implement _query on a bin, similar to _send_event.
17716
17717 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
17718
17719         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
17720           Discont event offset format should be GST_FORMAT_BYTES,
17721           not GST_FORMAT_TIME.
17722
17723 2005-05-12  Wim Taymans  <wim@fluendo.com>
17724
17725         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
17726         Same fix as Ronald's but without the signal. 
17727
17728 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17729
17730         * gst/gstutils.c: (gst_element_query_position):
17731           No, an element is not a pad.
17732
17733 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17734
17735         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
17736         (gst_bin_get_state):
17737           If a child is removed from a bin while we remove the child from
17738           the bin and while we're retrieving its state, signal this to the
17739           get_state function so we abort the wait (instead of waiting for
17740           a timeout) and can immediately re-iterate over all other elements.
17741
17742 2005-05-12  Wim Taymans  <wim@fluendo.com>
17743
17744         * gst/base/Makefile.am:
17745         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
17746         (gst_basesrc_start):
17747         * gst/base/gstbasesrc.h:
17748         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
17749         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
17750         (gst_pushsrc_init), (gst_pushsrc_create):
17751         * gst/base/gstpushsrc.h:
17752         Added is_seekable to BaseSrc
17753         Added simple PushSrc.
17754
17755 2005-05-11  Wim Taymans  <wim@fluendo.com>
17756
17757         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17758         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17759         (gst_element_link_pads), (gst_element_query_position),
17760         (gst_element_query_convert), (intersect_caps_func),
17761         (gst_pad_query_position), (gst_pad_query_convert):
17762         Fix refcounting in utils function.
17763         No point in trying to activate a pad when it's added, it could
17764         be added from the state change function and then we deadlock, the
17765         element has to decide what to do.
17766
17767 2005-05-10  Andy Wingo  <wingo@pobox.com>
17768
17769         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
17770         *all* the arguments.
17771
17772         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
17773         stream lock if it's a FLUSH_DONE; normal flushes don't get the
17774         lock (according to the docs -- if this is wrong change the docs).
17775
17776         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
17777         flush messages in the NULL state.
17778
17779         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
17780         message immediately and return.
17781         (gst_bus_set_flushing): New function. If a bus is flushing, it
17782         flushes out any queued messages and immediately unrefs new
17783         messages. This is so when an element goes to NULL, all of the
17784         unhandled messages coming from it can be freed, and their
17785         references to the element dropped. In other words: message source
17786         ref considered harmful :P
17787
17788         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
17789         we're finished with it.
17790
17791         * gst/gstmessage.c (gst_message_new_state_changed): 
17792
17793 2005-05-10  Wim Taymans  <wim@fluendo.com>
17794
17795         * gst/gstvalue.c: (gst_value_compare_flags),
17796         (gst_value_serialize_flags), (gst_value_deserialize_flags),
17797         (_gst_value_initialize):
17798         Added flags serialize/deserialize/compare code.
17799
17800 2005-05-09  Andy Wingo  <wingo@pobox.com>
17801
17802         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
17803         Intersect the peer's caps with our caps.
17804
17805 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17806
17807         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17808         * gst/elements/gsttypefindelement.c: (find_peek):
17809           Handle negative offsets better. Fixes decodebin.
17810
17811 2005-05-09  Wim Taymans  <wim@fluendo.com>
17812
17813         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
17814         (gst_base_transform_event):
17815         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
17816         Implement accept_caps.
17817         Fix silly lock/unlock mismatch in base class.
17818
17819 2005-05-09  Wim Taymans  <wim@fluendo.com>
17820
17821         * docs/design/draft-push-pull.txt:
17822         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
17823         * gst/elements/gstfilesink.c: (gst_filesink_init),
17824         (gst_filesink_query):
17825         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17826         (gst_type_find_handle_src_query), (find_element_get_length):
17827         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
17828         * gst/gstelement.h:
17829         * gst/gstmessage.c:
17830         * gst/gstmessage.h:
17831         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
17832         (gst_real_pad_get_caps_unlocked),
17833         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
17834         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17835         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
17836         (gst_real_pad_dispose), (gst_real_pad_finalize),
17837         (gst_pad_load_and_link), (gst_pad_save_thyself),
17838         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
17839         (gst_pad_check_pull_range), (gst_pad_pull_range),
17840         (gst_pad_template_get_type), (gst_pad_template_class_init),
17841         (gst_pad_template_init), (gst_pad_template_dispose),
17842         (name_is_valid), (gst_static_pad_template_get),
17843         (gst_pad_template_new), (gst_static_pad_template_get_caps),
17844         (gst_pad_template_get_caps), (gst_pad_set_element_private),
17845         (gst_pad_get_element_private), (gst_pad_start_task),
17846         (gst_pad_pause_task), (gst_pad_stop_task),
17847         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
17848         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
17849         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
17850         (gst_ghost_pad_new):
17851         * gst/gstpad.h:
17852         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
17853         (gst_query_new_position), (gst_query_set_position),
17854         (gst_query_parse_position), (gst_query_new_convert),
17855         (gst_query_set_convert), (gst_query_parse_convert):
17856         * gst/gstquery.h:
17857         * gst/gstqueryutils.c:
17858         * gst/gstqueryutils.h:
17859         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17860         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17861         (gst_queue_handle_src_query):
17862         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17863         (gst_element_query_position), (gst_element_query_convert),
17864         (intersect_caps_func), (gst_pad_query_position),
17865         (gst_pad_query_convert):
17866         * gst/gstutils.h:
17867         * tools/gst-inspect.c: (print_pad_info):
17868         * tools/gst-xmlinspect.c: (print_element_info):
17869         Remove old query functions. Ported old code.
17870         Added position/convert helper functions to gstutils.
17871         Reordered gstpad.c code, grouping relevant things.
17872         Remove gst_message_new(), always need to speficy a specific
17873         message.
17874
17875
17876 2005-05-09  Andy Wingo  <wingo@pobox.com>
17877
17878         * gst/gstiterator.h: Add some includes.
17879
17880         * gst/gstqueryutils.h: Include more headers.
17881
17882         * gst/gstpad.h:
17883         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
17884         some uses of gst_pad_query.
17885
17886         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
17887         NULL out parameters.
17888         (gst_query_new_position): New proc, allocates a new position
17889         query.
17890
17891         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
17892         gstqueryutils.c to the build.
17893
17894         * gst/gststructure.c (gst_structure_set_valist): Implement with
17895         the generic G_VALUE_COLLECT.
17896         
17897 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
17898
17899         * gst/Makefile.am: (gst_headers):
17900         Added gstqueryutils.h to the list of headers to install, that was
17901         a 'nachty' move wingo :)
17902
17903 2005-05-06  Andy Wingo  <wingo@pobox.com>
17904
17905         * gst/gstquery.h
17906         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
17907         GstData, init a memchunk.
17908         (standard_definitions): Add a few query types, deprecate a few.
17909         (gst_query_get_type): New proc.
17910         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
17911         implementation.
17912         (gst_query_new_application, gst_query_get_structure): New public
17913         procs.
17914
17915         * docs/design/draft-query.txt: Removed LINKS from the query types,
17916         because all the rest can be dispatched to other pads -- seemed
17917         ugly to have a query that couldn't be dispatched. internal_links
17918         is fine as a pad method.
17919
17920         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17921         in gstpad.c, but maintain binary compatibility for the moment.
17922         Will fix before 0.9 is out.
17923
17924         * gst/gstqueryutils.c: 
17925         * gst/gstqueryutils.h: New files, implement 3 methods for each
17926         query type: parse_query, parse_response, and set. Probably need an
17927         allocator as well.
17928
17929         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17930
17931         * gst/elements/gstfilesink.c (gst_filesink_query2):
17932         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17933         query_types, and formats methods.
17934
17935         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17936         (gst_pad_set_query2_function): New functions.
17937         (gst_real_pad_init): Set query2_default as the default query2
17938         function. Basically just dispatches to internally linked pads.
17939
17940         Needs review!
17941         
17942         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17943         without using the atomic operations. Only one thread can possibly
17944         be accessing the data at this point. Changed so as to avoid
17945         gst_atomic operations.
17946
17947 2005-05-06  Wim Taymans  <wim@fluendo.com>
17948
17949         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17950         Also set caps if we use the fallback buffer alloc.
17951
17952 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17953
17954         * docs/gst/Makefile.am:
17955         * docs/gst/gstreamer-docs.sgml:
17956         * docs/gst/gstreamer-sections.txt:
17957         * docs/gst/tmpl/gstatomic.sgml:
17958         * docs/gst/tmpl/gstmemchunk.sgml:
17959         * testsuite/elements/struct_i386.h:
17960         * win32/GStreamer.vcproj:
17961         * win32/Makefile:
17962           Purge GstAtomic stuff from docs and win32 makefiles as well
17963
17964 2005-05-06  Wim Taymans  <wim@fluendo.com>
17965
17966         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17967         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17968         * gst/gstpad.c: (gst_pad_peer_get_caps):
17969         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17970         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17971         (gst_queue_src_activate), (gst_queue_change_state):
17972         * gst/gstqueue.h:
17973         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17974         (intersect_caps_func):
17975         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17976         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17977         Some fixes for the peer_get_caps() change.
17978
17979 2005-05-06  Wim Taymans  <wim@fluendo.com>
17980
17981         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17982         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17983         (gst_basesink_activate):
17984         Actually do something with error codes returned from the push
17985         functions.
17986
17987 2005-05-06  Wim Taymans  <wim@fluendo.com>
17988
17989         * docs/design/part-element-sink.txt:
17990         * docs/design/part-element-source.txt:
17991         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17992         (gst_basesink_event), (gst_basesink_activate):
17993         * gst/base/gstbasesink.h:
17994         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17995         (gst_basesrc_activate):
17996         * gst/base/gstbasesrc.h:
17997         * gst/gstelement.c: (gst_element_pads_activate):
17998         Some more documentation.
17999         Fixed scheduling decision in _pads_activate().
18000
18001 2005-05-05  Andy Wingo  <wingo@pobox.com>
18002
18003         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18004         the test suite.
18005
18006 2005-05-05  Wim Taymans  <wim@fluendo.com>
18007
18008         * gst/base/Makefile.am:
18009         * gst/base/gstbasesink.h:
18010         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18011         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18012         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18013         (gst_collectpads_class_init), (gst_collectpads_init),
18014         (gst_collectpads_finalize), (gst_collectpads_new),
18015         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18016         (find_pad), (gst_collectpads_remove_pad),
18017         (gst_collectpads_is_active), (gst_collectpads_collect),
18018         (gst_collectpads_collect_range), (gst_collectpads_start),
18019         (gst_collectpads_stop), (gst_collectpads_peek),
18020         (gst_collectpads_pop), (gst_collectpads_available),
18021         (gst_collectpads_read), (gst_collectpads_flush),
18022         (gst_collectpads_chain):
18023         * gst/base/gstcollectpads.h:
18024         * gst/elements/Makefile.am:
18025         * gst/elements/gstelements.c:
18026         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18027         (gst_fakesink_get_times), (gst_fakesink_event),
18028         (gst_fakesink_preroll), (gst_fakesink_render):
18029         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18030         (gst_filesink_init), (gst_filesink_set_location),
18031         (gst_filesink_open_file), (gst_filesink_close_file),
18032         (gst_filesink_pad_query), (gst_filesink_event),
18033         (gst_filesink_render), (gst_filesink_change_state):
18034         * gst/elements/gstfilesink.h:
18035         Added object to help in making collect pad based elements.
18036         Ported filesink.
18037         Make event function in sink baseclass return gboolean.
18038
18039 2005-05-05  Wim Taymans  <wim@fluendo.com>
18040
18041         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18042         (gst_bin_get_by_name):
18043         * gst/gstbuffer.h:
18044         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18045         (gst_clock_finalize):
18046         * gst/gstdata.c: (gst_data_replace):
18047         * gst/gstdata.h:
18048         * gst/gstelement.c: (gst_element_request_pad),
18049         (gst_element_pads_activate):
18050         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18051         (gst_object_unref):
18052         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18053         (gst_pad_set_checkgetrange_function),
18054         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18055         (gst_pad_check_pull_range), (gst_pad_pull_range),
18056         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18057         (gst_pad_pause_task), (gst_pad_stop_task):
18058         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18059         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18060         Fix name lookup in GstBin.
18061         Added _data_replace() function and _buffer_replace()
18062         Use finalize method to clean up clock.
18063         Fix refcounting on request pads.
18064         Fix pad schedule mode error.
18065         Some more object refcounting debug info,
18066
18067
18068 2005-05-04  Andy Wingo <wingo@pobox.com>
18069
18070         * check/Makefile.am:
18071         * docs/gst/tmpl/gstatomic.sgml:
18072         * docs/gst/tmpl/gstplugin.sgml:
18073         * gst/base/gstbasesink.c: (gst_basesink_activate):
18074         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18075         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18076         (gst_basesrc_query), (gst_basesrc_set_property),
18077         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18078         (gst_basesrc_activate):
18079         * gst/base/gstbasesrc.h:
18080         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18081         (gst_base_transform_src_activate):
18082         * gst/elements/gstelements.c:
18083         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18084         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18085         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18086         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18087         (gst_type_find_element_checkgetrange),
18088         (gst_type_find_element_activate):
18089         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18090         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18091         (gst_caps_load_thyself):
18092         * gst/gstelement.c: (gst_element_pads_activate),
18093         (gst_element_save_thyself), (gst_element_restore_thyself):
18094         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18095         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18096         * gst/gstpad.h:
18097         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18098         (gst_xml_parse_file), (gst_xml_parse_memory),
18099         (gst_xml_get_element), (gst_xml_make_element):
18100         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18101         (_file_index_id_save_xml), (gst_file_index_commit):
18102         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18103         (read_enum), (load_pad_template), (load_feature), (load_plugin),
18104         (load_paths):
18105         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18106         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18107         * tools/gst-complete.c: (main):
18108         * tools/gst-compprep.c: (main):
18109         * tools/gst-inspect.c: (print_element_properties_info):
18110         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18111         * tools/gst-xmlinspect.c: (print_element_properties):
18112         GCC 4 fixen.
18113         
18114 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18115
18116         * gst/gstplugin.c: (gst_plugin_check_module),
18117         (gst_plugin_check_file), (gst_plugin_load_file):
18118             apply patch from #172526 to make register work on MacOSX
18119
18120 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18121
18122         * docs/gst/tmpl/gstconfig.sgml:
18123         * gst/gstconfig.h.in:
18124           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
18125         * testsuite/debug/printf_extension.c: (main):
18126           Do not use GST_PTR_FORMAT on pointers to types with
18127           sizeof < sizeof(gpointer).  Fixes test on 64-bit
18128         * testsuite/elements/property.h:
18129           use correct printf format
18130
18131 2005-05-02  Wim Taymans  <wim@fluendo.com>
18132
18133         * docs/design/draft-push-pull.txt:
18134         * docs/design/draft-query.txt:
18135         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
18136         (gst_basesrc_start):
18137         Added draft for new query API.
18138         Added draft for better selecting scheduling methods.
18139         Make basesrc ignore length if the subclass does not support
18140         it.
18141
18142 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18143
18144         * gst/Makefile.am:
18145           possible fixes for automake-1.5 - _LIBADD is reserved
18146
18147 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18148
18149         * docs/faq/Makefile.am:
18150         * docs/manual/Makefile.am:
18151         * docs/manuals.mak:
18152         * docs/pwg/Makefile.am:
18153         * gst/Makefile.am:
18154           possible fixes for automake-1.5
18155
18156 2005-04-28  Wim Taymans  <wim@fluendo.com>
18157
18158         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18159         (gst_basesink_pad_getcaps), (gst_basesink_init),
18160         (gst_basesink_do_sync):
18161         * gst/gstclock.c: (gst_clock_entry_new):
18162         * gst/gstevent.c: (gst_event_discont_get_value):
18163         * gst/gstpipeline.c: (pipeline_bus_handler),
18164         (gst_pipeline_change_state):
18165         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18166         Better debugging of clocking info.
18167         Allow NULL values when getting discont values.
18168
18169 2005-04-27  Wim Taymans  <wim@fluendo.com>
18170
18171         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18172         * check/gst/gstpad.c: (gst_pad_suite):
18173         Increase timeout for checks.
18174
18175 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18176
18177         * check/Makefile.am:
18178           fix the broken rule for cleanup.  Apparently this rule is
18179           only needed on FC2, so maybe this warrants further autotool
18180           inspection.
18181
18182 2005-04-26  Wim Taymans  <wim@fluendo.com>
18183
18184         * gst/gsttrashstack.h:
18185         Ooohh. a nasty one! After having a failed pop() from the stack,
18186         it's possible that the stack is empty. In that case, don't
18187         follow the NULL pointer.
18188
18189 2005-04-25  Wim Taymans  <wim@fluendo.com>
18190
18191         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18192         (gst_pad_set_checkgetrange_function),
18193         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
18194         (gst_pad_check_pull_range), (gst_pad_pull_range),
18195         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18196         (gst_pad_pause_task), (gst_pad_stop_task):
18197         * gst/gstplugin.c: (gst_plugin_load):
18198         * gst/gstplugin.h:
18199         Remove gst_library_load as it does more harm than good with
18200         the new g_module flags.
18201         Revert bogus caps template check in pad linking, pad caps
18202         are important when linking not the template, which is more
18203         general than the current caps.
18204
18205 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18206
18207         * gst/autoplug/.cvsignore:
18208         * gst/autoplug/Makefile.am:
18209         * gst/autoplug/gstsearchfuncs.c:
18210         * gst/autoplug/gstsearchfuncs.h:
18211         * gst/autoplug/gstspider.c:
18212         * gst/autoplug/gstspider.h:
18213         * gst/autoplug/gstspideridentity.c:
18214         * gst/autoplug/gstspideridentity.h:
18215         * gst/autoplug/spidertest.c:
18216           Die, spider, die.
18217
18218 2005-04-25  Wim Taymans  <wim@fluendo.com>
18219
18220         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18221         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18222         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
18223         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
18224         * gst/gstpad.h:
18225         Added stubs for unimplemented functions. 
18226
18227 2005-04-24  David Schleef  <ds@schleef.org>
18228
18229         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
18230         please fix.
18231
18232 2005-04-24  David Schleef  <ds@schleef.org>
18233
18234         Convert everything from GstAtomicInt to g_atomic_int_*, and
18235         remove gstatomic.
18236         * gst/Makefile.am:
18237         * gst/gstatomic.c:
18238         * gst/gstatomic.h:
18239         * gst/gstatomic_impl.h:
18240         * gst/gstbuffer.c:
18241         * gst/gstcaps.c:
18242         * gst/gstcaps.h:
18243         * gst/gstclock.c:
18244         * gst/gstclock.h:
18245         * gst/gstdata.c:
18246         * gst/gstdata.h:
18247         * gst/gstdata_private.h:
18248         * gst/gstevent.c:
18249         * gst/gstinfo.c:
18250         * gst/gstinfo.h:
18251         * gst/gstmessage.c:
18252         * gst/gstobject.c:
18253         * gst/gstobject.h:
18254         * gst/gststructure.c:
18255         * gst/gststructure.h:
18256         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
18257         * gst/gstutils.h:
18258
18259 2005-04-24  David Schleef  <ds@schleef.org>
18260
18261         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
18262         make the regressions tests work.  Remove some code that is no
18263         longer true.
18264         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
18265         Disable warning for pads without templates.
18266
18267 2005-04-24  David Schleef  <ds@schleef.org>
18268
18269         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
18270         functions that handle filtered links.
18271         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
18272         removed functions.
18273         * gst/gstutils.c: Fix/remove utility functions that handle
18274         filtered caps.
18275         * gst/gstutils.h:
18276         * gst/gstvalue.c: Add serialization/deserialization of caps
18277         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
18278         requires fixing so that the filter caps notation creates
18279         a capsfilter element and sets the filter_caps property.  I
18280         think everyone probably wants to keep the shorthand notation.
18281         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
18282         * docs/gst/tmpl/gstpad.sgml:
18283
18284         * gst/elements/gstelements.c: Register capsfilter element.
18285         * gst/Makefile.am: fix spacing
18286         * docs/random/ds/0.9-suggested-changes: random
18287
18288 2005-04-23  David Schleef  <ds@schleef.org>
18289
18290         * gst/elements/Makefile.am:
18291         * gst/elements/gstcapsfilter.c: New element that acts like an
18292         identity, but filters caps.  Will eventually replace filtered
18293         caps in pad linking.
18294         * gst/gstutils.c: (gst_element_create_all_pads): New function
18295         to create all the ALWAYS pads that are registered with an
18296         element class.  This functionality should eventually be
18297         merged in with GstElement initialization.
18298         * gst/gstutils.h:
18299         * testsuite/trigger/README: part of trigger test code that should
18300         have been checked in a long time ago.
18301
18302 2005-04-23  David Schleef  <ds@schleef.org>
18303
18304         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
18305         needed with new versions of libtool (nobody will confirm this),
18306         and hard to carry around.
18307         * gst/autoplug/Makefile.am:
18308         * gst/base/Makefile.am:
18309         * gst/elements/Makefile.am:
18310         * gst/indexers/Makefile.am:
18311         * gst/schedulers/Makefile.am:
18312         * libs/gst/bytestream/Makefile.am:
18313         * libs/gst/control/Makefile.am:
18314         * libs/gst/dataprotocol/Makefile.am:
18315         * libs/gst/getbits/Makefile.am:
18316
18317 2005-04-21  Wim Taymans  <wim@fluendo.com>
18318
18319         * docs/design/draft-push-pull.txt:
18320         * docs/design/part-MT-refcounting.txt:
18321         * docs/design/part-TODO.txt:
18322         * docs/design/part-caps.txt:
18323         * docs/design/part-events.txt:
18324         * docs/design/part-gstbus.txt:
18325         * docs/design/part-gstpipeline.txt:
18326         * docs/design/part-messages.txt:
18327         * docs/design/part-push-pull.txt:
18328         * docs/design/part-query.txt:
18329         Some more docs.
18330
18331 2005-04-21  Wim Taymans  <wim@fluendo.com>
18332
18333         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
18334         (gst_message_new), (gst_message_new_error),
18335         (gst_message_new_warning), (gst_message_new_tag),
18336         (gst_message_new_state_changed), (gst_message_new_application),
18337         (gst_message_get_structure):
18338         * gst/gstmessage.h:
18339         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18340         (gst_structure_copy_conditional):
18341         Use parent refcount in GstMessage to ensure GstStructure
18342         consistency.
18343         Cleaned up headers a bit.
18344         
18345
18346 2005-04-20  Wim Taymans  <wim@fluendo.com>
18347
18348         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18349         (gst_basesink_pad_getcaps), (gst_basesink_init),
18350         (gst_basesink_chain_unlocked):
18351         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
18352         (gst_type_find_helper):
18353         * gst/elements/gsttypefindelement.c:
18354         (gst_type_find_element_have_type), (gst_type_find_element_init),
18355         (stop_typefinding), (gst_type_find_element_handle_event),
18356         (find_suggest), (gst_type_find_element_chain),
18357         (gst_type_find_element_checkgetrange),
18358         (gst_type_find_element_getrange), (do_typefind),
18359         (gst_type_find_element_activate):
18360         * gst/gstbuffer.c: (_gst_buffer_sub_free),
18361         (gst_buffer_default_free), (gst_buffer_default_copy),
18362         (gst_buffer_set_caps):
18363         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
18364         (gst_caps_replace):
18365         * gst/gstmessage.c: (gst_message_new),
18366         (gst_message_new_state_changed):
18367         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18368         (gst_pad_set_checkgetrange_function),
18369         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
18370         (gst_pad_set_caps), (gst_pad_check_pull_range),
18371         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
18372         * gst/gstpad.h:
18373         * gst/gsttypefind.c: (gst_type_find_register):
18374         Make gst_caps_replace() work like other _replace() functions.
18375         Use _caps_replace() where possible.
18376         Make sure _message_new() initialises its field.
18377         Add gst_static_pad_template_get_caps()
18378
18379
18380 2005-04-18  Andy Wingo  <wingo@pobox.com>
18381
18382         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
18383         on the peer, not the pad. I think that was a typo. Pass an extra
18384         arg to see if random access is possible. Activate the pads as
18385         PULL_RANGE if possible.
18386
18387         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
18388
18389         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
18390         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
18391         to PROP_....
18392
18393 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18394
18395         * docs/faq/using.xml:
18396           Add note on gstreamer-properties (#154996).
18397
18398 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18399
18400         * docs/random/bbb/optional-properties:
18401           Some analysis on optional properties.
18402
18403 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18404
18405         * docs/gst/tmpl/gstelementfactory.sgml:
18406         * gst/gstelement.h:
18407         * gst/gstelementfactory.c: (gst_element_factory_init),
18408         (gst_element_factory_cleanup), (gst_element_register),
18409         (__gst_element_factory_add_static_pad_template),
18410         (gst_element_factory_get_static_pad_templates),
18411         (gst_element_factory_can_src_caps),
18412         (gst_element_factory_can_sink_caps):
18413         * gst/registries/Makefile.am:
18414         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
18415         (gst_xml_registry_class_init), (gst_xml_registry_init),
18416         (gst_xml_registry_new), (gst_xml_registry_set_property),
18417         (gst_xml_registry_get_property), (get_time), (make_dir),
18418         (gst_xml_registry_get_perms_func),
18419         (plugin_times_older_than_recurse), (plugin_times_older_than),
18420         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
18421         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
18422         (add_to_char_array), (read_string), (read_uint), (read_enum),
18423         (load_pad_template), (load_feature), (load_plugin), (load_paths),
18424         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
18425         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
18426         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
18427         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
18428         (gst_xml_registry_rebuild):
18429         * gst/registries/gstlibxmlregistry.h:
18430         * tools/gst-compprep.c: (main):
18431         * tools/gst-inspect.c: (print_pad_templates_info):
18432         * tools/gst-xmlinspect.c: (print_element_info):
18433           Use libxml2 for registry parsing, use staticpadtemplates in
18434           elementfactories. Makes gst_init() +/- 10x faster.
18435
18436 2005-04-12  Wim Taymans  <wim@fluendo.com>
18437
18438         * gst/base/Makefile.am:
18439         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18440         (gst_basesink_pad_getcaps), (gst_basesink_init),
18441         (gst_basesink_event), (gst_basesink_change_state):
18442         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18443         (gst_basesrc_init), (gst_basesrc_query),
18444         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18445         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18446         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18447         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18448         (gst_basesrc_stop), (gst_basesrc_activate),
18449         (gst_basesrc_change_state):
18450         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18451         (helper_find_suggest), (gst_type_find_helper):
18452         * gst/base/gsttypefindhelper.h:
18453         * gst/elements/Makefile.am:
18454         * gst/elements/gstelements.c:
18455         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18456         (gst_fakesink_get_times), (gst_fakesink_event),
18457         (gst_fakesink_preroll), (gst_fakesink_render):
18458         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18459         (gst_fakesrc_init), (gst_fakesrc_event_handler),
18460         (gst_fakesrc_get_property), (gst_fakesrc_create),
18461         (gst_fakesrc_start), (gst_fakesrc_stop):
18462         * gst/elements/gstfakesrc.h:
18463         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
18464         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18465         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18466         (gst_filesrc_create_read), (gst_filesrc_create),
18467         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
18468         (gst_filesrc_start):
18469         * gst/elements/gsttypefindelement.c:
18470         (gst_type_find_element_have_type), (gst_type_find_element_init),
18471         (start_typefinding), (stop_typefinding), (push_buffer_store),
18472         (gst_type_find_element_handle_event),
18473         (gst_type_find_element_chain),
18474         (gst_type_find_element_checkgetrange),
18475         (gst_type_find_element_getrange), (do_typefind),
18476         (gst_type_find_element_activate),
18477         (gst_type_find_element_change_state):
18478         * gst/elements/gsttypefindelement.h:
18479         * gst/gstpipeline.c: (pipeline_bus_handler):
18480         Added typefind helper.
18481         Small preroll fix in the base sink.
18482         Disable typefind code in basesrc.
18483         Crude port of typefindelement.
18484         Fakesrc cleanups.
18485
18486
18487 2005-04-11  Wim Taymans  <wim@fluendo.com>
18488
18489         * check/gst/gstbus.c: (gstbus_suite):
18490         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
18491         * check/gstcheck.h:
18492           Fix up the timeout so that the test does not fail.
18493
18494 2005-04-06  Wim Taymans  <wim@fluendo.com>
18495
18496         * gst/base/README:
18497         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18498         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
18499         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18500         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18501         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18502         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18503         (gst_basesrc_stop), (gst_basesrc_activate),
18504         (gst_basesrc_change_state), (basesrc_find_peek),
18505         (basesrc_find_suggest), (gst_basesrc_type_find):
18506         * gst/base/gstbasesrc.h:
18507         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
18508         (gst_filesrc_class_init), (gst_filesrc_init),
18509         (gst_filesrc_finalize), (gst_filesrc_set_location),
18510         (gst_filesrc_set_property), (gst_filesrc_get_property),
18511         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18512         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18513         (gst_filesrc_create_read), (gst_filesrc_create),
18514         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
18515         * gst/elements/gstfilesrc.h:
18516         * gst/gstelement.c: (gst_element_get_state_func),
18517         (gst_element_lost_state), (gst_element_pads_activate):
18518         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18519         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18520         (gst_pad_pull_range):
18521         * gst/gstpad.h:
18522         More work on the generic source base class, implement seeking,
18523         query.
18524         Make filesrc extend the base source class.
18525         Added gst_pad_set_checkgetrange_function to GstPad.
18526
18527 2005-04-06  Andy Wingo  <wingo@pobox.com>
18528
18529         * pkgconfig/gstreamer-base.pc.in:
18530         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
18531
18532         * pkgconfig/Makefile.am:
18533         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
18534
18535 2005-04-04  Wim Taymans  <wim@fluendo.com>
18536
18537         * gst/base/Makefile.am:
18538         * gst/base/README:
18539         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18540         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18541         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18542         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
18543         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18544         (gst_basesrc_base_init), (gst_basesrc_class_init),
18545         (gst_basesrc_init), (gst_basesrc_get_formats),
18546         (gst_basesrc_get_query_types), (gst_basesrc_query),
18547         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
18548         (gst_basesrc_set_property), (gst_basesrc_get_property),
18549         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
18550         (gst_basesrc_loop), (gst_basesrc_activate),
18551         (gst_basesrc_change_state):
18552         * gst/base/gstbasesrc.h:
18553         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
18554         (gst_fakesrc_class_init), (gst_fakesrc_init),
18555         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
18556         (gst_fakesrc_get_property), (gst_fakesrc_create):
18557         * gst/elements/gstfakesrc.h:
18558         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
18559         (gst_filesrc_open_file), (gst_filesrc_loop),
18560         (gst_filesrc_activate), (filesrc_find_peek),
18561         (gst_filesrc_type_find):
18562         Made base source class, make fakesrc extend it.
18563         Add comments to basesink class.
18564         Some filesrc cleanup.
18565
18566 2005-03-31  David Schleef  <ds@schleef.org>
18567
18568         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
18569         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
18570         expected to link against libgstreamer.
18571         * gst/base/Makefile.am: link against libgstreamer
18572         * gst/elements/Makefile.am: same
18573
18574 2005-03-31  Andy Wingo  <wingo@pobox.com>
18575
18576         * tests/instantiate/Makefile.am:
18577         * tests/instantiate/caps.c: Add test to test speed of caps copy
18578         and free.
18579
18580         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
18581         GMemChunk to be fair.
18582
18583         * gst/gsttrashstack.h: Remove warning about using the fallback
18584         trash stack implementation, it's still faster than malloc.
18585
18586 2005-03-30  Andy Wingo  <wingo@pobox.com>
18587
18588         * tests/complexity.c: Add a copyright.
18589
18590 2005-03-31  Wim Taymans  <wim@fluendo.com>
18591
18592         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
18593         (gst_base_transform_class_init), (gst_base_transform_init),
18594         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
18595         (gst_base_transform_get_property),
18596         (gst_base_transform_sink_activate),
18597         (gst_base_transform_src_activate),
18598         (gst_base_transform_change_state):
18599         * gst/base/gstbasetransform.h:
18600         * gst/elements/gstidentity.c: (gst_identity_class_init),
18601         (gst_identity_event), (gst_identity_check_perfect),
18602         (gst_identity_transform), (gst_identity_start),
18603         (gst_identity_stop):
18604         Added start/stop methods to transform base class so subclasses 
18605         don't need to deal with state changes even.
18606
18607 2005-03-31  Wim Taymans  <wim@fluendo.com>
18608
18609         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
18610         (gst_event_new_discontinuous), (gst_event_discont_get_value):
18611         * gst/gstevent.h:
18612         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18613         (gst_pad_pull_range):
18614         Added rate to the discont event to prepare for variable speed
18615         and reverse playback.
18616
18617 2005-03-29  David Schleef  <ds@schleef.org>
18618
18619         * configure.ac:
18620         * testsuite/trigger/Makefile.am:
18621         * testsuite/trigger/trigger.c: A little example program to show
18622         how trigger-based elements can work.
18623
18624 2005-03-29  Wim Taymans  <wim@fluendo.com>
18625
18626         * gst/base/Makefile.am:
18627         * gst/base/README:
18628         * gst/base/gstbasesink.c: (gst_basesink_get_type),
18629         (gst_basesink_base_init), (gst_basesink_class_init),
18630         (gst_basesink_pad_getcaps), (gst_basesink_init),
18631         (gst_basesink_activate), (gst_basesink_change_state):
18632         * gst/base/gstbasesink.h:
18633         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
18634         (gst_base_transform_base_init), (gst_base_transform_finalize),
18635         (gst_base_transform_class_init), (gst_base_transform_init),
18636         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
18637         (gst_base_transform_event), (gst_base_transform_getrange),
18638         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
18639         (gst_base_transform_set_property),
18640         (gst_base_transform_get_property),
18641         (gst_base_transform_sink_activate),
18642         (gst_base_transform_src_activate),
18643         (gst_base_transform_change_state):
18644         * gst/base/gstbasetransform.h:
18645         * gst/elements/gstidentity.c: (gst_identity_finalize),
18646         (gst_identity_class_init), (gst_identity_init),
18647         (gst_identity_event), (gst_identity_check_perfect),
18648         (gst_identity_transform), (gst_identity_set_property),
18649         (gst_identity_get_property), (gst_identity_change_state):
18650         * gst/elements/gstidentity.h:
18651         * gst/gstelement.c: (gst_element_get_state_func),
18652         (gst_element_lost_state), (gst_element_pads_activate):
18653         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18654         (gst_pad_check_pull_range), (gst_pad_pull_range):
18655         * gst/gstpad.h:
18656         Simplify pad activation.
18657         Added function to check if pull_range can be performed.
18658         Error out when pulling inactive or flushing pads.
18659         Removed const from refcounted types as it does not make sense.
18660         Simplify pad templates in basesink
18661         Added base class for simple 1-to-1 transforms.
18662         Make identity subclass the base transform.
18663
18664 2005-03-29  Andy Wingo  <wingo@pobox.com>
18665
18666         * docs/libs/gstreamer-libs-overrides.txt: 
18667         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
18668         really don't understand what's going on, but like whatever. I want
18669         green buildbot!
18670
18671         * docs/gst/Makefile.am:
18672         * docs/libs/Makefile.am: Dist the overrides files.
18673
18674         * check/Makefile.am (clean-local): Remove .libs directories.
18675
18676         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
18677         elements to EXTRA_DIST, so po/ files are happy.
18678
18679         * po/POTFILES.in: Er, remove it here.
18680
18681         * po/POTFILES: Remove gstspider.c.
18682
18683         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
18684
18685         * docs/libs/gstreamer-libs-docs.sgml: 
18686         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
18687         bytestream.
18688
18689         * tests/complexity.c (main): Set the length of the preroll queue
18690         on the sinks to prevent a lockup.
18691
18692         * libs/gst/dataprotocol/Makefile.am: 
18693         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
18694         the same as the one in check/gst-libs/gdp.c.
18695
18696         * po/, docs/gst/: Commit automatic changes to docs and po files.
18697
18698         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
18699         the versioned libgstbase.
18700
18701         * check/Makefile.am: Depend on an unversioned gst-register, seems
18702         to make autoconf happier.
18703
18704         * gst/base/Makefile.am: Make libgstbase a versioned lib.
18705
18706 2005-03-28  Wim Taymans  <wim@fluendo.com>
18707
18708         * configure.ac:
18709         * docs/design/part-gstelement.txt:
18710         * docs/design/part-negotiation.txt:
18711         * docs/design/part-preroll.txt:
18712         * docs/design/part-scheduling.txt:
18713         * docs/design/part-states.txt:
18714         * gst/Makefile.am:
18715         * gst/base/Makefile.am:
18716         * gst/base/README:
18717         * gst/base/gstbasesink.c: (gst_basesink_get_template),
18718         (gst_basesink_base_init), (gst_basesink_class_init),
18719         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18720         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18721         (gst_basesink_set_pad_functions),
18722         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
18723         (gst_basesink_set_property), (gst_basesink_get_property),
18724         (gst_base_sink_get_template), (gst_base_sink_get_caps),
18725         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
18726         (gst_basesink_preroll_queue_push),
18727         (gst_basesink_preroll_queue_empty),
18728         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
18729         (gst_basesink_event), (gst_basesink_get_times),
18730         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
18731         (gst_basesink_chain_unlocked), (gst_basesink_chain),
18732         (gst_basesink_loop), (gst_basesink_activate),
18733         (gst_basesink_change_state):
18734         * gst/base/gstbasesink.h:
18735         * gst/elements/Makefile.am:
18736         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
18737         (gst_fakesink_class_init), (gst_fakesink_init),
18738         (gst_fakesink_set_property), (gst_fakesink_get_property),
18739         (gst_fakesink_get_times), (gst_fakesink_event),
18740         (gst_fakesink_preroll), (gst_fakesink_render),
18741         (gst_fakesink_change_state):
18742         * gst/elements/gstfakesink.h:
18743         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18744         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
18745         * gst/gstelement.c: (gst_element_add_pad),
18746         (gst_element_get_state_func), (gst_element_abort_state),
18747         (gst_element_commit_state), (gst_element_lost_state),
18748         (gst_element_set_state), (gst_element_pads_activate):
18749         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
18750         * gst/gstpipeline.c: (gst_pipeline_send_event),
18751         (gst_pipeline_change_state):
18752         Added state change code.
18753         Added/updated docs.
18754         Added sink base class, make fakesink extend the base class.
18755         Small cleanups in GstPipeline.
18756
18757 2005-03-26  David Schleef  <ds@schleef.org>
18758
18759         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
18760         is broken and should be implemented in a different library.
18761         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
18762         * gst/gst.h: remove gstcpu.h
18763         * gst/gstcpu.c: remove
18764         * gst/gstcpu.h: remove
18765         * gst/Makefile.am.future: Remove this file.  It's ancient.
18766
18767 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18768
18769         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18770         (gst_bin_send_event):
18771           Add default event/set_manager handlers. The set_manager handler
18772           takes care that the manager is distributed over kids that were
18773           already in the bin before the manager was set. The event handler
18774           is a utility virtual function that sends the event over all sinks,
18775           so that gst_element_send_event (bin, event); has the expected
18776           behaviour.
18777         * gst/gstpad.c: (gst_pad_event_default):
18778           Re-install default event handling for discontinuities, so that
18779           seeking works without requiring hacks in applications or extra
18780           code in sinks.
18781         * gst/gstpipeline.c: (gst_pipeline_class_init),
18782         (gst_pipeline_send_event):
18783           Half hack, half utility: set a pipeline to PAUSED for seek events,
18784           since that is the only way we can guarantee a/v sync. Means that
18785           you can do gst_element_seek (pipeline, method, pos); on a pipeline
18786           and it "just works".
18787
18788 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18789
18790         * gst/gstpipeline.c: (gst_pipeline_use_clock):
18791           Lock/unlock mismatch.
18792
18793 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18794
18795         * docs/faq/gst-uninstalled:
18796           add gst-plugins-base
18797         * docs/gst/Makefile.am:
18798           don't error out until docs are fixed
18799         * docs/gst/gstreamer.types:
18800           remove thread
18801
18802 2005-03-22  Wim Taymans  <wim@fluendo.com>
18803
18804         * check/Makefile.am:
18805         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
18806         * gst/gststructure.c: (gst_structure_set_valist),
18807         (gst_structure_copy_conditional):
18808         Activated more tests.
18809         Added message test.
18810         Added G_TYPE_POINTER to GstStructure.
18811         
18812
18813 2005-03-22  Wim Taymans  <wim@fluendo.com>
18814
18815         * docs/design/part-TODO.txt:
18816         * docs/design/part-events.txt:
18817         * docs/design/part-gstbin.txt:
18818         * docs/design/part-gstbus.txt:
18819         * docs/design/part-gstpipeline.txt:
18820         * docs/design/part-messages.txt:
18821         * gst/gstbus.c:
18822         * gst/gstmessage.c:
18823         Docs updates
18824
18825 2005-03-21  Wim Taymans  <wim@fluendo.com>
18826
18827         * gst/gstbus.c: (gst_bus_post):
18828         Fix copy-and-paste error.
18829
18830 2005-03-21  Wim Taymans  <wim@fluendo.com>
18831
18832         * check/Makefile.am:
18833         * gst/Makefile.am:
18834         * gst/elements/Makefile.am:
18835         * gst/elements/gstelements.c:
18836         * gst/elements/gstfakesink.c: (gst_fakesink_init),
18837         (gst_fakesink_event), (gst_fakesink_chain):
18838         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18839         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
18840         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
18841         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
18842         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
18843         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
18844         (gst_fakesrc_loop), (gst_fakesrc_activate),
18845         (gst_fakesrc_change_state):
18846         * gst/elements/gstfakesrc.h:
18847         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
18848         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
18849         (gst_filesrc_open_file), (gst_filesrc_loop),
18850         (gst_filesrc_activate), (gst_filesrc_change_state),
18851         (filesrc_find_peek), (filesrc_find_suggest),
18852         (gst_filesrc_type_find):
18853         * gst/elements/gstidentity.c: (gst_identity_finalize),
18854         (gst_identity_class_init), (gst_identity_init),
18855         (gst_identity_proxy_getcaps), (identity_queue_push),
18856         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
18857         (gst_identity_getrange), (gst_identity_chain),
18858         (gst_identity_sink_loop), (gst_identity_src_loop),
18859         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
18860         (gst_identity_set_property), (gst_identity_get_property),
18861         (gst_identity_change_state):
18862         * gst/elements/gstidentity.h:
18863         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
18864         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
18865         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
18866         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
18867         (gst_tee_sink_activate):
18868         * gst/elements/gsttee.h:
18869         * gst/gst.c: (gst_register_core_elements), (init_post):
18870         * gst/gst.h:
18871         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
18872         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
18873         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
18874         (gst_bin_change_state):
18875         * gst/gstbin.h:
18876         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
18877         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
18878         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
18879         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
18880         (gst_bus_set_sync_handler), (gst_bus_create_watch),
18881         (bus_watch_callback), (bus_watch_destroy),
18882         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
18883         (poll_timeout), (gst_bus_poll):
18884         * gst/gstbus.h:
18885         * gst/gstcaps.h:
18886         * gst/gstdata.h:
18887         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18888         (gst_element_post_message), (gst_element_message_full),
18889         (gst_element_get_state_func), (gst_element_get_state),
18890         (gst_element_abort_state), (gst_element_commit_state),
18891         (gst_element_lost_state), (gst_element_set_state),
18892         (gst_element_pads_activate), (gst_element_change_state),
18893         (gst_element_dispose), (gst_element_set_manager_func),
18894         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
18895         (gst_element_set_manager), (gst_element_get_manager),
18896         (gst_element_set_bus), (gst_element_get_bus),
18897         (gst_element_set_scheduler), (gst_element_get_scheduler):
18898         * gst/gstelement.h:
18899         * gst/gstevent.c: (gst_event_new_segment_seek),
18900         (gst_event_new_flush):
18901         * gst/gstevent.h:
18902         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
18903         (_gst_message_free), (gst_message_get_type), (gst_message_new),
18904         (gst_message_new_eos), (gst_message_new_error),
18905         (gst_message_new_warning), (gst_message_new_tag),
18906         (gst_message_new_state_changed), (gst_message_new_application),
18907         (gst_message_get_structure), (gst_message_parse_tag),
18908         (gst_message_parse_state_changed), (gst_message_parse_error),
18909         (gst_message_parse_warning):
18910         * gst/gstmessage.h:
18911         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
18912         (gst_real_pad_set_property), (gst_pad_set_active),
18913         (gst_pad_is_active), (gst_pad_set_blocked_async),
18914         (gst_pad_set_blocked), (gst_pad_is_blocked),
18915         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
18916         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18917         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18918         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18919         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18920         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18921         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18922         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18923         (gst_pad_set_caps), (gst_pad_configure_sink),
18924         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18925         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18926         (gst_real_pad_dispose), (gst_real_pad_finalize),
18927         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18928         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18929         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18930         * gst/gstpad.h:
18931         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18932         (pipeline_bus_handler), (gst_pipeline_change_state),
18933         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18934         * gst/gstpipeline.h:
18935         * gst/gstprobe.h:
18936         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18937         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18938         (gst_queue_link_src), (gst_queue_bufferalloc),
18939         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18940         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18941         (gst_queue_loop), (gst_queue_handle_src_event),
18942         (gst_queue_handle_src_query), (gst_queue_src_activate),
18943         (gst_queue_change_state):
18944         * gst/gstqueue.h:
18945         * gst/gstscheduler.c: (gst_scheduler_init),
18946         (gst_scheduler_dispose), (gst_scheduler_create_task),
18947         (gst_scheduler_factory_create):
18948         * gst/gstscheduler.h:
18949         * gst/gststructure.c: (gst_structure_get_type),
18950         (gst_structure_copy_conditional):
18951         * gst/gststructure.h:
18952         * gst/gsttaginterface.h:
18953         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18954         (gst_task_init), (gst_task_dispose), (gst_task_create),
18955         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18956         (gst_task_pause):
18957         * gst/gsttask.h:
18958         * gst/gstthread.c:
18959         * gst/gstthread.h:
18960         * gst/gsttypes.h:
18961         * gst/schedulers/Makefile.am:
18962         * gst/schedulers/cothreads_compat.h:
18963         * gst/schedulers/entryscheduler.c:
18964         * gst/schedulers/faircothreads.c:
18965         * gst/schedulers/faircothreads.h:
18966         * gst/schedulers/fairscheduler.c:
18967         * gst/schedulers/gstbasicscheduler.c:
18968         * gst/schedulers/gstoptimalscheduler.c:
18969         * gst/schedulers/gthread-cothreads.h:
18970         * gst/schedulers/threadscheduler.c:
18971         (gst_thread_scheduler_task_get_type),
18972         (gst_thread_scheduler_task_class_init),
18973         (gst_thread_scheduler_task_init),
18974         (gst_thread_scheduler_task_start),
18975         (gst_thread_scheduler_task_stop),
18976         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18977         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18978         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18979         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18980         (plugin_init):
18981         * libs/gst/Makefile.am:
18982         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18983         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18984         (gst_file_pad_parent_set):
18985         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18986         (gst_dp_event_from_packet):
18987         * tests/complexity.c: (main):
18988         * tests/mass_elements.c: (main):
18989         * testsuite/states/locked.c: (message_received), (main):
18990         * testsuite/states/parent.c: (main):
18991         * tools/gst-inspect.c: (print_element_flag_info),
18992         (print_implementation_info), (print_pad_info):
18993         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18994         (main):
18995         * tools/gst-md5sum.c: (event_loop), (main):
18996         * tools/gst-typefind.c: (main):
18997         * tools/gst-xmlinspect.c: (print_element_info):
18998         Next big merge.
18999         Added GstBus for mainloop integration.
19000         Added GstMessage for sending notifications on the bus.
19001         Added GstTask as an abstraction for pipeline entry points.
19002         Removed GstThread.
19003         Removed Schedulers.
19004         Simplified GstQueue for multithreaded core.
19005         Made _link threadsafe, removed old capsnego.
19006         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19007         Added pad blocking functions.
19008         Reworked scheduling functions in GstPad to prepare for
19009         scheduling updates soon.
19010         Moved events out of data stream.
19011         Simplified GstEvent types.
19012         Added return values to push/pull.
19013         Removed clocking from GstElement.
19014         Added prototypes for state change function for next merge.
19015         Removed iterate from bins and state change management.
19016         Fixed some elements, disabled others for now.
19017         Fixed -inspect and -launch.
19018         Added check for GstBus.
19019
19020 2005-03-10  Wim Taymans  <wim@fluendo.com>
19021
19022         * docs/design/part-MT-refcounting.txt:
19023         * docs/design/part-clocks.txt:
19024         * docs/design/part-gstelement.txt:
19025         * docs/design/part-gstobject.txt:
19026         * docs/design/part-standards.txt:
19027         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19028         (gst_bin_remove_func), (gst_bin_remove):
19029         * gst/gstbin.h:
19030         * gst/gstbuffer.c:
19031         * gst/gstcaps.h:
19032         * testsuite/clock/clock1.c: (main):
19033         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19034         (main):
19035         * testsuite/dlopen/loadgst.c: (do_test):
19036         * testsuite/refcounting/bin.c: (add_remove_test1),
19037         (add_remove_test2), (main):
19038         * testsuite/refcounting/element.c: (main):
19039         * testsuite/refcounting/element_pad.c: (main):
19040         * testsuite/refcounting/pad.c: (main):
19041         * tools/gst-launch.c: (sigint_handler_sighandler):
19042         * tools/gst-typefind.c: (main):
19043         Doc updates.
19044         Added doc about clock.
19045         removed gst_bin_iterate_recurse_up(), marked methods
19046         for removal.
19047         Fix more testsuites.
19048
19049 2005-03-09  Wim Taymans  <wim@fluendo.com>
19050
19051         * gst/gstpad.c: (gst_pad_get_direction),
19052         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19053         (gst_pad_collect_valist):
19054         * testsuite/bins/interface.c: (main):
19055         * testsuite/caps/audioscale.c: (test_caps):
19056         * testsuite/caps/caps.c: (test1), (test2), (test3):
19057         * testsuite/caps/deserialize.c: (main):
19058         * testsuite/caps/enumcaps.c: (main):
19059         * testsuite/caps/filtercaps.c: (main):
19060         * testsuite/caps/intersect2.c: (main):
19061         * testsuite/caps/random.c: (main):
19062         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19063         * testsuite/caps/sets.c: (check_caps):
19064         * testsuite/caps/simplify.c: (check_caps), (main):
19065         * testsuite/caps/subtract.c: (check_caps):
19066         Fix _pad_get_direction wrt ghostpads.
19067         Fix caps testsuite.
19068
19069 2005-03-09  Wim Taymans  <wim@fluendo.com>
19070
19071         * check/Makefile.am:
19072         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19073         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19074         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19075         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19076         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19077         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19078         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19079         (bin_element_is_sink), (gst_bin_iterate_sinks),
19080         (gst_bin_iterate_all_by_interface):
19081         * gst/gstbin.h:
19082         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19083         (gst_element_change_state), (gst_element_dispose),
19084         (gst_element_finalize), (gst_element_set_loop_function):
19085         * gst/gstelement.h:
19086         * gst/gstiterator.c: (find_custom_fold_func):
19087         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19088         (gst_pad_collectv), (gst_pad_collect_valist),
19089         (gst_pad_template_new):
19090         * gst/gstpipeline.c: (gst_pipeline_class_init),
19091         (gst_pipeline_dispose), (gst_pipeline_set_property),
19092         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19093         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19094         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19095         * gst/gstutils.h:
19096         * gst/schedulers/entryscheduler.c:
19097         * gst/schedulers/gstbasicscheduler.c:
19098         (gst_basic_scheduler_cothreaded_chain),
19099         (gst_basic_scheduler_chain_add_element):
19100         * testsuite/bins/interface.c: (main):
19101         Added GstBin test.
19102         Added GstSystemClock test.
19103         Implemented clock distribution code in GstBin.
19104         Implemented iterate sinks method for future use.
19105         Rearranged gstelement.h
19106         Fix GstIterator comparison bug.
19107         Moved some code to GstPipeline, mostly clocking related.
19108
19109 2005-03-09  Wim Taymans  <wim@fluendo.com>
19110
19111         * configure.ac:
19112         * gst/gst_private.h:
19113         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19114         (gst_bin_remove_func), (gst_bin_remove),
19115         (gst_bin_get_by_name_recurse_up):
19116         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
19117         (gst_clock_id_compare_func), (gst_clock_id_wait),
19118         (gst_clock_id_wait_async), (gst_clock_init),
19119         (gst_clock_adjust_unlocked), (gst_clock_get_time):
19120         * gst/gstelement.h:
19121         * gst/gstinfo.c: (_gst_debug_init):
19122         * gst/gstobject.h:
19123         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19124         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
19125         * gst/gstpad.h:
19126         Bump version number, we're now 0.9.0
19127         Add future debugging category.
19128         Fix NULL _unref() in _get_by_name_recurse_up
19129         Rearrange gstpad.h.
19130         Update some docs.
19131
19132 2005-03-08  Wim Taymans  <wim@fluendo.com>
19133
19134         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
19135         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
19136         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19137         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
19138         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
19139         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
19140         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
19141         * gst/elements/gstidentity.c: (gst_identity_class_init):
19142         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
19143         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
19144         * gst/elements/gstshaper.c: (gst_shaper_class_init):
19145         * gst/elements/gststatistics.c: (gst_statistics_class_init):
19146         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
19147         (gst_tee_link):
19148         * gst/gstelement.c: (gst_element_class_init),
19149         (gst_element_base_class_init), (gst_element_init),
19150         (gst_element_get_random_pad), (gst_element_wait_state_change),
19151         (gst_element_change_state), (gst_element_dispose),
19152         (gst_element_finalize), (gst_element_set_loop_function):
19153         * gst/gstelement.h:
19154         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
19155         * gst/gstthread.c: (gst_thread_class_init),
19156         (gst_thread_release_children_locks), (gst_thread_change_state):
19157         * gst/schedulers/gstbasicscheduler.c:
19158         (gst_basic_scheduler_loopfunc_wrapper),
19159         (gst_basic_scheduler_chain_wrapper),
19160         (gst_basic_scheduler_src_wrapper),
19161         (gst_basic_scheduler_remove_element):
19162         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
19163         Remove threadsafe properties. Fix elements because GObject
19164         complains when installing a property before declaring a
19165         set/get_property handler.
19166         Rearrange gstelement.h file, use STATE macros for state locks.
19167         Free mutexes in the finalize method instead of dispose.
19168
19169 2005-03-08  Wim Taymans  <wim@fluendo.com>
19170
19171         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19172         * gst/gstthread.c: (gst_thread_release_children_locks):
19173         Added parentage check.
19174         Fix build og GstThread again.
19175
19176 2005-03-08  Wim Taymans  <wim@fluendo.com>
19177
19178         * docs/design/part-MT-refcounting.txt:
19179         * docs/design/part-conventions.txt:
19180         * docs/design/part-gstobject.txt:
19181         * docs/design/part-relations.txt:
19182         * docs/design/part-standards.txt:
19183         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19184         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
19185         (gst_bin_get_by_name), (gst_bin_get_by_interface),
19186         (gst_bin_iterate_all_by_interface):
19187         * gst/gstbuffer.h:
19188         * gst/gstclock.h:
19189         * gst/gstelement.c: (gst_element_class_init),
19190         (gst_element_change_state), (gst_element_set_loop_function):
19191         * gst/gstelement.h:
19192         * gst/gstiterator.c:
19193         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
19194         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
19195         (gst_object_dispatch_properties_changed), (gst_object_set_name),
19196         (gst_object_set_parent), (gst_object_unparent),
19197         (gst_object_check_uniqueness):
19198         * gst/gstobject.h:
19199         Docs updates, clean up some headers.
19200
19201 2005-03-07  Wim Taymans  <wim@fluendo.com>
19202
19203         * check/.cvsignore:
19204         * check/Makefile.am:
19205         * check/gst-libs/.cvsignore:
19206         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
19207         * check/gst/.cvsignore:
19208         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
19209         (START_TEST), (gstbus_suite), (main):
19210         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
19211         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
19212         (gst_data_suite), (main):
19213         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
19214         (add_fold_func), (gstiterator_suite), (main):
19215         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
19216         (thread_name_object), (thread_name_object_default),
19217         (gst_object_name_compare), (gst_object_suite), (main):
19218         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
19219         (gst_pad_suite), (main):
19220         * check/gstcheck.c: (gst_check_log_message_func),
19221         (gst_check_log_critical_func), (gst_check_init):
19222         * check/gstcheck.h:
19223         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19224         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
19225         Added checks.
19226
19227 2005-03-07  Wim Taymans  <wim@fluendo.com>
19228
19229         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19230         (gst_list_iterator_next), (gst_list_iterator_resync),
19231         (gst_list_iterator_free), (gst_iterator_new_list),
19232         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
19233         (gst_iterator_free), (gst_iterator_push), (filter_next),
19234         (filter_resync), (filter_uninit), (filter_free),
19235         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
19236         (gst_iterator_foreach), (find_custom_fold_func),
19237         (gst_iterator_find_custom):
19238         * gst/gstiterator.h:
19239         Added missing files.
19240
19241 2005-03-07  Wim Taymans  <wim@fluendo.com>
19242
19243         * Makefile.am:
19244         * configure.ac:
19245         * docs/design/part-MT-refcounting.txt:
19246         * docs/design/part-conventions.txt:
19247         * docs/design/part-gstobject.txt:
19248         * docs/design/part-relations.txt:
19249         * examples/mixer/mixer.c: (main):
19250         * examples/thread/thread.c: (eos), (main):
19251         * gst/Makefile.am:
19252         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
19253         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
19254         (gst_spider_plug_from_srcpad):
19255         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
19256         (gst_spider_identity_change_state),
19257         (gst_spider_identity_sink_loop_type_finding):
19258         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
19259         * gst/elements/gstidentity.c: (gst_identity_init):
19260         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
19261         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
19262         * gst/elements/gsttypefindelement.c: (free_entry):
19263         * gst/gst.c:
19264         * gst/gst.h:
19265         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
19266         (gst_bin_set_clock_func), (gst_bin_auto_clock),
19267         (gst_bin_set_index), (gst_bin_set_element_sched),
19268         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
19269         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
19270         (gst_bin_iterate_elements), (iterate_child_recurse),
19271         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
19272         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
19273         (compare_interface), (gst_bin_get_by_interface),
19274         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
19275         * gst/gstbin.h:
19276         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
19277         (gst_buffer_default_free), (gst_buffer_default_copy),
19278         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
19279         (gst_buffer_create_sub):
19280         * gst/gstbuffer.h:
19281         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
19282         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
19283         (gst_caps_unref), (gst_static_caps_get),
19284         (gst_caps_remove_and_get_structure), (gst_caps_append),
19285         (gst_caps_append_structure), (gst_caps_remove_structure),
19286         (gst_caps_copy_nth), (gst_caps_set_simple),
19287         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
19288         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
19289         (gst_caps_structure_intersect_field), (gst_caps_intersect),
19290         (gst_caps_structure_subtract_field), (gst_caps_subtract),
19291         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
19292         (gst_caps_structure_figure_out_union),
19293         (gst_caps_switch_structures), (gst_caps_do_simplify),
19294         (gst_caps_replace), (gst_caps_from_string),
19295         (gst_caps_copy_conditional):
19296         * gst/gstcaps.h:
19297         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
19298         (_gst_clock_id_free), (gst_clock_id_unref),
19299         (gst_clock_id_compare_func), (gst_clock_id_wait),
19300         (gst_clock_id_wait_async), (gst_clock_class_init),
19301         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
19302         (gst_clock_get_time), (gst_clock_set_time_adjust),
19303         (gst_clock_set_property), (gst_clock_get_property):
19304         * gst/gstclock.h:
19305         * gst/gstcompat.h:
19306         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
19307         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
19308         * gst/gstdata.h:
19309         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19310         (gst_element_requires_clock), (gst_element_provides_clock),
19311         (gst_element_set_clock), (gst_element_clock_wait),
19312         (gst_element_wait), (gst_element_set_time_delay),
19313         (gst_element_is_indexable), (gst_element_add_pad),
19314         (gst_element_add_ghost_pad), (gst_element_remove_pad),
19315         (pad_compare_name), (gst_element_get_static_pad),
19316         (gst_element_request_pad), (gst_element_get_request_pad),
19317         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
19318         (gst_element_class_get_pad_template_list),
19319         (gst_element_class_get_pad_template), (gst_element_error_func),
19320         (gst_element_get_random_pad), (gst_element_get_event_masks),
19321         (gst_element_send_event), (gst_element_seek),
19322         (gst_element_get_query_types), (gst_element_query),
19323         (gst_element_get_formats), (gst_element_convert),
19324         (gst_element_is_locked_state), (gst_element_set_locked_state),
19325         (gst_element_sync_state_with_parent), (gst_element_change_state),
19326         (gst_element_finalize), (gst_element_yield),
19327         (gst_element_interrupt), (gst_element_set_scheduler),
19328         (gst_element_get_scheduler), (gst_element_set_loop_function):
19329         * gst/gstelement.h:
19330         * gst/gstevent.h:
19331         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
19332         (gst_format_get_by_nick), (gst_format_get_details),
19333         (gst_format_iterate_definitions):
19334         * gst/gstformat.h:
19335         * gst/gstindex.c: (gst_index_gtype_resolver):
19336         * gst/gstinfo.c:
19337         * gst/gstinfo.h:
19338         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
19339         (gst_mem_chunk_free):
19340         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19341         (gst_object_ref), (gst_object_unref), (gst_object_sink),
19342         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
19343         (gst_object_dispatch_properties_changed),
19344         (gst_object_set_name_default), (gst_object_set_name),
19345         (gst_object_get_name), (gst_object_set_name_prefix),
19346         (gst_object_get_name_prefix), (gst_object_set_parent),
19347         (gst_object_get_parent), (gst_object_unparent),
19348         (gst_object_check_uniqueness), (gst_object_save_thyself),
19349         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
19350         (gst_object_set_property), (gst_object_get_property),
19351         (gst_object_get_path_string):
19352         * gst/gstobject.h:
19353         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
19354         (gst_real_pad_init), (gst_real_pad_get_property),
19355         (gst_pad_custom_new), (gst_pad_get_direction),
19356         (gst_pad_set_active), (gst_pad_is_active),
19357         (gst_pad_set_event_function), (gst_pad_is_linked),
19358         (gst_pad_link_free), (gst_pad_link_intersect),
19359         (gst_pad_link_fixate), (gst_pad_set_caps),
19360         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
19361         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
19362         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
19363         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
19364         (gst_pad_get_caps), (gst_pad_peer_get_caps),
19365         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
19366         (gst_pad_realize), (gst_pad_get_allowed_caps),
19367         (gst_real_pad_dispose), (gst_real_pad_finalize),
19368         (gst_pad_collectv), (gst_pad_collect_valist),
19369         (gst_pad_template_dispose), (gst_pad_template_new),
19370         (gst_pad_get_internal_links):
19371         * gst/gstpad.h:
19372         * gst/gstpipeline.c: (gst_pipeline_dispose),
19373         (gst_pipeline_change_state):
19374         * gst/gstpipeline.h:
19375         * gst/gstplugin.c:
19376         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
19377         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
19378         * gst/gstpluginfeature.h:
19379         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
19380         * gst/gstquery.c: (_gst_query_type_initialize),
19381         (gst_query_type_register), (gst_query_type_get_by_nick),
19382         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
19383         * gst/gstquery.h:
19384         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
19385         * gst/gstscheduler.c: (gst_scheduler_add_element),
19386         (gst_scheduler_factory_create):
19387         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19388         (gst_structure_free), (gst_structure_set_name),
19389         (gst_structure_id_set_value), (gst_structure_set_value),
19390         (gst_structure_set_valist), (gst_structure_remove_field),
19391         (gst_structure_remove_fields),
19392         (gst_structure_remove_fields_valist),
19393         (gst_structure_remove_all_fields), (gst_structure_foreach),
19394         (gst_structure_map_in_place),
19395         (gst_caps_structure_fixate_field_nearest_int),
19396         (gst_caps_structure_fixate_field_nearest_double):
19397         * gst/gststructure.h:
19398         * gst/gstsystemclock.c: (gst_system_clock_class_init),
19399         (gst_system_clock_init), (gst_system_clock_dispose),
19400         (gst_system_clock_async_thread),
19401         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
19402         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
19403         * gst/gstsystemclock.h:
19404         * gst/gsttag.c: (gst_tag_list_add_value_internal),
19405         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
19406         * gst/gsttaginterface.c:
19407         * gst/gstthread.c: (gst_thread_dispose),
19408         (gst_thread_release_children_locks), (gst_thread_change_state),
19409         (gst_thread_main_loop):
19410         * gst/gsttrashstack.h:
19411         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
19412         * gst/gsttypes.h:
19413         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19414         (gst_element_request_pad), (gst_element_get_pad_from_template),
19415         (gst_element_request_compatible_pad),
19416         (gst_element_get_compatible_pad_filtered),
19417         (gst_element_get_compatible_pad), (gst_element_state_get_name),
19418         (gst_element_link_pads_filtered), (gst_element_link_filtered),
19419         (gst_element_link_many), (gst_element_link),
19420         (gst_element_link_pads), (gst_element_unlink_pads),
19421         (gst_element_unlink_many), (gst_element_unlink),
19422         (gst_pad_can_link_filtered), (gst_pad_can_link),
19423         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
19424         (gst_object_default_error), (gst_bin_add_many),
19425         (gst_bin_remove_many), (gst_element_populate_std_props),
19426         (gst_element_class_install_std_props), (gst_buffer_merge),
19427         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
19428         (link_fold_func), (gst_pad_proxy_setcaps):
19429         * gst/gstutils.h:
19430         * gst/gstvalue.c: (gst_value_deserialize_string):
19431         * gst/parse/grammar.y:
19432         * gst/schedulers/gstbasicscheduler.c:
19433         (gst_basic_scheduler_cothreaded_chain),
19434         (gst_basic_scheduler_chain_recursive_add),
19435         (gst_basic_scheduler_pad_link):
19436         * gst/schedulers/gstoptimalscheduler.c:
19437         (get_group_schedule_function),
19438         (gst_opt_scheduler_state_transition),
19439         (gst_opt_scheduler_add_element), (element_get_reachables_func):
19440         * libs/gst/bytestream/bytestream.c:
19441         * libs/gst/dataprotocol/dataprotocol.c:
19442         (gst_dp_header_from_buffer):
19443         * po/nb.po:
19444         * po/ru.po:
19445         * tests/threadstate/threadstate2.c: (eos):
19446         * tools/gst-compprep.c: (main):
19447         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
19448         (print_pad_info), (print_children_info):
19449         * tools/gst-launch.c: (idle_func), (main):
19450         * tools/gst-md5sum.c: (idle_func), (main):
19451         * tools/gst-xmlinspect.c: (print_element_info):
19452         First THREADED backport attempt, focusing on adding locks and
19453         making sure the API is threadsafe. Needs more work. More docs
19454         follow this week.
19455
19456 2005-02-24  Andy Wingo  <wingo@pobox.com>
19457
19458         * tests/bench-complexity.scm:
19459         * tests/complexity.gnuplot: New files, good for running complexity
19460         benchmarks.
19461
19462         * tests/Makefile.am:
19463         * tests/complexity.c: New test, sets up N elements, at each level
19464         teeing into M streams per element. Eeeenteresting.
19465
19466         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
19467         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
19468         running bench-mass_elements.scm.
19469
19470         * tests/bench-mass_elements.scm: New script, runs mass_elements
19471         for various numbers of identities, outputting the results to a
19472         file. Requires guile 1.6. Just for testing.
19473
19474 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19475
19476         * gst/schedulers/fairscheduler.c:
19477           compile with debug disabled
19478
19479 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19480
19481         * configure.ac:
19482           hunting season on 0.9 is now OPEN