gst/gstinfo.c: Fix locking order, handle NULL function values properly.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
4           Fix locking order, handle NULL function values properly.
5
6         * gst/gstinfo.h:
7           Fix docs.
8
9         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
10           Initialised variable before using it and fix debug statement to
11           print the address of the function rather than the address of the
12           variable on the stack holding the address of the function.
13
14 2006-09-01  Wim Taymans  <wim@fluendo.com>
15
16         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
17         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
18         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
20         (gst_ghost_pad_parent_unset),
21         (gst_ghost_pad_internal_do_activate_push),
22         (gst_ghost_pad_internal_do_activate_pull),
23         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
24         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
25         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
26         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
27         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
28         (gst_ghost_pad_new_no_target_from_template),
29         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
30         More cleanups.
31         Avoid needless typechecking in macros.
32         Since the internal pad is always present and never changes, there is
33         no need to locking or ref when retrieving it.
34         Improve debugging a bit.
35         Handle link errors when setting the target. Fixes #341029.
36
37 2006-09-01  Wim Taymans  <wim@fluendo.com>
38
39         * docs/libs/gstreamer-libs-sections.txt:
40         * docs/plugins/gstreamer-plugins-sections.txt:
41         Fix docs some more.
42
43         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
44         (gst_collect_pads_event):
45         * libs/gst/base/gstcollectpads.h:
46         Documentation updates.
47         Free queued buffer when removing a pad.
48
49 2006-08-31  Michael Smith  <msmith@fluendo.com>
50
51         * gst/gstutils.c: (gst_element_link_pads),
52         (gst_element_link_pads_filtered):
53           Ensure that we set a capsfilter to NULL if we failed to link it
54           when doing filtered linking, to avoid criticals.
55
56           No need to check for unreffing srcpad, which is explicly NULLed
57           above (a trivial code cleanup).
58
59 2006-08-31  Wim Taymans  <wim@fluendo.com>
60
61         * docs/design/part-gstghostpad.txt:
62         Update ascii art in documentation.
63
64         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
65         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
66         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
67         (gst_ghost_pad_internal_do_activate_push),
68         (gst_ghost_pad_internal_do_activate_pull),
69         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
70         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
71         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
72         (gst_ghost_pad_set_target):
73         Small cleanups and leak fixes.
74         Remove some checks now that the internal pad is never NULL.
75         Fix the case where linking pads without a target would create nasty
76         criticals. Fixes #341029.
77         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
78         value of _set_target().
79
80         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
81         (gst_ghost_pad_suite):
82         Some more tests for creating and linking untargeted ghostpads.
83
84 2006-08-31  Edward Hervey  <edward@fluendo.com>
85
86         * docs/gst/gstreamer-sections.txt:
87         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
88         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
89         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
90         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
91         (gst_ghost_pad_new_from_template),
92         (gst_ghost_pad_new_no_target_from_template):
93         * gst/gstghostpad.h:
94         Refactored *_new() functions.
95         Templates are now used as a g_object_new() parameter.
96         Use template in _do_getcaps() if we don't have a target.
97         Small documentation cleanups.
98         Added two new constructors:
99         gst_ghost_pad_new_from_template()
100         gst_ghost_pad_new_no_target_from_template()
101         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
102         (gst_ghost_pad_suite):
103         Added tests for new ghostpad instanciation functions.
104
105         API additions: gst_ghost_pad_new_from_template,
106         gst_ghost_pad_new_no_target_from_template
107
108 2006-08-30  Stefan Kost,,,  <ensonic@users.sf.net>
109
110         * docs/random/ensonic/profiling.txt:
111           Ideas about qos profiling.
112
113 2006-08-29  Wim Taymans  <wim@fluendo.com>
114
115         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
116         Code cleanups.
117         Fix memleak.
118
119 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
120
121         * gst/gstxml.c:
122           Improve and detypofy docs.
123
124         * tests/check/Makefile.am:
125         * tests/check/gst/.cvsignore:
126         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
127           Add a basic test suite for GstXML.
128
129 2006-08-29  Wim Taymans  <wim@fluendo.com>
130
131         * gst/gstelement.c: (activate_pads), (clear_caps),
132         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
133         Clear the pad caps when the element shut down all of the pads and
134         is not streaming data that could modify the caps. 
135         Fixes #352958.
136
137 2006-08-28  Michael Smith  <msmith@fluendo.com>
138
139         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
140           Revert previous change; I misunderstood single-segment mode.
141
142 2006-08-28  Michael Smith  <msmith@fluendo.com>
143
144         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
145           Unset DISCONT on buffers when using single-segment mode.
146
147 2006-08-28  Wim Taymans  <wim@fluendo.com>
148
149         * gst/gstcaps.c: (gst_caps_merge_structure):
150         * gst/gstcaps.h:
151         Fix docs and indentation again.
152
153         * tests/check/gst/gstquery.c: (GST_START_TEST):
154         Fix leak in tests and add some more tests.
155
156 2006-08-28  Edward Hervey  <edward@fluendo.com>
157
158         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
159         Inform GstSegment of the last stop position in order for the current
160         segment to have a proper duration if it doesn't have a specific stop
161         position from which a duration could be calculated.
162         This bug was noticeable when a non-flushing, non-update new segment was
163         followed by another segment (all buffers from the new segment were being
164         dropped).
165
166 2006-08-28  Wim Taymans  <wim@fluendo.com>
167
168         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
169         Small comment update.
170
171         * plugins/elements/gstidentity.c: (gst_identity_class_init),
172         (gst_identity_transform_ip):
173         Drop-probability is broken, mention this in the code with a 
174         FIXME and also in the property description.
175         Make silent also be silent about the drop messages.
176
177 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
178
179         * docs/manual/appendix-win32.xml:
180           Remove mention of popt, we don't depend on that any
181           longer (#353136). Add some comments pointing out that
182           this section is slightly outdated.
183
184 2006-08-28  Wim Taymans  <wim@fluendo.com>
185
186         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
187
188         * gst/gstquery.c: (gst_query_new_segment):
189         * tests/check/gst/gstquery.c: (GST_START_TEST):
190         Initialize variables when creating a new segment query.
191         Fixes #353121.
192
193 2006-08-28  Wim Taymans  <wim@fluendo.com>
194
195         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
196
197         * gst/gstelement.c: (gst_element_get_bus):
198         * tests/check/gst/gstelement.c: (GST_START_TEST):
199         Check for NULL before _reffing the bus. Fixes #353122.
200
201 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
202
203         * docs/manual/basics-bus.xml:
204           Docs update: fix wrong callback return value explanation; add
205           some lines about the implicit relationship between main loop
206           and main context; remove duplicate main loop variable declaration.
207
208 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
209
210         * tests/check/gst/gstcaps.c: (GST_START_TEST):
211           Don't leak caps in unit test; add a few more simple
212           checks. 
213
214 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
215
216         * docs/gst/gstreamer-sections.txt:
217         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
218         (gst_caps_structure_is_subset), (gst_caps_merge),
219         (gst_caps_merge_structure):
220         * gst/gstcaps.h:
221         * libs/gst/base/gstbasetransform.c:
222         (gst_base_transform_transform_caps):
223         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
224           implement caps merging (fixes #352580)
225
226 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
227
228         * tools/Makefile.am:
229         * tools/gst-plot-timeline.py:
230           add debug-log plotting developer tool (#340674)
231
232 2006-08-23  Wim Taymans  <wim@fluendo.com>
233
234         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
235         (gst_pad_stop_task):
236         Improve debugging for task functions.
237
238         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
239         (gst_task_start), (gst_task_pause), (gst_task_join):
240         Make sure that the task function started and finished after a 
241         join(). 
242         Don't try to push the task function on the threadpool multiple
243         times.
244         Improve the g_warning message with some useful suggestions
245         about how to fix the problem. 
246
247 2006-08-23  Wim Taymans  <wim@fluendo.com>
248
249         * gst/gstutils.c: (gst_pad_proxy_getcaps):
250         Handle RESYNC correctly in _proxy_getcaps.
251
252 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
253
254         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
255         (gst_xml_parse_memory), (gst_xml_get_element):
256           Chain up to parent class in dispose function and also
257           unref the elements in the toplevel_elements GList.
258           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
259           Always return a reference in gst_xml_get_element() rather
260           than only sometimes.
261
262         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
263           Don't leak GstXml object.
264
265 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
266
267         * docs/gst/gstreamer-sections.txt:
268         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
269         (gst_caps_merge):
270         * gst/gstcaps.h:
271         * libs/gst/base/gstbasetransform.c:
272         (gst_base_transform_transform_caps):
273           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
274           in a better way
275
276 2006-08-21  Edward Hervey  <edward@fluendo.com>
277
278         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
279         Implement GObject::dispose virtual method in GstXML so we can free the
280         top_elements GList.
281
282 2006-08-21  Wim Taymans  <wim@fluendo.com>
283
284         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
285         (gst_buffer_create_sub):
286         Copy duration/offset_end/caps when creating a subbuffer of the
287         complete parent.
288         Make the subbuffer read-only when we make the metadata writable for
289         now. Fixes #351768.
290
291         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
292         Added check for metadata copy when creating subbuffers.
293
294 2006-08-21  Edward Hervey  <edward@fluendo.com>
295
296         * libs/gst/base/gstbasetransform.c:
297         (gst_base_transform_buffer_alloc):
298         Only call downstream buffer_alloc if transform element is passthrough
299         or always_in_place. Closes #350449.
300
301 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
302
303         * ChangeLog:
304           ChangeLog surgery to add comments to previous changes
305
306 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
307
308         * gst/gst.c:
309           Add comments
310
311         * gst/gstpad.c: (gst_pad_set_active):
312           Be more verbose in the log
313
314         * libs/gst/base/gstbasetransform.c:
315         (gst_base_transform_transform_caps):
316           Simplify caps to get rid of duplicates, fixes #345444
317
318 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
319
320         * gst/gstvalue.c:
321         * gst/gstvalue.h:
322           Use these optimizations only internaly.
323
324 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
325
326         * gst/gstvalue.c: (gst_value_compare_list),
327         (gst_value_compare_fraction_range),
328         (gst_value_intersect_fraction_fraction_range),
329         (gst_value_intersect_fraction_range_fraction_range),
330         (gst_value_subtract_fraction_fraction_range),
331         (gst_value_subtract_fraction_range_fraction_range),
332         (gst_value_get_compare_func), (gst_value_compare),
333         (gst_value_compare_with_func):
334         * gst/gstvalue.h:
335           Saves the expensive lookup of the compare function in many cases
336          (#345444)
337
338 2006-08-18  Edward Hervey  <edward@fluendo.com>
339
340         * tests/check/gst/gstinfo.c: (gst_info_suite):
341         Disable test that require gstdebug if it wasn't built in core.
342
343 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
344
345         * docs/random/ensonic/logging.txt:
346           update ideas
347           
348         * gst/gstinfo.c: (gst_debug_log_default):
349           reorder fields, save some columns, add optinal color codes for log-
350           levels
351
352 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
353
354         * docs/random/ensonic/logging.txt:
355           add ideas about making the logs abit more useful
356
357 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
358
359         * docs/pwg/advanced-events.xml:
360         * docs/pwg/titlepage.xml:
361           Update for 0.10 API (#340627). Add myself
362           to authors list.
363
364 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
365
366         * docs/libs/gstreamer-libs-docs.sgml:
367         * docs/libs/gstreamer-libs-sections.txt:
368         * libs/gst/check/gstbufferstraw.c:
369           Make gstcheck stuff show up in docs (still needs to
370           be documented properly though).
371
372 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
373
374         * docs/gst/gstreamer-sections.txt:
375         * gst/Makefile.am:
376         * gst/gst.c: (init_post):
377         * gst/gst_private.h:
378         * gst/gstquark.c: (_priv_gst_quarks_initialize):
379         * gst/gstquark.h:
380         * gst/gstquery.c: (gst_query_new_position),
381         (gst_query_set_position), (gst_query_parse_position),
382         (gst_query_new_duration), (gst_query_set_duration),
383         (gst_query_parse_duration), (gst_query_new_convert),
384         (gst_query_set_convert), (gst_query_parse_convert),
385         (gst_query_new_segment), (gst_query_set_segment),
386         (gst_query_parse_segment), (gst_query_new_seeking),
387         (gst_query_set_seeking), (gst_query_parse_seeking):
388         Add internal helpers for pre-registering quarks from static strings
389         and using the quark values directly instead of looking them up when
390         creating and parsing queries. Can be used for event construction too.
391         Closes #350432.
392
393 2006-08-16  Wim Taymans  <wim@fluendo.com>
394
395         * gst/gstbin.c:
396         Fix bogus docs.
397
398 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
399
400         * gst/gstutils.c: (gst_util_set_value_from_string):
401           Fix memleak (#351502).
402
403         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
404           Add unit test for most of gst_util_set_value_from_string()
405           (not that one would want to encourage use of this function).
406
407 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
408
409         * libs/gst/check/gstcheck.h:
410           Use const gchar * variables in fail_unless_equals_string
411           macro to avoid compiler warnings (and don't use tabs for
412           indenting).
413
414 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
415
416         * tools/gst-launch.c: (print_tag):
417           More space on the left for the tag names, to cater
418           for the 'extended comment' tag (not touching the
419           string for the first line since it's translated).
420
421 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
422
423         * libs/gst/check/gstcheck.h:
424           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
425           print something when they fail.
426
427 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
428
429         * docs/gst/gstreamer-sections.txt:
430         * gst/gsttaglist.c: (_gst_tag_initialize):
431         * gst/gsttaglist.h:
432           API: add GST_TAG_EXTENDED_COMMENT (#350935).
433           Also change merge function for GST_TAG_COMMENT to
434           use_first.
435
436 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
437
438         * gst/gstinfo.c: (gst_debug_print_object):
439           Make GST_PTR_FORMAT print messages as well.
440
441         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
442         (GST_START_TEST), (gst_info_suite):
443           More tests.
444
445 2006-08-14  Edward Hervey  <edward@fluendo.com>
446
447         * gst/gstelementfactory.c: (gst_element_register):
448         If the GstElementClass doesn't have a GstElementDetails with all fields
449         filled up correctly (longname, description AND author), then error out
450         nicely instead of crashing.
451
452 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
453
454         * gst/gststructure.c:
455           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
456
457         * gst/gstvalue.h:
458           Expand on the difference between arrays and lists as we use them.
459           
460 2006-08-14  Wim Taymans  <wim@fluendo.com>
461
462         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
463         If the parent state change function failed, don't assume we can safely
464         stop the source, this will be done when the pads are deactivated.
465
466 2006-08-14  Wim Taymans  <wim@fluendo.com>
467
468         * gst/gstbuffer.c:
469         * gst/gsttask.c: (gst_task_join):
470         Small doc updates.
471
472         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
473         (gst_pad_stop_task):
474         When pad (de)activation failed for some reason, restore the old
475         activation mode and set the pad to flushing instead of assuming the
476         pad is deactivated.
477         If the _task_join() failed, reinstall the task on the pad so that it can
478         be stopped later and return an error.
479
480 2006-08-11  Andy Wingo  <wingo@pobox.com>
481
482         * configure.ac:
483         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
484         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
485         is only for users of API that don't want to see deprecated
486         functions in the headers; people that want to compile out
487         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
488         CFLAGS. Fixes the build of multifdsink, or will soon..
489
490 2006-08-11  Wim Taymans  <wim@fluendo.com>
491
492         * docs/gst/gstreamer-sections.txt:
493         Add GstClockClass vmethod docs.
494
495         * gst/gstcaps.h:
496         Mark #endif with comment for associated #if
497
498         * gst/gstclock.c: (gst_clock_id_wait):
499         * gst/gstclock.h:
500         Add vmethod wait_jitter to avoid an unneeded _get_time() for
501         most clock implementations.
502         Document vmethods.
503         Flesh out docs about resolution methods.
504         API: GstClockClass::wait_jitter
505
506         * gst/gstsystemclock.c: (gst_system_clock_class_init),
507         (gst_system_clock_async_thread),
508         (gst_system_clock_id_wait_jitter_unlocked),
509         (gst_system_clock_id_wait_jitter):
510         Use base class wait_jitter variant for improved performance
511         due to less clock polling.
512
513 2006-08-11  Edward Hervey  <edward@fluendo.com>
514
515         * gst/gst.c: (gst_init_check), (init_post):
516         Set gst as being initialized before scanning/updating the registry,
517         since there might be some plugins that call gst_init() and we don't
518         want to loop back in.
519         Closes #350879
520
521 2006-08-11  Wim Taymans  <wim@fluendo.com>
522
523         * docs/design/part-qos.txt:
524         Bring docs in line with the code. Mostly the sign of the jitter was
525         wrong in the docs. Fixes #349943.
526
527         * gst/gstclock.c:
528         Fix the docs for the jitter.
529
530         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
531         (gst_event_parse_tag), (gst_event_new_buffer_size),
532         (gst_event_parse_buffer_size), (gst_event_parse_qos),
533         (gst_event_new_seek), (gst_event_parse_seek),
534         (gst_event_new_navigation):
535         Make sure the GstStructure has no parent when creating custom
536         events.
537         Add some more argument checking so that we avoid 0.0 rates.
538         Flesh out the docs for the QoS event some more.
539
540 2006-08-11  Wim Taymans  <wim@fluendo.com>
541
542         * docs/gst/gstreamer-sections.txt:
543         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
544         (ensure_current_registry_forking), (ensure_current_registry),
545         (parse_one_option), (parse_goption_arg), (gst_deinit),
546         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
547         * gst/gst.h:
548         Doc updates.
549         Added API and command line option to disable registry forking in
550         addition to the environment variable.
551         Constify some static arrays.
552         Added some more debug.
553         Don't deinit twice.
554         API: gst_registry_fork_is_enabled()
555         API: gst_registry_fork_set_enabled()
556         API: --gst-disable-registry-fork command line option
557         Fixes #348918.
558
559 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
560
561         * gst/gst.c: (gst_init):
562           Fix typo in error message.
563
564 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
565
566         * libs/gst/controller/gstcontroller.h:
567           fix ABI size-correction
568
569         * tests/check/libs/gdp.c: (gst_dp_suite):
570           make tests that use deprecated API conditional
571
572 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
573
574         * docs/libs/gstreamer-libs-sections.txt:
575         * libs/gst/controller/gstcontroller.c:
576         (_gst_controller_get_property), (_gst_controller_set_property),
577         (_gst_controller_init), (_gst_controller_class_init):
578         * libs/gst/controller/gstcontroller.h:
579         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
580         (gst_object_set_control_rate):
581           API: add gst_object_{s,g}et_control_rate(), add private data section,
582           fix docs
583
584         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
585         * libs/gst/dataprotocol/dataprotocol.h:
586           add deprecation guards to make gtk-doc happy and allow disabling cruft
587
588 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
589
590         * tests/check/Makefile.am:
591         * tests/check/gst/.cvsignore:
592           Let's enable the new unit test as well.
593
594 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
595
596         * configure.ac:
597         * docs/gst/gstreamer-sections.txt:
598         * gst/gstconfig.h.in:
599         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
600         (_gst_info_printf_extension_ptr),
601         (_gst_info_printf_extension_segment):
602           API: add GST_SEGMENT_FORMAT, which is a printf extension we
603           register that lets us easily dump GstSegments into debug
604           logs (#350419).
605
606         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
607         (info_segment_format_printf_extension), (gst_info_suite):
608           Add simple unit test that logs a bunch of different segments (not
609           valgrinded at the moment because of leaks in gst_debug_add_log_function).
610
611 2006-08-09  Edward Hervey  <edward@fluendo.com>
612
613         * libs/gst/base/gstbasetransform.c:
614         (gst_base_transform_buffer_alloc):
615         Even if we can't figure out the proper format to request downstream,
616         call buffer_alloc() downstream with the input parameters without setting
617         the caps on the srcpad. This will force negotiation in the chain
618         function.
619         Closes #350449
620
621 2006-08-08  Edward Hervey  <edward@fluendo.com>
622
623         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
624         Unlinking from a pad without a target is now a perfectly valid case
625         which should NOT raise an assertion.
626         This case would happen if a linked ghostpad its target set to NULL after
627         it was previously linked.
628
629 2006-08-08  Edward Hervey  <edward@fluendo.com>
630
631         * tests/check/libs/gdp.c:
632         Also comment out the test (see below).
633
634 2006-08-08  Edward Hervey  <edward@fluendo.com>
635
636         * tests/check/libs/gdp.c: (gst_dp_suite):
637         Use the architecture information from config.h and not gcc macros
638         in order to properly disable a test that fails on PPC64.
639
640 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
641
642         * gst/gstelement.c: (gst_element_remove_pad):
643           Don't crash printing the warning if the pad has no parent.
644
645 2006-08-02  Wim Taymans  <wim@fluendo.com>
646
647         * libs/gst/dataprotocol/dataprotocol.c:
648         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
649         (gst_dp_crc), (gst_dp_header_payload_length),
650         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
651         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
652         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
653         (gst_dp_event_from_packet), (gst_dp_validate_header),
654         (gst_dp_validate_payload):
655         Make debug category static
656         Constify the crc table.
657         Do some more arg checking in public functions.
658         Fix some docs and do some small cleanups.
659
660         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
661         Add some more checks to see if GDP deals with bogus input.
662
663 2006-07-31  Wim Taymans  <wim@fluendo.com>
664
665         * gst/gstvalue.c: (gst_value_compare_list):
666         Fix GstValueList comparison code. Fixes #347293.
667
668         * tests/check/gst/gstvalue.c: (GST_START_TEST):
669         Check to test GstValueList comparison.
670
671 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
672
673         * gst/gstelementfactory.c: (gst_element_factory_create):
674         Remove unnecessary ref/unref pair
675
676         * gst/parse/grammar.y:
677         Make sure to free the parse buffer on all code paths.
678         Move a g_free up to the error handler where it's easier to see.
679
680         * tests/check/gst/gstevent.c: (test_event):
681         Extending timeout for downstream travelling events to 10 seconds to
682         hopefully avoid intermittent failure on the buildbots.
683
684         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
685         Don't manually set the state of the src element - it will happen as a
686         natural consequence of the pipeline changing state, and that way it
687         will do it in the right order too.
688
689 2006-07-31  Wim Taymans  <wim@fluendo.com>
690
691         * libs/gst/base/gstbasetransform.c:
692         (gst_base_transform_buffer_alloc):
693         Use OBJECT_LOCK and refcounting to get the pad caps in the
694         buffer_alloc function because the caps could change while we are
695         busy with them. Fixes #349105
696
697 2006-07-31  Wim Taymans  <wim@fluendo.com>
698
699         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
700         Protect _PAD_CAPS with OBJECT_LOCK.
701
702 2006-07-31  Wim Taymans  <wim@fluendo.com>
703
704         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
705         (gst_pad_get_property), (gst_pad_activate_pull),
706         (gst_pad_activate_push), (gst_pad_set_blocked_async),
707         (gst_pad_set_activate_function),
708         (gst_pad_set_activatepull_function),
709         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
710         (gst_pad_set_getrange_function),
711         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
712         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
713         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
714         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
715         (gst_pad_set_acceptcaps_function),
716         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
717         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
718         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
719         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
720         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
721         (gst_pad_configure_sink), (gst_pad_configure_src),
722         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
723         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
724         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
725         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
726         (gst_pad_send_event):
727         Use _DEBUG_OBJECT when it makes sense.
728         Protect GST_PAD_CAPS with the OBJECT_LOCK.
729         Small cleanups and code reflows.
730         Avoid caps refcounting in _accept_caps.
731         Refactor alloc_buffer so that the code performed on the peer is in a
732         separate function. Also if the pad does not implement a buffer alloc
733         function, we should still check if the pad is flushing before falling
734         back to the default allocator.
735
736 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
737
738         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
739         Make all uses of identity and fakesink have silent=true to avoid
740         serialising every passing data structure, which is breaking tests
741         on FC4 for some unknown reason.
742
743 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
744
745         * gst/parse/Makefile.am:
746         * gst/parse/grammar.y:
747         * gst/parse/parse.l:
748           Reverted previous patch as it required to bump the flex dependency to
749           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
750
751 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
752
753         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
754
755         * gst/parse/Makefile.am:
756         * gst/parse/grammar.y:
757         * gst/parse/parse.l:
758           push & pop the state of the lexer for reentrant use case
759           Fixes #349180
760
761 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
762
763         * libs/gst/base/gstbasesrc.h:
764           Note in the docs that the ::newsegment vfunc is not actually used by
765           GstBaseSrc.
766
767 2006-07-28  Wim Taymans  <wim@fluendo.com>
768
769         * libs/gst/base/gstcollectpads.c:
770         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
771         (gst_collect_pads_clear), (gst_collect_pads_flush),
772         (gst_collect_pads_event), (gst_collect_pads_chain):
773         When flushing a pad, also clear the queued buffer so that we don't
774         accidentally use it when we shouldn't.
775         Fix leaks by inreffing incomming buffer.
776         Flush out queued buffers in case of errors.
777         Fixes #347452.
778
779 2006-07-28  Wim Taymans  <wim@fluendo.com>
780
781         * docs/random/phonon-gst:
782         Random notes about a Phonon backend.
783
784 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
785
786         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
787         Extra debug output
788         * tests/check/libs/gdp.c: (gst_dp_suite):
789         Take a whack at fixing the ppc compile using a different define to
790         disable the broken test.
791
792         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
793         Remove excess g_print()
794
795 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
796
797         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
798         Oops, meant to uncomment this line too to dampen the noise a bit.
799
800 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
801
802         * gst/parse/grammar.y:
803         * gst/parse/parse.l:
804         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
805         (GST_START_TEST), (parse_suite):
806         Fix some of the leaks exposed by extending the parse-launch testsuite,
807         and move the 3 I can't figure out into a separate test that won't run
808         the pipelines unless the appropriate line is uncommented.
809
810 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
811
812         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
813           Requesting 0 bytes before the end of the file should result in
814           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
815           unit test.
816
817 2006-07-27  Wim Taymans  <wim@fluendo.com>
818
819         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
820         Fix useless assert, a uint is always positive.
821
822         * gst/gststructure.c: (gst_structure_nth_field_name),
823         (gst_structure_foreach), (gst_structure_map_in_place):
824         Check input arguments for public functions to avoid obvious crashes.
825
826         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
827         * plugins/elements/gstfakesink.h:
828         Do less useless typechecking.
829
830 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
831
832         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
833           Do not use mmap() by default since there are a number of error
834           conditions that we would like to handle in a non-fatal way that
835           will result in a SIGBUS if we use mmap(). Examples: external
836           devices (USB harddrive, portable music player) being unplugged
837           while in use; file on mounted CD/DVD that can't be read because
838           the medium is partly damaged. Fixes #348455 and #348475.
839
840 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
841
842         * gst/gstquery.h:
843         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
844         rates are a gdouble
845
846 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
847
848         * gst/gstregistry.c:
849           Move big documentation comment into class section header, so that it
850           appears in the API docs.
851
852 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
853
854         * docs/gst/gstreamer-sections.txt:
855         Oops. Commit the docs additions too for new API.
856         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
857
858 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
859
860         * gst/gststructure.c: (gst_structure_id_set),
861         (gst_structure_id_set_valist):
862         * gst/gststructure.h:
863         Add API for setting values into structures without performing
864         a quark lookup, if the appropriate quark is already known.
865
866         API: gst_structure_id_set
867         API: gst_structure_id_set_valist
868
869         * gst/parse/grammar.y:
870         * gst/parse/parse.l:
871         Remove some dead code shown by the coverage information.
872         Don't throw a critical g_warning when encountering a syntax error,
873         just warn and let the normal error path handle it.
874
875         * plugins/elements/gstelements.c:
876         Bump the rank of filesink up to PRIMARY so that it is preferred over
877         gnomevfssink for file:// sink uri's
878
879         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
880         (GST_START_TEST), (run_delayed_test),
881         (gst_parse_test_element_base_init),
882         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
883         (gst_parse_test_element_change_state),
884         (gst_register_parse_element), (parse_suite):
885         Beef up the tests for parse syntax to check that more error cases
886         fail as they are supposed to. Increases the test coverage a bit.
887
888 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
889
890         * docs/manual/basics-elements.xml:
891           Fix gst_element_link() example.
892
893         * gst/gstutils.c:
894           Mention in API docs that one should usually gst_bin_add()
895           elements to a bin or pipeline before doing the linking.
896           
897 2006-07-26  Wim Taymans  <wim@fluendo.com>
898
899         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
900         (gst_subbuffer_get_type), (gst_buffer_create_sub):
901         Avoid function call for known types by keeping the buffer and
902         subbuffer GType global.
903
904         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
905         Random silly optimisations in read() path.
906
907 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
908
909         * tools/gst-launch.c: (main):
910           If the top-level of the parse is a normal bin, it doesn't do the
911           right logic to run as a top-level element, so place it inside a
912           pipeline.
913
914 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
915
916         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
917           Remove superfluous g_object_notify() calls, GObject does
918           that for us automatically.
919
920 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
921
922         * gst/gstinfo.h:
923           Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
924           here.
925
926 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
927
928         * gst/gsttaglist.c: (_gst_tag_initialize):
929           Allow more than one GST_TAG_IMAGE per taglist.
930
931 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
932
933         * gst/gstminiobject.c:
934           update docs
935         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
936         (gst_fd_src_create):
937           log recurring events at LOG level
938           add more debug for when the fd gets set
939
940 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
941
942         * gst/gstparse.c: (gst_parse_launch):
943           Also remove reentrance checks if flex is MT save (#348179)
944          Fix my empty ChangeLog entry below
945
946 2006-07-21  Andy Wingo  <wingo@pobox.com>
947
948         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
949
950         * libs/gst/check/Makefile.am
951         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
952         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
953         * libs/gst/check/gstbufferstraw.h:
954         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
955         functions, thus proving I am still a GStreamer haxor. OK I wrote
956         them a long time ago, but anyways.
957
958 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
959
960         * configure.ac:
961         * gst/gstparse.c: (gst_parse_launch):
962           Check for flex version and omit mutex if we have a MT save flex
963           (fixes #348179)
964
965 2006-07-21  Wim Taymans  <wim@fluendo.com>
966
967         * gst/gstparse.c: (gst_parse_launch):
968         Protect recursive calls to _parse with a recursive mutex
969         and busy flag.
970
971 2006-07-21  Wim Taymans  <wim@fluendo.com>
972
973         * tests/check/gst/gstpad.c: (GST_START_TEST):
974         Fix leak in test.
975
976 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
977
978         * gst/gstparse.c: (gst_parse_launch):
979           Do not hange on recursive uasge of gst_parse_launch()
980
981 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
982
983         * gst/gsttaglist.c:
984           Add some more docs, comments and FIXME 0.11s here and there
985           and  also fix some typos.
986
987 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
988
989         * gst/gstsegment.h:
990           Convert tabs to spaces for better readability. 
991
992 2006-07-20  Edward Hervey  <edward@fluendo.com>
993
994         * tests/check/libs/gdp.c: (gst_dp_suite):
995         the test_buffer test fails at line 140 on ppc64 at the following
996         check:
997         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
998                 "GST_BUFFER_IN_CAPS flag should have been copied !");
999         See bug #348114 for more details.
1000
1001 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1002
1003         * docs/pwg/advanced-scheduling.xml:
1004         * gst/gstpad.c:
1005           Fix typos (#348000).
1006
1007 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1008
1009         * docs/pwg/intro-basics.xml:
1010           Fix wrong links (#347927).
1011
1012 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1013
1014         * gst/gstregistry.h:
1015         * gst/gstregistryxml.c: (load_feature),
1016         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1017         * win32/common/config.h:
1018         make --disable-index work (#342564)
1019
1020 2006-07-18  Wim Taymans  <wim@fluendo.com>
1021
1022         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1023
1024         * gst/Makefile.am:
1025         * gst/gsttrace.h:
1026         The attached patch adds two missing defines to gsttrace.h when tracing
1027         is disabled.  It also corrects one existing define.
1028         Fixes #347756.
1029
1030 2006-07-17  Wim Taymans  <wim@fluendo.com>
1031
1032         * docs/gst/gstreamer-sections.txt:
1033         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1034         * gst/gst.h:
1035         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1036         Add two functions to check and change the SIGSEGV behaviour
1037         when loading plugins.
1038         Don't mess with the SIGSEGV handler when we were told not to.
1039         Fixes #347794.
1040         API: gst_segtrap_is_enabled
1041         API: gst_segtrap_set_enabled
1042
1043 2006-07-14  Wim Taymans  <wim@fluendo.com>
1044
1045         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1046         * tests/check/elements/filesrc.c: (GST_START_TEST):
1047         Revert fix for regression in #347408 after release.
1048
1049 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1050
1051         Patch by: Antoine Tremblay <hexa00 at gmail com>
1052
1053         * gst/gstutils.c: (gst_element_unlink):
1054           Free iterator when done (#347311).
1055
1056         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1057           And add a test case for this.
1058
1059 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1060
1061         * configure.ac:
1062         Bump nano back to CVS
1063
1064 === release 0.10.9 ===
1065
1066 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1067
1068         * configure.ac:
1069           releasing 0.10.9, "On the road again"
1070
1071 2006-07-13  Wim Taymans  <wim@fluendo.com>
1072
1073         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1074         * tests/check/elements/filesrc.c: (GST_START_TEST):
1075         Revert pull-0 fix for release. Disable check. Fixes #347408.
1076
1077 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1078
1079         * libs/gst/dataprotocol/dataprotocol.c:
1080         (gst_dp_event_from_packet_1_0):
1081           Fixes #347337: failure to deserialize event packets with
1082           empty payload (only event type)
1083
1084 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1085
1086         * gst/Makefile.am:
1087           do not install a .c file in the header directory
1088
1089 2006-07-13  Edward Hervey  <edward@fluendo.com>
1090
1091         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1092         GhostPad no longer implicitely use the padtemplates of the targets.
1093         Fixes #347384
1094
1095 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1096
1097         * gst/gstvalue.c: (gst_value_compare_list),
1098         (gst_value_compare_array), (_gst_value_initialize):
1099         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1100         Make GstValueArray comparison be order dependent as designed.
1101         Add checks for value lists and value array comparisons.
1102         Fixes #347221
1103
1104 2006-07-11  Edward Hervey  <edward@fluendo.com>
1105
1106         * gst/gstbin.c: (activate_pads),
1107         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1108         (gst_bin_change_state_func):
1109         (de)activate src pads before calling state_change on the childs.
1110         This is to avoid the case where a src ghostpad is blocked (holding the
1111         stream lock), which would block the deactivation of the ghostpad's
1112         target pad.
1113         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1114         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1115         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1116         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1117         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1118         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1119         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1120         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1121         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1122         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1123         (gst_ghost_pad_class_init),
1124         (gst_ghost_pad_internal_do_activate_push),
1125         (gst_ghost_pad_internal_do_activate_pull),
1126         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1127         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1128         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1129         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
1130         GhostPads now create their internal GstProxyPad at creation (and not
1131         when they're linked, as it was being done previously).
1132         The internal and target pads are linked straight away.
1133         The data will also travel through the other pad in order to make
1134         pad blocking and probes non-hackish (the probe/block now really happens
1135         on the GhostPad and not on the target).
1136         * gst/gstpad.c: (gst_pad_set_blocked_async),
1137         (gst_pad_link_prepare), (gst_pad_push_event):
1138         Remove previous ghostpad cruft.
1139         * gst/gstutils.c: (gst_pad_add_data_probe),
1140         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1141         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1142         (gst_pad_remove_buffer_probe):
1143         Remove previous ghost pad cruft.
1144         Added more detailed debug statements.
1145         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1146         Fix the testsuite for refcounting changes.
1147         The comments about who has references were correct, but the refcount
1148         being checked wasn't the same (!?!).
1149
1150         Fixes #341029
1151
1152 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1153
1154         * docs/gst/gstreamer-sections.txt:
1155         * gst/gstconfig.h.in:
1156         More docs for configuration options, add docs to gtk-doc.
1157
1158 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1159
1160         * gst/Makefile.am:
1161         * gst/gstconfig.h.in:
1162         * win32/common/config.h:
1163         Fix build when disabling tracing (fixes #344016). Also start to document
1164         the defines that disable the sub-systems.
1165
1166 2006-07-10  Edward Hervey  <edward@fluendo.com>
1167
1168         * gst/gst.c: (ensure_current_registry_forking):
1169         let's make valgrind happy...
1170
1171 2006-07-09  Wim Taymans  <wim@fluendo.com>
1172
1173         * gst/gstelement.c: (activate_pads),
1174         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1175         Better pad activation code: Reset the collect value too on resync.
1176         Add some comments.
1177
1178 2006-07-09  Wim Taymans  <wim@fluendo.com>
1179
1180         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
1181         (gst_pad_activate_push):
1182         Use some more macros where it makes sense.
1183         Allow pad mode switching instead of asserting. When a pad
1184         is activated in one mode and we activate it in another, 
1185         deactivate it first before activating it in a different mode.
1186         Fixes #329198.
1187
1188 2006-07-08  Andy Wingo  <wingo@pobox.com>
1189
1190         * tools/gst-launch.c (main): Handle err == NULL.
1191
1192         * gst/gst.c (init_post, ensure_current_registry)
1193         (ensure_current_registry_forking)
1194         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
1195         factoring out the registry scanning into separate functions. Don't
1196         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
1197         Better environment var name/interface suggestions accepted.
1198
1199 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1200
1201         * gst/gstobject.c: (gst_object_set_name_default),
1202         (gst_object_set_name):
1203           Random micro-optimisation: don't use a hash table
1204           with strings as keys and the usual strdup/strcmp
1205           involved, but rather just use the GQuark of the
1206           type name as key, since it needs to be looked up
1207           anyway to get the type name string.
1208
1209         * tests/check/gst/gstobject.c: (GST_START_TEST):
1210           Fix various leaks.
1211
1212 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1213
1214         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
1215         (gst_bin_iterate_all_by_interface):
1216           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
1217           GTypes are gulongs and thus the top 4 bytes might be cut
1218           off on some platforms when doing GPOINTER_TO_INT, leading
1219           to invalid GTypes and bad things happening (see RH bug #179654).
1220           Also add a check to make sure the type passed in is really
1221           an interface type.
1222
1223 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1224
1225         * .cvsignore:
1226           Ignore more.
1227
1228 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1229
1230         * Makefile.am:
1231         * configure.ac:
1232         * gst-element-check.m4:
1233         * gst-element-check.m4.in:
1234           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
1235           instead of the unversioned gst-inspect (#324176, #168659).
1236
1237 2006-07-06  Wim Taymans  <wim@fluendo.com>
1238
1239         * gst/gstmessage.h:
1240         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
1241         warnings.
1242
1243 2006-07-06  Wim Taymans  <wim@fluendo.com>
1244
1245         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1246         (gst_base_src_wait), (gst_base_src_update_length),
1247         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
1248         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
1249         (gst_base_src_loop), (gst_base_src_start),
1250         (gst_base_src_activate_pull):
1251         Update docs.
1252         blocksize == 0 now means the default blocksize when working in push
1253         based mode.
1254         Remove some pointless asserts in _wait function.
1255         Fix offset/length calculations and EOS handling. We can now pull 0
1256         bytes as well, which is allowed.
1257         use _check_get_range() to decide if we can operate in _pull based
1258         mode.
1259         Fix refcounting leak when check_get_range function was not 
1260         implemented.
1261         API GstBaseSrc::blocksize range can be 0 too now (default)
1262
1263         * tests/check/elements/filesrc.c: (GST_START_TEST),
1264         (filesrc_suite):
1265         Added check to test _get_range() behaviour.
1266
1267 2006-07-06  Wim Taymans  <wim@fluendo.com>
1268
1269         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1270         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
1271         (gst_pad_pull_range):
1272         * gst/gstpad.h:
1273         Lots of comments and docs added to the pad functions.
1274         Flesh out the expected behaviour of the get_range() functions.
1275
1276 2006-07-06  Wim Taymans  <wim@fluendo.com>
1277
1278         * gst/gstbus.h:
1279         * gst/gstclock.h:
1280         * gst/gstevent.h:
1281         * gst/gstiterator.h:
1282         * gst/gstpad.h:
1283         * gst/gstplugin.h:
1284         * gst/gsttask.h:
1285         Remove comma at end of enumerator list. 
1286
1287 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
1288
1289         * win32/common/libgstbase.def:
1290         * win32/common/libgstdataprotocol.def:
1291         * win32/common/libsgtreamer.def:
1292         Add new exported functions.
1293
1294 2006-07-05  Wim Taymans  <wim@fluendo.com>
1295
1296         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
1297         Add some more docs here and there.
1298
1299 2006-07-05  Wim Taymans  <wim@fluendo.com>
1300
1301         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
1302         (gst_base_sink_loop), (gst_base_sink_get_position):
1303         When operating in pull mode update the offset so that we
1304         read sequentially.
1305
1306 2006-07-05  Wim Taymans  <wim@fluendo.com>
1307
1308         * gst/gstregistryxml.c: (read_string):
1309         Avoid strdup. (will happen in libxml, but hey!)
1310
1311         * gst/gsturi.c:
1312         Add some more docs.
1313
1314 2006-07-05  Wim Taymans  <wim@fluendo.com>
1315
1316         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
1317         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1318         (gst_buffer_suite):
1319         No point in checking if the size of the subbuffer > 0, the
1320         code handles it correclty as demonstrated by unit test.
1321         Also add a unit test for the zero sized _new_and_alloc and
1322         _copy. Fixes #346663.
1323
1324 2006-07-05  Wim Taymans  <wim@fluendo.com>
1325
1326         * libs/gst/base/gstbasetransform.c:
1327         (gst_base_transform_prepare_output_buffer),
1328         (gst_base_transform_buffer_alloc),
1329         (gst_base_transform_handle_buffer):
1330         Make sure the buffer we pass to transform_ip has a refcount of
1331         1 and thus is writable. Fixes #343196
1332
1333 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
1334
1335         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1336         (gst_file_src_init), (gst_file_src_set_property),
1337         (gst_file_src_get_property), (gst_file_src_map_region):
1338         * plugins/elements/gstfilesrc.h:
1339         Add "sequential" property, off by default, to use madvise and hint
1340         to the kernel that sequential access is desired.
1341         Touch all retrieved pages by default to ensure they are pulled
1342         into memory. (Closes #345720)
1343
1344 2006-07-03  Wim Taymans  <wim@fluendo.com>
1345
1346         * docs/design/part-block.txt:
1347         * docs/design/part-dynamic.txt:
1348         Small docs updates.
1349
1350 2006-07-03  Wim Taymans  <wim@fluendo.com>
1351
1352         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
1353         (gst_caps_unref), (gst_static_caps_get),
1354         (gst_caps_append_structure):
1355         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1356         Use GSlice when the glib we build against is >= 2.10
1357
1358 2006-07-03  Wim Taymans  <wim@fluendo.com>
1359
1360         * gst/gstelement.c: (gst_element_pads_activate):
1361         Small cleanup in pad activation code.
1362
1363 2006-07-03  Wim Taymans  <wim@fluendo.com>
1364
1365         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1366
1367         * gst/gst-i18n-app.h:
1368         * gst/gst-i18n-lib.h:
1369         * tools/gst-inspect.c: (print_signal_info):
1370         The attached patch will make the inclusion of gettext.h unconditional in
1371         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
1372         libintl.h in tools/gst-inspect.c.
1373         This allows use of --disable-nls again and fixes #344642.
1374
1375 2006-07-03  Edward Hervey  <edward@fluendo.com>
1376
1377         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
1378         Implement pad blocking on events according to part-block.txt.
1379         More comments on behaviour.
1380         * tests/check/gst/gstevent.c: (test_event):
1381         Send event to peer pad of blocked pad (else it will block).
1382
1383 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1384
1385         * libs/gst/check/gstcheck.c: (gst_check_message_error),
1386         (gst_check_run_suite):
1387           if we get the wrong message, give us the types as string
1388         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1389           Fix a translatable
1390         * tests/check/elements/filesrc.c: (GST_START_TEST):
1391           add a test for trying to open a non-existing file
1392
1393 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1394
1395         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1396           add a test for adding self
1397
1398 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1399
1400         * libs/gst/check/gstcheck.h:
1401           add some assert_ as alias for fail_unless_*
1402         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
1403           increase test coverage
1404
1405 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1406
1407         * Makefile.am:
1408           include lcov.mak for lcov coverage generation
1409         * tools/Makefile.am:
1410           add to CLEANFILES
1411
1412 2006-07-02  Edward Hervey  <edward@fluendo.com>
1413
1414         * tests/check/elements/.cvsignore:
1415         moaping
1416
1417 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1418
1419         * configure.ac:
1420           don't set CFLAGS and friends for gcov, done from GST_GCOV now
1421         * tests/check/Makefile.am:
1422           clean up gcov files
1423
1424 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1425
1426         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
1427           remove gst_caps_simplify; it was not declared and not used
1428           and deprecated in 0.8
1429
1430 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1431
1432         * docs/faq/gst-uninstalled:
1433           don't put empty paths on PYTHONPATH
1434         * docs/gst/gstreamer-sections.txt:
1435           remove some symbols that are not there
1436
1437 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1438
1439         * gst/gstcaps.c: (gst_caps_compare_structures):
1440           whitespace fixes
1441         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1442         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1443           add more tests
1444
1445 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1446
1447         * libs/gst/dataprotocol/Makefile.am:
1448           build dataprotocol test by linking to the lib, instead of
1449           compiling the source, so we get coverage
1450         * tests/check/Makefile.am:
1451         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
1452         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
1453           add a test for filesrc
1454
1455 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1456
1457         * tests/check/gst/gststructure.c: (GST_START_TEST),
1458         (gst_structure_suite):
1459           Push coverage from 59.04% to 70.00%
1460
1461 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1462
1463         * tests/check/Makefile.am:
1464           gst-inspect every element; this makes sure that we also get
1465           coverage on element's get/set functions
1466
1467 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1468
1469         * configure.ac:
1470           set CFLAGS and friends to -O0 if gcov is being used
1471           add GCOV LIBS
1472         * gst/Makefile.am:
1473         * libs/gst/base/Makefile.am:
1474         * libs/gst/check/Makefile.am:
1475         * libs/gst/controller/Makefile.am:
1476         * libs/gst/dataprotocol/Makefile.am:
1477         * libs/gst/net/Makefile.am:
1478         * plugins/elements/Makefile.am:
1479         * plugins/indexers/Makefile.am:
1480           add makefile rules to generate gcov data and clean up
1481         * tests/check/Makefile.am:
1482           add a coverage target that generates an html overview
1483           of coverage data
1484
1485 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1486
1487         * tests/check/elements/fakesink.c:
1488         * tests/check/elements/fakesrc.c:
1489         * tests/check/elements/fdsrc.c:
1490         * tests/check/elements/identity.c:
1491         * tests/check/generic/sinks.c: (gst_sinks_suite):
1492         * tests/check/generic/states.c:
1493         * tests/check/gst/gst.c:
1494         * tests/check/gst/gstabi.c:
1495         * tests/check/gst/gstbin.c:
1496         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
1497         * tests/check/gst/gstbus.c: (gst_bus_suite):
1498         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1499         * tests/check/gst/gstelement.c:
1500         * tests/check/gst/gstevent.c: (gst_event_suite):
1501         * tests/check/gst/gstghostpad.c:
1502         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
1503         * tests/check/gst/gstmessage.c: (gst_message_suite):
1504         * tests/check/gst/gstminiobject.c:
1505         * tests/check/gst/gstobject.c:
1506         * tests/check/gst/gstpad.c:
1507         * tests/check/gst/gstpipeline.c:
1508         * tests/check/gst/gstplugin.c:
1509         * tests/check/gst/gstquery.c: (gst_query_suite):
1510         * tests/check/gst/gstsegment.c: (gst_segment_suite):
1511         * tests/check/gst/gststructure.c:
1512         * tests/check/gst/gstsystemclock.c:
1513         * tests/check/gst/gsttag.c:
1514         * tests/check/gst/gsttask.c: (gst_task_suite):
1515         * tests/check/gst/gstutils.c:
1516         * tests/check/gst/gstvalue.c:
1517         * tests/check/libs/adapter.c:
1518         * tests/check/libs/basesrc.c:
1519         * tests/check/libs/collectpads.c:
1520         * tests/check/libs/controller.c:
1521         * tests/check/libs/gdp.c: (gst_dp_suite):
1522         * tests/check/libs/gstnetclientclock.c:
1523         * tests/check/libs/gstnettimeprovider.c:
1524         * tests/check/libs/libsabi.c: (libsabi_suite):
1525         * tests/check/libs/typefindhelper.c:
1526         * tests/check/pipelines/cleanup.c:
1527         * tests/check/pipelines/parse-launch.c:
1528         * tests/check/pipelines/simple-launch-lines.c:
1529         * tests/check/pipelines/stress.c: (stress_suite):
1530           use the new macro
1531
1532 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1533
1534         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
1535         * libs/gst/check/gstcheck.h:
1536           create a macro and function so that the simple unit test
1537           case can be just one macro to create main()
1538
1539 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
1540
1541         * gst/gstbin.c: (gst_bin_restore_thyself):
1542         * gst/gstxml.c: (gst_xml_make_element):
1543           Fix deserialisation from XML. Set parent manually
1544           instead of using gst_bin_add(), since gst_bin_add()
1545           will unlink all pads of the element being added.
1546           Fixes #341667.
1547
1548 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
1549
1550         Patch by: Peter Kjellerstedt <pkj at axis com>
1551
1552         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
1553           Fix missing g_strdup() and double free when using the
1554           --gst-plugin-load command line option (#346097).
1555
1556 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1557
1558         * gst/gstinfo.c:
1559           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
1560
1561         * libs/gst/net/gstnetclientclock.c:
1562         * libs/gst/net/gstnettimeprovider.c:
1563           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
1564
1565 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1566
1567         * docs/manual/advanced-dataaccess.xml:
1568           Fix buffer probe example compilation in
1569           ADM (#345708).
1570         
1571 2006-06-22  Edward Hervey  <edward@fluendo.com>
1572
1573         * gst/gstelement.c: (gst_element_pads_activate):
1574         We need to deactivate src pads first and then sink pads.
1575         The reason is the src pads might be blocking while holding the streaming
1576         lock, so we need to deactivate them first so that deactivating the sink
1577         pads doesn't block (since it will require the streaming lock).
1578
1579 2006-06-22  Wim Taymans  <wim@fluendo.com>
1580
1581         * libs/gst/base/gstbasetransform.c:
1582         (gst_base_transform_buffer_alloc):
1583         Forgot to remove two unneeded unrefs.
1584         Simplify a check _is_equal allready checks the obvious case.
1585
1586 2006-06-22  Wim Taymans  <wim@fluendo.com>
1587
1588         * docs/design/part-block.txt:
1589         Some docs about what pad_block should do.
1590
1591 2006-06-22  Wim Taymans  <wim@fluendo.com>
1592
1593         * gst/gstcaps.c: (gst_caps_replace):
1594         Fix crasher when passed NULL. Doc clarification.
1595         Optimize for the trivial case.
1596
1597         * gst/gstpipeline.c: (gst_pipeline_change_state):
1598         Small cleanups.
1599
1600         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1601         Small documentation cleanup.
1602
1603         * libs/gst/base/gstbasetransform.c:
1604         (gst_base_transform_buffer_alloc):
1605         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
1606         is what we need and it avoids a whole lot of redundant 
1607         refcount operations.
1608
1609 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
1610
1611         Patch by: Philip Jägenstedt  <philip at lysator liu se>
1612
1613         * docs/manual/advanced-dataaccess.xml:
1614           Fix 'Embedding static elements' section to use
1615           GST_PLUGIN_DEFINE_STATIC (#345607).
1616
1617 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1618
1619         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
1620           Attempt to 'fix' spuriously failing test case: it seems like the
1621           timeout of half a second is simply too small when the system is under
1622           load otherwise, and the timeout doesn't really seem to serve any
1623           particular purpose here. Give the pipeline a few seconds to preroll
1624           first, and then give it another half a second to go from PAUSED to
1625           PLAYING and marshal the message into the main thread.
1626
1627 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1628
1629         * tools/gst-feedback-m.m:
1630           Don't only use unversioned tools, try versioned tools as well
1631           (#345086).
1632
1633 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1634
1635         * gst/gstbus.c: (gst_bus_class_init):
1636           Fix some typos, make docs more explicit.
1637
1638 2006-06-20  Wim Taymans  <wim@fluendo.com>
1639
1640         * tests/check/gst/gstghostpad.c: (block_callback),
1641         (GST_START_TEST), (gst_ghost_pad_suite):
1642         Added some more ghostpad tests, mainly blocking
1643         and probes.
1644
1645 2006-06-16  Wim Taymans  <wim@fluendo.com>
1646
1647         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1648         (gst_file_sink_close_file), (gst_file_sink_do_seek),
1649         (gst_file_sink_event), (gst_file_sink_render):
1650         * plugins/elements/gstfilesink.h:
1651         Check if we can seek in the file instead of assuming
1652         we always can. Post an error when we are asked to seek in a
1653         non-seekable file (like a fifo). Fixes #343312.
1654         Some cleanups.
1655
1656 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1657
1658         * tools/gst-launch.1.in:
1659           Un-garble (fourcc) bit in filtered caps section.
1660
1661 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1662
1663         * docs/manual/advanced-autoplugging.xml:
1664         * docs/manual/basics-helloworld.xml:
1665         * docs/manual/highlevel-components.xml:
1666           Don't leak bus reference in sample code.
1667
1668 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
1669
1670         * autogen.sh:
1671           Add default for new --enable-plugin-docs switch.
1672
1673         * configure.ac:
1674           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
1675           Fixes #344039.
1676
1677         * docs/Makefile.am:
1678           Use new ENABLE_PLUGIN_DOCS conditional.
1679
1680 2006-06-14  Wim Taymans  <wim@fluendo.com>
1681
1682         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
1683         Make it clear with a FIXME and a real define what the #if 0
1684         previously disabled.
1685
1686 2006-06-14  Wim Taymans  <wim@fluendo.com>
1687
1688         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1689         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1690         * libs/gst/base/gstbasetransform.c:
1691         (gst_base_transform_sink_eventfunc):
1692         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1693         Don't randomly and silently reset a segment when the format 
1694         changes as this is a bug somewhere upstream. Fixes #330379.
1695
1696 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1697
1698         Patch by: Wouter Paesen  <wouter at kangaroot net>
1699
1700         * libs/gst/controller/gstcontroller.c:
1701         (gst_controlled_property_new):
1702           Fix controlling of float properties (#344849).
1703
1704         * tests/check/libs/controller.c:
1705         (gst_test_mono_source_get_property),
1706         (gst_test_mono_source_set_property),
1707         (gst_test_mono_source_class_init), (GST_START_TEST):
1708           While we're at it, add some float stuff to unit test.
1709
1710 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1711
1712         * docs/README:
1713         * docs/images/gdp-header.svg:
1714           add a gdp image
1715         * docs/libs/Makefile.am:
1716         * docs/libs/gdp-header.png:
1717         * libs/gst/dataprotocol/dataprotocol.c:
1718           add it to the API docs
1719         * docs/manual/intro-motivation.xml:
1720           fix typo
1721
1722 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1723
1724         * gst/gst.c: (scan_and_update_registry), (init_post):
1725           If the fork()'ed child process can't write the updated registry cache
1726           file to disk for some reason, make it exit with a failure exit code,
1727           so that the parent can then re-scan the plugins itself and update the
1728           registry structures in memory and work with that (rather than failing
1729           when creating elements because seemingly no plugins are available).
1730           Refactor registry scanning code into separate function for this and
1731           also separate fork() and non-fork() code paths. Fixes #344748.
1732
1733 2006-06-13  Wim Taymans  <wim@fluendo.com>
1734
1735         * docs/manual/advanced-dataaccess.xml:
1736         Fix wrong PluginDesc. Fixes #344755.
1737
1738 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1739
1740         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1741           Fix silly bug that prevented us from creating
1742           ~/.gstreamer-0.10 and writing the registry in one
1743           go (the first call to g_mkstemp() would overwrite the
1744           placeholder in the template string, so the second call
1745           to g_mkstemp() after creating the missing directory
1746           would then error out with 'invalid argument').
1747
1748 2006-06-13  Edward Hervey  <edward@fluendo.com>
1749
1750         * gst/gst.c: (init_post):
1751         Free string.
1752
1753 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1754
1755         * gst/glib-compat-private.h:
1756         * gst/glib-compat.c:
1757         * gst/glib-compat.h:
1758         * gst/gstvalue.c: (gst_value_serialize_flags):
1759           remove GLib 2.6 compatibility code
1760
1761 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
1762
1763         * gst/parse/Makefile.am:
1764           Fix build with 'make -j N' even more (#340016).
1765
1766 2006-06-12  Wim Taymans  <wim@fluendo.com>
1767
1768         * docs/gst/gstreamer-sections.txt:
1769         Fix docs.
1770
1771 2006-06-12  Wim Taymans  <wim@fluendo.com>
1772
1773         * gst/gstsegment.c: (gst_segment_set_duration),
1774         (gst_segment_set_last_stop), (gst_segment_set_seek),
1775         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1776         (gst_segment_to_running_time), (gst_segment_clip):
1777         Use G_UNLIKELY to help the compiler a bit.
1778
1779 2006-06-12  Wim Taymans  <wim@fluendo.com>
1780
1781         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1782
1783         * gst/gstevent.c: (gst_event_get_type):
1784         * gst/gstmessage.c:
1785         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1786         (gst_pad_push):
1787         constify quark registration strings. Fixes #344115
1788         Avoid unneeded type checking is _pad_push() by internally
1789         calling gst_pad_chain_unchecked().
1790
1791 2006-06-12  Wim Taymans  <wim@fluendo.com>
1792
1793         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
1794         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
1795         (gst_subbuffer_finalize), (gst_buffer_create_sub),
1796         (gst_buffer_is_span_fast), (gst_buffer_span):
1797         Init _type for consistency.
1798         Use _FLAGS macro to avoid type check.
1799         Avoid unneeded type checks in subbufer code.
1800
1801 2006-06-12  Wim Taymans  <wim@fluendo.com>
1802
1803         * gst/gst.c: (gst_debug_help):
1804         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
1805         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1806         (gst_plugin_feature_list_free):
1807         * gst/gstregistry.c: (gst_registry_add_plugin),
1808         (gst_registry_add_feature), (gst_registry_plugin_filter),
1809         (gst_registry_feature_filter), (gst_registry_find_plugin),
1810         (gst_registry_find_feature), (gst_registry_get_plugin_list),
1811         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
1812         * gst/gstregistryxml.c: (load_feature),
1813         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
1814         * gst/gstminiobject.c: (gst_mini_object_unref),
1815         (gst_mini_object_replace), (gst_value_mini_object_free),
1816         (gst_value_mini_object_copy):
1817         Use _CAST macros to avoid unneeded type checking.
1818         Added some more G_UNLIKELY.
1819
1820 2006-06-12  Wim Taymans  <wim@fluendo.com>
1821
1822         * gst/gstbuffer.h:
1823         Avoid unneeded type checking.
1824         API: GST_BUFFER_IS_DISCONT
1825
1826         * gst/gstminiobject.h:
1827         Avoid type check in flag accessor.
1828
1829         * gst/gstelementfactory.h:
1830         * gst/gstplugin.h:
1831         * gst/gstpluginfeature.h:
1832         Add _CAST macros.
1833         API: GST_ELEMENT_FACTORY_CAST
1834         API: GST_PLUGIN_CAST
1835         API: GST_PLUGIN_FEATURE_CAST
1836
1837 2006-06-12  Wim Taymans  <wim@fluendo.com>
1838
1839         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
1840         (gst_object_unref):
1841         Add G_UNLIKELY in type registration.
1842         Avoid type check in _ref/_unref since that is also
1843         done in glib.
1844
1845 2006-06-12  Wim Taymans  <wim@fluendo.com>
1846
1847         * gst/gsterror.c: (gst_g_error_get_type):
1848         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1849         (gst_static_pad_template_get_type):
1850         * gst/gsttaglist.c: (gst_tag_list_get_type):
1851         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
1852         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
1853         * gst/gsturi.c: (gst_uri_handler_get_type):
1854         * gst/gstvalue.c: (gst_date_get_type):
1855         * gst/gstxml.c: (gst_xml_get_type):
1856         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1857         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1858         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
1859         Add G_UNLIKELY in type registration.
1860
1861 2006-06-12  Wim Taymans  <wim@fluendo.com>
1862
1863         * tools/gst-inspect.c: (print_signal_info):
1864         Properly print enum values.
1865
1866 2006-06-12  Wim Taymans  <wim@fluendo.com>
1867
1868         * gst/gstinfo.c: (gst_debug_set_active),
1869         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
1870         * gst/gstinfo.h:
1871         Add some G_[UN]LIKELY.
1872         Maintain __gst_debug_min to avoid formatting the arguments of
1873         debug messages that will be dropped anyway to avoid a lot of 
1874         overhead from the debugging system.
1875
1876 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1877
1878         * po/POTFILES.in:
1879         * po/POTFILES.skip:
1880           add missing files containing translatable strings, tell intltool about
1881           one exception
1882
1883 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1884
1885         * tests/check/libs/.cvsignore:
1886         add test-binary to ignore list
1887
1888 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1889
1890         * docs/libs/gstreamer-libs-docs.sgml:
1891         reorder (put dp into a chapter) and indent
1892
1893 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1894
1895         * configure.ac:
1896           back to HEAD
1897
1898 === release 0.10.8 ===
1899
1900 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
1901
1902         * configure.ac:
1903           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
1904
1905 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1906
1907         * gst/gst.c: (init_post):
1908           move pid declaration to declaration block
1909
1910 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1911
1912         * gst/gst.c: (init_post):
1913           use _exit() instead of exit() in our forked child; this ensures
1914           that none of the registered exit handlers from whatever is using
1915           GStreamer get executed.  This fixes gnome-mixer-applet failing
1916           to load, because ORBit would shut down.
1917           Spotted by: Edward Hervey  <edward@fluendo.com>
1918           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
1919           Fixes #344474
1920
1921 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1922
1923         * configure.ac:
1924           back to TRUNK
1925
1926 === release 0.10.7 ===
1927
1928 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
1929
1930         * configure.ac:
1931           releasing 0.10.7, "Soepeke, ik zie ou"
1932
1933 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1934
1935         * configure.ac:
1936         * po/af.po:
1937         * po/az.po:
1938         * po/bg.po:
1939         * po/ca.po:
1940         * po/cs.po:
1941         * po/de.po:
1942         * po/en_GB.po:
1943         * po/fr.po:
1944         * po/it.po:
1945         * po/nb.po:
1946         * po/nl.po:
1947         * po/ru.po:
1948         * po/sq.po:
1949         * po/sr.po:
1950         * po/sv.po:
1951         * po/tr.po:
1952         * po/uk.po:
1953         * po/vi.po:
1954         * po/zh_CN.po:
1955         * po/zh_TW.po:
1956         * win32/common/config.h:
1957           0.10.6.2 prerelease
1958
1959 2006-06-07  Wim Taymans  <wim@fluendo.com>
1960
1961         * gst/gstindex.c: (gst_index_gtype_resolver):
1962         * tools/gst-xmlinspect.c: (print_plugin_info):
1963         Fix leak spotted by coverity checker. Fixes #343827
1964         Fix another other leak found by paolo borelli.
1965
1966 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1967
1968         * libs/gst/dataprotocol/dataprotocol.c:
1969         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1970         (gst_dp_version_get_type), (gst_dp_init),
1971         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1972         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1973         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1974         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1975         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1976         (gst_dp_packetizer_free):
1977         * libs/gst/dataprotocol/dataprotocol.h:
1978           API: add a GstDPPacketizer object, and create/free functions
1979           API: add GstDPVersion enum
1980           Add 1.0 event function that uses the string serialization
1981           Serialize more useful buffer flags
1982           Fixes #343988
1983
1984 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1985
1986         * tests/check/Makefile.am:
1987         * tests/check/gst/gstabi.c:
1988         * tests/check/gst/struct_ppc64.h:
1989         * tests/check/libs/libsabi.c:
1990         * tests/check/libs/struct_ppc64.h:
1991           add ppc64 structure sizes
1992
1993 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1994
1995         * tests/check/Makefile.am:
1996         * tests/check/gst/gstabi.c:
1997         * tests/check/gst/struct_x86_64.h:
1998         * tests/check/libs/libsabi.c:
1999         * tests/check/libs/struct_x86_64.h:
2000           generate and add structure size lists for x86_64
2001
2002 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2003
2004         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2005         * libs/gst/check/gstcheck.h:
2006           factor out the method from tests that checks size of structures,
2007           and add code to generate the header containing these sizes
2008         * tests/check/gst/gstabi.c: (GST_START_TEST):
2009         * tests/check/gst/struct_i386.h:
2010         * tests/check/libs/libsabi.c: (GST_START_TEST):
2011         * tests/check/libs/struct_i386.h:
2012           use it
2013
2014 2006-06-06  Michael Smith  <msmith@fluendo.com>
2015
2016         * gst/gstsegment.h:
2017           Don't use c++-style comments, fixes #343929
2018
2019 2006-06-05  Edward Hervey  <edward@fluendo.com>
2020
2021         * gst/gst.c:
2022         plugin_paths is not used if we build without registry support.
2023
2024         * gst/gstsegment.c: (gst_segment_copy): 
2025         _copy() was always returning NULL...
2026
2027 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2028
2029         * libs/gst/dataprotocol/dataprotocol.c:
2030         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2031         (gst_dp_packet_from_event):
2032           factor out CRC code
2033
2034 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2035
2036         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2037           make sure we unset caps
2038
2039 2006-06-02  Michael Smith  <msmith@fluendo.com>
2040
2041         * libs/gst/check/gstcheck.c: (gst_check_init),
2042         (gst_check_chain_func):
2043         * libs/gst/check/gstcheck.h:
2044           Add a cond/mutex to the check support lib, signal this whenever we
2045           add to the buffers list. This will allow tests to not busy-wait on
2046           the buffer-list.
2047
2048 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2049
2050         * libs/gst/dataprotocol/dataprotocol.c:
2051         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2052         (gst_dp_packet_from_event):
2053           factor out some common header init code
2054
2055 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2056
2057         * docs/libs/gstreamer-libs-sections.txt:
2058         * docs/libs/tmpl/gstdataprotocol.sgml:
2059         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2060         * libs/gst/dataprotocol/dataprotocol.h:
2061           API: make gst_dp_crc() public
2062
2063 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2064
2065         * plugins/indexers/gstindexers.c: (plugin_init):
2066         conditionally register fileindexer (fixes #343598)
2067
2068 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2069
2070         * gst/gsttagsetter.h:
2071         Can't cast ifaces to a class
2072
2073         * libs/gst/net/gstnetclientclock.h:
2074         * libs/gst/net/gstnettimeprovider.h:
2075         * plugins/elements/gstfakesink.h:
2076         * plugins/elements/gstfakesrc.h:
2077         * plugins/elements/gstfdsink.h:
2078         * plugins/elements/gstfdsrc.h:
2079         * plugins/elements/gstfilesink.h:
2080         * plugins/elements/gstfilesrc.h:
2081         * plugins/elements/gstidentity.h:
2082         * plugins/elements/gstqueue.h:
2083         * plugins/elements/gsttee.h:
2084         * plugins/indexers/gstfileindex.c:
2085         * plugins/indexers/gstmemindex.c:
2086         * tests/old/examples/plugins/example.h:
2087         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2088
2089 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2090
2091         * libs/gst/dataprotocol/dataprotocol.c:
2092         (gst_dp_header_from_buffer):
2093           make sure we zero the whole ABI-compatible area
2094
2095 2006-06-01  Wim Taymans  <wim@fluendo.com>
2096
2097         Patch by: Alessandro Decina <alessandro at nnva dot org>
2098
2099         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2100         Make sure the EOS flag is cleared from pads after a flush
2101         or stop. Fixes #343538.
2102
2103         * tests/check/libs/collectpads.c: (GST_START_TEST),
2104         (gst_collect_pads_suite):
2105         Added test for collectpads reusage after EOS.
2106
2107 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
2108
2109         * gst/gst.c:
2110          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2111         * win32/common/libgstbase.def:
2112          export gst_collect_pads_set_flushing
2113         * win32/common/libgstreamer.def:
2114          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2115          gst_value_fraction_multiply
2116         * win32/vs6/gst_inspect.dsp:
2117          add a link to intl.lib
2118
2119 2006-05-30  Wim Taymans  <wim@fluendo.com>
2120
2121         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2122         (gst_collect_pads_chain):
2123         Handle the case where a pad is removed from the collection
2124         that could cause the other pads to become collectable.
2125
2126 2006-05-30  Wim Taymans  <wim@fluendo.com>
2127
2128         * gst/gstelement.c:
2129         Clarify the use of _release_request_pad() and
2130         _get_request_pad() a bit better.
2131
2132         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
2133         (gst_adapter_take_buffer):
2134         Fix some doc and comment typos.
2135
2136 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2137
2138         * docs/gst/gstreamer-sections.txt:
2139         * docs/libs/gstreamer-libs-sections.txt:
2140           add declared symbols
2141
2142 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
2143
2144         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2145         Add debug that can be enabled using a #define at the top of the file,
2146         for dumping stats about how late/early we were when waking up from
2147         waiting on the clock.
2148
2149 2006-05-30  Wim Taymans  <wim@fluendo.com>
2150
2151         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
2152         When rebuilding the pad list, don't leak the previous list.
2153
2154 2006-05-30  Wim Taymans  <wim@fluendo.com>
2155
2156         Patch by: Lutz Mueller <lutz at topfrose dot de>
2157
2158         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2159         (gst_base_src_get_query_types), (gst_base_src_update_length):
2160         Publish supported query types.
2161         Update last_stop field in get_range mode so the position
2162         query works. Fixes #342321.
2163
2164 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
2165
2166         * docs/gst/gstreamer-sections.txt:
2167         * gst/gsttaglist.c: (_gst_tag_initialize):
2168         * gst/gsttaglist.h:
2169           API: add GST_TAG_PREVIEW_IMAGE (#343341).
2170
2171 2006-05-30  Wim Taymans  <wim@fluendo.com>
2172
2173         Patch by: Alessandro Decina <alessandro at nnva dot org>
2174
2175         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2176         Unlock mutex when removing an unknown pad.
2177         Fixes #343334.
2178
2179         * tests/check/Makefile.am:
2180         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
2181         (push_event), (setup), (teardown), (GST_START_TEST),
2182         (gst_collect_pads_suite), (main):
2183         Added collecpads check, disabled for now as check crashes for
2184         some reason.
2185
2186 2006-05-29  Wim Taymans  <wim@fluendo.com>
2187
2188         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
2189         Don't leak pads lists.
2190
2191 2006-05-29  Wim Taymans  <wim@fluendo.com>
2192
2193         * docs/libs/gstreamer-libs-sections.txt:
2194         * libs/gst/base/gstcollectpads.c:
2195         (gst_collect_pads_set_flushing_unlocked),
2196         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2197         (gst_collect_pads_stop):
2198         * libs/gst/base/gstcollectpads.h:
2199         API: gst_collect_pads_set_flushing()
2200         Added api to set the pads to flushing, useful for seeking
2201         code in elements using collectpads.
2202         Clear segment when receiving a flush.
2203
2204 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
2205
2206         * gst/gst.c: (add_path_func), (init_post):
2207           Don't scan registry paths passed via --gst-plugin-path immediately
2208           (will crash, because absolutely nothing is set up and no types are
2209           registered etc.); do this later in init_post(). Fixes #343057.
2210
2211 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2212
2213         * gst/gst.c: (init_post):
2214           if we have fork, fork while reading/rebuilding the registry
2215           so the parent doesn't take the hit of having all plugins loaded
2216           in memory.  Fixes #342777.
2217         * configure.ac:
2218           Check if we have fork()
2219         * win32/common/config.h.in:
2220           no fork() on win32
2221
2222 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2223
2224         * plugins/elements/gstelements.c:
2225         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2226         (gst_file_src_init), (gst_file_src_set_property),
2227         (gst_file_src_get_property), (gst_file_src_start):
2228         * plugins/elements/gstfilesrc.h:
2229           API: GstFileSrc::use-mmap
2230
2231         Add a use-mmap property to enable easier testing of all code paths.
2232         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
2233         in the absence of gnomevfssrc. (Closes #340501)
2234
2235 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2236
2237         * tools/gst-inspect.c:
2238         Add missing include, removes warning of ngettext not being defined on
2239         some arches.
2240
2241 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2242
2243         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2244         Handle NULL input and output pointers silently as a failed conversion,
2245         rather than g_warnings.
2246
2247 2006-05-25  Wim Taymans  <wim@fluendo.com>
2248
2249         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
2250         Initialize variable before using. Fixes #342820.
2251
2252 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2253
2254         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
2255           Fix off-by-one bug that would only allow peeks of N-1 bytes
2256           from the start even if the buffer to typefind on contains
2257           in fact N bytes of data (makes vorbis typefinding from a
2258           vorbis identification header buffer work).
2259
2260         * tests/check/Makefile.am:
2261         * tests/check/libs/.cvsignore:
2262         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
2263         (gst_typefindhelper_suite), (main), (foobar_typefind),
2264         (plugin_init):
2265           Add very basic unit test for gst_type_find_helper_for_buffer()
2266           that checks for the problem fixed above.
2267
2268 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2269
2270         * tools/gst-inspect.c: (print_interfaces),
2271         (print_element_properties_info), (print_element_list), (main):
2272           add more translatable strings
2273
2274 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
2275
2276         Patch by: Julien Moutte  <julien at moutte net>
2277
2278         * docs/gst/gstreamer-sections.txt:
2279           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
2280           
2281         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2282         (gst_fake_sink_preroll):
2283         * plugins/elements/gstfakesink.h:
2284           API: Add new GstFakeSink::preroll-handoff signal (#337100).
2285
2286 2006-05-23  Wim Taymans  <wim@fluendo.com>
2287
2288         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
2289         * gst/gstpad.h:
2290         Added _CUSTOM error and success GstFlowReturn that can be
2291         used be elements internally. 
2292         Added macro to check for SUCCESS flowreturns.
2293         API: GST_FLOW_CUSTOM_SUCCESS
2294         API: GST_FLOW_CUSTOM_ERROR
2295         API: GST_FLOW_IS_SUCCESS
2296
2297         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2298         Added check for GstFlowReturn sanity.
2299
2300 2006-05-23  Wim Taymans  <wim@fluendo.com>
2301
2302         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2303
2304         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2305         (gst_collect_pads_event):
2306         clear/reset segment info in FLUSH_STOP.
2307         Fixes #336929.
2308
2309 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
2310
2311         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
2312         (gst_collect_pads_check_collected):
2313         Flush queued buffer on _stop(), fixes playing again (#342454)
2314
2315 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2316
2317         * tests/check/gst/gststructure.c: (GST_START_TEST),
2318         (gst_structure_suite):
2319           add a test for a complete structure
2320
2321 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2322
2323         * docs/faq/developing.xml:
2324         * docs/faq/faq.xml:
2325         * docs/faq/troubleshooting.xml:
2326         * docs/faq/using.xml:
2327           Some minor FAQ updates that won't change the fact that
2328           our FAQ is badly structured, full of information hardly
2329           anyone new to GStreamer needs to know and lacking lots
2330           of information people constantly ask for.
2331           
2332 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
2333
2334         * gst/gstpad.c: (gst_pad_set_caps):
2335           Short-circuit gst_pad_set_caps if setting the existing
2336           caps pointer again, and avoid printing debug and 
2337           reffing/unreffing the caps.
2338
2339         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2340           There's actually no need to set the caps before pushing -
2341           the acceptcaps method will handle it anyway.
2342
2343 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2344
2345         * docs/gst/gstreamer-sections.txt:
2346         * win32/common/libgstreamer.def:
2347         * gst/gstutils.c: (gst_element_seek_simple):
2348         * gst/gstutils.h:
2349           API: add gst_element_seek_simple() (#342238).
2350
2351 2006-05-18  Edward Hervey  <edward@fluendo.com>
2352
2353         * gst/gsttypefind.c: (gst_type_find_get_type):
2354         * gst/gsttypefind.h:
2355         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
2356         registered for GstTypeFind pointers. This allows wrapping the structure
2357         in bindings (i.e. gst-python).
2358
2359 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2360
2361         * gst/gsttagsetter.c:
2362           Docs additions and fixes (see #339918).
2363
2364 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2365
2366         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2367         The caps intersection algorithm can produce multiple copies of the
2368         caps. Until that is fixed, we need to simplify the result to be
2369         sure whether the allowed caps are fixed or not.
2370
2371         * plugins/elements/gstqueue.c: (gst_queue_init),
2372         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
2373         (gst_queue_push_one):
2374         Proxied buffer alloc should not set the caps on the source pad.
2375         When pushing buffers, we always accept the caps change that triggers.
2376         This prevents negotiation errors caused by caps changing mid-stream 
2377         and then being refused on our source pad (because upstream is now
2378         refusing those caps).
2379
2380 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2381
2382         * tests/examples/helloworld/helloworld.c: (main):
2383           Must plug audioconvert and audioresample between decoder
2384           and audio sink.
2385
2386 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
2387
2388         * gst/gstregistryxml.c: (read_string), (load_pad_template),
2389         (load_feature), (load_plugin):
2390         Allow empty strings for some of the plugin fields so we don't 
2391         drop valid plugin entries that were written out correctly
2392         (Fixes #341479)
2393
2394 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
2395         
2396         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2397           Use g_remove and g_rename instead of remove and rename that don't 
2398           handle utf8 characters. rename was failing for users who had specific
2399           characters in their name then the registry was built at each 
2400           gstreamer init.
2401         * win32/vs6/gst_inspect.dsp:
2402         * win32/vs6/gst_launch.dsp:
2403         * win32/vs6/libgstbase.dsp:
2404         * win32/vs6/libgstcoreelements.dsp:
2405         * win32/vs6/libgstreamer.dsp:
2406           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
2407           build of libgstreamer and clean unused libraries in projects link 
2408           settings.
2409
2410 2006-05-17  Edward Hervey  <edward@fluendo.com>
2411
2412         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2413         The queue is not responsible for pushing an EOS when receiving a fatal
2414         flow error. It's up to the real element driving the pipeline to do that.
2415
2416 2006-05-16  Edward Hervey  <edward@fluendo.com>
2417
2418         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2419         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
2420         buffer returned a fatal error. It should just send an EOS and stop
2421         its task.
2422         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
2423         when pushing buffers on the queue and will be able to handle the event.
2424
2425 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2426
2427         * docs/manual/basics-bins.xml:
2428         * docs/manual/basics-init.xml:
2429           Fix typos and minor errors in sample code (#341856).
2430
2431 2006-05-16  Wim Taymans  <wim@fluendo.com>
2432
2433         * docs/design/part-qos.txt:
2434         Fix indexes in formulas to make more sense.
2435
2436 2006-05-15  Wim Taymans  <wim@fluendo.com>
2437
2438         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2439         Don't report POSITION based on clock time if sync is
2440         disabled in a sink.
2441
2442 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
2443
2444         * gst/gstobject.h:
2445           Add cast to make compiler happy - refcount variable was a gint
2446           in GstObject but is a guint in GObject and g_atomic_int_get()
2447           wants a gint *.
2448
2449 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2450
2451         * gst/parse/Makefile.am:
2452           chain commands using &&, which also makes parallel make work
2453
2454 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
2455
2456         * docs/gst/gstreamer-sections.txt:
2457         * gst/gstevent.c:
2458         * gst/gstevent.h:
2459         * gst/gstmessage.h:
2460           Minor docs fixes.
2461
2462 === release 0.10.6 ===
2463
2464 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
2465
2466         * configure.ac:
2467           releasing 0.10.6, "Take the cannoli"
2468
2469 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2470
2471         * tools/gst-launch.c: (print_tag):
2472           Fix use of uninitialized variable in the hypothetical
2473           case that some broken plugin creates a GST_TAG_IMAGE
2474           tag containing a NULL buffer (#341667).
2475
2476 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2477
2478         * tools/gst-launch.c: (print_tag):
2479           Print something more intelligible for image tags when
2480           using the -t switch (#341556).
2481
2482 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2483
2484         * Makefile.am:
2485           updates for win32
2486         * configure.ac:
2487           define GST_MAJORMINOR so we have it available in win32/common/config.h
2488           Possibly remove it from our Makefile.am files later
2489         * win32/common/config.h:
2490         * win32/common/config.h.in:
2491           added GST_MAJORMINOR
2492         * win32/common/gstenumtypes.c: (register_gst_resource_error):
2493         * win32/common/gstversion.h:
2494           updated
2495
2496 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
2497
2498         * win32/MANIFEST:
2499           Update win32 files listing.
2500         * win32/common/gstversion.h:
2501           Add GST_MAJORMINOR definition.
2502         * win32/common/libgstreamer.def:
2503           Add new exported functions.
2504           
2505 2006-05-12  Michael Smith  <msmith@fluendo.com>
2506
2507         * gst/gstplugin.c: (gst_plugin_load_file):
2508           If an so file has no plugin entry point, unload the module.
2509
2510 2006-05-11  Wim Taymans  <wim@fluendo.com>
2511
2512         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
2513         (gst_queue_set_property):
2514         Don't forget to signal the _chain or _loop function 
2515         when the queue size or thresholds change since that might
2516         cause them to make progres again.
2517
2518 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
2519
2520         * gst/gstclock.c: (gst_clock_class_init):
2521         * gst/gstindex.c: (gst_index_class_init):
2522         * gst/gstobject.c: (gst_object_class_init):
2523         * gst/gstpad.c: (gst_pad_class_init):
2524         * gst/gstpipeline.c: (gst_pipeline_class_init):
2525         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2526         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2527         * libs/gst/base/gstbasetransform.c:
2528         (gst_base_transform_class_init):
2529         * libs/gst/net/gstnetclientclock.c:
2530         (gst_net_client_clock_class_init):
2531         * libs/gst/net/gstnettimeprovider.c:
2532         (gst_net_time_provider_class_init):
2533         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2534         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2535         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2536         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2537         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2538         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2539         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2540         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2541         * plugins/elements/gsttee.c: (gst_tee_class_init):
2542         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2543         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2544           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2545
2546 2006-05-11  Wim Taymans  <wim@fluendo.com>
2547
2548         * gst/gstbuffer.c: (_gst_buffer_initialize):
2549         Register subbufer along with the buffer type so that
2550         it does not accidentally gets registered from N
2551         different streaming threads in a non threadsafe way.
2552
2553 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2554
2555         * gst/gstbuffer.h:
2556         * gst/gstevent.h:
2557         * gst/gstmessage.h:
2558           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
2559           gst_event_ref() and gst_message_ref() functions again
2560           (ugly hack, please do fix if there's a better way besides
2561           overrides.txt, which doesn't seem to work).
2562
2563 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2564
2565         * libs/gst/check/gstcheck.h:
2566           add an assert for setting state to avoid lots of repetitive code
2567           in the future
2568
2569 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2570
2571         * gst/gstvalue.c: (gst_value_serialize_flags):
2572           fix a leak if no flags are set
2573         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2574           fix leak in tests
2575
2576 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2577
2578         * docs/manual/basics-pads.xml:
2579           Expand a bit on caps and filtered links and update
2580           examples that were still using the no longer existing
2581           gst_pad_link_filtered() (#338206).
2582
2583 2006-05-10  Wim Taymans  <wim@fluendo.com>
2584
2585         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2586         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2587         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2588         (gst_collect_pads_stop):
2589         * libs/gst/base/gstcollectpads.h:
2590         No need to call _stop in _finalize.
2591         Iterate the main pad list in _finalize.
2592         Added some more debug.
2593         Free lists and data in the right order.
2594         Also free data whem doing _remove_pad when stopped for
2595         backward compatibility protect ::started with PAD_LOCK as
2596         well.
2597
2598 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2599
2600         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
2601         (gst_structure_parse_value):
2602           add some comments
2603           rename a method so that it actually says what it does better
2604
2605 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2606
2607         * gst/gstevent.c: (_gst_event_initialize):
2608         * gst/gstformat.c: (_gst_format_initialize):
2609           make sure some essential types used by events are registered
2610           as part of gst_init()
2611         * gst/gstvalue.c: (gst_value_serialize_flags):
2612           if no flags are set, serialize them to a value that represents NONE
2613           so that deserializing them works
2614         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2615           add tests for serialization and deserialization of flags
2616
2617 2006-05-10  Wim Taymans  <wim@fluendo.com>
2618
2619         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
2620         (gst_collect_pads_collect_range), (gst_collect_pads_available),
2621         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
2622         (gst_collect_pads_event), (gst_collect_pads_chain):
2623         Update docs.
2624         Better debug info.
2625         Catch and return errors from the collect function
2626         Refuse data on eos pads.
2627
2628 2006-05-10  Edward Hervey  <edward@fluendo.com>
2629
2630         * gst/gstinterface.h:
2631         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
2632         GInterface type checking.
2633         They were previously using non-defined macros.
2634
2635 2006-05-09  Wim Taymans  <wim@fluendo.com>
2636
2637         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
2638         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
2639         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
2640         (gst_collect_pads_start), (gst_collect_pads_stop),
2641         (gst_collect_pads_peek), (gst_collect_pads_pop),
2642         (gst_collect_pads_available), (gst_collect_pads_read),
2643         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
2644         (gst_collect_pads_is_collected), (gst_collect_pads_event),
2645         (gst_collect_pads_chain):
2646         * libs/gst/base/gstcollectpads.h:
2647         Clean up the mess that is collectpads, add comments and
2648         FIXMEs where needed.
2649         Maintain a separate pad list so we can add pads while
2650         collecting the other ones. For this we need a new separate 
2651         lock (see comics).
2652         Fix memory leak in finalize.
2653         Refactor some weird code to set/unset pad flushing flags, mark
2654         with comments.
2655         Don't crash in _available, _read, _flush when we're EOS.
2656
2657         * tests/check/libs/.cvsignore:
2658         Ignore adapter check binary.
2659
2660 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2661
2662         * gst/gstindex.c: (gst_index_resolver_get_type):
2663         * plugins/elements/gstfakesink.c:
2664         (gst_fake_sink_state_error_get_type):
2665         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2666         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
2667         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2668           Const-ify GEnumValue arrays.
2669
2670 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2673           Add test case for flags + gst_buffer_make_metadata_writable().
2674
2675 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2676
2677         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
2678           gst_buffer_make_metadata_writable() should maintain the
2679           buffer flags (those that make sense at least) (see #340859).
2680
2681 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2682
2683         * tools/gst-inspect.c:
2684         * tools/gst-launch.c:
2685         * tools/gst-typefind.c:
2686         * tools/gst-xmlinspect.c:
2687         * tools/tools.h:
2688           Fix up includes: need to include stdlib.h in tools.h for exit().
2689
2690 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2691
2692         * gst/gsttaglist.c: (_gst_tag_initialize):
2693         * gst/gsttaglist.h:
2694           API: add GST_TAG_IMAGE tag (#340721).
2695
2696 2006-05-08  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/gstquery.c:
2699         Added some docs for the segment query.
2700
2701 2006-05-08  Wim Taymans  <wim@fluendo.com>
2702
2703         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2704         (gst_base_src_loop), (gst_base_src_change_state):
2705         Always push non-flushing serialized events in the streaming 
2706         thread.
2707
2708 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2709
2710         * gst/gsterror.c: (_gst_stream_errors_init):
2711           Add a missing error string.
2712
2713 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
2714
2715         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
2716         Add applied_rate to the debug
2717
2718         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2719         Copy applied_rate into the outgoing NEWSEGMENT event
2720
2721 2006-05-08  Wim Taymans  <wim@fluendo.com>
2722
2723         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
2724
2725         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
2726         (gst_base_sink_change_state):
2727         call ::unlock before taking the PREROLL_LOCK so we can safely
2728         handle elements that lock in ::render.
2729         Fixes #340174.
2730
2731 2006-05-08  Edward Hervey  <edward@fluendo.com>
2732
2733         * autogen.sh: (CONFIGURE_DEF_OPT): 
2734         Darwin's libtoolize is in fact called glibtoolize.
2735         Adding glibtoolize to the list of accepted names for libtoolize.
2736
2737 2006-05-08  Wim Taymans  <wim@fluendo.com>
2738
2739         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2740         Unify error handling, don't post an error message
2741         when a push() returns EOS but perform our normal EOS
2742         handling code. Fixes #340772.
2743
2744 2006-05-08  Wim Taymans  <wim@fluendo.com>
2745
2746         * docs/design/part-overview.txt:
2747         Make upsteam/downstream concepts more clear.
2748         Give an example of serialized/non-serialized events.
2749
2750         * docs/design/part-events.txt:
2751         * docs/design/part-streams.txt:
2752         Mention applied_rate.
2753
2754         * docs/design/part-trickmodes.txt:
2755         Mention applied rate, flesh out some more use cases.
2756
2757         * gst/gstevent.c: (gst_event_new_new_segment),
2758         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
2759         (gst_event_parse_new_segment_full), (gst_event_new_tag),
2760         (gst_event_parse_tag), (gst_event_new_buffer_size),
2761         (gst_event_parse_buffer_size), (gst_event_new_qos),
2762         (gst_event_parse_qos), (gst_event_parse_seek),
2763         (gst_event_new_navigation):
2764         * gst/gstevent.h:
2765         Add applied_rate field to NEWSEGMENT event.
2766         API: gst_event_new_new_segment_full()
2767         API: gst_event_parse_new_segment_full()
2768
2769         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
2770         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
2771         (gst_segment_to_stream_time), (gst_segment_to_running_time):
2772         * gst/gstsegment.h:
2773         Add applied_rate to GstSegment structure.
2774         Make calculation of stream_time and running_time more correct
2775         wrt rate/applied_rate.
2776         Add some more docs.
2777         API: GstSegment::applied_rate field
2778         API: gst_segment_set_newsegment_full();
2779
2780         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2781         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
2782         * libs/gst/base/gstbasetransform.c:
2783         (gst_base_transform_sink_eventfunc),
2784         (gst_base_transform_handle_buffer):
2785         Parse and use applied_rate in the GstSegment field.
2786
2787         * tests/check/gst/gstevent.c: (GST_START_TEST):
2788         Add check for applied_rate field.
2789
2790         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2791         (gstsegments_suite):
2792         Add more checks for various GstSegment operations.
2793
2794 2006-05-08  Wim Taymans  <wim@fluendo.com>
2795
2796         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2797         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
2798         (gst_base_sink_get_position), (gst_base_sink_change_state):
2799         Store the sync time of the buffer end position separatly in a
2800         new variable eos_rtime so we can properly sync the EOS event.
2801         Fixes #340697.
2802         Fix the docs for gst_base_sink_set_qos_enabled().
2803         Don't set segment start to invalid value when we receive a 
2804         non TIME newsegment.
2805         get closer to handling position reporting for negative rates 
2806         correctly.
2807
2808 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2809
2810         * gst/gstcaps.c:
2811         Docs about how to print caps for debug purposes.
2812
2813         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
2814         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
2815
2816 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2817
2818         * gst/gstelement.c:
2819           use full enum names and preprend a '%' in docs strings to make recent 
2820           gtk-doc turn that into a link
2821
2822 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2823
2824         * docs/manual/basics-bins.xml:
2825         * docs/manual/basics-bus.xml:
2826         * docs/manual/basics-pads.xml:
2827           Some typo fixes, some additions, some clarifications. 
2828
2829 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2830
2831         * tools/gst-inspect.c: (main):
2832         * tools/gst-launch.c: (main):
2833         * tools/gst-run.c: (main):
2834         * tools/gst-typefind.c: (main):
2835         * tools/gst-xmlinspect.c: (main):
2836           Use the string passed to g_option_context_new() for
2837           what it's intended for - the program name is already
2838           printed elsewhere.
2839
2840 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2841
2842         * tools/Makefile.am:
2843         * tools/gst-inspect.c: (main):
2844         * tools/gst-launch.c: (main):
2845         * tools/gst-xmlinspect.c: (main):
2846         * tools/tools.h:
2847           Add back --version command line option (#340460).
2848
2849         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
2850           Add --version option and use GOption for argument parsing; refactor a
2851           bit; accept directories as arguments and recurse into them; lastly,
2852           print a decent error message when things go wrong.
2853
2854 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2855
2856         * docs/manual/basics-bins.xml:
2857         Don't mention GstThread (#340611)
2858         * docs/manual/basics-elements.xml:
2859         Update link to GObject tutorial (#340607)
2860         
2861 2006-05-05  Wim Taymans  <wim@fluendo.com>
2862
2863         * gst/gstbuffer.h:
2864         * gst/gstminiobject.c:
2865         Add note about refcounting and miniobject/buffer writeability
2866         to docs. Fixes #340604
2867
2868         * gst/gstelementfactory.h:
2869         Added some explanation about @klass.
2870
2871 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2872
2873         * docs/manual/intro-motivation.xml:
2874         * docs/manual/manual.xml:
2875         Avoid CORBA & Bonobo references (#340598)
2876
2877 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2878
2879         * docs/manual/basics-bus.xml:
2880         * docs/manual/basics-pads.xml:
2881         Fix up some inaccuracies and omissions (#340609)
2882         
2883 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2884
2885         * gst/gstghostpad.c:
2886           Small typo in docs (#340625)
2887
2888 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2889
2890         * gst/parse/Makefile.am:
2891           Make 'make -j' proof (see #340698).
2892
2893 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2894
2895         * configure.ac:
2896           Require GLib-2.8 here as well.
2897
2898 2006-05-05  Wim Taymans  <wim@fluendo.com>
2899
2900         * gst/glib-compat.c:
2901         * gst/gst.c: (init_pre):
2902         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2903         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
2904         (gst_object_dispatch_properties_changed):
2905         * gst/gstobject.h:
2906         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2907         * gst/gststructure.c: (gst_structure_set_valist):
2908         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2909         Remove pre glib2.8 compatibility, fixes #340508
2910
2911 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2912
2913         * gst/gsttaglist.h:
2914           Mention type of tags in doc blurbs.
2915
2916 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
2917
2918         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2919         (gst_pad_configure_src), (gst_pad_push):
2920         Restore acceptcaps checking behaviour now that good plugins have
2921         been released.
2922
2923 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2924
2925         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
2926
2927         * gst/gst.c:
2928         * gst/gstbus.c:
2929         * gst/gstclock.c:
2930         * gst/gstevent.c:
2931         * gst/gstformat.c:
2932         * gst/gstmessage.c:
2933         * gst/gstparse.c:
2934         * gst/gstquery.c:
2935         * gst/gstutils.c:
2936         * gst/parse/Makefile.am:
2937         * libs/gst/base/gstadapter.c:
2938         * libs/gst/base/gstbasesrc.c:
2939         * libs/gst/base/gstpushsrc.c:
2940         * libs/gst/base/gsttypefindhelper.c:
2941         * plugins/elements/gstfakesrc.c:
2942         * plugins/elements/gstidentity.c:
2943           Make sure gstprivate.h and/or config.h are
2944           always included first, otherwise some of our
2945           defines (like _FILE_OFFSET_BITS) might be
2946           redefined in the system headers. Fixes build
2947           on opensolaris (#340016).
2948
2949 2006-05-04  Wim Taymans  <wim@fluendo.com>
2950
2951         * docs/libs/gstreamer-libs-sections.txt:
2952         API: addition: gst_adapter_take_buffer()
2953         
2954         * libs/gst/base/gstadapter.c: (gst_adapter_push),
2955         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
2956         (gst_adapter_available_fast):
2957         * libs/gst/base/gstadapter.h:
2958         Prepare for optimizing the hell out of this hugely inefficient
2959         piece of code. 
2960         Added gst_adapter_take_buffer() so we can at least start thinking
2961         about subbuffering and merging.
2962         Added some comments.
2963
2964         * tests/check/Makefile.am:
2965         * tests/check/libs/adapter.c: (GST_START_TEST),
2966         (gst_adapter_suite), (main):
2967         Added GstAdapter check.
2968
2969 2006-05-04  Wim Taymans  <wim@fluendo.com>
2970
2971         * docs/design/part-overview.txt:
2972         Fix some typos, add blurb about buffer flags.
2973
2974 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2975
2976         * docs/libs/gstreamer-libs-sections.txt:
2977           make sure GstBaseTransformClass shows up in the docs
2978         * libs/gst/base/gstbasetransform.c:
2979         * libs/gst/base/gstbasetransform.h:
2980           move docs so gtk-doc picks it up now
2981
2982 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2983
2984         * docs/libs/gstreamer-libs-sections.txt:
2985           add missing symbols to docs
2986
2987 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2988
2989         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2990           back out the newsegment handling change, see #340060 for ongoing
2991           discussion
2992
2993 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2994
2995         * tools/gst-run.c: (get_candidates), (main):
2996           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2997           work); fix typo in error message. Fixes #340079.
2998
2999 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3000
3001         * common/Makefile.am:
3002         * docs/Makefile.am:
3003         * docs/faq/Makefile.am:
3004         * docs/gst/Makefile.am:
3005         * docs/libs/Makefile.am:
3006         * docs/manual/Makefile.am:
3007         * docs/plugins/Makefile.am:
3008         * docs/pwg/Makefile.am:
3009         * docs/slides/Makefile.am:
3010         * docs/upload.mak:
3011         * common/upload.mak:
3012           move upload.mak to common
3013
3014 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3015
3016         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3017           add more asserts on refcounts
3018           do more cleanup at end of tests
3019           fix test leaks showing in FC5
3020
3021 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3022
3023         * plugins/elements/gsttypefindelement.c:
3024         (gst_type_find_element_handle_event):
3025         reverted wrong change and reflowed code to avoid others falling into
3026         this trap
3027
3028 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3029
3030         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3031           fix changelog entry about last collectpads change,
3032           add notes about proper fix
3033
3034 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3035
3036         * gst/gst.c:
3037         * gst/gstregistry.c: (gst_registry_scan_path_level),
3038         (gst_registry_scan_path):
3039         * gst/gstregistry.h:
3040           only write out registry if it has changed, fixes #338339
3041
3042 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3043
3044         * gst/gstbin.c:
3045         * gst/gstpipeline.c:
3046         * plugins/elements/gstcapsfilter.c:
3047         * plugins/elements/gstfakesink.c:
3048         * plugins/elements/gstfakesrc.c:
3049         * plugins/elements/gstfdsink.c:
3050         * plugins/elements/gstfdsrc.c:
3051         * plugins/elements/gstfilesink.c:
3052         * plugins/elements/gstfilesrc.c:
3053         * plugins/elements/gstidentity.c:
3054         * plugins/elements/gstqueue.c:
3055         * plugins/elements/gsttee.c:
3056         * plugins/elements/gsttypefindelement.c:
3057         (gst_type_find_element_handle_event):
3058           make GstElementDetails const
3059
3060 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3061
3062         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3063         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3064         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3065           more detailed debug and formatting cleanup,
3066           forward newsegments to src-pad (so that e.g. adder not eats them)
3067
3068 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3069
3070         * gst/gstutils.c: (gst_element_link_pads):
3071           cleanup double code
3072
3073 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3074
3075         * libs/gst/controller/gstcontroller.c:
3076         (gst_controller_sync_values):
3077           some little tuning
3078         * tests/check/libs/controller.c: (GST_START_TEST),
3079         (gst_controller_suite):
3080           a new test for live value handling
3081
3082 2006-04-28  Wim Taymans  <wim@fluendo.com>
3083
3084         * gst/gstutils.c: (push_and_ref):
3085         Added some more docs.
3086         Fix refcount issue whith gst_element_found_tags() helper 
3087         function. Fixes #338335
3088
3089         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3090         Added testsuite for gst_element_found_tags().
3091
3092 2006-04-28  Michael Smith  <msmith@fluendo.com>
3093
3094         * gst/gstvalue.c: (gst_value_serialize_flags):
3095           Avoid NULL dereference when trying to serialize flags containing
3096           invalid values.
3097
3098 2006-04-28  Michael Smith  <msmith@fluendo.com>
3099
3100         * plugins/elements/gsttypefindelement.c:
3101         (gst_type_find_element_handle_event):
3102           If we get EOS before any data is accumulated, don't use
3103           uninitialised local variables.
3104
3105 2006-04-28  Michael Smith  <msmith@fluendo.com>
3106
3107         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3108         (gst_dp_event_from_packet):
3109           Fixes in reading/writing events over GDP (not currently used?) - 
3110           dereferencing NULL events for unknown/invalid event types, memory
3111           leak, and change g_warning to GST_WARNING.
3112
3113 2006-04-28  Wim Taymans  <wim@fluendo.com>
3114
3115         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3116         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3117         (gst_base_sink_get_position), (gst_base_sink_change_state):
3118         When frame dropping is enabled, we should not ignore frames
3119         without a duration.
3120         Update some documentation.
3121
3122 2006-04-28  Wim Taymans  <wim@fluendo.com>
3123
3124         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3125         (gst_base_src_send_event), (gst_base_src_change_state):
3126         Documentation updates.
3127
3128 2006-04-28  Wim Taymans  <wim@fluendo.com>
3129
3130         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3131         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
3132         handle EAGAIN, EINTR and short writes correctly. Also clean
3133         up some error cases, avoid a deadlock on bad file descriptors and
3134         use GST_DEBUG_OBJECT.
3135         Fixes #339843
3136
3137 2006-04-28  Wim Taymans  <wim@fluendo.com>
3138
3139         * gst/gstvalue.c: (gst_value_serialize_buffer),
3140         (gst_value_deserialize_buffer):
3141         Don't try to serialize a GValue with a NULL buffer. 
3142         Fixes #339821.
3143
3144         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3145         Added check for serialisation of NULL buffers.
3146
3147 2006-04-28  Wim Taymans  <wim@fluendo.com>
3148
3149         * gst/gstminiobject.c: (gst_value_take_mini_object):
3150         Taking a NULL miniobject is valid, fix the case where
3151         we try to unref the NULL miniobject.
3152
3153 2006-04-28  Wim Taymans  <wim@fluendo.com>
3154
3155         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3156
3157         * gst/gstbin.c: (gst_bin_handle_message_func):
3158         Update docs.
3159         Don't leak bin refcount when a state recalc is
3160         in progress and we delay another one #339808.
3161
3162 2006-04-28  Wim Taymans  <wim@fluendo.com>
3163
3164         * docs/design/part-TODO.txt:
3165         Mention QoS as an ongoing work item.
3166
3167         * docs/design/part-buffering.txt:
3168         New doc about buffering that needs to be fleshed out
3169         at some point.
3170
3171         * docs/design/part-qos.txt:
3172         More QoS policy for decoders/demuxers/transforms
3173
3174         * docs/design/part-trickmodes.txt:
3175         Small update.
3176
3177 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3178
3179         * configure.ac:
3180           back to HEAD
3181
3182 === release 0.10.5 ===
3183
3184 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
3185
3186         * configure.ac:
3187           releasing 0.10.5, "Fogo"
3188
3189 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3190
3191         patch by: Wim Taymans
3192
3193         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3194         (gst_pad_configure_src), (gst_pad_push):
3195         * gst/gstpipeline.c: (gst_pipeline_init):
3196           Fix internal data flow errors.  Fixes #338711.
3197
3198 2006-04-12  Wim Taymans  <wim@fluendo.com>
3199
3200         * tests/check/gst/gstelement.c: (GST_START_TEST):
3201         Don't leak the factory.
3202
3203 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3204
3205         * configure.ac:
3206         * win32/common/config.h:
3207           prerelease
3208
3209 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3210
3211         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3212         (gst_controller_unset_all):
3213           Free allocated GstTimedValues when freeing list nodes.
3214           Should fix leaks 'make check-valgrind' complains about.
3215
3216         * win32/common/libgstcontroller.def:
3217           Add gst_controller_unset_all.
3218
3219 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
3220
3221         * docs/libs/gstreamer-libs-sections.txt:
3222         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3223         (gst_controller_unset_all):
3224         * libs/gst/controller/gstcontroller.h:
3225         API: Added new method gst_controller_unset_all()
3226         fixed gst_controller_unset()
3227         * tests/check/libs/controller.c: (GST_START_TEST),
3228         (gst_controller_suite):
3229         Added two testcases for new and fixed method
3230
3231 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
3232
3233         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3234           MSG_DONTWAIT is not defined on Cygwin, so work
3235           around that (fixes #317048).
3236           
3237 2006-04-11  Wim Taymans  <wim@fluendo.com>
3238
3239         * gst/gstelementfactory.c: (gst_element_register),
3240         (gst_element_factory_create), (gst_element_factory_make):
3241         Some cleanups.
3242         Fixed a FIXME.
3243         Updated docs (Fixes #131079)
3244
3245         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3246         Small cleanups.
3247
3248         * tests/check/gst/gstelement.c: (GST_START_TEST),
3249         (gst_element_suite):
3250         Added testcase for elementfactory class field.
3251
3252 2006-04-10  Wim Taymans  <wim@fluendo.com>
3253
3254         * gst/gstsegment.c:
3255         Added some more docs.
3256
3257         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
3258         (gst_base_sink_reset_qos):
3259         Calculate more accurate rate values.
3260
3261 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
3262
3263         * gst/gst_private.h:
3264           add a new #ifdef to use __declspec(dllimport) only for
3265           other modules and not for gstreamer core
3266         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
3267           use gst_guint64_to_gdouble for conversion
3268         * win32/common/libgstreamer.def:
3269           add new exported functions
3270         * win32/vs6/gst_inspect.dsp:
3271         * win32/vs6/gst_launch.dsp:
3272         * win32/vs6/libgstbase.dsp:
3273         * win32/vs6/libgstcontroller.dsp:
3274         * win32/vs6/libgstcoreelements.dsp:
3275         * win32/vs6/libgstdataprotocol.dsp:
3276         * win32/vs6/libgstnet.dsp:
3277           update project files
3278
3279 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3280
3281         * gst/gstbuffer.c: (gst_subbuffer_class_init):
3282         * gst/gstclock.c: (gst_clock_class_init):
3283         * gst/gstelement.c: (gst_element_class_init):
3284         * gst/gstindex.c: (gst_index_class_init):
3285         * gst/gstindexfactory.c: (gst_index_factory_class_init):
3286         * gst/gstobject.c: (gst_object_class_init),
3287         (gst_signal_object_class_init):
3288         * gst/gstpad.c: (gst_pad_class_init):
3289         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
3290         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
3291         * gst/gstregistry.c: (gst_registry_class_init):
3292         * gst/gstsystemclock.c: (gst_system_clock_class_init):
3293         * gst/gsttask.c: (gst_task_class_init):
3294         * gst/gstxml.c: (gst_xml_class_init):
3295         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3296         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3297         (gst_base_src_loop):
3298         * libs/gst/controller/gstcontroller.c:/
3299         (_gst_controller_class_init):
3300         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3301         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3302         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
3303         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3304         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3305         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
3306
3307 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
3308
3309         * gst/gstpad.c: (gst_pad_link):
3310           Must set peer pads before calling the link function, otherwise
3311           a task started from a link function might get a flow-not-linked
3312           result when trying to push because the other thread where the
3313           linking happens hasn't had a chance to set the peers yet. This
3314           might happen for example when a queue gets linked to a downstream
3315           element, as queue starts a streaming task when its source pad
3316           gets linked. Happens in real life when playing back flac/musepack
3317           files in playbin (#332390).
3318           
3319 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3320
3321         * gst/gstindex.h:
3322         * gst/gstxml.h:
3323         * libs/gst/base/gstadapter.h:
3324         * libs/gst/base/gstbasesink.h:
3325         * libs/gst/base/gstbasesrc.h:
3326         * libs/gst/base/gstbasetransform.h:
3327         * libs/gst/base/gstcollectpads.h:
3328         * libs/gst/base/gstpushsrc.h:
3329         Fix broken GObject macros
3330
3331 2006-04-07  Wim Taymans  <wim@fluendo.com>
3332
3333         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3334         Initialize start and stop times, thanks valgrind.
3335
3336 2006-04-07  Wim Taymans  <wim@fluendo.com>
3337
3338         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3339         Be a bit nicer to badly behaving upstream elements that expect
3340         us to deal with non TIME segments and timestamps (such as fakesrc
3341         in the testsuite).
3342
3343 2006-04-07  Wim Taymans  <wim@fluendo.com>
3344
3345         * gst/gstbus.c:
3346         Small documentation clarification about the signal watch.
3347
3348         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3349         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3350         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3351         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3352         (gst_base_sink_get_position_last),
3353         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
3354         Convert and store timestamps in stream time and running time, the
3355         raw timestamps are not usefull, also document this better.
3356         Use different window sizes for good and bad QoS observations so
3357         we react to badness a little quicker.
3358         Keep track of the amount of rendered and dropped buffers.
3359         Send QoS timestamps in running time.
3360
3361         * libs/gst/base/gstbasetransform.c:
3362         (gst_base_transform_sink_eventfunc),
3363         (gst_base_transform_handle_buffer):
3364         Compare QoS timestamps against running time.
3365
3366 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3367
3368         * gst/gstpad.c:
3369           Typo fixes in docs.
3370
3371 2006-04-06  Michael Smith  <msmith@fluendo.com>
3372
3373         * gst/gstpad.c: (gst_pad_set_property):
3374           Use g_value_get_object() instead of g_value_dup_gst_object(),
3375           to avoid double-reffing the pad template (which we then sink,
3376           so this worked previously if (and only if) the pad template
3377           was floating.
3378
3379         * gst/gstpadtemplate.c: (gst_pad_template_init),
3380         (gst_pad_template_pad_created):
3381           Never return floating references to pad templates, create
3382           them as initially-sunken.
3383
3384           Document an extra function (and make this stop sinking our
3385           pad template, since that is now guaranteed to do nothing,
3386           since we created it sunken).
3387
3388         * gst/gstghostpad.c:
3389           Fix docs typo.
3390
3391 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3392
3393         * gst/gstinfo.c: (__gst_in_valgrind):
3394           Add some newlines.
3395
3396         * plugins/elements/gsttypefindelement.c:
3397         (gst_type_find_element_chain):
3398           Don't leak buffer caps.
3399
3400 2006-04-06  Michael Smith  <msmith@fluendo.com>
3401
3402         * gst/parse/grammar.y:
3403           Fix a leak in parse-launch for any source-or-sink named element 
3404           references used.
3405
3406         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
3407           Unref the pipeline if it exists after we've failed parsing.
3408
3409 2006-04-05  Michael Smith  <msmith@fluendo.com>
3410
3411         * gst/gstpipeline.c: (gst_pipeline_init):
3412           When we create a pipeline bus, initially create it in flushing mode.
3413           Fixes leaks in at least one test, and makes a new pipeline work the
3414           same as one that has gone to READY and then back to NULL.
3415
3416         * gst/gstelement.c:
3417           Typo fix in docs.
3418
3419 2006-04-05  Michael Smith  <msmith@fluendo.com>
3420
3421         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3422           Unref a pad we reffed.
3423         * tests/check/gst/gstutils.c: (GST_START_TEST):
3424           Unref bins
3425
3426 2006-04-05  Michael Smith  <msmith@fluendo.com>
3427
3428         * gst/gstquery.c: (gst_query_set_formats),
3429         (gst_query_set_formatsv):
3430           Fix leaking GValues in queries, as shown by valgrind/testsuite.
3431
3432 2006-04-05  Michael Smith  <msmith@fluendo.com>
3433
3434         * tests/check/generic/sinks.c: (GST_START_TEST):
3435           Fix a variety of memleaks in sinks check, which are only sometimes 
3436           shown by running the tests under valgrind (weird?).
3437
3438 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
3439
3440         * docs/version.entities.in:
3441           Fix the substituted entity name after thomas' changes on the
3442           weekend.
3443
3444 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3445
3446         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
3447         VALGRIND_PRINTF
3448         
3449 2006-04-05  Andy Wingo  <wingo@pobox.com>
3450
3451         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
3452
3453         * libs/gst/base/gstbasetransform.c
3454         (gst_base_transform_sink_eventfunc): When resetting our segment on
3455         FLUSH_STOP, also update the flag saying we haven't seen a
3456         newsegment.
3457
3458 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3459
3460         Patch by: Paolo Borelli  <pborelli at katamail dot com>
3461
3462         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
3463         (gst_plugin_check_license):
3464           minor clean-ups: G_DEFINE_TYPE already takes care of the
3465           parent_class stuff, no need to do it twice. Mark array of
3466           license strings as constant. (#337103)
3467           
3468 2006-04-04  Michael Smith  <msmith@fluendo.com>
3469
3470         * tools/gst-inspect.c: (print_element_list):
3471           Free the right plugin list; fixes a memory leak.
3472
3473 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3474
3475         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
3476
3477         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3478           Don't error out on empty buffers (#336945).
3479           
3480 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
3481
3482         * docs/libs/gstreamer-libs-sections.txt:
3483         * gst/gsttaglist.c:
3484         * libs/gst/base/gstbasesink.c:
3485         * libs/gst/base/gstbasesink.h:
3486         * libs/gst/base/gstbasesrc.c:
3487         * libs/gst/base/gstbasesrc.h:
3488           Documentation updates. Make BaseSink and BaseSrc docs contain the
3489           class structure so that people can actually see the prototypes for
3490           virtual functions they're supposed to be overriding.
3491
3492 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3493
3494         * plugins/elements/gsttypefindelement.c:
3495         (gst_type_find_element_chain):
3496           More debug info; when skipping typefinding, send cached
3497           events in all cases.
3498
3499 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3500
3501         * configure.ac:
3502           use new AS_VERSION and AS_NANO macros
3503         * gst/gst-i18n-lib.h:
3504         * gst/gst.c:
3505         * gst/gsterror.c:
3506         * gst/gstversion.h.in:
3507         * win32/common/config.h:
3508         * win32/common/config.h.in:
3509           update accordingly
3510
3511 2006-03-31  Michael Smith  <msmith@fluendo.com>
3512
3513         * plugins/elements/gsttypefindelement.c:
3514         (gst_type_find_element_chain):
3515           Do not typefind content if the buffers already have caps.
3516           Neccesary for icydemux (#333657), and the right thing to do anyway.
3517
3518 2006-03-30  Wim Taymans  <wim@fluendo.com>
3519
3520         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3521         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
3522         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
3523         (gst_base_sink_record_qos_observation),
3524         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3525         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3526         (gst_base_sink_change_state):
3527         More QoS measurements as described in the design doc.
3528         Get rid of ringbuffer with observations, running average is
3529         more simple and equally good.
3530         Calculates valid proportion now.
3531         Added beginning of flood measurement.
3532
3533 2006-03-29  Wim Taymans  <wim@fluendo.com>
3534
3535         * docs/design/part-qos.txt:
3536         * gst/gstclock.c:
3537         Small documentation updates and additions.
3538
3539 2006-03-29  Wim Taymans  <wim@fluendo.com>
3540
3541         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3542         (gst_base_src_send_event), (gst_base_src_loop),
3543         (gst_base_src_change_state):
3544         Perform the EOS logic when we reach the segment stop position.
3545         Fix compilation on gcc4.1
3546
3547 2006-03-29  Wim Taymans  <wim@fluendo.com>
3548
3549         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3550
3551         * plugins/elements/gstqueue.c: (gst_queue_init),
3552         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3553         (gst_queue_set_property):
3554         * plugins/elements/gstqueue.h:
3555         In queue, when EOS is received, if minimum threshold > max_size -
3556         current_level, there is chance that queue blocks forever in conditional
3557         item del wait. This is because the queue is not emptied completely due
3558         to minimum threshold.  Here is another approach. Instead of setting
3559         cur_levels to max in EOS, just zero all minimum threshold levels. This
3560         should make sure that queue gives out all data. When going to READY
3561         (stop) state, just reset the original minimum threshold levels.
3562         Fixes #336336.
3563
3564 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
3565
3566         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
3567         (gst_type_find_element_handle_event),
3568         (gst_type_find_element_send_cached_events),
3569         (gst_type_find_element_change_state):
3570         * plugins/elements/gsttypefindelement.h:
3571           When typefinding is done in push mode, we should cache
3572           events we receive during typefinding instead of just
3573           dropping them (e.g. newsegment, custom events from
3574           dvdreadsrc etc.) and then send them out once we've
3575           determined the type of the stream (and decodebin
3576           has had a chance to plug in a decoder/demuxer).
3577           
3578 2006-03-27  Wim Taymans  <wim@fluendo.com>
3579
3580         * docs/design/part-qos.txt:
3581         First QoS ideas.
3582
3583 2006-03-27  Wim Taymans  <wim@fluendo.com>
3584
3585         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
3586
3587         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3588         (gst_base_src_send_event), (gst_base_src_change_state):
3589         Handle element seek correctly when we are streaming.
3590         Fixes #326998.
3591
3592 2006-03-24  Michael Smith  <msmith@fluendo.com>
3593
3594         * docs/faq/gst-uninstalled:
3595           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
3596           allow you to correctly run intalled applications built against old 
3597           core, using plugins that require updated core (e.g. running
3598           installed totem against a full uninstalled gstreamer stack)
3599
3600 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3601
3602         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3603         more debug details
3604
3605 2006-03-24  Wim Taymans  <wim@fluendo.com>
3606
3607         * docs/gst/gstreamer-sections.txt:
3608         Rearrange the order of the methods so that related methods
3609         are grouped together in sections.
3610
3611 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3612
3613         * gst/gstelement.c:
3614           Little clarification in the docs
3615
3616 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3617
3618         * docs/README:
3619         formatting fix
3620         * plugins/elements/gstidentity.c:
3621         * plugins/elements/gstqueue.c:
3622         * plugins/elements/gsttee.c:
3623         * plugins/elements/gsttypefindelement.c:
3624         GST_ELEMENT_DETAILS formatting
3625
3626 2006-03-24  Wim Taymans  <wim@fluendo.com>
3627
3628         * libs/gst/base/gstbasesink.h:
3629         Only add fields, not insert or we break ABI.
3630
3631 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         * win32/common/libgstbase.def:
3634         * win32/common/libgstreamer.def:
3635           Update, add recently added functions.
3636
3637 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3638
3639         * docs/gst/gstreamer-sections.txt:
3640         * gst/gstutils.c: (gst_pad_query_peer_position),
3641         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
3642         * gst/gstutils.h:
3643           API: add some new utility functions:
3644            - gst_pad_query_peer_position()
3645            - gst_pad_query_peer_duration()
3646            - gst_pad_query_peer_convert()
3647           
3648 2006-03-23  Wim Taymans  <wim@fluendo.com>
3649
3650         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3651         (gst_base_sink_init), (gst_base_sink_finalize),
3652         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
3653         (gst_base_sink_set_property), (gst_base_sink_get_property),
3654         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
3655         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3656         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
3657         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3658         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3659         (gst_base_sink_preroll_object), (gst_base_sink_event),
3660         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
3661         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3662         (gst_base_sink_query), (gst_base_sink_change_state):
3663         Decouple max-lateness and the fact that QoS messages are generated
3664         with a new property (qos).
3665         added API: GstBaseSink::async_play()
3666         Add vmethod so subclasses can be notified of ASYNC playing
3667         state changes.
3668         Collect timestamp start and stop to report better current
3669         position in EOS/PLAYING/PAUSED/READY/NULL.
3670         Refactor QoS/frame dropping and other measurements.
3671         API: GstBaseSrc::qos
3672         Fixes #326311
3673
3674         * libs/gst/base/gstbasesink.h:
3675         Added Private struct.
3676         API: gst_base_sink_set_qos_enabled()
3677         API: gst_base_sink_is_qos_enabled()
3678
3679 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3680
3681         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3682           If compiling against GLib-2.8 or newer, try to read the
3683           registry file using GMappedFile first before falling back
3684           to fopen() + fread() (#332151).
3685
3686 2006-03-22  Wim Taymans  <wim@fluendo.com>
3687
3688         * gst/gstinfo.c: (gst_debug_set_active),
3689         (gst_debug_category_set_threshold):
3690         Disable debugging unless explicitly activated.
3691         Fixes #335480.
3692
3693 2006-03-22  Wim Taymans  <wim@fluendo.com>
3694
3695         * gst/gstelement.c: (gst_element_set_locked_state),
3696         (gst_element_dispose):
3697         Cleanup the error case.
3698
3699         * gst/gstobject.c: (gst_object_dispose):
3700         print a critical when some object was disposed with
3701         a parent, also revive the object since it might
3702         crash the parent.
3703
3704 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
3705
3706         * tools/gst-launch.1.in:
3707           Fix another typo.
3708
3709 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3710
3711         * configure.ac:
3712         * tests/check/Makefile.am:
3713           disable some tests when we don't have a registry
3714         * tests/check/gst/gstutils.c: (gst_utils_suite):
3715           don't build the part that needs parsing
3716
3717 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3718
3719         * gst/Makefile.am
3720         * tests/examples/Makefile.am:
3721           fix --disable-parse build
3722
3723 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3724
3725         * tools/gst-feedback.1.in:
3726           Fix typo: s/feeback/feedback/ (#133494).
3727
3728 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3729
3730         * tools/Makefile.am:
3731         * tools/gst-launch.1.in:
3732           Add FILES section and correct entry about GST_REGISTRY_PATH
3733           environment variable (#133495; #133494).
3734
3735 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3736
3737         * tools/Makefile.am:
3738         * tools/gst-md5sum.1.in:
3739         * tools/gst-md5sum.c:
3740           Remove gst-md5sum and man page (the md5sink element
3741           required was removed ages ago)
3742
3743 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3744
3745         * gst/gststructure.c: (gst_structure_id_set_value):
3746           Make sure that string fields in structures/taglists
3747           contain valid UTF-8 - we don't want to pass rubbish to
3748           applications because of a buggy plugin (cp. #334167).
3749
3750 2006-03-21  Edward Hervey  <edward@fluendo.com>
3751
3752         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3753         (gst_bin_handle_message_func):
3754         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
3755         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
3756         (gst_element_set_bus_func):
3757         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
3758         * gst/gstminiobject.c: (gst_value_set_mini_object),
3759         (gst_value_take_mini_object):
3760         * gst/gstpad.c: (gst_pad_set_pad_template):
3761         * gst/gstpipeline.c: (gst_pipeline_dispose),
3762         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3763         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
3764         (gst_collect_pads_chain):
3765         * libs/gst/net/gstnettimeprovider.c:
3766         (gst_net_time_provider_set_property):
3767         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
3768         It's in fact all issues with gst_*object_replace().
3769
3770 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3771
3772         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
3773         
3774         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3775         * pkgconfig/gstreamer-check.pc.in:
3776           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
3777
3778 2006-03-21  Edward Hervey  <edward@fluendo.com>
3779
3780         * gst/gstbuffer.h:
3781         * gst/gstevent.h:
3782         * gst/gstmessage.h:
3783         gst_[buffer|event|message]_ref() macros are replaced by a static
3784         inline functions because gcc-4.1 will about if the return value
3785         isn't used.
3786         * tests/check/gst/gstevent.c: (event_probe):
3787         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
3788
3789 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
3790
3791         * gst/gstutils.h:
3792         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
3793         the type' case. (Closes: #335195 for now). In the future, when we
3794         depend on GLib 2.10, we could also intern the type name using
3795         g_intern_static_string()
3796
3797 2006-03-20  Wim Taymans  <wim@fluendo.com>
3798
3799         * gst/gstbin.c: (gst_bin_handle_message_func),
3800         (bin_query_max_init), (bin_query_position_fold),
3801         (bin_query_position_done), (gst_bin_query):
3802         Position query should also take max of all streams.
3803
3804 2006-03-20  Wim Taymans  <wim@fluendo.com>
3805
3806         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3807         (gst_fake_src_finalize):
3808         Fix leaks in fakesrc.
3809
3810         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3811         Fix leaks in the testcase.
3812
3813 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
3814
3815         * gst/gst_private.h:
3816           add win32 specific import decoration(__declspec(dllimport)) 
3817           for all extern GstDebugCategory * variables
3818         * win32/common/libgstbase.def:
3819         * win32/common/libgstcontroller.def:
3820         * win32/common/libgstreamer.def:
3821           Add some exports, remove empty lines
3822         * win32/common/libgstdataprotocol.def:
3823         * win32/common/libgstdataprotocol.dsp:
3824         * win32/common/libgstnet.def:
3825         * win32/common/libgstnet.dsp:
3826           new project files and exportation files added
3827         
3828 2006-03-19  Wim Taymans  <wim@fluendo.com>
3829
3830         * tests/check/libs/basesrc.c: (eos_event_counter):
3831         Use proper return value for probe.
3832
3833 2006-03-17  Wim Taymans  <wim@fluendo.com>
3834
3835         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3836         (gst_pad_push):
3837         Don't leak buffers, caps and pads on negotiation errors.
3838
3839 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
3840
3841         * docs/faq/cvs.xml:
3842         * docs/faq/dependencies.xml:
3843         * docs/faq/developing.xml:
3844         * docs/faq/faq.xml:
3845         * docs/faq/general.xml:
3846         * docs/faq/getting.xml:
3847         * docs/faq/legal.xml:
3848         * docs/faq/troubleshooting.xml:
3849         * docs/faq/using.xml:
3850         Faq review and update.
3851
3852 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
3853
3854         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3855         (gst_pad_push):
3856         Don't pound the cpu to pieces by checking get_caps when accept_caps
3857         is called with the same caps as the pad already has.
3858         Use GST_DEBUG_OBJECT when outputting caps change information.
3859
3860 2006-03-15  Wim Taymans  <wim@fluendo.com>
3861
3862         * gst/gstclock.c: (gst_clock_class_init):
3863         Fix docs.
3864
3865 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
3866
3867         * gst/gstbuffer.h:
3868         Documentation fix.
3869
3870         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
3871         (gst_pad_accept_caps), (gst_pad_configure_sink),
3872         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
3873         Make the default acceptcaps behaviour be to check the requested 
3874         caps against the gst_pad_get_caps output. 
3875
3876         Ensure that gst_pad_accept_caps is used to check caps when a pad
3877         doesn't have a setcaps function, so that pads automatically refuse 
3878         caps that they don't allow in their pad template. (Fixes #332986)
3879
3880         When a buffer with attached caps is pushed, ensure that the source 
3881         pad receives those caps even if the element didn't call
3882         gst_pad_set_caps first.
3883
3884 2006-03-15  Wim Taymans  <wim@fluendo.com>
3885
3886         * libs/gst/base/gstadapter.c:
3887         Add some docs.
3888
3889 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3890
3891         * win32/common/libgstbase.def:
3892         * win32/common/libgstcontroller.def:
3893         * win32/common/libgstreamer.def:
3894           Add a whole bunch of missing functions (#334434).
3895
3896 2006-03-14  Wim Taymans  <wim@fluendo.com>
3897
3898         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3899         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3900         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
3901         Better debug info when we receive a segment event.
3902         Reorganize a bit so we can pass the get_times() results around.
3903         Use the segment format when calculating the running time.
3904         Don't do QoS is sync is disabled or we have no clock or the
3905         element does not want us to sync to the clock.
3906         Don't drop buffers if QoS is disabled for now.
3907
3908 2006-03-14  Wim Taymans  <wim@fluendo.com>
3909
3910         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
3911         Marked the stats property as unimplemented so people don't get
3912         wild ideas.
3913         Add debug message when regression goes wrong.
3914         Added some more docs.
3915
3916 2006-03-14  Wim Taymans  <wim@fluendo.com>
3917
3918         * gst/gstsegment.c: (gst_segment_to_stream_time):
3919         Return correct return type in case of errors.
3920
3921 2006-03-14  Wim Taymans  <wim@fluendo.com>
3922
3923         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
3924           Don't segfault on invalid formats.
3925
3926 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3927
3928         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3929           Can't use gst_segment_to_running_time() when the segment
3930           is not in GST_TIME_FORMAT (like with filesink, for example).
3931           Stops flac encoding pipelines from spewing critical warnings
3932           at EOS (#331248).
3933           
3934 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3935
3936         * gst/gstpipeline.c: (gst_pipeline_class_init):
3937           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
3938
3939         * plugins/elements/gsttypefindelement.c:
3940         (gst_type_find_element_handle_event):
3941           Don't try to typefind empty streams.
3942
3943 2006-03-14  Wim Taymans  <wim@fluendo.com>
3944
3945         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3946         (gst_base_sink_do_qos):
3947         Separate QoS calculation.
3948         Only drop buffers when lateness is bigger than the 
3949         duration of the buffer.
3950
3951 2006-03-13  Wim Taymans  <wim@fluendo.com>
3952
3953         * gst/gstpipeline.c: (gst_pipeline_set_property),
3954         (gst_pipeline_get_property), (do_pipeline_seek),
3955         (gst_pipeline_change_state), (gst_pipeline_set_delay),
3956         (gst_pipeline_get_delay):
3957         Don't deadlock when reading properties.
3958
3959 2006-03-13  Wim Taymans  <wim@fluendo.com>
3960
3961         * libs/gst/base/gstbasetransform.c:
3962         (gst_base_transform_class_init), (gst_base_transform_init),
3963         (gst_base_transform_sink_event),
3964         (gst_base_transform_sink_eventfunc),
3965         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3966         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3967         (gst_base_transform_set_property),
3968         (gst_base_transform_get_property),
3969         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3970         (gst_base_transform_set_qos_enabled),
3971         (gst_base_transform_is_qos_enabled):
3972         * libs/gst/base/gstbasetransform.h:
3973         Make basetransform virtual method for src events too.
3974         Handle QOS in basetransform.
3975         API: gst_base_transform_update_qos()
3976         API: gst_base_transform_set_qos_enabled()
3977         API: gst_base_transform_is_qos_enabled()
3978
3979 2006-03-13  Wim Taymans  <wim@fluendo.com>
3980
3981         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3982         (gst_base_sink_do_sync):
3983         Small cleanups.
3984         Use QOS debug category.
3985
3986 2006-03-13  Wim Taymans  <wim@fluendo.com>
3987
3988         * plugins/elements/gstqueue.c:
3989         Very small doc update.
3990
3991 2006-03-13  Wim Taymans  <wim@fluendo.com>
3992
3993         * gst/gst_private.h:
3994         * gst/gstinfo.c: (_gst_debug_init):
3995         Added QOS debug category
3996
3997 2006-03-13  Wim Taymans  <wim@fluendo.com>
3998
3999         * docs/gst/gstreamer-sections.txt:
4000         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4001         * gst/gstbin.h:
4002         * gst/gstbus.c: (gst_bus_class_init):
4003         * gst/gstbus.h:
4004         * gst/gstclock.c:
4005         * gst/gstelement.c: (gst_element_set_locked_state):
4006         * gst/gstsegment.c:
4007         Documentation updates.
4008
4009         * gst/gstpipeline.c: (gst_pipeline_get_type),
4010         (gst_pipeline_class_init), (gst_pipeline_init),
4011         (gst_pipeline_dispose), (gst_pipeline_set_property),
4012         (gst_pipeline_get_property), (do_pipeline_seek),
4013         (gst_pipeline_send_event), (gst_pipeline_change_state),
4014         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4015         (gst_pipeline_get_delay):
4016         * gst/gstpipeline.h:
4017         Added methods for setting the delay.
4018         API: gst_pipeline_set_delay()
4019         API: gst_pipeline_get_delay()
4020         Add pipeline debug category
4021         Various cleanups.
4022         Updated docs.
4023         Don't reset stream time when seek failed.
4024
4025 2006-03-13  Wim Taymans  <wim@fluendo.com>
4026
4027         * docs/design/draft-klass.txt:
4028         * docs/design/part-clocks.txt:
4029         * docs/design/part-events.txt:
4030         * docs/design/part-gstbin.txt:
4031         * docs/design/part-gstpipeline.txt:
4032         * docs/design/part-messages.txt:
4033         * docs/design/part-negotiation.txt:
4034         * docs/design/part-overview.txt:
4035         * docs/design/part-preroll.txt:
4036         * docs/design/part-seeking.txt:
4037         * docs/design/part-states.txt:
4038         * docs/design/part-streams.txt:
4039         Documentation updates.
4040
4041 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4042
4043         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4044         us to leak strings...
4045
4046 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4047
4048         * libs/gst/net/gstnettimeprovider.c:
4049           fix docs
4050         * win32/common/config.h:
4051           update
4052
4053 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4054
4055         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4056
4057         * configure.ac:
4058           Don't check for libgnomeui (leftover from old examples
4059           that aren't built or disted any longer) (#334303).
4060           
4061 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4062
4063         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4064         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4065           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4066           there's no space left on the device.
4067
4068 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4069
4070         * gst/gstclock.h:
4071           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4072           to cast the input to GstClockTime before comparing with
4073           another GstClockTime value.
4074
4075 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4076
4077         * configure.ac:
4078           back to trunk
4079
4080 === release 0.10.4 ===
4081
4082 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4083
4084         * configure.ac:
4085           releasing 0.10.4, "Light"
4086
4087 2006-03-10  Michael Smith  <msmith@fluendo.com>
4088
4089         * libs/gst/dataprotocol/dataprotocol.c:
4090           Fix docs for dataprocotol to not get the return types completely
4091           wrong for a few functions.
4092
4093 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4094
4095         * docs/gst/gstreamer-sections.txt:
4096         * gst/gstpipeline.c: (gst_pipeline_class_init),
4097         (gst_pipeline_init), (gst_pipeline_set_property),
4098         (gst_pipeline_get_property), (gst_pipeline_change_state),
4099         (gst_pipeline_set_auto_flush_bus),
4100         (gst_pipeline_get_auto_flush_bus):
4101         * gst/gstpipeline.h:
4102           Add new API: gst_pipeline_set_auto_flush_bus() and
4103           gst_pipeline_get_auto_flush_bus() to disable automatic
4104           flushing of the pipeline's GstBus when going from READY
4105           to NULL state (#332045).
4106
4107 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4108
4109         * docs/gst/gstreamer-sections.txt:
4110         * gst/gsturi.c: (gst_uri_has_protocol):
4111         * gst/gsturi.h:
4112            Add new API: gst_uri_has_protocol() (#333779).
4113
4114 2006-03-09  Wim Taymans  <wim@fluendo.com>
4115
4116         * gst/gstclock.c: (gst_clock_entry_new),
4117         (gst_clock_id_compare_func), (gst_clock_id_wait),
4118         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4119         (gst_clock_init), (gst_clock_get_internal_time),
4120         (gst_clock_set_master), (do_linear_regression),
4121         (gst_clock_add_observation), (gst_clock_set_property):
4122         * gst/gstclock.h:
4123         Review docs.
4124         Small cleanups.
4125         Fix a possible segfault when the window-size is made smaller.
4126         Calculate jitter before performing the clock wait. Ideally
4127         the clock implementation should calculate jitter but we need
4128         API breakage for that.
4129
4130         * gst/gstsystemclock.c: (gst_system_clock_init):
4131         Docs review.
4132         
4133         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4134         Remove leftover else
4135
4136         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4137         (gst_systemclock_suite):
4138         Added check to test GST_CLOCK_DIFF.
4139
4140 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4141
4142         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
4143         (gst_type_find_helper_get_range):
4144           If we are provided with the size, we should implement
4145           GstTypeFind::get_length, so that typefind functions who
4146           want to can actually peek at the middle of a file.
4147
4148 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
4149
4150         * docs/manual/advanced-dataaccess.xml:
4151           Add some very very basic error checking.
4152
4153         * docs/pwg/appendix-checklist.xml:
4154           Some updates to the list of things to check when writing an element.
4155
4156 2006-03-08  Wim Taymans  <wim@fluendo.com>
4157
4158         * docs/design/part-element-transform.txt:
4159         Added some docs about the design of tranform elements.
4160
4161         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4162         (gst_base_src_loop), (gst_base_src_change_state):
4163         Mark buffers with the DISCONT flag.
4164
4165 2006-03-08  Michael Smith  <msmith@fluendo.com>
4166
4167         * gst/gstregistry.h:
4168         * gst/gstregistryxml.c: (gst_registry_save),
4169         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
4170         (gst_registry_xml_save_pad_template),
4171         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
4172         (gst_registry_xml_write_cache):
4173           Rewrite registry-saving to avoid race conditions and check for
4174           failed writes.
4175
4176 2006-03-08  Wim Taymans  <wim@fluendo.com>
4177
4178         * libs/gst/base/gstbasetransform.c:
4179         (gst_base_transform_transform_caps),
4180         (gst_base_transform_transform_size),
4181         (gst_base_transform_prepare_output_buffer),
4182         (gst_base_transform_get_unit_size),
4183         (gst_base_transform_buffer_alloc),
4184         (gst_base_transform_handle_buffer),
4185         (gst_base_transform_change_state):
4186         Cleanups, separate normal flow from errors, add sensible
4187         DEBUG lines.
4188         Don't try to renegotiate when allocating an output buffer.
4189         Also copy DISCONT buffer flag when copying a buffer.
4190         Reset the transform after we finish streaming, not during.
4191
4192 2006-03-08  Wim Taymans  <wim@fluendo.com>
4193
4194         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4195         Use last buffer timestamp in qos message.
4196
4197 2006-03-07  Wim Taymans  <wim@fluendo.com>
4198
4199         Patch by: Christophe Fergeau
4200
4201         * docs/pwg/advanced-tagging.xml:
4202         * docs/pwg/building-pads.xml:
4203           fixes #333416
4204
4205 2006-03-07  Wim Taymans  <wim@fluendo.com>
4206
4207         * docs/libs/gstreamer-libs-sections.txt:
4208         Added basesink new methods.
4209
4210         * gst/gstevent.c:
4211         * gst/gstevent.h:
4212         Docs updates. Flesh out the QoS docs.
4213
4214         * libs/gst/base/gstadapter.c:
4215         Small doc clarification about ownership and flushing.
4216
4217         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
4218         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4219         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
4220         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4221         * libs/gst/base/gstbasesink.h:
4222         API additions: 
4223         Added new methods to allow subclass to control max-lateness 
4224         and sync.
4225         Generate very basic QoS events based on last sync observation.
4226         Updated docs, fix typo, added some QoS blurb.
4227
4228         * libs/gst/base/gstbasesrc.c:
4229         Remove obsolete _get_state() calls from docs.
4230
4231 2006-03-07  Wim Taymans  <wim@fluendo.com>
4232
4233         * docs/libs/gstreamer-libs-sections.txt:
4234         * libs/gst/base/gstbasetransform.h:
4235         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
4236         Fix docs for GstBaseSrc.
4237
4238 2006-03-07  Wim Taymans  <wim@fluendo.com>
4239
4240         * docs/gst/gstreamer-sections.txt:
4241         * gst/gstbuffer.h:
4242         * gst/gstvalue.c:
4243         * libs/gst/base/gstbasetransform.h:
4244         Small documentation fixes.
4245
4246 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4247
4248         * gst/gstvalue.c:
4249           Document thread-unsafety of gst_value_register_foo_func()
4250           when used at the same time as gst_value_foo() (#322628).
4251
4252 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4253
4254         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
4255         (gst_push_src_check_get_range):
4256           Push sources don't support pull mode by default.
4257
4258 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4259
4260         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4261         (gst_base_src_init), (gst_base_src_pad_check_get_range),
4262         (gst_base_src_default_check_get_range):
4263         * libs/gst/base/gstbasesrc.h:
4264           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
4265           provide default implementation, and rename
4266           gst_base_src_check_get_range() to
4267           gst_base_src_pad_check_get_range() for clarity.
4268
4269 2006-03-06  Wim Taymans  <wim@fluendo.com>
4270
4271         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4272         Make property overridable.
4273
4274 2006-03-06  Wim Taymans  <wim@fluendo.com>
4275
4276         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4277         (gst_base_sink_init), (gst_base_sink_set_property),
4278         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4279         * libs/gst/base/gstbasesink.h:
4280         API addition: Make max-lateness a property.
4281
4282 2006-03-06  Wim Taymans  <wim@fluendo.com>
4283
4284         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
4285         (gst_base_sink_do_sync), (gst_base_sink_render_object):
4286         Don't ever draw a frame that is >10ms late.
4287
4288 2006-03-06  Michael Smith  <msmith@fluendo.com>
4289
4290         * gst/gstmessage.c: (_gst_message_copy):
4291           When copying a message, set the parent_refcount of the enclosed
4292           structure to point at the copy, not the original message.
4293
4294 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4295
4296         Patch by: Christophe Fergeau
4297
4298         * gst/gstutils.h:
4299           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
4300           usable in c++ code (#333417)
4301
4302 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4303
4304         * gst/gstclock.h:
4305           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
4306
4307 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
4308
4309         * libs/gst/base/gstbasetransform.c:
4310         (gst_base_transform_transform_caps):
4311           Make sure caps are writable before passing them to
4312           gst_caps_append().
4313
4314 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4315
4316         * gst/gsterror.h:
4317           Fix some minor docs errors.
4318
4319 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4320
4321           Patch by: Ross Burton <ross at burtonini dot com>
4322
4323         * gst/gsterror.c: (_gst_resource_errors_init):
4324         * gst/gsterror.h:
4325           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
4326
4327 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4328
4329         * gst/gst.c:
4330         Add a check and output a g_warning when GStreamer is built
4331         against GLib 2.6 but running against 2.8 or higher, and vice 
4332         versa. (Closes: #323542)
4333
4334 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4335
4336         * gst/parse/parse.l:
4337           Commit patch for parse_launch syntax from #331255. Removes 
4338           support for quoted strings and mimetypes when writing filtered 
4339           caps. See the bug report for more details - I'm pretty sure this
4340           obscure feature is not in use by _anyone_ anywhere.
4341
4342           With this simple change, the size of the gstreamer.so here 
4343           drops from 2193KB to 1565KB.
4344
4345 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4346
4347         * plugins/elements/gsttypefindelement.h:
4348         * plugins/elements/gsttypefindelement.c:
4349         (gst_type_find_element_src_event), (start_typefinding),
4350         (stop_typefinding), (gst_type_find_element_handle_event),
4351         (gst_type_find_element_chain),
4352         (gst_type_find_element_chain_do_typefinding):
4353           Use gst_type_find_helper_for_buffer() for chain-based
4354           typefinding.
4355
4356 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4357
4358         * plugins/elements/gsttypefindelement.c:
4359         (gst_type_find_element_class_init),
4360         (gst_type_find_element_set_property),
4361         (gst_type_find_element_get_property):
4362           Deprecate "maximum" property (not only was it only taken into
4363           account for typefinding in push-mode anyway, it also was never
4364           actually possible to set it in the first place because the
4365           property was registered with the numeric property ID for the
4366           "minimum" property). Register "maximum" property correctly,
4367           for the sake of future copy'n'pasters. Remove some cruft
4368           from property get/set functions.
4369
4370 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4371
4372         * plugins/elements/gsttypefindelement.c:
4373         (gst_type_find_element_activate):
4374           Use gst_type_find_helper_get_range() here, so we
4375           can honour the "minimum" property and also emit
4376           the signal with the correct probability of the found caps.
4377
4378 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
4379
4380         * docs/libs/gstreamer-libs-sections.txt:
4381         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
4382         (helper_find_suggest), (gst_type_find_helper_get_range),
4383         (gst_type_find_helper):
4384         * libs/gst/base/gsttypefindhelper.h:
4385           New API: gst_type_find_helper_get_range() (#333042).
4386
4387 2006-03-02  Michael Smith  <msmith@fluendo.com>
4388
4389         * gst/gstregistryxml.c: (load_feature):
4390           Asserting on a failure to read part of the registry is Not Cool.
4391           Just log a warning and return NULL (which is already handled)
4392
4393 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
4394
4395         * win32/common/libgstbase.def:
4396           added export of gst_type_find_helper_for_buffer
4397         * win32/common/libgstbase.def:
4398           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
4399           gst_ghost_pad_get_target
4400
4401 2006-02-28  Wim Taymans  <wim@fluendo.com>
4402
4403         * docs/design/draft-klass.txt:
4404         We use Filter now.
4405         Added Connector to mark elements that are only used to
4406         allow pipeline connections.
4407         Moved Debug to extra feature since most of them are 
4408         functionally something else.
4409
4410 2006-02-28  Wim Taymans  <wim@fluendo.com>
4411
4412         * docs/design/draft-klass.txt:
4413         Some updates and clarifications.
4414
4415 2006-02-28  Wim Taymans  <wim@fluendo.com>
4416
4417         * docs/design/draft-klass.txt:
4418         Proposal for klass field values.
4419
4420         * docs/design/part-streams.txt:
4421         Start of a doc describing stream anatomy.
4422
4423 2006-02-28  Wim Taymans  <wim@fluendo.com>
4424
4425         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
4426         Help the compiler a bit with type registration.
4427         Use existing forward cod path instead of duplicating it when 
4428         handling a message.
4429         
4430         * gst/gstbus.c: (gst_bus_get_type):
4431         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
4432         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
4433         * gst/gstclock.c: (gst_clock_get_type):
4434         * gst/gstelement.c: (gst_element_get_type),
4435         * gst/gstelementfactory.c: (gst_element_factory_get_type):
4436         * gst/gstindexfactory.c: (gst_index_factory_get_type):
4437         * gst/gstminiobject.c: (gst_mini_object_get_type):
4438         * gst/gstpad.c: (gst_pad_get_type):
4439         * gst/gstsegment.c: (gst_segment_get_type):
4440         * gst/gststructure.c: (gst_structure_get_type):
4441         * gst/gstsystemclock.c: (gst_system_clock_get_type):
4442         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
4443         * gst/gstvalue.c:
4444         Help compiler with type registration.
4445
4446         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4447         Small doc update.
4448
4449 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4450
4451         * plugins/elements/gsttypefindelement.c:
4452         (gst_type_find_element_handle_event):
4453           When we get an EOS event and have not found a type yet
4454           (most likely because we had not yet accumulated
4455           TYPE_FIND_MIN_SIZE of data yet), try to determine the
4456           type given the data we have so far. Fixes typefinding
4457           for very short streams again, most notably quicktime
4458           redirections as used on Apple's trailer site (#331701).
4459
4460 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4461
4462         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
4463         (gst_type_find_helper):
4464           Try typefinding factories with the highest rank first.
4465
4466 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4467
4468         * docs/libs/gstreamer-libs-docs.sgml:
4469         * docs/libs/gstreamer-libs-sections.txt:
4470         * libs/gst/base/gsttypefindhelper.c:
4471           Add section for typefind helper and add documentation
4472           for the old and the new function.
4473
4474 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4475
4476         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
4477         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
4478         (gst_type_find_helper_for_buffer):
4479         * libs/gst/base/gsttypefindhelper.h:
4480           New API: gst_type_find_helper_for_buffer() (#332723).
4481           
4482 2006-02-27  Michael Smith  <msmith@fluendo.com>
4483
4484         Patch by: Loïc Minier
4485
4486         * configure.ac:
4487         * docs/Makefile.am:
4488         * docs/slides/Makefile.am:
4489           prevent CVS directories getting disted.
4490
4491 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4492
4493         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
4494           Use the REFCOUNTING category for caps refcounting.
4495           
4496 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4497
4498         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4499           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
4500
4501 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4502
4503         * plugins/elements/gsttypefindelement.c:
4504         (gst_type_find_element_activate):
4505           Use gst_pad_check_pull_range() before _activate_pull()
4506           to avoid unnecessary open/close (see #331690).
4507
4508 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4509
4510         * gst/gstutils.c:
4511           Docs enhancement: make it crystal clear what the
4512           gst_pad_add_*_probe() callbacks should look like.
4513
4514 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4515
4516         * libs/gst/base/gstbasesrc.c:
4517           Document how applications can stop recording from
4518           live sources (see #330996).
4519
4520 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4521
4522         * tests/check/Makefile.am:
4523         * tests/check/libs/basesrc.c: (eos_event_counter),
4524         (basesrc_eos_events_pull), (basesrc_eos_events_push),
4525         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
4526         (gst_basesrc_suite), (main):
4527           ... and add some tests for the base source EOS stuff.
4528
4529 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4530
4531         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
4532           Test case originally showed the problem fixed below,
4533           but was then amended. Add checks back at the place
4534           where they used to be.
4535
4536 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4537
4538         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4539         (gst_base_src_init), (gst_base_src_loop),
4540         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4541         (gst_base_src_change_state):
4542         * libs/gst/base/gstbasesrc.h:
4543           Don't unconditionally send EOS when going from PAUSED to
4544           READY state, esp. make sure we don't send two EOS events
4545           in some cases (e.g. one when reaching EOS and one when
4546           going from PAUSED to READY). Also, we don't want to send
4547           EOS events when operating in pull mode. However, we do
4548           want to send an EOS event when shutting down a live
4549           source explicitly, for example (fixes #330996).
4550           
4551 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4552
4553         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4554           Update src->read_position after a seek when not using mmap.
4555           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
4556
4557 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
4558
4559         * gst/Makefile.am:
4560         * gst/gstparse.h:
4561         * gst/gstutils.c:
4562         * gst/gstutils.h:
4563         Make things work with --disable-parse as they do with 
4564         --disable-load-save - the symbols involved disappear, but the
4565         header is still installed and GST_DISABLE_PARSE is included via
4566         gstconfig.h
4567
4568 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4569
4570         * libs/gst/base/gstbasetransform.c:
4571         (gst_base_transform_change_state): Fix a stupid bug. I was 
4572         sure I compiled that.
4573
4574 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4575
4576         * gst/gstpad.c: (gst_pad_set_blocked_async):
4577         * gst/gstutils.c: (gst_pad_add_data_probe),
4578         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4579         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4580         (gst_pad_remove_buffer_probe): Make those function act on the
4581         ghostpad target when it's a ghostpad. (Closes #331727)
4582
4583 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4584
4585         * libs/gst/base/gstbasetransform.c:
4586         (gst_base_transform_change_state): Make basetransform reusable.
4587         (Closes #331898)
4588
4589 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
4590
4591         * docs/random/release:
4592         Move the current documentation of how to do a release to the top
4593         of the file.
4594
4595         * gst/gstbin.c: (gst_bin_class_init),
4596         (gst_bin_handle_message_func):
4597         Allow multiple state-recalculation threads. (Closes #328873)
4598
4599 2006-02-19  Julien MOUTTE  <julien@moutte.net>
4600
4601         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
4602         * gst/gstpad.c: (gst_pad_set_event_function),
4603         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4604         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
4605         2 strings. You can't use the STR_NULL macro on that.
4606
4607 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
4608
4609         * gst/gstpad.c: (gst_pad_set_event_function),
4610         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4611         (gst_pad_set_getcaps_function)
4612         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
4613           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
4614           So now, we can use --gst-debug-level=5 on Windows
4615         * win32/common/libgstcontroller.def:
4616           Added export of gst_controller_init
4617         * win32/vs6/libgstcontroller.dsp:
4618           Fixed Release post build configuration
4619
4620 2006-02-17  Wim Taymans  <wim@fluendo.com>
4621
4622         * tests/check/gst/gstquery.c: (GST_START_TEST):
4623         Added another check.
4624
4625 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
4626
4627         * plugins/elements/gsttypefindelement.c: (find_peek):
4628           We can do peeks at non-zero offsets, as long as they
4629           fall within the buffer we have.
4630
4631 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
4632
4633         * tests/check/Makefile.am:
4634         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
4635         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
4636         (parse_suite), (main):
4637           Add testsuite for parse launch syntax
4638
4639 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
4640
4641         * plugins/elements/gsttypefindelement.c:
4642         (gst_type_find_element_chain):
4643           When typefinding is unsuccessful in the chain function, don't
4644           error out immediately. Only error out with NO_CAPS_FOUND if
4645           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
4646           otherwise simply wait for more data so we can try typefinding
4647           again with more data later. Also, don't attempt to typefind
4648           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
4649           this should improve typefinding from network sources where the
4650           size of the first buffer can be somewhat random.
4651
4652 2006-02-14  Wim Taymans  <wim@fluendo.com>
4653
4654         * docs/gst/gstreamer-sections.txt:
4655         * gst/gstpadtemplate.c:
4656         * gst/gstpadtemplate.h:
4657         Fix padtemplate docs, fixes #328805.
4658
4659 2006-02-14  Wim Taymans  <wim@fluendo.com>
4660
4661         * tools/gst-launch.c: (main):
4662         NO_PREROLL is not an ERROR so don't send confusing messages
4663         to the user.
4664
4665 2006-02-14  Wim Taymans  <wim@fluendo.com>
4666
4667         Patch by: Torsten Schoenfeld
4668
4669         * gst/gstregistry.c: (gst_registry_get_default),
4670         (_gst_registry_cleanup):
4671         Protect default registry with lock and ref/sink it.
4672         Fixes #324818
4673
4674 2006-02-14  Wim Taymans  <wim@fluendo.com>
4675
4676         * gst/gstbuffer.c:
4677         * gst/gstquery.c: (gst_query_list_add_format),
4678         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4679         (gst_query_parse_formats_nth):
4680         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4681         Docs fixes.
4682
4683 2006-02-14  Wim Taymans  <wim@fluendo.com>
4684
4685         * docs/gst/gstreamer-sections.txt:
4686         Reworked query docs.
4687
4688         * gst/gstquery.c: (gst_query_new_formats),
4689         (gst_query_list_add_format), (gst_query_set_formats),
4690         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4691         (gst_query_parse_formats_nth):
4692         * gst/gstquery.h:
4693         Flesh out formats query, added some new methods.
4694         Fix part of #324398.
4695
4696         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
4697         Added query creation tests.
4698
4699 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
4700
4701         * gst/gstpad.c: (fixate_value):
4702         Add a default fixation for fraction lists.
4703
4704 2006-02-13  Wim Taymans  <wim@fluendo.com>
4705
4706         * gst/gsttask.c: (gst_task_init), (gst_task_func),
4707         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
4708         (gst_task_join):
4709         * gst/gsttask.h:
4710         Detect and warn for obvious deadlocks. fixes #320340
4711         Fix error case where lock was not released.
4712
4713         * tests/check/Makefile.am:
4714         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
4715         (task_func), (gst_element_suite), (main):
4716         Add task check.
4717
4718 2006-02-13  Wim Taymans  <wim@fluendo.com>
4719
4720         * docs/gst/gstreamer-sections.txt:
4721         * gst/gstbus.c:
4722         Add new functions to docs.
4723
4724 2006-02-13  Wim Taymans  <wim@fluendo.com>
4725
4726         * docs/design/part-TODO.txt:
4727         Updated TODO list, basesrc supports seeking to non-bytes
4728         formats.
4729
4730         * docs/design/part-element-sink.txt:
4731         Update docs.
4732
4733         * gst/gstbin.c: (bin_replace_message),
4734         (gst_bin_handle_message_func):
4735         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
4736         * gst/gstevent.c: (gst_event_finalize):
4737         * gst/gstpad.c: (gst_pad_event_default_dispatch),
4738         (gst_pad_send_event):
4739         Use shiny new _TYPE_NAME macros.
4740
4741         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4742         Move debug statement up.
4743
4744         * gst/gstelement.c: (gst_element_set_locked_state):
4745         Add some debugging.
4746
4747 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
4748
4749         * docs/gst/gstreamer-sections.txt:
4750         * gst/gstmessage.h:
4751         * gst/gstquery.h:
4752           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
4753           macros (#330906). Also, document the already existing
4754           GST_QUERY_TYPE macro.
4755
4756 2006-02-13  Wim Taymans  <wim@fluendo.com>
4757
4758         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
4759         (event_probe), (GST_START_TEST):
4760         Only events up to the pipeline EOS are counted, there are
4761         some more when going to NULL currently which we don't care
4762         about for now.
4763
4764 2006-02-13  Wim Taymans  <wim@fluendo.com>
4765
4766         * gst/gstpad.c: (gst_pad_send_event):
4767         Correctly check flushing and emit probes. fixes #330125
4768
4769 2006-02-10  Andy Wingo  <wingo@pobox.com>
4770
4771         * gst/gstbus.c (gst_bus_class_init): Declare our private data
4772         structure.
4773         (gst_bus_init): Cache the location of the private data in the
4774         instance structure.
4775         (gst_bus_enable_sync_message_emission) 
4776         (gst_bus_disable_sync_message_emission): Implement new public
4777         functions.
4778         (gst_bus_post): Emit the sync-message signal if the user asked for
4779         it. Fixes #330684.
4780
4781         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
4782         location of the bus-private structure.
4783         (gst_bus_enable_sync_message_emission)
4784         (gst_bus_disable_sync_message_emission): API addition
4785
4786 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
4787
4788         Patch by: Vincent Torri
4789
4790         * docs/pwg/building-boiler.xml:
4791         PWG patch from #326800
4792
4793 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4794
4795         * configure.ac:
4796         * docs/Makefile.am:
4797         * docs/design/Makefile.am:
4798           Dist design docs.
4799
4800 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4801
4802         * configure.ac:
4803           back to CVS
4804
4805 === release 0.10.3 ===
4806
4807 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
4808
4809         * configure.ac:
4810           releasing 0.10.3, "Like a virgin"
4811
4812 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4813
4814         * configure.ac:
4815           2nd prerelease of 0.10.3
4816           Bump libtool versioning.
4817
4818 2006-02-07  Andy Wingo  <wingo@pobox.com>
4819
4820         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
4821         update last_stop if we're in TIME format and the timestamp is
4822         valid.
4823
4824         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
4825         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
4826         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
4827         If we get a new newsegment with a different format, adapt
4828         accordingly.
4829
4830         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
4831         of 0. Not a problem, really.
4832
4833         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
4834         warn if sync=true.
4835
4836 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
4837
4838         * configure.ac:
4839           Prelease of 0.10.3
4840
4841 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
4842
4843         * win32/vs7:
4844           project files updated to the default vs7 configuration
4845         * win32/common/libgstbase.def:
4846         * win32/common/libgstreamer.def:
4847           added new symbols,
4848           removed empty lines,
4849           sorted all exported symbols alphabetically
4850         * win32/common/dirent.c:
4851         * win32/common/dirent.h:
4852         * win32/common/gchar.h:
4853           use windows line end.
4854           
4855 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4856
4857         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4858           Send EOS event when stopping.
4859
4860 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4861
4862         * docs/README:
4863           Tell folks what to do if the plugin-foobar.xml file
4864           hasn't been generated for a newly-added plugin.
4865
4866 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4867
4868         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4869         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4870         (gst_collect_pads_start), (gst_collect_pads_stop),
4871         (gst_collect_pads_event): Collectpads now holds a reference
4872         to the GstPad that was added. Indeed we don't want to look
4873         at pads that might just go away with no warning...
4874
4875 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4876
4877         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4878         (gst_collect_pads_start), (gst_collect_pads_stop),
4879         (gst_collect_pads_event), (gst_collect_pads_chain):
4880         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
4881         Mark Nauwelaerts's patch on bug #328491.
4882
4883 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4884
4885         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
4886         (gst_utils_suite):
4887           Add some simple tests for gst_parse_bin_from_description() and
4888           gst_bin_find_unconnected_pad() (#329069).
4889
4890 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4891
4892         * tools/gst-launch.c: (event_loop), (main):
4893           Catch errors during preroll (#320084).
4894
4895 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
4896
4897         * plugins/elements/gsttypefindelement.c:
4898         (gst_type_find_element_activate):
4899           Post TYPE_NOT_FOUND error message when typefinding
4900           is unsuccessful in the activate function as well.
4901
4902 2006-02-02  Wim Taymans  <wim@fluendo.com>
4903
4904         * docs/design/part-element-sink.txt:
4905         Updated doc.
4906
4907 2006-02-02  Wim Taymans  <wim@fluendo.com>
4908
4909         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4910         (gst_base_sink_render_object),
4911         (gst_base_sink_queue_object_unlocked):
4912         Only keep track of prerollable items when we are 
4913         prerolling.
4914         Before rendering after preroll, always check if we
4915         have queued items.
4916         Added some more debugging.
4917
4918 2006-02-02  Wim Taymans  <wim@fluendo.com>
4919
4920         * gst/gstelement.c: (gst_element_continue_state),
4921         (gst_element_set_state_func), (gst_element_change_state):
4922         Fixed #326576, been running this for quite some time with
4923         no regressions at all.
4924
4925 2006-02-02  Wim Taymans  <wim@fluendo.com>
4926
4927         * common/gst.supp:
4928         Added more suppressions
4929
4930 2006-02-02  Wim Taymans  <wim@fluendo.com>
4931
4932         * docs/design/part-element-sink.txt:
4933         Updated document.
4934
4935         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4936         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
4937         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
4938         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4939         (gst_base_sink_do_sync), (gst_base_sink_render_object),
4940         (gst_base_sink_preroll_object),
4941         (gst_base_sink_queue_object_unlocked),
4942         (gst_base_sink_queue_object), (gst_base_sink_event),
4943         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
4944         (gst_base_sink_loop), (gst_base_sink_activate_pull),
4945         (gst_base_sink_get_position), (gst_base_sink_change_state):
4946         * libs/gst/base/gstbasesink.h:
4947         Totally refactored matching the design doc.
4948         Use two segments, one to clip incomming buffers and another to
4949         perform sync.
4950         Handle queueing correctly, bypass the queue when playing.
4951         Make EOS cancelable.
4952         Handle errors correctly when operating in pull based mode.
4953
4954         * tests/check/elements/fakesink.c: (GST_START_TEST),
4955         (fakesink_suite):
4956         Added new check for sinks.
4957
4958 2006-02-02  Wim Taymans  <wim@fluendo.com>
4959
4960         * gst/gstsegment.c: (gst_segment_clip):
4961         No reason to refuse to clip when start == -1
4962
4963 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4964
4965         * docs/README:
4966         * docs/manual/intro-basics.xml:
4967         * docs/manual/intro-preface.xml:
4968         * docs/manual/manual.xml:
4969         * docs/pwg/advanced-dparams.xml:
4970         * docs/pwg/intro-basics.xml:
4971         * docs/pwg/intro-preface.xml:
4972         * docs/pwg/pwg.xml:
4973           describe dparams (controller) for plugins
4974           unify docs a little more
4975
4976 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4977
4978         * docs/gst/gstreamer-sections.txt:
4979         * gst/gstutils.c: (element_find_unconnected_pad),
4980         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4981         * gst/gstutils.h:
4982           Add new API: gst_parse_bin_from_description() and
4983           gst_bin_find_unconnected_pad() (#329069).
4984
4985 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4986
4987         * docs/manual/README:
4988           uncover a nasty detail of the docs build
4989
4990 2006-01-31  Wim Taymans  <wim@fluendo.com>
4991
4992         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4993         Don't cache duration messages if we're not going to use or
4994         free them.
4995
4996 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4997
4998         * docs/manual/advanced-dparams.xml:
4999         * docs/pwg/advanced-dparams.xml:
5000           more dparam docs
5001         * gst/gstindex.c:
5002           fix docs
5003         * libs/gst/controller/lib.c: (gst_controller_init):
5004           init just once
5005
5006 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5007
5008         * gst/gstelement.c: (gst_element_message_full):
5009           also show file/line/func if no additional debug was given
5010
5011 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5012         
5013         * win32/vs7/grammar.vcproj:
5014           activate copy of autogenerated files for Release mode
5015
5016 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5017         
5018         * win32/common/libgstreamer.def:
5019           export gst_value_compare
5020
5021 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5022
5023         * plugins/elements/Makefile.am:
5024         * plugins/elements/gstelements.c:
5025         * plugins/elements/gstfdsink.c: (_do_init),
5026         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5027         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5028         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5029         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5030         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5031         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5032         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5033         * plugins/elements/gstfdsink.h:
5034         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5035
5036 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5037
5038         * docs/manual/advanced-dparams.xml:
5039           describe controller
5040         * docs/manual/advanced-position.xml:
5041         * docs/manual/basics-init.xml:
5042         * docs/manual/manual.xml:
5043         * docs/manual/titlepage.xml:
5044         * docs/pwg/pwg.xml:
5045         * docs/pwg/titlepage.xml:
5046           cleanup xml (more to come)
5047         * libs/gst/controller/gstcontroller.c:
5048           fix typo
5049
5050 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5051         
5052         * win32/vs6/grammar.dsp:
5053           add autogen of gstmarshal.c,h for Release mode
5054                 
5055 2006-01-30  Wim Taymans  <wim@fluendo.com>
5056
5057         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5058         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5059         (gst_base_sink_handle_object), (gst_base_sink_event),
5060         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5061         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5062         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5063         (gst_base_sink_deactivate), (gst_base_sink_activate),
5064         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5065         (gst_base_sink_query), (gst_base_sink_change_state):
5066         Basesink cleanups, remove some old code.
5067         Handle the case where a subclass can preroll in the render
5068         method (mostly audiosinks).
5069         Handle more events.
5070         Remove some locks around variables that are now protected
5071         with the PREROLL_LOCK (clock_id, flushing, ..).
5072         Optimize position query some more, do correct locking.
5073         Remove old code to push queue in state change, this is not
5074         needed anymore since preroll blocks on all prerollable items 
5075         now.
5076         Almost implemented as described in design doc.
5077
5078 2006-01-30  Wim Taymans  <wim@fluendo.com>
5079
5080         * tests/check/gst/gstbin.c: (GST_START_TEST):
5081         Wait for refcount to settle down before checking.
5082
5083 2006-01-30  Wim Taymans  <wim@fluendo.com>
5084
5085         * docs/design/part-element-sink.txt:
5086         Pseudo code overview of desired sink behaviour regarding
5087         preroll.
5088
5089 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5090         * win32/vs6/grammar.dsp:
5091           fix some bugs in Release mode for autogenerated files
5092                 
5093 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5094         * win32/common/libgstbase.def:
5095         * win32/common/libgstreamer.def:
5096           export some new symbols: gst_base_src_set_format,
5097           gst_iterator_next, gst_structure_set_valist
5098
5099 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5100
5101         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5102         Set pad functions unconditionally. Fixes #329105.
5103
5104 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5105         * win32/vs8:
5106           add vs8 project files created by Sergey Scobich
5107
5108 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
5109
5110         * gst/gstutils.c: (gst_element_unlink_pads):
5111         Don't leak pad references.
5112
5113         * tests/check/elements/fakesink.c: (GST_START_TEST):
5114         * tests/check/generic/sinks.c: (GST_START_TEST):
5115         * tests/check/generic/states.c: (GST_START_TEST):
5116         * tests/check/gst/gstbin.c: (GST_START_TEST):
5117         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5118         * tests/check/gst/gstelement.c: (GST_START_TEST):
5119         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5120         * tests/check/gst/gstiterator.c: (GST_START_TEST):
5121         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5122         Fix a bunch of leaks. Make generic/sinks.c
5123         use a bit less cpu by slowing the buffer rate
5124         between fakesrc and fakesink.
5125         
5126 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
5127         * gst/gstcaps.c:
5128         * gst/gstelement.c: (gst_element_send_event):
5129         * gst/gstevent.c:
5130         * gst/gstinfo.c:
5131         * gst/gstiterator.c:
5132         * gst/gstiterator.h:
5133         * gst/gstpad.c: (gst_pad_send_event):
5134         * gst/gststructure.c:
5135         * gst/gsturi.c:
5136         * gst/gstutils.c:
5137         * gst/gstvalue.c:
5138         * libs/gst/base/gstadapter.c:
5139           doc fixes, to link to function, just write gst_cool_function(), don't
5140           prefix with '#'
5141
5142 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5143
5144         * plugins/elements/gsttee.c: (gst_tee_do_push),
5145         (gst_tee_handle_buffer):
5146         Always prefer an actual return value from a src
5147         pad in place of NOT_LINKED. This means we return
5148         WRONG_STATE when all src pads are WRONG_STATE
5149         instead of NOT_LINKED.
5150
5151         Lock when replacing the last message to prevent
5152         racing with the get_property method.
5153
5154         Add debug output
5155
5156 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5157
5158         * tests/check/Makefile.am:
5159         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
5160         (main):
5161         Add a very simple check that should have caught the memleak I fixed
5162         last night (if not for the slice allocator hiding it)
5163
5164 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5165
5166         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5167         (gst_bin_remove_func), (gst_bin_handle_message_func),
5168         (bin_query_duration_fold), (bin_query_generic_fold):
5169         Clean up references to the clock provider when disposed or when
5170         handling a clock-lost message from it.
5171
5172         Unref sinks when performing a query via gst_iterator_fold, as the
5173         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
5174
5175         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
5176         (gst_clock_set_master):
5177         Drop our reference to the master clock, if any, when we are disposed.
5178
5179         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
5180         Chain up in dispose. 
5181
5182 2006-01-26  Wim Taymans  <wim@fluendo.com>
5183
5184         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5185         Add some debugging.
5186
5187 2006-01-26  Julien MOUTTE  <julien@moutte.net>
5188
5189         * plugins/elements/gsttee.c: (gst_tee_do_push),
5190         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
5191         handles pad being NOT_LINKED or in WRONG_STATE.
5192
5193 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5194
5195         * win32/MANIFEST:
5196           more updating
5197
5198 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5199
5200         * win32/MANIFEST:
5201           remove obsolete entry
5202
5203 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5204
5205         * docs/gst/gstreamer-sections.txt:
5206         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
5207         (gst_bin_iterate_sources), (gst_bin_send_event):
5208         * gst/gstbin.h:
5209         * gst/gstelement.c: (gst_element_send_event):
5210         * gst/gstevent.c:
5211         * gst/gstpad.c: (gst_pad_send_event):
5212           added code for downstream events, reviewed docs in gstevent.c
5213
5214 2006-01-25  Julien MOUTTE  <julien@moutte.net>
5215
5216         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5217         We only query position using the clock in the playing state.
5218         Query peer in the other cases.
5219         * win32/common/config.h: Updates.
5220
5221 2006-01-24  Wim Taymans  <wim@fluendo.com>
5222
5223         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5224         A clock entry that is scheduled for the exact time of the
5225         clock is still in time.
5226
5227         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5228         (gst_base_sink_do_sync):
5229         Add some more debug info.
5230
5231 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5232
5233         * win32/vs7:
5234           Add new vs7 project files and solution.
5235
5236 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5237
5238         * win32/vs7:
5239           all files removed as they were out-dated.
5240
5241 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5242
5243         * docs/random/release:
5244           update notes
5245         * gst/gstbin.c: (gst_bin_init):
5246         * gst/gstbus.c: (gst_bus_new):
5247         * gst/gstbus.h:
5248         * gst/gstpipeline.c: (gst_pipeline_init):
5249           use gst_bus_new(), improve logging, fix docs
5250         * win32/common/config.h:
5251           update for cvs build
5252
5253 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5254
5255         * autogen.sh:
5256           up required version of automake to 1.7
5257
5258 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
5259
5260         * win32/common/libgstreamer.def:
5261           export gst_buffer_is_metadata_writable
5262
5263 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5264
5265         * docs/gst/gstreamer-sections.txt:
5266         * gst/gstevent.h:
5267           Add gst_event_replace() (#327001)
5268
5269 2006-01-20  Wim Taymans  <wim@fluendo.com>
5270
5271         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5272         Make it actually compile too..
5273
5274 2006-01-20  Wim Taymans  <wim@fluendo.com>
5275
5276         * gst/gstcaps.c:
5277         Clarify behaviour of _is_equal() when passing NULL parameters.
5278
5279         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5280         (gst_pad_set_caps):
5281         Cleanups. Don't unref NULL caps.
5282         When setting the same caps, protect caps of the pad with
5283         proper lock.
5284         Use full functionality of _is_equal() when comparing caps.
5285
5286 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5287
5288         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
5289         Don't loop infinitely if there are no buffers to present. Partially
5290         fixes #327197, but collectpads is just broken for reusing elements
5291         to do multiple encodes atm.
5292
5293 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5294
5295         * tools/gst-inspect.c: (print_element_features):
5296         * tools/gst-xmlinspect.c: (main):
5297         URL_HANDLER is not a plugin feature we can search for in
5298         the registry.
5299
5300 2006-01-19  Edward Hervey  <edward@fluendo.com>
5301
5302         * gst/gstelement.c: (gst_element_pads_activate): 
5303         When activating, do src pads first, then sink pads.
5304         When de-activating, do sink pads first, then src pads.
5305
5306 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5307
5308         * docs/gst/gstreamer-sections.txt:
5309         Add gst_index_add_associationv to the docs
5310
5311 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5312
5313         * gst/gstevent.c:
5314           Fix docs typo
5315
5316         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
5317         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
5318           Do some refactoring. Doesn't actually change functionality,
5319           but makes landing the DRAIN event easier later.
5320
5321 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
5322
5323         * docs/pwg/advanced-scheduling.xml:
5324           Update from 0.9.x to 0.10 API and make example a bit
5325           clearer.
5326
5327 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5328
5329         * docs/gst/gstreamer-sections.txt:
5330         Add gst_buffer_(is|make)_metadata_writable methods.
5331
5332 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5333
5334         * docs/design/part-sparsestreams.txt:
5335         Update sparse streams doc, hopefully for greater clarity
5336
5337 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
5338
5339         * docs/design/part-events.txt:
5340         Remove mention of FILLER events.
5341         Add DRAIN event.
5342
5343         * docs/design/part-sparsestreams.txt:
5344         Write some things about using NEWSEGMENT to keep sparse streams
5345         flowing.
5346
5347 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5348
5349         * gst/gstbin.c: (gst_bin_dispose):
5350           Guard gst_object_unref call against a NULL object (dispose
5351           can theoretically be called multiple times).
5352           
5353 2006-01-18  Wim Taymans  <wim@fluendo.com>
5354
5355         * gst/gstbin.c: (gst_bin_element_set_state):
5356         * gst/gstclock.c: (gst_clock_id_wait):
5357         Added some more debug info.
5358
5359         * libs/gst/base/gstadapter.c:
5360         Added more docs.
5361
5362         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5363         (gst_base_sink_do_sync), (gst_base_sink_chain):
5364         Added some comments.
5365
5366 2006-01-18  Wim Taymans  <wim@fluendo.com>
5367
5368         * tests/check/Makefile.am:
5369         * tests/check/elements/fakesink.c: (chain_async_buffer),
5370         (chain_async), (chain_async_return), (GST_START_TEST),
5371         (fakesink_suite), (main):
5372         Added fakesink test that checks prerolling and clipping
5373         behaviour.
5374
5375         * tests/check/gst/gstutils.c: (GST_START_TEST):
5376         Make check run faster so that buildbots don't timeout.
5377
5378 2006-01-18  Wim Taymans  <wim@fluendo.com>
5379
5380         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5381         (gst_base_sink_do_sync):
5382         Some cleanups.
5383         When the sink finishes blocking on the preroll buffer, it can
5384         immediatly render it instead of rendering when the next buffer
5385         arrives.
5386
5387 2006-01-18  Wim Taymans  <wim@fluendo.com>
5388
5389         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
5390         (gst_base_sink_get_property), (gst_base_sink_do_sync),
5391         (gst_base_sink_chain):
5392         Small cleanups.
5393         GST_ELEMENT_CLOCK and sync are protected with LOCK.
5394         Don't store _last_stop if the buffer is dropped.
5395
5396 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5397
5398         * plugins/elements/gsttypefindelement.c:
5399         (gst_type_find_element_class_init):
5400           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
5401           object method handler that sets the caps on the pad and we want
5402           that to happen before we emit the signal (fixes e.g. feeding a
5403           plain text file to decodebin).
5404
5405 2006-01-18  Christian Schaller  <Christian@fluendo.com>
5406
5407         * gst/gstplugin.c: Add MPL and Proprietary as license options
5408
5409 2006-01-18  Andy Wingo  <wingo@pobox.com>
5410
5411         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
5412         symbol was exported before, it appears this was just an oversight.
5413         Fixes #168703.
5414         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
5415
5416         * gst/gstindex.c (gst_index_add_associationv): Changed int in
5417         prototype to gint. OK since this prototype was not in the header.
5418
5419 2006-01-17  Andy Wingo  <wingo@pobox.com>
5420
5421         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
5422         registry while we remove plugins.
5423
5424         * tools/gst-inspect.c (print_element_info): Don't unref the
5425         factory arg, that should be the responsibility of whatever code
5426         received the ref. Fixes a double-free when called from
5427         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
5428         (main): Unref the factory if we have one.
5429         (print_element_list): No change -- relies on the
5430         plugin_feature_list_free to free the list of features.
5431
5432 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
5433
5434         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5435         (gst_buffer_make_metadata_writable):
5436         * gst/gstbuffer.h:
5437         * libs/gst/base/gstbasetransform.c:
5438         (gst_base_transform_prepare_output_buf):
5439         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5440         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5441           Replace gst_buffer_(make|is)_metadata_writable patch now
5442           that the release is out.
5443
5444 2006-01-17  Andy Wingo  <wingo@pobox.com>
5445
5446         * gst/gstregistry.c: Reflow design comment. Update so as to speak
5447         in the present tense without reference to versions.
5448
5449         * gst/gstregistry.c (gst_registry_add_plugin)
5450         (gst_registry_remove_plugin, gst_registry_remove_feature)
5451         (gst_registry_find_feature, gst_registry_get_feature_list)
5452         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
5453         (gst_registry_lookup, gst_registry_scan_path)
5454         (_gst_registry_remove_cache_plugins)
5455         (gst_registry_get_feature_list_by_plugin): Add argument
5456         validation.
5457
5458 === release 0.10.2 ===
5459
5460 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
5461
5462         * configure.ac:
5463           releasing 0.10.2, "If man is five"
5464
5465 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5466
5467         * gst/gstbuffer.c:
5468         * gst/gstbuffer.h:
5469         * libs/gst/base/gstbasetransform.c:
5470         (gst_base_transform_prepare_output_buf):
5471         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5472         * tests/check/gst/gstbuffer.c: (gst_test_suite):
5473           Back out patch until after the release.
5474
5475 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5476
5477         * gst/gstminiobject.c:
5478           Spelling fix in docs.
5479         * ChangeLog - remove conflict indicator
5480
5481 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5482
5483         Reviewed By: Andy Wingo
5484
5485         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5486         (gst_buffer_make_metadata_writable):
5487         * gst/gstbuffer.h:
5488           Add gst_buffer_(is|make)_metadata_writable as analogues of
5489           gst_buffer_(is|make)_writable.
5490
5491         * libs/gst/base/gstbasetransform.c:
5492         (gst_base_transform_prepare_output_buf):
5493         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5494           Use name gst_buffer_(is|make)_metadata_writable functions.
5495
5496         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5497           Test gst_buffer_(is|make)_metadata_writable
5498         
5499           (Closes: #324162)
5500
5501 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5502
5503         * docs/manual/Makefile.am:
5504           don't do parallel make
5505         * configure.ac:
5506           AC_SUBST HOST_CPU
5507         * win32/common/config.h.in:
5508           add generations for HOST_CPU and GST_MAJORMINOR
5509         * win32/common/config.h:
5510           commit generated result
5511
5512 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
5513
5514         * docs/manual/appendix-integration.xml:
5515           Update GNOME integration section to use gst_init_get_option_group()
5516           instead of the old popt stuff (#322911). Also, GNOME applications
5517           should  now use gconf*sink and gconf*src instead of the old gconf
5518           helper lib we had.
5519
5520 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
5521
5522
5523         * docs/gst/gstreamer-docs.sgml:
5524         * docs/gst/gstreamer-sections.txt:
5525         * docs/libs/gstreamer-libs-sections.txt:
5526           add new API entries to the docs
5527         * libs/gst/controller/Makefile.am:
5528         * libs/gst/controller/gstcontroller.c:
5529         * libs/gst/controller/gstcontroller.h:
5530         * libs/gst/controller/gstcontrollerprivate.h:
5531         * libs/gst/controller/gsthelper.c:
5532         * libs/gst/controller/gstinterpolation.c:
5533           move private structs to private header
5534         * po/README:
5535           gstreamer-0.7 -> gstreamer-0.10
5536         * tests/check/libs/struct_i386.h:
5537           remove private structs
5538
5539 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5540
5541         * plugins/indexers/Makefile.am:
5542           Fixes as part of #317048
5543
5544 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5545
5546         * plugins/indexers/Makefile.am:
5547           fix #316086 - compilation when mmap is missing
5548
5549 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
5550
5551         * libs/gst/base/gstbasesink.c:
5552           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
5553           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
5554         * win32/common/config.h:
5555           added some defines GST_MAJORMINOR and HOST_CPU
5556         * win32/common/libgstbase.def:
5557         * win32/common/libgstreamer.def:
5558           added some exported functions.
5559
5560 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5561
5562         * libs/gst/controller/gstcontroller.c:
5563         (gst_controlled_property_set_interpolation_mode),
5564         (gst_controlled_property_new):
5565         * libs/gst/controller/gstcontroller.h:
5566         * libs/gst/controller/gstinterpolation.c:
5567         (interpolate_none_get_string_value_array):
5568           make G_TYPE_STRING controlable
5569
5570 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5571
5572         * tools/README:
5573         * tools/gst-feedback.1.in:
5574         * tools/gst-inspect.1.in:
5575         * tools/gst-launch.1.in:
5576         * tools/gst-md5sum.1.in:
5577         * tools/gst-typefind.1.in:
5578         * tools/gst-xmlinspect.1.in:
5579         * tools/gst-xmllaunch.1.in:
5580           cleanup man-pages, remove reference to gst-register, document env-vars
5581
5582 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
5583
5584         * gst/gstbuffer.c: (gst_buffer_span):
5585           gst_buffer_span should copy the timestamp of the first buffer
5586           if they were both originally overlapping subbuffers of the 
5587           same parent, using the same logic as the 'slow copy' case.
5588
5589 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
5590
5591         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
5592           Need to awaken ALL the pads when we pop a buffer, otherwise
5593           collectpads only works when there is 2 input streams.
5594
5595 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
5596
5597         * docs/random/ensonic/media-device-daemon.txt:
5598           more ideas (dbus)
5599         * gst/gstbuffer.c:
5600           fix doc example, add clarification
5601         * tools/gst-launch.1.in:
5602           add initial info about GST_PLUGIN_PATH, needs more work
5603
5604 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5605
5606         * docs/manual/basics-bins.xml:
5607         * docs/manual/basics-elements.xml:
5608         * docs/manual/intro-basics.xml:
5609           Some more minor docs additions and updates.
5610
5611 2006-01-11  Wim Taymans  <wim@fluendo.com>
5612
5613         * docs/manual/basics-bins.xml:
5614         * docs/manual/basics-elements.xml:
5615         Some small fixes as pointed out by Ser-ver on IRC.
5616
5617 2006-01-10  Edward Hervey  <edward@fluendo.com>
5618
5619         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5620         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
5621         the single-segment mode.
5622
5623 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
5624
5625         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5626
5627         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
5628         (gst_base_src_perform_seek), (gst_base_src_send_event),
5629         (gst_base_src_set_property), (gst_base_src_get_property),
5630         (gst_base_src_loop), (gst_base_src_start),
5631         (gst_base_src_activate_push):
5632         * libs/gst/base/gstbasesrc.h:
5633           Name (private) union; makes Sun's Forte compiler happy (#324900).
5634
5635 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5636
5637         * README:
5638           gst-register is gone.
5639
5640 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5641
5642         * gst/gstvalue.c: (_gst_value_initialize):
5643           make the G_TYPE_DATE instantiation work if debug is disabled
5644
5645 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
5646
5647         * gst/gstmessage.c: (gst_message_parse_tag),
5648         (gst_message_parse_error), (gst_message_parse_warning):
5649           Don't crash when return location for error/warning debug
5650           string is NULL; add fact that return locations can be
5651           NULL to docs where appropriate.
5652
5653 2006-01-05  Wim Taymans  <wim@fluendo.com>
5654
5655         * gst/gstplugin.c: (gst_plugin_load_file):
5656         Replace strdup by g_strdup.
5657
5658 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5659
5660         * docs/pwg/advanced-types.xml:
5661           fix doc borkage
5662
5663 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5664
5665         submitted by: Abel Cheung
5666
5667         * po/LINGUAS:
5668         * po/zh_TW.po:
5669           Added Chinese (traditional) translation
5670
5671 2006-01-04  Wim Taymans  <wim@fluendo.com>
5672
5673         * docs/manual/basics-pads.xml:
5674         * docs/plugins/Makefile.am:
5675         * docs/plugins/gstreamer-plugins-docs.sgml:
5676         * docs/plugins/gstreamer-plugins-sections.txt:
5677         * docs/pwg/advanced-clock.xml:
5678         * docs/pwg/advanced-scheduling.xml:
5679         * docs/pwg/advanced-types.xml:
5680         * plugins/elements/gstfdsink.c:
5681         * plugins/elements/gstfdsrc.c:
5682         * plugins/elements/gstfdsrc.h:
5683         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5684         * plugins/elements/gstidentity.h:
5685         * plugins/elements/gstqueue.h:
5686         * plugins/elements/gsttee.c:
5687         * plugins/elements/gsttee.h:
5688         * plugins/elements/gsttypefindelement.c:
5689         (gst_type_find_element_class_init):
5690         * plugins/elements/gsttypefindelement.h:
5691         Small updates to various docs.
5692         Added core plugins to docs.
5693
5694 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5695
5696         * common/gst.supp:
5697           add a suppression for liboil's uninitialized variable
5698
5699 2006-01-02  James Livingston  <jrl at ids dot org dot au>
5700
5701         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5702
5703         * gst/gstutils.h:
5704           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
5705           macro, so that gcc doesn't complain if the -Wmissing-prototypes
5706           compiler switch is being used (#325429).
5707
5708 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
5709
5710         * gst/gstbin.c: (gst_bin_query):
5711           Disable duration query caching in bins until it gets
5712           fixed (see #324807).
5713
5714 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5715
5716         * tools/gst-inspect.c: (print_element_properties_info):
5717           Handle properties of POINTER and BOXED type.
5718
5719 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5720
5721         * gst/gst.c: (init_post):
5722           Init tags stuff and some other things before loading
5723           any static plugins (there may be other static plugins
5724           than just the GStreamer ones, and they may want to
5725           register their own tags or formats or whatever, and
5726           preferably without segfaulting).
5727
5728         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5729           Print at least a warning in the debug logs if we drop a
5730           query just because we don't know how to adjust the value
5731           in the particular format.
5732
5733 2005-12-24  David Schleef  <ds@schleef.org>
5734
5735         * tools/gstreamer-completion:
5736           Replacement for gst-complete written in sh and sed.  Only
5737           completes names of features, but that's 90% of what I want
5738           it for.  Properties are not available in registry.xml.  (Maybe
5739           they should be...)
5740
5741 === release 0.10.1 ===
5742
5743 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
5744
5745         * configure.ac:
5746           releasing 0.10.1, "Nollaig chridheil"
5747
5748 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
5749
5750         * docs/faq/cvs.xml:
5751           Add missing quote, should be make ERROR_CFLAGS="".
5752
5753 2005-12-20  Wim Taymans  <wim@fluendo.com>
5754
5755         * docs/design/part-trickmodes.txt:
5756         More documentation on trickmodes.
5757
5758 2005-12-20  Edward Hervey  <edward@fluendo.com>
5759
5760         * gst/gstcaps.c: (gst_static_caps_get_type):
5761         * gst/gstcaps.h:
5762           API addition: GST_TYPE_STATIC_CAPS
5763         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
5764         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
5765         * gst/gstpadtemplate.h:
5766           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
5767         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
5768         bindings.
5769
5770 2005-12-18  Wim Taymans  <wim@fluendo.com>
5771
5772         * libs/gst/base/gstadapter.c:
5773         * libs/gst/base/gstadapter.h:
5774         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5775         (gst_base_sink_get_position):
5776         * libs/gst/base/gstbasesink.h:
5777         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5778         (gst_base_src_default_query), (gst_base_src_default_do_seek),
5779         (gst_base_src_do_seek), (gst_base_src_perform_seek),
5780         (gst_base_src_send_event), (gst_base_src_update_length),
5781         (gst_base_src_get_range), (gst_base_src_loop),
5782         (gst_base_src_start):
5783         * libs/gst/base/gstbasesrc.h:
5784         * libs/gst/base/gstbasetransform.h:
5785         * libs/gst/base/gstcollectpads.h:
5786         * libs/gst/base/gstpushsrc.c:
5787         * libs/gst/base/gstpushsrc.h:
5788         * libs/gst/dataprotocol/dataprotocol.c:
5789         * libs/gst/dataprotocol/dataprotocol.h:
5790         * libs/gst/net/gstnetclientclock.h:
5791         * libs/gst/net/gstnettimeprovider.h:
5792         Documentation updates.
5793
5794 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5795
5796         * docs/manual/basics-helloworld.xml:
5797           Remove superfluous closing bracket in helloworld example.
5798
5799 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5800
5801         * tools/gst-launch.1.in:
5802           Update gst-launch man page; add a section with useful
5803           environment variables. Fixes #323882.
5804
5805 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
5806
5807         * gst/gst.c:
5808         * gst/gst_private.h:
5809           change some char* into char[]
5810
5811 2005-12-16  Wim Taymans  <wim@fluendo.com>
5812
5813         * gst/gstregistryxml.c: (load_feature):
5814         Cleanups.
5815         Don't use g_object_unref on GstObjects so that we avoid
5816         leaks on unsafe glibs.
5817
5818 2005-12-16  Wim Taymans  <wim@fluendo.com>
5819
5820         * gst/gstbin.c: (gst_bin_recalc_state):
5821         Small doc updates.
5822
5823 2005-12-16  Wim Taymans  <wim@fluendo.com>
5824
5825         * common/check.mak:
5826         Added make forever target for check.
5827
5828 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5829
5830         * gst/gst.c: (init_post):
5831           make the registry cache file HOST_CPU-dependent
5832
5833 2005-12-16  Andy Wingo  <wingo@pobox.com>
5834
5835         * plugins/elements/gstbufferstore.c
5836         (gst_buffer_store_cleared_func): Pay attention to g_list_append
5837         return value.
5838
5839         * tests/check/gst/gstobject.c
5840         (test_fake_object_name_threaded_unique): Pay attention to
5841         g_list_sort return value.
5842
5843 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5844
5845         * tools/gst-feedback-m.m:
5846           Update for 0.9/0.10 (fixes #323870).
5847
5848 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
5849
5850         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
5851           Fix lcopy for mini objects, the mini object needs to be ref'ed.
5852           
5853         * tests/check/gst/gstminiobject.c: (my_foo_init),
5854         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
5855         (test_value_collection), (gst_mini_object_suite):
5856           Add test to ensure refcounts end up as expected when passing
5857           GstMiniObjects through g_object_get() and g_object_set().
5858
5859 2005-12-14  Julien MOUTTE  <julien@moutte.net>
5860
5861         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5862         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5863         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
5864         of collectpads. This version removes a lot of races without
5865         touching API/ABI. Yay !
5866
5867 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
5868
5869         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
5870           Don't allow activation of a srcpad in pull_range if it has no
5871           getrange function.
5872           Change some debug statements to be a little clearer
5873
5874         * plugins/elements/gsttypefindelement.c:
5875         (gst_type_find_handle_src_query):
5876           Check that we have a peer before executing queries thereupon.
5877
5878         * tests/examples/metadata/read-metadata.c: (message_loop):
5879           Use gst_bus_pop instead of gst_bus_poll when we just want it to
5880           immediately return us any available message with 0 timeout.
5881
5882 2005-12-12  Michael Smith  <msmith@fluendo.com>
5883
5884         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5885           Don't unref factories after calling them.
5886         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
5887         * plugins/elements/gsttypefindelement.c:
5888         (gst_type_find_element_chain):
5889           Free lists of factories after using them. Fixing typefinding memory
5890           leaks.
5891
5892 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5893
5894         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5895         (gst_plugin_feature_load):
5896           more meaningful debug output
5897         * configure.ac:
5898         * tests/Makefile.am:
5899         * tests/old/examples/Makefile.am:
5900           make make distcheck happy again
5901
5902 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5903
5904         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5905           Catch the special case where we are operating chain-based,
5906           but the downstream peer pad has no chain function. Emit a
5907           custom error message in this case instead of letting the
5908           core generate one implying that this is some sort of core
5909           bug. It's not, it just means that whatever got plugged
5910           into the pipeline downstream when we announced the type
5911           can only operate pull-based, while our source can only
5912           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
5913           Error string has not been marked for translation yet, as
5914           it probably needs some more work first.
5915
5916         (gst_type_find_element_get_best_possibility):
5917           Add helper function to find the best of all available
5918           found possibilities that qualify given the min. threshold.
5919
5920         (gst_type_find_element_handle_event):
5921           Fix the case where we get an EOS while still in TYPEFIND
5922           mode (we want to chose the best of all possible types,
5923           not just the first type that happens to be in our unsorted
5924           list of possible types).
5925
5926         (gst_type_find_element_chain):
5927           Make sure we return GST_FLOW_ERROR when we errored out
5928           in stop_typefinding(); also, don't just find the best of
5929           all found type entries and then use the last examined
5930           type entry, but actually use the best entry.
5931
5932 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5933
5934         * tests/examples/typefind/typefind.c: (type_found):
5935         * tests/examples/xml/runxml.c: (xml_loaded):
5936           More gcc4 fixes and a mem leak fix.
5937
5938 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5939
5940         * tests/examples/xml/createxml.c: (object_saved):
5941           gcc 4 fixes
5942
5943 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5944
5945         * tests/Makefile.am:
5946           enable the examples even more
5947
5948 2005-12-12  Andy Wingo  <wingo@pobox.com>
5949
5950         * libs/gst/net/gstnettimeprovider.c
5951         (gst_net_time_provider_class_init, gst_net_time_provider_init)
5952         (gst_net_time_provider_set_property)
5953         (gst_net_time_provider_get_property):
5954         API addition: Export "active" as a GObject property.
5955         (gst_net_time_provider_thread): Only respond to time queries if
5956         the time provider is active.
5957
5958         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5959         NetTimeProvider, preserving binary compat.
5960
5961 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5962
5963         * tests/examples/controller/audio-example.c: (main):
5964         * tests/examples/launch/Makefile.am:
5965           convert comments again
5966
5967 2005-12-12  Wim Taymans  <wim@fluendo.com>
5968
5969         * libs/gst/base/gstpushsrc.c:
5970         Fix typo.
5971
5972 2005-12-12  Wim Taymans  <wim@fluendo.com>
5973
5974         * docs/libs/gstreamer-libs-sections.txt:
5975         Added new symbol to docs.
5976
5977         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5978         (gst_base_src_init), (gst_base_src_set_format),
5979         (gst_base_src_default_query), (gst_base_src_query),
5980         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5981         (gst_base_src_perform_seek), (gst_base_src_send_event),
5982         (gst_base_src_default_event), (gst_base_src_event_handler),
5983         (gst_base_src_set_property), (gst_base_src_get_property),
5984         (gst_base_src_wait), (gst_base_src_do_sync),
5985         (gst_base_src_update_length), (gst_base_src_get_range),
5986         (gst_base_src_check_get_range), (gst_base_src_loop),
5987         (gst_base_src_default_negotiate), (gst_base_src_start),
5988         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5989         (gst_base_src_change_state):
5990         * libs/gst/base/gstbasesrc.h:
5991         Implement seeking to other formats than _BYTES.
5992         Implement more seeking methods correctly.
5993         Doc updates.
5994         Added query vmethod.
5995         Added do_seek vmethod to make life easier for subclasses
5996         when seeking.
5997         API addition: gst_base_src_set_format()
5998
5999 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6000
6001         * tests/examples/Makefile.am:
6002           added that too
6003
6004 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6005
6006         * configure.ac:
6007         * docs/random/ensonic/media-device-daemon.txt:
6008         * tests/examples/controller/.cvsignore:
6009         * tests/examples/controller/Makefile.am:
6010         * tests/examples/controller/audio-example.c: (main):
6011         * tests/examples/helloworld/.cvsignore:
6012         * tests/examples/helloworld/Makefile.am:
6013         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6014         * tests/examples/launch/.cvsignore:
6015         * tests/examples/launch/Makefile.am:
6016         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6017         * tests/examples/metadata/.cvsignore:
6018         * tests/examples/metadata/Makefile.am:
6019         * tests/examples/metadata/read-metadata.c: (message_loop),
6020         (make_pipeline), (print_tag), (main):
6021         * tests/examples/queue/.cvsignore:
6022         * tests/examples/queue/Makefile.am:
6023         * tests/examples/queue/queue.c: (event_loop), (main):
6024         * tests/examples/typefind/.cvsignore:
6025         * tests/examples/typefind/Makefile.am:
6026         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6027         (main):
6028         * tests/examples/xml/.cvsignore:
6029         * tests/examples/xml/Makefile.am:
6030         * tests/examples/xml/createxml.c: (object_saved), (main):
6031         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6032         * tests/old/examples/Makefile.am:
6033         * tests/old/examples/TODO:
6034         * tests/old/examples/controller/.cvsignore:
6035         * tests/old/examples/controller/Makefile.am:
6036         * tests/old/examples/controller/audio-example.c:
6037         * tests/old/examples/helloworld/.cvsignore:
6038         * tests/old/examples/helloworld/Makefile.am:
6039         * tests/old/examples/helloworld/helloworld.c:
6040         * tests/old/examples/launch/.cvsignore:
6041         * tests/old/examples/launch/Makefile.am:
6042         * tests/old/examples/launch/mp3parselaunch.c:
6043         * tests/old/examples/launch/mp3play:
6044         * tests/old/examples/manual/Makefile.am:
6045         * tests/old/examples/metadata/Makefile.am:
6046         * tests/old/examples/metadata/read-metadata.c:
6047         * tests/old/examples/queue/.cvsignore:
6048         * tests/old/examples/queue/Makefile.am:
6049         * tests/old/examples/queue/queue.c:
6050         * tests/old/examples/typefind/.cvsignore:
6051         * tests/old/examples/typefind/Makefile.am:
6052         * tests/old/examples/typefind/typefind.c:
6053         * tests/old/examples/xml/.cvsignore:
6054         * tests/old/examples/xml/Makefile.am:
6055         * tests/old/examples/xml/createxml.c:
6056         * tests/old/examples/xml/runxml.c:
6057           applied some simple fixing to some examples
6058           re-enabled the working examples
6059
6060 2005-12-12  Wim Taymans  <wim@fluendo.com>
6061
6062         * gst/gstsegment.c: (gst_segment_init),
6063         (gst_segment_set_last_stop), (gst_segment_set_seek),
6064         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6065         (gst_segment_to_running_time):
6066         Added more documentation.
6067         Make sure the last_pos value is updated properly.
6068         Make sure to_stream_time and to_running_time don't
6069         operate on wrong values.
6070
6071         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6072         Update check.
6073
6074 2005-12-12  Michael Smith  <msmith@fluendo.com>
6075
6076         * plugins/elements/gsttypefindelement.c: (free_entry),
6077         (gst_type_find_element_chain):
6078           Now that we're not leaking factories, make sure we keep references
6079           to them while we need them.
6080
6081 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6082
6083         * tests/check/gst/struct_i386.h:
6084           ifdef out the XML structs
6085
6086 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6087
6088         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6089           floor is not needed, F is always positive; this obviates the
6090           need for adding -lm when building without libxml
6091
6092 2005-12-12  Wim Taymans  <wim@fluendo.com>
6093
6094         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6095         Take current playback rate into account when reporting
6096         the position.
6097
6098 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6099
6100         * docs/manual/mime-world.fig:
6101           Let's try this again, this time with a file that is
6102           actually in XFig format.
6103
6104 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6105
6106         * docs/manual/mime-world.fig:
6107           Add audioconvert element to diagram so that it
6108           matches the text and the code (fixes #319526).
6109
6110 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6111
6112         * docs/pwg/building-chainfn.xml:
6113         * docs/pwg/building-pads.xml:
6114         * docs/pwg/building-state.xml:
6115         * docs/pwg/other-source.xml:
6116           Update state change stuff for 0.10 (fixes #322969).
6117
6118 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6119
6120         * docs/manual/advanced-dataaccess.xml:
6121         * docs/manual/appendix-checklist.xml:
6122         * docs/manual/appendix-programs.xml:
6123         * docs/manual/basics-pads.xml:
6124         * docs/manual/highlevel-components.xml:
6125         * docs/manual/manual.xml:
6126           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6127           add converters in front of pipelines; remove curly
6128           brackets for threads stuff, they no longer exist; use
6129           GST_TYPE_FRACTION for framerates; update some pieces of
6130           code to 0.10, but there's plenty more to do.
6131
6132         * docs/manual/appendix-porting.xml:
6133           Expand on asynchroneous state changes; s/0.9/0.10/;
6134           mention disappearance of gst_init_get_popt_table()
6135           (fixes #322916).
6136
6137 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6138
6139         * docs/faq/using.xml:
6140           Spider no longer exists, and neither does gst-launch-ext.
6141           Update examples to use decodebin and playbin and put
6142           converters in front of sinks (fixes #323726).
6143
6144 2005-12-09  Michael Smith  <msmith@fluendo.com>
6145
6146         * plugins/elements/gsttypefindelement.c: (find_peek),
6147         (gst_type_find_element_chain):
6148           Fix leaking element factories in typefinding.
6149           Fix problem where we forgot about a probable type on non-seekable
6150           files, and thus later mis-typefound it.
6151
6152 2005-12-09  Michael Smith  <msmith@fluendo.com>
6153
6154         * common/m4/gst-makecontext.m4:
6155         * common/m4/gst-mcsc.m4:
6156         * configure.ac:
6157         * win32/common/config.h:
6158         * win32/common/config.h.in:
6159           Remove makecontext stuff; not used in 0.10 and causes problems on
6160           HPUX according to bug #322441
6161
6162 2005-12-07  Wim Taymans  <wim@fluendo.com>
6163
6164         * tests/check/Makefile.am:
6165         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
6166         (main):
6167         * tests/check/libs/struct_i386.h:
6168         Added ABI check for libs
6169
6170 2005-12-07  Wim Taymans  <wim@fluendo.com>
6171
6172         * tests/check/Makefile.am:
6173         And add the struct_i386.h to dist.
6174
6175 2005-12-07  Wim Taymans  <wim@fluendo.com>
6176
6177         * tests/check/Makefile.am:
6178         * tests/check/gst/.cvsignore:
6179         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
6180         (main):
6181         * tests/check/gst/struct_i386.h:
6182         Added check for ABI compatibility.
6183
6184 2005-12-07  Wim Taymans  <wim@fluendo.com>
6185
6186         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6187         (gst_fake_src_get_times), (gst_fake_src_create):
6188         Fix broken sync option, fixes #323259
6189
6190 2005-12-07  Wim Taymans  <wim@fluendo.com>
6191
6192         * gst/gstbuffer.c:
6193         Small docs update.
6194
6195         * gst/gstcaps.c: (gst_caps_is_equal):
6196         Don't assert on NULL <--> X. Fixes #323260
6197
6198         * gst/gstminiobject.c: (gst_mini_object_replace):
6199         If we're doing atomic operations, we might just as well use
6200         the proper way to get an atomic pointer.
6201
6202         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6203         Clean up debugging.
6204
6205 2005-12-07  Michael Smith  <msmith@fluendo.com>
6206
6207         * gst/parse/grammar.y:
6208           Remove handling of { } for threads.
6209
6210 2005-12-06  David Schleef  <ds@schleef.org>
6211
6212         * libs/gst/base/gstbasetransform.c: speling fix.
6213
6214 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6215
6216         * docs/libs/tmpl/gstdataprotocol.sgml:
6217         * docs/random/omega/testing/gstobject.c:
6218         * gst/gst.c:
6219         * gst/gstclock.c:
6220         * gst/gstelement.c:
6221         * gst/gstelementfactory.c:
6222         * gst/gsterror.c:
6223         * gst/gstevent.c:
6224         * gst/gstghostpad.c:
6225         * gst/gstinfo.c:
6226         * gst/gstpadtemplate.c:
6227         * gst/gstregistryxml.c:
6228         * gst/gsttaglist.c:
6229         * gst/gsttagsetter.c:
6230         * gst/gsttypefind.c:
6231         * gst/gstvalue.c:
6232         * libs/gst/base/gstbasesrc.c:
6233         * libs/gst/net/gstnetclientclock.c:
6234         * libs/gst/net/gstnettimeprovider.c:
6235         * plugins/elements/gstfakesrc.c:
6236         * plugins/elements/gstfdsrc.c:
6237         * plugins/elements/gstfilesrc.c:
6238         * plugins/elements/gstidentity.c:
6239         * plugins/elements/gstqueue.c:
6240         * plugins/elements/gsttypefindelement.c:
6241         * plugins/indexers/gstfileindex.c:
6242         * plugins/indexers/gstmemindex.c:
6243         * tests/check/gst/gsttag.c:
6244         * tests/old/examples/cutter/cutter.c:
6245         * tests/old/examples/mixer/mixer.c:
6246         * tests/old/examples/xml/runxml.c: (main):
6247         * tests/old/testsuite/caps/normalisation.c:
6248         * tests/old/testsuite/debug/global.c:
6249         * tests/old/testsuite/parse/parse1.c:
6250         * tools/gst-xmlinspect.c:
6251         * win32/common/dirent.c:
6252           expand tabs
6253
6254 === release 0.10.0 ===
6255
6256 2005-12-05   <thomas (at) apestaart (dot) org>
6257
6258         * configure.ac:
6259           releasing 0.10.0, "Maroilles"
6260
6261 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6262
6263         submitted by: Funda Wang <fundawang@linux.net.cn>
6264
6265         * po/LINGUAS:
6266         * po/zh_CN.po:
6267           added Chinese (Traditional) translation
6268
6269 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6270
6271         * docs/gst/gstreamer-sections.txt:
6272         * docs/libs/tmpl/gstdataprotocol.sgml:
6273         * docs/random/thomasvs/TODO:
6274         * gst/gstutils.c:
6275         * gst/gstutils.h:
6276           fix docs
6277
6278 2005-12-05  Andy Wingo  <wingo@pobox.com>
6279
6280         patch by: Wim Taymans <wim@fluendo.com>
6281
6282         * libs/gst/base/gstbasetransform.c
6283         (gst_base_transform_prepare_output_buf)
6284         (gst_base_transform_buffer_alloc):
6285         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
6286         alloc_buffer_and_set_caps.
6287
6288         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
6289         set_caps on the source pad.
6290         (gst_pad_alloc_buffer_and_set_caps): New function, does what
6291         alloc_buffer used to do. Fixes #322874.
6292
6293         * docs/gst/gstreamer-sections.txt: 
6294         * docs/design/part-negotiation.txt: 
6295         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
6296         changes.
6297
6298 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6299
6300         patch by: Sebastien Moutte
6301
6302         * win32/MANIFEST:
6303         * win32/common/config.h.in:
6304         * win32/vs6/libgstcontroller.dsp:
6305           win32 build fixes
6306
6307 2005-12-05  Wim Taymans  <wim@fluendo.com>
6308
6309         * gst/gstcaps.c: (gst_caps_is_equal):
6310         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6311         (gst_fake_src_create):
6312         Back out previous code changes, leave doc updates, file bugs 
6313         instead. 
6314
6315 2005-12-05  Wim Taymans  <wim@fluendo.com>
6316
6317         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6318         (gst_fake_src_get_times), (gst_fake_src_create):
6319         * plugins/elements/gstfakesrc.h:
6320         Fix broken sync code.
6321
6322 2005-12-05  Wim Taymans  <wim@fluendo.com>
6323
6324         * gst/gstcaps.c: (gst_caps_is_equal):
6325         Comparing NULL against !NULL yields different caps, not a
6326         failure.
6327
6328 2005-12-05  Wim Taymans  <wim@fluendo.com>
6329
6330         * gst/gstpipeline.c:
6331         Fix small typo in docs.
6332
6333 2005-12-05  Andy Wingo  <wingo@pobox.com>
6334
6335         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
6336
6337         * gst/gst.c (init_post): remove hard-coded 0.9 location for
6338         registries/plugins with a MAJORMINOR one.
6339         (plugin_desc): Rename library from gstcoreleements to
6340         staticelements. Fixes #323222.
6341
6342 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
6343
6344         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
6345           Change debug category to 'collectpads' from 'collect_pads'
6346           (fixes #323250).
6347
6348 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6349
6350         patch by: Sebastien Moutte
6351
6352         * libs/gst/controller/gstinterpolation.c:
6353           use convert function for uint64/double
6354         * win32/vs6/libgstcontroller.dsp:
6355           link to GLib
6356
6357 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6358
6359         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
6360         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
6361         * gst/gstutils.h:
6362         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6363           add tests that seem to show that the guint64/gdouble conversions
6364           are correct.
6365
6366 2005-12-02  Wim Taymans  <wim@fluendo.com>
6367
6368         * gst/gstregistry.c: (gst_registry_add_path):
6369         * gst/gstregistry.h:
6370         * gst/gstregistryxml.c:
6371         Fix docs again.
6372
6373 2005-12-02  Wim Taymans  <wim@fluendo.com>
6374
6375         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6376         (gst_util_uint64_scale_int):
6377         Small cleanup.
6378
6379         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6380         Add debug log line.
6381
6382         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
6383         Add FIXME.
6384
6385 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6386
6387         * win32/MANIFEST:
6388         * win32/common/config.h:
6389         * win32/vs6/gstreamer.dsw:
6390         * win32/vs6/libgstcoreelements.dsp:
6391         * win32/vs6/libgstelements.dsp:
6392           renamed core elements plugin
6393
6394 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6395
6396         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
6397         (get_candidates):
6398           do piece-wise major/minor comparison so 0.9 < 0.10
6399           also allow .exe extensions for tools
6400
6401 2005-12-02  Michael Smith  <msmith@fluendo.com>
6402
6403         * gst/gst.c:
6404           Escape a % to make gtkdoc happier; bug 322958.
6405
6406 === release 0.9.7 ===
6407
6408 2005-12-01   <thomas (at) apestaart (dot) org>
6409
6410         * configure.ac:
6411           releasing 0.9.7, "My Dog Has No Nose"
6412
6413 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6414
6415         * common/gst-xmlinspect.py:
6416         * configure.ac:
6417         * docs/libs/tmpl/gstdataprotocol.sgml:
6418         * docs/random/release:
6419         * po/af.po:
6420         * po/az.po:
6421         * po/bg.po:
6422         * po/ca.po:
6423         * po/cs.po:
6424         * po/de.po:
6425         * po/en_GB.po:
6426         * po/fr.po:
6427         * po/it.po:
6428         * po/nb.po:
6429         * po/nl.po:
6430         * po/ru.po:
6431         * po/sq.po:
6432         * po/sr.po:
6433         * po/sv.po:
6434         * po/tr.po:
6435         * po/uk.po:
6436         * po/vi.po:
6437         * win32/common/config.h:
6438         * win32/common/config.h.in:
6439         * win32/vs6/gst_inspect.dsp:
6440         * win32/vs6/gst_launch.dsp:
6441         * win32/vs6/libgstbase.dsp:
6442         * win32/vs6/libgstelements.dsp:
6443         * win32/vs6/libgstreamer.dsp:
6444         * win32/vs7/GStreamer.vcproj:
6445         * win32/vs7/gst-inspect.vcproj:
6446         * win32/vs7/gst-launch.vcproj:
6447         * win32/vs7/libgstbase.vcproj:
6448           bump GST_MAJORMINOR to 0.10
6449           reset libtool version
6450
6451 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6452
6453         * po/LINGUAS:
6454         * po/bg.po:
6455           Added Bulgarian translation by (Alexander Shopov)
6456
6457 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6458
6459         * tests/check/gst/gstplugin.c:
6460           fix test
6461
6462 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6463
6464         * common/gst-xmlinspect.py:
6465         * common/gtk-doc-plugins.mak:
6466         * configure.ac:
6467         * docs/Makefile.am:
6468         * docs/gst/Makefile.am:
6469         * docs/gst/gstreamer-docs.sgml:
6470         * docs/gst/gstreamer-sections.txt:
6471         * docs/gst/gstreamer.types:
6472         * docs/gst/gstreamer.types.in:
6473         * docs/plugins/Makefile.am:
6474         * docs/plugins/gstreamer-plugins-docs.sgml:
6475         * docs/plugins/gstreamer-plugins-sections.txt:
6476         * docs/plugins/gstreamer-plugins.types:
6477         * docs/plugins/inspect.stamp:
6478         * docs/plugins/inspect/plugin-coreelements.xml:
6479         * docs/plugins/inspect/plugin-coreindexers.xml:
6480         * docs/plugins/scanobj-build.stamp:
6481         * gstreamer.spec.in:
6482         * plugins/elements/Makefile.am:
6483         * plugins/elements/gstelements.c:
6484         * plugins/elements/gstfakesink.c:
6485         * plugins/elements/gstfakesrc.c:
6486         * plugins/elements/gstfilesink.c:
6487         * plugins/elements/gstfilesrc.c:
6488         * plugins/elements/gstqueue.c:
6489         * plugins/indexers/Makefile.am:
6490         * plugins/indexers/gstindexers.c:
6491           document core plugins in a separate document just like all the
6492           others
6493           rename these plugins to something starting with core
6494
6495 2005-12-01  Andy Wingo  <wingo@pobox.com>
6496
6497         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
6498         padding here before, but it missed the commit.
6499
6500 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6501
6502         * libs/gst/controller/gstinterpolation.c:
6503           whitespace prices have crashed, we should feel free to use some now
6504           use gst_guint64_to_gdouble
6505
6506 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6507
6508         * libs/gst/controller/gstcontroller.c:
6509         * libs/gst/controller/gsthelper.c:
6510         * libs/gst/controller/gstinterpolation.c:
6511         * libs/gst/controller/lib.c:
6512           wrap config.h include
6513
6514 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6515
6516         * docs/gst/gstreamer-sections.txt:
6517           update docs
6518
6519 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6520
6521         * plugins/elements/gstelements.c:
6522         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
6523         (gst_fd_sink__class_init), (gst_fd_sink__init),
6524         (gst_fd_sink__chain), (gst_fd_sink__set_property),
6525         (gst_fd_sink__get_property):
6526         * plugins/elements/gstfdsink.h:
6527         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
6528         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
6529         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
6530         (gst_fd_src_unlock), (gst_fd_src_set_property),
6531         (gst_fd_src_get_property), (gst_fd_src_create),
6532         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
6533         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
6534         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
6535         (gst_fd_src_uri_handler_init):
6536         * plugins/elements/gstfdsrc.h:
6537         * plugins/elements/gstqueue.c: (gst_queue_get_type):
6538           more anal cleanup
6539
6540 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6541
6542         * docs/gst/Makefile.am:
6543         * docs/gst/gstreamer.types.in:
6544         * gst/Makefile.am:
6545           fix the docs build
6546
6547 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6548
6549         * configure.ac:
6550         * gst/Makefile.am:
6551         * gst/gst.c:
6552         * gst/gstplugin.h:
6553         * gst/gstregistry.h:
6554         * tests/benchmarks/complexity.c:
6555         * tests/benchmarks/mass-elements.c:
6556         * tests/check/Makefile.am:
6557         * tools/Makefile.am:
6558         * tools/gst-inspect.c:
6559         * tools/gst-xmlinspect.c:
6560           various fixes to make
6561           --disable-nls --disable-registry --disable-loadsave
6562           --disable-parse --disable-gst-debug
6563           work and get the core .so down to 360444 bytes after stripping
6564
6565 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6566
6567         * Makefile.am:
6568         * configure.ac:
6569           descend into tests
6570         * docs/random/thomasvs/TODO:
6571         * tests/Makefile.am:
6572         * tests/README:
6573           add a README
6574
6575 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6576
6577         * win32/GStreamer.vcproj:
6578         * win32/MANIFEST:
6579         * win32/Makefile:
6580         * win32/Makefile.inspect:
6581         * win32/Makefile.launch:
6582         * win32/Makefile.register:
6583         * win32/README.txt:
6584         * win32/gst-inspect.vcproj:
6585         * win32/gst-launch.vcproj:
6586         * win32/gst-register.vcproj:
6587         * win32/gstelements.vcproj:
6588         * win32/gstgetbits.def:
6589         * win32/gstgetbits.vcproj:
6590         * win32/gstreamer-dbg.def:
6591         * win32/gstreamer.def:
6592         * win32/libgstbase.def:
6593         * win32/libgstbase.vcproj:
6594         * win32/link_oldruntime.c:
6595         * win32/mman.c:
6596         * win32/mman.h:
6597         * win32/mman.inl:
6598         * win32/msvc71.sln:
6599           move even more stuff, win32/ is nice and clean now
6600
6601 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6602
6603         * libs/gst/control/.cvsignore:
6604         * win32/MANIFEST:
6605         * win32/config.h:
6606         * win32/dirent.c:
6607         * win32/dirent.h:
6608         * win32/gstbytestream.def:
6609         * win32/gstbytestream.vcproj:
6610         * win32/gstconfig.h:
6611         * win32/gstenumtypes.c:
6612         * win32/gstenumtypes.h:
6613         * win32/gstoptimalscheduler.vcproj:
6614         * win32/gstversion.h:
6615         * win32/gtchar.h:
6616         * win32/testsuite/bins.vcproj:
6617         * win32/testsuite/bytestream.vcproj:
6618         * win32/testsuite/caps.vcproj:
6619         * win32/testsuite/cleanup.vcproj:
6620         * win32/testsuite/clock.vcproj:
6621         * win32/testsuite/debug.vcproj:
6622         * win32/testsuite/dlopen.vcproj:
6623         * win32/testsuite/dynparams.vcproj:
6624         * win32/testsuite/elements.vcproj:
6625         * win32/testsuite/ghostpads.vcproj:
6626         * win32/testsuite/indexers.vcproj:
6627         * win32/testsuite/negotiation.vcproj:
6628         * win32/testsuite/parse.vcproj:
6629         * win32/testsuite/plugin.vcproj:
6630         * win32/testsuite/refcounting.vcproj:
6631         * win32/testsuite/schedulers.vcproj:
6632         * win32/testsuite/states.vcproj:
6633         * win32/testsuite/tags.vcproj:
6634         * win32/testsuite/threads.vcproj:
6635           remove old win32 stuff that isn't maintained and should be
6636           reorganized
6637
6638 2005-11-30  Andy Wingo  <wingo@pobox.com>
6639
6640         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
6641         loading the gst.interfaces python module bork.
6642
6643         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
6644         available since GLib 2.2. Fixes #318031.
6645
6646 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6647
6648         * Makefile.am:
6649         * check/.cvsignore:
6650         * check/Makefile.am:
6651         * check/elements/.cvsignore:
6652         * check/elements/fakesrc.c:
6653         * check/elements/fdsrc.c:
6654         * check/elements/identity.c:
6655         * check/generic/.cvsignore:
6656         * check/generic/states.c:
6657         * check/gst-libs/.cvsignore:
6658         * check/gst-libs/controller.c:
6659         * check/gst-libs/gdp.c:
6660         * check/gst/.cvsignore:
6661         * check/gst/capslist.h:
6662         * check/gst/gst.c:
6663         * check/gst/gstbin.c:
6664         * check/gst/gstbuffer.c:
6665         * check/gst/gstbus.c:
6666         * check/gst/gstcaps.c:
6667         * check/gst/gstelement.c:
6668         * check/gst/gstevent.c:
6669         * check/gst/gstghostpad.c:
6670         * check/gst/gstiterator.c:
6671         * check/gst/gstmessage.c:
6672         * check/gst/gstminiobject.c:
6673         * check/gst/gstobject.c:
6674         * check/gst/gstpad.c:
6675         * check/gst/gstpipeline.c:
6676         * check/gst/gstplugin.c:
6677         * check/gst/gstsegment.c:
6678         * check/gst/gststructure.c:
6679         * check/gst/gstsystemclock.c:
6680         * check/gst/gsttag.c:
6681         * check/gst/gstutils.c:
6682         * check/gst/gstvalue.c:
6683         * check/net/.cvsignore:
6684         * check/net/gstnetclientclock.c:
6685         * check/net/gstnettimeprovider.c:
6686         * check/pipelines/.cvsignore:
6687         * check/pipelines/cleanup.c:
6688         * check/pipelines/simple_launch_lines.c:
6689         * check/pipelines/stress.c:
6690         * check/states/.cvsignore:
6691         * check/states/sinks.c:
6692         * configure.ac:
6693         * examples/Makefile.am:
6694         * examples/appreader/.cvsignore:
6695         * examples/appreader/Makefile.am:
6696         * examples/appreader/appreader.c:
6697         * examples/controller/.cvsignore:
6698         * examples/controller/Makefile.am:
6699         * examples/controller/audio-example.c:
6700         * examples/cutter/.cvsignore:
6701         * examples/cutter/Makefile.am:
6702         * examples/cutter/cutter.c:
6703         * examples/cutter/cutter.h:
6704         * examples/events/Makefile.am:
6705         * examples/events/seek.c:
6706         * examples/helloworld/.cvsignore:
6707         * examples/helloworld/Makefile.am:
6708         * examples/helloworld/helloworld.c:
6709         * examples/helloworld2/.cvsignore:
6710         * examples/helloworld2/Makefile.am:
6711         * examples/helloworld2/helloworld2.c:
6712         * examples/launch/.cvsignore:
6713         * examples/launch/Makefile.am:
6714         * examples/launch/mp3parselaunch.c:
6715         * examples/launch/mp3play:
6716         * examples/manual/.cvsignore:
6717         * examples/manual/Makefile.am:
6718         * examples/manual/extract.pl:
6719         * examples/metadata/Makefile.am:
6720         * examples/metadata/read-metadata.c:
6721         * examples/mixer/.cvsignore:
6722         * examples/mixer/Makefile.am:
6723         * examples/mixer/mixer.c:
6724         * examples/mixer/mixer.h:
6725         * examples/pingpong/.cvsignore:
6726         * examples/pingpong/Makefile.am:
6727         * examples/pingpong/pingpong.c:
6728         * examples/plugins/.cvsignore:
6729         * examples/plugins/Makefile.am:
6730         * examples/plugins/example.c:
6731         * examples/plugins/example.h:
6732         * examples/pwg/.cvsignore:
6733         * examples/pwg/Makefile.am:
6734         * examples/pwg/extract.pl:
6735         * examples/queue/.cvsignore:
6736         * examples/queue/Makefile.am:
6737         * examples/queue/queue.c:
6738         * examples/queue2/.cvsignore:
6739         * examples/queue2/Makefile.am:
6740         * examples/queue2/queue2.c:
6741         * examples/queue3/.cvsignore:
6742         * examples/queue3/Makefile.am:
6743         * examples/queue3/queue3.c:
6744         * examples/queue4/.cvsignore:
6745         * examples/queue4/Makefile.am:
6746         * examples/queue4/queue4.c:
6747         * examples/retag/.cvsignore:
6748         * examples/retag/Makefile.am:
6749         * examples/retag/retag.c:
6750         * examples/retag/transcode.c:
6751         * examples/thread/.cvsignore:
6752         * examples/thread/Makefile.am:
6753         * examples/thread/thread.c:
6754         * examples/typefind/.cvsignore:
6755         * examples/typefind/Makefile.am:
6756         * examples/typefind/typefind.c:
6757         * examples/xml/.cvsignore:
6758         * examples/xml/Makefile.am:
6759         * examples/xml/createxml.c:
6760         * examples/xml/runxml.c:
6761         * tests/Makefile.am:
6762         * tests/check/Makefile.am:
6763         * testsuite/.cvsignore:
6764         * testsuite/Makefile.am:
6765         * testsuite/Rules:
6766         * testsuite/caps/.cvsignore:
6767         * testsuite/caps/Makefile.am:
6768         * testsuite/caps/app_fixate.c:
6769         * testsuite/caps/audioscale.c:
6770         * testsuite/caps/caps.c:
6771         * testsuite/caps/caps.h:
6772         * testsuite/caps/caps_strings:
6773         * testsuite/caps/compatibility.c:
6774         * testsuite/caps/deserialize.c:
6775         * testsuite/caps/enumcaps.c:
6776         * testsuite/caps/eratosthenes.c:
6777         * testsuite/caps/filtercaps.c:
6778         * testsuite/caps/fixed.c:
6779         * testsuite/caps/fraction-convert.c:
6780         * testsuite/caps/fraction-multiply-and-zero.c:
6781         * testsuite/caps/intersect2.c:
6782         * testsuite/caps/intersection.c:
6783         * testsuite/caps/normalisation.c:
6784         * testsuite/caps/random.c:
6785         * testsuite/caps/renegotiate.c:
6786         * testsuite/caps/sets.c:
6787         * testsuite/caps/simplify.c:
6788         * testsuite/caps/string-conversions.c:
6789         * testsuite/caps/structure.c:
6790         * testsuite/caps/subtract.c:
6791         * testsuite/caps/union.c:
6792         * testsuite/debug/.cvsignore:
6793         * testsuite/debug/Makefile.am:
6794         * testsuite/debug/category.c:
6795         * testsuite/debug/commandline.c:
6796         * testsuite/debug/global.c:
6797         * testsuite/debug/output.c:
6798         * testsuite/debug/printf_extension.c:
6799         * testsuite/dlopen/.cvsignore:
6800         * testsuite/dlopen/Makefile.am:
6801         * testsuite/dlopen/dlopen_gst.c:
6802         * testsuite/dlopen/loadgst.c:
6803         * testsuite/elements/.cvsignore:
6804         * testsuite/elements/Makefile.am:
6805         * testsuite/elements/gst-inspect-check.in:
6806         * testsuite/elements/struct_i386.h:
6807         * testsuite/elements/struct_size.c:
6808         * testsuite/indexers/.cvsignore:
6809         * testsuite/indexers/Makefile.am:
6810         * testsuite/indexers/cache1.c:
6811         * testsuite/indexers/indexdump.c:
6812         * testsuite/parse/.cvsignore:
6813         * testsuite/parse/Makefile.am:
6814         * testsuite/parse/parse1.c:
6815         * testsuite/parse/parse2.c:
6816         * testsuite/plugin/.cvsignore:
6817         * testsuite/plugin/Makefile.am:
6818         * testsuite/plugin/README:
6819         * testsuite/plugin/dynamic.c:
6820         * testsuite/plugin/linked.c:
6821         * testsuite/plugin/loading.c:
6822         * testsuite/plugin/registry.c:
6823         * testsuite/plugin/static.c:
6824         * testsuite/plugin/static2.c:
6825         * testsuite/plugin/testplugin.c:
6826         * testsuite/plugin/testplugin2.c:
6827         * testsuite/plugin/testplugin2_s.c:
6828         * testsuite/plugin/testplugin_s.c:
6829         * testsuite/refcounting/.cvsignore:
6830         * testsuite/refcounting/Makefile.am:
6831         * testsuite/refcounting/bin.c:
6832         * testsuite/refcounting/element.c:
6833         * testsuite/refcounting/element_pad.c:
6834         * testsuite/refcounting/mainloop.c:
6835         * testsuite/refcounting/mem.c:
6836         * testsuite/refcounting/mem.h:
6837         * testsuite/refcounting/object.c:
6838         * testsuite/refcounting/pad.c:
6839         * testsuite/refcounting/sched.c:
6840         * testsuite/refcounting/thread.c:
6841         * testsuite/states/.cvsignore:
6842         * testsuite/states/Makefile.am:
6843         * testsuite/states/bin.c:
6844         * testsuite/states/locked.c:
6845         * testsuite/states/parent.c:
6846         * testsuite/threads/.cvsignore:
6847         * testsuite/threads/159566.c:
6848         * testsuite/threads/159852.c:
6849         * testsuite/threads/Makefile.am:
6850         * testsuite/threads/queue.c:
6851         * testsuite/threads/signals.c:
6852         * testsuite/threads/staticrec.c:
6853         * testsuite/threads/thread.c:
6854         * testsuite/threads/threadb.c:
6855         * testsuite/threads/threadc.c:
6856         * testsuite/threads/threadd.c:
6857         * testsuite/threads/threade.c:
6858         * testsuite/threads/threadf.c:
6859         * testsuite/threads/threadg.c:
6860         * testsuite/threads/threadh.c:
6861         * testsuite/threads/threadi.c:
6862           move all of these under tests
6863
6864 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6865
6866         * configure.ac:
6867         * tests/Makefile.am:
6868           fix distcheck
6869
6870 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6871
6872         * docs/gst/gstreamer-sections.txt:
6873         * tests/sched/.cvsignore:
6874         * tests/sched/Makefile.am:
6875         * tests/sched/cases/(fs-fs).xml:
6876         * tests/sched/cases/(fs-i-fs).xml:
6877         * tests/sched/cases/(fs-i-i-fs).xml:
6878         * tests/sched/cases/(fs-i-q[i-fs]).xml:
6879         * tests/sched/dynamic-pipeline.c:
6880         * tests/sched/interrupt1.c:
6881         * tests/sched/interrupt2.c:
6882         * tests/sched/interrupt3.c:
6883         * tests/sched/runtestcases:
6884         * tests/sched/runxml.c:
6885         * tests/sched/sched-stress.c:
6886         * tests/sched/sort.c:
6887         * tests/sched/testcases:
6888         * tests/sched/testcases1.tc:
6889         * tests/seeking/.cvsignore:
6890         * tests/seeking/Makefile.am:
6891         * tests/seeking/seeking1.c:
6892         * tests/threadstate/.cvsignore:
6893         * tests/threadstate/Makefile.am:
6894         * tests/threadstate/test1.c:
6895         * tests/threadstate/test2.c:
6896         * tests/threadstate/threadstate1.c:
6897         * tests/threadstate/threadstate2.c:
6898         * tests/threadstate/threadstate3.c:
6899         * tests/threadstate/threadstate4.c:
6900         * tests/threadstate/threadstate5.c:
6901           remove obsolete tests
6902         * configure.ac:
6903         * tests/bench-complexity.scm:
6904         * tests/bench-mass_elements.scm:
6905         * tests/complexity.c:
6906         * tests/complexity.gnuplot:
6907         * tests/instantiate/.cvsignore:
6908         * tests/instantiate/Makefile.am:
6909         * tests/instantiate/caps.c:
6910         * tests/mass_elements.c:
6911         * tests/network-clock-utils.scm:
6912         * tests/network-clock.scm:
6913         * tests/plot-data:
6914         First pass at cleaning up tests/ dir before moving the rest
6915         Combined with CVS surgery
6916
6917 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6918
6919         * po/POTFILES.in:
6920           queue has moved, update
6921
6922 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6923
6924         * docs/gst/gstreamer-sections.txt:
6925           remove double entries from the docs
6926         * gst/gst_private.h:
6927         * gst/gstinfo.c: (_gst_debug_init):
6928           remove the THREAD debug category
6929         * gst/Makefile.am:
6930         * gst/gstqueue.c:
6931         * gst/gstqueue.h:
6932         * docs/gst/gstreamer.types:
6933         * plugins/elements/gstqueue.c: (gst_queue_get_type),
6934         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
6935           completely move queue and fix up debugging categories
6936
6937 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6938
6939         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6940           make initialization portable, using LL is not
6941
6942 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6943
6944         * win32/common/gstconfig.h:
6945           add large padding
6946
6947 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6948
6949         * win32/common/libgstreamer.def:
6950           rename symbols; sort base section
6951
6952 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6953
6954         * gst/gstclock.c: (do_linear_regression):
6955           remove crack non-portable handrolled DEBUG macro
6956
6957 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6958
6959         * docs/random/release:
6960           update notes
6961         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6962         (gst_object_flags_get_type), (register_gst_bin_flags),
6963         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6964         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6965         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6966         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6967         (gst_caps_flags_get_type), (register_gst_clock_return),
6968         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6969         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6970         (gst_clock_flags_get_type), (register_gst_state),
6971         (gst_state_get_type), (register_gst_state_change_return),
6972         (gst_state_change_return_get_type), (register_gst_state_change),
6973         (gst_state_change_get_type), (register_gst_element_flags),
6974         (gst_element_flags_get_type), (register_gst_core_error),
6975         (gst_core_error_get_type), (register_gst_library_error),
6976         (gst_library_error_get_type), (register_gst_resource_error),
6977         (gst_resource_error_get_type), (register_gst_stream_error),
6978         (gst_stream_error_get_type), (register_gst_event_type_flags),
6979         (gst_event_type_flags_get_type), (register_gst_event_type),
6980         (gst_event_type_get_type), (register_gst_seek_type),
6981         (gst_seek_type_get_type), (register_gst_seek_flags),
6982         (gst_seek_flags_get_type), (register_gst_format),
6983         (gst_format_get_type), (register_gst_index_certainty),
6984         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6985         (gst_index_entry_type_get_type),
6986         (register_gst_index_lookup_method),
6987         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6988         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6989         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6990         (gst_index_flags_get_type), (register_gst_debug_level),
6991         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6992         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6993         (gst_iterator_result_get_type), (register_gst_iterator_item),
6994         (gst_iterator_item_get_type), (register_gst_message_type),
6995         (gst_message_type_get_type), (register_gst_mini_object_flags),
6996         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6997         (gst_pad_link_return_get_type), (register_gst_flow_return),
6998         (gst_flow_return_get_type), (register_gst_activate_mode),
6999         (gst_activate_mode_get_type), (register_gst_pad_direction),
7000         (gst_pad_direction_get_type), (register_gst_pad_flags),
7001         (gst_pad_flags_get_type), (register_gst_pad_presence),
7002         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7003         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7004         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7005         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7006         (gst_plugin_flags_get_type), (register_gst_rank),
7007         (gst_rank_get_type), (register_gst_query_type),
7008         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7009         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7010         (gst_tag_flag_get_type), (register_gst_task_state),
7011         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7012         (gst_alloc_trace_flags_get_type),
7013         (register_gst_type_find_probability),
7014         (gst_type_find_probability_get_type), (register_gst_uri_type),
7015         (gst_uri_type_get_type), (register_gst_parse_error),
7016         (gst_parse_error_get_type):
7017         * win32/common/gstenumtypes.h:
7018         * win32/common/gstversion.h:
7019           update visual studio generated files
7020
7021 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7022
7023         * win32/vs6/libgstbase.dsp:
7024         * win32/vs6/libgstelements.dsp:
7025           update project files for new locations
7026
7027 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7028
7029         * Makefile.am:
7030           remove some files
7031         * README:
7032           reinstate and update
7033         * DEVEL:
7034         * REQUIREMENTS:
7035           removed
7036         * LICENSE:
7037         * docs/random/LICENSE:
7038           moved to random
7039
7040 2005-11-30  Edward Hervey  <edward@fluendo.com>
7041
7042         * gst/gsttypefind.c: (gst_type_find_register):
7043         * gst/gsttypefind.h:
7044         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7045         (gst_type_find_factory_dispose):
7046         * gst/gsttypefindfactory.h:
7047         Fix memory leak in GstTypeFindFactory.
7048
7049 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7050
7051         * gst/gst.c:
7052         * plugins/elements/Makefile.am:
7053         * plugins/elements/gstelements.c:
7054         * plugins/elements/gstqueue.c:
7055           move queue from core to the elements plugin
7056
7057 2005-11-29  Andy Wingo  <wingo@pobox.com>
7058
7059         * libs/gst/base/gstbasetransform.h: 
7060         * libs/gst/base/gstbasesrc.h: 
7061         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7062
7063         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7064         of pointers by which to pad very extensible base classes (like the
7065         ones in libs/gst/base).
7066
7067 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7068
7069         * docs/gst/gstreamer-docs.sgml:
7070         * docs/gst/gstreamer-sections.txt:
7071         * docs/libs/gstreamer-libs-docs.sgml:
7072         * docs/libs/gstreamer-libs-sections.txt:
7073           moving documentation from core to lib
7074
7075 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7076
7077         * check/Makefile.am:
7078         * configure.ac:
7079         * docs/gst/Makefile.am:
7080         * gst/Makefile.am:
7081         * gst/base/.cvsignore:
7082         * gst/base/Makefile.am:
7083         * gst/base/README:
7084         * gst/base/gstadapter.c:
7085         * gst/base/gstadapter.h:
7086         * gst/base/gstbasesink.c:
7087         * gst/base/gstbasesink.h:
7088         * gst/base/gstbasesrc.c:
7089         * gst/base/gstbasesrc.h:
7090         * gst/base/gstbasetransform.c:
7091         * gst/base/gstbasetransform.h:
7092         * gst/base/gstcollectpads.c:
7093         * gst/base/gstcollectpads.h:
7094         * gst/base/gstpushsrc.c:
7095         * gst/base/gstpushsrc.h:
7096         * gst/base/gsttypefindhelper.c:
7097         * gst/base/gsttypefindhelper.h:
7098         * gst/check/Makefile.am:
7099         * gst/check/gstcheck.c:
7100         * gst/check/gstcheck.h:
7101         * gst/net/Makefile.am:
7102         * gst/net/gstnet.h:
7103         * gst/net/gstnetclientclock.c:
7104         * gst/net/gstnetclientclock.h:
7105         * gst/net/gstnettimepacket.c:
7106         * gst/net/gstnettimepacket.h:
7107         * gst/net/gstnettimeprovider.c:
7108         * gst/net/gstnettimeprovider.h:
7109         * libs/gst/Makefile.am:
7110         * libs/gst/base/Makefile.am:
7111         * libs/gst/base/gstbasetransform.c:
7112         * libs/gst/check/Makefile.am:
7113         * plugins/elements/Makefile.am:
7114         * po/POTFILES.in:
7115           CVS surgery + support to move base, check, and net out of gst
7116           and into libs/gst
7117
7118 2005-11-29  Andy Wingo  <wingo@pobox.com>
7119
7120         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7121
7122         * gst/gststructure.h (struct _GstStructure): Only one pointer of
7123         padding.
7124
7125         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7126
7127         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7128
7129         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
7130
7131         * gst/gstobject.h: (struct _GstObject): Only one pointer of
7132         padding; reduces object size by about 30%. We don't expect
7133         anything else to go into gstobject.
7134
7135         * gst/gstminiobject.h (struct _GstMiniObject)
7136         (struct _GstMiniObjectClass): Only one pointer of padding; the
7137         payload is only a pointer and two ints anyway. For the class there
7138         are only two methods as well.
7139         
7140         * gst/gstelement.h (struct _GstElementClass): Removed
7141         the state_changed signal callback, it is not used.
7142
7143 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7144
7145         * docs/gst/gstreamer.types:
7146           fix includes, though they are a little dinky
7147
7148 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7149
7150         * check/Makefile.am:
7151           look in the right place for elements, a lot more chance of
7152           success
7153         * gst/Makefile.am:
7154           remove indexers and elements subdirs
7155         * plugins/Makefile.am:
7156           make indexers conditional
7157
7158 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7159
7160         * Makefile.am:
7161         * configure.ac:
7162         * plugins/elements/Makefile.am:
7163         * plugins/elements/gstcapsfilter.c:
7164         * plugins/elements/gstfilesink.c:
7165         * plugins/elements/gstfilesrc.c:
7166         * plugins/elements/gstidentity.c:
7167         * plugins/indexers/Makefile.am:
7168           do CVS surgery and related build fixery to move elements
7169           and indexers in a new gstreamer/plugins directory, out of the
7170           gst/ directory
7171
7172 2005-11-29  Andy Wingo  <wingo@pobox.com>
7173
7174         * check/Makefile.am:
7175         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7176         * pkgconfig/gstreamer-net.pc.in:
7177         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
7178         #322257.
7179
7180 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7181
7182         * tools/Makefile.am:
7183         * tools/gst-complete.1.in:
7184         * tools/gst-complete.c:
7185         * tools/gst-compprep.1.in:
7186         * tools/gst-compprep.c:
7187           removing -compprep and -complete
7188
7189 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7190
7191         * gst/gstevent.c: (gst_event_new_new_segment),
7192         (gst_event_parse_new_segment):
7193         * gst/gstevent.h:
7194           fix #320529 - clean up new_segment API and structure.
7195           Let's hope everyone was using the methods, and not the structure.
7196
7197 2005-11-29  Edward Hervey  <edward@fluendo.com>
7198
7199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7200         (gst_base_sink_event), (gst_base_sink_do_sync),
7201         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7202         Properly handle non GST_FORMAT_TIME segment
7203         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7204         Properly handle non GST_FORMAT_TIME segment
7205         * gst/gstsegment.c:
7206         This function is valid if the accumulator is 0 and the format
7207         is different from the requested format.
7208         
7209 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7210
7211         * docs/gst/gstreamer-sections.txt:
7212         Add gst_query_new_seeking and gst_query_parse_seeking to the
7213         docs.
7214
7215 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7216
7217         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7218           Treat a pad alloc with new caps the same as if we were not
7219           negotiated, in order to allow a changing upstream output
7220           to produce a new format of data.
7221
7222 2005-11-29  Edward Hervey  <edward@fluendo.com>
7223
7224         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7225         (gst_base_transform_event), (gst_base_transform_eventfunc):
7226         The event virtual method is now properly implemented, with a default
7227         handler
7228         Sub classes should call the parent_class event method. They should
7229         return FALSE if they had a problem handling the given event, or don't
7230         want GstBaseTransform to send that even downstream
7231         * gst/elements/gstidentity.c: (gst_identity_class_init),
7232         (gst_identity_init), (gst_identity_event),
7233         (gst_identity_transform_ip), (gst_identity_set_property),
7234         (gst_identity_get_property):
7235         * gst/elements/gstidentity.h:
7236         Added the single-segment boolean property.
7237         If set to TRUE, it will output a single segment of data, starting from
7238         0, will eat up all incoming newsegment, and modify the timestamp of the
7239         buffers accordingly
7240
7241 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
7242
7243         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
7244           Don't ref NULL target pad (#322751). Improve docs.
7245
7246 2005-11-29  Michael Smith  <msmith@fluendo.com>
7247
7248         * gst/gstregistryxml.c: (load_plugin):
7249           Don't crash if we failed to load a feature from a plugin. 
7250
7251 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7252
7253         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7254         (GST_START_TEST):
7255           use more check API and less GLib API
7256
7257 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7258
7259         * Makefile.am:
7260           don't run checks if we don't have check
7261         * common/check.mak:
7262           remove the registry when running make torture
7263         * docs/gst/gstreamer-sections.txt:
7264           remove second multiply
7265         * gst/gstqueue.c: (gst_queue_loop):
7266           fix a compile warning when disabling debug
7267
7268 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7269
7270         * gst/gstinfo.h:
7271         Hey! Let's print the pad name if the pointer != NULL instead
7272         of when it == NULL :-)
7273
7274 2005-11-28  Wim Taymans  <wim@fluendo.com>
7275
7276         * check/gst/gstutils.c: (GST_START_TEST):
7277         Updated check, add some scaling accuracy checking code.
7278
7279         * gst/gstutils.c: (gst_util_div128_64),
7280         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
7281         (gst_util_uint64_scale_int):
7282         Fix 6 times faster division code. Optimize for common 
7283         1/1 and less common X/1 cases.
7284
7285 2005-11-28  Wim Taymans  <wim@fluendo.com>
7286
7287         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7288         More checks.
7289
7290         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
7291         (do_linear_regression), (gst_clock_add_observation):
7292         Cleanups.
7293         Release lock when the clock cannot be slaved.
7294         Catch the case where the regression returned an invalid denominator.
7295
7296         * gst/gstutils.c: (gst_util_div128_64_iterate),
7297         (gst_util_div128_64), (gst_util_uint64_scale_int64),
7298         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7299         Add protentially more performant non-iterative 128/64 divide function
7300         that unfortunatly does not work yet.
7301         Shortcut the trivial 0/X = 0 case.
7302         Remove the warnings on overflow.
7303
7304 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7305
7306         * gst/gstplugin.c: (gst_plugin_register_func):
7307           everything causing a plugin not to load should be at least a WARNING
7308
7309 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
7310
7311         * docs/random/ensonic/dparams.txt:
7312           some TODOs for the next dev cycle
7313         * libs/gst/controller/gstcontroller.c:
7314         (gst_controlled_property_set_interpolation_mode),
7315         (gst_controlled_property_new):
7316         * libs/gst/controller/gstcontroller.h:
7317           use base type to assign acccessor functions
7318
7319 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7320
7321         * check/Makefile.am:
7322         Oops, that should have been top_srcdir
7323
7324 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7325
7326         * check/Makefile.am:
7327         * check/elements/fdsrc.c: (GST_START_TEST):
7328         Use a cmdline define to specify the location of a file to use for
7329         testing, to avoid breaking distcheck.
7330
7331 2005-11-28  Andy Wingo  <wingo@pobox.com>
7332
7333         * gst/gstpad.c (fixate_value): Use array functions for arrays.
7334
7335 2005-11-28  Edward Hervey  <edward@fluendo.com>
7336
7337         * tools/gst-launch.c: (main):
7338         Clarify the output strings, makes it easier to translate.
7339         Fixes #322626
7340
7341 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7342
7343         * gst/Makefile.am:
7344           don't try and build net if we don't even have <sys/socket.h>
7345
7346 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
7347
7348         * check/Makefile.am:
7349         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
7350         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
7351           Add tests for fdsrc seekability
7352
7353         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7354         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
7355         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
7356         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
7357         * gst/elements/gstfdsrc.h:
7358           fdsrc should not be a 'live' source.
7359           Implement seeking on seekable fd's.
7360
7361         * gst/gstquery.c: (gst_query_new_seeking),
7362         (gst_query_parse_seeking):
7363         * gst/gstquery.h:
7364           Implement SEEKING query functions: 
7365             *_new_seeking and *_parse_seeking
7366
7367 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
7368
7369         * gst/gstelement.c: (gst_element_dispose):
7370           don't loop forever
7371
7372         * gst/gstiterator.c:
7373         * gst/gststructure.c:
7374           doc fixes
7375
7376         * libs/gst/controller/gstcontroller.c:
7377         (gst_controlled_property_set_interpolation_mode):
7378         * libs/gst/controller/gstcontroller.h:
7379         * libs/gst/controller/gstinterpolation.c:
7380         (interpolate_none_get_enum_value_array):
7381           support controlling enums
7382
7383 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7384
7385         * gst/gstvalue.c:
7386           Improve documentation for gst_value_union().
7387
7388         * gst/gstvalue.h:
7389           Change return value for union, intersect and subtract functions
7390           from gint to gboolean.
7391
7392 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7393
7394         * gst/gstvalue.c: (gst_value_serialize_any_list),
7395         (gst_value_transform_any_list_string),
7396         (gst_value_deserialize_list), (gst_value_deserialize_array),
7397         (gst_value_set_int_range), (gst_value_deserialize_int_range),
7398         (gst_value_set_double_range), (gst_value_deserialize_double_range),
7399         (gst_value_set_fraction_range_full),
7400         (gst_value_deserialize_fraction_range),
7401         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
7402         (gst_value_deserialize_boolean),
7403         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
7404         (gst_value_serialize_float), (gst_value_deserialize_float),
7405         (gst_string_wrap), (gst_value_deserialize_string),
7406         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
7407         (gst_value_union_int_range_int_range),
7408         (gst_value_intersect_int_range_int_range),
7409         (gst_value_intersect_double_range_double_range),
7410         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7411         (gst_value_subtract_int_range_int_range),
7412         (gst_value_subtract_double_double_range),
7413         (gst_value_subtract_double_range_double_range),
7414         (gst_value_deserialize_fraction):
7415         * gst/gstvalue.h:
7416           Use gint, gdouble and gchar in our API instead of int, double and
7417           char (and make usage in gstvalue.c more consistent).
7418
7419 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7420
7421         * check/Makefile.am:
7422         * libs/gst/controller/Makefile.am:
7423         * libs/gst/dataprotocol/Makefile.am:
7424           fix up Makefile.am and remove GST_ENABLE_NEW
7425
7426 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7427
7428         * configure.ac:
7429         * gst/Makefile.am:
7430         * gst/base/Makefile.am:
7431         * gst/check/Makefile.am:
7432         * gst/elements/Makefile.am:
7433         * gst/net/Makefile.am:
7434           update LDFLAGS use some more
7435
7436 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7437
7438         * common/m4/gst-doc.m4:
7439           Fixes #312589
7440
7441 2005-11-26  Edward Hervey  <edward@fluendo.com>
7442
7443         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7444         This shouldn't issue a g_warning since it returns NULL if it
7445         couldn't find the plugin, and all functions using this behave
7446         properly on a NULL return. Switching to a GST_WARNING.
7447
7448 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
7449
7450         * gst/gstbin.c: (gst_bin_handle_message_func):
7451         Don't leak clock messages.
7452
7453 2005-11-25  Wim Taymans  <wim@fluendo.com>
7454
7455         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7456         (gst_util_uint64_scale_int):
7457         Optimisations, remove unneeded vars.
7458
7459 2005-11-25  Wim Taymans  <wim@fluendo.com>
7460
7461         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7462         Added more checks for the high precision uint64 cases.
7463
7464         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7465         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7466         Implement high precision (guint64 * guint64) / guint64.
7467
7468 2005-11-24  Wim Taymans  <wim@fluendo.com>
7469
7470         * gst/base/gstbasesrc.c: (gst_base_src_query):
7471         Fix wrong percentage query.
7472
7473         * gst/gstutils.c: (gst_util_uint64_scale),
7474         (gst_util_uint64_scale_int):
7475         Add some more common cases that can be handled 
7476         efficiently to _scale.
7477
7478 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7479
7480         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
7481         (gst_mini_object_suite):
7482           don't use check calls from threads; check probably isn't
7483           threadsafe and using a lock to make it threadsafe would
7484           defeat the purpose of this check
7485         * gst/check/gstcheck.c:
7486         * gst/check/gstcheck.h:
7487           use GST_DEBUG some more
7488
7489 2005-11-24  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/gstutils.c: (gst_util_uint64_scale),
7492         (gst_util_uint64_scale_int):
7493         Chain trivial case to _scale_int.
7494
7495 2005-11-24  Wim Taymans  <wim@fluendo.com>
7496
7497         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7498         Added test for scaling.
7499
7500         * gst/gstclock.h:
7501         Small doc fix.
7502
7503         * gst/gstutils.c: (gst_util_uint64_scale_int):
7504         Implemented high precision scaling code.
7505
7506 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
7507
7508         * gst/gstinfo.h:
7509           do not crash on pad==NULL
7510
7511 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7512
7513         Patch by: Stefan Kost
7514
7515         * common/gtk-doc.mak:
7516         * docs/gst/Makefile.am:
7517         * docs/libs/Makefile.am:
7518           Fix distcheck issues for the libraries docs build
7519           Closes #319599.
7520
7521 2005-11-24  Michael Smith <msmith@fluendo.com>
7522
7523         * docs/manual/basics-helloworld.xml:
7524           Fix bug #315027: memory leak in example code in docs.
7525
7526 2005-11-24  Michael Smith <msmith@fluendo.com>
7527
7528         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7529           Unlock the PREROLL_LOCK in a failure case.
7530
7531 2005-11-24  Wim Taymans  <wim@fluendo.com>
7532
7533         * docs/gst/gstreamer-sections.txt:
7534         * gst/base/gstadapter.h:
7535         * gst/base/gstbasesink.h:
7536         * gst/base/gstbasesrc.h:
7537         * gst/base/gstbasetransform.h:
7538         * gst/base/gstpushsrc.h:
7539         * gst/elements/gstfakesink.h:
7540         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
7541         * gst/elements/gstfakesrc.h:
7542         * gst/elements/gstfilesink.h:
7543         * gst/elements/gstfilesrc.h:
7544         * gst/gst.c:
7545         * gst/gstbin.c:
7546         * gst/gstbuffer.c: (_gst_buffer_copy):
7547         * gst/gstbus.h:
7548         * gst/gstcaps.c:
7549         * gst/gstchildproxy.c:
7550         * gst/gstclock.c:
7551         * gst/gstelement.c:
7552         * gst/gstelementfactory.c:
7553         * gst/gstelementfactory.h:
7554         * gst/gstevent.c:
7555         * gst/gstghostpad.h:
7556         * gst/gstindex.h:
7557         * gst/gstinterface.h:
7558         * gst/gstminiobject.c:
7559         * gst/gstminiobject.h:
7560         * gst/gstpad.c:
7561         * gst/gstpad.h:
7562         * gst/gstpadtemplate.h:
7563         * gst/gstpipeline.h:
7564         * gst/gstpluginfeature.h:
7565         * gst/gstquery.h:
7566         * gst/gstqueue.h:
7567         * gst/gsttaglist.c:
7568         * gst/gsttaglist.h:
7569         * gst/gsttagsetter.c:
7570         * gst/gsttagsetter.h:
7571         * gst/gsttrace.c:
7572         * gst/gsttrace.h:
7573         * gst/gsttypefind.h:
7574         * gst/gsturi.h:
7575         * gst/gstvalue.c:
7576         * gst/net/gstnetclientclock.c:
7577         * gst/net/gstnetclientclock.h:
7578         * gst/net/gstnettimepacket.c:
7579         * gst/net/gstnettimeprovider.c:
7580         * gst/net/gstnettimeprovider.h:
7581         Doc fixes.
7582
7583 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7584
7585         * configure.ac: back to HEAD
7586
7587 === release 0.9.6 ===
7588
7589 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
7590
7591         * configure.ac:
7592           releasing 0.9.6, "Always On Time"
7593
7594 2005-11-23  Wim Taymans  <wim@fluendo.com>
7595
7596         * docs/gst/gstreamer-sections.txt:
7597         * gst/glib-compat.c:
7598         * gst/gsttagsetter.c:
7599         * gst/gstvalue.c:
7600         * gst/net/gstnetclientclock.c:
7601         * gst/net/gstnettimepacket.h:
7602         Doc updates.
7603
7604 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7605
7606         * docs/faq/using.xml:
7607         * docs/libs/tmpl/gstcontrol.sgml:
7608         * docs/manual/advanced-dparams.xml:
7609         * docs/manual/appendix-checklist.xml:
7610         * docs/manual/basics-elements.xml:
7611         * docs/pwg/other-source.xml:
7612         * docs/random/moving-plugins:
7613         * gst/gstpad.c:
7614         * tools/gst-launch.1.in:
7615           remove mentions of sinesrc
7616
7617 2005-11-23  Michael Smith <msmith@fluendo.com>
7618
7619         * docs/gst/gstreamer-sections.txt:
7620           Update for new API and API changes.
7621         * gst/gstobject.h:
7622           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
7623         * gst/gstvalue.c:
7624           Documentation typo fix.
7625         * gst/net/gstnettimepacket.c:
7626           Documentation fixes for arguments.
7627
7628 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
7629
7630         * gst/gststructure.c: (gst_structure_get_fraction),
7631         (gst_structure_parse_value),
7632         (gst_structure_fixate_field_nearest_fraction):
7633         * gst/gststructure.h:
7634         * gst/gstutils.c: (gst_util_uint64_scale_int):
7635         * gst/gstutils.h:
7636         * scripts/update-funcnames:
7637         API Changes. 
7638         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
7639         Make gst_structure_fixate_field_nearest_fraction take a numerator
7640         and denominator argument instead of a GValue
7641         add gst_structure_get_fraction helper function.
7642
7643 2005-11-23  Wim Taymans  <wim@fluendo.com>
7644
7645         * docs/design/part-TODO.txt:
7646         Update TODO.
7647
7648         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7649         * gst/net/gstnetclientclock.h:
7650         Use parent fields for timeout and window_size.
7651
7652 2005-11-23  Andy Wingo  <wingo@pobox.com>
7653
7654         * check/net/gstnetclientclock.c (test_functioning): Adjust to
7655         rate_num/rate_denom change.
7656
7657         * gst/net/gstnetclientclock.c
7658         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
7659         OBJECT_LOCK. Don't call add_observation with the lock.
7660
7661         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
7662         fraction.
7663         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
7664         rate fraction.
7665         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
7666         deal with rate as a fraction whose numerator and denominator are
7667         GstClockTime values.
7668         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
7669         master; the other fields are protected by the SLAVE_LOCK.
7670         (do_linear_regression): Note that this must be called with the
7671         SLAVE_LOCK.
7672         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
7673         OBJECT_LOCK. Call set_calibration instead of touching the
7674         variables directly.
7675         (gst_clock_set_property, gst_clock_get_property): Protect
7676         master/slave parameters with the SLAVE_LOCK.
7677
7678         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
7679         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
7680         note that all of the instance variables that add_observation and
7681         the set_master functions use are protected by that lock and not
7682         the OBJECT_LOCK.
7683         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
7684
7685         * gst/gstclock.c (gst_clock_add_observation): No longer requires
7686         the caller to take the object lock.
7687
7688 2005-11-23  Wim Taymans  <wim@fluendo.com>
7689
7690         * gst/gsterror.c: (_gst_core_errors_init):
7691         * gst/gsterror.h:
7692         Add error for clock stuff.
7693
7694         * gst/gstpipeline.c: (gst_pipeline_change_state),
7695         (gst_pipeline_set_clock):
7696         Post clock error when clock cannot be used in a pipeline.
7697
7698 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
7699
7700         * docs/gst/gstreamer-sections.txt:
7701           make two symbols from gstinfo private for the docs
7702         * gst/base/gstcollectpads.h:
7703         * gst/gstutils.c:
7704           fix doc typos, update docs
7705
7706 2005-11-22  Wim Taymans  <wim@fluendo.com>
7707
7708         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7709         (gst_base_sink_wait), (gst_base_sink_do_sync),
7710         (gst_base_sink_handle_event):
7711         * gst/base/gstbasesink.h:
7712         No need to store the clock, the parent element class already
7713         has it.
7714
7715         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
7716         Updates for clock_set returning a gboolean
7717
7718         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
7719         (gst_clock_id_wait_async), (gst_clock_class_init),
7720         (gst_clock_init), (gst_clock_finalize),
7721         (gst_clock_get_internal_time), (gst_clock_get_time),
7722         (gst_clock_slave_callback), (gst_clock_set_master),
7723         (gst_clock_get_master), (do_linear_regression),
7724         (gst_clock_add_observation), (gst_clock_set_property),
7725         (gst_clock_get_property):
7726         * gst/gstclock.h:
7727         Implement master/slave. When setting a clock as a slave, a
7728         periodic timeout is scheduled to sample master and slave times.
7729         Then the slave clock is recalibrated to match offset and rate
7730         of the master clock.
7731         Update logging a bit.
7732         Add flag so that a clock can state that is cannot be slaved to
7733         another clock.
7734
7735         * gst/gstelement.c: (gst_element_set_clock):
7736         * gst/gstelement.h:
7737         The set clock returns a gboolean for when an element cannot
7738         deal with the selected clock in the pipeline. 
7739
7740         * gst/gstpipeline.c: (gst_pipeline_change_state),
7741         (gst_pipeline_set_clock):
7742         * gst/gstpipeline.h:
7743         Handle the case where the selected clock cannot be set on
7744         the pipeline.
7745
7746         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
7747         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
7748         (gst_net_client_clock_set_property),
7749         (gst_net_client_clock_get_property),
7750         (gst_net_client_clock_observe_times):
7751         * gst/net/gstnetclientclock.h:
7752         Use regression code in GstClock parent, remove duplicated
7753         functionality.
7754
7755 2005-11-22  Michael Smith <msmith@fluendo.com>
7756
7757         * gst/gstutils.c: (gst_util_clock_time_scale):
7758         * gst/gstutils.h:
7759         * docs/gst/gstreamer-sections.txt:
7760           Rename method to have extra underscore.
7761
7762 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7763
7764         * gst/elements/Makefile.am:
7765         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
7766         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7767         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
7768         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
7769         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
7770         * gst/elements/gstfakesrc.h:
7771         * gst/gstqueue.c: (queue_leaky_get_type):
7772           correctly fix GEnumValues so that nick is the short lowercase
7773           dashed tag
7774         * tools/gst-inspect.c: (print_element_properties_info):
7775           also show the nick, since it's useful to use from parse_launch
7776           syntax
7777           Fixes #322139
7778
7779 2005-11-22  Michael Smith <msmith@fluendo.com>
7780
7781         * gst/gstutils.c: (gst_util_clocktime_scale):
7782         * gst/gstutils.h:
7783         * docs/gst/gstreamer-sections.txt:
7784           Add util method for scaling a clocktime by a fraction. Useful 
7785           implementation is left as an exercise for the reader.
7786
7787 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7788
7789         * gst/gstvalue.c: (gst_value_collect_fraction_range):
7790         If needed, allocate storage in the destination value during
7791         collection.
7792
7793 2005-11-22  Edward Hervey  <edward@fluendo.com>
7794
7795         * docs/gst/gstreamer-sections.txt:
7796         * gst/Makefile.am:
7797         * gst/gst.h:
7798         * gst/gsturitype.c:
7799         * gst/gsturitype.h:
7800         * gst/gstutils.c: (gst_util_set_object_arg):
7801         * tools/gst-compprep.c: (main):
7802         * tools/gst-inspect.c: (print_element_properties_info):
7803         Removed GstURI, closes bug #321061
7804
7805 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7806
7807         * check/gst/gststructure.c: (GST_START_TEST):
7808         * gst/gststructure.c: (gst_structure_parse_value):
7809           Oops, broke automatic string type parsing.
7810           Add a test to catch it in future.
7811
7812 2005-11-22  Andy Wingo  <wingo@pobox.com>
7813
7814         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
7815         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
7816         Actually rename the function implementations. Grr.
7817
7818 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7819
7820         * check/gst/capslist.h:
7821           Comment test cases
7822         * check/gst/gststructure.c: (GST_START_TEST),
7823         (gst_structure_suite):
7824           Test automatic value type detection in gst_structure_from_string.
7825         * gst/gststructure.c: (gst_structure_parse_value):
7826           Add fraction as a type we try and guess automatically in
7827           caps/structure strings.
7828
7829 2005-11-22  Andy Wingo  <wingo@pobox.com>
7830
7831         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
7832
7833         * gst/gsttagsetter.h:
7834         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
7835         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
7836         (gst_tag_setter_add_tag_valist)
7837         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
7838         _add_values, _add_valist, and _add_valist_values. Since this is an
7839         interface the function suffixes should be more explicit so
7840         language binding don't end up with element.add_valist ->
7841         gst_tag_setter_add_valist, for example. Fixes #322069.
7842
7843 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7844
7845         * check/gst/gstcaps.c: (GST_START_TEST):
7846           Extend caps string tests to check that a caps to string
7847           conversion is reversible and produces the same caps.
7848
7849         * gst/gststructure.c: (gst_structure_value_get_generic_type):
7850           Output "fraction" as the generic type fraction range, so caps
7851           serialisation and deserialisation works.
7852         * check/gst/capslist.h:
7853         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7854           Support 'MIN' and 'MAX' for deserialising fractions.
7855
7856 2005-11-22  Andy Wingo  <wingo@pobox.com>
7857
7858         * gst/gstevent.h (gst_event_new_new_segment)
7859         (gst_event_parse_new_segment, gst_event_new_buffer_size)
7860         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
7861         Renamed from *_newsegment, *_buffersize, *_notarget.
7862
7863         * scripts/update-funcnames: New script, performs the changes
7864         listed above.
7865
7866 2005-11-22  Wim Taymans  <wim@fluendo.com>
7867
7868         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7869         Make sure the GstFlowReturn is returned.
7870
7871         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
7872         (gst_bus_add_signal_watch):
7873         * gst/gstbus.h:
7874         add gst_bus_add_signal_watch_full.
7875
7876         * gst/gstplugin.c: (gst_plugin_load_file):
7877         Small style cleanup.
7878
7879 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7880
7881         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
7882           Block the fakesrc srcpad when we send an event, to avoid
7883           contention on the stream_lock causing random test failures.
7884
7885 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7886
7887         * check/gst/gstvalue.c: (GST_START_TEST):
7888         * gst/gstvalue.c: (gst_value_fraction_subtract):
7889           Fix subtraction.
7890
7891 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
7892
7893         * gst/gst.h:
7894           include "gstchildproxy.h"
7895         * gst/gstchildproxy.h:
7896         * libs/gst/controller/gstcontroller.h:
7897           use G_GNUC_NULL_TERMINATED
7898
7899 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7900
7901         * check/gst/capslist.h:
7902         * check/gst/gstcaps.c: (GST_START_TEST):
7903         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7904         * gst/gststructure.c: (gst_structure_parse_range),
7905         (gst_structure_fixate_field_nearest_fraction):
7906         * gst/gststructure.h:
7907         * gst/gstvalue.c: (gst_value_init_fraction_range),
7908         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
7909         (gst_value_collect_fraction_range),
7910         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
7911         (gst_value_set_fraction_range_full),
7912         (gst_value_get_fraction_range_min),
7913         (gst_value_get_fraction_range_max),
7914         (gst_value_serialize_fraction_range),
7915         (gst_value_transform_fraction_range_string),
7916         (gst_value_compare_fraction_range),
7917         (gst_value_deserialize_fraction_range),
7918         (gst_value_intersect_fraction_fraction_range),
7919         (gst_value_intersect_fraction_range_fraction_range),
7920         (gst_value_subtract_fraction_fraction_range),
7921         (gst_value_subtract_fraction_range_fraction),
7922         (gst_value_subtract_fraction_range_fraction_range),
7923         (gst_value_collect_fraction), (gst_value_fraction_multiply),
7924         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
7925         (gst_value_transform_string_fraction), (_gst_value_initialize):
7926         * gst/gstvalue.h:
7927           Implement fraction ranges and extend GstFraction to support
7928           arithmetic subtraction, as well as deserialization from integer
7929           strings such as "100"
7930           Add a testsuite as for int and double range set operations
7931
7932 2005-11-21  Andy Wingo  <wingo@pobox.com>
7933
7934         * gst/gsttaglist.h: 
7935         * gst/gstcaps.h: 
7936         * gst/gststructure.h: Add glib-compat.h.
7937
7938 2005-11-21  Wim Taymans  <wim@fluendo.com>
7939
7940         * gst/gstbin.c: (gst_bin_change_state_func):
7941         Fix for #321595
7942
7943 2005-11-21  Wim Taymans  <wim@fluendo.com>
7944
7945         * gst/gstsegment.h:
7946         And add a nice define too.
7947
7948 2005-11-21  Wim Taymans  <wim@fluendo.com>
7949
7950         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
7951         (gst_segment_new), (gst_segment_free), (gst_segment_init),
7952         (gst_segment_set_duration), (gst_segment_set_last_stop),
7953         (gst_segment_set_seek), (gst_segment_set_newsegment),
7954         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7955         (gst_segment_clip):
7956         * gst/gstsegment.h:
7957         Make binding friendly.
7958
7959 2005-11-21  Andy Wingo  <wingo@pobox.com>
7960
7961         * gst/gsttagsetter.h: 
7962         * gst/gsttaglist.h: 
7963         * gst/gststructure.h: 
7964         * gst/gstcaps.h: 
7965         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7966         #319940.
7967
7968         * gst/gsterror.c (_gst_core_errors_init):
7969         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7970         category.
7971
7972         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7973         (noinst_HEADERS): noinst the -private.
7974
7975 2005-11-21  Michael Smith <msmith@fluendo.com>
7976
7977         * gst/gstplugin.h:
7978         * gst/gstregistry.h:
7979           Remove unimplemented declarations for which we can see no sensible
7980           use.
7981
7982 2005-11-21  Andy Wingo  <wingo@pobox.com>
7983
7984         * gst/gst.h: Include glib-compat.h.
7985
7986         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7987
7988         * gst/glib-compat.c: Include the public and the private header.
7989
7990         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7991
7992         * gst/gstvalue.c: 
7993         * gst/gstpad.c: 
7994         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7995
7996         * check/gst/gstevent.c (create_custom_events): Check that
7997         FLUSH_STOP is serialized.
7998
7999         * check/elements/identity.c (event_func): 
8000         * check/elements/fakesrc.c (event_func): No stream lock, the core
8001         takes it.
8002
8003         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8004         stream lock taking, yay.
8005
8006         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8007         ensure that core takes the stream lock.
8008
8009         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8010         lock name change.
8011
8012         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8013         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8014         it already. For the flush start we do take it though so we get the
8015         right preroll state change messages.
8016
8017         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8018         the stream lock here, the core does it for us.
8019
8020         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8021         GST_STREAM_GET_LOCK.
8022         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8023         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8024         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8025         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8026         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8027         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8028
8029         * gst/gstpad.c: Update for stream lock name change.
8030
8031         * gst/base/gstbasesink.c: Update for preroll lock name change.
8032
8033 2005-11-21  Wim Taymans  <wim@fluendo.com>
8034
8035         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8036         (gst_clock_get_master):
8037         * gst/gstclock.h:
8038         * gst/gstsystemclock.c: (gst_system_clock_init):
8039         Convert Clock flags to object flags.
8040         Added methods to manage master/slave clocks.
8041
8042 2005-11-21  Wim Taymans  <wim@fluendo.com>
8043
8044         * check/gst/gstsegment.c: (GST_START_TEST):
8045         * docs/design/part-TODO.txt:
8046         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8047         (gst_base_sink_event), (gst_base_sink_do_sync),
8048         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8049         (gst_base_sink_query), (gst_base_sink_change_state):
8050         * gst/base/gstbasesink.h:
8051         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8052         (gst_base_src_default_newsegment),
8053         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8054         (gst_base_src_get_range), (gst_base_src_loop),
8055         (gst_base_src_change_state):
8056         * gst/base/gstbasesrc.h:
8057         * gst/base/gstbasetransform.c:
8058         (gst_base_transform_prepare_output_buf),
8059         (gst_base_transform_event), (gst_base_transform_change_state):
8060         * gst/base/gstbasetransform.h:
8061         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8062         (gst_collect_pads_event):
8063         * gst/base/gstcollectpads.h:
8064         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8065         (gst_fake_src_create):
8066         * gst/elements/gstfakesrc.h:
8067         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8068         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8069         (gst_segment_set_last_stop), (gst_segment_set_seek),
8070         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8071         (gst_segment_to_running_time), (gst_segment_clip):
8072         * gst/gstsegment.h:
8073         More segment updates, replace code in plugins with segment
8074         helper functions.
8075
8076 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8077
8078         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8079         Don't ignore sscanf results
8080
8081 2005-11-21  Andy Wingo  <wingo@pobox.com>
8082
8083         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8084
8085         * *.h:
8086         * *.c: Ran scripts/update-macros. Oh yes.
8087
8088         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8089         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8090         GST_GET_LOCK, etc.
8091
8092         * scripts/update-macros: New script. Run it on your files to
8093         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8094         well.
8095
8096 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8097
8098         * docs/gst/Makefile.am:
8099         * docs/gst/gstreamer-docs.sgml:
8100         * docs/gst/gstreamer-sections.txt:
8101         * docs/gst/gstreamer.types:
8102         * gst/gstinfo.h:
8103           more docs fixes, add new api to the docs
8104
8105 2005-11-21  Andy Wingo  <wingo@pobox.com>
8106
8107         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8108         state_broadcast call.
8109
8110         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8111
8112 2005-11-21  Julien MOUTTE  <julien@moutte.net>
8113
8114         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8115         function calls for arrays.
8116
8117 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8118
8119         * docs/random/ensonic/media-device-daemon.txt:
8120           wild idea, can this be done?
8121         * docs/gst/gstreamer-sections.txt:
8122         * gst/gsterror.h:
8123         * gst/gstfilter.c:
8124         * gst/gstfilter.h:
8125         * gst/gstplugin.h:
8126         * gst/gstpluginfeature.c:
8127         * gst/gsttrace.c:
8128         * gst/gstvalue.c:
8129         * gst/gstvalue.h:
8130           doc fixes and additions
8131
8132 2005-11-21  Andy Wingo  <wingo@pobox.com>
8133
8134         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
8135         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
8136         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
8137         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
8138         private to the basesrc implementation.
8139
8140         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
8141         behalf of event function if necessary. It should no longer be
8142         necessary to take the stream lock in pad's event functions. Fixes
8143         #320299.
8144
8145 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8146         * docs/gst/gstreamer-sections.txt:
8147         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
8148         (gst_structure_fixate_field_nearest_double),
8149         (gst_structure_fixate_field_boolean):
8150         * gst/gststructure.h:
8151         * win32/common/libgstreamer.def:
8152         * win32/gstreamer.def:
8153
8154         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
8155         (#322027)
8156
8157 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8158
8159         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
8160         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
8161         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
8162         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
8163         (gst_fdsrc_uri_handler_init):
8164         * gst/elements/gstfdsrc.h:
8165           Port fd:// URI handler from 0.8 to fdsrc
8166
8167 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8168
8169         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
8170         (gst_value_serialize_fourcc):
8171         * gst/gstvalue.h:
8172           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
8173           consistent with our other format defines (#320324).
8174
8175 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8176
8177         * gst/gstvalue.c: (gst_value_is_fixed):
8178           Revert previous commit. Value lists are by definition
8179           not fixed, as they are a list of possible values.
8180
8181 2005-11-21  Andy Wingo  <wingo@pobox.com>
8182
8183         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
8184         during the stable series if we need it. Fixes #319178.
8185
8186         * gst/gstevent.c (gst_event_new_filler): Removed.
8187
8188         * check/gst/gstevent.c: Update comment about filler events.
8189
8190 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8191
8192         * gst/gstvalue.c: (gst_value_is_fixed):
8193           Should handle both value arrays and value lists.
8194
8195 2005-11-21  Andy Wingo  <wingo@pobox.com>
8196
8197         patch by: Alessandro Dessina <alessandro nnva org>
8198
8199         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
8200         functions to access arrays. Fixes #321962.
8201
8202 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8203
8204         * docs/gst/gstreamer.types:
8205           gst_collectpads_get_type => gst_collect_pads_get_type.
8206           
8207         * gst/base/gstbasetransform.c:
8208           Remove unused SIGNAL_HANDOFF enum.
8209
8210 2005-11-21  Andy Wingo  <wingo@pobox.com>
8211
8212         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
8213         the event type (upstream, downstream, serialized). Renamed
8214         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
8215         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
8216         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
8217
8218         * gst/gstevent.c: Update for new CUSTOM event names.
8219
8220         * check/gst/gstevent.c: Update check for new CUSTOM event names.
8221
8222         * gst/gstevent.h:
8223         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
8224         bug #319392.
8225
8226 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8227
8228         * docs/gst/gstreamer-sections.txt:
8229         * win32/common/libgstbase.def:
8230         * win32/libgstbase.def:
8231         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8232         (gst_collect_pads_class_init), (gst_collect_pads_init),
8233         (gst_collect_pads_finalize), (gst_collect_pads_new),
8234         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
8235         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
8236         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
8237         (gst_collect_pads_start), (gst_collect_pads_stop),
8238         (gst_collect_pads_peek), (gst_collect_pads_pop),
8239         (gst_collect_pads_available), (gst_collect_pads_read),
8240         (gst_collect_pads_flush), (gst_collect_pads_event),
8241         (gst_collect_pads_chain):
8242         * gst/base/gstcollectpads.h:
8243           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
8244           unimplemented functions as unimplemented. Add padding to
8245           GstCollectData. (#320766, #320423)
8246
8247 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8248
8249         * gst/gstmessage.c:
8250           Improve docs for DURATION message (usage of duration parameter)
8251           (#320113)
8252
8253 2005-11-20  Wim Taymans  <wim@fluendo.com>
8254
8255         * check/Makefile.am:
8256         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
8257         (main):
8258         * gst/Makefile.am:
8259         * gst/gst.h:
8260         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8261         (gst_segment_set_seek), (gst_segment_set_newsegment),
8262         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8263         (gst_segment_clip):
8264         * gst/gstsegment.h:
8265         Added segment helper structure and methods. Not fully implemented
8266         yet.
8267         Added segment check.
8268
8269 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
8270
8271         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8272           Add a deserialisation test for fractions
8273         * examples/metadata/read-metadata.c: (message_loop),
8274         (make_pipeline), (main):
8275           Fix up metadata reading sample.
8276         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8277           Debug format fix
8278         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8279           Don't try and fixate empty caps
8280         * gst/gst_private.h:
8281           Wrap in G_BEGIN_DECLS/G_END_DECLS
8282         * gst/gstvalue.c: (gst_value_collect_fraction),
8283         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
8284         (gst_value_transform_string_fraction),
8285         (gst_value_compare_fraction):
8286           Add some extra guards to ensure that we don't end up 
8287           with an invalid denominator of 0 in a gstfraction and
8288           that fractions always get reduced.
8289
8290 2005-11-20  Wim Taymans  <wim@fluendo.com>
8291
8292         * docs/gst/gstreamer-sections.txt:
8293         * gst/gstbuffer.h:
8294         * gst/gstelement.c:
8295         * gst/gstformat.c:
8296         * gst/gstformat.h:
8297         * gst/gstindex.h:
8298         * gst/gstquery.c:
8299         * gst/gstquery.h:
8300         * gst/gstvalue.c:
8301         Doc fixes.
8302
8303 2005-11-20  Wim Taymans  <wim@fluendo.com>
8304
8305         * docs/design/part-TODO.txt:
8306         * gst/gstcaps.h:
8307         Make a proper enum of the flag.
8308
8309 2005-11-19  Wim Taymans  <wim@fluendo.com>
8310
8311         * docs/design/part-TODO.txt:
8312         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
8313         (gst_format_to_quark), (gst_format_register):
8314         * gst/gstformat.h:
8315         * gst/gstquery.c: (_gst_query_initialize),
8316         (gst_query_type_get_name), (gst_query_type_to_quark),
8317         (gst_query_type_register):
8318         * gst/gstquery.h:
8319         Add type to quark and type to string conversions.
8320
8321 2005-11-19  Andy Wingo  <wingo@pobox.com>
8322
8323         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
8324         #320097.
8325
8326 2005-11-19  Wim Taymans  <wim@fluendo.com>
8327
8328         * docs/design/part-TODO.txt:
8329         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8330         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
8331         (gst_bin_handle_message_func):
8332         * gst/gstbin.h:
8333         Make message handling overridable.
8334
8335 2005-11-19  Andy Wingo  <wingo@pobox.com>
8336
8337         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
8338
8339         * gst/gstclock.h:
8340         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
8341         be a GstClockTime.
8342         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
8343         is a GstClockTime. Fixes #321710.
8344
8345         * gst/gstclock.h (GstClock): Remove offset property. Add
8346         internal_calibration and external_calibration. Fix padding. Pad
8347         also by GstClockTime so we don't run into problems.
8348
8349         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
8350         (gst_clock_get_rate_offset): Remove.
8351         (gst_clock_set_time_adjust): Remove. Fixes #321712.
8352
8353         * gst/gstutils.h:
8354         * gst/gstutils.c (g_static_rec_cond_wait)
8355         (g_static_rec_cond_timed_wait): Removed, no longer needed.
8356
8357         * gst/gstbin.c: Remove terrible continue_state prototype.
8358
8359         * gst/gstelement.h (gst_element_continue_state): Make public.
8360
8361         * gst/gstelement.h:
8362         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
8363         by continue_state. Fixes #319389.
8364
8365         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
8366         Really fixes #168438. However I don't see anywhere where the
8367         filter function is called... stupid GStreamer...
8368         
8369         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
8370         don't have a dispose function, so it won't get called when the
8371         object is unreffed, but oh well!
8372
8373         * gst/gstindex.c (gst_index_set_filter_full): New API function,
8374         allows a destroy function to be set so user_data can be freed.
8375         Fixes #168438.
8376         (gst_index_set_filter): Call gst_index_set_filter_full.
8377
8378         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
8379
8380         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
8381         string should produce an error, given the lack of a way to
8382         represent NULL strings. Fixes #165650.
8383         
8384         * gst/gstvalue.h: 
8385         * gst/gstvalue.c (gst_value_array_append_value) 
8386         (gst_value_array_prepend_value, gst_value_array_get_size) 
8387         (gst_value_array_get_value): New API, copied from
8388         gst_value_list_*, only operates on arrays.
8389         (gst_value_list_append_value, gst_value_list_prepend_value) 
8390         (gst_value_list_concat, gst_value_list_get_size) 
8391         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
8392
8393         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
8394         init_list, because it works on both.
8395         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
8396         (gst_value_copy_list_or_array): Renamed from copy_list.
8397         (gst_value_free_list_or_array): Renamed from free_list.
8398         (gst_value_collect_list_or_array): Renamed from collect_list.
8399         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
8400         (gst_value_list_or_array_peek_pointer): Renamed from
8401         list_peek_pointer.
8402         (_gst_value_array_value_table, _gst_value_list_value_table):
8403         Update value table functions.
8404         (gst_value_compare_list_or_array): Renamed from compare_list.
8405
8406         * gsttaglist.h: Whoops, foreach function returns void. Also fix
8407         some constness.
8408
8409         * gst/gsttaglist.c:
8410         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
8411         GstTagList*. Fixes #143472.
8412
8413         * gst/gststructure.h: Clarify what the foreach/map functions can
8414         or can't do to their arguments.
8415
8416 2005-11-18  Wim Taymans  <wim@fluendo.com>
8417
8418         * gst/gstclock.c: (gst_clock_set_calibration),
8419         (gst_clock_get_calibration):
8420         Doc and API fixes.
8421         Calibration can be set with internal time equal to current
8422         internal time too.
8423
8424 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8425
8426         * gst/gsterror.c:
8427         * gst/gsterror.h:
8428           document
8429
8430 2005-11-18  Andy Wingo  <wingo@pobox.com>
8431
8432         * configure.ac: 
8433         * pkgconfig/gstreamer-net.pc.in:
8434         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8435         * pkgconfig/Makefile.am: Add net pkgconfig files.
8436
8437 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
8438
8439         * gst/gstcaps.c:
8440         * gst/gstghostpad.c:
8441         * gst/gsttrace.c:
8442         * gst/gstvalue.c:
8443         * gst/gstvalue.h:
8444           docs fixes
8445
8446 2005-11-18  Andy Wingo  <wingo@pobox.com>
8447
8448         * gst/net/gstnetclientclock.c: Turn off debugging.
8449
8450         * check/net/gstnetclientclock.c (test_functioning): Assert that the
8451         times connverge somewhat. Can't make a real test.
8452
8453         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
8454         integer arithmetic. Return the minimum of the domain, which can be
8455         set as "internal" for gst_clock_set_calibration.
8456         (gst_net_client_clock_observe_times): Call _set_calibration.
8457         (gst_net_client_clock_new): Call _set_calibration instead of
8458         rate_offset.
8459
8460         * check/net/gstnetclientclock.c (test_functioning): Use the right
8461         adjustment api.
8462
8463         * gst/gstclock.h:
8464         * gst/gstclock.c (gst_clock_get_calibration) 
8465         (gst_clock_set_calibration): New functions, obsolete the ones I
8466         added yesterday. Doh. Precision issues mean we have to extrapolate
8467         from a point in the more recent past than 1970.
8468         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
8469         obsolete.
8470         (gst_clock_adjust_unlocked): Use the right calibration data.
8471
8472 2005-11-18  Edward Hervey  <edward@fluendo.com>
8473
8474         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
8475         Also reset the ->current_* values in READY->PAUSED
8476
8477 2005-11-18  Andy Wingo  <wingo@pobox.com>
8478
8479         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
8480         Whoops, check the right fd. Also add some debugging.
8481         (gst_net_client_clock_observe_times): Adjust for int64 offset.
8482         (do_linear_regression): Add a crapload of debugging. Subtract off
8483         the minimum values from the input series to discard unneeded bits.
8484         Use only int arithmetic. There is still double arithmetic when
8485         calculating the intercept that needs fixing. Return boolean to
8486         indicate success; FALSE would mean the domain or range is too
8487         great. Still needs fixes.
8488
8489 2005-11-18  Wim Taymans  <wim@fluendo.com>
8490
8491         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8492         For the current position in stream time, we need to subtract
8493         accumulated time.
8494         
8495         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8496         Release lock before calling the callback function of async
8497         entries.
8498
8499 2005-11-18  Andy Wingo  <wingo@pobox.com>
8500
8501         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
8502         Port goes all the way to MAXUINT16.
8503
8504         * gst/net/gstnettimeprovider.c: Make the port range the same as
8505         for the kernel: 0 assigns, otherwise ports are less than
8506         MAXUINT16.
8507
8508         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
8509         port change.
8510
8511         * check/net/gstnetclientclock.c (test_functioning): Add the start
8512         of another test. 
8513
8514 2005-11-18  Wim Taymans  <wim@fluendo.com>
8515
8516         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8517         (gst_bin_remove_func), (bin_bus_handler):
8518         * gst/gstbin.h:
8519         Removing a clock provider from a bin, triggers a clock lost message
8520         so that a new clock will be selected.
8521         Adding a clock to a bin triggers a clock provider message.
8522         Make sure we reselect a clock when we received a clock lost message.
8523         Keep a reference to the element that provided the clock.
8524
8525 2005-11-18  Andy Wingo  <wingo@pobox.com>
8526
8527         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
8528         the clock initially so it produces values around the base time.
8529         (gst_net_client_clock_class_init): Typo fix.
8530         (gst_net_client_clock_thread): Add note on when the socket gets
8531         closed.
8532
8533 2005-11-17  Wim Taymans  <wim@fluendo.com>
8534
8535         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
8536         Free remote and local time arrays.
8537
8538 2005-11-17  Wim Taymans  <wim@fluendo.com>
8539
8540         * gst/net/gstnetclientclock.c: (do_linear_regression),
8541         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
8542         Fix compilation, uninitialized vars and a forgotten continue.
8543
8544 2005-11-17  Andy Wingo  <wingo@pobox.com>
8545
8546         * check/Makefile.am (check_PROGRAMS): 
8547         * check/net/gstnetclientclock.c: Add a most minimal test for the
8548         net client clock. More to come later.
8549
8550         * gst/net/gstnet.h: 
8551         * gst/net/Makefile.am: Add netclientclock.
8552
8553         * gst/net/gstnetclientclock.h:
8554         * gst/net/gstnetclientclock.c: New files, implement an untested
8555         GstClock that takes its time from a network time provider.
8556         Implements the algorithm in network-clock.scm.
8557
8558         * tests/network-clock.scm (*window-size*): Rename from
8559         *queue-length*.
8560         * tests/network-clock.scm (network-time): 
8561         * tests/network-clock-utils.scm (q-push): Update callers.
8562
8563 2005-11-17  Wim Taymans  <wim@fluendo.com>
8564
8565         * gst/gstbin.c: (gst_bin_provide_clock_func),
8566         (gst_bin_sort_iterator_new):
8567         And unref the child too..
8568
8569 2005-11-17  Wim Taymans  <wim@fluendo.com>
8570
8571         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8572         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
8573         Refactor the sort iterator so it can be used while holding the
8574         LOCK too.
8575         Make clock selection select a clock closest to the source.
8576
8577 2005-11-17  Michael Smith <msmith@fluendo.com>
8578
8579         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
8580         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
8581         * gst/gstclock.h:
8582           Anonymous structs are a gcc (and some other compilers) extension, so
8583           don't use them. Since this is only for ABI-compatibility, and our
8584           API/ABI freeze is over in a few days, this whole thing will only
8585           last a few days, so don't bother trying to think up a meaningful
8586           name for the struct.
8587
8588 2005-11-17  Andy Wingo  <wingo@pobox.com>
8589
8590         * gst/gstclock.h (GstClock): Add rate and offset properties,
8591         preserving ABI stability. Add rate/offset accessors. Will file bug
8592         for the freeze break.
8593
8594         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
8595         and offset, trying to keep precision and avoiding
8596         underflow/overflow.
8597         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
8598         functions. Make gst_clock_set_time_adjust obsolete.
8599         (gst_clock_set_time_adjust): Note that this function is obsolete.
8600         Will file bug soon.
8601
8602         * gst/base/gstbasetransform.h: Make the ABI-stability hack
8603         greppable by using GST_PADDING-1+1.
8604
8605 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
8606
8607         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8608
8609         * gst/gstmessage.c: (gst_message_parse_clock_lost):
8610           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
8611
8612         * gst/gstpadtemplate.h:
8613         * gst/gstpluginfeature.h:
8614           Don't use c++ style comments in headers (#321638).
8615
8616 2005-11-16  Andy Wingo  <wingo@pobox.com>
8617
8618         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
8619         buffer.
8620
8621         * check/net/gstnettimeprovider.c: Check to see that the time
8622         provider actually provides times. Works, yo!
8623
8624 2005-11-16  Wim Taymans  <wim@fluendo.com>
8625
8626         * check/Makefile.am:
8627         Enable more tests.
8628
8629         * check/elements/fakesrc.c: (GST_START_TEST):
8630         Set element to NULL before disposing it.
8631
8632 2005-11-16  Andy Wingo  <wingo@pobox.com>
8633
8634         * gst/net/Makefile.am:
8635         * gst/net/gstnet.h:
8636         * gst/net/gstnettimeprovider.c: 
8637         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
8638         provider, include it from gstnet.h, and add it to the build.
8639
8640         * gst/net/gstnettimepacket.h: 
8641         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
8642         sending and receiving.
8643
8644 2005-11-16  Wim Taymans  <wim@fluendo.com>
8645
8646         * check/Makefile.am:
8647         Enable valgrind check.
8648
8649         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
8650         (gst_fake_src_alloc_buffer):
8651         Fix memleak.
8652
8653 2005-11-16  Wim Taymans  <wim@fluendo.com>
8654
8655         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
8656         Call parent finalize too.
8657
8658 2005-11-16  Wim Taymans  <wim@fluendo.com>
8659
8660         * check/Makefile.am:
8661         Enable valgrind check that should work fine now.
8662
8663         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8664         * gst/gstqueue.c: (gst_queue_init):
8665         Fix memleaks in pad allocation.
8666
8667 2005-11-16  Andy Wingo  <wingo@pobox.com>
8668
8669         * gst/net/Makefile.am:
8670         * gst/net/gstnet.h: New part of core to hold network elements and
8671         objects. Put in core because it exposes API that applications want
8672         to use. The library is named libgstnet-tempname right now because
8673         of the existing libgstnet in gst-plugins-base. Solution is
8674         probably to rename the one in plugins-base; will file a bug for
8675         the freeze break.
8676
8677         * gst/net/gstnettimeprovider.c: 
8678         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
8679         get_time call over the network.
8680
8681         * configure.ac: 
8682         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
8683
8684         * check/Makefile.am:
8685         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
8686         get additions shortly.
8687
8688 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8689
8690         * gst/gstpad.c: (gst_pad_new_from_static_template):
8691         * gst/gstpad.h:
8692           add gst_pad_new_from_static_template functions
8693         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
8694         (gst_check_setup_sink_pad):
8695         * gst/elements/gsttee.c: (gst_tee_init):
8696           and use them
8697
8698 2005-11-16  Wim Taymans  <wim@fluendo.com>
8699
8700         * gst/gstpad.c: (gst_pad_pause_task):
8701         Removed warning, it's not really an error either.
8702
8703 2005-11-16  Wim Taymans  <wim@fluendo.com>
8704
8705         * gst/base/gstbasetransform.c:
8706         (gst_base_transform_prepare_output_buf),
8707         (gst_base_transform_event):
8708         Check if the caps are NULL, this can happen if the element
8709         is shutting down and the pad caps are set to NULL.
8710
8711 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8712
8713         * gst/elements/gsttee.c: (gst_tee_init):
8714           fix pad template leak in tee
8715
8716 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8717
8718         * gst/glib-compat.c: (g_value_dup_gst_object):
8719         * gst/glib-compat.h:
8720         * gst/gstpad.c: (gst_pad_set_property):
8721           use gst_object_ref when setting the pad template; this will
8722           trigger the pad template leaks on GLib 2.6 and the slaves
8723
8724 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8725
8726         * gst/glib-compat.c: (gst_flags_get_first_value):
8727         * gst/glib-compat.h:
8728         * gst/gstregistryxml.c:
8729           remove functions copied from GLib 2.6
8730
8731 2005-11-16  Michael Smith <msmith@fluendo.com>
8732
8733         * gst/Makefile.am:
8734           Don't link against VALGRIND_LIBS. That was always the wrong thing to
8735           do, but only breaks with newer valgrind versions. We're not a
8736           valgrind tool, we have no link-time dependencies on libcoregrind.
8737
8738 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8739
8740         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8741           some debug changes
8742         * gst/gstmessage.h:
8743           typo fixes
8744
8745 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8746
8747         * gst/base/gstbasesrc.c: (gst_base_src_init):
8748         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8749         * gst/gstqueue.c: (gst_queue_init):
8750         * gst/gstregistryxml.c: (load_feature):
8751           Revert all these unrefs, they don't even pass make check !
8752
8753 2005-11-15  Johan Dahlin  <johan@gnome.org>
8754
8755         * gst/base/gstbasesrc.c: (gst_base_src_init):
8756         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8757         * gst/gstqueue.c: (gst_queue_init): 
8758         Free pad templates, fixes a couple of leaks.
8759
8760 2005-11-15  Daniel Fischer  <dan at f3c dot com>
8761
8762         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8763
8764         * gst/gstpad.c: (gst_pad_get_property):
8765           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
8766           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
8767           (#321452)
8768
8769 2005-11-15  Wim Taymans  <wim@fluendo.com>
8770
8771         * gst/gstevent.c:
8772         Small doc update.
8773
8774 2005-11-15  Andy Wingo  <wingo@pobox.com>
8775
8776         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
8777
8778         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
8779         using GST_CLOCK_TIME_NONE to disable base time management.
8780         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
8781         time if it was NONE before.
8782         (gst_pipeline_change_state): Only munge the base time if
8783         stream_time != GST_CLOCK_TIME_NONE.
8784
8785         * check/gst/gstpipeline.c (test_base_time): Punt around the
8786         problem of the probe not being called, because that's not the
8787         issue I'm looking at. Add a check that setting stream_time to NONE
8788         disables base time management.
8789         
8790 2005-11-15  Wim Taymans  <wim@fluendo.com>
8791
8792         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8793         segment_stop == -1 at startup.
8794
8795         * gst/base/gstbasetransform.c: (gst_base_transform_event),
8796         (gst_base_transform_change_state):
8797         Init segment values at start.
8798
8799 2005-11-15  Wim Taymans  <wim@fluendo.com>
8800
8801         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8802         0 segment values are 0 in any format.
8803
8804         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8805         * gst/base/gstbasetransform.h:
8806         Parse newsegment correctly in basetransform
8807
8808         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8809         Sync to clock using updated segment values.
8810
8811 2005-11-15  Andy Wingo  <wingo@pobox.com>
8812
8813         * check/gst/gstpipeline.c (test_base_time): Add check that the
8814         base time and stream time are reset correctly.
8815
8816 2005-11-15  Wim Taymans  <wim@fluendo.com>
8817
8818         * docs/design/part-TODO.txt:
8819         Some more TODO items.
8820
8821 2005-11-15  Andy Wingo  <wingo@pobox.com>
8822
8823         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
8824         error if the user selected "no clock" as the clocking method.
8825
8826         * check/gst/gstpipeline.c (test_base_time): New test for buffer
8827         timestamps with live capture.
8828
8829         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
8830         is 0 but we are a live source, timestamp the buffers using the
8831         element's clock.
8832
8833 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
8834
8835         * docs/gst/gstreamer-sections.txt:
8836         * gst/gsterror.c:
8837         * gst/gstghostpad.c:
8838         * gst/gstobject.h:
8839         * gst/gstxml.c:
8840           more section docs
8841
8842 2005-11-14  Wim Taymans  <wim@fluendo.com>
8843
8844         * common/gst.supp:
8845           add suppressions from Wim's Debian machine
8846
8847 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8848
8849         * common/gst.supp:
8850           add suppressions from Andy's AMD64 Ubuntu machine
8851
8852 2005-11-14  Andy Wingo  <wingo@pobox.com>
8853
8854         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
8855         STATE_LOCK not necessary. Fixes #311489.
8856
8857         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
8858         #305291.
8859
8860         * gst/gstindex.c (gst_index_add_object): Note in the docs that
8861         this function is not implemented.
8862
8863 2005-11-14  Julien MOUTTE  <julien@moutte.net>
8864
8865         * gst/base/gstbasetransform.c:
8866         (gst_base_transform_prepare_output_buf):
8867         Ref the source pad caps while we need them.
8868         Fixes (#321386)
8869
8870 2005-11-11  Wim Taymans  <wim@fluendo.com>
8871
8872         * docs/gst/gstreamer-sections.txt:
8873         Added some docs for GstCollectData.
8874
8875         * gst/base/gstadapter.c:
8876         Some small code example fix.
8877
8878         * gst/base/gstcollectpads.c:
8879         * gst/base/gstcollectpads.h:
8880         Document some more.
8881
8882 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8883
8884         * configure.ac: back to HEAD
8885
8886 === release 0.9.5 ===
8887
8888 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
8889
8890         * configure.ac:
8891           releasing 0.9.5, "Bike Lunch Day"
8892
8893 2005-11-11  Wim Taymans  <wim@fluendo.com>
8894
8895         * gst/gstbuffer.c: (_gst_buffer_copy):
8896         Copy more flags.
8897
8898         * gst/gstcaps.c: (gst_caps_is_equal):
8899         Fix some docs.
8900         Make _is_equal fast in the trivial cases.
8901
8902         * gst/gstminiobject.c:
8903         * gst/gstminiobject.h:
8904         More docs. Spifify .h file.
8905
8906         * gst/gstutils.c:
8907         Small doc update.
8908
8909 2005-11-11  Wim Taymans  <wim@fluendo.com>
8910
8911         * gst/base/gstbasetransform.c:
8912         (gst_base_transform_prepare_output_buf),
8913         (gst_base_transform_handle_buffer):
8914         Small cleanups.
8915         If we're processing a buffer and need to allocate an output
8916         buffer, we cannot accept a format change. If we did get a 
8917         format change, we have to alloc a buffer ourselves of the 
8918         right size.
8919
8920 2005-11-11  Wim Taymans  <wim@fluendo.com>
8921
8922         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
8923         While checking the flag for reentrancy in the gstcaps function
8924         is nice to detect recursive invocations, it also makes it 
8925         impossible to call getcaps from multiple threads, which must be
8926         possible. So, checking for recursive calls has to go.
8927
8928 2005-11-11  Michael Smith <msmith@fluendo.com>
8929
8930         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8931           Don't sync on buffers that fall partially outside our current
8932           segment. Prevents an assertion failure/abort playing some files.
8933
8934 2005-11-10  Andy Wingo  <wingo@pobox.com>
8935
8936         * check/gst/gstbin.c (test_message_state_changed_children): Style
8937         fix..
8938
8939         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
8940         gst_bus_poll with the signal watch. Ensures that poll and a signal
8941         watch see the same messages.
8942
8943         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
8944         a poll and a watch at the same time get the same messages.
8945
8946 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8947
8948         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
8949         * gst/gstcaps.c: (gst_caps_intersect):
8950           Don't call gst_caps_do_simplify - it doesn't respect order of caps
8951           and it's not needed.
8952
8953 2005-11-10  Wim Taymans  <wim@fluendo.com>
8954
8955         * docs/design/part-TODO.txt:
8956         Updated todo.
8957
8958 2005-11-10  Wim Taymans  <wim@fluendo.com>
8959
8960         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8961         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8962         (gst_base_src_do_sync), (gst_base_src_get_range):
8963         Implement clock sync in base class.
8964
8965 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8966
8967         patch by: Tim-Philipp Müller <tim at centricular dot net>
8968
8969         * gst/gststructure.c: (gst_structure_parse_field),
8970         (gst_structure_from_string):
8971           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8972           so that gst_parse_launch() can deal with spaces in filtered link
8973           caps (fixes #164479)
8974         * check/gst/capslist.h:
8975         * check/gst/gststructure.c: (GST_START_TEST):
8976           add unit tests for this change
8977
8978 2005-11-10  Wim Taymans  <wim@fluendo.com>
8979
8980         * docs/gst/gstreamer-sections.txt:
8981         * gst/gstelement.c:
8982         * gst/gstelement.h:
8983         Fix docs, move some STATE macros to private.
8984
8985 2005-11-10  Wim Taymans  <wim@fluendo.com>
8986
8987         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8988         Added check for bug #317341
8989
8990         * gst/gstbuffer.c:
8991         * gst/gstbuffer.h:
8992         Some more spiffifying.
8993
8994         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8995         Call peer linkfunction if we are a source pad. Totally fixes
8996         #317341
8997
8998         * gst/gstpad.c:
8999         Update docs, source pads should call the peer linkfunction
9000         so they can atomically perform the pad link.
9001
9002 2005-11-09  Wim Taymans  <wim@fluendo.com>
9003
9004         * gst/gstbuffer.c:
9005         * gst/gstbuffer.h:
9006         Uber-spiffy-spiffify some more.
9007
9008 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9009
9010         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9011         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9012         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9013         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9014         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9015         * gst/gstpad.c: (gst_pad_init):
9016           Use GST_DEBUG_FUNCPTR() more extensively.
9017
9018 2005-11-09  Wim Taymans  <wim@fluendo.com>
9019
9020         * gst/gstobject.c: (gst_object_class_init):
9021         * gst/gstobject.h:
9022         Documentation fixes.
9023
9024 2005-11-09  Edward Hervey  <edward@fluendo.com>
9025
9026         * gst/gsttypefindfactory.c:
9027         Fix docs.
9028         
9029 2005-11-09  Edward Hervey  <edward@fluendo.com>
9030
9031         * gst/base/gsttypefindhelper.c:
9032         * gst/gsttypefind.c:
9033         * gst/gsttypefind.h:
9034         Fix docs.
9035
9036 2005-11-09  Wim Taymans  <wim@fluendo.com>
9037
9038         * gst/gstiterator.c:
9039         Fix revision data.
9040
9041         * gst/gsttask.c:
9042         * gst/gsttask.h:
9043         Fix docs.
9044
9045 2005-11-09  Wim Taymans  <wim@fluendo.com>
9046
9047         * gst/gstevent.h:
9048         * gst/gsturi.h:
9049         Fix docs.
9050
9051 2005-11-09  Wim Taymans  <wim@fluendo.com>
9052
9053         * docs/gst/gstreamer-sections.txt:
9054         Moved the message async delivery private lock and cond
9055         to the private section.
9056
9057         * gst/gstmessage.c:
9058         * gst/gstmessage.h:
9059         Fixed docs.
9060
9061 2005-11-09  Edward Hervey  <edward@fluendo.com>
9062
9063         * docs/gst/gstreamer-sections.txt:
9064         * gst/gsturi.c:
9065         * gst/gsturi.h:
9066         Document GstURIHandler
9067
9068 2005-11-09  Wim Taymans  <wim@fluendo.com>
9069
9070         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9071         (gst_iterator_find_custom):
9072         * gst/gstiterator.h:
9073         Fix iterator docs.
9074
9075 2005-11-09  Wim Taymans  <wim@fluendo.com>
9076
9077         * gst/gstbin.h:
9078         Document another field.
9079
9080         * gst/gststructure.c:
9081         * gst/gststructure.h:
9082         Document.
9083
9084 2005-11-09  Wim Taymans  <wim@fluendo.com>
9085
9086         * gst/gstbin.h:
9087         Documented structs.
9088
9089 2005-11-09  Wim Taymans  <wim@fluendo.com>
9090
9091         * docs/gst/gstreamer-sections.txt:
9092         Added some new macros.
9093
9094         * gst/gstclock.c:
9095         * gst/gstclock.h:
9096         * gst/gstobject.h:
9097         Docs updates.
9098
9099 2005-11-09  Wim Taymans  <wim@fluendo.com>
9100
9101         * docs/design/part-TODO.txt:
9102         Some more items for the TODO
9103
9104         * gst/gstcaps.c:
9105         * gst/gstcaps.h:
9106         Document GstCaps.
9107
9108 2005-11-09  Andy Wingo  <wingo@pobox.com>
9109
9110         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9111         to work on something else now tho...
9112
9113         * gst/base/gstadapter.c: More adapter docs.
9114
9115         * gst/elements/gstfilesink.c (gst_file_sink_start) 
9116         (gst_file_sink_stop): New functions, replace the state change
9117         handler.
9118         (gst_file_sink_class_init): Hook up the start and stop functions.
9119         (gst_file_sink_base_init): Don't set the state change handler any
9120         more. It was a bit ugly too, being set from here...
9121         (gst_file_sink_get_property, gst_file_sink_set_property):
9122         Cleanups...
9123         (gst_file_sink_set_location): More robust check that doesn't call
9124         GST_STATE. Ugggggg.
9125
9126 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9127
9128         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9129           Hold STREAM_LOCK while pushing newsegment or tag events as well.
9130
9131 2005-11-08  Wim Taymans  <wim@fluendo.com>
9132
9133         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9134         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9135         (gst_base_sink_chain), (gst_base_sink_change_state):
9136         * gst/base/gstbasesink.h:
9137         * gst/base/gstbasesrc.h:
9138         * gst/gstelement.h:
9139         * gst/gstevent.h:
9140         Avoid excessive typechecking in macros.
9141
9142         * gst/gstminiobject.c: (gst_mini_object_get_type),
9143         (gst_mini_object_init), (gst_mini_object_new),
9144         (gst_mini_object_free):
9145         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9146         (gst_object_finalize):
9147         Remove cruft code, optimize alloc_trace.
9148
9149 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9150
9151         * docs/faq/gst-uninstalled:
9152           fix up PS1 for systems that try to reset it
9153
9154 2005-11-07  Wim Taymans  <wim@fluendo.com>
9155
9156         * gst/base/gstbasesrc.c: (gst_base_src_init),
9157         (gst_base_src_get_range):
9158         Set the segment_end to -1 initially. Fixed typefind.
9159
9160 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9161
9162         * gst/base/gstadapter.c:
9163           Debug category should be 'adapter', not 'GstAdapter'.
9164           
9165         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
9166         (gst_collectpads_class_init), (gst_collectpads_init),
9167         (gst_collectpads_peek), (gst_collectpads_pop),
9168         (gst_collectpads_event), (gst_collectpads_chain):
9169           Add debug category and some debugging output. Use boilerplate
9170           macros. Remove some extraneous words from docs.
9171
9172 2005-11-05  Andy Wingo  <wingo@pobox.com>
9173
9174         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
9175         macro.
9176
9177 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9178
9179         * docs/gst/gstreamer-sections.txt:
9180         * gst/gstcaps.h:
9181         * gst/gstinfo.c:
9182         * gst/gstminiobject.h:
9183         * gst/gstobject.h:
9184         * gst/gstutils.h:
9185           more docs added
9186
9187 2005-11-04  Wim Taymans  <wim@fluendo.com>
9188
9189         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9190         Small update to stop at the configured segment_end
9191         position.
9192
9193 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9194
9195         * gst/gstregistry.c:
9196         * gst/gstregistry.h:
9197           added missing docs
9198
9199 2005-11-04  Edward Hervey  <edward@fluendo.com>
9200
9201         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9202         Check if we are doing a segment seek and have arrived at the
9203         end of that segment.
9204
9205 2005-11-04  Wim Taymans  <wim@fluendo.com>
9206
9207         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
9208         Don't leak a mutex unlock in case of an error.
9209
9210         * gst/gstbus.h:
9211         Doc fixes.
9212
9213 2005-11-04  Wim Taymans  <wim@fluendo.com>
9214
9215         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
9216         (gst_bus_post):
9217         Get the context to wake up only once.
9218
9219 2005-11-03  Wim Taymans  <wim@fluendo.com>
9220
9221         * check/states/sinks.c: (GST_START_TEST):
9222         Uncomment fixed check.
9223
9224         * docs/design/part-TODO.txt:
9225         Updated TODO.
9226
9227         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9228         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9229         (gst_base_sink_get_position):
9230         If we are going to PLAYING, post the right pending state
9231         when we post the intermediate paused message.
9232
9233         * gst/gstelement.c: (gst_element_continue_state),
9234         (gst_element_set_state_func), (gst_element_change_state):
9235         Don't post state changes that were between the same state
9236         and were not ASYNC.
9237
9238 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9239
9240         * docs/gst/gstreamer-sections.txt:
9241         * gst/gstcaps.h:
9242         * gst/gstinfo.c:
9243         * gst/gstminiobject.h:
9244         * gst/gstobject.h:
9245         * gst/gstutils.h:
9246           more docs and doc style fixes
9247
9248 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9249
9250         * docs/gst/gstreamer-sections.txt:
9251         * gst/gstelement.c:
9252         * gst/gstminiobject.c:
9253         doc fixes
9254
9255 2005-11-03  Andy Wingo  <wingo@pobox.com>
9256
9257         * check/states/sinks.c (test_livesrc_sink): Add checks that the
9258         state-changed messages actually have the right order and the right
9259         values.
9260
9261 2005-11-03  Wim Taymans  <wim@fluendo.com>
9262
9263         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9264         Added some more checks. Specifically the case where NO_PREROLL
9265         elements are in the pipeline.
9266
9267         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9268         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9269         (gst_base_sink_get_position):
9270         Post READY->PAUSED state change messages too.
9271         Fix bug where VOID was posted as pending state...
9272
9273         * gst/gstbin.c: (gst_bin_recalc_state):
9274         use _element_continue_state() to continue the state change.
9275
9276         * gst/gstelement.c: (gst_element_continue_state),
9277         (gst_element_commit_state), (gst_element_set_state_func),
9278         (gst_element_change_state), (gst_element_change_state_func):
9279         Lots of state change cleanups, assign the STATE_RETURN in
9280         a new continue_state() function that also propagates the
9281         last return value from a state change to the app.
9282         Update some debug statements with proper category.
9283
9284 2005-11-03  Wim Taymans  <wim@fluendo.com>
9285
9286         * docs/design/part-events.txt:
9287         * docs/design/part-gstpipeline.txt:
9288         * docs/design/part-messages.txt:
9289         * docs/design/part-overview.txt:
9290         * docs/design/part-seeking.txt:
9291         * docs/design/part-states.txt:
9292         * docs/design/part-trickmodes.txt:
9293         * docs/manual/advanced-position.xml:
9294         Small docs updates.
9295
9296         * gst/gstobject.h:
9297         People think !! is ugly, this looks better.
9298
9299         * gst/gstpad.c: (gst_pad_set_blocked_async):
9300         Remove !! since it's fixed elsewhere now.
9301
9302 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9303
9304         * gst/gstminiobject.h:
9305         * gst/gstobject.h:
9306           Add !! to _FLAG_IS_SET macros to make the result boolean.
9307
9308 2005-11-03  Edward Hervey  <edward@fluendo.com>
9309
9310         * gst/gstpad.c: (gst_pad_set_blocked_async):
9311         comparing a flag and a gboolean rarely returns coherent results...
9312         Added two characters (!!) to make that work correctly.
9313         
9314 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9315
9316         * gst/gstbus.c: (gst_bus_class_init):
9317           Fix some typos.
9318           
9319         * gst/gstqueue.c: (gst_queue_loop):
9320           Don't assume a miniobject that isn't a buffer is an
9321           event (it could be that there is a refcounting
9322           problem somewhere and the pointer is stale and
9323           refers to an already destroyed miniobject).
9324
9325 2005-11-03  Julien MOUTTE  <julien@moutte.net>
9326
9327         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
9328
9329 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9330
9331         * docs/manual/advanced-position.xml:
9332           Update seek example and explanations to current 0.9 API.
9333
9334         * gst/elements/gsttypefindelement.c:
9335         (gst_type_find_element_activate):
9336           Remove FIXME comment now that the found caps
9337           are unreffed.
9338
9339 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9340
9341         * gst/gstregistryxml.c: (load_feature):
9342           Add another GST_STR_NULL instance
9343
9344 2005-11-02  Edward Hervey  <edward@fluendo.com>
9345
9346         * gst/gstpad.c: (handle_pad_block):
9347         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
9348         
9349 2005-11-02  Wim Taymans  <wim@fluendo.com>
9350
9351         * gst/gstbin.c:
9352         Fix typo in docs.
9353
9354         * gst/gstelement.c: (gst_element_commit_state):
9355         Remove unused value.
9356
9357         * gst/gstiterator.c:
9358         Mention that the returned element is reffed in the docs.
9359
9360 2005-11-02  Wim Taymans  <wim@fluendo.com>
9361
9362         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
9363         (gst_pad_push), (gst_pad_push_event):
9364         Unlock blocked pads when they are flushed.
9365
9366 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9367
9368         * docs/README:
9369         * docs/gst/gstreamer-sections.txt:
9370         * gst/gstbin.c:
9371           doc updates
9372         * gst/gstregistry.c: (gst_registry_scan_path_level):
9373           fix for a nasty little missed situation where an installed plug-in
9374           which was in the cache did not get overridden by an uninstalled one
9375           which was earlier in the plugin path because the newly created plugin
9376           for the uninstalled one (not in the registry) didn't get its
9377           ->registered set to TRUE
9378
9379 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9380
9381         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
9382         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
9383         (gst_collectpads_is_active), (gst_collectpads_collect),
9384         (gst_collectpads_collect_range), (gst_collectpads_start),
9385         (gst_collectpads_stop), (gst_collectpads_peek),
9386         (gst_collectpads_pop), (gst_collectpads_available),
9387         (gst_collectpads_read), (gst_collectpads_flush):
9388           Guard public API with assertions.
9389         
9390         * gst/gstpad.c:
9391           Fix docs for gst_pad_set_link_function().
9392
9393 2005-11-02  Johan Dahlin  <johan@gnome.org>
9394
9395         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
9396         Unref found_caps after we used it.
9397
9398 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9399
9400         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
9401           Don't try to ref NULL.
9402
9403 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9404
9405         * win32/common/config.h.in:
9406           provide a GST_FUNCTION that just gives a string for now
9407
9408 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9409
9410         * win32/common/gstenumtypes.c: (register_gst_object_flags),
9411         (gst_object_flags_get_type), (register_gst_bin_flags),
9412         (gst_bin_flags_get_type), (register_gst_buffer_flag),
9413         (gst_buffer_flag_get_type), (register_gst_bus_flags),
9414         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
9415         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
9416         (gst_clock_return_get_type), (register_gst_clock_entry_type),
9417         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
9418         (gst_clock_flags_get_type), (register_gst_state),
9419         (gst_state_get_type), (register_gst_state_change_return),
9420         (gst_state_change_return_get_type), (register_gst_state_change),
9421         (gst_state_change_get_type), (register_gst_element_flags),
9422         (gst_element_flags_get_type), (register_gst_core_error),
9423         (gst_core_error_get_type), (register_gst_library_error),
9424         (gst_library_error_get_type), (register_gst_resource_error),
9425         (gst_resource_error_get_type), (register_gst_stream_error),
9426         (gst_stream_error_get_type), (register_gst_event_type),
9427         (gst_event_type_get_type), (register_gst_seek_type),
9428         (gst_seek_type_get_type), (register_gst_seek_flags),
9429         (gst_seek_flags_get_type), (register_gst_format),
9430         (gst_format_get_type), (register_gst_index_certainty),
9431         (gst_index_certainty_get_type), (register_gst_index_entry_type),
9432         (gst_index_entry_type_get_type),
9433         (register_gst_index_lookup_method),
9434         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
9435         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
9436         (gst_index_resolver_method_get_type), (register_gst_index_flags),
9437         (gst_index_flags_get_type), (register_gst_debug_level),
9438         (gst_debug_level_get_type), (register_gst_debug_color_flags),
9439         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
9440         (gst_iterator_result_get_type), (register_gst_iterator_item),
9441         (gst_iterator_item_get_type), (register_gst_message_type),
9442         (gst_message_type_get_type), (register_gst_mini_object_flags),
9443         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
9444         (gst_pad_link_return_get_type), (register_gst_flow_return),
9445         (gst_flow_return_get_type), (register_gst_activate_mode),
9446         (gst_activate_mode_get_type), (register_gst_pad_direction),
9447         (gst_pad_direction_get_type), (register_gst_pad_flags),
9448         (gst_pad_flags_get_type), (register_gst_pad_presence),
9449         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
9450         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
9451         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
9452         (gst_plugin_error_get_type), (register_gst_plugin_flags),
9453         (gst_plugin_flags_get_type), (register_gst_rank),
9454         (gst_rank_get_type), (register_gst_query_type),
9455         (gst_query_type_get_type), (register_gst_tag_merge_mode),
9456         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
9457         (gst_tag_flag_get_type), (register_gst_task_state),
9458         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
9459         (gst_alloc_trace_flags_get_type),
9460         (register_gst_type_find_probability),
9461         (gst_type_find_probability_get_type), (register_gst_uri_type),
9462         (gst_uri_type_get_type), (register_gst_parse_error),
9463         (gst_parse_error_get_type):
9464         * win32/common/gstversion.h:
9465           update win32 copies
9466
9467 2005-11-01  Luca Ognibene  <luogni@tin.it>
9468
9469         * gst/gst.c:
9470           fix docs. popt is dead, long live GOption.
9471
9472 2005-10-31  Wim Taymans  <wim@fluendo.com>
9473
9474         * gst/gstbuffer.h:
9475         Small doc fix.
9476
9477 2005-10-31  Andy Wingo  <wingo@pobox.com>
9478
9479         * Boo!
9480
9481         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
9482
9483         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
9484         need to serialize property notifications on GLib 2.8. GLib 2.6 has
9485         the possibility of deadlocks here if code calling notify() or
9486         set() has a lock that can be taken in another notify handler (ABBA
9487         with class lock and e.g. python GIL state lock).
9488
9489 2005-10-28  Julien MOUTTE  <julien@moutte.net>
9490
9491         * gst/gstbus.c: Doc updates.
9492
9493 2005-10-28  Wim Taymans  <wim@fluendo.com>
9494
9495         * docs/design/part-TODO.txt:
9496         * gst/gstiterator.c:
9497         * gst/gstsystemclock.c:
9498         * gst/gstsystemclock.h:
9499         Doc updates.
9500
9501 2005-10-28  Edward Hervey  <edward@fluendo.com>
9502
9503         * docs/gst/gstreamer-docs.sgml:
9504         * docs/gst/gstreamer-sections.txt:
9505         the GstURIType documentation page is private, it only defines GstURIType
9506         which should be defined in the GstURIHandler page
9507         
9508 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9509
9510         * gst/gstbin.c: (gst_bin_class_init):
9511         * gst/gstbin.h:
9512         * gst/gstutils.c:
9513         Documentation updates.
9514
9515 2005-10-28  Wim Taymans  <wim@fluendo.com>
9516
9517         * docs/gst/gstreamer-sections.txt:
9518         * gst/gstclock.c:
9519         * gst/gstclock.h:
9520         Documented the clocks.
9521
9522 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
9523
9524         * docs/gst/gstreamer-sections.txt:
9525           move some macros to private sections
9526         * gst/gstminiobject.c:
9527         * gst/gstminiobject.h:
9528           add descriptions provided by ds and some more
9529         * gst/gstpad.h:
9530           mark macro as to be removed
9531
9532 2005-10-28  Wim Taymans  <wim@fluendo.com>
9533
9534         * docs/design/part-TODO.txt:
9535         Add an item to TODO.
9536
9537         * gst/gstiterator.c: (gst_iterator_fold),
9538         (gst_iterator_find_custom):
9539         * gst/gstiterator.h:
9540         Add iterator docs.
9541
9542 2005-10-28  Wim Taymans  <wim@fluendo.com>
9543
9544         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9545         (gst_base_transform_init):
9546         Don't leak class.
9547
9548         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
9549         An EOS event marks the queue as completely filled.
9550
9551 2005-10-27  Wim Taymans  <wim@fluendo.com>
9552
9553         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9554         (gst_base_sink_do_sync), (gst_base_sink_get_position):
9555         Some more debugging.
9556
9557         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
9558         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
9559         (gst_base_transform_event), (gst_base_transform_getrange),
9560         (gst_base_transform_chain):
9561         * gst/base/gstbasetransform.h:
9562         Fix debugging,
9563         Protect transform and concurrent buffer alloc with a new lock.
9564         Try not to break ABI/API.
9565
9566 2005-10-27  Wim Taymans  <wim@fluendo.com>
9567
9568         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9569         (gst_base_src_init), (gst_base_src_query),
9570         (gst_base_src_default_newsegment),
9571         (gst_base_src_configure_segment), (gst_base_src_do_seek),
9572         (gst_base_src_send_event), (gst_base_src_event_handler),
9573         (gst_base_src_pad_get_range), (gst_base_src_loop),
9574         (gst_base_src_unlock), (gst_base_src_default_negotiate),
9575         (gst_base_src_start), (gst_base_src_deactivate),
9576         (gst_base_src_activate_push), (gst_base_src_change_state):
9577         Move some stuff around and cleanup things.
9578
9579 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
9580
9581         * gst/base/gstbasesrc.c: (gst_base_src_query):
9582           Add missing break statements.
9583
9584 2005-10-27  Wim Taymans  <wim@fluendo.com>
9585
9586         * check/gst/gstbin.c: (GST_START_TEST):
9587         An extra refcount is taken in basesrc.
9588
9589         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
9590         (gst_base_src_get_range), (gst_base_src_pad_get_range),
9591         (gst_base_src_loop):
9592         Small cleanups, check for flushing after being unlocked from the 
9593         LIVE_LOCK. take refcounts correctly (not yet everywhere).
9594         Don't send out EOS when going to READY.
9595
9596 2005-10-27  Wim Taymans  <wim@fluendo.com>
9597
9598         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9599         (gst_base_sink_get_position):
9600         Some more debug.
9601
9602         * gst/gstbin.c: (message_check), (bin_replace_message),
9603         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9604         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9605         (bin_query_duration_init), (bin_query_duration_fold),
9606         (bin_query_duration_done), (bin_query_generic_fold),
9607         (gst_bin_query):
9608         * tools/gst-launch.c: (main):
9609         Remove old option.
9610
9611 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
9612
9613         * examples/controller/audio-example.c: (main):
9614         * examples/queue/queue.c: (event_loop):
9615         * gst/base/gstbasetransform.h:
9616         * gst/gstelement.c: (gst_element_send_event):
9617         * gst/gstevent.h:
9618         * gst/gstpad.c: (gst_pad_send_event):
9619           fixing examples
9620           fixing docs typos
9621           changing log priority in error situations
9622
9623 2005-10-25  Wim Taymans  <wim@fluendo.com>
9624
9625         * gst/gstbin.c: (message_check), (bin_replace_message),
9626         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9627         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9628         (bin_query_duration_init), (bin_query_duration_fold),
9629         (bin_query_duration_done), (bin_query_generic_fold),
9630         (gst_bin_query):
9631         Some doc and debug updates.
9632         Cache previously requested query DURATION for speed. invalidate
9633         cached duration if element posts a DURATION message.
9634
9635 2005-10-25  Wim Taymans  <wim@fluendo.com>
9636
9637         * docs/design/part-TODO.txt:
9638         Update TODO.
9639
9640         * gst/gstbin.c: (message_check), (bin_replace_message),
9641         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9642         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9643         (bin_query_duration_init), (bin_query_duration_fold),
9644         (bin_query_duration_done), (bin_query_generic_fold),
9645         (gst_bin_query):
9646         Handle SEGMENT_START/DONE messages correctly.
9647         More evolved query algorithm that handles duration queries
9648         correctly.
9649
9650         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
9651         (gst_element_get_state_func), (gst_element_abort_state),
9652         (gst_element_commit_state), (gst_element_lost_state):
9653         Some more debugging.
9654
9655         * gst/gstmessage.h:
9656         Added doc.
9657
9658 2005-10-25  Wim Taymans  <wim@fluendo.com>
9659
9660         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9661         Don't use invalid stream_time.
9662
9663         * gst/gstevent.c: (gst_event_new_newsegment):
9664         stream_time in newsegment cannot be undefined.
9665
9666 2005-10-24  Wim Taymans  <wim@fluendo.com>
9667
9668         * gst/gstbus.c:
9669         Doc fix.
9670
9671         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9672         (gst_queue_loop):
9673         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
9674
9675 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
9676
9677         * docs/libs/tmpl/gstdparam.sgml:
9678         * docs/libs/tmpl/gstdplinint.sgml:
9679         * docs/libs/tmpl/gstdpman.sgml:
9680         * docs/libs/tmpl/gstdpsmooth.sgml:
9681         * docs/libs/tmpl/gstunitconvert.sgml:
9682           these are obsolete
9683
9684 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9685
9686         * configure.ac:
9687           back to HEAD
9688
9689 === release 0.9.4 ===
9690
9691 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9692
9693         * configure.ac:
9694           releasing 0.9.4, "Tyrannosaurus Rex"
9695
9696 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
9697
9698         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9699         (gst_file_sink_get_current_offset):
9700           Use fseeko() and ftello() if available. When falling back on
9701           lseek() to get the current offset, fflush() first to make sure
9702           everything is up-to-date and we get the right offset.
9703
9704 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9705
9706         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9707         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9708         * gst/gsterror.c: (_gst_stream_errors_init):
9709         * gst/gsterror.h:
9710         * gst/gstqueue.c: (gst_queue_loop):
9711         * po/POTFILES.in:
9712           remove prematurely added error category and clean up the instances
9713
9714 2005-10-21  Wim Taymans  <wim@fluendo.com>
9715
9716         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9717         (gst_base_sink_get_position), (gst_base_sink_query),
9718         (gst_base_sink_change_state):
9719         Simply set the right flag when going to playing, that's all
9720         we need to do instead of calling a function inside the object
9721         lock (that could take the lock as well and deadlock)
9722
9723 2005-10-21  Wim Taymans  <wim@fluendo.com>
9724
9725         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
9726         (gst_base_src_loop):
9727         Don't warn, the peer element knows what to do best when
9728         the seek failed, it might try something else.
9729
9730 2005-10-21  Wim Taymans  <wim@fluendo.com>
9731
9732         * gst/base/gstbasesrc.c: (gst_base_src_init),
9733         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9734         Fix seeking.
9735
9736 2005-10-21  Wim Taymans  <wim@fluendo.com>
9737
9738         * docs/design/part-segments.txt:
9739         More docs.
9740
9741         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9742         Correctly set caps, even on the subbufer.
9743
9744 2005-10-21  Wim Taymans  <wim@fluendo.com>
9745
9746         * docs/gst/gstreamer-docs.sgml:
9747         * docs/gst/gstreamer-sections.txt:
9748         * gst/gstelement.h:
9749         * gst/gstevent.c:
9750         * gst/gstevent.h:
9751         * gst/gstmessage.h:
9752         * gst/gstpad.h:
9753         * gst/gstparse.h:
9754         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
9755         * gst/gsttask.h:
9756         * gst/gstutils.c:
9757         * gst/gstutils.h:
9758         And 2% more doc coverage.
9759
9760 2005-10-21  Andy Wingo  <wingo@pobox.com>
9761
9762         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
9763         position reporting.
9764
9765 2005-10-20  Wim Taymans  <wim@fluendo.com>
9766
9767         * gst/gsterror.c: (gst_error_get_message):
9768         * gst/gstparse.h:
9769         * gst/gstquery.h:
9770         * gst/gststructure.c:
9771         * gst/gsttrace.c:
9772         * gst/gstutils.c:
9773         More docs.
9774
9775 2005-10-20  Wim Taymans  <wim@fluendo.com>
9776
9777         * gst/gstbuffer.h:
9778         * gst/gstpad.c:
9779         * gst/gstparse.c:
9780         Another 1% more coverage.
9781
9782 2005-10-20  Wim Taymans  <wim@fluendo.com>
9783
9784         * docs/gst/gstreamer-sections.txt:
9785         * gst/gstelement.c: (gst_element_get_state_func),
9786         (gst_element_abort_state), (gst_element_commit_state),
9787         (gst_element_lost_state):
9788         * gst/gstevent.h:
9789         * gst/gstquery.c: (gst_query_set_position),
9790         (gst_query_parse_position), (gst_query_set_duration),
9791         (gst_query_parse_duration), (gst_query_new_convert):
9792         * gst/gstutils.c:
9793         Yay! 1% more docs coverage.
9794
9795 2005-10-20  Wim Taymans  <wim@fluendo.com>
9796
9797         * gst/gstpad.h:
9798         * gst/gstquery.c: (gst_query_set_position),
9799         (gst_query_parse_position), (gst_query_set_duration),
9800         (gst_query_parse_duration), (gst_query_new_convert):
9801         * gst/gstquery.h:
9802         * gst/gstutils.c: (gst_element_query_convert):
9803         * gst/gstutils.h:
9804         Docs and consistency fixes.
9805
9806 2005-10-20  Wim Taymans  <wim@fluendo.com>
9807
9808         * gst/gsttask.c:
9809         * gst/gsttask.h:
9810         More docs.
9811
9812 2005-10-20  Wim Taymans  <wim@fluendo.com>
9813
9814         * gst/gstbin.c: (message_check), (bin_replace_message),
9815         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9816         (update_degree), (gst_bin_sort_iterator_next),
9817         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
9818         Reworked the message handling a bit, cache the messages instead of
9819         only the senders. alows us to do more in the future.
9820
9821 2005-10-20  Wim Taymans  <wim@fluendo.com>
9822
9823         * docs/design/part-TODO.txt:
9824         Update TODO
9825
9826         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9827         (gst_base_sink_query):
9828         Don't use clock time to report position when in EOS.
9829
9830 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
9831
9832         * tools/gst-inspect.c: (print_interfaces),
9833         (print_element_properties_info), (print_element_info):
9834           Fix interface output with gst-inspect -a; don't print
9835           newlines after double/float properties.
9836
9837 2005-10-20  Wim Taymans  <wim@fluendo.com>
9838
9839         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9840         (gst_base_sink_query):
9841         Speed up current position calculation.
9842
9843         * gst/base/gstbasesrc.c: (gst_base_src_query),
9844         (gst_base_src_default_newsegment):
9845         Correctly set stream position in newsegment.
9846
9847         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
9848         (update_degree), (gst_bin_sort_iterator_next),
9849         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
9850         * gst/gstmessage.c: (gst_message_new_custom):
9851         Clean up debugging info
9852
9853         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9854         (gst_queue_loop), (gst_queue_handle_src_query):
9855         Pause task faster.
9856
9857 2005-10-19  Wim Taymans  <wim@fluendo.com>
9858
9859         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9860         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9861         Fix query handling again.
9862
9863 2005-10-19  Wim Taymans  <wim@fluendo.com>
9864
9865         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9866         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9867         * gst/base/gstbasesrc.c: (gst_base_src_query):
9868         * gst/elements/gstfilesink.c: (gst_file_sink_query):
9869         * gst/elements/gsttypefindelement.c:
9870         (gst_type_find_handle_src_query), (find_element_get_length),
9871         (gst_type_find_element_activate):
9872         API change fix.
9873
9874         * gst/gstquery.c: (gst_query_new_position),
9875         (gst_query_set_position), (gst_query_parse_position),
9876         (gst_query_new_duration), (gst_query_set_duration),
9877         (gst_query_parse_duration), (gst_query_set_segment),
9878         (gst_query_parse_segment):
9879         * gst/gstquery.h:
9880         Bundling query position/duration is not a good idea since duration
9881         does not change much and we don't want to recalculate it for every
9882         position query, so they are separated again..
9883         Base value in segment query is not needed.
9884
9885         * gst/gstqueue.c: (gst_queue_handle_src_query):
9886         * gst/gstutils.c: (gst_element_query_position),
9887         (gst_element_query_duration), (gst_pad_query_position),
9888         (gst_pad_query_duration):
9889         * gst/gstutils.h:
9890         Updates for query API change.
9891         Added some docs here and there.
9892
9893 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9894
9895         * check/gst/gstbin.c: (GST_START_TEST):
9896         * check/gst/gstghostpad.c: (GST_START_TEST):
9897         * check/pipelines/cleanup.c: (GST_START_TEST):
9898           wait on thread to die so we can check refcount correctly
9899
9900 2005-10-18  Wim Taymans  <wim@fluendo.com>
9901
9902         * check/pipelines/stress.c: (GST_START_TEST):
9903         Make check a little more time consuming.
9904
9905 2005-10-18  Wim Taymans  <wim@fluendo.com>
9906
9907         * check/Makefile.am:
9908         * check/pipelines/stress.c: (GST_START_TEST),
9909         (simple_launch_lines_suite), (main):
9910         Small state change torture test.
9911
9912         * docs/design/part-states.txt:
9913         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9914         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
9915         (gst_base_sink_change_state):
9916         Never take state lock from streaming thread, clean up ugly
9917         hacks. Unfortunatly core does not yet support nice ways to
9918         async commit state.
9919         
9920         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
9921         (bin_bus_handler):
9922         Start state recalc if a STATE_DIRTY message is posted, but only
9923         on the toplevel bin.
9924
9925         * gst/gstelement.c: (gst_element_sync_state_with_parent),
9926         (gst_element_get_state_func), (gst_element_abort_state),
9927         (gst_element_commit_state), (gst_element_lost_state),
9928         (gst_element_set_state_func), (gst_element_change_state):
9929         * gst/gstelement.h:
9930         State variables are now protected with the LOCK, the state
9931         lock is only used to serialize _set_state().
9932
9933 2005-10-18  Wim Taymans  <wim@fluendo.com>
9934
9935         * check/gst/gstbin.c: (GST_START_TEST):
9936         * check/gst/gstmessage.c: (GST_START_TEST):
9937         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9938         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
9939         (bin_bus_handler):
9940         * gst/gstelement.c: (gst_element_abort_state),
9941         (gst_element_commit_state), (gst_element_lost_state):
9942         * gst/gstmessage.c: (gst_message_new_state_changed),
9943         (gst_message_new_state_dirty), (gst_message_new_segment_start),
9944         (gst_message_new_segment_done), (gst_message_new_duration),
9945         (gst_message_parse_state_changed),
9946         (gst_message_parse_segment_start),
9947         (gst_message_parse_segment_done), (gst_message_parse_duration):
9948         * gst/gstmessage.h:
9949         * tools/gst-launch.c: (event_loop):
9950         Seriously, this is better than a previous commit as we only need
9951         to notify the fact that an element changed state in a streaming
9952         thread, marking the state of the parents dirty, hence the 
9953         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
9954         message.
9955
9956 2005-10-18  Wim Taymans  <wim@fluendo.com>
9957
9958         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9959         (gst_bin_recalc_func):
9960         * gst/gstelement.c: (gst_element_set_clock),
9961         (gst_element_abort_state), (gst_element_lost_state):
9962         Cleanups, prepare for state change fixes.
9963
9964 2005-10-18  Wim Taymans  <wim@fluendo.com>
9965
9966         * gst/gstbin.h:
9967         * gst/gstelement.c: (gst_element_class_init),
9968         (gst_element_set_state), (gst_element_set_state_func):
9969         * gst/gstelement.h:
9970         Pending ABI changes.
9971         GThreadPool in GstBinClass to monitor async state changes.
9972         state_cookie in GstElement to detect concurrent gst/set state.
9973         set_state is now virtual too in case a very complicated element
9974         has to be constructed.
9975
9976 2005-10-18  Wim Taymans  <wim@fluendo.com>
9977
9978         * check/gst/gstbin.c: (GST_START_TEST):
9979         * check/gst/gstmessage.c: (GST_START_TEST):
9980         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9981         * gst/gstbin.c: (bin_bus_handler):
9982         * gst/gstelement.c: (gst_element_commit_state),
9983         (gst_element_lost_state):
9984         * gst/gstmessage.c: (gst_message_new_state_changed),
9985         (gst_message_new_segment_start), (gst_message_new_segment_done),
9986         (gst_message_new_duration), (gst_message_parse_state_changed),
9987         (gst_message_parse_segment_start),
9988         (gst_message_parse_segment_done), (gst_message_parse_duration):
9989         * gst/gstmessage.h:
9990         * tools/gst-launch.c: (event_loop):
9991         Make messages future proof.
9992         state-change gets a flag if it was a message comming from the
9993         streaming thread.
9994         segment-start/stop can also be specified in other formats.
9995         A message to notify an app that a pipeline changed playback 
9996         duration.
9997         Also fix a GstMessage leak in -launch
9998
9999 2005-10-18  Andy Wingo  <wingo@pobox.com>
10000
10001         * gst/gstelement.c (gst_element_dispose): More helpful message.
10002
10003 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10004
10005         reviewed by: <delete if not using a buddy>
10006
10007         * common/gtk-doc.mak:
10008
10009 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10010
10011         * gst/gstregistry.c: (gst_registry_scan_path_level):
10012           unref a plug-in we get that was already initialized
10013
10014 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10015
10016         * docs/gst/gstreamer-sections.txt:
10017         * docs/libs/gstreamer-libs-sections.txt:
10018         * gst/gstelement.h:
10019           add new api entries
10020           hide internal macro
10021
10022 2005-10-17  Andy Wingo  <wingo@pobox.com>
10023
10024         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10025         cleanup.
10026
10027         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10028
10029         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10030
10031         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10032         (gst_element_get_state_func): Better debug message.
10033         (gst_element_commit_state): s/INFO/DEBUG/.
10034         (gst_element_lost_state, gst_element_change_state): 
10035
10036         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10037         (gst_message_new_custom): s/INFO/LOG/.
10038
10039 2005-10-17  Michael Smith <msmith@fluendo.com>
10040
10041         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10042           Check if end time is valid using end time, not start time.
10043
10044 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10045
10046         * check/gst-libs/controller.c: (GST_START_TEST),
10047         (gst_controller_suite):
10048         * libs/gst/controller/gstcontroller.c:
10049         (gst_controlled_property_set_interpolation_mode):
10050         * libs/gst/controller/gstcontroller.h:
10051         * libs/gst/controller/gstinterpolation.c:
10052         * testsuite/controller/.cvsignore:
10053         * testsuite/controller/Makefile.am:
10054         * testsuite/controller/interpolator.c:
10055           merge controller testsuites
10056           fix broken tests
10057           remove mem-chunk from docs
10058
10059 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10060
10061         * gst/gstmemchunk.c:
10062         * gst/gstmemchunk.h:
10063         * gst/gsttrashstack.c:
10064         * gst/gsttrashstack.h:
10065           out.  get out.  you're fired.  to the Attic !
10066
10067 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10068
10069         * gst/gstcaps.c: (gst_caps_intersect):
10070           fix signedness issues in a (hopefully) correct way
10071         * gst/gstelement.c: (gst_element_pads_activate):
10072           some debugging
10073         * gst/gstobject.c: (gst_object_set_parent):
10074           some debugging
10075
10076 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10077
10078         * gst/gstvalue.h: Fix prototypes.
10079
10080 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10081
10082         * docs/gst/gstreamer-sections.txt:
10083         * gst/gst.c: (gst_version_string):
10084         * gst/gst.h:
10085         * gst/gstversion.h.in:
10086         * win32/common/libgstreamer.def:
10087           add gst_version_string ()
10088
10089 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10090
10091         * configure.ac:
10092           clean up further
10093         * gst/gst.c: (init_post):
10094         * win32/common/config.h.in:
10095           it's PLUGINDIR now
10096         * gst/gstcaps.c: (gst_caps_intersect):
10097           use gint64, the range could be bigger than a guint
10098
10099 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10100
10101         * gst/gstclock.h:
10102           document potential problem in 2038
10103
10104 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10105
10106         * gst/gstcaps.c: (gst_caps_intersect):
10107           Fix guint j diving under 0
10108
10109 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10110
10111         * configure.ac:
10112         * win32/common/config.h:
10113         * win32/common/config.h.in:
10114           check for process.h, declares getpid() on Windows
10115         * gst/gstinfo.c:
10116           include process.h if we have it
10117         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10118         * gst/gstmemchunk.h:
10119           fix signedness issues
10120         * win32/common/libgstreamer.def:
10121           fix get_type's
10122
10123 2005-10-16  Julien MOUTTE  <julien@moutte.net>
10124
10125         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10126         fix. Because of unsigned ints, caps intersection was going nuts and
10127         trying to access structures with G_MAXUINT index. That fixes
10128         videotestsrc ! ffmpegcolorspace ! fakesink
10129         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
10130         consistency.
10131
10132 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10133
10134         * configure.ac:
10135           use the gettext macro
10136         * gst/elements/gstelements.c:
10137         * gst/gst.c:
10138         * gst/indexers/gstindexers.c:
10139           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
10140         * win32/common/config.h:
10141           updated config.h
10142         * win32/common/config.h.in:
10143           add the template to generate config.h
10144         * win32/common/gstenumtypes.c:
10145         * win32/common/gstversion.h:
10146           updated copies
10147
10148 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10149
10150         * gst/gst.c: (gst_version):
10151         * gst/gstversion.h.in:
10152           add the nano
10153
10154 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10155
10156         * gst/gstevent.h:
10157           Oops, add missing closing bracket.
10158
10159 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10160
10161         * configure.ac:
10162           use common m4's for argument checking
10163
10164 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10165
10166         * docs/gst/gstreamer-sections.txt:
10167         * gst/gstevent.h:
10168           Add GST_EVENT_TYPE_NAME() macro.
10169
10170 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10171
10172         * gst/gstinfo.c:
10173         * gst/gstpluginfeature.c:
10174         * gst/gsttask.c:
10175           privatize more symbols
10176
10177 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10178
10179         * configure.ac:
10180           add srcdir, builddir includes to GST_ALL_CFLAGS, since
10181           everything that uses GStreamer API should have the includes
10182
10183 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10184
10185         * docs/gst/gstreamer-sections.txt:
10186         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10187         * gst/gstvalue.h:
10188           give each value a _get_type, removes the DATA exports
10189
10190 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10191
10192         * gst/gst.c:
10193         * gst/gst.h:
10194           remove _gst_registry_auto_load, not used anymore
10195         * gst/gstbin.c: (gst_bin_get_type):
10196         * gst/gstbin.h:
10197         * gst/gstelement.c: (gst_element_get_type):
10198         * gst/gstelement.h:
10199         * gst/gstobject.c: (gst_object_get_type):
10200         * gst/gstobject.h:
10201         * gst/gstpad.c: (gst_pad_get_type):
10202         * gst/gstpad.h:
10203           make _get_type functions similar, fixes data export from library
10204
10205 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10206
10207         * configure.ac:
10208           correctly make conditionals
10209         * gst/elements/Makefile.am:
10210         * gst/elements/gstelements.c:
10211           fix typo causing fdsrc not to build
10212
10213 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10214
10215         * testsuite/Makefile.am:
10216         * testsuite/bytestream/.cvsignore:
10217         * testsuite/bytestream/Makefile.am:
10218         * testsuite/bytestream/filepadsink.c:
10219         * testsuite/bytestream/gstbstest.c:
10220         * testsuite/bytestream/test1.c:
10221         * testsuite/bytestream/testfile1:
10222         * testsuite/caps/normalisation.c:
10223         * testsuite/caps/random.c: (main):
10224         * testsuite/cleanup/.cvsignore:
10225         * testsuite/cleanup/Makefile.am:
10226         * testsuite/cleanup/cleanup1.c:
10227         * testsuite/cleanup/cleanup2.c:
10228         * testsuite/cleanup/cleanup3.c:
10229         * testsuite/cleanup/cleanup4.c:
10230         * testsuite/cleanup/cleanup5.c:
10231         * testsuite/controller/interpolator.c:
10232         * testsuite/debug/printf_extension.c: (main):
10233         * testsuite/elements/tee.c:
10234         * testsuite/negotiation/.cvsignore:
10235         * testsuite/negotiation/Makefile.am:
10236         * testsuite/negotiation/pad_link.c:
10237         * testsuite/pad/Makefile.am:
10238         * testsuite/pad/chainnopull.c:
10239         * testsuite/pad/getnopush.c:
10240         * testsuite/pad/link.c:
10241         * testsuite/refcounting/sched.c: (create_pipeline):
10242         * testsuite/registry/Makefile.am:
10243         * testsuite/registry/gst-print-formats.c:
10244         * testsuite/schedulers/.cvsignore:
10245         * testsuite/schedulers/142183-2.c:
10246         * testsuite/schedulers/142183.c:
10247         * testsuite/schedulers/143777-2.c:
10248         * testsuite/schedulers/143777.c:
10249         * testsuite/schedulers/147713.c:
10250         * testsuite/schedulers/147819.c:
10251         * testsuite/schedulers/147894-2.c:
10252         * testsuite/schedulers/147894.c:
10253         * testsuite/schedulers/Makefile.am:
10254         * testsuite/schedulers/group_link.c:
10255         * testsuite/schedulers/queue_link.c:
10256         * testsuite/schedulers/relink.c:
10257         * testsuite/schedulers/unlink.c:
10258         * testsuite/schedulers/unref.c:
10259         * testsuite/schedulers/useless_iteration.c:
10260         * testsuite/states/bin.c:
10261           clean out/remove some stuff from the testsuite directories
10262
10263 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10264
10265         * configure.ac:
10266           check for some headers
10267         * gst/elements/Makefile.am:
10268         * gst/elements/gstelements.c:
10269           don't compile fdsrc without sys/socket.h
10270         * gst/indexers/Makefile.am:
10271         * gst/indexers/gstindexers.c: (plugin_init):
10272           don't compile fileindex without mmap
10273
10274 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10275
10276         * configure.ac:
10277           reorganize
10278           clean up
10279           document more
10280           remove cruft
10281         * check/Makefile.am:
10282         * docs/gst/Makefile.am:
10283         * examples/helloworld/Makefile.am:
10284         * gst/Makefile.am:
10285         * gst/base/Makefile.am:
10286         * gst/check/Makefile.am:
10287         * gst/elements/Makefile.am:
10288         * gst/indexers/Makefile.am:
10289         * gst/parse/Makefile.am:
10290         * libs/gst/controller/Makefile.am:
10291         * libs/gst/dataprotocol/Makefile.am:
10292         * examples/helloworld/helloworld.c: (event_loop):
10293           compile fixes, though it's not being compiled currently
10294
10295 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10296
10297         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
10298           Add some simple tests for the new taglist date API.
10299
10300 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10301
10302         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
10303         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
10304           Beautify 'last-message' output: print 'none' for buffer timestamps
10305           and durations if none is set; improve alignment with next messages.
10306
10307 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10308
10309         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
10310         * gst/gstpluginfeature.h:
10311         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
10312         * gst/gstregistry.h:
10313         * docs/gst/gstreamer-sections.txt:
10314           Add new API to check plugin feature version requirements.
10315
10316         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
10317           Some basic tests for the above.         
10318
10319 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10320
10321         * gst/gststructure.c: (gst_structure_to_string):
10322           guard against NULL printf - happens when for example
10323           a message structure with GstClock gets serialized
10324
10325 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10326
10327         * gst/base/gstcollectpads.c: (gst_collectpads_event):
10328           Fix presumable copy'n'pasto.
10329
10330 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10331
10332         * gst/elements/gstfakesrc.h:
10333         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
10334         * gst/elements/gsttypefindelement.c:
10335           fix some signedness
10336         * gst/elements/gstfilesink.c: (gst_file_sink_render):
10337           I wonder if this could actually write +2GB files before
10338
10339 2005-10-13  Andy Wingo  <wingo@pobox.com>
10340
10341         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
10342         Fix Timmeke Waymans bug.
10343         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
10344         string of the proper length to gst_caps_from_string. There's a
10345         potential for, before this fix, that this could cause someone
10346         connecting over the network to cause a segfault if the payload is
10347         not NUL-terminated.
10348
10349 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10350
10351         * docs/design/draft-push-pull.txt:
10352         * docs/design/part-overview.txt:
10353         * docs/random/TODO-pre-0.9:
10354         * docs/random/old/ChangeLog.gstreamer:
10355         * gst/base/gstpushsrc.c:
10356         * gst/gstclock.c:
10357           fixed typos
10358
10359 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10360
10361         * gst/glib-compat.c: (gst_flags_get_first_value):
10362         * gst/glib-compat.h:
10363         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
10364         (gst_value_compare_double), (gst_value_serialize_flags):
10365           GLib 2.6 g_flags_get_first_value has a bug that triggers an
10366           infinite loop
10367
10368 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10369
10370         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10371         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10372           fix up debugging
10373         * tools/gst-launch.c: (event_loop):
10374           print out clock nicely
10375
10376 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10377
10378         * docs/gst/gstreamer-sections.txt:
10379         * gst/gsttaglist.h:
10380         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
10381         (gst_tag_list_get_date_index):
10382           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
10383           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
10384
10385 2005-10-13  Julien MOUTTE  <julien@moutte.net>
10386
10387         * gst/base/gstcollectpads.c: (gst_collectpads_event),
10388         (gst_collectpads_chain):
10389         * gst/base/gstcollectpads.h: Handle newsegment and store informations
10390         in CollectData.
10391
10392 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10393
10394         * docs/gst/gstreamer-sections.txt:
10395         * gst/gst.c:
10396         * gst/gsterror.h:
10397         * tools/gst-inspect.c: (main):
10398         * tools/gst-launch.c: (main):
10399         * tools/gst-run.c: (main):
10400         * tools/gst-xmlinspect.c: (main):
10401           fix GOption context leaks
10402           doc fixes
10403
10404 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10405
10406         * gst/gstbus.c:
10407           use HAVE_UNISTD_H
10408         * win32/common/config.h:
10409           update config
10410         * win32/vs6/grammar.dsp:
10411         * win32/vs6/libgstelements.dsp:
10412         * win32/vs6/libgstreamer.dsp:
10413           update vs6 files
10414
10415 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10416
10417         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10418         * gst/base/gstbasesrc.c: (gst_base_src_query):
10419           fix more guint64<->gdouble conversions
10420
10421 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10422
10423         * Makefile.am:
10424           add win32-update target
10425         * win32/common/gstconfig.h:
10426         * win32/common/gstenumtypes.c:
10427         * win32/common/gstenumtypes.h:
10428         * win32/common/gstversion.h:
10429           add files that visual studio can't generate
10430
10431 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10432
10433         * Makefile.am:
10434           add a win32-update target
10435         * configure.ac:
10436
10437 2005-10-12  Wim Taymans  <wim@fluendo.com>
10438
10439         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10440         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
10441         * gst/gstelement.c: (gst_element_commit_state),
10442         (gst_element_set_state):
10443         Protect flags with proper lock.
10444         unref provided cached clock in dispose.
10445
10446 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10447
10448         * gst/gst.c:
10449         * gst/gstminiobject.h:
10450         * gst/gstpad.h:
10451         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
10452           removed unused flags from miniobject
10453           doc fixes
10454
10455 2005-10-12  Wim Taymans  <wim@fluendo.com>
10456
10457         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10458         (gst_file_sink_event), (gst_file_sink_render):
10459         Flush before seeking.
10460
10461 2005-10-12  Andy Wingo  <wingo@pobox.com>
10462
10463         * gst/gst.c (gst_init_check): Ignore unknown options, as has
10464         always been the case.
10465
10466 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10467
10468         * check/gst/gstbin.c: (GST_START_TEST):
10469         * docs/gst/gstreamer-sections.txt:
10470         * gst/base/gstbasesink.c: (gst_base_sink_init):
10471         * gst/base/gstbasesrc.c: (gst_base_src_init),
10472         (gst_base_src_get_range), (gst_base_src_check_get_range),
10473         (gst_base_src_start), (gst_base_src_stop):
10474         * gst/base/gstbasesrc.h:
10475         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
10476         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10477         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
10478         (bin_bus_handler):
10479         * gst/gstbin.h:
10480         * gst/gstbuffer.h:
10481         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
10482         * gst/gstbus.h:
10483         * gst/gstelement.c: (gst_element_is_locked_state),
10484         (gst_element_set_locked_state), (gst_element_commit_state),
10485         (gst_element_set_state):
10486         * gst/gstelement.h:
10487         * gst/gstindex.c: (gst_index_init):
10488         * gst/gstindex.h:
10489         * gst/gstminiobject.h:
10490         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
10491         (gst_object_set_parent):
10492         * gst/gstobject.h:
10493         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
10494         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
10495         * gst/gstpad.h:
10496         * gst/gstpadtemplate.h:
10497         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
10498         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10499         * gst/gstpipeline.h:
10500         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10501         (gst_file_index_commit):
10502         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
10503         * testsuite/pad/link.c: (gst_test_src_init),
10504         (gst_test_filter_init), (gst_test_sink_init):
10505         * testsuite/states/locked.c: (main):
10506           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
10507           moved bitshift from macro to enum definition
10508
10509 2005-10-12  Wim Taymans  <wim@fluendo.com>
10510
10511         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
10512         * gst/elements/gstfilesink.c: (gst_file_sink_event),
10513         (gst_file_sink_render):
10514         Some more debugging info.
10515
10516 2005-10-12  Wim Taymans  <wim@fluendo.com>
10517
10518         * docs/design/part-states.txt:
10519         * tools/gst-launch.c: (main):
10520         Some doc updates.
10521         Revert non-intentional change.
10522
10523 2005-10-12  Wim Taymans  <wim@fluendo.com>
10524
10525         * check/gst/gstbin.c: (GST_START_TEST):
10526         * check/gst/gstelement.c: (GST_START_TEST):
10527         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
10528         * check/gst/gstghostpad.c: (GST_START_TEST):
10529         * check/gst/gstpipeline.c: (GST_START_TEST):
10530         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10531         * check/states/sinks.c: (GST_START_TEST):
10532         * gst/elements/gsttypefindelement.c: (stop_typefinding):
10533         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10534         (gst_bin_remove_func), (gst_bin_get_state_func),
10535         (gst_bin_recalc_state), (gst_bin_change_state_func),
10536         (bin_bus_handler):
10537         * gst/gstelement.c: (gst_element_get_state_func),
10538         (gst_element_get_state), (gst_element_abort_state),
10539         (gst_element_commit_state), (gst_element_set_state),
10540         (gst_element_change_state), (gst_element_change_state_func):
10541         * gst/gstelement.h:
10542         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
10543         (gst_pipeline_provide_clock_func):
10544         * gst/gstutils.c: (gst_element_link_pads_filtered):
10545         * tools/gst-launch.c: (main):
10546         * tools/gst-typefind.c: (main):
10547         Use GstClockTime in _get_state() instead of GTimeVal.
10548         Remove old code in gstutils.c
10549
10550 2005-10-12  Andy Wingo  <wingo@pobox.com>
10551
10552         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
10553         removed.
10554
10555         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
10556         there is no task. Shouldn't affect any code, as nothing in our
10557         plugins checks this return value.
10558         (gst_pad_stop_task): Also take the stream lock if the pad has no
10559         task. Docs updated.
10560
10561 2005-10-12  Wim Taymans  <wim@fluendo.com>
10562
10563         * gst/gstpad.c: (pre_activate), (post_activate),
10564         (gst_pad_activate_pull), (gst_pad_activate_push):
10565         Cleanup activation code. Reset old state if
10566         activation failed.
10567
10568 2005-10-12  Wim Taymans  <wim@fluendo.com>
10569
10570         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10571         (gst_base_sink_change_state):
10572         No need to prerol after receiving EOS.
10573
10574         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10575         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
10576         * gst/elements/gstidentity.c: (gst_identity_event):
10577         Print events more verbosely.
10578
10579 2005-10-12  Wim Taymans  <wim@fluendo.com>
10580
10581         * check/Makefile.am:
10582         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10583         * check/states/sinks2.c:
10584         Moved sinks2 testcode in sinks check.
10585
10586         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10587         (gst_bin_remove_func), (gst_bin_recalc_state),
10588         (gst_bin_change_state_func), (bin_bus_handler):
10589         Fix potential race condition when _get_state() iterated over an
10590         ASYNC element right before it posted a state completion.
10591
10592         * gst/gstclock.h:
10593         Do proper cast here.
10594
10595         * gst/gstevent.c: (gst_event_new_newsegment),
10596         (gst_event_parse_newsegment):
10597         A playback rate of 0.0 is not allowed.
10598
10599 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10600
10601         * win32/common/config.h:
10602         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10603         (_trewinddir), (_ttelldir), (_tseekdir):
10604         * win32/common/dirent.h:
10605         * win32/common/gtchar.h:
10606         * win32/common/libgstbase.def:
10607         * win32/common/libgstreamer.def:
10608         * win32/vs6/grammar.dsp:
10609         * win32/vs6/gst_inspect.dsp:
10610         * win32/vs6/gst_launch.dsp:
10611         * win32/vs6/gstreamer.dsw:
10612         * win32/vs6/libgstbase.dsp:
10613         * win32/vs6/libgstelements.dsp:
10614         * win32/vs6/libgstreamer.dsp:
10615           Visual Studio 6 project files, and a new common directory.
10616           Phear.
10617
10618 2005-10-11  Wim Taymans  <wim@fluendo.com>
10619
10620         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10621         (gst_base_sink_do_sync), (gst_base_sink_query),
10622         (gst_base_sink_change_state):
10623         * gst/base/gstbasesink.h:
10624         Correctly parse newsegment info.
10625
10626 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10627
10628         * gst/gst.c: (init_post):
10629           split plugin paths correctly
10630
10631 2005-10-11  Wim Taymans  <wim@fluendo.com>
10632
10633         * check/gst/gstevent.c: (GST_START_TEST):
10634         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10635         (gst_base_sink_change_state):
10636         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
10637         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10638         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10639         * gst/gstevent.c: (gst_event_new_newsegment),
10640         (gst_event_parse_newsegment):
10641         * gst/gstevent.h:
10642         Added extra flag to newsegment for future API freeze.
10643         Updated check and base elements.
10644
10645 2005-10-11  Julien MOUTTE  <julien@moutte.net>
10646
10647         * gst/base/gstcollectpads.c: (gst_collectpads_init),
10648         (gst_collectpads_add_pad), (gst_collectpads_pop),
10649         (gst_collectpads_event), (gst_collectpads_chain):
10650         * gst/base/gstcollectpads.h: Handle EOS correctly.
10651
10652 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10653
10654         * tools/gst-launch.c: (main):
10655           more null protecting
10656
10657 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10658
10659         * gst/gst-i18n-lib.h:
10660           check for ENABLE_NLS, not GETTEXT_PACKAGE
10661         * gst/gstregistry.c: (gst_registry_add_plugin),
10662         (gst_registry_scan_path_level),
10663         (_gst_registry_remove_cache_plugins):
10664           protect possibly NULL strings
10665         * gst/parse/types.h:
10666           config.h already included before
10667         * tools/gst-inspect.c: (main):
10668           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
10669           check for ENABLE_NLS, not GETTEXT_PACKAGE
10670         * tools/gst-launch.c: (main):
10671           check for ENABLE_NLS, not GETTEXT_PACKAGE
10672
10673 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10674
10675         * configure.ac:
10676           if we don't have glib, fail before testing 2.8
10677         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
10678           fix a leak, should fix plugins-base testsuite
10679
10680 2005-10-11  Andy Wingo  <wingo@pobox.com>
10681
10682         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
10683         take the mode we're going to as an arg. Go head and set the mode
10684         and flushing flags now, so that if the activate function starts a
10685         thread all the flags will be in the right state.
10686         (post_activate): Renamed also. Just handle making sure streaming
10687         finishes for the deactivation case, and setting the deactivated
10688         mode.
10689         (gst_pad_set_active): Complain loudly if deactivation fails.
10690         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
10691         (gst_pad_activate_push): Adapt to pre/post_activate changes,
10692         remove the terrible hack.
10693
10694 2005-10-11  Wim Taymans  <wim@fluendo.com>
10695
10696         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10697         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
10698         (gst_bin_recalc_state), (gst_bin_change_state_func),
10699         (gst_bin_dispose), (bin_bus_handler):
10700         * gst/gstbin.h:
10701         Prepare to make current EOS message queue more generic.
10702         Fix some typos.
10703
10704         * gst/gstevent.c: (gst_event_new_newsegment),
10705         (gst_event_parse_newsegment):
10706         * gst/gstevent.h:
10707         Rename base to stream_time.
10708
10709         * gst/gstmessage.h:
10710         Fix typo in docs.
10711
10712 2005-10-11  Wim Taymans  <wim@fluendo.com>
10713
10714         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10715         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
10716         (gst_bin_change_state_func), (bin_bus_handler):
10717         * gst/gstbin.h:
10718         Work on proper clock selection.
10719
10720 2005-10-11  Edward Hervey  <edward@fluendo.com>
10721
10722         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
10723         * libs/gst/controller/gstcontroller.h:
10724         Added GList* version of _remove_properties() in order to be able to wrap
10725         it in bindings.
10726
10727 2005-10-11  Wim Taymans  <wim@fluendo.com>
10728
10729         * docs/design/part-states.txt:
10730         Some more docs.
10731
10732         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
10733         (gst_bin_change_state_func), (bin_bus_handler):
10734         Doc updates. Don't distribute the same clock over and over again.
10735
10736         * gst/gstclock.c:
10737         * gst/gstclock.h:
10738         Doc updates.
10739
10740         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
10741         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
10742         (gst_pad_send_event):
10743         * gst/gstpad.h:
10744         Make probe emission threadsafe again.
10745         Register quarks and move _get_name() from utils.
10746         Doc updates.
10747
10748         * gst/gstpipeline.c: (gst_pipeline_class_init),
10749         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10750         Only redistribute the clock of it changed.
10751
10752         * gst/gstsystemclock.h:
10753         Doc updates. 
10754
10755         * gst/gstutils.c:
10756         * gst/gstutils.h:
10757         Moved the _flow_get_name() to GstPad.
10758
10759 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10760
10761         * check/gst-libs/gdp.c: (GST_START_TEST):
10762         * check/gst/gstcaps.c: (GST_START_TEST):
10763         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
10764         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
10765         (gst_dp_packet_from_caps):
10766           fix more valgrind warnings before turning up the heat
10767
10768 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10769
10770         * gst/parse/grammar.y:
10771           some cleanup before the hacking
10772
10773 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10774
10775         * gst/base/gstbasesrc.c: (gst_base_src_query):
10776           use conversions
10777         * gst/gstutils.c: (gst_guint64_to_gdouble),
10778         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
10779         * gst/gstutils.h:
10780           externalize, basesrc uses it
10781           obviously the implementation needs testing
10782
10783 2005-10-10  Wim Taymans  <wim@fluendo.com>
10784
10785         * tests/sched/Makefile.am:
10786         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
10787         (make_pipeline3), (make_pipeline4), (print_elem), (main):
10788
10789 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10790
10791         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
10792           apparently converting from guint64 to double is not implemented
10793           on MSVC
10794
10795 2005-10-10  Wim Taymans  <wim@fluendo.com>
10796
10797         * check/Makefile.am:
10798         * check/generic/states.c: (GST_START_TEST):
10799         * check/gst/gstbin.c: (GST_START_TEST):
10800         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10801         * check/states/sinks.c: (GST_START_TEST):
10802         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
10803         (main):
10804         Check fixes, use API as stated in design docs, remove hacks.
10805
10806         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10807         (gst_base_sink_change_state):
10808         Catch stopping our task while we're shutting down.
10809
10810         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
10811         (gst_bin_remove_func), (gst_bin_get_state_func),
10812         (gst_bin_recalc_state), (gst_bin_change_state_func),
10813         (bin_bus_handler):
10814         * gst/gstbin.h:
10815         * gst/gstelement.c: (gst_element_init),
10816         (gst_element_get_state_func), (gst_element_abort_state),
10817         (gst_element_commit_state), (gst_element_lost_state),
10818         (gst_element_set_state), (gst_element_change_state),
10819         (gst_element_change_state_func):
10820         * gst/gstelement.h:
10821         New state change algorithm (see #318116)
10822
10823         * gst/gstpipeline.c: (gst_pipeline_class_init),
10824         (gst_pipeline_init), (gst_pipeline_set_property),
10825         (gst_pipeline_get_property), (do_pipeline_seek),
10826         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10827         * gst/gstpipeline.h:
10828         Remove crude state change hacks.
10829
10830         * gst/gstutils.h:
10831         Remove crude hacks.
10832
10833         * tools/gst-launch.c: (main):
10834         Fixes for state change. Needs some more work to fully use the
10835         new stuff.
10836
10837 2005-10-10  Andy Wingo  <wingo@pobox.com>
10838
10839         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
10840
10841         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
10842         this flag, but it's not even in GLib 2.6. Odd. Hack around the
10843         issue.
10844
10845 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10846
10847         * gst/gstiterator.c: (gst_iterator_new):
10848           Fix my previous commit: GTypes passed to gst_iterator_new()
10849           can be fundamental types.
10850
10851 2005-10-10  Wim Taymans  <wim@fluendo.com>
10852
10853         * gst/gstelement.c: (gst_element_iterate_pad_list),
10854         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
10855         (gst_element_iterate_sink_pads):
10856         Use src/sink pads lists for the respective iterators instead
10857         of filtering.
10858
10859 2005-10-10  Andy Wingo  <wingo@pobox.com>
10860
10861         Merged in popt removal + GOption addition patch from Ronald, bug
10862         #169772.
10863
10864         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
10865         GstElement macros around, remove popt-related symbols, add goption
10866         stuff.
10867
10868         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
10869         
10870         * docs/gst/Makefile.am:
10871         * docs/libs/Makefile.am: No POPT_CFLAGS.
10872         
10873         * examples/manual/Makefile.am:
10874         * docs/manual/basics-init.xml: Doc updates with an example.
10875         
10876         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10877         (gst_init), (parse_one_option), (parse_goption_arg):
10878         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
10879         bit of hand merging and debugging to get the GOption stuff working
10880         tho.
10881         
10882         * tests/Makefile.am:
10883         * tools/Makefile.am:
10884         * tools/gst-inspect.c: (main):
10885         * tools/gst-launch.c: (main):
10886         * tools/gst-run.c: (main):
10887         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
10888
10889 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10890
10891         * gst/gstiterator.c: (gst_iterator_new):
10892           Add assertions to make sure passed GType is likely to really
10893           be a GType (as the compiler won't catch it if the size and
10894           GType arguments get mixed up, see #318447).
10895
10896 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
10897
10898         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10899
10900         * gst/gstbin.c: (gst_bin_iterate_sorted):
10901           Pass GType and size arguments to gst_iterator_new() in the right
10902           order (maybe we should make _new() take the GType as first argument
10903           just like _new_list()?) (#318447).
10904           
10905
10906 2005-10-10  Wim Taymans  <wim@fluendo.com>
10907
10908         * gst/gstelement.c: (gst_element_finalize):
10909         And free the GStaticRecMutex too
10910
10911 2005-10-10  Andy Wingo  <wingo@pobox.com>
10912
10913         * gst/gstelement.c (gst_element_init, gst_element_finalize):
10914         Allocate and free the mutex properly.
10915
10916         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
10917         New macros.
10918         (GstElement): The state_lock is now recursive. Rebuild your
10919         plugins, suckers. Old macros adapted.
10920
10921         * docs/gst/gstreamer-sections.txt: Doc updates.
10922
10923         * gst/gstutils.h:
10924         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
10925         (g_static_rec_cond_wait): Ported from state changes patch, while
10926         we wait on bug #317802 to be solved in a well-distributed GLib.
10927
10928         * gst/gstelement.c (gst_element_change_state_func): Renamed from
10929         gst_element_change_state, variable name changes.
10930         (gst_element_change_state): Split out of gst_element_set_state in
10931         preparation for the state change merge. Doesn't pay attention to
10932         the 'transition' argument.
10933         (gst_element_set_state): Updates, hopefully purely cosmetic.
10934         (gst_element_sync_state_with_parent): MT-safety. Ported from the
10935         state change patch.
10936         (gst_element_get_state_func): Renamed from get_state, cosmetic
10937         changes.
10938
10939 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10940
10941         * gst/elements/gstelements.c:
10942         * win32/GStreamer.vcproj:
10943         * win32/config.h:
10944         * win32/dirent.c: (_tseekdir):
10945         * win32/gst-inspect.vcproj:
10946         * win32/gst-launch.vcproj:
10947         * win32/gstconfig.h:
10948         * win32/gstelements.vcproj:
10949         * win32/gstenumtypes.c: (gst_object_flags_get_type):
10950         * win32/gstreamer.def:
10951         * win32/msvc71.sln:
10952           updates for the win32 build (patch from Sebastien Moutte)
10953
10954 2005-10-10  Andy Wingo  <wingo@pobox.com>
10955
10956         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
10957         gst_bin_get_state, cleaned up (but no logic changes).
10958         (bin_element_is_sink): Comment updates.
10959         (sink_iterator_filter): Remove needless cast.
10960         (gst_bin_iterate_sinks): Doc update.
10961         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10962         cleaned up (but no logic changes).
10963
10964         * check/states/sinks.c (test_src_sink): Cleanups from the state
10965         change patch.
10966         (test_livesrc_sink): Sync on the state.
10967
10968         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10969         the state change patch.
10970
10971         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10972         change patch.
10973
10974         * check/gst/gstbin.c: Merge in some style fixes and additional
10975         checks from Wim's state change patch.
10976
10977 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10978
10979         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10980         (gst_type_find_helper):
10981           Check whether we have the requested data already in our list of
10982           cached buffers before pulling a new buffer; also make the buffer
10983           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10984
10985 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10986
10987         * gst/gstcaps.c:
10988         * gst/gstevent.c:
10989           doc updates
10990         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10991           don't use long long, it's not portable.  Replacing with
10992           gint64 seems to work; let's hope no skeletons fall out of the closet.
10993
10994 2005-10-10  Andy Wingo  <wingo@pobox.com>
10995
10996         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10997
10998 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10999
11000         * docs/gst/gstreamer-sections.txt:
11001         * gst/gstevent.c:
11002         * gst/gstevent.h:
11003         * gst/gstinfo.c:
11004         * gst/gstinfo.h:
11005         * gst/gstmessage.c: (gst_message_parse_state_changed):
11006         * gst/gstpad.c:
11007         * gst/gstpad.h:
11008           more docs, fix compilation
11009
11010 2005-10-09  Philippe Khalaf <burger@speedy.org>
11011         * gst/gstmessage.c:
11012           Fixed a few forgotten variables on previous commit
11013
11014 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11015
11016         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11017           Fix evil typefind crasher: getrange() might return a short
11018           buffer at the end of a file, but gst_type_find_peek() must
11019           either return the full data as requested or NULL, but
11020           never a short buffer.
11021
11022 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11023
11024         * gst/gstmessage.c: (gst_message_new_state_changed),
11025         (gst_message_parse_state_changed):
11026         * gst/gstmessage.h:
11027           don't use "new", it's a C++ keyword
11028
11029 2005-10-08  Wim Taymans  <wim@fluendo.com>
11030
11031         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11032         * gst/gstelement.c: (gst_element_post_message):
11033         * gst/gstpipeline.c: (gst_pipeline_change_state):
11034         Small docs and debug updates.
11035
11036 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11037
11038         * docs/gst/gstreamer-sections.txt:
11039         * gst/gstelementfactory.c:
11040         * gst/gstevent.c:
11041         * gst/gsttaglist.c:
11042           more docs
11043
11044 2005-10-08  Wim Taymans  <wim@fluendo.com>
11045
11046         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11047         (gst_bin_dispose), (bin_bus_handler):
11048         Fix typos, add comments.
11049         Clear EOS list when going to PAUSED from any direction and do it
11050         in a threadsafe way.
11051         Get base time in a threadsafe way too.
11052         Fix confusing debug in the change_state function.
11053         Various other small cleanups.
11054         
11055         * gst/gstelement.c: (gst_element_post_message):
11056         Fix very verbose bus posting code.
11057
11058         * gst/gstpipeline.c: (gst_pipeline_class_init),
11059         (gst_pipeline_set_property), (gst_pipeline_get_property),
11060         (gst_pipeline_change_state):
11061         Small ARG_ -> PROP_ cleanup
11062
11063 2005-10-08  Wim Taymans  <wim@fluendo.com>
11064
11065         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11066         Do a less CPU demanding EOS check because we can.
11067
11068 2005-10-08  Wim Taymans  <wim@fluendo.com>
11069
11070         * libs/gst/dataprotocol/dataprotocol.c:
11071         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11072         (gst_dp_packet_from_event):
11073         * libs/gst/dataprotocol/dataprotocol.h:
11074         * libs/gst/dataprotocol/dp-private.h:
11075         It's about time we bump the version number.
11076         Since event types don't fit in the guint8 anymore describing
11077         the payload type, make payload type 16 bits wide.
11078
11079 2005-10-08  Wim Taymans  <wim@fluendo.com>
11080
11081         * docs/design/part-TODO.txt:
11082         * docs/design/part-clocks.txt:
11083         * docs/design/part-events.txt:
11084         * docs/design/part-gstbin.txt:
11085         * docs/design/part-gstelement.txt:
11086         * docs/design/part-gstpipeline.txt:
11087         * docs/design/part-live-source.txt:
11088         * docs/design/part-messages.txt:
11089         * docs/design/part-overview.txt:
11090         * docs/design/part-states.txt:
11091         Many doc updates.
11092
11093 2005-10-08  Wim Taymans  <wim@fluendo.com>
11094
11095         * gst/gstevent.c:
11096         * gst/gstevent.h:
11097         Fix event quark registration.
11098         Add some space between events so we can insert them in the
11099         right groups.
11100
11101 2005-10-08  Wim Taymans  <wim@fluendo.com>
11102
11103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11104         (gst_base_sink_handle_buffer):
11105         Better log message.
11106
11107         * gst/gstbus.h:
11108         * gst/gstelement.h:
11109         More docs.
11110
11111         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11112         (gst_queue_set_property), (gst_queue_get_property):
11113         * gst/gstqueue.h:
11114         Remove old unused properties.
11115
11116 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11117         * docs/gst/gstreamer-sections.txt:
11118         * gst/gstmessage.c:
11119         * gst/gstmessage.h:
11120         * gst/gstminiobject.c:
11121         * gst/gstminiobject.h:
11122         * gst/gstobject.h:
11123         * gst/gstpad.h:
11124         * gst/gstutils.h:
11125           lots of new docs and doc fixes
11126
11127 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11128
11129         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
11130         * gst/gstplugin.h:
11131         * gst/gstregistry.c: (gst_registry_lookup_locked),
11132         (gst_registry_scan_path_level):
11133         * gst/gstregistryxml.c: (load_plugin):
11134           Only ever load one plugin for a given plugin basename.
11135           This ensures correct overriding of GST_PLUGIN_PATH over
11136           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
11137           system installed plugins.
11138
11139 2005-10-08  Wim Taymans  <wim@fluendo.com>
11140
11141         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11142         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
11143         Prepare for doing QOS.
11144
11145 2005-10-08  Wim Taymans  <wim@fluendo.com>
11146
11147         * check/gst/gstbin.c: (GST_START_TEST):
11148         * check/pipelines/cleanup.c: (GST_START_TEST):
11149         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11150         Allow new clock message too.
11151
11152 2005-10-08  Wim Taymans  <wim@fluendo.com>
11153
11154         * gst/gstmessage.c: (gst_message_new_error),
11155         (gst_message_new_warning), (gst_message_new_tag),
11156         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11157         (gst_message_new_clock_lost), (gst_message_new_new_clock),
11158         (gst_message_new_segment_start), (gst_message_new_segment_done),
11159         (gst_message_parse_state_changed),
11160         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
11161         (gst_message_parse_new_clock):
11162         * gst/gstmessage.h:
11163         Also carry the clock in question.
11164
11165 2005-10-08  Wim Taymans  <wim@fluendo.com>
11166
11167         * gst/gstmessage.c: (gst_message_new_custom),
11168         (gst_message_new_eos), (gst_message_new_error),
11169         (gst_message_new_warning), (gst_message_new_tag),
11170         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11171         (gst_message_new_new_clock), (gst_message_new_segment_start),
11172         (gst_message_new_segment_done), (gst_message_parse_state_changed),
11173         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
11174         * gst/gstmessage.h:
11175         Clean up.
11176         Added clock related messages.
11177
11178         * gst/gstpipeline.c: (gst_pipeline_change_state):
11179         Post message when the clock changed.
11180
11181         * tools/gst-launch.c: (event_loop):
11182         Print new clock.
11183
11184 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11185
11186         * tools/gst-inspect.c: (print_element_properties_info):
11187           Can't pass NULL strings to g_print() on windows.
11188
11189 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11190
11191         * docs/Makefile.am:
11192         * docs/gst/Makefile.am:
11193         * docs/gst/gstreamer-docs.sgml:
11194         * docs/gst/running.xml:
11195         * docs/version.entities.in:
11196           add a chapter on running GStreamer.
11197           document GST_DEBUG and GST_PLUGIN* env vars
11198
11199 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11200
11201         * Makefile.am:
11202           remove include dir
11203         * configure.ac:
11204           remove PLUGINS_BUILDDIR stuff
11205         * gst/gst.c: (init_post):
11206           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
11207         * idiottest.mak:
11208           remove, it was condescending and not needed
11209
11210 2005-10-08  Wim Taymans  <wim@fluendo.com>
11211
11212         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
11213         (gst_base_sink_handle_object), (gst_base_sink_event),
11214         (gst_base_sink_wait), (gst_base_sink_handle_event),
11215         (gst_base_sink_change_state):
11216         * gst/base/gstbasesink.h:
11217         Repost EOS message while going to PLAYING if still EOS.
11218         Make sure that when receiving a FLUSH_START we don't attempt
11219         to sync on the clock anymore.
11220
11221 2005-10-08  Wim Taymans  <wim@fluendo.com>
11222
11223         * tools/gst-launch.c: (event_loop):
11224         Better message printout.
11225
11226 2005-10-08  Wim Taymans  <wim@fluendo.com>
11227
11228         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
11229         (gst_bin_child_proxy_get_children_count):
11230         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11231         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
11232         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
11233         (gst_child_proxy_set_valist):
11234         * gst/parse/grammar.y:
11235         Make ChildProxy threadsafe and fix mem leaks.
11236
11237 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11238
11239         * gst/gst.c: (init_post):
11240           debug the GST_PLUGIN_ env vars
11241
11242 2005-10-08  Wim Taymans  <wim@fluendo.com>
11243
11244         * check/gst/gstbin.c: (GST_START_TEST):
11245         * check/gst/gstmessage.c: (GST_START_TEST):
11246         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11247         * gst/gstelement.c: (gst_element_commit_state),
11248         (gst_element_lost_state):
11249         * gst/gstmessage.c: (gst_message_new_state_changed),
11250         (gst_message_parse_state_changed):
11251         * gst/gstmessage.h:
11252         * tools/gst-launch.c: (event_loop):
11253         Added extra field to STATE_CHANGE message with the pending
11254         state, which will be different from the new state soon.
11255
11256 2005-10-08  Wim Taymans  <wim@fluendo.com>
11257
11258         * gst/gstbus.c: (gst_bus_pop):
11259         * gst/gstclock.c:
11260         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11261         Small cleanups and doc updates.
11262
11263 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11264
11265         * gst/gst.c: (init_pre):
11266         * gst/gstbin.c: (gst_bin_add_func):
11267           log distributing clocks and base time
11268         * gst/gstregistry.c: (gst_registry_add_plugin),
11269         (gst_registry_scan_path_level), (gst_registry_scan_path):
11270           clean up the debugging output a little
11271         * gst/gstutils.c: (gst_element_state_get_name):
11272           warn about a memleak (I've actually seen this be used, though
11273           it was probably a bug)
11274
11275 2005-10-07  Wim Taymans  <wim@fluendo.com>
11276
11277         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11278         (gst_base_src_init), (gst_base_src_default_newsegment),
11279         (gst_base_src_newsegment), (gst_base_src_do_seek),
11280         (gst_base_src_loop), (gst_base_src_start):
11281         * gst/base/gstbasesrc.h:
11282         Make the newsegment event customizable by subclasses.
11283
11284 2005-10-07  Wim Taymans  <wim@fluendo.com>
11285
11286         * gst/gstevent.c: (gst_event_new_buffersize),
11287         (gst_event_parse_buffersize):
11288         * gst/gstevent.h:
11289         New event for future idea.
11290
11291 2005-10-07  Andy Wingo  <wingo@pobox.com>
11292
11293         * gst/gstelement.c (gst_element_post_message): Doc update.
11294
11295         * docs/gst/gstreamer-sections.txt: Update.
11296
11297         * gst/gstmessage.c (gst_message_new_application): Made into a
11298         function like honest API calls.
11299         (gst_message_new_element): New message type.
11300
11301         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
11302
11303         * check/elements/fakesrc.c (test_no_preroll): New check, checks
11304         that setting a live fakesrc to PAUSED returns NO_PREROLL both
11305         times.
11306
11307         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
11308         NO_PREROLL from gst_element_change_state to fall through.
11309
11310 2005-10-07  Wim Taymans  <wim@fluendo.com>
11311
11312         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
11313         (gst_ghost_pad_do_activate_push):
11314         Activating a ghostpad with no internal pad in push mode
11315         is ok.
11316
11317 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11318
11319         * gst/gstobject.h:
11320           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
11321           Fixes compilation on Windows.
11322
11323 2005-10-07  Michael Smith <msmith@fluendo.com>
11324
11325         * tools/gst-inspect.c:
11326           Print out feature and plugin count at the end when printing out
11327           all features.
11328
11329 2005-10-04  Michael Smith <msmith@fluendo.com>
11330
11331         * gst/gsterror.c: (_gst_stream_errors_init):
11332           Add another error string used in a few existing plugins.
11333
11334         * gst/gstplugin.c:
11335         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11336         * tools/gst-inspect.c: (print_element_info):
11337           When a feature disappears from a plugin (and the feature exists in
11338           the cached registry file), things went horribly wrong. This isn't a
11339           complete fix, we should actually be removing the 'missing' features
11340           from the features list when we load the actual plugin. That's not
11341           yet implemented. 
11342
11343 2005-10-04  Johan Dahlin  <johan@gnome.org>
11344
11345         * check/gst/gstiterator.c: (GST_START_TEST):
11346         * gst/gstbin.c: (gst_bin_iterate_elements),
11347         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
11348         * gst/gstelement.c: (gst_element_iterate_pads):
11349         * gst/gstformat.c: (gst_format_iterate_definitions):
11350         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11351         (gst_iterator_new_list), (gst_iterator_filter):
11352         * gst/gstiterator.h:
11353         * gst/gstquery.c: (gst_query_type_iterate_definitions):
11354         Add a GType to GstIterator, update callsites and tests.
11355
11356 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11357
11358         * gst/gstpad.c: (gst_pad_event_default_dispatch):
11359           give events a chance to be handled by event probes when the pad
11360           is not linked
11361
11362 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11363
11364         * gst/gstevent.c: (gst_event_type_get_name),
11365         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
11366         * gst/gstevent.h:
11367           add string representations for event types
11368
11369 2005-10-06  Wim Taymans  <wim@fluendo.com>
11370
11371         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
11372         Don't use NULL pointers.
11373
11374 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11375
11376         * gst/gst_private.h:
11377         * gst/gstbus.c:
11378         * gst/gstelement.c:
11379         * gst/gstinfo.c:
11380         * gst/gstpluginfeature.c:
11381           widen the debug category in output to fit the biggest one we have
11382           add a bus category and use it
11383           play with the colors
11384           fix up some categories
11385
11386 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11387
11388         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
11389           add push activation of sink ghost pads.
11390           Andye, please verify
11391
11392 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11393
11394         * gst/gstutils.c: (gst_element_link_pads):
11395           fix a bug in the case where neither element has a pad
11396         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11397           add a test for that case
11398
11399 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11400
11401         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
11402           emit have-data before checking for peers.  This allows
11403           for probe handlers to connect elements.  This helps autopluggers.
11404         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
11405         (gst_pad_suite):
11406           add six checks, linked/unlinked with no/true/false probe
11407
11408 2005-10-04  Wim Taymans  <wim@fluendo.com>
11409
11410         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
11411         (gst_fake_sink_event), (gst_fake_sink_preroll),
11412         (gst_fake_sink_render), (gst_fake_sink_change_state):
11413         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
11414         (gst_fake_src_get_property), (gst_fake_src_create),
11415         (gst_fake_src_stop):
11416         * gst/elements/gstidentity.c: (gst_identity_stop):
11417         Protect last_message with lock.
11418
11419 2005-10-04  Edward Hervey  <edward@fluendo.com>
11420
11421         * gst/gstformat.h: 
11422         Added precision in the comments for GST_FORMAT_DEFAULT
11423
11424 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
11425
11426         * tools/gst-launch.c: (main):
11427           Don't try to run erroneous pipelines.
11428
11429 2005-10-04  Julien MOUTTE  <julien@moutte.net>
11430
11431         * gst/gstbus.c: We don't need this header.
11432
11433 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11434
11435         * configure.ac:
11436           back to development
11437
11438 === release 0.9.3 ===
11439
11440 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11441
11442         * README:
11443         * configure.ac:
11444           Releasing 0.9.3, "Unregistered"
11445
11446 2005-10-03  Andy Wingo  <wingo@pobox.com>
11447
11448         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
11449         whereby calling a pad's activatepush() function can start a thread
11450         that starts to push or pull before the pad gets the FLUSHING flag
11451         unset. Hack around it by holding the stream lock until the flag is
11452         set. Need to replace this with a proper solution. Together with
11453         the ghost pad fixes, this fixes mp3 playing/tagreading.
11454
11455         * docs/design/part-gstghostpad.txt: Add a note about activation of
11456         proxy pads outside of ghost pads.
11457
11458         * gst/gstghostpad.c: Implement the ghost pad activation design.
11459
11460 2005-10-02  Andy Wingo  <wingo@pobox.com>
11461
11462         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
11463         It is volatile, after all.
11464
11465         * docs/design/part-gstghostpad.txt: Flesh out activation with
11466         ghost pads.
11467
11468         * gst/base/gstbasesrc.c (gst_base_src_init): Use
11469         GST_DEBUG_FUNCPTR.
11470
11471 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11472
11473         * configure.ac:
11474           Fix (unused) AM_CONDITIONAL tests.
11475
11476 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
11477
11478         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11479
11480         * gst/gstutils.c: (gst_pad_query_convert):
11481           Add assertion that makes sure src_val is >=0, just like
11482           gst_query_new_convert() has. (#315895)
11483
11484 2005-09-30  Edward Hervey  <edward@fluendo.com>
11485
11486         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
11487         Let's not iterate pads we're not interested in, it avoids getting 
11488         sky-high refcounts on sinkpad.
11489
11490 2005-09-30  Wim Taymans  <wim@fluendo.com>
11491
11492         * gst/gstelement.c: (gst_element_set_state),
11493         (gst_element_change_state):
11494         Small tweak, element in ASYNC remains ASYNC.
11495
11496 2005-09-30  Wim Taymans  <wim@fluendo.com>
11497
11498         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11499         Only error is an error.
11500
11501         * gst/gstbin.c: (gst_bin_change_state):
11502         Better debugging.
11503
11504         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
11505         Also call pad_block in pad alloc.
11506
11507         * gst/gstutils.c: (gst_flow_get_name):
11508         Better debugging.
11509
11510 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11511
11512         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11513         (gst_base_src_get_range):
11514           Fix documentation typos. Add some more debug info.
11515
11516 2005-09-29  David Schleef  <ds@schleef.org>
11517
11518         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
11519           more end-user friendly.
11520         * tools/gst-inspect.c: (main): Check if command-line argument is
11521           a file and attempt to load that file as a plugin.
11522
11523 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11524
11525         * check/gst/gstbin.c:
11526         * check/states/sinks.c:
11527           fix tests for the new warning
11528         * check/gst/gstpipeline.c:
11529           add a test for pipeline and bus interaction
11530         * gst/gstelement.c:
11531           elements should be NULL if they get disposed; add a warning if not
11532
11533 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11534
11535         * gst/gstobject.c:
11536           for 2.6 refcounting, make debug log more correct by printing
11537           the actual refcounts at the time of swap (Wim)
11538
11539 2005-09-29  Andy Wingo  <wingo@pobox.com>
11540
11541         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
11542         removes signal watches previously added via
11543         gst_bus_add_signal_watch.
11544         (gst_bus_add_signal_watch): Don't return the source id, just store
11545         it on the bus if there wasn't an id already.
11546
11547         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
11548         add_signal_watch and remove_signal_watch.
11549
11550 2005-09-29  Edward Hervey  <edward@fluendo.com>
11551
11552         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
11553         Better if we actually iterate the list :)
11554
11555 2005-09-29  Wim Taymans  <wim@fluendo.com>
11556
11557         * check/gst/gstbin.c: (GST_START_TEST):
11558         Change for new bus API.
11559
11560         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11561         (send_messages), (GST_START_TEST), (gstbus_suite):
11562         Change for new bus signal API.
11563
11564         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
11565         (gst_bus_source_prepare), (gst_bus_source_check),
11566         (gst_bus_create_watch), (gst_bus_add_watch_full),
11567         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
11568         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
11569         * gst/gstbus.h:
11570         Remove support for multiple GSources operating on different
11571         message types as it is too complex and unneeded when using
11572         signals.
11573         Added support for receiving signals from the bus.
11574
11575 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11576
11577         * docs/libs/tmpl/gstdataprotocol.sgml:
11578         * docs/manual/advanced-dataaccess.xml:
11579         * gst/elements/gstcapsfilter.c:
11580         * gst/gstutils.c:
11581           rename filter-caps to caps property
11582
11583 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11584
11585         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11586           More robust fraction string parsing.
11587
11588         * docs/pwg/appendix-porting.xml:
11589           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
11590
11591 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11592
11593         * gst/gstcaps.c: (gst_caps_do_simplify):
11594           Thou shalt not free a structure and then continue using it
11595           in the next loop iteration.
11596
11597         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
11598         (gst_caps_suite):
11599           Add test case for caps simplification.
11600
11601 2005-09-29  Wim Taymans  <wim@fluendo.com>
11602
11603         * check/gst/gstbin.c: (GST_START_TEST):
11604         Oops.
11605
11606 2005-09-29  Wim Taymans  <wim@fluendo.com>
11607
11608         * check/gst/gstbin.c: (GST_START_TEST):
11609         Add bus to bin.
11610
11611         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
11612         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11613         (find_element), (gst_bin_sort_iterator_next),
11614         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11615         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11616         (gst_bin_change_state), (gst_bin_dispose):
11617         A bin does not have a bus, it gets the bus from the parent.
11618
11619         * gst/gstelement.c: (gst_element_requires_clock),
11620         (gst_element_provides_clock), (gst_element_is_indexable),
11621         (gst_element_is_locked_state), (gst_element_change_state),
11622         (gst_element_set_bus_func):
11623         Small cleanups.
11624
11625         * gst/gstpipeline.c: (gst_pipeline_class_init),
11626         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
11627         The pipeline provides a bus.
11628
11629 2005-09-28  Johan Dahlin  <johan@gnome.org>
11630
11631         * gst/gstmessage.c (gst_message_parse_state_changed): Use
11632         gst_structure_get_enum instead of gst_structure_get_int
11633
11634         * gst/gststructure.c (gst_structure_get_enum): Impl.
11635
11636         * gst/gststructure.h (gst_structure_get_enum): Add
11637
11638         * docs/gst/gstreamer-sections.txt: Ditto
11639
11640         * gst/gstmessage.c (gst_message_new_state_changed): Use
11641         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
11642         which does introspection.
11643         Reviewed by Christian Schaller
11644
11645 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11646
11647         * gst/gstinfo.c: (gst_debug_log_default):
11648           don't do dummy g_strdup()s
11649         * libs/gst/controller/gstcontroller.c:
11650         (on_object_controlled_property_changed),
11651         (gst_controlled_property_new), (gst_controller_new_valist),
11652         (gst_controller_new_list),
11653         (gst_controller_remove_properties_valist), (gst_controller_set),
11654         (gst_controller_get), (gst_controller_sync_values),
11655         (gst_controller_get_value_array), (_gst_controller_class_init),
11656         (gst_controller_get_type):
11657         * libs/gst/controller/gstcontroller.h:
11658         * libs/gst/controller/gstinterpolation.c:
11659         (gst_controlled_property_find_timed_value_node):
11660           convert // to /**/ comments
11661
11662 2005-09-28  Wim Taymans  <wim@fluendo.com>
11663
11664         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
11665         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
11666         (gst_bus_sync_signal_handler):
11667         * gst/gstbus.h:
11668         Added async-message and sync-message signals to the bus.
11669         Added helper BusFunc to emit signals for all posted messages.
11670
11671         * gst/gstmessage.c: (gst_message_type_get_name),
11672         (gst_message_type_to_quark), (gst_message_get_type):
11673         * gst/gstmessage.h:
11674         Register quarks for message names.
11675
11676 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11677
11678         * docs/libs/gstreamer-libs-sections.txt:
11679         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11680         (gst_controller_new_list):
11681         * libs/gst/controller/gstcontroller.h:
11682           added another constructor for language bindings
11683
11684 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11685
11686         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11687           add another check
11688         * gst/gstbus.c:
11689           add some doc
11690         * gst/gstinfo.c: (_gst_debug_init):
11691           slightly more readable color for refcount debugging
11692
11693 2005-09-28  Wim Taymans  <wim@fluendo.com>
11694
11695         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11696         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11697         (find_element), (gst_bin_sort_iterator_next),
11698         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11699         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11700         (gst_bin_change_state), (gst_bin_dispose):
11701         Small doc fixes. get_clock -> provide_clock.
11702
11703         * gst/gstelement.c: (gst_element_class_init),
11704         (gst_element_provides_clock), (gst_element_provide_clock),
11705         (gst_element_get_clock), (gst_element_commit_state),
11706         (gst_element_lost_state):
11707         * gst/gstelement.h:
11708         Make get/set_clock() symetric. Add provide_clock vmethod since
11709         that is actually what this function does.
11710
11711         * gst/gstpipeline.c: (gst_pipeline_class_init),
11712         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
11713         (gst_pipeline_get_clock):
11714         get_clock -> provide_clock.
11715
11716 2005-09-28  Andy Wingo  <wingo@pobox.com>
11717
11718         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
11719         lieu of real docs...
11720
11721         * gst/elements/gstfdsrc.c: Cleaned up a bit.
11722
11723 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
11724
11725         * gst/elements/gstcapsfilter.c:
11726         * gst/elements/gstfakesink.c:
11727         * gst/elements/gstfakesrc.c:
11728         * gst/elements/gstfdsink.c:
11729         * gst/elements/gstfdsrc.c:
11730         * gst/elements/gstfilesink.c:
11731         * gst/elements/gstfilesrc.c:
11732         * gst/elements/gstidentity.c:
11733         * gst/elements/gsttee.c:
11734         * gst/elements/gsttypefindelement.c:
11735           Make element details static.
11736
11737 2005-09-28  Wim Taymans  <wim@fluendo.com>
11738
11739         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11740         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11741         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11742         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11743         (gst_bin_change_state), (gst_bin_dispose):
11744         Some documentation updates.
11745         Clean up dispose handlers.
11746
11747         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
11748         * gst/gstpad.c: (gst_pad_dispose):
11749         Clean up dispose handler.
11750
11751         * gst/gstpipeline.c: (gst_pipeline_change_state):
11752         Removed spurious UNLOCK.
11753
11754 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
11755
11756         * docs/gst/gstreamer-sections.txt:
11757         * gst/base/gstbasesrc.h:
11758         * gst/gstelement.h:
11759         * gst/gstevent.h:
11760         * gst/gstobject.h:
11761         * gst/gstpad.h:
11762         * gst/gstpipeline.c:
11763         * gst/gstpipeline.h:
11764         * gst/gstutils.h:
11765         * gst/gstxml.h:
11766           added two new functions to the docs
11767                 documents all undocumented GstXXXFlags
11768                 completed some incomplete docs 
11769
11770 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11771
11772         * gst/gstbin.c: (gst_bin_dispose):
11773         * gst/gstelement.c: (gst_element_dispose):
11774           remove now useless and leaky resurrection code in dispose
11775         * gst/base/gstbasesrc.c: (gst_base_src_init):
11776         * gst/gstelementfactory.c: (gst_element_factory_create):
11777         * gst/gstobject.c: (gst_object_set_parent):
11778           add some debugging
11779
11780 2005-09-27  Wim Taymans  <wim@fluendo.com>
11781
11782         * docs/design/part-TODO.txt:
11783         Update TODO.
11784
11785         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11786         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11787         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11788         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11789         (gst_bin_change_state):
11790         * gst/gstelement.h:
11791         Remove element variable, we keep element info in the iterator now.
11792
11793 2005-09-27  Andy Wingo  <wingo@pobox.com>
11794
11795         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
11796         values.
11797
11798 2005-09-27  Wim Taymans  <wim@fluendo.com>
11799
11800         * check/gst/gstbin.c: (GST_START_TEST):
11801         Enable check that works now.
11802
11803         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11804         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11805         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11806         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11807         (gst_bin_change_state):
11808         * gst/gstbin.h:
11809         Redid the state change algorithm using a topological sort algo.
11810         Handles all cases correctly.
11811         Exposed iterator for state change order.
11812
11813         * gst/gstelement.h:
11814         Temp storage for state changes. Need to get rid of this soon.
11815
11816 2005-09-27  Wim Taymans  <wim@fluendo.com>
11817
11818         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
11819         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
11820         (link_fold_func), (gst_pad_proxy_setcaps):
11821         Leak fixes, the fold functions need to unref the passed object and
11822         _get_parent_*() returns ref to parent.
11823
11824 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11825
11826         * check/gst/gstbuffer.c: (test_make_writable):
11827           Plug leak in test case and fix 'make check-valgrind'
11828
11829 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11830
11831         * gst/gstbuffer.c: (gst_subbuffer_init):
11832           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
11833           works correctly in all circumstances (we could have just copied
11834           the parent buffer's readonly flag, but conceptually it seems
11835           cleaner to mark all subbuffers as read-only). (based on patch
11836           by Alessandro Decina, #314710).
11837         
11838         * check/gst/gstbuffer.c: (create_read_only_buffer),
11839         (test_make_writable), (test_subbuffer_make_writable),
11840         (gst_test_suite):
11841           Add some tests for gst_buffer_make_writable().
11842
11843 2005-09-27  Wim Taymans  <wim@fluendo.com>
11844
11845         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
11846         use gst_object_has_ancestor().
11847
11848         * gst/gstobject.c: (gst_object_has_ancestor):
11849         * gst/gstobject.h:
11850         gst_object_has_ancestor() copied from gstbin.c as it is a
11851         usefull function.
11852
11853         * tests/instantiate/create.c: (create_all_elements):
11854         * tests/lat.c: (handoff_src), (handoff_sink):
11855         * tests/sched/runxml.c: (main):
11856         * tests/seeking/seeking1.c: (main):
11857         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11858         (main):
11859         Fix compilation of some tests.
11860
11861 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11862
11863         * gst/gsterror.h:
11864           Remove comment. GST_TYPE_G_ERROR is here to stay,
11865           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
11866           (#316961, #300610).
11867
11868 2005-09-26  Wim Taymans  <wim@fluendo.com>
11869
11870         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11871         Added check that shows error in state change order.
11872
11873 2005-09-26  Wim Taymans  <wim@fluendo.com>
11874
11875         * gst/gstbin.c: (gst_bin_change_state):
11876         Make state change function use 3 queues again, we were
11877         adding elements in the wrong order.
11878
11879         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11880         Some debug info,
11881
11882         * gst/gstpad.c: (gst_pad_dispose):
11883         Added some debug info first.
11884
11885 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
11886
11887         * docs/design/draft-push-pull.txt:
11888         * docs/design/part-events.txt:
11889         * docs/design/part-overview.txt:
11890         * docs/design/part-scheduling.txt:
11891           Replace all _pull_region() with _pull_range()
11892           
11893 2005-09-26  Andy Wingo  <wingo@pobox.com>
11894
11895         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
11896
11897         * check/gst-libs/controller.c: Update for controller api change.
11898
11899         * configure.ac: 
11900         * tests/Makefile.am:
11901         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
11902         over by GLib bug 118439.
11903         
11904         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
11905         routines to a function.
11906
11907         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
11908
11909         * libs/gst/controller/gsthelper.c:
11910         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
11911         (gst_object_sync_values): Renamed from sink_values. Ugh.
11912
11913         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
11914
11915         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
11916         Renamed from controller_key, as it is exported.
11917
11918         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
11919
11920 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11921
11922         * gst/Makefile.am:
11923         * gst/gst.h:
11924         * gst/gstpad.h:
11925         * gst/gstpadtemplate.h:
11926         * gst/gstquery.c:
11927         * gst/gstquery.h:
11928         * gst/gstqueryutils.c:
11929         * gst/gstqueryutils.h:
11930           remove queryutils headers after moving the two used functions
11931           to gstquery.  also fixes build problem for gstsiddec
11932
11933 2005-09-26  Michael Smith <msmith@fluendo.com>
11934
11935         * tools/gst-launch.1.in:
11936         Correct documentation in manpage of debug syntax
11937
11938 2005-09-26  Wim Taymans  <wim@fluendo.com>
11939
11940         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11941         (gst_base_src_is_seekable), (gst_base_src_change_state):
11942         Some more debugging info.
11943
11944 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11945
11946         * docs/gst/gstreamer-sections.txt:
11947         * gst/base/gstbasetransform.h:
11948         * gst/gstindex.h:
11949           added more docs
11950
11951 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11952
11953         * docs/gst/.cvsignore:
11954         * docs/gst/tmpl/.cvsignore:
11955         * docs/gst/tmpl/gstpipeline.sgml:
11956         * docs/gst/tmpl/gstplugin.sgml:
11957         * gst/gstpipeline.c:
11958         * gst/gstplugin.c:
11959         * gst/gstplugin.h:
11960           inlined the last two docs files
11961           removed the tmpl directory from cvs (no more conflicts here!)
11962
11963 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11964
11965         * docs/gst/gstreamer-sections.txt:
11966         * docs/gst/tmpl/.cvsignore:
11967         * docs/gst/tmpl/gstpad.sgml:
11968         * docs/gst/tmpl/gstpadtemplate.sgml:
11969         * gst/Makefile.am:
11970         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11971         (gst_pad_finalize), (gst_pad_set_pad_template):
11972         * gst/gstpad.h:
11973         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11974         (gst_pad_template_class_init), (gst_pad_template_init),
11975         (gst_pad_template_dispose), (name_is_valid),
11976         (gst_static_pad_template_get), (gst_pad_template_new),
11977         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11978         (gst_pad_template_pad_created):
11979         * gst/gstpadtemplate.h:
11980           inlined two more docs
11981           factored gstpadtemplate out of gstpad
11982
11983 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11984
11985         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11986         (test_children_state_change_order_semi_sink):
11987           Fix test case: we can't rely on a fixed state change order when
11988           going from READY => PAUSED because the sink might commit its 
11989           new state first when the first buffer created by the source 
11990           reaches the sink before the source has finished its change state.
11991           (Test case still fails at times, see #316856, comment 5 onwards)
11992
11993 2005-09-24  Wim Taymans  <wim@fluendo.com>
11994
11995         * docs/design/part-events.txt:
11996         * docs/design/part-gstbus.txt:
11997         * docs/design/part-gstpipeline.txt:
11998         * docs/design/part-messages.txt:
11999         * docs/design/part-overview.txt:
12000         * docs/design/part-segments.txt:
12001         * gst/gstbin.c:
12002         * gst/gstbuffer.c:
12003         * gst/gstclock.c:
12004         * gst/gstelement.c:
12005         * gst/gstevent.c:
12006         * gst/gstfilter.c:
12007         * gst/gstiterator.c:
12008         Various documentation updates.
12009
12010 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * gst/gstclock.h:
12013           Well, that's embarassing.  Luckily we weren't using
12014           GST_CLOCK_DIFF anywhere.
12015
12016 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12017
12018         * common/gtk-doc.mak:
12019           don't fail on building XML, FC4 slave shows a bunch of doc
12020           missing bits that I don't get
12021         * gst/gstpad.c:
12022         * gst/gstpipeline.c:
12023         * gst/gststructure.c:
12024           some doc updates
12025
12026 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12027
12028         * docs/design/part-gstbin.txt:
12029         * docs/design/part-gstbus.txt:
12030         * gst/gstbus.c:
12031           Add blurb about how the bus goes into flushing mode and
12032           drops all messages when its bin goes from READY into NULL 
12033           state.
12034
12035 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12036
12037         * docs/gst/gstreamer-sections.txt:
12038         * gst/gststructure.c: (gst_structure_get_clock_time):
12039         * gst/gststructure.h:
12040           add a method to get a GstClockTime out of a structure
12041
12042 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12043
12044         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12045         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12046           Added test to check state change order in bins (can still be made
12047           to fail here under heavy disk load; bails out with 'Push on pad
12048           fakesink:sink0, but it was not activated in push mode').
12049
12050         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12051           Fix state change order when there is only a semi sink (#316856)
12052
12053         * gst/gstbus.c: (gst_bus_class_init):
12054           Use _class_peek_parent(), not _class_ref(); fix docs to say
12055           'default main context' instead of 'mainloop' where that is
12056           what's meant.
12057
12058         * gst/gstelement.c: (gst_element_commit_state),
12059         (gst_element_set_state):
12060           Fix typos in debug messages
12061
12062 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12063
12064         * docs/README:
12065         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12066         * gst/gstpluginfeature.c:
12067         * gst/gstutils.c:
12068           various doc updates
12069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12070           change an assert into an error until it gets fixed properly
12071
12072 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12073
12074         * docs/gst/gstreamer-sections.txt:
12075         * docs/gst/tmpl/.cvsignore:
12076         * docs/gst/tmpl/gstelement.sgml:
12077         * docs/gst/tmpl/gstinfo.sgml:
12078         * docs/gst/tmpl/gstobject.sgml:
12079         * gst/gstelement.c:
12080         * gst/gstelement.h:
12081         * gst/gstinfo.c:
12082         * gst/gstinfo.h:
12083         * gst/gstobject.c: (gst_object_class_init):
12084         * gst/gstobject.h:
12085           inlined 3 more biiiig doc files and added some missing docs on the fly
12086
12087 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12088
12089         * check/gst/.cvsignore:
12090         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12091         * gst/gstregistryxml.c: (load_plugin),
12092         (gst_registry_xml_save_plugin):
12093           put back source in registry.  add checks for find_plugin.
12094         * testsuite/states/bin.c: (assert_state), (empty_bin),
12095         (test_adding_one_element), (main):
12096         * testsuite/states/locked.c: (main):
12097           some compile/run fixes
12098
12099 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12100
12101         * check/gst/gstvalue.c: (GST_START_TEST):
12102           fix leaks in the test itself
12103
12104 2005-09-22  Wim Taymans  <wim@fluendo.com>
12105
12106         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12107         (gst_base_sink_send_event), (gst_base_sink_peer_query),
12108         (gst_base_sink_query):
12109         Prepare for more accurate position reporting and query
12110         handling.
12111
12112         * gst/gstelement.c: (gst_element_send_event),
12113         (gst_element_set_state):
12114         Add some comment.
12115
12116 2005-09-22  Wim Taymans  <wim@fluendo.com>
12117
12118         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12119         (gst_query_parse_segment):
12120         * gst/gstquery.h:
12121         More documentation.
12122         Add segment query for future use.
12123
12124 2005-09-22  Wim Taymans  <wim@fluendo.com>
12125
12126         * gst/gstbin.c: (gst_bin_add_func):
12127         Some more debug info.
12128
12129         * gst/gstelement.c: (gst_element_send_event):
12130         Simplify send_event
12131
12132         * gst/gstelement.h:
12133         Don't know how flags got broken.
12134
12135         * gst/gstquery.h:
12136         Added new query.
12137
12138 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12139
12140         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
12141           Add simplistic test suite for GST_TYPE_DATE serialisation and
12142           deserialisation.
12143
12144 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12145
12146         * docs/gst/gstreamer-sections.txt:
12147         * gst/gststructure.c: (gst_structure_set_valist),
12148         (gst_structure_get_date):
12149         * gst/gststructure.h:
12150         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
12151         (gst_date_copy), (gst_value_compare_date),
12152         (gst_value_serialize_date), (gst_value_deserialize_date),
12153         (gst_value_transform_date_string),
12154         (gst_value_transform_string_date), (_gst_value_initialize):
12155         * gst/gstvalue.h:
12156           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
12157           bunch of utility functions along with a hack that checks that
12158           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
12159           is required. Part of the grand scheme in #170777.
12160
12161 2005-09-22  Andy Wingo  <wingo@pobox.com>
12162
12163         * gst/gstconfig.h.in: Psych out gtk-doc.
12164
12165         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
12166
12167         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
12168
12169         * tools/gst-inspect.c (print_element_list): Plug some
12170         inconsequential leaks.
12171
12172         * gst/gstregistry.c (gst_registry_get_default): Doc.
12173
12174         * check/gst/gstplugin.c: 
12175         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
12176         * gst/gstelementfactory.c (gst_element_factory_create): 
12177         * gst/gstindexfactory.c (gst_index_factory_create): Update for
12178         refcount changes.
12179
12180         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
12181         (gst_plugin_feature_load): Doc, don't eat refs.
12182
12183         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
12184         (gst_plugin_list_free): Doc.
12185         (gst_plugin_load_file): Doc updates.
12186
12187         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
12188         accessors returning refcounted objects, return a ref.
12189
12190         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
12191         accessor for caps. IDEMPOTENCE. Oh yes.
12192
12193 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
12194
12195         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12196
12197         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12198         (_gst_debug_register_funcptr):
12199           Add mutex to serialise access to the hash table with
12200           the function pointer => function name string mapping;
12201           make that hash table static scope (#316809).
12202
12203         * gst/registries/.cvsignore:
12204           Remove left-over file.
12205
12206 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12207
12208         * docs/pwg/appendix-porting.xml:
12209           And something about newsegment events and caps-on-buffers to
12210           the porting guide (feel free to improve).
12211
12212 2005-09-21  Andy Wingo  <wingo@pobox.com>
12213
12214         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
12215         data and event probes on the same pad.
12216         (test_buffer_probe_once): Test that removing probes from within
12217         the probe functions works.
12218
12219 2005-09-21  Andy Wingo  <wingo@pobox.com>
12220
12221         * check/gst/gstutils.c: New file.
12222         (test_buffer_probe_n_times): A simple buffer probe test. More to
12223         come, foolios.
12224
12225         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
12226         have-data::buffer, not have-data.
12227         (gst_pad_add_event_probe): Likewise for have-data::event.
12228         (gst_pad_add_data_probe): More docs. The part about 'resolving the
12229         peer' isn't quite right yet though.
12230         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
12231         (gst_pad_remove_data_probe): Change to take the guint handler_id
12232         as their arg, not the function+data, which is more glib-like.
12233
12234         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
12235         the signal emission to indicate if the data is a buffer or an
12236         event.
12237         (gst_pad_get_type): Initialize buffer and event quarks.
12238         (gst_pad_class_init): have-data is now a detailed signal, yes it
12239         is.
12240
12241 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12242
12243         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12244         * gst/gstutils.c: (gst_util_set_value_from_string),
12245         (gst_util_set_object_arg):
12246           Don't put functional code in g_return_if_fail() or
12247           g_return_val_if_fail() statements, otherwise things will 
12248           break when G_DISABLE_CHECKS is defined during compilation.
12249
12250 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12251
12252         * docs/gst/tmpl/.cvsignore:
12253         * docs/gst/tmpl/gstvalue.sgml:
12254         * gst/gstvalue.c:
12255         * gst/gstvalue.h:
12256           inlied another one and added  some obvious docs
12257
12258 2005-09-21  Wim Taymans  <wim@fluendo.com>
12259
12260         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12261         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
12262         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
12263         (gst_fdsrc_get_property), (gst_fdsrc_create):
12264         * gst/elements/gstfdsrc.h:
12265         Properly implement fdsrc. Removed signal and timeout,
12266         better implemented somewhere else.
12267
12268 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12269
12270         * docs/gst/tmpl/.cvsignore:
12271         * docs/gst/tmpl/gstimplementsinterface.sgml:
12272         * gst/gstinterface.c:
12273           inlined more docs
12274
12275 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12276
12277         * docs/gst/gstreamer-sections.txt:
12278         * docs/gst/tmpl/.cvsignore:
12279         * docs/gst/tmpl/gstenumtypes.sgml:
12280           remove obsolete doc file
12281
12282 2005-09-21  David Schleef  <ds@schleef.org>
12283
12284         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
12285         little beer, fix a little leak.
12286
12287 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12288
12289         * docs/gst/gstreamer-docs.sgml:
12290         * docs/gst/gstreamer-sections.txt:
12291         * docs/gst/tmpl/.cvsignore:
12292         * gst/Makefile.am:
12293         * gst/gst.h:
12294         * gst/gstbin.c:
12295         * gst/gstelement.h:
12296         * gst/gstindex.c: (gst_index_class_init):
12297         * gst/gstindex.h:
12298         * gst/gstindexfactory.c: (gst_index_factory_get_type),
12299         (gst_index_factory_class_init), (gst_index_factory_init),
12300         (gst_index_factory_finalize), (gst_index_factory_new),
12301         (gst_index_factory_destroy), (gst_index_factory_find),
12302         (gst_index_factory_create), (gst_index_factory_make):
12303         * gst/gstindexfactory.h:
12304         * gst/gstpluginfeature.c:
12305         * gst/gstpluginfeature.h:
12306         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12307           more docs inlined, splitted gstindex.{c,h}
12308
12309 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12310
12311         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12312           fix a leak
12313
12314 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12315
12316         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12317           Set sync to FALSE by default.
12318
12319 2005-09-20  Wim Taymans  <wim@fluendo.com>
12320
12321         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12322         (gst_base_sink_init):
12323         Make sync property settable from subclass.
12324
12325         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12326         (gst_fake_sink_change_state):
12327         Set sync to FALSE by default.
12328
12329 2005-09-20  Wim Taymans  <wim@fluendo.com>
12330
12331         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
12332         * tools/gst-launch.c: (main):
12333         The timeout handler should have lower priority than the source
12334         so we don't timeout before popping a message with 0 timeout.
12335         Dump error messages after failed state change.
12336
12337 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12338
12339         * tools/gst-inspect.c: (print_element_properties_info):
12340           Fix two typos.
12341
12342 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12343
12344         * check/gst/gstevent.c:
12345         * gst/elements/gstfakesink.c:
12346         * gst/elements/gstfakesink.h:
12347           remove the sync property from fakesink.
12348           has the side effect of setting sync TRUE
12349           for fakesink, which is a change.  Anyone who knows how
12350           to fix this nicely in a GObject-y way, feel free.
12351
12352 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12353
12354         * docs/gst/gstreamer-docs.sgml:
12355           remove probe refsection
12356
12357 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12358
12359         * check/Makefile.am:
12360           disable valgrinding the controller test again
12361         * docs/gst/gstreamer-sections.txt:
12362           update for api-changes
12363
12364 2005-09-20  Wim Taymans  <wim@fluendo.com>
12365
12366         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12367         (gst_base_sink_set_property), (gst_base_sink_get_property),
12368         (gst_base_sink_do_sync):
12369         * gst/base/gstbasesink.h:
12370         Added sync property to basesink to disable clock sync.
12371
12372 2005-09-20  Andy Wingo  <wingo@pobox.com>
12373
12374         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
12375         eating the caller's refcount.
12376
12377         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
12378         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
12379         refcount.
12380
12381         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
12382         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
12383         of GLib 2.8 public, so we can know which refcount to check in
12384         tests.
12385
12386         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
12387         (gst_object_init): Only set the gst refcount if we're going ahead
12388         with the refcount hack.
12389
12390 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12391
12392         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12393         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12394           more leaks plumbed, added more debug-logging
12395         * gst/gstmacros.h:
12396           whitespace fix
12397
12398 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12399
12400         * gst/gstmessage.c:
12401           remove include of gstmemchunk.h
12402
12403 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12404
12405         * gst/gstclock.c: (_gst_clock_id_free):
12406           Commit from the Political Party For More Atomic CVS Commits,
12407           so that people don't waste too much of their day fishing
12408           out obvious leaks out of massive commits.
12409           Oh, and fix a pretty damn obvious leak in the memchunk
12410           removal code.
12411
12412 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12413
12414         * check/Makefile.am:
12415         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12416           plug mem-leak, re-add to valgrindable tests
12417
12418 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12419
12420         * gst/gstplugin.h:
12421           unbreak the build for those who have chronic arthritis
12422           and typing "make check" is just too taxing on the hands
12423
12424 2005-09-20  Andy Wingo  <wingo@pobox.com>
12425
12426         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
12427         really want it out, you should fix plugins at the same time.
12428
12429 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
12430
12431         * configure.ac:
12432         * docs/gst/gstreamer-sections.txt:
12433         * gst/gstobject.c:
12434           added missing symbols to api docs
12435           disable ref-count hack if we have glib >= 2.8
12436
12437 2005-09-19  David Schleef  <ds@schleef.org>
12438
12439         * docs/gst/Makefile.am: Ignore a few more internal headers
12440         * docs/gst/gstreamer-docs.sgml: Remove old sections
12441         * docs/gst/gstreamer-sections.txt: Remove old sections
12442         * docs/gst/tmpl/gstobject.sgml: update
12443         * docs/gst/tmpl/gstplugin.sgml: update
12444         * docs/gst/tmpl/gstpluginfeature.sgml: update
12445         * docs/random/ds/0.9-suggested-changes: update.
12446         * gst/Makefile.am: remove memchunk and trashstack, since they're
12447           not used.
12448         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
12449         * gst/gst.h: don't include some headers
12450         * gst/gstchildproxy.c: add gstmarshal.h
12451         * gst/gstclock.c: Don't use memchunks
12452         * gst/gstminiobject.c: Add some docs
12453         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
12454         * gst/gstobject.h: same
12455         * gst/gstplugin.c: include gstmacros.h
12456         * gst/gstplugin.h: don't include gstmacros.h, since it's private
12457         * gst/gstquery.c: don't use memchunks
12458         * gst/gstregistry.c: rename gst_registry_deinit()
12459         * gst/gstregistry.h: same
12460
12461 2005-09-19  David Schleef  <ds@schleef.org>
12462
12463         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
12464         * docs/libs/gstreamer-libs-sections.txt:
12465         * docs/libs/tmpl/gstgetbits.sgml:
12466         * docs/libs/tmpl/gstputbits.sgml:
12467
12468 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
12469
12470         * win32/gstenumtypes.c:
12471         * win32/gstenumtypes.h:
12472           Update.
12473
12474 2005-09-19  Wim Taymans  <wim@fluendo.com>
12475
12476         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
12477         Automatically PAUSE and RESUME a pipeline when a flushing seek
12478         is performed.
12479
12480 2005-09-19  Andy Wingo  <wingo@pobox.com>
12481
12482         * gst/gstregistry.h: Spacing fixen.
12483
12484 2005-09-19  Wim Taymans  <wim@fluendo.com>
12485
12486         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
12487         Handle state change failure more correctly.
12488
12489 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12490
12491         * check/Makefile.am:
12492         * check/pipelines/cleanup.c: (run_pipeline):
12493         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12494         (GST_START_TEST):
12495           enable cleanup again after fixing the leak
12496         * docs/README:
12497           some more info on docs
12498
12499 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12500
12501         * check/Makefile.am:
12502           re-enable tests now that leaks are plugged
12503         * check/gst/gst.c:
12504         * check/gst/gstbin.c:
12505         * check/gst/gstpipeline.c:
12506           add some more tests while fixing leaks
12507         * common/check.mak:
12508           make sure binaries are uptodate when valgrinding/gdbing
12509         * gst/gst.c:
12510         * gst/gstelementfactory.c:
12511           remove a ref too many, and add a FIXME for when we get
12512           round to disposing of classes
12513         * gst/gstplugin.c:
12514           fix the refcounting when loading a plugin from a file and
12515           the code pretends that the pointer is the same even though
12516           of course it can change
12517         * gst/gstpluginfeature.c:
12518           unref plugins marked cached (a bit confusing as a name)
12519           as the docs state should be done
12520           various doc additions to explain refcounting
12521         * gst/gstregistry.c:
12522         * gst/gstregistryxml.c:
12523           debugging
12524
12525 2005-09-19  Wim Taymans  <wim@fluendo.com>
12526
12527         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12528         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12529         (send_messages), (GST_START_TEST), (gstbus_suite):
12530         * check/gst/gstpipeline.c: (GST_START_TEST):
12531         * check/pipelines/cleanup.c: (run_pipeline):
12532         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12533         (GST_START_TEST):
12534         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
12535         (gst_bus_source_check), (gst_bus_source_dispatch),
12536         (gst_bus_create_watch), (gst_bus_add_watch_full),
12537         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
12538         * gst/gstbus.h:
12539         * tools/gst-launch.c: (event_loop):
12540         * tools/gst-md5sum.c: (event_loop):
12541         GstBusHandler -> GstBusFunc, return value has the same meaning as
12542         any other GSource (FALSE == remove source).
12543         _add_watch() and _add_watch_full() now take a MessageType mask to
12544         only handle specific types of messages.
12545         _poll() returns the GstMessage instead of the message type to avoid
12546         race conditions.
12547         _have_pending() takes a MessageType mask now too.
12548         Added testsuite for multiple bus watches.
12549         Fix testsuites and applications for new bus API.
12550
12551 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12552
12553         * check/Makefile.am:
12554           mark a bunch of the tests as to fix until we fix them
12555
12556 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12557
12558         * common/check.mak:
12559           use GST_PLUGIN settings for valgrind tests as well, so we're
12560           valgrinding the correct thing
12561         * gst/gst.c: (init_post):
12562           plug another leak
12563
12564 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12565
12566         * gst/gst.c: (init_post), (gst_deinit):
12567         * gst/gstelementfactory.c: (gst_element_factory_class_init),
12568         (gst_element_factory_finalize), (gst_element_factory_cleanup):
12569         * gst/gstindex.c: (gst_index_factory_class_init),
12570         (gst_index_factory_finalize):
12571         * gst/gstobject.c: (gst_object_dispose):
12572         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12573         (gst_plugin_load_file), (gst_plugin_desc_free):
12574         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
12575         (gst_plugin_feature_finalize):
12576         * gst/gstregistry.c: (gst_registry_class_init),
12577         (gst_registry_init), (gst_registry_finalize),
12578         (gst_registry_get_default), (gst_registry_deinit):
12579         * gst/gstregistry.h:
12580         * gst/gstregistryxml.c: (load_feature), (load_plugin):
12581           various cleanups and memleak plugging.  make valgrind is happy now.
12582
12583 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12584
12585         * common/check.mak:
12586           add a check-valgrind target
12587
12588 2005-09-18  David Schleef  <ds@schleef.org>
12589
12590         * tools/gst-inspect.c: Revert the GOption code.
12591
12592 2005-09-17  David Schleef  <ds@schleef.org>
12593
12594         * check/Makefile.am: Fix environment variables.
12595         * check/gst/gstplugin.c: Fix for API changes.
12596         * tools/gst-inspect.c: Fix for API changes.
12597         * tools/gst-xmlinspect.c: Fix for API changes.
12598         * gst/gstelementfactory.c:
12599         * gst/gstplugin.c:
12600         * gst/gstplugin.h:
12601         * gst/gstpluginfeature.c:
12602         * gst/gstpluginfeature.h:
12603         * gst/gstregistry.c:
12604         * gst/gstregistry.h:
12605         * gst/gstregistryxml.c:
12606         * gst/gsttypefind.c:
12607         * gst/gsttypefindfactory.c:
12608         * gst/indexers/gstfileindex.c:
12609         * gst/indexers/gstmemindex.c:
12610         * gst/schedulers/Makefile.am:
12611           Change registry to keep track of both plugins and features,
12612           removing the feature tracking from plugins themselves.
12613
12614 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12615
12616         * check/Makefile.am:
12617         * tools/gst-register.1.in:
12618           remove gst-register
12619
12620 2005-09-15  David Schleef  <ds@schleef.org>
12621
12622         * check/gst/gstplugin.c:
12623         * gst/gstelementfactory.c:
12624         * gst/gstplugin.c:
12625         * gst/gstpluginfeature.c:
12626         * gst/gstregistry.c:
12627           Getting tired of debugging.  Disabled all the unreffing of
12628           plugins and features, which fixes the segfaults, but of
12629           course leaks like crazy.  At least playbin works.
12630
12631 2005-09-15  David Schleef  <ds@schleef.org>
12632
12633         * check/gst/gstplugin.c: (register_check_elements),
12634         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
12635         More testing
12636         * gst/elements/gsttypefindelement.c: Fix refcounting.
12637         * gst/gsttypefind.c:
12638         * gst/gsttypefindfactory.c:
12639         * gst/gsttypefindfactory.h:
12640
12641 2005-09-15  David Schleef  <ds@schleef.org>
12642
12643         * gst/gstindex.c: get refcounting correct.
12644         * gst/gstregistry.c: Handle the case where a feature/plugin is
12645           not found.
12646
12647 2005-09-15  David Schleef  <ds@schleef.org>
12648
12649         * check/Makefile.am:
12650         * check/gst/gstplugin.c: Add test
12651         * gst/gstplugin.c: Fix problems noticed by testsuite
12652         * gst/gstplugin.h:
12653         * gst/gstregistry.c: 
12654         * gst/gstregistry.h:
12655
12656 2005-09-15  David Schleef  <ds@schleef.org>
12657
12658         * gst/gstplugin.c: Implement semi-decent recounting and locking
12659           in plugins and plugin features.
12660         * gst/gstplugin.h:
12661         * gst/gstpluginfeature.c:
12662         * gst/gstpluginfeature.h:
12663         * gst/gstregistry.c:
12664
12665 2005-09-15  Michael Smith <msmith@fluendo.com>
12666
12667         * gst/gstregistry.c: (gst_registry_get_feature_list):
12668           Implement this. Makes oggdemux work; decodebin still broken.
12669
12670 2005-09-14  David Schleef  <ds@schleef.org>
12671
12672         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
12673           #316076)
12674         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
12675         * gst/check/Makefile.am:
12676         * libs/gst/controller/Makefile.am:
12677         * libs/gst/dataprotocol/Makefile.am:
12678
12679 2005-09-14  David Schleef  <ds@schleef.org>
12680
12681         * configure.ac: Remove getbits library.  Nothing uses it, and
12682           it should be in something like liboil if someone did want
12683           to use it.
12684         * libs/gst/Makefile.am:
12685         * libs/gst/getbits/Makefile.am:
12686         * libs/gst/getbits/gbtest.c:
12687         * libs/gst/getbits/getbits.c:
12688         * libs/gst/getbits/getbits.h:
12689         * libs/gst/getbits/gstgetbits_generic.c:
12690         * libs/gst/getbits/gstgetbits_i386.s:
12691         * libs/gst/getbits/gstgetbits_inl.h:
12692
12693 2005-09-14  David Schleef  <ds@schleef.org>
12694
12695         * gst/Makefile.am: Dist glib-compat.h
12696
12697 2005-09-14  David Schleef  <ds@schleef.org>
12698
12699         * configure.ac: Remove gst/registries, since it's no longer used.
12700         * gst/registries/Makefile.am:
12701         * gst/registries/gstlibxmlregistry.c:
12702         * gst/registries/gstlibxmlregistry.h:
12703         * gst/registries/gstxmlregistry.c:
12704         * gst/registries/gstxmlregistry.h:
12705         * gst/registries/registrytest.c:
12706
12707 2005-09-14  David Schleef  <ds@schleef.org>
12708
12709         * gst/glib-compat.h:
12710         * gst/gstregistryxml.c:
12711           Convergence is near.  Seriously.
12712
12713 2005-09-14  David Schleef  <ds@schleef.org>
12714
12715         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12716         * gst/glib-compat.h:
12717           Attempt #4 to appease the buildbots.
12718
12719 2005-09-14  David Schleef  <ds@schleef.org>
12720
12721         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12722           Attempt #3.
12723
12724 2005-09-14  David Schleef  <ds@schleef.org>
12725
12726         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12727         Attempt #2.
12728
12729 2005-09-14  David Schleef  <ds@schleef.org>
12730
12731         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
12732           the new functions.
12733
12734 2005-09-14  David Schleef  <ds@schleef.org>
12735
12736         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12737         * gst/glib-compat.h: Add some functions that are in newer versions
12738           of glib than we care to require.
12739         * gst/gstregistryxml.c: Use them.
12740
12741 2005-09-14  David Schleef  <ds@schleef.org>
12742
12743         * po/POTFILES.in: remove gst-register.c
12744
12745 2005-09-14  David Schleef  <ds@schleef.org>
12746
12747         * docs/gst/gstreamer-docs.sgml:
12748         * docs/gst/gstreamer-sections.txt:
12749         * docs/gst/gstreamer.types:
12750         * docs/gst/tmpl/gstelement.sgml:
12751         * docs/gst/tmpl/gstplugin.sgml:
12752         * docs/gst/tmpl/gstpluginfeature.sgml:
12753           Documentation updates for registry changes.
12754
12755 2005-09-14  David Schleef  <ds@schleef.org>
12756
12757         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
12758           because we don't require glib-2.8.
12759
12760 2005-09-14  David Schleef  <ds@schleef.org>
12761
12762         * gst/gstregistryxml.c: Added.  Essentially moved out of the
12763           registries directory.
12764
12765 2005-09-14  David Schleef  <ds@schleef.org>
12766
12767         * check/Makefile.am:
12768         * check/generic/states.c:
12769         * gst/Makefile.am:
12770         * gst/gst.c:
12771         * gst/gst.h:
12772         * gst/gst_private.h:
12773         * gst/gstelementfactory.c:
12774         * gst/gstindex.c:
12775         * gst/gstinfo.c:
12776         * gst/gstplugin.c:
12777         * gst/gstplugin.h:
12778         * gst/gstpluginfeature.c:
12779         * gst/gstpluginfeature.h:
12780         * gst/gstregistry.c:
12781         * gst/gstregistry.h:
12782         * gst/gstregistrypool.c: remove
12783         * gst/gstregistrypool.h: remove
12784         * gst/gsttypefind.c:
12785         * gst/gsttypefindfactory.c:
12786         * gst/gsturi.c:
12787         * tools/Makefile.am:
12788         * tools/gst-compprep.c:
12789         * tools/gst-inspect.c:
12790         * tools/gst-register.c: remove
12791         * tools/gst-xmlinspect.c:
12792           Registry rewrite.  Changes registry from being a file created
12793           by a tool into a simple cache file created automatically by 
12794           libgstreamer.  Removed gst-register (because it's no longer
12795           needed).  Remove registry pools, because we only have one
12796           registry implementation (XML).  Fix up other subsystems as
12797           necessary.
12798
12799 2005-09-13  Michael Smith <msmith@fluendo.com>
12800
12801         * gst/gstconfig.h.in:
12802           Don't Use windows linking attributes for MinGW. Fixes #316157
12803
12804 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12805
12806         * gst/gstutils.c: (set_state_async_thread_func),
12807         (gst_element_set_state_async):
12808           Apparently people think it's better if this function doesn't
12809           try to set the state to whatever state was asked for on the first
12810           call to this function for any object.  Seriously.
12811
12812 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12813
12814         * check/gst/gstpipeline.c: (GST_START_TEST):
12815         * docs/gst/gstreamer-sections.txt:
12816         * gst/gstutils.c: (set_state_async_thread_func),
12817         (gst_element_set_state_async):
12818         * gst/gstutils.h:
12819           add a "gst_element_set_state_async" method that
12820           sets the state and starts a thread to make sure the state
12821           change completes as best as it can
12822
12823 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12824
12825         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12826           codify design+behaviour in testsuite after discussion
12827
12828 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12829
12830         * docs/gst/tmpl/gstelement.sgml:
12831         * docs/manual/appendix-quotes.xml:
12832           add a quote
12833         * gst/gstelement.c: (gst_element_set_state):
12834           add some debug
12835
12836 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
12837
12838         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12839         (gst_base_transform_prepare_output_buf),
12840         (gst_base_transform_handle_buffer):
12841         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
12842         (gst_capsfilter_prepare_buf):
12843           Remove the requirement for sub-classes to call the parent
12844           implementation of prepare_output_buffer with a wrapper function.
12845           
12846         * gst/gsttaglist.h:
12847         * gst/gsttagsetter.h:
12848           Fix #define wrapper
12849
12850 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
12851
12852         * docs/gst/gstreamer-sections.txt:
12853           more doc cleanups
12854
12855 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12856
12857         * docs/gst/gstreamer-sections.txt:
12858         * docs/gst/tmpl/gstelement.sgml:
12859         * docs/gst/tmpl/gstplugin.sgml:
12860         * gst/gstminiobject.c:
12861         * gst/gstvalue.h:
12862           docs now stop throwing warnings
12863
12864 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12865
12866         * docs/gst/gstreamer-sections.txt:
12867         * docs/gst/gstreamer.types:
12868         * docs/gst/tmpl/gstpad.sgml:
12869         * docs/gst/tmpl/gsttypes.sgml:
12870         * gst/base/gstadapter.h:
12871         * gst/base/gstbasesink.h:
12872         * gst/base/gstbasesrc.h:
12873         * gst/gstbin.h:
12874         * gst/gstbuffer.h:
12875         * gst/gstbus.h:
12876         * gst/gstcaps.h:
12877         * gst/gstclock.h:
12878         * gst/gstelement.h:
12879         * gst/gstevent.h:
12880         * gst/gstmessage.h:
12881         * gst/gstpad.h:
12882         * gst/gststructure.c:
12883         * gst/registries/gstlibxmlregistry.h:
12884           various documentation fixes
12885
12886 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12887
12888         * docs/gst/gstreamer-sections.txt:
12889         * docs/gst/tmpl/gstvalue.sgml:
12890           rearrange gstvalue section
12891         * gst/gstutils.c: (gst_element_state_get_name):
12892           NONE -> VOID
12893         * gst/gstvalue.c: (_gst_value_initialize):
12894         * gst/gstvalue.h:
12895           doc updates
12896
12897 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
12898
12899         * check/gst-libs/controller.c:
12900           Header include fix.
12901         * gst/base/gstbasetransform.c:
12902         (gst_base_transform_default_prepare_buf),
12903         (gst_base_transform_handle_buffer):
12904         * gst/base/gstbasetransform.h:
12905           Some more basetransform changes and fixes to enable sub-classes
12906           that modify buffer metadata only.
12907         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12908         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
12909         (gst_capsfilter_prepare_buf):
12910           If the output pad has fixed allowed caps and input buffers 
12911           don't have any, set the fixed caps on outgoing buffers.
12912
12913 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
12914         * check/elements/identity.c: (GST_START_TEST):
12915           Make the error a little clearer when the test fails because
12916           identity made a copy of the buffer.
12917         * docs/gst/gstreamer-sections.txt:
12918           New symbols in gstbasetransform.h
12919         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12920         (gst_base_transform_init), (gst_base_transform_transform_size),
12921         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12922         (gst_base_transform_default_prepare_buf),
12923         (gst_base_transform_get_unit_size),
12924         (gst_base_transform_buffer_alloc),
12925         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12926         (gst_base_transform_change_state),
12927         (gst_base_transform_set_passthrough),
12928         (gst_base_transform_set_in_place),
12929         (gst_base_transform_is_in_place):
12930         * gst/base/gstbasetransform.h:
12931           Change BaseTransform to separate in_place operate from same_caps
12932           output. in_place implies that the element can perform the transform
12933           on incoming buffers in-place, even if the caps on the output are
12934           different.
12935           Sub-class elements can now implement special buffer allocation
12936           methods for outgoing buffers if they wish to.
12937           Big documentation addition.
12938         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
12939         * gst/elements/gstelements.c:
12940           Changes for basetransform modifications.
12941         * gst/elements/Makefile.am:
12942         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
12943           Compile fix. Extra debug output.
12944
12945 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12946
12947         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
12948         (gst_pad_suite):
12949           add tests for valid pad naming
12950         * gst/check/gstcheck.c: (gst_check_log_message_func),
12951         (gst_check_log_critical_func):
12952           add ASSERT_WARNING
12953           remove printing of code, it is fragile when the code contains
12954           % and the line number is enough info
12955         * gst/check/gstcheck.h:
12956         * gst/gstpad.c: (gst_pad_template_new):
12957           fix memleaks
12958
12959 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12960
12961         * configure.ac:
12962           say what CHECK flags we use
12963         * docs/libs/gstreamer-libs.types:
12964         * libs/gst/controller/Makefile.am:
12965         * libs/gst/controller/gst-controller.c:
12966         * libs/gst/controller/gst-controller.h:
12967         * libs/gst/controller/gst-helper.c:
12968         * libs/gst/controller/gst-interpolation.c:
12969         * libs/gst/controller/gstcontroller.c:
12970         * libs/gst/controller/gsthelper.c:
12971         * libs/gst/controller/gstinterpolation.c:
12972         * tools/gst-inspect.c: (print_plugin_info):
12973           we don't use dashes in header names
12974
12975 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12976
12977         * check/Makefile.am:
12978         * check/gst/.cvsignore:
12979         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12980         (gst_pipeline_suite), (main):
12981           adding a test for pipelines and state changes
12982         * gst/gstutils.c: (get_state_func):
12983           add some debugging
12984         * gstreamer.spec.in:
12985           fix up spec file
12986
12987 2005-09-08  Michael Smith <msmith@fluendo.com>
12988
12989         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12990         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12991         (gst_file_src_is_seekable), (gst_file_src_get_size),
12992         (gst_file_src_start):
12993         * gst/elements/gstfilesrc.h:
12994           Various fixes for unseekable, unmmapable, and non-normal files, so
12995           that fallback to read() rather than mmap() works.
12996         * gst/gstevent.c: (gst_event_new_newsegment):
12997           Allow newsegment events with segment_start == segment_end, as will
12998           correctly happen if you use filesrc on a zero-size file, for
12999           example.
13000
13001 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13002
13003         * gst/gstplugin.c: (gst_plugin_load_file):
13004           Call g_module_close when we don't load the module
13005
13006         * gst/registries/gstlibxmlregistry.c:
13007         (gst_xml_registry_get_property):
13008           Port leak fix from 0.8
13009
13010 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13011
13012         * docs/gst/gstreamer-docs.sgml:
13013         * docs/gst/tmpl/.cvsignore:
13014         * docs/gst/tmpl/gsttrace.sgml:
13015         * docs/gst/tmpl/gsttrashstack.sgml:
13016         * gst/Makefile.am:
13017         * gst/gst.h:
13018         * gst/gstelement.h:
13019         * gst/gstevent.h:
13020         * gst/gstmessage.c:
13021         * gst/gstmessage.h:
13022         * gst/gsttag.c:
13023         * gst/gsttag.h:
13024         * gst/gsttaginterface.c:
13025         * gst/gsttaginterface.h:
13026         * gst/gsttaglist.c:
13027         * gst/gsttaglist.h:
13028         * gst/gsttagsetter.c:
13029         * gst/gsttagsetter.h:
13030         * gst/gsttrace.c:
13031         * gst/gsttrace.h:
13032         * gst/gsttrashstack.c:
13033           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13034           inlined docs for gsttrace, gsttrashstack
13035
13036 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13037
13038         * gst/Makefile.am:
13039         * gst/elements/gstbufferstore.h:
13040         * gst/elements/gsttypefindelement.c:
13041         * gst/elements/gsttypefindelement.h:
13042         * gst/gst.h:
13043         * gst/gsttypefind.c:
13044         * gst/gsttypefind.h:
13045         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13046         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13047         (gst_type_find_factory_dispose),
13048         (gst_type_find_factory_unload_thyself),
13049         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13050         (gst_type_find_factory_get_caps),
13051         (gst_type_find_factory_get_extensions),
13052         (gst_type_find_factory_call_function):
13053         * gst/gsttypefindfactory.h:
13054         * gst/registries/gstlibxmlregistry.c:
13055         * gst/registries/gstxmlregistry.c:
13056           splitted gsttypefind into gsttypefind, gsttypefindfactory
13057
13058 2005-09-07  Andy Wingo  <wingo@pobox.com>
13059
13060         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13061         condition whereby the pad's task function is entered before the
13062         pad_mode variable was set.
13063
13064 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13065
13066         * gst/gstpad.c: (gst_pad_alloc_buffer):
13067           Catch misbehaving pad_alloc functions that don't
13068           set up caps and do it for them.
13069
13070 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13071
13072         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13073           test for pipe!=NULL
13074         * docs/gst/tmpl/.cvsignore:
13075         * docs/gst/tmpl/gstmemchunk.sgml:
13076         * docs/gst/tmpl/gstparse.sgml:
13077         * docs/gst/tmpl/gsttaglist.sgml:
13078         * docs/gst/tmpl/gsttagsetter.sgml:
13079         * docs/gst/tmpl/gsttypefind.sgml:
13080         * docs/gst/tmpl/gsttypefindfactory.sgml:
13081         * gst/gstmemchunk.c:
13082         * gst/gstparse.c:
13083         * gst/gsttag.c:
13084         * gst/gsttaginterface.c:
13085         * gst/gsttypefind.c:
13086         * gst/gsttypefind.h:
13087           inlined more docs
13088
13089 === release 0.9.2 ===
13090
13091 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13092
13093         * NEWS:
13094         * RELEASE:
13095         * configure.ac:
13096           releasing 0.9.2, "South"
13097
13098 2005-09-05  Andy Wingo  <wingo@pobox.com>
13099
13100         * gst/registries/gstxmlregistry.h:
13101         * gst/registries/gstxmlregistry.c: Um... resurrect...
13102         
13103         * gst/registries/gstxmlregistry.h:
13104         * gst/registries/gstxmlregistry.c: and update to newer API.
13105         Incidentally they should be a bit faster now that they don't have
13106         to parse the caps.
13107         
13108 2005-09-05  Andy Wingo  <wingo@pobox.com>
13109
13110         * gst/registries/gstxmlregistry.h:
13111         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13112         replaced by the libxml registry a while back
13113
13114 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13115
13116         * docs/gst/tmpl/gstplugin.sgml:
13117         * gst/elements/gstelements.c:
13118         * gst/gst.c:
13119         * gst/gstplugin.c: (gst_plugin_register_func),
13120         (gst_plugin_desc_copy), (gst_plugin_desc_free),
13121         (gst_plugin_get_source):
13122         * gst/gstplugin.h:
13123         * gst/registries/gstlibxmlregistry.c: (load_plugin),
13124         (gst_xml_registry_save_plugin):
13125         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13126         (gst_xml_registry_save_plugin):
13127         * tools/gst-inspect.c: (print_plugin_info):
13128           add a "source" plugin description field, to represent the source
13129           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
13130           will set it to PACKAGE, which is automake's idea of the name of
13131           the source project.
13132
13133 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13134
13135         * Makefile.am:
13136         * autogen.sh:
13137         * configure.ac:
13138         * docs/Makefile.am:
13139         * docs/faq/Makefile.am:
13140         * docs/gst/tmpl/gstelement.sgml:
13141         * docs/gst/tmpl/gsttypes.sgml:
13142         * docs/htmlinstall.mak:
13143         * docs/manual/Makefile.am:
13144         * docs/pwg/Makefile.am:
13145           reorganize doc build a little
13146           split out docbook and gtk-doc stuff
13147           have two separate --enable's and enable them through autogen
13148           but disable by default in configure (to be similar to other
13149           projects)
13150         * gstreamer.spec.in:
13151           clean up docs install
13152         * po/af.po:
13153         * po/az.po:
13154         * po/ca.po:
13155         * po/cs.po:
13156         * po/de.po:
13157         * po/en_GB.po:
13158         * po/fr.po:
13159         * po/it.po:
13160         * po/nb.po:
13161         * po/nl.po:
13162         * po/ru.po:
13163         * po/sq.po:
13164         * po/sr.po:
13165         * po/sv.po:
13166         * po/tr.po:
13167         * po/uk.po:
13168         * po/vi.po:
13169           translation updates
13170
13171 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
13172
13173         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
13174           Add comment.
13175           
13176         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13177         (gst_fake_sink_change_state):
13178           Make state change function thread-safe.
13179           
13180         * gst/gstpad.c: (gst_pad_alloc_buffer):
13181           Set offset on generic buffer allocated by fallback.
13182
13183 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
13184
13185         * docs/gst/gstreamer-sections.txt:
13186         * docs/gst/tmpl/gstelement.sgml:
13187         * gst/gstpad.c:
13188         * libs/gst/controller/gst-controller.c:
13189         (gst_controlled_property_set_interpolation_mode),
13190         (gst_controlled_property_new),
13191         (gst_controller_find_controlled_property):
13192          run the wingo-magic script against the docs
13193
13194 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13195
13196         * docs/gst/gstreamer-docs.sgml:
13197         * docs/gst/gstreamer-sections.txt:
13198         * docs/gst/tmpl/.cvsignore:
13199         * docs/gst/tmpl/gstelementdetails.sgml:
13200         * docs/gst/tmpl/gstelementfactory.sgml:
13201         * gst/gst.c:
13202         * gst/gstbus.c:
13203         * gst/gstelementfactory.c:
13204         * gst/gstelementfactory.h:
13205           merged elementdetails docs into elementfactory docs
13206           inlined both
13207
13208 2005-09-02  Andy Wingo  <wingo@pobox.com>
13209
13210         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
13211         consider this enum an enum and not a flags.
13212
13213 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13214
13215         * docs/gst/gstreamer-docs.sgml:
13216         * docs/gst/tmpl/.cvsignore:
13217         * docs/gst/tmpl/gstghostpad.sgml:
13218         * docs/gst/tmpl/gstiterator.sgml:
13219         * docs/gst/tmpl/gstmacros.sgml:
13220         * docs/gst/tmpl/gstrealpad.sgml:
13221         * docs/gst/tmpl/gstregistry.sgml:
13222         * docs/gst/tmpl/gstregistrypool.sgml:
13223         * docs/gst/tmpl/gststructure.sgml:
13224         * docs/gst/tmpl/gstsystemclock.sgml:
13225         * docs/gst/tmpl/gsttrace.sgml:
13226         * gst/gstghostpad.c:
13227         * gst/gstmacros.h:
13228         * gst/gstmemchunk.c:
13229         * gst/gstmemchunk.h:
13230         * gst/gstqueue.c:
13231         * gst/gstregistry.c:
13232         * gst/gstregistrypool.c:
13233         * gst/gststructure.c:
13234         * gst/gstsystemclock.c:
13235           more docs inlined
13236
13237 2005-09-02  Andy Wingo  <wingo@pobox.com>
13238
13239         * gst/gstelement.h (GstState): Renamed from GstElementState,
13240         changed to be a normal enum instead of flags.
13241         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
13242         munged to be GST_STATE_CHANGE_*.
13243         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
13244         work with the new state representation.
13245         (GstStateChange): New enumeration of possible state transitions.
13246         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
13247         (GstElementClass::change_state): Pass the GstStateChange along as
13248         an argument. Helps language bindings, so they don't have to use
13249         tricky lock-needing macros like GST_STATE_CHANGE ().
13250
13251         * scripts/update-states (file): New script. Run it on a file to
13252         update it for state naming and API changes. Updates files in
13253         place.
13254
13255         * All files updated for the new API.
13256
13257 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13258
13259         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
13260         * gst/gstutils.c: (gst_util_set_value_from_string),
13261         (gst_util_set_object_arg):
13262           fix a bunch of unchecked return values
13263         * tools/gst-complete.c: (main):
13264         * gstreamer.spec.in:
13265           clean up a little
13266
13267 2005-09-01  Wim Taymans  <wim@fluendo.com>
13268
13269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13270         (gst_base_sink_event), (gst_base_sink_do_sync),
13271         (gst_base_sink_handle_event):
13272         * gst/base/gstbasesink.h:
13273         Handle newsegments more correctly.
13274
13275         * gst/gstbus.c:
13276         Fix docs.
13277
13278         * gst/gstevent.c: (gst_event_new_newsegment):
13279         A newsegment cannot have a start_time of -1
13280
13281 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
13282
13283         * win32/gstenumtypes.c:
13284         * win32/gstenumtypes.h:
13285           Update
13286
13287 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13288
13289         * libs/gst/controller/gst-controller.c:
13290         (gst_controlled_property_set_interpolation_mode),
13291         (gst_controlled_property_new):
13292          fixed boolean again
13293
13294 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13295
13296         * docs/faq/gst-uninstalled:
13297           add -good
13298         * gst/gstevent.c:
13299         * gst/gstevent.h:
13300           remove wrong docs
13301         * gst/gstutils.c: (gst_element_link_filtered):
13302         * gst/gstutils.h:
13303           add gst_element_link_filtered
13304
13305 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13306
13307         * docs/gst/gstreamer-docs.sgml:
13308         * docs/gst/gstreamer-sections.txt:
13309         * docs/gst/tmpl/.cvsignore:
13310         * docs/gst/tmpl/gsterror.sgml:
13311         * docs/gst/tmpl/gstfilter.sgml:
13312         * docs/gst/tmpl/gsturihandler.sgml:
13313         * docs/gst/tmpl/gsturitype.sgml:
13314         * docs/gst/tmpl/gstutils.sgml:
13315         * docs/gst/tmpl/gstxml.sgml:
13316         * gst/gsterror.c:
13317         * gst/gsterror.h:
13318         * gst/gstfilter.c:
13319         * gst/gsturi.c:
13320         * gst/gsturitype.c:
13321         * gst/gstutils.c:
13322         * gst/gstxml.c:
13323           inlined more docs, fixed double id-ref
13324
13325 2005-08-31  Wim Taymans  <wim@fluendo.com>
13326
13327         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13328         (gst_base_transform_handle_buffer):
13329         Passthrough elements don't need the caps as they don't care.
13330
13331 2005-08-31  Wim Taymans  <wim@fluendo.com>
13332
13333         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13334         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
13335         Don't leak refcounts on buffers.
13336
13337 2005-08-31  Wim Taymans  <wim@fluendo.com>
13338
13339         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
13340         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13341         (gst_base_transform_chain), (gst_base_transform_change_state):
13342         * gst/base/gstbasetransform.h:
13343         Handle the case where we are not negotiated more gracefully.
13344
13345 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
13346
13347         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
13348         (gst_file_src_map_region):
13349           Set READONLY flag on mmap'ed buffers, otherwise
13350           gst_buffer_make_writable() won't work properly (#314708).
13351
13352 2005-08-31  Wim Taymans  <wim@fluendo.com>
13353
13354         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
13355         passthrough elements can even do inplace on non writable
13356         buffers (as they don't touch them).
13357
13358 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13359
13360         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13361         (gst_test_mono_source_set_property),
13362         (gst_test_mono_source_class_init), (GST_START_TEST),
13363         (gst_controller_suite):
13364           more tests (hehe I have the most)
13365         * gst/gstbus.c:
13366           describe popping messages whenusing mulltiple sources
13367         * libs/gst/controller/gst-controller.c:
13368         (gst_controlled_property_set_interpolation_mode),
13369         (gst_controlled_property_new):
13370         * libs/gst/controller/gst-controller.h:
13371         * libs/gst/controller/gst-interpolation.c:
13372           implement boolean properties
13373
13374 2005-08-31  Wim Taymans  <wim@fluendo.com>
13375
13376         * gst/gstminiobject.c: (gst_mini_object_ref):
13377         Cannot assert that the refcount has to be positive
13378         since a disposed object can be resurrected.
13379
13380 2005-08-31  Wim Taymans  <wim@fluendo.com>
13381
13382         * gst/gstpad.c: (gst_pad_init):
13383         Revert change, need to first fix badly behaving 
13384         apps.
13385
13386 2005-08-30  Wim Taymans  <wim@fluendo.com>
13387
13388         * check/elements/fakesrc.c: (setup_fakesrc):
13389         * check/elements/identity.c: (setup_identity):
13390         Activate pads before using them.
13391
13392 2005-08-30  Wim Taymans  <wim@fluendo.com>
13393
13394         * gst/base/gstadapter.c: (gst_adapter_flush):
13395         Flushing out 0 bytes is ok for this function.
13396
13397         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13398         no newsegment gives a warning and sets the start/stop to 
13399         invalid.
13400
13401         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
13402         (gst_base_transform_set_passthrough):
13403         Some debug info.
13404
13405         * gst/gstminiobject.c: (gst_mini_object_ref):
13406         Check refcount here too.
13407
13408         * gst/gstpad.c: (gst_pad_init):
13409         Pads are initially flushing and refusing data.
13410
13411         * gst/gstutils.c: (gst_element_link_pads_filtered):
13412         When adding a capsfilter element make sure it has the
13413         same state as the parent bin.
13414
13415 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13416
13417         * docs/gst/tmpl/.cvsignore:
13418         * docs/gst/tmpl/gstformat.sgml:
13419         * docs/gst/tmpl/gstversion.sgml:
13420         * gst/gstbus.h:
13421         * gst/gstformat.c:
13422         * gst/gstformat.h:
13423         * gst/gstversion.h.in:
13424           more docs and two more inlined
13425
13426 2005-08-30  Wim Taymans  <wim@fluendo.com>
13427
13428         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
13429         Don't sync to clock.
13430
13431 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13432
13433         * docs/gst/gstreamer-sections.txt:
13434           ultral33t func10ns deserve to appear in the docs actually
13435         * docs/gst/tmpl/.cvsignore:
13436         * docs/gst/tmpl/gstcompat.sgml:
13437         * docs/gst/tmpl/gstconfig.sgml:
13438         * gst/check/gstcheck.c:
13439         * gst/gstcompat.h:
13440         * gst/gstconfig.h.in:
13441           inlined more docs
13442
13443 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13444
13445         * docs/gst/tmpl/.cvsignore:
13446         * docs/gst/tmpl/gstquery.sgml:
13447         * docs/gst/tmpl/gstutils.sgml:
13448         * gst/gstquery.c:
13449         * gst/gstquery.h:
13450           inlined and extended docs
13451
13452 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13453
13454         * check/gst-libs/controller.c: (GST_START_TEST),
13455         (gst_controller_suite):
13456           more tests
13457         * docs/gst/tmpl/gstutils.sgml:
13458         * docs/libs/gstreamer-libs-sections.txt:
13459         * docs/libs/tmpl/gstdataprotocol.sgml:
13460           include path fixes
13461         * examples/controller/audio-example.c: (main):
13462           controller example works now
13463         * gst/gstclock.h:
13464           doc fixes
13465         * tools/gst-inspect.c: (print_element_properties_info):
13466           show param spec flags
13467
13468 2005-08-29  Andy Wingo  <wingo@pobox.com>
13469
13470         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
13471
13472 2005-08-28  Andy Wingo  <wingo@pobox.com>
13473
13474         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
13475         as having two arguments instead of just one. Allows superclasses
13476         to access information on subclasses -- see the terrible for() loop
13477         in gtype.c:g_type_create_instance for the reason why. All callers
13478         changed.
13479
13480 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13481
13482         * docs/design/part-messages.txt:
13483           update info
13484         * docs/gst/tmpl/.cvsignore:
13485         * docs/gst/tmpl/gstcaps.sgml:
13486         * docs/gst/tmpl/gstclock.sgml:
13487         * gst/gstbus.c:
13488         * gst/gstcaps.c:
13489         * gst/gstcaps.h:
13490         * gst/gstclock.c:
13491         * gst/gstclock.h:
13492         * gst/gstmessage.c:
13493           added descriptions for bus and message
13494           inline caps and clock docs
13495
13496 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13497
13498         * gst/gstmessage.c:
13499         * gst/gstmessage.h:
13500           doc fixes
13501
13502 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13503
13504         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13505           fix div-by-zero
13506
13507 2005-08-26  Andy Wingo  <wingo@pobox.com>
13508
13509         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
13510         element_set_state's return val.
13511         (test_2_elements): Add test that's been disabled for months.
13512
13513         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
13514         can-activate-pull properties.
13515
13516         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
13517         can-activate-pull properties. Implement is_seekable so fakesrc can
13518         operate in pull mode.
13519
13520         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
13521         properties.
13522         (gst_base_sink_activate, gst_base_sink_activate_pull)
13523         (gst_base_sink_activate_push): Make activation mode choosing work.
13524         Cleanups.
13525         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
13526         is right. Make pull mode work. Post an eos before pausing in pull
13527         mode.
13528         (gst_base_sink_change_state): Pay attention to the core's
13529         change_state() return val.
13530         
13531         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
13532         has-getrange properties. Cleanups.
13533         
13534         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
13535         has_getrange and replace with can_activate_pull and
13536         can_activate_push.
13537
13538         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
13539         locking comments. Remove has_loop, has_chain and replace with
13540         can_activate_pull and can_activate_push.
13541
13542 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
13543
13544         * configure.ac:
13545         * examples/Makefile.am:
13546         * examples/metadata/Makefile.am:
13547         * examples/metadata/read-metadata.c: (message_loop),
13548         (have_pad_handler), (make_pipeline), (print_tag), (main):
13549           Add metadata reading example that loops over a list of filenames,
13550           dumping any tags found.
13551
13552         * gst/gstbus.c: (gst_bus_dispose):
13553         * gst/gstelement.c: (gst_element_dispose):
13554           Release a few potentially-held references in dispose.
13555
13556 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13557
13558         * docs/gst/tmpl/gstminiobject.sgml:
13559           do *not* add tmpl/*.sgml files to CVS!
13560
13561 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13562
13563         * libs/gst/bytestream/.cvsignore:
13564         * libs/gst/bytestream/Makefile.am:
13565         * libs/gst/bytestream/adapter.c:
13566         * libs/gst/bytestream/adapter.h:
13567         * libs/gst/bytestream/bytestream.c:
13568         * libs/gst/bytestream/bytestream.h:
13569         * libs/gst/bytestream/filepad.c:
13570         * libs/gst/bytestream/filepad.h:
13571           removing obsolete files
13572
13573 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13574
13575         * docs/gst/gstreamer-docs.sgml:
13576         * docs/libs/gstreamer-libs-docs.sgml:
13577           disabed additional index entries again, as this makes docs-gen just
13578           slow and they aren't useful yet
13579         * docs/libs/gstreamer-libs-sections.txt:
13580           little -section.txt cleanup for libs
13581
13582 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13583
13584         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13585         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
13586           fix up some debugging
13587         (gst_base_transform_get_unit_size),
13588         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13589         (gst_base_transform_handle_buffer):
13590         * gst/base/gstbasetransform.h:
13591           handle and store timed NEWSEGMENT events so that subclasses that
13592           calculate time by counting samples have a segment_start time they
13593           need to add to their timestamps - see audioresample
13594
13595 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13596
13597         * gst/gstbin.h:
13598           removed ';' from the end of macro defs
13599         * docs/gst/gstreamer-docs.sgml:
13600         * docs/gst/gstreamer-sections.txt:
13601         * docs/gst/tmpl/.cvsignore:
13602         * gst/gstbus.h:
13603         * gst/gstelement.c: (gst_element_class_init),
13604         (gst_element_set_state), (activate_pads),
13605         (gst_element_save_thyself):
13606         * gst/gstevent.c: (gst_event_new_newsegment):
13607         * gst/gstevent.h:
13608         * gst/gstiterator.c:
13609         * gst/gstiterator.h:
13610         * gst/gstpad.c:
13611         * gst/gstprobe.h:
13612         * gst/gstutils.c: (gst_pad_query_convert):
13613         * gst/gstutils.h:
13614           fixed parameter name mismatches between source, header and docs
13615           added some more docs, resolved the last batch of unused elements in
13616           docs (now someone needs to doc them)
13617
13618 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13619
13620         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
13621         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
13622           don't walk through the plugins backwards.  Where is all this
13623           reversed logic coming from ?
13624
13625 2005-08-25  Wim Taymans  <wim@fluendo.com>
13626
13627         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13628         (gst_base_transform_transform_size),
13629         (gst_base_transform_configure_caps),
13630         (gst_base_transform_get_unit_size),
13631         (gst_base_transform_buffer_alloc),
13632         (gst_base_transform_change_state):
13633         * gst/base/gstbasetransform.h:
13634         Cache caps unit_size.
13635         Make sure we cannot negotiate up and downstream at the
13636         same time.
13637
13638 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13639
13640         * gst/gst.c: (init_pre), (init_post):
13641           register the installed plugin path after the env var
13642         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
13643         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
13644           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
13645           directories, so the tests can prefer uninstalled over installed
13646
13647 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13648
13649         * gst/base/gstbasetransform.h:
13650           comment
13651         * gst/gstpad.c:
13652           add to docs
13653
13654 2005-08-25  Wim Taymans  <wim@fluendo.com>
13655
13656         * gst/gstbin.c: (bin_bus_handler):
13657         Be a bit more conservative about the posted message.
13658         
13659         * gst/gstbus.c: (gst_bus_post):
13660         Some cleanups, warn wrong return values.
13661
13662 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
13663
13664         * check/gst/gstbin.c: (GST_START_TEST):
13665         * gst/gstbin.c: (bin_bus_handler):
13666         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13667         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13668         (gst_message_new_warning), (gst_message_new_tag),
13669         (gst_message_new_state_changed), (gst_message_new_segment_start),
13670         (gst_message_new_segment_done), (gst_message_new_custom):
13671         * gst/gstmessage.h:
13672         * tools/gst-launch.c: (event_loop):
13673         * tools/gst-md5sum.c: (event_loop):
13674           Revert unpopular change for GST_MESSAGE_SRC to GObject.
13675
13676 2005-08-25  Wim Taymans  <wim@fluendo.com>
13677
13678         * check/generic/states.c: (GST_START_TEST):
13679         Cleanup can be done at the end.
13680
13681         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
13682         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13683         (gst_task_get_state), (gst_task_start), (gst_task_pause):
13684         Oh boy.. Thanks for finding this, Thomas. 
13685
13686 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13687
13688         * docs/gst/gstreamer.types:
13689           added missing types
13690
13691 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13692
13693         * docs/gst/gstreamer-docs.sgml:
13694         * docs/gst/gstreamer-sections.txt:
13695         * docs/gst/tmpl/.cvsignore:
13696         * gst/gstbin.c:
13697         * gst/gstiterator.c:
13698         * gst/gstutils.c:
13699         * gst/registries/gstxmlregistry.h:
13700           added missing classes and symbols (123 more to go)
13701           removed removed symbols from section file
13702           fixed many doc-comments
13703
13704 2005-08-24  Wim Taymans  <wim@fluendo.com>
13705
13706         * check/generic/states.c: (GST_START_TEST):
13707         Make sure all tasks are stopped.
13708
13709         * check/gst/gstbin.c: (GST_START_TEST):
13710         Unref after usage for proper valgrinding.
13711
13712         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
13713         Really wait for the task to stop before destroying the
13714         mutex.
13715
13716         * gst/gstqueue.c: (gst_queue_sink_activate_push),
13717         (gst_queue_src_activate_push):
13718         Small cleanups. Don't stop the task when we did not start
13719         it.
13720
13721         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
13722         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13723         (gst_task_get_state), (gst_task_start), (gst_task_pause),
13724         (gst_task_join):
13725         * gst/gsttask.h:
13726         Protect the stream lock with the object lock.
13727         Disallow setting the stream lock when running.
13728         Add cleanup_all to wait for the threadpool to finish.
13729         Remove code to autoallocate a mutex if none was provided.
13730         Add _join() to wait for a task to stop.
13731         Protect the thread pool with a global lock.
13732
13733 2005-08-24  Wim Taymans  <wim@fluendo.com>
13734
13735         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13736         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13737         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
13738         * gst/base/gstbasesink.h:
13739         Handle newsegment events correctly.
13740         Drop buffers out of the segment range.
13741
13742 2005-08-22  Andy Wingo  <wingo@pobox.com>
13743
13744         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
13745         macro, implements an interface and gstimplementsinterface for a
13746         new type.
13747
13748 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13749
13750         * check/Makefile.am:
13751         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
13752           add a test that does a bunch of state changes on elements
13753           needs some fixing for valgrind
13754         * check/states/sinks.c: (gst_object_suite):
13755           whitespace
13756         * gst/gstcaps.h:
13757           add prototype for gst_caps_is_equal_fixed
13758         * gst/gstplugin.c:
13759         * gst/gstregistrypool.c:
13760           doc fixes
13761
13762 2005-08-24  Andy Wingo  <wingo@pobox.com>
13763
13764         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
13765         convert a negative value. Doesn't make much sense. Mostly this is
13766         here to force callers to ensure -1 maps to -1.
13767
13768 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13769
13770         * docs/pwg/advanced-types.xml:
13771           Well done to Michael for catching my deliberate introduction
13772           of this spelling mistake. 
13773         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
13774         * gst/gstelement.h:
13775           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
13776           unlink pads before removing the element from the bin.
13777
13778 2005-08-24  Andy Wingo  <wingo@pobox.com>
13779
13780         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
13781         the same thing as GST_DEBUG=*:4.
13782         (parse_debug_level, parse_debug_category): New helper parsers.
13783
13784 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13785
13786         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13787         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
13788         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
13789         (gst_base_transform_buffer_alloc),
13790         (gst_base_transform_handle_buffer):
13791           use gboolean return values and pointers to size so we can use the
13792           full GST_BUFFER_SIZE range (guint) for buffer sizes
13793           use GstPadDirection for transform_caps
13794         * gst/base/gstbasetransform.h:
13795           rename get_size to get_unit_size since that's what it is
13796         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
13797           use GstPadDirection for transform_caps
13798         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13799         * gst/gstutils.h:
13800           cleanup and debugging
13801
13802 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13803
13804         * gst/gstelement.c: (gst_element_class_init),
13805         (gst_element_set_state), (activate_pads),
13806         (gst_element_save_thyself):
13807         * tools/gst-compprep.c: (main):
13808         * tools/gst-inspect.c: (print_element_properties_info):
13809         * tools/gst-xmlinspect.c: (print_element_properties):
13810           Fixed long standing mem-leak
13811
13812 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13813
13814         * check/gst/gstbin.c: (GST_START_TEST):
13815         * gst/gstbin.c: (bin_bus_handler):
13816         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13817         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13818         (gst_message_new_warning), (gst_message_new_tag),
13819         (gst_message_new_state_changed), (gst_message_new_segment_start),
13820         (gst_message_new_segment_done), (gst_message_new_custom):
13821         * gst/gstmessage.h:
13822         * tools/gst-launch.c: (event_loop):
13823         * tools/gst-md5sum.c: (event_loop):
13824           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
13825           that applications can sensibly post custom messages with references
13826           to their own objects.
13827
13828 2005-08-24  Andy Wingo  <wingo@pobox.com>
13829
13830         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
13831         already.
13832
13833 2005-08-24  Wim Taymans  <wim@fluendo.com>
13834
13835         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13836         (gst_base_transform_transform_caps),
13837         (gst_base_transform_transform_size),
13838         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13839         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13840         (gst_base_transform_handle_buffer):
13841         * gst/base/gstbasetransform.h:
13842         Many fixes and new features added by Thomas. Can now also do
13843         transforms with variable sizes and a custom fixate_caps function.
13844
13845 2005-08-24  Wim Taymans  <wim@fluendo.com>
13846
13847         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13848         Some debugging.
13849
13850         * gst/gstclock.h:
13851         Cast to ClockTime before formatting to time.
13852
13853         * gst/gstutils.h:
13854         Cleanups.
13855
13856 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13857
13858         * check/gst-libs/controller.c: (GST_START_TEST),
13859         (gst_controller_suite):
13860         * docs/gst/tmpl/gstcaps.sgml:
13861         * docs/gst/tmpl/gstghostpad.sgml:
13862         * docs/gst/tmpl/gstquery.sgml:
13863         * docs/gst/tmpl/gstutils.sgml:
13864         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
13865         (gst_object_sink_values), (gst_object_get_value_arrays),
13866         (gst_object_get_value_array):
13867           gracefully handle helper method calls to objects that are not beeing
13868           controlled, added test case for that          
13869
13870 2005-08-23  Wim Taymans  <wim@fluendo.com>
13871
13872         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
13873         (gst_event_new_newsegment), (gst_event_parse_newsegment),
13874         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
13875         (gst_event_parse_qos), (gst_event_new_seek),
13876         (gst_event_parse_seek):
13877         * gst/gstevent.h:
13878         Some more debugging output and doc cleanups.
13879
13880         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13881         Fix possible deadlock.
13882
13883 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13884
13885         * docs/gst/gstreamer-docs.sgml:
13886         * docs/gst/gstreamer-sections.txt:
13887         * docs/gst/gstreamer.types:
13888         * docs/gst/tmpl/.cvsignore:
13889         * gst/gstbin.h:
13890         * gst/gstbus.c:
13891         * gst/gstelement.c:
13892         * gst/gstevent.h:
13893           added 100 symbols from gstreamer-unused.txt to the right sections
13894           fixed more broken comments
13895           added GstBus to docs
13896
13897 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13898
13899         * docs/gst/gstreamer-sections.txt:
13900         * docs/gst/tmpl/.cvsignore:
13901         * docs/gst/tmpl/gstbin.sgml:
13902         * docs/gst/tmpl/gstbuffer.sgml:
13903         * gst/base/gstbasesrc.c:
13904         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
13905         * gst/gstbuffer.c:
13906         * gst/gstbuffer.h:
13907         * tools/gst-launch.1.in:
13908           inlined more doc comments, added missing comments and fixed comments
13909           fixed typos
13910
13911 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13912
13913         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13914           some debugging
13915         * gst/gstcaps.h:
13916           whitespace fixes
13917         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
13918           more debugging
13919         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
13920         * gst/gststructure.h:
13921           add a fixate function for booleans; add a FIXME that these func
13922           names should probably be gst_structure_fixate_*
13923
13924 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
13925
13926         * docs/gst/gstreamer-docs.sgml:
13927         * docs/gst/gstreamer-sections.txt:
13928         * gst/Makefile.am:
13929         * gst/gstbin.c: (gst_bin_get_type),
13930         (gst_bin_child_proxy_get_child_by_index),
13931         (gst_bin_child_proxy_get_children_count),
13932         (gst_bin_child_proxy_init):
13933         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
13934         (gst_child_proxy_get_child_by_index),
13935         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
13936         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
13937         (gst_child_proxy_get), (gst_child_proxy_set_property),
13938         (gst_child_proxy_set_valist), (gst_child_proxy_set),
13939         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
13940         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
13941         * gst/gstchildproxy.h:
13942         * gst/parse/grammar.y:
13943         * tools/gst-inspect.c: (print_interfaces),
13944         (print_element_properties_info), (print_element_info):
13945           ported gstchildproxy over from 0.8
13946           ported gst-inspect fixes and enhancements over from 0.8
13947
13948 2005-08-22  Wim Taymans  <wim@fluendo.com>
13949
13950         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13951         (gst_base_transform_handle_buffer):
13952         Also call the transform function if we have ANY caps.
13953
13954         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
13955         Fix debug info.
13956
13957 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13958
13959         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13960           Don't pretend to handle seek events if the source is not seekable
13961
13962 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13963
13964         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13965           Remove extra parameter to debug output
13966
13967         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13968         (gst_base_src_do_seek), (gst_base_src_activate_push):
13969           Fix seek event handling.
13970
13971         * gst/gstpipeline.c: (gst_pipeline_change_state):
13972         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13973         (gst_queue_src_activate_push):
13974           Don't start the src pad task on FLUSH_STOP if the pad
13975           isn't linked.
13976           Debug changes.
13977
13978 2005-08-22  Wim Taymans  <wim@fluendo.com>
13979
13980         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13981         Added check for gst_static_caps_get() refcounting.
13982
13983 2005-08-22  Wim Taymans  <wim@fluendo.com>
13984
13985         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13986         Make _static_caps_get() refcounting sane.
13987         
13988         * gst/gstelement.c: (gst_element_set_state):
13989         Add g_return_val_if_fail() to protect against segfaults.
13990
13991 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13992
13993         * docs/gst/tmpl/gstevent.sgml:
13994         * gst/gstevent.c:
13995         * gst/gstevent.h:
13996           inlined remaining docs, added missing doc comments
13997
13998 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13999
14000         * check/gst/gstbin.c: (GST_START_TEST):
14001           since we don't know when preroll is done, use refcount range
14002           check for the sink
14003         * gst/check/gstcheck.h:
14004           add macro for checking refcount range
14005
14006 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14007
14008         * check/Makefile.am:
14009           clean up environment for when registry gets built versus
14010           when actual tests are run; valgrind seems to not report
14011           leaks if GST_PLUGIN_PATH is set to some specific values
14012         * check/gst/gstbin.c: (GST_START_TEST):
14013           add more refcounting checks; maybe this exposes a
14014           preroll lock bug ?
14015         * common/check.mak:
14016         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14017         * gst/check/gstcheck.h:
14018         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14019         (gst_bin_change_state):
14020         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14021           add/fix debugging/whitespace
14022
14023 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14024
14025         * check/gst/gstevent.c: (event_probe), (test_event),
14026         (GST_START_TEST):
14027          Er, don't call gst_bin_watch_for_state_change you idiot.
14028
14029 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14030
14031         * check/Makefile.am:
14032           Use CHECK_CFLAGS and CHECK_LIBS
14033         * check/gst/gstevent.c: (event_probe), (test_event),
14034         (GST_START_TEST):
14035           Don't leak events.
14036         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14037         (gst_base_src_start), (gst_base_src_stop),
14038         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14039         (gst_base_src_change_state):
14040           Sprinkle gst_base_src_stop liberally around error paths to fix
14041           problems reusing a source after failed state changes.
14042         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14043         (helper_find_suggest), (gst_type_find_helper):
14044           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14045         * gst/gstevent.h:
14046         * docs/gst/tmpl/gstevent.sgml:
14047           Migrate part of the docs from the SGML file. Wait for ensonic to
14048           tell me how I did it wrong ;)
14049         * tools/gst-typefind.c: (main):
14050           Extra robustness to state changes between files.
14051
14052 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14053
14054         * check/Makefile.am:
14055           don't valgrind the controller test - it's leaking - Stefan, HELP
14056         * gst/check/gstcheck.c: (gst_check_message_error),
14057         (gst_check_chain_func), (gst_check_setup_element),
14058         (gst_check_teardown_element), (gst_check_setup_src_pad),
14059         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14060         (gst_check_teardown_sink_pad):
14061         * gst/check/gstcheck.h:
14062           add a bunch of methods to set up elements, and src and sink pads
14063         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14064         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14065         (GST_START_TEST):
14066           use them
14067         * gst/gstmessage.c:
14068         * gst/gsttag.h:
14069           whitespace/doc fixes
14070
14071 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14072
14073         * gst/gstelement.h:
14074           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14075           be handled by the application and not always printed as well
14076
14077 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14078
14079         * check/Makefile.am:
14080           set GST_TOOLS_DIR
14081         * gst/check/gstcheck.c: (gst_check_message_error):
14082         * gst/check/gstcheck.h:
14083           add a fail_unless_equals_int
14084           add fail_unless for error messages
14085
14086 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14087
14088         * check/Makefile.am:
14089         * check/gst.supp:
14090         * common/Makefile.am:
14091         * common/check.mak:
14092         * common/gst.supp:
14093           factor out some of the common stuff so we can use it
14094
14095 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14096
14097         * check/Makefile.am:
14098         * check/gst/gstiterator.c: (GST_START_TEST):
14099         * check/gst/gstsystemclock.c: (GST_START_TEST),
14100         (gst_systemclock_suite):
14101         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14102         * gst/gstclock.c:
14103           valgrind more tests
14104
14105 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14106
14107         * check/elements/.cvsignore:
14108         * check/elements/gstfakesrc.c:
14109           rename to name of element
14110         * check/elements/identity.c: (chain_func), (event_func),
14111         (setup_identity), (cleanup_identity), (GST_START_TEST),
14112         (identity_suite), (main):
14113           add a test for identity
14114         * check/Makefile.am:
14115         * pkgconfig/Makefile.am:
14116         * pkgconfig/gstreamer-check.pc.in:
14117         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14118         * gst/check:
14119         * gst/Makefile.am:
14120         * configure.ac:
14121           move the check stuff to a library that gets installed
14122         * check/gst-libs/controller.c: (GST_START_TEST):
14123         * check/gst-libs/gdp.c:
14124         * check/gst/gst.c: (GST_START_TEST):
14125         * check/gst/gstbin.c:
14126         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14127         * check/gst/gstbus.c:
14128         * check/gst/gstcaps.c: (GST_START_TEST):
14129         * check/gst/gstelement.c:
14130         * check/gst/gstghostpad.c:
14131         * check/gst/gstiterator.c:
14132         * check/gst/gstmessage.c:
14133         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
14134         * check/gst/gstobject.c:
14135         * check/gst/gstpad.c: (GST_START_TEST):
14136         * check/gst/gststructure.c: (GST_START_TEST):
14137         * check/gst/gstsystemclock.c: (GST_START_TEST),
14138         (gst_systemclock_suite):
14139         * check/gst/gsttag.c: (gst_tag_suite):
14140         * check/gst/gstvalue.c:
14141         * check/pipelines/cleanup.c:
14142         * check/pipelines/simple_launch_lines.c:
14143         * check/states/sinks.c:
14144           change include statement
14145
14146         * docs/gst/gstreamer-sections.txt:
14147         * docs/gst/tmpl/gstpad.sgml:
14148           document more pad stuff
14149         * gst/gstminiobject.c: (gst_mini_object_ref),
14150         (gst_mini_object_unref):
14151           debug refcounting
14152
14153 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
14154
14155         * docs/gst/tmpl/gst.sgml:
14156         * gst/gst.c:
14157           eliminate another tmpl file, fix spelling in the long-description
14158
14159 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14160
14161         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14162         (test_event), (timediff), (gstevents_suite):
14163           Should fix build on 64-bit arch's
14164
14165 2005-08-18  Andy Wingo  <wingo@pobox.com>
14166
14167         Make sure that when a pipeline goes to PLAYING, that data has
14168         actually hit the sink.
14169
14170         * check/states/sinks.c (test_sink): A sink that doesn't get any
14171         data shouldn't return SUCCESS for going to either PLAYING or
14172         PAUSED. Test also the return values on the way back down.
14173
14174         * gst/gstelement.c (gst_element_set_state): When changing the
14175         state of an element currently changing state asynchronously, go to
14176         lost-state after commiting the pending state. Makes future calls
14177         to get_state continue to return ASYNC.
14178
14179         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
14180         ASYNC when going to PLAYING if we still don't have preroll, as can
14181         happen with live sources.
14182
14183 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14184
14185         * docs/pwg/advanced-types.xml:
14186           Hack long paragraph into 2 chunks as a workaround for buggy
14187           jadetex version in sid and breezy that loops infinitely and
14188           eats all RAM.
14189
14190 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14191
14192         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14193         (test_event), (timediff), (gstevents_suite):
14194           Provide more error margin in clock measurements to allow for 
14195           g_get_current_time inaccuracies.
14196
14197 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14198
14199         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14200         (test_event), (timediff), (gstevents_suite):
14201            Fix error message output so I might be able to tell why the
14202            test works here but fails on the build farm.
14203
14204 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14205
14206         * check/Makefile.am:
14207         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14208         (test_event), (timediff), (gstevents_suite), (main):
14209           I wrote a test!
14210
14211         * docs/design/part-seeking.txt:
14212           Spelling correction
14213
14214         * docs/gst/tmpl/gstevent.sgml:
14215         * docs/gst/tmpl/gstfakesrc.sgml:
14216           Docs updates.
14217
14218         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14219           Treat a buffer-without-newsegment the same as a receiving 
14220           a newsegment not in time format, and disable syncing to the clock
14221           with a warning.
14222
14223         * gst/gstbus.c: (gst_bus_set_sync_handler):
14224           Assert if anyone tries to replace the existing sync_handler for bus, 
14225           as only the owner should be setting it.
14226
14227         * gst/gstevent.h:
14228           Have a fixed set of custom event enums with events identified by
14229           their structure name (as in 0.8), rather than a free-for-all
14230           allowing collisions between enum values from different plugins.
14231
14232         * gst/gstpad.c: (gst_pad_class_init):
14233           Docs change.
14234           
14235         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14236           Handle out-of-band downstream events from the sending thread.
14237
14238 2005-08-17  Andy Wingo  <wingo@pobox.com>
14239
14240         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
14241         play-timeout==0 to mean no timeout at all. In that case, don't
14242         bother with a get_state or a warning, just return directly, even
14243         if it's ASYNC.
14244
14245         * gst/base/gstbasetransform.c: Debug changes.
14246
14247         * gst/gstutils.h:
14248         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
14249         ensure bins post state change messages. A bit of a hack but I can't
14250         think of a way to avoid it.
14251
14252         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
14253
14254 2005-08-16  Andy Wingo  <wingo@pobox.com>
14255
14256         * gst/base/gstadapter.h:
14257         * gst/base/gstadapter.c (gst_adapter_take): New function, like
14258         peek() but you own the data. Not terribly efficient atm.
14259
14260 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14261
14262         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
14263         (gst_element_found_tags):
14264         * gst/gstutils.h:
14265           Add two utility functions for tag handling.
14266
14267 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14268
14269         * docs/manual/advanced-dataaccess.xml:
14270         * docs/manual/basics-helloworld.xml:
14271           Fix docs to use _bin_add() before _link(), which fixes the examples
14272           with recent core versions (reported by Madhan Raj M
14273           <raj_madan@rediffmail.com>, #313199).
14274
14275 2005-08-16  Wim Taymans  <wim@fluendo.com>
14276
14277         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14278         Added subtract checks.
14279
14280         * docs/design/part-events.txt:
14281         Some more docs about newsegment
14282
14283         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14284         Fix FIXME
14285
14286         * gst/gstcaps.c: (gst_caps_to_string):
14287         Add comments, cleanups.
14288         
14289         * gst/gstelement.c: (gst_element_save_thyself):
14290         cleanups
14291         
14292         * gst/gstvalue.c: (gst_value_collect_int_range),
14293         (gst_string_unwrap), (gst_value_union_int_int_range),
14294         (gst_value_union_int_range_int_range),
14295         (gst_value_intersect_int_int_range),
14296         (gst_value_intersect_int_range_int_range),
14297         (gst_value_intersect_double_double_range),
14298         (gst_value_intersect_double_range_double_range),
14299         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
14300         (gst_value_subtract_int_range_int),
14301         (gst_value_subtract_double_range_double),
14302         (gst_value_subtract_double_range_double_range),
14303         (gst_value_subtract_from_list), (gst_value_subtract_list),
14304         (gst_value_can_compare), (gst_value_compare_fraction):
14305         Cleanups, add comments, remove unneeded asserts.
14306
14307 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14308
14309         * tools/gst-launch.c: (event_loop):
14310           don't convert NULL structures to strings
14311
14312 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
14313
14314         * docs/gst/gstreamer-sections.txt:
14315           made some defines private
14316         * docs/gst/tmpl/gstconfig.sgml:
14317         * docs/gst/tmpl/gstqueue.sgml:
14318         * docs/gst/tmpl/gsttaglist.sgml:
14319         * docs/gst/tmpl/gsttypes.sgml:
14320         * docs/gst/tmpl/gstutils.sgml:
14321         * docs/pwg/appendix-porting.xml:
14322         * gst/base/gstbasesink.h:
14323         * gst/base/gstbasesrc.c:
14324         * gst/base/gstbasesrc.h:
14325         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
14326         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
14327         * gst/gstelement.c: (gst_element_class_init):
14328         * gst/gstpad.c: (gst_pad_class_init):
14329         * gst/gstqueue.c: (gst_queue_class_init):
14330         * gst/gstxml.c: (gst_xml_class_init):
14331           documented all undocumented signal inline
14332         * libs/gst/controller/gst-controller.h:
14333           added padding
14334
14335 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14336
14337         * docs/pwg/appendix-porting.xml:
14338           Document _set_link_function -> _set_setcaps_function.
14339
14340 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14341
14342         * check/Makefile.am:
14343           add a .check target for running the check
14344         * check/gst-libs/controller.c: (GST_START_TEST):
14345           cosmetic fixups
14346         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14347           complete checks for gstbuffer; would be nice if I could get the
14348           gcov stuff to work so I can see if I actually completed gstbuffer.c
14349         * check/gstcheck.h:
14350           add ASSERT_BUFFER_REFCOUNT
14351
14352 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
14353
14354         * docs/gst/gstreamer-sections.txt:
14355         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
14356         * gst/gsttag.h:
14357           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
14358           spew out a warning if a tag that is already registered
14359           is re-registered, unless it is re-registered with a 
14360           different type (#308438).
14361
14362 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
14363
14364         * docs/pwg/appendix-porting.xml:
14365         * docs/pwg/building-state.xml:
14366           Add some paragraphs about state changes in 0.9 to the PWG
14367           and the porting guide, in particular about the new meaning
14368           of GST_STATE_PAUSED and how to write state change functions
14369           with concurrent access by multiple threads in mind.
14370
14371 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
14372
14373         * docs/gst/gstreamer-docs.sgml:
14374         * docs/libs/gstreamer-libs-docs.sgml:
14375           added deprecation and since indexes
14376         * libs/gst/controller/gst-controller.c:
14377         * libs/gst/controller/gst-helper.c:
14378           added since tags
14379
14380
14381 2005-08-11  Wim Taymans  <wim@fluendo.com>
14382
14383         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
14384         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
14385         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
14386         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
14387         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
14388         (gst_ghost_pad_set_target):
14389         Actually implement (re)setting the target on a ghostpad
14390         as described in the docs.
14391
14392 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14393
14394         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
14395           Check whether GST_DEBUG_NO_COLOR environment variable is
14396           set and disable coloured debug output if that is the case.
14397
14398 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14399
14400         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14401         (gst_type_find_helper):
14402           The memory returned by gst_type_find_peek() needs to
14403           stay valid until the end of a typefind function, and
14404           typefind functions may keep results from different 
14405           offsets around, so we can't just unref the buffer from
14406           the previous _peek(), but have to save all buffers 
14407           returned by _peek() until typefinding is done and only
14408           free them then.
14409
14410 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
14411
14412         * docs/gst/gstreamer-sections.txt:
14413         * gst/gstutils.h:
14414           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
14415
14416 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14417
14418         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14419           Fix a pretty good memleak.
14420
14421 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14422
14423         * gst/gstiterator.h:
14424           Fix wrong include and 'make distcheck'.
14425
14426 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14427
14428         * gst/gstbin.c: (bin_bus_handler):
14429           Use gst_element_post_message() instead.
14430
14431 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14432
14433         * gst/base/gstadapter.h:
14434         * gst/base/gstbasesink.h:
14435         * gst/base/gstbasesrc.h:
14436         * gst/base/gstbasetransform.h:
14437         * gst/base/gstcollectpads.h:
14438         * gst/base/gstpushsrc.h:
14439         * gst/gstiterator.h:
14440           Add padding to our base elements' class and instance structs and
14441           to GstIterator (you will need to rebuild all plugins and apps!)
14442
14443 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14444
14445         * gst/gstbin.c: (bin_bus_handler):
14446           Make default message forwarding from child->bus to bin->bus
14447           threadsafe and make it not emit warnings if the parent has no bus.
14448
14449 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14450
14451         * gst/gstelement.c: (activate_pads):
14452           On paused->ready, set pad->caps to NULL, as is the documented
14453           behaviour in this state change. Fixes playback of series of
14454           media files when visualization is enabled in Totem.
14455
14456 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14457
14458         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14459           Allow NULL as filter-caps (which means "any").
14460
14461 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14462
14463         * docs/libs/gstreamer-libs-sections.txt:
14464         * libs/gst/controller/gst-controller.c:
14465         * libs/gst/controller/gst-controller.h:
14466         * libs/gst/controller/gst-helper.c:
14467           adding more entries to the docs and fix small doc-bugs
14468
14469 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14470
14471         * docs/gst/gstreamer-docs.sgml:
14472         * docs/gst/gstreamer-sections.txt:
14473         * docs/gst/gstreamer.types:
14474         * docs/gst/tmpl/gstbasesink.sgml:
14475         * docs/gst/tmpl/gstbasesrc.sgml:
14476         * docs/gst/tmpl/gstbasetransform.sgml:
14477         * docs/gst/tmpl/gstfakesrc.sgml:
14478         * gst/base/gstcollectpads.c:
14479         * gst/base/gstcollectpads.h:
14480         * libs/gst/controller/gst-controller.c:
14481         * libs/gst/controller/gst-controller.h:
14482         * libs/gst/controller/gst-helper.c:
14483         * libs/gst/controller/gst-interpolation.c:
14484         * libs/gst/controller/lib.c:
14485           added long/short desc for controller docs
14486           added collectpads base class docs
14487           added correct includes to base-class docs
14488
14489 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14490
14491         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14492         (gst_test_mono_source_set_property),
14493         (gst_test_mono_source_class_init), (GST_START_TEST),
14494         (gst_controller_suite):
14495         * docs/gst/gstreamer-docs.sgml:
14496         * docs/gst/gstreamer-sections.txt:
14497         * docs/gst/gstreamer.types:
14498         * docs/libs/gstreamer-libs-docs.sgml:
14499         * docs/libs/gstreamer-libs-sections.txt:
14500         * gst/base/gstadapter.c:
14501         * libs/gst/controller/gst-controller.c:
14502         (gst_controlled_property_new), (gst_controlled_property_free),
14503         (gst_controller_new_valist),
14504         (gst_controller_remove_properties_valist),
14505         (gst_controller_sink_values), (_gst_controller_finalize):
14506         * libs/gst/controller/gst-controller.h:
14507         * libs/gst/controller/gst-helper.c:
14508         (gst_object_control_properties), (gst_object_uncontrol_properties),
14509         (gst_object_get_controller), (gst_object_set_controller),
14510         (gst_object_sink_values), (gst_object_get_value_arrays),
14511         (gst_object_get_value_array):
14512           more tests (and fixes) for the controller
14513           more docs for the controller
14514           integrated companies docs for the adapter 
14515
14516 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14517
14518         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
14519         (GST_START_TEST), (fakesrc_suite):
14520           add tests for sizetype
14521
14522 2005-08-04  Andy Wingo  <wingo@pobox.com>
14523
14524         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
14525         fixes buffer_alloc proxying among other things.
14526
14527         * gst/base/gstbasetransform.c:
14528         * gst/base/gstbasetransform.h:
14529         Revert patch to gstbasetransform from 7-28 removing
14530         delay_configure.
14531
14532         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
14533         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
14534         Semantics changed, should return not the size of the output buffer
14535         but the byte size of a buffer with a given caps.
14536
14537         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
14538         debug object.
14539         (gst_base_transform_configure_caps): Don't set out_size here: (in,
14540         out) are not the pad caps until setcaps finishes.
14541         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
14542         not-in-place case as well. Deal with changing from in-place to
14543         not-in-place within calling pad_alloc_buffer. Still a bit
14544         concerned about the overhead here...
14545
14546 2005-08-03  Andy Wingo  <wingo@pobox.com>
14547
14548         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
14549         fixating is an error.
14550
14551 2005-08-04  Edward Hervey  <edward@fluendo.com>
14552
14553         * gst/base/gstadapter.h: 
14554         Added gst_adapter_get_type() to the header
14555
14556 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14557
14558         * check/Makefile.am:
14559         * check/gst-libs/controller.c:
14560         * libs/gst/controller/gst-controller.c:
14561         (gst_controller_new_valist):
14562           added check test suite for the controller
14563         * gst/base/gstpushsrc.c:
14564           fixed a doc typo
14565
14566 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14567
14568         * docs/gst/Makefile.am:
14569         * docs/gst/gstreamer-docs.sgml:
14570         * docs/gst/gstreamer-sections.txt:
14571         * docs/gst/gstreamer.types:
14572         * docs/gst/tmpl/gstfakesrc.sgml:
14573         * gst/base/README:
14574         * gst/base/gstbasesink.c:
14575         * gst/base/gstbasesink.h:
14576         * gst/base/gstbasesrc.c:
14577         * gst/base/gstbasesrc.h:
14578         * gst/base/gstbasetransform.c:
14579         * gst/base/gstpushsrc.c:
14580         * gst/base/gstpushsrc.h:
14581           add short/long description docs to base classes
14582           add pushsrc to the docs
14583           remove consolidated doc fragments
14584
14585 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14586
14587         * configure.ac:
14588         * docs/libs/Makefile.am:
14589         * docs/libs/gstreamer-libs-docs.sgml:
14590         * docs/libs/gstreamer-libs-sections.txt:
14591         * docs/libs/gstreamer-libs.types:
14592         * examples/Makefile.am:
14593         * examples/controller/.cvsignore:
14594         * examples/controller/Makefile.am:
14595         * examples/controller/audio-example.c: (main):
14596         * libs/gst/Makefile.am:
14597         * libs/gst/controller/.cvsignore:
14598         * libs/gst/controller/Makefile.am:
14599         * libs/gst/controller/gst-controller.c:
14600         (on_object_controlled_property_changed), (gst_timed_value_compare),
14601         (gst_timed_value_find),
14602         (gst_controlled_property_set_interpolation_mode),
14603         (gst_controlled_property_new), (gst_controlled_property_free),
14604         (gst_controller_find_controlled_property),
14605         (gst_controller_new_valist), (gst_controller_new),
14606         (gst_controller_remove_properties_valist),
14607         (gst_controller_remove_properties), (gst_controller_set),
14608         (gst_controller_set_from_list), (gst_controller_unset),
14609         (gst_controller_get), (gst_controller_get_all),
14610         (gst_controller_sink_values), (gst_controller_get_value_arrays),
14611         (gst_controller_get_value_array),
14612         (gst_controller_set_interpolation_mode),
14613         (_gst_controller_finalize), (_gst_controller_init),
14614         (_gst_controller_class_init), (gst_controller_get_type):
14615         * libs/gst/controller/gst-controller.h:
14616         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
14617         (g_object_uncontrol_properties), (g_object_get_controller),
14618         (g_object_set_controller), (g_object_sink_values),
14619         (g_object_get_value_arrays), (g_object_get_value_array):
14620         * libs/gst/controller/gst-interpolation.c:
14621         (gst_controlled_property_find_timed_value_node),
14622         (interpolate_none_get), (interpolate_trigger_get),
14623         (interpolate_trigger_get_value_array):
14624         * libs/gst/controller/lib.c: (gst_controller_init):
14625         * pkgconfig/Makefile.am:
14626         * pkgconfig/gstreamer-control-uninstalled.pc.in:
14627         * pkgconfig/gstreamer-control.pc.in:
14628         * testsuite/Makefile.am:
14629         * testsuite/controller/.cvsignore:
14630         * testsuite/controller/Makefile.am:
14631         * testsuite/controller/interpolator.c: (main):
14632           added controller code
14633           removed dparam pc files
14634
14635 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14636         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
14637         (gst_collectpads_stop):
14638           Broadcast the condition when shutting down, to make sure we wake all
14639           threads up. Shut down pads on finalize, for safety.
14640
14641 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14642         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14643         (gst_base_transform_handle_buffer),
14644         (gst_base_transform_change_state):
14645           Handle PAUSED->READY->PAUSED transition after negotiation
14646           occurred already.
14647         * gst/gstmessage.c: (gst_message_init):
14648           Extra piece of debug for new messages.
14649
14650 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
14651
14652         * configure.ac:
14653         * docs/gst/tmpl/gstbasesrc.sgml:
14654         * docs/gst/tmpl/gstelement.sgml:
14655         * docs/gst/tmpl/gstevent.sgml:
14656         * docs/gst/tmpl/gstfakesrc.sgml:
14657         * docs/gst/tmpl/gstformat.sgml:
14658         * docs/gst/tmpl/gstghostpad.sgml:
14659         * docs/gst/tmpl/gstpad.sgml:
14660         * docs/gst/tmpl/gstquery.sgml:
14661         * docs/gst/tmpl/gststructure.sgml:
14662         * docs/gst/tmpl/gsttaglist.sgml:
14663         * docs/gst/tmpl/gstvalue.sgml:
14664         * docs/libs/gstreamer-libs-docs.sgml:
14665         * docs/libs/gstreamer-libs-sections.txt:
14666         * docs/libs/gstreamer-libs.types:
14667         * libs/gst/Makefile.am:
14668         * libs/gst/control/.cvsignore:
14669         * libs/gst/control/Makefile.am:
14670         * libs/gst/control/control.c:
14671         * libs/gst/control/control.h:
14672         * libs/gst/control/dparam.c:
14673         * libs/gst/control/dparam.h:
14674         * libs/gst/control/dparam_smooth.c:
14675         * libs/gst/control/dparam_smooth.h:
14676         * libs/gst/control/dparamcommon.h:
14677         * libs/gst/control/dparammanager.c:
14678         * libs/gst/control/dparammanager.h:
14679         * libs/gst/control/dplinearinterp.c:
14680         * libs/gst/control/dplinearinterp.h:
14681         * libs/gst/control/unitconvert.c:
14682         * libs/gst/control/unitconvert.h:
14683         * testsuite/Makefile.am:
14684         * testsuite/dynparams/.cvsignore:
14685         * testsuite/dynparams/Makefile.am:
14686         * testsuite/dynparams/dparamstest.c:
14687         * tools/Makefile.am:
14688         * tools/gst-inspect.c: (print_element_info), (main):
14689         * tools/gst-xmlinspect.c: (print_element_info), (main):
14690           deactivate and remove dparams (libgstcontrol)
14691
14692 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14693
14694         * gst/elements/gsttypefindelement.c:
14695         (gst_type_find_element_have_type), (gst_type_find_element_init),
14696         (stop_typefinding), (gst_type_find_element_handle_event),
14697         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14698         * gst/elements/gsttypefindelement.h:
14699           Set caps on all outgoing buffers, not just the first one.
14700
14701 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14702
14703         * gst/elements/gsttypefindelement.c:
14704         (gst_type_find_element_have_type),
14705         (gst_type_find_element_check_set_buffer_caps),
14706         (gst_type_find_element_init), (stop_typefinding),
14707         (gst_type_find_element_handle_event),
14708         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14709         * gst/elements/gsttypefindelement.h:
14710           Set caps on first outgoing buffer when we've found the type.
14711
14712 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14713
14714         * docs/gst/gstreamer-docs.sgml:
14715         * docs/gst/gstreamer-sections.txt:
14716         * docs/gst/tmpl/gstscheduler.sgml:
14717         * docs/gst/tmpl/gstschedulerfactory.sgml:
14718           Remove some old cruft from docs.
14719
14720 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
14721
14722         * gst/gstpad.h:
14723           Fix inline docs for GstPadLinkReturn.
14724           
14725         * gst/gststructure.c: (gst_structure_has_name):
14726         * gst/gststructure.h:
14727         * docs/gst/gstreamer-sections.txt:
14728           New API: gst_structure_has_name().
14729
14730 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
14731
14732         * configure.ac:
14733           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
14734           and _LARGEFILE_SOURCE in config.h as required. Do not 
14735           export those flags in our .pc files any longer (#142209).
14736
14737           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
14738
14739         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
14740         (gst_file_sink_do_seek), (gst_file_sink_event),
14741         (gst_file_sink_get_current_offset), (gst_file_sink_render):
14742           Redo seek/tell calls with large file support in mind; add some
14743           debugging messages; add log message that tells us when large
14744           file support is unavailable or not enabled for some reason.
14745
14746         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
14747           Add log message that tells us when large file support 
14748           is unavailable or not enabled for some reason.
14749
14750 2005-07-29  Wim Taymans  <wim@fluendo.com>
14751
14752         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14753         Added test for removing an element with ghostpad from a bin.
14754         Fixed test as current implementation does the right thing.
14755
14756         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
14757         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
14758         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
14759         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
14760         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
14761         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
14762         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
14763         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14764         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
14765         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
14766         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
14767         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
14768         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
14769         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
14770         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
14771         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
14772         * gst/gstghostpad.h:
14773         Clean up ghostpads, remove properties for internal stuff.
14774         Make threadsafe.
14775         Fix refcounting.
14776         Prepare for switching targets, not all use cases work yet.
14777
14778 2005-07-29  Wim Taymans  <wim@fluendo.com>
14779
14780         * docs/design/part-gstghostpad.txt:
14781         Small update.
14782
14783         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14784         (gst_bin_remove_func):
14785         Unlinking pads while holding the bin LOCK is not a good
14786         idea.
14787
14788         * gst/gstpad.c: (gst_pad_class_init),
14789         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
14790         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
14791         No prob setting template after creating the pad.
14792
14793 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
14794
14795         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
14796         (gst_bus_peek), (gst_bus_source_dispatch),
14797         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
14798         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
14799           gst_bus_poll may be called from other threads. Handle
14800           this nicely by not making poll_data disappear off the
14801           stack once gst_bus_poll returns.
14802           gst_bus_peek now increments the refcount on the returned
14803           message.
14804
14805 2005-07-29  Wim Taymans  <wim@fluendo.com>
14806
14807         * docs/design/part-gstghostpad.txt:
14808         Overview of current GhostPad datastructures and use
14809         cases for changing the target.
14810
14811 2005-07-28  Wim Taymans  <wim@fluendo.com>
14812
14813         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14814         Added checks for hierarchy consistency whan adding linked
14815         elements to bins.
14816
14817         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14818         Added check to test element scheduling without bin/pipeline.
14819
14820         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14821         First add elements to bin, then link.
14822         
14823         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14824         (gst_bin_remove_func):
14825         Unlink pads from elements added/removed from bin to maintain
14826         hierarchy consistency.
14827
14828 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14829
14830         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14831         (gst_base_transform_handle_buffer):
14832         * gst/base/gstbasetransform.h:
14833           Remove broken delay_configure (fixes renegotiation of software
14834           scaling pipelines); remove some leftover printf()s.
14835
14836 2005-07-28  Wim Taymans  <wim@fluendo.com>
14837
14838         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14839         Added some more tests for wrong hierarchy
14840
14841         * docs/design/part-overview.txt:
14842         Some updates.
14843
14844         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
14845         Cleanups.
14846
14847         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
14848         (gst_element_dispose):
14849         Some more cleanups.
14850
14851         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14852         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
14853         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14854         (gst_pad_set_caps), (gst_pad_send_event):
14855         Check for correct hierarchy when linking pads. Moving to
14856         strict requirement for ghostpads when linking elements in
14857         different bins.
14858
14859         * gst/gstpad.h:
14860         Clean ups. Added WRONG_HIERARCHY return value.
14861
14862 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14863
14864         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14865           Better debug if no transform is possible.
14866
14867 2005-07-27  Wim Taymans  <wim@fluendo.com>
14868
14869         * docs/random/wtay/network-transp:
14870         Some old doc I had.
14871
14872 2005-07-27  Wim Taymans  <wim@fluendo.com>
14873
14874         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14875         (gst_dp_event_from_packet):
14876         Fix serialization of seek events.
14877
14878 2005-07-27  Wim Taymans  <wim@fluendo.com>
14879
14880         * check/gst-libs/gdp.c: (GST_START_TEST):
14881         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14882         Fix compilation and fix event serialization.
14883
14884 2005-07-27  Wim Taymans  <wim@fluendo.com>
14885
14886         * CHANGES-0.9:
14887         * docs/design/part-TODO.txt:
14888         * docs/design/part-events.txt:
14889         Some docs updates
14890
14891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14892         (gst_base_sink_event), (gst_base_sink_do_sync),
14893         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14894         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14895         (gst_base_src_do_seek), (gst_base_src_event_handler),
14896         (gst_base_src_loop):
14897         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14898         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14899         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14900         (gst_base_transform_event), (gst_base_transform_handle_buffer),
14901         (gst_base_transform_set_passthrough),
14902         (gst_base_transform_is_passthrough):
14903         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14904         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14905         Event updates.
14906
14907         * gst/gstbuffer.h:
14908         Use faster casts.
14909
14910         * gst/gstelement.c: (gst_element_seek):
14911         * gst/gstelement.h:
14912         Update gst_element_seek.
14913
14914         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
14915         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
14916         (gst_event_new_flush_start), (gst_event_new_flush_stop),
14917         (gst_event_new_eos), (gst_event_new_newsegment),
14918         (gst_event_parse_newsegment), (gst_event_new_tag),
14919         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
14920         (gst_event_parse_qos), (gst_event_new_seek),
14921         (gst_event_parse_seek), (gst_event_new_navigation):
14922         * gst/gstevent.h:
14923         Make GstEvent use GstStructure. Add parsing code, make sure the
14924         API is sufficiently generic.
14925         Mark possible directions of events and serialization.
14926
14927         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
14928         (_gst_message_copy), (gst_message_new_segment_start),
14929         (gst_message_new_segment_done), (gst_message_new_custom),
14930         (gst_message_parse_segment_start),
14931         (gst_message_parse_segment_done):
14932         Small cleanups.
14933
14934         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14935         (gst_pad_set_caps), (gst_pad_send_event):
14936         Update for new events. 
14937         Catch events sent in wrong directions.
14938
14939         * gst/gstqueue.c: (gst_queue_link_src),
14940         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14941         (gst_queue_handle_src_query):
14942         Event updates.
14943
14944         * gst/gsttag.c:
14945         * gst/gsttag.h:
14946         Remove event code from this file.
14947
14948         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14949         (gst_dp_event_from_packet):
14950         Event updates.
14951
14952 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14953
14954         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
14955         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14956         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
14957           Make debugging actually useful.
14958
14959 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14960
14961         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14962         (gst_pad_fixate_caps):
14963           Implement default fixation once again, so that gst_pad_fixate()
14964           actually does anything at all. This probably needs to be some
14965           sort of a last resort, and use profile-based fixation first, but
14966           since that doesn't exist yet, this is the best we have. Fixes
14967           visualization in Totem.
14968
14969 2005-07-22  Wim Taymans  <wim@fluendo.com>
14970
14971         * docs/design/part-events.txt:
14972         Small update.
14973
14974         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14975         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14976         (gst_base_sink_activate_pull):
14977         Some more comments.
14978
14979         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14980         (gst_fake_src_create):
14981         Fix handoff marshall.
14982
14983         * gst/elements/gstidentity.c: (gst_identity_class_init),
14984         (gst_identity_transform_ip):
14985         We're a real inplace element.
14986
14987         * gst/gstbus.c: (gst_bus_post):
14988         Added some comments.
14989
14990         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14991         * tests/muxing/case1.c: (main):
14992         * tests/sched/dynamic-pipeline.c: (main):
14993         * tests/sched/interrupt1.c: (main):
14994         * tests/sched/interrupt2.c: (main):
14995         * tests/sched/interrupt3.c: (main):
14996         * tests/sched/runxml.c: (main):
14997         * tests/sched/sched-stress.c: (main):
14998         * tests/seeking/seeking1.c: (event_received), (main):
14999         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15000         (main):
15001         * tests/threadstate/threadstate3.c: (main):
15002         * tests/threadstate/threadstate4.c: (main):
15003         * tests/threadstate/threadstate5.c: (main):
15004         Fix the tests.
15005
15006 2005-07-21  Wim Taymans  <wim@fluendo.com>
15007
15008         * docs/design/part-seeking.txt:
15009         Some small additions.
15010
15011         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15012         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15013         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15014         * gst/base/gstbasesink.h:
15015         discont values are gint64, handle the math correctly.
15016
15017         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15018         Make the basesrc report error if the source pad is not linked.
15019
15020         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15021         (gst_queue_loop), (gst_queue_handle_src_query),
15022         (gst_queue_src_activate_push):
15023         Make queue collect data even if the srcpad is not linked.
15024         Start pushing out data as soon as it is linked.
15025
15026         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15027         * gst/gstutils.h:
15028         Added gst_flow_get_name() to ease error reporting.
15029
15030 2005-07-20  Wim Taymans  <wim@fluendo.com>
15031
15032         * gst/gstmessage.c: (gst_message_new_segment_start),
15033         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15034         (gst_message_parse_segment_done):
15035         * gst/gstmessage.h:
15036         Added a bunch of messages for advanced seeking.
15037
15038         * gst/parse/grammar.y:
15039         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15040         (gst_dpman_state_changed):
15041         Fix some new-pad -> pad-added signals
15042
15043 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15044
15045         * docs/manual/appendix-porting.xml:
15046         * docs/pwg/appendix-porting.xml:
15047           Document new-pad/state-change signal renames and the FixedList
15048           type rename.
15049
15050 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15051
15052         * docs/manual/advanced-autoplugging.xml:
15053         * docs/manual/basics-helloworld.xml:
15054         * docs/manual/basics-pads.xml:
15055         * docs/random/ds/0.9-suggested-changes:
15056         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15057         * gst/gstelement.h:
15058         * gst/gstevent.h:
15059         * gst/gstformat.h:
15060         * gst/gstquery.h:
15061         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15062         (gst_structure_parse_array), (gst_structure_parse_value):
15063         * gst/gstvalue.c: (gst_type_is_fixed),
15064         (gst_value_list_prepend_value), (gst_value_list_append_value),
15065         (gst_value_list_get_size), (gst_value_list_get_value),
15066         (gst_value_transform_array_string), (gst_value_serialize_array),
15067         (gst_value_deserialize_array), (gst_value_intersect_array),
15068         (gst_value_is_fixed), (_gst_value_initialize):
15069         * gst/gstvalue.h:
15070           GstElement::new-pad -> pad-added, GstElement::state-change ->
15071           state-changed, GstValueFixedList -> GstValueArray, add format and
15072           flags as their own arguments in gst_element_seek() (should improve
15073           "bindeability"), remove function generators since they don't work
15074           under a whole bunch of compilers (they were deprecated already
15075           anyway).
15076
15077 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15078
15079         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15080         (_gst_debug_register_funcptr):
15081         * gst/gstinfo.h:
15082           Fix illegal cast on some platforms (#309253).
15083
15084 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15085
15086         * gst/gstmessage.c: (gst_message_new_custom):
15087         * gst/gstmessage.h:
15088           Add _new_custom, make _new_application a macro to _new_custom.
15089
15090 2005-07-20  Wim Taymans  <wim@fluendo.com>
15091
15092         * gst/base/gstbasesrc.c: (gst_base_src_init),
15093         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15094         * gst/base/gstbasesrc.h:
15095         Add a gboolean to decide when to push out a discont.
15096
15097         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15098         (gst_queue_loop), (gst_queue_handle_src_query),
15099         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15100         (gst_queue_set_property), (gst_queue_get_property):
15101         Some cleanups.
15102
15103         * tests/threadstate/threadstate1.c: (main):
15104         Make a thread test compile and run... very silly..
15105
15106
15107 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15108
15109         * docs/manual/appendix-porting.xml:
15110           Mention removal of libgstgconf-0.9.la and existence of gconf
15111           elements.
15112
15113 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15114
15115         * docs/pwg/advanced-clock.xml:
15116         * docs/pwg/appendix-porting.xml:
15117         * docs/pwg/intro-preface.xml:
15118         * docs/pwg/other-base.xml:
15119         * docs/pwg/other-manager.xml:
15120         * docs/pwg/other-nton.xml:
15121         * docs/pwg/other-ntoone.xml:
15122         * docs/pwg/other-oneton.xml:
15123         * docs/pwg/pwg.xml:
15124           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15125           demuxer), remove n-to-n (was never written), fix some code examples
15126           and links and update the porting section to include all this.
15127
15128 2005-07-19  Wim Taymans  <wim@fluendo.com>
15129
15130         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
15131         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
15132         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
15133         (gst_queue_src_activate_push), (gst_queue_change_state),
15134         (gst_queue_get_property):
15135         * gst/gstqueue.h:
15136         Propagate GstFlowReturn more intelligently upstream and output
15137         an ERROR/EOS when streaming stopped due to fatal error.
15138
15139 2005-07-19  Wim Taymans  <wim@fluendo.com>
15140
15141         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15142         Don't block forever for the state change to complete, the
15143         pipeline already did with a sensible timeout.
15144
15145 2005-07-19  Wim Taymans  <wim@fluendo.com>
15146
15147         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15148         Make sure we never call the create function is we
15149         got deactivated.
15150
15151 2005-07-19  Andy Wingo  <wingo@pobox.com>
15152
15153         * gst/parse/parse.l: Attempt to solve bug #172815.
15154
15155 2005-07-19  Wim Taymans  <wim@fluendo.com>
15156
15157         * docs/design/part-clocks.txt:
15158         * docs/design/part-events.txt:
15159         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
15160         Small docs updates.
15161         Only update the seeking values when we are not
15162         busy streaming.
15163
15164 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15165
15166         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15167           Oops, ignore the result of gst_pad_push_event here.
15168
15169 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15170
15171         * gst/base/gstbasesrc.c: (gst_base_src_loop),
15172         (gst_base_src_activate_push):
15173           Send discont event from the loop function, as pads
15174           aren't activated yet in the activate_push handler.
15175
15176         * gst/gstbin.c: (bin_bus_handler):
15177           Don't leak element name.
15178
15179 2005-07-18  Andy Wingo  <wingo@pobox.com>
15180
15181         * configure.ac: Use AS_LIBTOOL_TAGS.
15182
15183 2005-07-18  Wim Taymans  <wim@fluendo.com>
15184
15185         * docs/gst/gstreamer.types:
15186         Remove deleted types.
15187
15188 2005-07-18  Wim Taymans  <wim@fluendo.com>
15189
15190         * check/elements/gstfakesrc.c: (GST_START_TEST):
15191         * configure.ac:
15192         * gst/Makefile.am:
15193         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
15194         (init_popt_callback):
15195         * gst/gst.h:
15196         * gst/gst_private.h:
15197         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
15198         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
15199         * gst/gstbin.h:
15200         * gst/gstbus.h:
15201         * gst/gstconfig.h.in:
15202         * gst/gstelement.c: (gst_element_class_init),
15203         (gst_element_set_base_time), (gst_element_get_base_time),
15204         (iterator_fold_with_resync), (gst_element_change_state),
15205         (gst_element_dispose), (gst_element_get_bus):
15206         * gst/gstelement.h:
15207         * gst/gstelementfactory.h:
15208         * gst/gsterror.c: (_gst_core_errors_init):
15209         * gst/gsterror.h:
15210         * gst/gstevent.h:
15211         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15212         * gst/gstindex.c:
15213         * gst/gstinfo.c: (_gst_debug_init):
15214         * gst/gstmessage.c: (_gst_message_copy):
15215         * gst/gstmessage.h:
15216         * gst/gstminiobject.h:
15217         * gst/gstobject.c:
15218         * gst/gstobject.h:
15219         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15220         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
15221         * gst/gstpad.h:
15222         * gst/gstparse.h:
15223         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15224         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15225         (gst_pipeline_get_last_stream_time):
15226         * gst/gstpipeline.h:
15227         * gst/gstpluginfeature.h:
15228         * gst/gstquery.h:
15229         * gst/gstscheduler.c:
15230         * gst/gstscheduler.h:
15231         * gst/gststructure.h:
15232         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15233         (gst_task_finalize), (gst_task_func), (gst_task_create),
15234         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
15235         (gst_task_stop), (gst_task_pause):
15236         * gst/gsttask.h:
15237         * gst/gsttypefind.h:
15238         * gst/gsttypes.h:
15239         * gst/registries/gstlibxmlregistry.c: (load_feature),
15240         (gst_xml_registry_load), (gst_xml_registry_save_feature):
15241         * gst/registries/gstxmlregistry.c:
15242         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
15243         * gst/schedulers/threadscheduler.c:
15244         * libs/gst/control/dparammanager.h:
15245         * tools/gst-inspect.c: (print_element_list),
15246         (print_plugin_features), (print_element_features):
15247         * tools/gst-xmlinspect.c: (print_element_list),
15248         (print_plugin_info), (main):
15249         Removed plugable schedulers.
15250         Removed Scheduler/Manager from elements.
15251         Removed gsttypes.h, rearranged includes.
15252         Removed dependency pad<->element, element<>pipeline, and
15253         various others,  fix includes.
15254         implement gst_pad_get_parent() with gst_object_get_parent()
15255         Make GstTask sefcontained.
15256         Fix _get_state() on GstBin, it did not return ASYNC with a 0
15257         timeout.
15258         Fix endless loop in iterator_fold_with_resync.
15259
15260
15261 2005-07-18  Wim Taymans  <wim@fluendo.com>
15262
15263         * gst/Makefile.am:
15264         * gst/gstarch.h:
15265         Remove old file.
15266
15267 2005-07-18  Wim Taymans  <wim@fluendo.com>
15268
15269         * gst/Makefile.am:
15270         No more cothreads.h
15271
15272 2005-07-18  Wim Taymans  <wim@fluendo.com>
15273
15274         * gst/cothreads.c:
15275         * gst/cothreads.h:
15276         Let's remove these.
15277
15278 2005-07-18  Wim Taymans  <wim@fluendo.com>
15279
15280         * docs/design/part-dynamic.txt:
15281         * docs/design/part-events.txt:
15282         * docs/design/part-seeking.txt:
15283         Some more docs in the works.
15284
15285         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15286         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
15287         (gst_base_transform_setcaps), (gst_base_transform_get_size),
15288         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
15289         (gst_base_transform_handle_buffer),
15290         (gst_base_transform_sink_activate_push),
15291         (gst_base_transform_src_activate_pull),
15292         (gst_base_transform_set_passthrough),
15293         (gst_base_transform_is_passthrough):
15294         Refcounting fixes.
15295
15296         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
15297         Cleanups.
15298
15299         * gst/gstevent.c: (gst_event_finalize):
15300         Set SRC to NULL.
15301
15302         * gst/gstutils.c: (gst_element_unlink),
15303         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
15304         (gst_pad_proxy_setcaps):
15305         * gst/gstutils.h:
15306         Add _get_parent_element() to get a pads parent as an element.
15307
15308 2005-07-18  Wim Taymans  <wim@fluendo.com>
15309
15310         * check/gst/gstbin.c: (GST_START_TEST):
15311         Remove bogus test.
15312
15313 2005-07-18  Wim Taymans  <wim@fluendo.com>
15314
15315         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15316         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15317         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15318         (gst_base_sink_event), (gst_base_sink_do_sync),
15319         (gst_base_sink_chain), (gst_base_sink_loop),
15320         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
15321         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15322         Refcounting fixes.
15323         Fix logic for returning ASYNC when not prerolled.
15324
15325 2005-07-18  Wim Taymans  <wim@fluendo.com>
15326
15327         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15328         Fix nasty refcount bug.
15329
15330 2005-07-16 Philippe Khalaf <burger@speedy.org>
15331
15332         * gst/elements/gstfdsrc.c:
15333         * gst/elements/gstfdsrc.h:
15334         * gst/elements/gstelements.c:
15335         * gst/elements/Makefile.am:
15336         Ported fdsrc to 0.9.
15337
15338 2005-07-16  Wim Taymans  <wim@fluendo.com>
15339
15340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15341         (gst_base_sink_do_sync):
15342         Fix compile error.
15343
15344 2005-07-16  Wim Taymans  <wim@fluendo.com>
15345
15346         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15347         (gst_base_sink_event), (gst_base_sink_get_times),
15348         (gst_base_sink_do_sync), (gst_base_sink_change_state):
15349         * gst/base/gstbasesink.h:
15350         Store and use discont values when syncing buffers as described
15351         in design docs.
15352         
15353         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15354         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
15355         (gst_base_src_activate_push):
15356         Push discont event when starting.
15357
15358         * gst/elements/gstidentity.c: (gst_identity_transform):
15359         Small cleanups.
15360
15361         * gst/gstbin.c: (gst_bin_change_state):
15362         Small cleanups in base_time  distribution.
15363
15364         * gst/gstelement.c: (gst_element_set_base_time),
15365         (gst_element_get_base_time), (gst_element_change_state):
15366         * gst/gstelement.h:
15367         Added methods for the base_time of the element.
15368         Some MT fixes.
15369
15370         * gst/gstpipeline.c: (gst_pipeline_send_event),
15371         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15372         (gst_pipeline_get_last_stream_time):
15373         * gst/gstpipeline.h:
15374         MT fixes.
15375         Handle seeking as described in design doc, remove stream_time
15376         hack.
15377         Cleanups clock and stream_time selection code. Added accessors
15378         for the stream_time.
15379         
15380
15381 2005-07-16  Andy Wingo  <wingo@pobox.com>
15382
15383         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
15384         (#305291).
15385
15386 2005-07-16  Wim Taymans  <wim@fluendo.com>
15387
15388         * check/gst/gstbin.c: (GST_START_TEST):
15389         Make elements silent as the deep_notify refs the
15390         parent, which might make the test fail.
15391
15392         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15393         Don't hold the lock for too long.
15394
15395 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
15396
15397         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15398           Don't unref the caps we passed to gst_caps_make_writable() after
15399           passing them. gst_caps_make_writable() will do that for us.
15400
15401 2005-07-15  Andy Wingo  <wingo@pobox.com>
15402
15403         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
15404         (#157311).
15405
15406         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
15407         own marshalling function for the handoff signal. Properly type the
15408         buffer as a buffer. Fixes some warnings. Should do a more general
15409         solution.
15410         (gst_identity_class_init): Plug into the right marshaller.
15411
15412 2005-07-15  Wim Taymans  <wim@fluendo.com>
15413
15414         * docs/design/part-TODO.txt:
15415         * docs/design/part-clocks.txt:
15416         * docs/design/part-element-sink.txt:
15417         * docs/design/part-events.txt:
15418         * docs/design/part-gstpipeline.txt:
15419         Updated docs, mostly DISCONT related.
15420
15421 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
15422
15423         * docs/pwg/building-pads.xml:
15424           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
15425
15426 2005-07-15  Andy Wingo  <wingo@pobox.com>
15427
15428         * tools/gst-typefind.c: Update, add copyright block.
15429
15430         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
15431         Normalize and truncate caps before fixation.
15432
15433         * gst/gstcaps.h:
15434         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
15435         discards all but the first structure from its argument.
15436
15437 2005-07-15  Wim Taymans  <wim@fluendo.com>
15438
15439         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15440         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
15441         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15442         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15443         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
15444         (gst_base_transform_chain), (gst_base_transform_change_state),
15445         (gst_base_transform_set_passthrough),
15446         (gst_base_transform_is_passthrough):
15447         * gst/base/gstbasetransform.h:
15448         Make passthrough work using the bufferpools.
15449         Changed API a bit, subclasses have to write into a buffer
15450         provided by the base class.
15451         More debug info in nego functions.
15452         
15453         * gst/elements/gstidentity.c: (gst_identity_init),
15454         (gst_identity_transform):
15455         Port to new base class.
15456
15457 2005-07-15  Wim Taymans  <wim@fluendo.com>
15458
15459         * gst/gstmessage.c: (gst_message_new_state_changed):
15460         * tools/gst-launch.c: (event_loop), (main):
15461         Totally dump messages in -launch with the -m option.
15462         Fix message name for State messages,
15463
15464 2005-07-14  Wim Taymans  <wim@fluendo.com>
15465
15466         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15467         Post error messages on errors.
15468
15469 2005-07-14  Wim Taymans  <wim@fluendo.com>
15470
15471         * gst/gstcaps.c: (gst_caps_do_simplify):
15472         Remove debug info.
15473
15474         * gst/gsterror.h:
15475         Define error for stream stopped.
15476
15477         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15478         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
15479         Do proper return values.
15480
15481         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15482         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
15483         (gst_pad_get_range):
15484         Better return values.
15485
15486         * gst/gstpad.h:
15487         Reorganise return values, add macro to check for fatal errors.
15488
15489         * gst/gstqueue.c: (gst_queue_chain):
15490         Return proper GstFlowReturn values,
15491
15492 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15493
15494         * docs/gst/gstreamer-sections.txt:
15495         * docs/gst/gstreamer.types:
15496         * docs/gst/tmpl/gst.sgml:
15497         * docs/gst/tmpl/gstbasesink.sgml:
15498         * docs/gst/tmpl/gstbasesrc.sgml:
15499         * docs/gst/tmpl/gstbasetransform.sgml:
15500         * docs/gst/tmpl/gstbin.sgml:
15501         * docs/gst/tmpl/gstbuffer.sgml:
15502         * docs/gst/tmpl/gstcaps.sgml:
15503         * docs/gst/tmpl/gstclock.sgml:
15504         * docs/gst/tmpl/gstcompat.sgml:
15505         * docs/gst/tmpl/gstconfig.sgml:
15506         * docs/gst/tmpl/gstelement.sgml:
15507         * docs/gst/tmpl/gstelementdetails.sgml:
15508         * docs/gst/tmpl/gstelementfactory.sgml:
15509         * docs/gst/tmpl/gstenumtypes.sgml:
15510         * docs/gst/tmpl/gsterror.sgml:
15511         * docs/gst/tmpl/gstevent.sgml:
15512         * docs/gst/tmpl/gstfakesink.sgml:
15513         * docs/gst/tmpl/gstfakesrc.sgml:
15514         * docs/gst/tmpl/gstfilesink.sgml:
15515         * docs/gst/tmpl/gstfilesrc.sgml:
15516         * docs/gst/tmpl/gstfilter.sgml:
15517         * docs/gst/tmpl/gstformat.sgml:
15518         * docs/gst/tmpl/gstghostpad.sgml:
15519         * docs/gst/tmpl/gstimplementsinterface.sgml:
15520         * docs/gst/tmpl/gstindex.sgml:
15521         * docs/gst/tmpl/gstindexfactory.sgml:
15522         * docs/gst/tmpl/gstinfo.sgml:
15523         * docs/gst/tmpl/gstiterator.sgml:
15524         * docs/gst/tmpl/gstmacros.sgml:
15525         * docs/gst/tmpl/gstmemchunk.sgml:
15526         * docs/gst/tmpl/gstminiobject.sgml:
15527         * docs/gst/tmpl/gstobject.sgml:
15528         * docs/gst/tmpl/gstpad.sgml:
15529         * docs/gst/tmpl/gstpadtemplate.sgml:
15530         * docs/gst/tmpl/gstparse.sgml:
15531         * docs/gst/tmpl/gstpipeline.sgml:
15532         * docs/gst/tmpl/gstplugin.sgml:
15533         * docs/gst/tmpl/gstpluginfeature.sgml:
15534         * docs/gst/tmpl/gstquery.sgml:
15535         * docs/gst/tmpl/gstqueue.sgml:
15536         * docs/gst/tmpl/gstregistry.sgml:
15537         * docs/gst/tmpl/gstregistrypool.sgml:
15538         * docs/gst/tmpl/gstscheduler.sgml:
15539         * docs/gst/tmpl/gstschedulerfactory.sgml:
15540         * docs/gst/tmpl/gststructure.sgml:
15541         * docs/gst/tmpl/gstsystemclock.sgml:
15542         * docs/gst/tmpl/gsttaglist.sgml:
15543         * docs/gst/tmpl/gsttagsetter.sgml:
15544         * docs/gst/tmpl/gsttrace.sgml:
15545         * docs/gst/tmpl/gsttrashstack.sgml:
15546         * docs/gst/tmpl/gsttypefind.sgml:
15547         * docs/gst/tmpl/gsttypefindfactory.sgml:
15548         * docs/gst/tmpl/gsttypes.sgml:
15549         * docs/gst/tmpl/gsturihandler.sgml:
15550         * docs/gst/tmpl/gsturitype.sgml:
15551         * docs/gst/tmpl/gstutils.sgml:
15552         * docs/gst/tmpl/gstvalue.sgml:
15553         * docs/gst/tmpl/gstversion.sgml:
15554         * docs/gst/tmpl/gstxml.sgml:
15555         * docs/libs/tmpl/gstcontrol.sgml:
15556         * docs/libs/tmpl/gstdataprotocol.sgml:
15557         * docs/libs/tmpl/gstdparam.sgml:
15558         * docs/libs/tmpl/gstdplinint.sgml:
15559         * docs/libs/tmpl/gstdpman.sgml:
15560         * docs/libs/tmpl/gstdpsmooth.sgml:
15561         * docs/libs/tmpl/gstgetbits.sgml:
15562         * docs/libs/tmpl/gstunitconvert.sgml:
15563         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
15564         (gst_push_src_base_init), (gst_push_src_class_init),
15565         (gst_push_src_init), (gst_push_src_create):
15566         * gst/base/gstpushsrc.h:
15567         * gst/elements/gstelements.c:
15568         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
15569         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
15570         (gst_fake_sink_init), (gst_fake_sink_set_property),
15571         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
15572         (gst_fake_sink_event), (gst_fake_sink_preroll),
15573         (gst_fake_sink_render), (gst_fake_sink_change_state):
15574         * gst/elements/gstfakesink.h:
15575         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15576         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
15577         (gst_fake_src_base_init), (gst_fake_src_class_init),
15578         (gst_fake_src_init), (gst_fake_src_event_handler),
15579         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
15580         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
15581         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
15582         (gst_fake_src_create_buffer), (gst_fake_src_create),
15583         (gst_fake_src_start), (gst_fake_src_stop):
15584         * gst/elements/gstfakesrc.h:
15585         * gst/elements/gstfilesink.c: (_do_init),
15586         (gst_file_sink_base_init), (gst_file_sink_class_init),
15587         (gst_file_sink_init), (gst_file_sink_dispose),
15588         (gst_file_sink_set_location), (gst_file_sink_set_property),
15589         (gst_file_sink_get_property), (gst_file_sink_open_file),
15590         (gst_file_sink_close_file), (gst_file_sink_query),
15591         (gst_file_sink_event), (gst_file_sink_render),
15592         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
15593         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
15594         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
15595         * gst/elements/gstfilesink.h:
15596         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
15597         (gst_file_src_class_init), (gst_file_src_init),
15598         (gst_file_src_finalize), (gst_file_src_set_location),
15599         (gst_file_src_set_property), (gst_file_src_get_property),
15600         (gst_file_src_map_region), (gst_file_src_map_small_region),
15601         (gst_file_src_create_mmap), (gst_file_src_create_read),
15602         (gst_file_src_create), (gst_file_src_is_seekable),
15603         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
15604         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
15605         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
15606         (gst_file_src_uri_handler_init):
15607         * gst/elements/gstfilesrc.h:
15608           more autistic cleanliness in functions/names/defines
15609
15610 2005-07-13  Andy Wingo  <wingo@pobox.com>
15611
15612         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
15613         source couldn't negotiate.
15614
15615         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
15616         connections again.
15617
15618         * gst/gstutils.h:
15619         * gst/gstutils.c (gst_element_link_pads_filtered): New old
15620         function. I am channeling Hades. Put your boots on suckers!!!
15621
15622 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15623
15624         * testsuite/caps/Makefile.am:
15625         * testsuite/caps/value_compare.c:
15626         * testsuite/caps/value_intersect.c:
15627         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15628           move two testsuite apps over to the check dir
15629
15630 2005-07-12  Wim Taymans  <wim@fluendo.com>
15631
15632         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15633         Added more debug info in the negotiate process.
15634
15635         * gst/gstmessage.h:
15636         Prepare for segment playback.
15637
15638         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
15639         Better debugging.
15640
15641         * gst/gstutils.c:
15642         Some more docs.
15643
15644         * tools/gst-launch.c: (main):
15645         NULL pipeline on errors.
15646
15647 2005-07-12  Andy Wingo  <wingo@pobox.com>
15648
15649         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
15650         not it comes from a malloc region. Make sure our copy gets freed.
15651
15652 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15653
15654         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15655         * check/gst/gstmessage.c: (GST_START_TEST):
15656         * check/gst/gststructure.c: (GST_START_TEST),
15657         (gst_structure_suite), (main):
15658           more testing
15659         * gst/gstelement.c: (gst_element_message_full):
15660           clean up GError and debug string now that they get copied
15661         * gst/gstmessage.c: (gst_message_new_error),
15662         (gst_message_new_warning), (gst_message_parse_error),
15663         (gst_message_parse_warning):
15664           use GST_TYPE_G_ERROR for structure_new, and take copies of
15665           arguments, so that we don't mess up refcounting
15666
15667 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15668
15669         * check/Makefile.am:
15670           add per-test valgrind targets
15671         * check/gst-libs/gdp.c: (GST_START_TEST),
15672         (gst_data_protocol_suite), (main):
15673           clean up
15674
15675 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15676
15677         * check/Makefile.am:
15678           instate more valgrindable tests
15679         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15680         (GST_START_TEST), (fakesrc_suite):
15681         * check/gst/gstpad.c: (GST_START_TEST):
15682         * check/gst/gststructure.c: (GST_START_TEST):
15683           fix test leaks
15684         * docs/gst/tmpl/gstminiobject.sgml:
15685         * gst/gstpad.c: (gst_pad_finalize):
15686           fix the static mutex leak
15687
15688 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15689
15690         * check/Makefile.am:
15691           add two more tests for valgrinding
15692         * check/gst/gstvalue.c: (GST_START_TEST):
15693           test refcount of deserialized buffer, found a leak
15694         * docs/gst/gstreamer-docs.sgml:
15695         * docs/gst/gstreamer-sections.txt:
15696         * docs/gst/gstreamer.types:
15697         * docs/gst/tmpl/gstminiobject.sgml:
15698           add miniobject to docs
15699         * gst/gstminiobject.c:
15700           add some docs
15701         * gst/gstvalue.c: (gst_value_deserialize_buffer),
15702         (gst_string_unwrap):
15703           fix a hard-to-find invalid write for one of the tests
15704           fix a leak for deserialized buffers
15705
15706 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15707
15708         * docs/pwg/advanced-events.xml:
15709         * docs/pwg/advanced-request.xml:
15710         * docs/pwg/advanced-scheduling.xml:
15711         * docs/pwg/appendix-porting.xml:
15712         * docs/pwg/building-boiler.xml:
15713         * docs/pwg/intro-preface.xml:
15714         * docs/pwg/other-ntoone.xml:
15715           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
15716           of example code and explanation for pad activation, loop() and
15717           getrange() functions and a bit more. Remove old comments pointing
15718           to loop-functions.
15719         * examples/pwg/Makefile.am:
15720           Add loop/getrange examples.
15721
15722 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15723
15724         * configure.ac:
15725           check for valgrind binary + some fixes
15726         * check/gst.supp:
15727           valgrind suppressions for the tests
15728         * check/Makefile.am:
15729           add a valgrind: target that valgrinds the unit tests
15730         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
15731         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15732         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15733         * check/gst/gstghostpad.c:
15734           added some cleanup
15735         * check/gst/gstdata.c:
15736           removed
15737         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
15738         (thread_unref), (gst_mini_object_suite), (main):
15739           added
15740         * gst/gst.c: (gst_deinit):
15741         * gst/gst.h:
15742           add a method to clean up.
15743         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15744         (gst_system_clock_obtain):
15745           allow for disposing the system clock.
15746         * tools/gst-launch.c: (main):
15747           deinit
15748
15749 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15750
15751         * docs/gst/tmpl/gstbasesrc.sgml:
15752         * docs/gst/tmpl/gstfakesrc.sgml:
15753         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15754         (gst_base_src_init), (gst_base_src_set_property),
15755         (gst_base_src_get_property), (gst_base_src_get_range),
15756         (gst_base_src_start):
15757         * gst/base/gstbasesrc.h:
15758           add num-buffers property
15759         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15760         (gst_fakesrc_init), (gst_fakesrc_set_property),
15761         (gst_fakesrc_get_property), (gst_fakesrc_create),
15762         (gst_fakesrc_start):
15763           remove num-buffers property
15764
15765 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15766
15767         * docs/gst/gstreamer-sections.txt:
15768         * docs/gst/tmpl/gstbasesink.sgml:
15769         * docs/gst/tmpl/gstbasesrc.sgml:
15770         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15771         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15772         (gst_base_sink_finalize), (gst_base_sink_set_clock),
15773         (gst_base_sink_set_property), (gst_base_sink_get_property),
15774         (gst_base_sink_handle_object), (gst_base_sink_event),
15775         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15776         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
15777         (gst_base_sink_loop), (gst_base_sink_deactivate),
15778         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
15779         (gst_base_sink_change_state):
15780         * gst/base/gstbasesink.h:
15781         * gst/base/gstbasesrc.h:
15782         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
15783         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15784         (gst_filesink_init):
15785           more macro splitting
15786
15787 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15788
15789         * gst/gstelement.c: (gst_element_get_bus):
15790           add debug
15791         * tools/gst-launch.c: (check_intr), (event_loop):
15792           fix bus leaks
15793
15794 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15795
15796         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15797           fix a caps leak
15798
15799 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15800
15801         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15802         (gst_base_src_finalize):
15803           add finalize method and clean up properly
15804         * gst/gstpipeline.c: (gst_pipeline_dispose):
15805           add debug
15806
15807 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15808
15809         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
15810         (gst_bin_suite):
15811           add more things to check
15812         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15813         * gst/gstelement.c:
15814           more debug
15815
15816 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15817
15818         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15819         (GST_START_TEST), (fakesrc_suite):
15820         * check/gst-libs/gdp.c: (GST_START_TEST):
15821         * check/gst/gst.c: (GST_START_TEST):
15822         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15823         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15824         * check/gst/gstbus.c: (GST_START_TEST):
15825         * check/gst/gstcaps.c: (GST_START_TEST):
15826         * check/gst/gstdata.c: (GST_START_TEST):
15827         * check/gst/gstelement.c: (GST_START_TEST):
15828         * check/gst/gstghostpad.c: (GST_START_TEST):
15829         * check/gst/gstiterator.c: (GST_START_TEST):
15830         * check/gst/gstmessage.c: (GST_START_TEST):
15831         * check/gst/gstobject.c: (GST_START_TEST):
15832         * check/gst/gstpad.c: (GST_START_TEST):
15833         * check/gst/gststructure.c: (GST_START_TEST):
15834         * check/gst/gstsystemclock.c: (GST_START_TEST),
15835         (gst_systemclock_suite):
15836         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15837         * check/gst/gstvalue.c: (GST_START_TEST):
15838         * check/pipelines/cleanup.c: (GST_START_TEST):
15839         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15840         * check/states/sinks.c: (GST_START_TEST):
15841         * check/gstcheck.c: (gst_check_init):
15842         * check/gstcheck.h:
15843           add debugging category
15844           use GST_START_TEST now, so we add a debug line
15845
15846 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15847
15848         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
15849           add test for state change message on a bin
15850         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
15851           add another test
15852         * gst/gstbin.c: (gst_bin_init):
15853         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
15854         * gst/gstelement.c: (gst_element_post_message),
15855         (gst_element_set_state):
15856         * gst/gstelementfactory.c: (gst_element_factory_create):
15857         * gst/gstmessage.c: (gst_message_new):
15858         * gst/gstscheduler.c:
15859           various debugging additions and cleanups
15860
15861 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15862
15863         * check/Makefile.am:
15864         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
15865         (main):
15866           adding tests for elements
15867         * gst/gstelement.c: (gst_element_dispose):
15868
15869 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15870
15871         * gst/registries/gstlibxmlregistry.c: (load_feature):
15872           plug more leaks.  A simple gst_init() now is leakfree, yay.
15873
15874 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15875
15876         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
15877         (gst_xml_registry_load):
15878           plug another memleak
15879
15880 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15881
15882         * configure.ac:
15883           use GST_SET_ERROR_CFLAGS
15884         * docs/faq/cvs.xml:
15885           change to ERROR_CFLAGS
15886
15887 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15888
15889         * configure.ac:
15890           make GST_ERROR_CFLAGS overridable and re-enable Werror
15891         * docs/faq/cvs.xml:
15892           add a note about error CFLAGS
15893         * docs/gst/tmpl/gstfakesrc.sgml:
15894         * gst/elements/gstfakesrc.c:
15895           comment out some unused code
15896         * gst/gst.c: (split_and_iterate):
15897         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
15898         (load_feature):
15899           plug some memleaks
15900
15901 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15902
15903         * common/Makefile.am:
15904         * common/gtk-doc.mak:
15905         * docs/gst/Makefile.am:
15906           factor out gtk-doc.mak
15907
15908 2005-07-07  Wim Taymans  <wim@fluendo.com>
15909
15910         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
15911         (gst_thread_scheduler_dispose):
15912         Unlock the STREAM_LOCK completely.
15913
15914 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15915
15916         * check/Makefile.am:
15917         * check/elements/.cvsignore:
15918         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15919         (START_TEST), (fakesrc_suite), (main):
15920         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15921         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15922         (gst_fakesrc_create), (gst_fakesrc_start):
15923         * gst/elements/gstfakesrc.h:
15924           adding a first element test
15925
15926 2005-07-07  Andy Wingo  <wingo@pobox.com>
15927
15928         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
15929         debug message.
15930
15931 2005-07-07  Wim Taymans  <wim@fluendo.com>
15932
15933         * gst/gstquery.c:
15934         * gst/gstquery.h:
15935         Remove old types
15936
15937 2005-07-07  Wim Taymans  <wim@fluendo.com>
15938
15939         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15940         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
15941         Allow subclasses to implement their own negotiation.
15942
15943 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15944
15945         * docs/design/part-gstbin.txt:
15946         * docs/design/part-gstpipeline.txt:
15947           Update design notes to reflect the movement of
15948           responsibility for bus handling from GstPipeline to
15949           GstBin
15950
15951 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15952
15953         * configure.ac:
15954           Remove unnecessary queue2/3/4 examples.
15955
15956 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
15957
15958         * examples/Makefile.am:
15959         * examples/helloworld/helloworld.c: (event_loop), (main):
15960         * examples/queue/queue.c: (event_loop), (main):
15961         * examples/queue2/queue2.c: (main):
15962           Update a couple of the examples to work again.
15963
15964         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15965         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15966          Spelling corrections and extra debug.
15967         
15968         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15969         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15970         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15971         * gst/gstbin.h:
15972         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15973         (gst_pipeline_change_state):
15974         * gst/gstpipeline.h:
15975           Move the bus handler for children to the GstBin, and create a
15976           separate bus for receiving messages from children to the one the
15977           bus sends 'upwards' on.
15978
15979 2005-07-06  Wim Taymans  <wim@fluendo.com>
15980
15981         * gst/base/README:
15982         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15983         (gst_base_sink_handle_object), (gst_base_sink_loop),
15984         (gst_base_sink_change_state):
15985         * gst/base/gstbasesink.h:
15986         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15987         (gst_base_src_init), (gst_base_src_setcaps),
15988         (gst_base_src_getcaps), (gst_base_src_loop),
15989         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15990         (gst_base_src_start), (gst_base_src_change_state):
15991         * gst/base/gstbasesrc.h:
15992         Make basesrc negotiate.
15993         Handle the case where preroll fails in basesink.
15994         Update README.
15995
15996 2005-07-06  Wim Taymans  <wim@fluendo.com>
15997
15998         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15999         Implement the fixate function.
16000         Clean up acceptcaps.
16001
16002 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16003
16004         * docs/pwg/building-filterfactory.xml:
16005         * docs/pwg/pwg.xml:
16006           Remove never-written filter-factory chapter; I'll add the various
16007           base classes to part 4 ("other element types") later on.
16008
16009 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16010
16011         * docs/pwg/advanced-negotiation.xml:
16012         * docs/pwg/building-boiler.xml:
16013         * docs/pwg/building-pads.xml:
16014         * docs/pwg/pwg.xml:
16015         * examples/pwg/Makefile.am:
16016           Add a chapter on caps negotiation, simplify the original code
16017           samples a bit w.r.t. caps negotiation, add link to the advanced
16018           section. Add a bunch of examples showing different use cases of
16019           different types of caps negotiation. Upstream renegotiation isn't
16020           fully documented yet since nobody knows how that works.
16021
16022 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16023
16024         * check/gst/gstpad.c:
16025         * check/gstcheck.c:
16026         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16027           if pad has no parent, return NULL as list of internal links
16028
16029 2005-07-05  Andy Wingo  <wingo@pobox.com>
16030
16031         * gst/elements/gstfilesrc.c:
16032         * gst/elements/gstfakesrc.c: 
16033         * gst/base/gstpushsrc.c:
16034         * gst/base/gstbasesrc.h: 
16035         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16036         
16037 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16038
16039         * Makefile.am:
16040           better report generation target (lcov needs a patch)
16041
16042 2005-07-05  Andy Wingo  <wingo@pobox.com>
16043
16044         * gst/elements, testsuite: Null if we got it...
16045
16046 2005-07-05  Wim Taymans  <wim@fluendo.com>
16047
16048         * configure.ac:
16049         * libs/gst/dataprotocol/Makefile.am:
16050         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16051         * libs/gst/dataprotocol/dataprotocol.h:
16052         * pkgconfig/Makefile.am:
16053         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16054         * pkgconfig/gstreamer-dataprotocol.pc.in:
16055         Ported dataprotol to 0.9. 
16056         Added pkgconfig files.
16057
16058 2005-07-05  Andy Wingo  <wingo@pobox.com>
16059
16060         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16061         Default to returning TRUE for the case when tranform_caps returns
16062         a fixed caps, like for identity or volume.
16063
16064         * check/gst/gstbus.c (pound_bus_with_messages): 
16065         * check/gst/gstmessage.c (START_TEST): 
16066         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16067         message API change.
16068
16069         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16070         logic weaks here: always run transform_caps, trying passthrough
16071         operation only if the original caps intersects with the transform.
16072
16073         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16074         source and sink caps.
16075
16076         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16077         Intersect the peer caps with the pad template before going into
16078         transform_caps.
16079         (gst_base_transform_transform_caps): More debugging.
16080
16081         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16082         src argument.
16083
16084 2005-07-04  Edward Hervey  <edward@fluendo.com>
16085
16086         * gst/gstutils.c:
16087         * gst/gstutils.h:
16088         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16089         in bindings.
16090
16091 2005-07-04  Andy Wingo  <wingo@pobox.com>
16092
16093         * check/gst/gstpad.c: Only set explicit caps on pads.
16094
16095 2005-07-01  Andy Wingo  <wingo@pobox.com>
16096
16097         * tests/network-clock.scm: Commentary update.
16098
16099         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16100         Didn't really make sense, not implementable with basetransform,
16101         etc.
16102         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16103         attempt at implementing the sync property, needs an unlock method.
16104
16105         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16106         New func, by default returns the same caps (the identity
16107         transformation).
16108         (gst_base_transform_getcaps): Uses transform_caps to return
16109         something sensible.
16110         (gst_base_transform_setcaps): Complicated logic to get caps on
16111         both pads, even if they are different, and to call set_caps once
16112         for every time both pads get their caps set.
16113         (gst_base_transform_handle_buffer): Give the ref to the transform
16114         function. Allows in-place modification of the buffer.
16115
16116         * gst/base/gstbasetransform.h (transform_caps): New class method.
16117         Given caps on one side, what can I do on the other.
16118         (set_caps): Take two caps, one for each side of the element.
16119
16120         * gst/gstpad.h:
16121         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16122         caps in place. This is safe because we can check the mutability of
16123         the caps, and a good idea because fixate functions are just called
16124         as a matter of last resort. (Not actually implemented.)
16125         (gst_pad_set_caps): If the caps we're setting is actually the same
16126         as the existing pad caps, just update the pointer without calling
16127         setcaps. Assert that caps is either NULL or fixed, as per the
16128         docs.
16129
16130         * gst/gstghostpad.c: Update for fixate changes.
16131
16132 2005-07-02  Andy Wingo  <wingo@pobox.com>
16133
16134         * gst/gstcaps.c:
16135         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
16136         two refcounts makes it immutable, which is enough. Doc more.
16137
16138 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
16139
16140         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
16141           Put the mini_object into GValue as a mini_object,
16142           not a gpointer, since that's how we declared
16143           the signal.
16144
16145 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16146
16147         * examples/pwg/Makefile.am:
16148           Fix buildbot again.
16149
16150 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16151
16152         * docs/pwg/building-testapp.xml:
16153           Add extra check.
16154         * examples/pwg/Makefile.am:
16155           Fix buildbot.
16156
16157 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16158
16159         * configure.ac:
16160         * examples/Makefile.am:
16161         * examples/pwg/Makefile.am:
16162         * examples/pwg/extract.pl:
16163           Enable building the PWG examples.
16164         * docs/pwg/advanced-interfaces.xml:
16165           Add URI interface stub.
16166         * docs/pwg/advanced-types.xml:
16167         * docs/pwg/other-autoplugger.xml:
16168         * docs/pwg/appendix-porting.xml:
16169         * docs/pwg/pwg.xml:
16170           Add porting guide (mostly stubs), remove autoplugging (see ADM).
16171         * docs/pwg/building-boiler.xml:
16172         * docs/pwg/building-chainfn.xml:
16173         * docs/pwg/building-pads.xml:
16174         * docs/pwg/building-props.xml:
16175         * docs/pwg/building-state.xml:
16176         * docs/pwg/building-testapp.xml:
16177           Update the building-*.xml parts for 0.9 changes. All examples
16178           code blocks compile in examples/pwg/*.
16179
16180 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16181
16182         * docs/manual/advanced-autoplugging.xml:
16183         * docs/manual/appendix-checklist.xml:
16184         * docs/manual/appendix-integration.xml:
16185         * docs/manual/highlevel-components.xml:
16186           Fix playbin/decodebin examples, update docs a bit, mention bus
16187           instead of signals in various places, mention kmplayer and
16188           kaffeine since they have a working GStreamer backend in the KDE
16189           section.
16190
16191 2005-06-30  Wim Taymans  <wim@fluendo.com>
16192
16193         * CHANGES-0.9:
16194         * docs/design/draft-ghostpads.txt:
16195         * docs/design/draft-push-pull.txt:
16196         * docs/design/draft-query.txt:
16197         * docs/design/part-TODO.txt:
16198         * docs/design/part-query.txt:
16199         Added CHANGES-0.9 doc, updated status of other docs.
16200         
16201         * gst/gstquery.h:
16202         Remove "hmm" macro
16203
16204 2005-06-30  Wim Taymans  <wim@fluendo.com>
16205
16206         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16207         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16208         (gst_base_sink_change_state):
16209         * gst/base/gstbasesink.h:
16210         Some tweaks, only EOS and a buffer complete a preroll.
16211
16212 2005-06-30  Andy Wingo  <wingo@pobox.com>
16213
16214         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
16215         activate_push down to the internal pad as well.
16216
16217 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
16218
16219         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16220
16221         * gst/gsttaginterface.c:
16222           Some documentation fixes (#307394 and #307397).
16223
16224 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
16225
16226         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16227
16228         * gst/gstvalue.c: (gst_value_intersect_list):
16229           Fix memleak (#309125).
16230
16231 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16232
16233         * docs/manual/advanced-dataaccess.xml:
16234           Fix fakesrc example to compile; doesn't work, bug somewhere...?
16235         * docs/manual/basics-pads.xml:
16236           Add reference for filtered caps to above chapter.
16237
16238 2005-06-30  Wim Taymans  <wim@fluendo.com>
16239
16240         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
16241         (gst_bin_change_state):
16242         Probes are gone.
16243         Lame attempt at making the state change function a bit
16244         more readable.
16245
16246 2005-06-30  Wim Taymans  <wim@fluendo.com>
16247
16248         * docs/design/part-clocks.txt:
16249         * docs/design/part-element-sink.txt:
16250         * docs/design/part-events.txt:
16251         * docs/design/part-preroll.txt:
16252         * docs/design/part-states.txt:
16253         Some more tweeks and additions to the docs.
16254
16255 2005-06-30  Wim Taymans  <wim@fluendo.com>
16256
16257         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16258         (default_have_data), (gst_pad_class_init), (gst_pad_init),
16259         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16260         (gst_pad_check_pull_range), (gst_pad_get_range),
16261         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
16262         * gst/gstpad.h:
16263         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
16264         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16265         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16266         (gst_pad_remove_buffer_probe):
16267         Removed atomic operations, use existing LOCK.
16268         Move exception handling out of main code path.
16269
16270 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16271
16272         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16273         (silly_return_true_function), (gst_pad_class_init),
16274         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16275         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
16276         (gst_pad_send_event):
16277           Fix accumulator, add default value by using _emitv() instead
16278           of _emit() for signal emission.
16279
16280 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16281
16282         * docs/manual/advanced-dataaccess.xml:
16283         * examples/manual/Makefile.am:
16284           Add probe example.
16285         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
16286           Make work (??).
16287
16288 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
16289
16290         * gst/elements/gstfilesink.c: (gst_filesink_render):
16291           Simplify code so that we don't have to handle short
16292           writes and return GST_FLOW_ERROR if an error occured.
16293
16294 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16295
16296         * docs/gst/gstreamer-docs.sgml:
16297           Remove probes more.
16298
16299 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16300
16301         * docs/gst/gstreamer-sections.txt:
16302         * docs/gst/tmpl/gstpad.sgml:
16303         * docs/gst/tmpl/gstprobe.sgml:
16304         * gst/Makefile.am:
16305         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16306         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
16307         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16308         (gst_pad_push_event), (gst_pad_send_event):
16309         * gst/gstpad.h:
16310         * gst/gstutils.c: (gst_pad_add_data_probe),
16311         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16312         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16313         (gst_pad_remove_buffer_probe):
16314         * gst/gstutils.h:
16315           Remove old probes, add new g-signal-based probes and some utility
16316           functions.
16317
16318 2005-06-29  Edward Hervey  <edward@fluendo.com>
16319
16320         * gst/gstelementfactory.c:
16321         * gst/gstutils.h:
16322         * gst/gstutils.c:
16323         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
16324         the definition to the header file.
16325
16326 2005-06-29  Andy Wingo  <wingo@pobox.com>
16327
16328         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
16329         plugins from the source directory.
16330
16331 2005-06-29  Wim Taymans  <wim@fluendo.com>
16332
16333         * docs/gst/tmpl/gstbuffer.sgml:
16334         * docs/gst/tmpl/gstclock.sgml:
16335         Some fixings for blantently wrong text.
16336
16337 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16338
16339         * check/Makefile.am:
16340         * gst/gst.c: (add_path_func), (init_pre):
16341         * gst/gstregistry.c: (gst_registry_add_path):
16342           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
16343           only scan the GST_PLUGIN_PATH locations, and not add
16344           system locations
16345
16346 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16347
16348         * docs/gst/gstreamer-sections.txt:
16349         * docs/gst/tmpl/gstbasesrc.sgml:
16350         * gst/gstelement.c:
16351         * gst/gstelement.h:
16352         * gst/gstevent.c:
16353         * gst/gstutils.c:
16354           doc fixes
16355
16356 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16357
16358         * docs/manual/advanced-autoplugging.xml:
16359           Fix autoplugging example.
16360
16361 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16362
16363         * docs/manual/advanced-autoplugging.xml:
16364         * docs/manual/mime-world.fig:
16365           Try to get autoplugging working, fix type detection. Fix text
16366           in hello-world image.
16367
16368 2005-06-29  Wim Taymans  <wim@fluendo.com>
16369
16370         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16371         (gst_base_sink_change_state):
16372         Small debug line.
16373
16374         * gst/gstclock.h:
16375         map SIGNAL and BROADCAST to the right function.
16376
16377         * gst/gstobject.h:
16378         Remove redundant braces.
16379
16380         * gst/gstpad.c: (gst_pad_set_caps):
16381         Don't call setcaps function when reseting caps to NULL.
16382
16383         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16384         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
16385         (gst_system_clock_id_unschedule):
16386         Use BROADCAST as this is what we do.
16387
16388 2005-06-29  Wim Taymans  <wim@fluendo.com>
16389
16390         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16391         We are actually prerolling before commiting the state
16392         change. 
16393
16394 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16395
16396         * docs/manual/advanced-clocks.xml:
16397         * docs/manual/advanced-interfaces.xml:
16398         * docs/manual/advanced-metadata.xml:
16399         * docs/manual/advanced-position.xml:
16400         * docs/manual/advanced-schedulers.xml:
16401         * docs/manual/advanced-threads.xml:
16402         * docs/manual/appendix-porting.xml:
16403         * docs/manual/basics-bins.xml:
16404         * docs/manual/basics-bus.xml:
16405         * docs/manual/basics-elements.xml:
16406         * docs/manual/basics-helloworld.xml:
16407         * docs/manual/basics-pads.xml:
16408         * docs/manual/highlevel-components.xml:
16409         * docs/manual/manual.xml:
16410         * docs/manual/thread.fig:
16411           Update (until threads/scheduling) Application Development Manual;
16412           remove GstThread, add GstBus, add simple porting checklist, add
16413           documentation for tag writing, clocks, make all examples until this
16414           part compile and run.
16415         * examples/manual/Makefile.am:
16416           Update from changes to Application Development Manual; add bus
16417           example, remove thread example.
16418
16419 2005-06-28  Wim Taymans  <wim@fluendo.com>
16420
16421         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
16422         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
16423         (gst_bus_source_dispatch):
16424         Add debugging messages.
16425         Make internal methods static.
16426         Handle the case where the bus is flushed in the handler.
16427         
16428         * gst/gstelement.c: (gst_element_get_bus):
16429         Fix refcount in _get_bus();
16430
16431         * gst/gstpipeline.c: (gst_pipeline_change_state),
16432         (gst_pipeline_get_clock_func):
16433         Clock refcounting fixes.
16434         Handle the case where preroll timed out more gracefully.
16435         
16436         * gst/gstsystemclock.c: (gst_system_clock_dispose):
16437         Clean up the internal thread in dispose. This is needed
16438         for subclasses that actually get disposed.
16439         
16440         * gst/schedulers/threadscheduler.c:
16441         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16442         (gst_thread_scheduler_dispose):
16443         Free thread pool in dispose.
16444
16445 2005-06-28  Andy Wingo  <wingo@pobox.com>
16446
16447         * tests/network-clock-utils.scm (debug, print-event): New utils.
16448
16449         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
16450         (*packet-loss*): Unified loss probability.
16451         (network-time): Report out-of-band events.
16452
16453         * tests/plot-data: Add support for out-of-band events. Hack it
16454         into this script instead of passing it down the pipe; should fix
16455         this later.
16456
16457 2005-06-28  Wim Taymans  <wim@fluendo.com>
16458
16459         * docs/gst/gstreamer.types:
16460         * docs/gst/tmpl/gstbasesrc.sgml:
16461         * docs/gst/tmpl/gstpad.sgml:
16462         Docs fixes.
16463
16464 2005-06-28  Wim Taymans  <wim@fluendo.com>
16465
16466         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16467         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
16468         (gst_proxy_pad_do_fixatecaps):
16469         Correctly proxy the check_pull_range function.
16470
16471 2005-06-28  Andy Wingo  <wingo@pobox.com>
16472
16473         * tests/network-clock.scm: Removed need for slib.
16474         
16475 2005-06-28  Wim Taymans  <wim@fluendo.com>
16476
16477         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
16478         (gst_basesink_preroll_queue_flush):
16479         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
16480         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
16481         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16482         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
16483         (gst_proxy_pad_set_property):
16484         * gst/gstpad.c:
16485         * gst/gstpad.h:
16486         * gst/gstqueue.c: (gst_queue_init):
16487         The deprecated pad loop function is removed now.
16488
16489 2005-06-28  Andy Wingo  <wingo@pobox.com>
16490
16491         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
16492         New parameters, simulate network packet loss.
16493
16494         * tests/network-clock-utils.scm: Initialize the RNG.
16495
16496 2005-06-28  Wim Taymans  <wim@fluendo.com>
16497
16498         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
16499         (gst_basesink_event), (gst_basesink_deactivate):
16500         Flushing the preroll queue always needs to unlock the waiters.
16501
16502 2005-06-28  Edward Hervey  <edward@fluendo.com>
16503
16504         * gst/gstpipeline.c: (gst_pipeline_send_event): 
16505         Wheen a seek was successful on a pipeline, set the stream_time to the
16506         seek offset in order to have a synchronized stream_time.
16507
16508 2005-06-28  Wim Taymans  <wim@fluendo.com>
16509
16510         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16511         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
16512         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
16513         (gst_proxy_pad_do_fixatecaps):
16514         Call wrapper function instead of just calling the function
16515         pointers. This takes care of any locking and whatmore.
16516
16517 2005-06-28  Wim Taymans  <wim@fluendo.com>
16518
16519         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
16520         (gst_pad_pull_range):
16521         * gst/gstpad.h:
16522         CONNECTED -> LINKED.
16523
16524 2005-06-28  Andy Wingo  <wingo@pobox.com>
16525
16526         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
16527         source-munging commit!!!
16528
16529         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
16530         (gst_object_sink): Take gpointer arguments, not GstObject --
16531         avoids casts. Like GLib.
16532
16533         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
16534         activate.
16535
16536 2005-06-27  Andy Wingo  <wingo@pobox.com>
16537
16538         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
16539         remaining buffer.
16540
16541         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
16542         returns a sorted copy of the trace list.
16543         (gst_alloc_trace_print_live): New API, only prints traces with
16544         live objects. Sort the list.
16545         (gst_alloc_trace_print_all): Sort the list.
16546         (gst_alloc_trace_print): Align columns.
16547
16548         * gst/elements/gstttypefindelement.c:
16549         * gst/elements/gsttee.c:
16550         * gst/base/gstbasesrc.c:
16551         * gst/base/gstbasesink.c:
16552         * gst/base/gstbasetransform.c:
16553         * gst/gstqueue.c: Adapt for pad activation changes.
16554
16555         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
16556         sched.
16557         (gst_pipeline_dispose): Drop ref on sched.
16558
16559         * gst/gstpad.c (gst_pad_init): Set the default activate func.
16560         (gst_pad_activate_default): Push mode by default.
16561         (pre_activate_switch, post_activate_switch): New stubs, things to
16562         do before and after switching activation modes on pads.
16563         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
16564         the pad's activate function to choose which mode to activate.
16565         Shortcut on deactivation and call the right function directly.
16566         (gst_pad_activate_pull): New API, (de)activates a pad in pull
16567         mode.
16568         (gst_pad_activate_push): New API, same for push mode.
16569         (gst_pad_set_activate_function) 
16570         (gst_pad_set_activatepull_function) 
16571         (gst_pad_set_activatepush_function): Setters for new API.
16572
16573         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
16574         Trace all miniobjects.
16575         (gst_mini_object_make_writable): Unref the arg if we copy, like
16576         gst_caps_make_writable.
16577
16578         * gst/gstmessage.c (_gst_message_initialize): No trace init.
16579
16580         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
16581         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
16582         Adapt for new pad API.
16583
16584         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
16585
16586         * gst/gstelement.h:
16587         * gst/gstelement.c (gst_element_iterate_src_pads) 
16588         (gst_element_iterate_sink_pads): New API functions.
16589         
16590         * gst/gstelement.c (iterator_fold_with_resync): New utility,
16591         should fold into gstiterator.c in some form.
16592         (gst_element_pads_activate): Simplified via use of fold and
16593         delegation of decisions to gstpad->activate.
16594
16595         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
16596         help in debugging.
16597
16598         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
16599         class once in init, like gstmessage. Didn't run into this issue
16600         but it seems correct. Don't initialize a trace, gstminiobject does
16601         that.
16602
16603         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
16604         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
16605         to the bus.
16606         (assert_live_count): New util function, uses alloc traces to check
16607         cleanup.
16608
16609         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
16610         To be modified when unlink drops the internal pad.
16611
16612 2005-06-27  Wim Taymans  <wim@fluendo.com>
16613
16614         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
16615         (gst_bin_change_state):
16616         Cleanup the get_state() function a little, make sure it
16617         iterates the same set of elements.
16618         Added stub iterate_state_order().
16619
16620 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16621
16622         * docs/gst/gstreamer-docs.sgml:
16623         * docs/gst/gstreamer-sections.txt:
16624         * docs/gst/gstreamer.types:
16625         * docs/gst/tmpl/gstbasesink.sgml:
16626         * docs/gst/tmpl/gstbasesrc.sgml:
16627         * docs/gst/tmpl/gstbasetransform.sgml:
16628         * docs/gst/tmpl/gstelement.sgml:
16629         * docs/gst/tmpl/gstiterator.sgml:
16630         * gst/base/gstbasesrc.c:
16631         * gst/base/gstbasesrc.h:
16632         * gst/base/gstbasetransform.h:
16633         * gst/gstelement.c:
16634         * gst/gstiterator.h:
16635           adding basetransform and iterator docs
16636
16637 2005-06-27  Andy Wingo  <wingo@pobox.com>
16638
16639         * docs/design/part-activation.txt: Notes on how activation should
16640         work -- not quite implemented yet.
16641
16642 2005-06-25  Wim Taymans  <wim@fluendo.com>
16643
16644         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
16645         At least get the chain function correct, needs more
16646         fixing.
16647
16648 2005-06-25  Wim Taymans  <wim@fluendo.com>
16649
16650         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16651         (gst_basesink_handle_object), (gst_basesink_event),
16652         (gst_basesink_do_sync), (gst_basesink_handle_event),
16653         (gst_basesink_change_state):
16654         * gst/gsttask.h:
16655         Right, two problems here: ghostpads don't take locks and
16656         glib _rec_mutex_lock_full() with depth==0 still locks.
16657         Catch illegal locking and g_warn them.
16658
16659 2005-06-25  Wim Taymans  <wim@fluendo.com>
16660
16661         * check/states/sinks.c: (START_TEST), (gst_object_suite):
16662         Have to check for completion now...
16663
16664 2005-06-25  Wim Taymans  <wim@fluendo.com>
16665
16666         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16667         (gst_basesink_handle_object), (gst_basesink_event),
16668         (gst_basesink_do_sync), (gst_basesink_handle_event),
16669         (gst_basesink_change_state):
16670         * gst/gstpad.h:
16671         Unlock STREAM_LOCK whatever the recursion was.
16672
16673 2005-06-25  Wim Taymans  <wim@fluendo.com>
16674
16675         * gst/base/gstbasesink.c: (gst_basesink_set_property),
16676         (gst_basesink_preroll_queue_empty),
16677         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
16678         (gst_basesink_event), (gst_basesink_do_sync),
16679         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
16680         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
16681         (gst_basesink_change_state):
16682         Reworked the base sink, handle event and buffer serialisation
16683         correctly and removed possible deadlock.
16684         Handle EOS correctly.
16685
16686 2005-06-25  Wim Taymans  <wim@fluendo.com>
16687
16688         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
16689         (gst_pipeline_change_state):
16690         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16691         Allow elements to post EOS in the state change function.
16692         Fix up -launch, make it exit the poll loop when the
16693         pipeline actually changed state.
16694         Fix up warning parsing in -launch.
16695
16696 2005-06-25  Wim Taymans  <wim@fluendo.com>
16697
16698         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
16699         (gst_tee_sink_activate):
16700         Core takes STREAM_LOCK for us now.
16701
16702 2005-06-25  Wim Taymans  <wim@fluendo.com>
16703
16704         * gst/gstelement.c: (gst_element_get_state_func),
16705         (gst_element_set_state):
16706         * gst/gstelement.h:
16707         * gst/gstmessage.c: (gst_message_parse_error),
16708         (gst_message_parse_warning):
16709         Keep track of current target state while performing a state
16710         change so that subclasses can do something interesting.
16711         Fix parsing of warning/error messages when GError is NULL.
16712
16713 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16714
16715         * docs/gst/Makefile.am:
16716         * docs/gst/gstreamer-docs.sgml:
16717         * docs/gst/gstreamer-sections.txt:
16718         * docs/gst/gstreamer.types:
16719         * docs/gst/tmpl/gstbasesink.sgml:
16720         * docs/gst/tmpl/gstbasesrc.sgml:
16721         * docs/gst/tmpl/gstbin.sgml:
16722         * docs/gst/tmpl/gstcompat.sgml:
16723         * docs/gst/tmpl/gstfakesink.sgml:
16724         * docs/gst/tmpl/gstfakesrc.sgml:
16725         * docs/gst/tmpl/gstfilesink.sgml:
16726         * docs/gst/tmpl/gstfilesrc.sgml:
16727         * docs/gst/tmpl/gstindex.sgml:
16728         * docs/manual/appendix-quotes.xml:
16729         * gst/base/gstbasesrc.h:
16730         * gst/elements/gstfakesrc.h:
16731         * gst/gstmessage.h:
16732           start pulling in base classes and elements in our docs
16733
16734 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
16735
16736         * docs/gst/Makefile.am:
16737         * docs/libs/Makefile.am:
16738           fixed make distcheck with gtk-doc 1.3
16739
16740 2005-06-23  Wim Taymans  <wim@fluendo.com>
16741
16742         * gst/gstelement.c: (gst_element_get_state_func),
16743         (gst_element_set_state), (gst_element_change_state):
16744         When the state did not change, also report NO_PREROLL
16745         when it matters.
16746
16747 2005-06-23  Wim Taymans  <wim@fluendo.com>
16748
16749         * gst/gstpad.c: (gst_pad_event_default):
16750         * gst/gstqueue.c: (gst_queue_loop):
16751         No unsafe task pausing please.
16752
16753 2005-06-23  Wim Taymans  <wim@fluendo.com>
16754
16755         * gst/schedulers/threadscheduler.c:
16756         (gst_thread_scheduler_task_start),
16757         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
16758         Ref the task before pushing it on the threadpool. This
16759         makes sure that we have a ref when the threadfunction is
16760         actually called.
16761
16762 2005-06-23  Andy Wingo  <wingo@pobox.com>
16763
16764         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
16765         offset is greater than the file's size.
16766
16767         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
16768         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
16769         * gst/gstobject.c (gst_object_class_init): Make the class lock
16770         recursive. Wim won't let me drop deep_notify. Decodebin works
16771         again, whoopdy doo.
16772
16773         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
16774         internal pad, and hacks accordingly. Doesn't do it on the target
16775         pad because we change its caps. Probably catches all cases of
16776         interest tho.
16777         (gst_ghost_pad_set_property): Connect to notify::caps as
16778         appropritate.
16779
16780         * tests/network-clock.scm (plot-simulation): Pipe data to the
16781         elite python skript.
16782
16783         * tests/network-clock-utils.scm (define-parameter): New macro,
16784         defines a parameter that can be set via the command line.
16785         (set-parameter!, parse-parameter-arguments): Command line args
16786         parser.
16787
16788         * tests/plot-data: Simple matplotlib-based plotter, takes input on
16789         stdin.
16790
16791 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
16792
16793         * gst/elements/gsttypefindelement.c:
16794         (gst_type_find_element_handle_event):
16795           Don't restart typefinding on a discont.
16796         * gst/gstelement.c: (gst_element_set_state):
16797           Debug spelling fix.
16798         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
16799           Allow changing mode of an active pad.
16800           Debug output fixes.
16801         * gst/registries/gstlibxmlregistry.c: (load_feature):
16802           Don't cast a static pad template to a normal pad template.
16803
16804 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16805
16806         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16807         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16808           remove gst_strtoll completely, since it didn't actually do
16809           anything more than what g_ascii_strtoull already does.
16810           check for range errors when deserializing
16811           do a cast for the unsigned cases; but further fixing needs
16812           a decision on what the interpretation of "(int)" and
16813           deserialization should be for values that fall outside the
16814           type's boundaries (ie, refuse, or interpret as casting)
16815
16816 2005-06-23  Wim Taymans  <wim@fluendo.com>
16817
16818         * check/Makefile.am:
16819         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
16820         * docs/design/part-live-source.txt:
16821         * docs/design/part-states.txt:
16822         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16823         (gst_basesrc_set_live), (gst_basesrc_is_live),
16824         (gst_basesrc_get_range), (gst_basesrc_activate),
16825         (gst_basesrc_change_state):
16826         * gst/base/gstbasesrc.h:
16827         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16828         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16829         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
16830         * gst/gstelement.c: (gst_element_get_state_func),
16831         (gst_element_set_state):
16832         * gst/gstelement.h:
16833         * gst/gsttypes.h:
16834         * tools/gst-launch.c: (event_loop), (main):
16835         Added support for live sources and other elements that
16836         cannot do preroll.
16837         Updated design docs, added live-source design doc.
16838         Implemented live source functionality in basesrc
16839         Fix error condition in _bin_get_state()
16840         Implement live source handling in -launch.
16841         Added check for live sources.
16842         Fixed case in GstBin where elements were changed state
16843         multiple times.
16844
16845
16846 2005-06-23  Andy Wingo  <wingo@pobox.com>
16847
16848         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
16849         borken refcounting.
16850
16851         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
16852         gst_caps_replace takes care of this for us.
16853
16854         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
16855         gst_pad_set_caps on the target, not just its setcaps() function.
16856
16857         * tests/network-clock.scm: 
16858         * tests/network-clock-utils.scm: A network clock simulator.
16859         Something of an algorithmic testbed before doing something in C.
16860
16861 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16862
16863         * check/Makefile.am:
16864         * check/gst/capslist.h:
16865           copy over from 0.8, and add two with bitmasks specified with
16866           (int) 0xFF...
16867         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16868           add test to parse everything from capslist.h
16869         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
16870         (main):
16871           add test for structure deserialization
16872         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16873           add tests for deserialization of strings to int types
16874         * gst/gststructure.c: (gst_structure_nth_field_name):
16875         * gst/gststructure.h:
16876           add a way to get the name of a field referenced by index
16877         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16878           instead of checking if the resulting long long lies between
16879           min and max, we check if the long long would fit into
16880           a number of bytes for the final type.
16881           This fixes cases where a string represents 2^32 - 1, which
16882           when cast to int would be the (valid) -1, but is bigger than
16883           G_MAXINT
16884
16885 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16886
16887         * gst/parse/grammar.y:
16888           add a log line for type deserialization
16889
16890 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16891
16892         * check/gst/gstvalue.c: (START_TEST):
16893         * gst/gstvalue.c: (gst_value_deserialize):
16894           return long long, not int, so gint64 deserialization actually
16895           works.  Is there any flag that makes the compiler check this ?
16896           Fixes #308559
16897
16898 2005-06-22  Wim Taymans  <wim@fluendo.com>
16899
16900         * gst/gstbuffer.h:
16901         Added convenience macros for setting buffers in GValue.
16902
16903 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16904
16905         * check/gst/.cvsignore:
16906         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16907           add a test deserializing int64, and comment part out because
16908           it fails, yay !
16909
16910 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16911
16912         * check/Makefile.am:
16913         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
16914         * testsuite/Makefile.am:
16915         * testsuite/caps/Makefile.am:
16916         * testsuite/caps/value_serialize.c:
16917         * testsuite/test_gst_init.c:
16918           move a value_serialize test over
16919
16920 2005-06-20  Wim Taymans  <wim@fluendo.com>
16921
16922         * gst/gstpad.c:
16923         Small doc updates.
16924         
16925         * gst/gstvalue.c: (gst_value_compare_buffer),
16926         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
16927         (gst_value_compare_flags), (gst_value_serialize_flags),
16928         (gst_value_deserialize_flags), (_gst_value_initialize):
16929         Fix serialisation of buffers, they are not boxed types anymore
16930
16931 2005-06-20  Wim Taymans  <wim@fluendo.com>
16932
16933         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16934         Testcase to show error in buffer-on-caps serialisation.
16935
16936 2005-06-20  Andy Wingo  <wingo@pobox.com>
16937
16938         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
16939         will be adding to later.
16940
16941         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
16942         if its socks fill with rocks.
16943         (gst_system_clock_obtain): Set the name on object construction.
16944         Avoid double-checked locking.
16945
16946 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
16947
16948         * gst/gsturi.c: (gst_element_make_from_uri):
16949           Fix potential endless loop.
16950
16951 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16952
16953         * check/Makefile.am:
16954           add gsttag
16955         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
16956         (main):
16957           move over from testsuite dir and clean up
16958         * configure.ac:
16959         * gst/gsttag.c:
16960         * testsuite/Makefile.am:
16961         * testsuite/tags/.cvsignore:
16962         * testsuite/tags/Makefile.am:
16963         * testsuite/tags/merge.c:
16964           remove testsuite/tags
16965
16966 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16967
16968         * docs/gst/gstreamer-sections.txt:
16969         * docs/gst/tmpl/gstenumtypes.sgml:
16970         * win32/gstenumtypes.c:
16971           clean up documentation build a little
16972
16973 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16974
16975         * check/gstcheck.h:
16976           add macros for checking refcounts on objects and caps
16977         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16978           add some more unit tests
16979         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16980         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16981           fix leaked refcounts (I hope :)) so unittest works
16982         * gst/gstpad.h:
16983           whitespace removal
16984
16985 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16986
16987         * configure.ac: back to HEAD
16988
16989 === release 0.9.1 ===
16990
16991 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16992
16993         * NEWS:
16994         * RELEASE:
16995           updated
16996
16997 2005-06-17  Andy Wingo  <wingo@pobox.com>
16998
16999         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17000         assert; it's always possible that the pad gets deactivated in
17001         between the checks in gstpad.c and the implementation. Rely on
17002         finish_preroll() to return a FLUSHING or similar instead of on the
17003         assert.
17004         
17005         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17006         clock and post an EOS message if we come out of finish_preroll in
17007         the playing state.
17008
17009 2005-06-16  David Schleef  <ds@schleef.org>
17010
17011         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17012         (gst_capsfilter_set_property): Allow NULL as possible value
17013         for filter_caps property, indicating GST_CAPS_ANY.
17014
17015 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17016
17017         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17018           fix debug output
17019         * gst/schedulers/Makefile.am:
17020           use libgst prefix
17021         * gstreamer.spec.in:
17022           fix spec for it
17023
17024 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17025
17026         * gstreamer.spec.in:
17027           clean up
17028
17029 2005-06-08  Andy Wingo  <wingo@pobox.com>
17030
17031         * gst/gstutils.c: RPAD fixes all around.
17032         (gst_element_link_pads): Refcounting fixes.
17033
17034         * tools/gst-inspect.c:
17035         * tools/gst-xmlinspect.c:
17036         * parse/grammar.y:
17037         * gst/base/gsttypefindhelper.c:
17038         * gst/base/gstbasesink.c:
17039         * gst/gstqueue.c: RPAD fixes.
17040
17041         * gst/gstghostpad.h:
17042         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17043         pads. The tricky thing is they provide both source and sink
17044         interfaces, since they proxy the internal pad for the external
17045         pad, and vice versa. Implement with lower-level ProxyPad objects,
17046         with the interior proxy pad as a child of the exterior ghost pad.
17047         Should write a doc on this.
17048         
17049         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17050         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17051         gst_object API.
17052         
17053         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17054         pads are real pads. No ghost pads in this file. Not documenting
17055         the myriad s/RPAD/PAD/ and REALIZE fixes.
17056         (gst_pad_class_init): Add properties for "direction" and
17057         "template". Both are construct-only, so they can't change during
17058         the life of the pad. Fixes properly deriving from GstPad.
17059         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17060         derived objects, just set properties when creating the objects via
17061         g_object_new.
17062         (gst_pad_get_parent): Implement as a function, return NULL if the
17063         parent is not an element.
17064         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17065         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17066         
17067         * gst/gstobject.c (gst_object_class_init): Make name a construct
17068         property. Don't set it in the object init.
17069
17070         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17071         with UNKNOWN direction.
17072         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17073         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17074         (gst_element_remove_pad): Remove ghost-pad special cases.
17075         (gst_element_pads_activate): Remove rpad cruft.
17076
17077         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17078         catch the pad's-parent-not-an-element case.
17079
17080         * gst/gst.h: Include gstghostpad.h.
17081
17082         * gst/gst.c (init_post): No more real, ghost pads.
17083
17084         * gst/Makefile.am: Add gstghostpad.[ch].
17085
17086         * check/Makefile.am:
17087         * check/gst/gstbin.c:
17088         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17089         into a bin creates ghost pads, and that the refcounts are right.
17090         Partly moved from gstbin.c.
17091
17092 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17093
17094         * check/gst-libs/.cvsignore:
17095         * check/gst/.cvsignore:
17096         * check/pipelines/.cvsignore:
17097           ignore more
17098         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17099         (START_TEST), (cleanup_suite), (main):
17100           add some tests related to cleanup after running pipelines
17101
17102 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17103
17104         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17105           add a testsuite for GstBuffer
17106
17107 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17108
17109         * gst/gstminiobject.h:
17110           add defines for accessing the refcount
17111
17112 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
17113
17114         * Makefile.am: added support for html unit test coverage reports
17115
17116 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
17117
17118         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17119           Free existing caps if the capsfilter changes. Add a FIXME about
17120           setting those caps on the pads.
17121
17122         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17123           Before adding a ghost pad to a parent bin, check that there isn't
17124           already one for the element on the bin. Prevents infinite recursion
17125           when using decodebin in parse pipelines. Andy says he'll rewrite the
17126           way this works anyway, so ignore the hack.
17127
17128 2005-06-02  Andy Wingo  <wingo@pobox.com>
17129
17130         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
17131         file size, pass it on to the type find helper.
17132
17133         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
17134         segment_start and segment_end properly according to the seek
17135         method. Segment_end is still a bit flaky because offset can be
17136         negative for CUR and END cases, but it takes -1 as an "unset"
17137         value.
17138
17139 2005-06-02  Wim Taymans  <wim@fluendo.com>
17140
17141         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
17142         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
17143         (gst_basesink_activate):
17144         * gst/base/gstbasesink.h:
17145         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17146         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17147         (gst_pad_query), (gst_pad_start_task):
17148         * gst/gstpad.h:
17149         * gst/gstqueue.c: (gst_queue_bufferalloc),
17150         (gst_queue_handle_sink_event), (gst_queue_chain):
17151         Bufferalloc: return GstFlowReturn to more accuratly report
17152         why allocation failed.
17153
17154 2005-06-02  Wim Taymans  <wim@fluendo.com>
17155
17156         * gst/gstpipeline.c: (gst_pipeline_send_event):
17157         Take snapshot of state without blocking.
17158
17159 2005-06-02  Wim Taymans  <wim@fluendo.com>
17160
17161         * docs/design/part-TODO.txt:
17162         * docs/design/part-caps.txt:
17163         * docs/design/part-clocks.txt:
17164         * docs/design/part-negotiation.txt:
17165         * docs/design/part-preroll.txt:
17166         Small doc updates 
17167
17168 2005-05-30  Wim Taymans  <wim@fluendo.com>
17169
17170         * gst/elements/gstidentity.c: (gst_identity_event),
17171         (gst_identity_transform), (gst_identity_get_property):
17172         Protect last_message property as it is accessed from
17173         multiple threads.
17174
17175 2005-05-30  Wim Taymans  <wim@fluendo.com>
17176
17177         * gst/gstelement.c: (gst_element_init),
17178         (gst_element_pads_activate), (gst_element_change_state):
17179         Slicker pad activation code.
17180
17181 2005-05-30  Wim Taymans  <wim@fluendo.com>
17182
17183         * gst/Makefile.am:
17184         * gst/gstelement.h:
17185         * gst/gstelementfactory.h:
17186         * gst/gsttypes.h:
17187         Move elementfactory methods to separate .h file.
17188
17189 2005-05-30  Wim Taymans  <wim@fluendo.com>
17190
17191         * docs/design/part-overview.txt:
17192         * gst/gstsystemclock.h:
17193         Small typo fixes, doc updates.
17194
17195 2005-05-30  Wim Taymans  <wim@fluendo.com>
17196
17197         * gst/gst.c: (gst_init_get_popt_table), (init_post),
17198         (init_popt_callback):
17199         Remove cpu-opt flag.
17200
17201 2005-05-30  Wim Taymans  <wim@fluendo.com>
17202
17203         * gst/gstbuffer.c: (gst_subbuffer_finalize),
17204         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
17205         * gst/gstbuffer.h:
17206         Avoid typechecking in places where not needed.
17207         Added accessor for malloc_data.
17208
17209 2005-05-30  Wim Taymans  <wim@fluendo.com>
17210
17211         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
17212         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
17213         (gst_pad_configure_sink), (gst_pad_configure_src),
17214         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
17215         (gst_pad_start_task):
17216         Propagate errors from _set_caps() in configure_src/sink
17217         functions instead of returning TRUE.
17218         FLUSH events can travel up and downstream
17219
17220
17221 2005-05-30  Wim Taymans  <wim@fluendo.com>
17222
17223         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17224         (gst_basesink_activate):
17225         Handle EOS in preroll.
17226
17227 2005-05-30  Wim Taymans  <wim@fluendo.com>
17228
17229         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17230         (gst_queue_loop), (gst_queue_handle_src_event):
17231         Remove old pieces of code
17232         Flushing the queue in an upstream event is a very bad idea.
17233
17234 2005-05-26  Andy Wingo  <wingo@pobox.com>
17235
17236         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
17237         gst_value_set_mini_object so as to add a ref on the object (which
17238         will be removed when the value is unset).
17239
17240         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
17241         arg type in ::handoff.
17242
17243         * gst/gstelement.c (gst_element_change_state): Also deactivate
17244         pads in READY->NULL, just in case the element didn't make it to
17245         PAUSED. Wingo tested, Wim approved.
17246
17247 2005-05-26  Wim Taymans  <wim@fluendo.com>
17248
17249         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17250         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17251         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
17252         A flushing pad cannot be used to alloc_buffer from.
17253
17254 2005-05-26  Wim Taymans  <wim@fluendo.com>
17255
17256         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
17257         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
17258         (gst_bus_source_dispatch), (gst_bus_source_finalize),
17259         (gst_bus_create_watch), (gst_bus_add_watch_full):
17260         * gst/gstbus.h:
17261         Implement a real GSource and use g_main_context_wakeup() to
17262         signal new messages instead of the socketpair.
17263
17264 2005-05-25  Wim Taymans  <wim@fluendo.com>
17265
17266         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
17267         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
17268         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17269         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17270         (gst_pad_send_event), (gst_pad_start_task):
17271         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
17272         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
17273         (gst_queue_sink_activate), (gst_queue_src_activate),
17274         (gst_queue_change_state):
17275         * gst/gstqueue.h:
17276         Fix state changes for non sinks. We now change sinks, then elements
17277         with unconnected srcpads, then the rest.
17278         More efficient queue unlocking in flush and state changes.
17279         Set the pad activate mode even if it does not have an activate
17280         function.
17281
17282 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17283
17284         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
17285           Don't go in pull mode for non-seekable sources.
17286         * gst/elements/gsttypefindelement.h:
17287         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17288         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
17289         (free_entry), (stop_typefinding),
17290         (gst_type_find_element_handle_event), (find_peek),
17291         (gst_type_find_element_chain), (do_pull_typefind),
17292         (gst_type_find_element_change_state):
17293           Allow typefinding (w/o seeking) in push-mode, simplified version
17294           of what was in 0.8.
17295         * gst/gstutils.c: (gst_buffer_join):
17296         * gst/gstutils.h:
17297           gst_buffer_join() from 0.8.
17298
17299 2005-05-25  Wim Taymans  <wim@fluendo.com>
17300
17301         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17302         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17303         (gst_pad_send_event), (gst_pad_start_task):
17304         Disable attempt at mode switching until it is figured out.
17305
17306 2005-05-25  Wim Taymans  <wim@fluendo.com>
17307
17308         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
17309         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17310         (gst_basesink_finish_preroll), (gst_basesink_chain),
17311         (gst_basesink_loop), (gst_basesink_activate),
17312         (gst_basesink_change_state):
17313         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
17314         (gst_basesrc_get_range), (gst_basesrc_loop),
17315         (gst_basesrc_activate):
17316         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17317         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17318         (gst_real_pad_init), (gst_real_pad_set_property),
17319         (gst_real_pad_get_property), (gst_pad_set_active),
17320         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
17321         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
17322         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
17323         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
17324         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17325         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
17326         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
17327         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17328         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
17329         (gst_pad_stop_task):
17330         * gst/gstpad.h:
17331         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17332         (gst_queue_loop), (gst_queue_src_activate):
17333         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
17334         (gst_task_get_state):
17335         * gst/gsttask.h:
17336         * gst/schedulers/threadscheduler.c:
17337         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
17338         Implement gst_pad_pause/start/stop_task(), take STREAM lock
17339         in task function.
17340         Remove ACTIVE pad flag, use FLUSHING everywhere
17341         Added _pad_chain(), _pad_get_range() to call chain/getrange 
17342         functions.
17343         Add locks around IS_FLUSHING when reading.
17344         Take STREAM lock in chain(), get_range() functions so plugins
17345         don't need to take it anymore.
17346         
17347
17348
17349 2005-05-25  Wim Taymans  <wim@fluendo.com>
17350
17351         * tools/gst-launch.c: (event_loop):
17352         Unref message after using its contents instead of
17353         before.
17354
17355 2005-05-24  Wim Taymans  <wim@fluendo.com>
17356
17357         * docs/design/draft-ghostpads.txt:
17358         * docs/design/draft-push-pull.txt:
17359         * docs/design/draft-query.txt:
17360         * docs/design/part-overview.txt:
17361         Docs updates, added general overview doc.
17362
17363 2005-05-21  David Schleef  <ds@schleef.org>
17364
17365         * docs/gst/tmpl/old/GstBin.sgml:
17366         * docs/gst/tmpl/old/GstBuffer.sgml:
17367         * docs/gst/tmpl/old/GstCaps.sgml:
17368         * docs/gst/tmpl/old/GstClock.sgml:
17369         * docs/gst/tmpl/old/GstCompat.sgml:
17370         * docs/gst/tmpl/old/GstData.sgml:
17371         * docs/gst/tmpl/old/GstElement.sgml:
17372         * docs/gst/tmpl/old/GstEvent.sgml:
17373         * docs/gst/tmpl/old/GstIndex.sgml:
17374         * docs/gst/tmpl/old/GstStructure.sgml:
17375         * docs/gst/tmpl/old/GstTag.sgml:
17376         * docs/gst/tmpl/old/cothreads.sgml:
17377         * docs/gst/tmpl/old/cothreads_compat.sgml:
17378         * docs/gst/tmpl/old/gettext.sgml:
17379         * docs/gst/tmpl/old/gobject2gtk.sgml:
17380         * docs/gst/tmpl/old/grammar.tab.sgml:
17381         * docs/gst/tmpl/old/gst-i18n-app.sgml:
17382         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
17383         * docs/gst/tmpl/old/gst_private.sgml:
17384         * docs/gst/tmpl/old/gstaggregator.sgml:
17385         * docs/gst/tmpl/old/gstarch.sgml:
17386         * docs/gst/tmpl/old/gstatomic_impl.sgml:
17387         * docs/gst/tmpl/old/gstbufferstore.sgml:
17388         * docs/gst/tmpl/old/gstdata_private.sgml:
17389         * docs/gst/tmpl/old/gstdisksink.sgml:
17390         * docs/gst/tmpl/old/gstdisksrc.sgml:
17391         * docs/gst/tmpl/old/gstelementfactory.sgml:
17392         * docs/gst/tmpl/old/gstextratypes.sgml:
17393         * docs/gst/tmpl/old/gstfakesink.sgml:
17394         * docs/gst/tmpl/old/gstfakesrc.sgml:
17395         * docs/gst/tmpl/old/gstfdsink.sgml:
17396         * docs/gst/tmpl/old/gstfdsrc.sgml:
17397         * docs/gst/tmpl/old/gstfilesink.sgml:
17398         * docs/gst/tmpl/old/gstfilesrc.sgml:
17399         * docs/gst/tmpl/old/gsthttpsrc.sgml:
17400         * docs/gst/tmpl/old/gstidentity.sgml:
17401         * docs/gst/tmpl/old/gstindexfactory.sgml:
17402         * docs/gst/tmpl/old/gstmarshal.sgml:
17403         * docs/gst/tmpl/old/gstmd5sink.sgml:
17404         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
17405         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
17406         * docs/gst/tmpl/old/gstpadtemplate.sgml:
17407         * docs/gst/tmpl/old/gstpipefilter.sgml:
17408         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
17409         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
17410         * docs/gst/tmpl/old/gstshaper.sgml:
17411         * docs/gst/tmpl/old/gstspider.sgml:
17412         * docs/gst/tmpl/old/gstspideridentity.sgml:
17413         * docs/gst/tmpl/old/gststatistics.sgml:
17414         * docs/gst/tmpl/old/gsttee.sgml:
17415         * docs/gst/tmpl/old/gsttimecache.sgml:
17416         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
17417         * docs/gst/tmpl/old/gstxmlregistry.sgml:
17418         * docs/gst/tmpl/old/gthread-cothreads.sgml:
17419         * docs/gst/tmpl/old/types.sgml:
17420           I didn't intend to add these or check them in.
17421
17422 2005-05-19  David Schleef  <ds@schleef.org>
17423
17424         * configure.ac: Use -no-common everywhere.  In a sane world, it
17425           would be the default in libtool, because without it, you can't
17426           build DLLs on Windows.
17427         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
17428         * docs/gst/gstreamer-sections.txt:
17429         * docs/gst/tmpl/gstcpu.sgml:
17430         * docs/gst/tmpl/gstdata.sgml:
17431         * docs/gst/tmpl/gstthread.sgml:
17432
17433 2005-05-19  David Schleef  <ds@schleef.org>
17434
17435         * gst/gstminiobject.c: (gst_value_set_mini_object),
17436         (gst_value_take_mini_object), (gst_value_get_mini_object):
17437         * gst/gstminiobject.h: Add GValue set/get functions.
17438
17439 2005-05-19  Wim Taymans  <wim@fluendo.com>
17440
17441         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
17442         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
17443         (gst_subbuffer_init), (gst_buffer_is_span_fast):
17444         * gst/gstbuffer.h:
17445         * gst/gstbus.c: (gst_bus_post):
17446         * gst/gstelement.c: (gst_element_get_random_pad):
17447         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
17448         Make subbufer unref the parent in finalize.
17449         some more debugging info.
17450
17451
17452 2005-05-19  Wim Taymans  <wim@fluendo.com>
17453
17454         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17455         (gst_basesink_init), (gst_basesink_finalize),
17456         (gst_basesink_activate), (gst_basesink_change_state):
17457         Don't free preroll queue too early.
17458
17459 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17460
17461         * gst/Makefile.am:
17462         * gst/ROADMAP:
17463           Hi, I'm outdated. Please shoot me.
17464
17465 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17466
17467         * gst/gstpipeline.c: (gst_pipeline_send_event):
17468           Do not access variables after they have been deleted.
17469
17470 2005-05-19  Wim Taymans  <wim@fluendo.com>
17471
17472         * tools/gst-inspect.c: (print_plugin_features):
17473         A plugin feature does unfortunatly not use the
17474         object name yet...
17475
17476 2005-05-18  Wim Taymans  <wim@fluendo.com>
17477
17478         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
17479         Port _span() functions to new subbuffers.
17480
17481 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17482
17483         * gst/gstbin.c: (gst_bin_add_func):
17484           Fix clock settery in bins when adding kids after the clock has
17485           been selected.
17486
17487 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17488
17489         * gst/elements/gstidentity.c: (gst_identity_class_init):
17490           Workaround until signals support GstMiniObject.
17491
17492 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
17493
17494         * gst/gstbuffer.c:
17495         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
17496
17497 2005-05-18  Wim Taymans  <wim@fluendo.com>
17498
17499         * gst/base/Makefile.am:
17500         * gst/base/gstadapter.c: (gst_adapter_base_init),
17501         (gst_adapter_class_init), (gst_adapter_init),
17502         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
17503         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
17504         (gst_adapter_flush), (gst_adapter_available),
17505         (gst_adapter_available_fast):
17506         * gst/base/gstadapter.h:
17507         Ported and added adapter to the base classes.
17508
17509 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17510
17511         * gst/gst.c:
17512         * gst/gstmessage.c:
17513           Make sure the class is reffed/unreffed once before threads can be
17514           used.  Fixes #304551.
17515
17516 2005-05-17  Wim Taymans  <wim@fluendo.com>
17517
17518         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
17519         (gst_basesink_chain_unlocked), (gst_basesink_activate):
17520         * gst/gstminiobject.c: (gst_mini_object_get_type),
17521         (gst_mini_object_free):
17522         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
17523         (gst_pad_push), (gst_pad_push_event):
17524         * gst/gstqueue.c: (gst_queue_change_state):
17525         Don't queue buffers in basesink when we are flushing.
17526         Unref buffer when flushing in basesink.
17527         Flush queue when going to READY
17528         Unref buffer when _push() returns an error.
17529         Don't free MiniObject instance when refcount is incremented
17530         in _finalize() so that we can recover objects.
17531
17532 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17533
17534         * docs/manual/advanced-schedulers.xml:
17535         * docs/manual/appendix-checklist.xml:
17536         * docs/pwg/advanced-clock.xml:
17537         * docs/pwg/advanced-interfaces.xml:
17538         * docs/pwg/advanced-request.xml:
17539         * docs/pwg/advanced-types.xml:
17540         * docs/pwg/intro-preface.xml:
17541         * examples/plugins/example.c: (gst_example_get_type),
17542         (gst_example_class_init), (gst_example_chain),
17543         (gst_example_set_property), (gst_example_get_property),
17544         (gst_example_change_state), (plugin_init):
17545         * examples/plugins/example.h:
17546           small doc fixes
17547
17548 2005-05-17  Wim Taymans  <wim@fluendo.com>
17549
17550         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
17551         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
17552         * gst/gstqueue.c: (gst_queue_change_state):
17553         Clear queue when going to READY.
17554         Remove IN_SETCAPS flag too.
17555
17556 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
17557
17558         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
17559           Remove implicit cast from gboolean to GstElementStateReturn;
17560           make sure we still return failure in paused => ready case if
17561           the parent class fails to change state and our own stop 
17562           vfunc succeeds.
17563
17564 2005-05-17  Wim Taymans  <wim@fluendo.com>
17565
17566         * tools/gst-launch.c: (event_loop):
17567         Message was unreffed too soon.
17568
17569 2005-05-16  Andy Wingo  <wingo@pobox.com>
17570
17571         * gst/gstbin.c (sink_iterator_filter): Err... um...
17572
17573         * check/gst/gstbin.c (test_ghost_pads): New test for the
17574         ghosting-if-elements-not-in-same-bin behavior.
17575
17576 2005-05-16  David Schleef  <ds@schleef.org>
17577
17578         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
17579         accessing refcount directly.
17580
17581 2005-05-15  David Schleef  <ds@schleef.org>
17582
17583         * check/Makefile.am: remove GstData checks
17584         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
17585         * gst/Makefile.am: add miniobject, remove data
17586         * gst/gst.h: add miniobject, remove data
17587         * gst/gstdata.c: remove
17588         * gst/gstdata.h: remove
17589         * gst/gstdata_private.h: remove
17590         * gst/gsttypes.h: remove GstEvent and GstMessage
17591         * gst/gstelement.c: (gst_element_post_message): fix for API changes
17592         * gst/gstmarshal.list: change BOXED -> OBJECT
17593
17594         Implement GstMiniObject.
17595         * gst/gstminiobject.c:
17596         * gst/gstminiobject.h:
17597
17598         Modify to be subclasses of GstMiniObject.
17599         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
17600         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
17601         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
17602         (gst_subbuffer_get_type), (gst_subbuffer_init),
17603         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
17604         (gst_buffer_span):
17605         * gst/gstbuffer.h:
17606         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
17607         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
17608         (_gst_event_copy), (gst_event_new):
17609         * gst/gstevent.h:
17610         * gst/gstmessage.c: (_gst_message_initialize),
17611         (gst_message_get_type), (gst_message_class_init),
17612         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
17613         (gst_message_new), (gst_message_new_error),
17614         (gst_message_new_warning), (gst_message_new_tag),
17615         (gst_message_new_state_changed), (gst_message_new_application):
17616         * gst/gstmessage.h:
17617         * gst/gstprobe.c: (gst_probe_perform),
17618         (gst_probe_dispatcher_dispatch):
17619         * gst/gstprobe.h:
17620         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
17621         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
17622         (_gst_query_copy), (gst_query_new):
17623
17624         Update elements for GstData -> GstMiniObject changes
17625         * gst/gstquery.h:
17626         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
17627         (gst_queue_chain), (gst_queue_loop):
17628         * gst/elements/gstbufferstore.c:
17629         (gst_buffer_store_add_buffer_func),
17630         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
17631         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17632         (gst_fakesink_render):
17633         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17634         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
17635         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
17636         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
17637         (gst_filesrc_create_read):
17638         * gst/elements/gstidentity.c: (gst_identity_class_init):
17639         * gst/elements/gsttypefindelement.c:
17640         (gst_type_find_element_src_event), (free_entry_buffers),
17641         (gst_type_find_element_handle_event):
17642         * libs/gst/dataprotocol/dataprotocol.c:
17643         (gst_dp_header_from_buffer):
17644         * libs/gst/dataprotocol/dataprotocol.h:
17645         * libs/gst/dataprotocol/dp-private.h:
17646
17647 2005-05-15  David Schleef  <ds@schleef.org>
17648
17649         * gst/elements/gstelements.c: Don't include headers that were
17650         just removed.
17651
17652 2005-05-15  David Schleef  <ds@schleef.org>
17653
17654         * gst/elements/Makefile.am: Remove some elements that don't
17655         need to be in the core (or even exist at all).
17656         * gst/elements/gstaggregator.c:
17657         * gst/elements/gstaggregator.h:
17658         * gst/elements/gstmd5sink.c:
17659         * gst/elements/gstmd5sink.h:
17660         * gst/elements/gstmultifilesrc.c:
17661         * gst/elements/gstmultifilesrc.h:
17662         * gst/elements/gstpipefilter.c:
17663         * gst/elements/gstpipefilter.h:
17664         * gst/elements/gstshaper.c:
17665         * gst/elements/gstshaper.h:
17666         * gst/elements/gststatistics.c:
17667         * gst/elements/gststatistics.h:
17668         * po/POTFILES.in: Remove above files.
17669
17670 2005-05-14  Andy Wingo  <wingo@pobox.com>
17671
17672         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
17673         so as to get the refs right.
17674         (sink_iterator_filter): New function, wraps bin_element_is_sink,
17675         unreffing objects that don't pass the filter.
17676
17677         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
17678         gst_element_set_bus.
17679         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
17680         normal cases, this will destroy the bus.
17681
17682         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
17683         object.
17684
17685         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
17686         has no sinks.
17687
17688 2005-05-13  Andy Wingo  <wingo@pobox.com>
17689
17690         * gst/gstutils.c (gst_element_link_pads): Instead of calling
17691         gst_pad_link, call pad_link_maybe_ghosting,
17692         (pad_link_maybe_ghosting): Links pads, making sure that the
17693         elements being linked are in the same bin.
17694         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
17695         Helpers for pad_link_maybe_ghosting.
17696
17697 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17698
17699         * configure.ac:
17700           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
17701
17702 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17703
17704         * docs/design/part-element-source.txt:
17705           Mention GstPushSrc
17706
17707 2005-05-12  Wim Taymans  <wim@fluendo.com>
17708
17709         * gst/base/gstbasesink.c: (gst_basesink_init),
17710         (gst_basesink_activate):
17711         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
17712         (gst_basesrc_is_seekable):
17713         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17714         (bin_element_is_sink), (gst_bin_change_state):
17715         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17716         * gst/gstelement.h:
17717         Identify sinks by their flag to avoid overly complicated
17718         checks (fow now).
17719         Do state changes even for elements not reachable from the
17720         sinks.
17721         BaseSink is a sink now :)
17722         Some more debugging info in the basesrc.
17723
17724
17725 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17726
17727         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
17728           Implement _query on a bin, similar to _send_event.
17729
17730 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
17731
17732         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
17733           Discont event offset format should be GST_FORMAT_BYTES,
17734           not GST_FORMAT_TIME.
17735
17736 2005-05-12  Wim Taymans  <wim@fluendo.com>
17737
17738         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
17739         Same fix as Ronald's but without the signal. 
17740
17741 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17742
17743         * gst/gstutils.c: (gst_element_query_position):
17744           No, an element is not a pad.
17745
17746 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17747
17748         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
17749         (gst_bin_get_state):
17750           If a child is removed from a bin while we remove the child from
17751           the bin and while we're retrieving its state, signal this to the
17752           get_state function so we abort the wait (instead of waiting for
17753           a timeout) and can immediately re-iterate over all other elements.
17754
17755 2005-05-12  Wim Taymans  <wim@fluendo.com>
17756
17757         * gst/base/Makefile.am:
17758         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
17759         (gst_basesrc_start):
17760         * gst/base/gstbasesrc.h:
17761         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
17762         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
17763         (gst_pushsrc_init), (gst_pushsrc_create):
17764         * gst/base/gstpushsrc.h:
17765         Added is_seekable to BaseSrc
17766         Added simple PushSrc.
17767
17768 2005-05-11  Wim Taymans  <wim@fluendo.com>
17769
17770         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17771         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17772         (gst_element_link_pads), (gst_element_query_position),
17773         (gst_element_query_convert), (intersect_caps_func),
17774         (gst_pad_query_position), (gst_pad_query_convert):
17775         Fix refcounting in utils function.
17776         No point in trying to activate a pad when it's added, it could
17777         be added from the state change function and then we deadlock, the
17778         element has to decide what to do.
17779
17780 2005-05-10  Andy Wingo  <wingo@pobox.com>
17781
17782         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
17783         *all* the arguments.
17784
17785         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
17786         stream lock if it's a FLUSH_DONE; normal flushes don't get the
17787         lock (according to the docs -- if this is wrong change the docs).
17788
17789         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
17790         flush messages in the NULL state.
17791
17792         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
17793         message immediately and return.
17794         (gst_bus_set_flushing): New function. If a bus is flushing, it
17795         flushes out any queued messages and immediately unrefs new
17796         messages. This is so when an element goes to NULL, all of the
17797         unhandled messages coming from it can be freed, and their
17798         references to the element dropped. In other words: message source
17799         ref considered harmful :P
17800
17801         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
17802         we're finished with it.
17803
17804         * gst/gstmessage.c (gst_message_new_state_changed): 
17805
17806 2005-05-10  Wim Taymans  <wim@fluendo.com>
17807
17808         * gst/gstvalue.c: (gst_value_compare_flags),
17809         (gst_value_serialize_flags), (gst_value_deserialize_flags),
17810         (_gst_value_initialize):
17811         Added flags serialize/deserialize/compare code.
17812
17813 2005-05-09  Andy Wingo  <wingo@pobox.com>
17814
17815         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
17816         Intersect the peer's caps with our caps.
17817
17818 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17819
17820         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17821         * gst/elements/gsttypefindelement.c: (find_peek):
17822           Handle negative offsets better. Fixes decodebin.
17823
17824 2005-05-09  Wim Taymans  <wim@fluendo.com>
17825
17826         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
17827         (gst_base_transform_event):
17828         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
17829         Implement accept_caps.
17830         Fix silly lock/unlock mismatch in base class.
17831
17832 2005-05-09  Wim Taymans  <wim@fluendo.com>
17833
17834         * docs/design/draft-push-pull.txt:
17835         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
17836         * gst/elements/gstfilesink.c: (gst_filesink_init),
17837         (gst_filesink_query):
17838         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17839         (gst_type_find_handle_src_query), (find_element_get_length):
17840         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
17841         * gst/gstelement.h:
17842         * gst/gstmessage.c:
17843         * gst/gstmessage.h:
17844         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
17845         (gst_real_pad_get_caps_unlocked),
17846         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
17847         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17848         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
17849         (gst_real_pad_dispose), (gst_real_pad_finalize),
17850         (gst_pad_load_and_link), (gst_pad_save_thyself),
17851         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
17852         (gst_pad_check_pull_range), (gst_pad_pull_range),
17853         (gst_pad_template_get_type), (gst_pad_template_class_init),
17854         (gst_pad_template_init), (gst_pad_template_dispose),
17855         (name_is_valid), (gst_static_pad_template_get),
17856         (gst_pad_template_new), (gst_static_pad_template_get_caps),
17857         (gst_pad_template_get_caps), (gst_pad_set_element_private),
17858         (gst_pad_get_element_private), (gst_pad_start_task),
17859         (gst_pad_pause_task), (gst_pad_stop_task),
17860         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
17861         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
17862         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
17863         (gst_ghost_pad_new):
17864         * gst/gstpad.h:
17865         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
17866         (gst_query_new_position), (gst_query_set_position),
17867         (gst_query_parse_position), (gst_query_new_convert),
17868         (gst_query_set_convert), (gst_query_parse_convert):
17869         * gst/gstquery.h:
17870         * gst/gstqueryutils.c:
17871         * gst/gstqueryutils.h:
17872         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17873         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17874         (gst_queue_handle_src_query):
17875         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17876         (gst_element_query_position), (gst_element_query_convert),
17877         (intersect_caps_func), (gst_pad_query_position),
17878         (gst_pad_query_convert):
17879         * gst/gstutils.h:
17880         * tools/gst-inspect.c: (print_pad_info):
17881         * tools/gst-xmlinspect.c: (print_element_info):
17882         Remove old query functions. Ported old code.
17883         Added position/convert helper functions to gstutils.
17884         Reordered gstpad.c code, grouping relevant things.
17885         Remove gst_message_new(), always need to speficy a specific
17886         message.
17887
17888
17889 2005-05-09  Andy Wingo  <wingo@pobox.com>
17890
17891         * gst/gstiterator.h: Add some includes.
17892
17893         * gst/gstqueryutils.h: Include more headers.
17894
17895         * gst/gstpad.h:
17896         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
17897         some uses of gst_pad_query.
17898
17899         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
17900         NULL out parameters.
17901         (gst_query_new_position): New proc, allocates a new position
17902         query.
17903
17904         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
17905         gstqueryutils.c to the build.
17906
17907         * gst/gststructure.c (gst_structure_set_valist): Implement with
17908         the generic G_VALUE_COLLECT.
17909         
17910 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
17911
17912         * gst/Makefile.am: (gst_headers):
17913         Added gstqueryutils.h to the list of headers to install, that was
17914         a 'nachty' move wingo :)
17915
17916 2005-05-06  Andy Wingo  <wingo@pobox.com>
17917
17918         * gst/gstquery.h
17919         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
17920         GstData, init a memchunk.
17921         (standard_definitions): Add a few query types, deprecate a few.
17922         (gst_query_get_type): New proc.
17923         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
17924         implementation.
17925         (gst_query_new_application, gst_query_get_structure): New public
17926         procs.
17927
17928         * docs/design/draft-query.txt: Removed LINKS from the query types,
17929         because all the rest can be dispatched to other pads -- seemed
17930         ugly to have a query that couldn't be dispatched. internal_links
17931         is fine as a pad method.
17932
17933         * gst/gstpad.h: Add query2 as a pad method, add the new functions
17934         in gstpad.c, but maintain binary compatibility for the moment.
17935         Will fix before 0.9 is out.
17936
17937         * gst/gstqueryutils.c: 
17938         * gst/gstqueryutils.h: New files, implement 3 methods for each
17939         query type: parse_query, parse_response, and set. Probably need an
17940         allocator as well.
17941
17942         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
17943
17944         * gst/elements/gstfilesink.c (gst_filesink_query2):
17945         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
17946         query_types, and formats methods.
17947
17948         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
17949         (gst_pad_set_query2_function): New functions.
17950         (gst_real_pad_init): Set query2_default as the default query2
17951         function. Basically just dispatches to internally linked pads.
17952
17953         Needs review!
17954         
17955         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
17956         without using the atomic operations. Only one thread can possibly
17957         be accessing the data at this point. Changed so as to avoid
17958         gst_atomic operations.
17959
17960 2005-05-06  Wim Taymans  <wim@fluendo.com>
17961
17962         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17963         Also set caps if we use the fallback buffer alloc.
17964
17965 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17966
17967         * docs/gst/Makefile.am:
17968         * docs/gst/gstreamer-docs.sgml:
17969         * docs/gst/gstreamer-sections.txt:
17970         * docs/gst/tmpl/gstatomic.sgml:
17971         * docs/gst/tmpl/gstmemchunk.sgml:
17972         * testsuite/elements/struct_i386.h:
17973         * win32/GStreamer.vcproj:
17974         * win32/Makefile:
17975           Purge GstAtomic stuff from docs and win32 makefiles as well
17976
17977 2005-05-06  Wim Taymans  <wim@fluendo.com>
17978
17979         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17980         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17981         * gst/gstpad.c: (gst_pad_peer_get_caps):
17982         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17983         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17984         (gst_queue_src_activate), (gst_queue_change_state):
17985         * gst/gstqueue.h:
17986         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17987         (intersect_caps_func):
17988         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17989         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17990         Some fixes for the peer_get_caps() change.
17991
17992 2005-05-06  Wim Taymans  <wim@fluendo.com>
17993
17994         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17995         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17996         (gst_basesink_activate):
17997         Actually do something with error codes returned from the push
17998         functions.
17999
18000 2005-05-06  Wim Taymans  <wim@fluendo.com>
18001
18002         * docs/design/part-element-sink.txt:
18003         * docs/design/part-element-source.txt:
18004         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18005         (gst_basesink_event), (gst_basesink_activate):
18006         * gst/base/gstbasesink.h:
18007         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18008         (gst_basesrc_activate):
18009         * gst/base/gstbasesrc.h:
18010         * gst/gstelement.c: (gst_element_pads_activate):
18011         Some more documentation.
18012         Fixed scheduling decision in _pads_activate().
18013
18014 2005-05-05  Andy Wingo  <wingo@pobox.com>
18015
18016         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18017         the test suite.
18018
18019 2005-05-05  Wim Taymans  <wim@fluendo.com>
18020
18021         * gst/base/Makefile.am:
18022         * gst/base/gstbasesink.h:
18023         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18024         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18025         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18026         (gst_collectpads_class_init), (gst_collectpads_init),
18027         (gst_collectpads_finalize), (gst_collectpads_new),
18028         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18029         (find_pad), (gst_collectpads_remove_pad),
18030         (gst_collectpads_is_active), (gst_collectpads_collect),
18031         (gst_collectpads_collect_range), (gst_collectpads_start),
18032         (gst_collectpads_stop), (gst_collectpads_peek),
18033         (gst_collectpads_pop), (gst_collectpads_available),
18034         (gst_collectpads_read), (gst_collectpads_flush),
18035         (gst_collectpads_chain):
18036         * gst/base/gstcollectpads.h:
18037         * gst/elements/Makefile.am:
18038         * gst/elements/gstelements.c:
18039         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18040         (gst_fakesink_get_times), (gst_fakesink_event),
18041         (gst_fakesink_preroll), (gst_fakesink_render):
18042         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18043         (gst_filesink_init), (gst_filesink_set_location),
18044         (gst_filesink_open_file), (gst_filesink_close_file),
18045         (gst_filesink_pad_query), (gst_filesink_event),
18046         (gst_filesink_render), (gst_filesink_change_state):
18047         * gst/elements/gstfilesink.h:
18048         Added object to help in making collect pad based elements.
18049         Ported filesink.
18050         Make event function in sink baseclass return gboolean.
18051
18052 2005-05-05  Wim Taymans  <wim@fluendo.com>
18053
18054         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18055         (gst_bin_get_by_name):
18056         * gst/gstbuffer.h:
18057         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18058         (gst_clock_finalize):
18059         * gst/gstdata.c: (gst_data_replace):
18060         * gst/gstdata.h:
18061         * gst/gstelement.c: (gst_element_request_pad),
18062         (gst_element_pads_activate):
18063         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18064         (gst_object_unref):
18065         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18066         (gst_pad_set_checkgetrange_function),
18067         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18068         (gst_pad_check_pull_range), (gst_pad_pull_range),
18069         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18070         (gst_pad_pause_task), (gst_pad_stop_task):
18071         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18072         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18073         Fix name lookup in GstBin.
18074         Added _data_replace() function and _buffer_replace()
18075         Use finalize method to clean up clock.
18076         Fix refcounting on request pads.
18077         Fix pad schedule mode error.
18078         Some more object refcounting debug info,
18079
18080
18081 2005-05-04  Andy Wingo <wingo@pobox.com>
18082
18083         * check/Makefile.am:
18084         * docs/gst/tmpl/gstatomic.sgml:
18085         * docs/gst/tmpl/gstplugin.sgml:
18086         * gst/base/gstbasesink.c: (gst_basesink_activate):
18087         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18088         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18089         (gst_basesrc_query), (gst_basesrc_set_property),
18090         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18091         (gst_basesrc_activate):
18092         * gst/base/gstbasesrc.h:
18093         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18094         (gst_base_transform_src_activate):
18095         * gst/elements/gstelements.c:
18096         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18097         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18098         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18099         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18100         (gst_type_find_element_checkgetrange),
18101         (gst_type_find_element_activate):
18102         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18103         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18104         (gst_caps_load_thyself):
18105         * gst/gstelement.c: (gst_element_pads_activate),
18106         (gst_element_save_thyself), (gst_element_restore_thyself):
18107         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18108         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18109         * gst/gstpad.h:
18110         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18111         (gst_xml_parse_file), (gst_xml_parse_memory),
18112         (gst_xml_get_element), (gst_xml_make_element):
18113         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18114         (_file_index_id_save_xml), (gst_file_index_commit):
18115         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18116         (read_enum), (load_pad_template), (load_feature), (load_plugin),
18117         (load_paths):
18118         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18119         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18120         * tools/gst-complete.c: (main):
18121         * tools/gst-compprep.c: (main):
18122         * tools/gst-inspect.c: (print_element_properties_info):
18123         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18124         * tools/gst-xmlinspect.c: (print_element_properties):
18125         GCC 4 fixen.
18126         
18127 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18128
18129         * gst/gstplugin.c: (gst_plugin_check_module),
18130         (gst_plugin_check_file), (gst_plugin_load_file):
18131             apply patch from #172526 to make register work on MacOSX
18132
18133 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18134
18135         * docs/gst/tmpl/gstconfig.sgml:
18136         * gst/gstconfig.h.in:
18137           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
18138         * testsuite/debug/printf_extension.c: (main):
18139           Do not use GST_PTR_FORMAT on pointers to types with
18140           sizeof < sizeof(gpointer).  Fixes test on 64-bit
18141         * testsuite/elements/property.h:
18142           use correct printf format
18143
18144 2005-05-02  Wim Taymans  <wim@fluendo.com>
18145
18146         * docs/design/draft-push-pull.txt:
18147         * docs/design/draft-query.txt:
18148         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
18149         (gst_basesrc_start):
18150         Added draft for new query API.
18151         Added draft for better selecting scheduling methods.
18152         Make basesrc ignore length if the subclass does not support
18153         it.
18154
18155 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18156
18157         * gst/Makefile.am:
18158           possible fixes for automake-1.5 - _LIBADD is reserved
18159
18160 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18161
18162         * docs/faq/Makefile.am:
18163         * docs/manual/Makefile.am:
18164         * docs/manuals.mak:
18165         * docs/pwg/Makefile.am:
18166         * gst/Makefile.am:
18167           possible fixes for automake-1.5
18168
18169 2005-04-28  Wim Taymans  <wim@fluendo.com>
18170
18171         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18172         (gst_basesink_pad_getcaps), (gst_basesink_init),
18173         (gst_basesink_do_sync):
18174         * gst/gstclock.c: (gst_clock_entry_new):
18175         * gst/gstevent.c: (gst_event_discont_get_value):
18176         * gst/gstpipeline.c: (pipeline_bus_handler),
18177         (gst_pipeline_change_state):
18178         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18179         Better debugging of clocking info.
18180         Allow NULL values when getting discont values.
18181
18182 2005-04-27  Wim Taymans  <wim@fluendo.com>
18183
18184         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18185         * check/gst/gstpad.c: (gst_pad_suite):
18186         Increase timeout for checks.
18187
18188 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18189
18190         * check/Makefile.am:
18191           fix the broken rule for cleanup.  Apparently this rule is
18192           only needed on FC2, so maybe this warrants further autotool
18193           inspection.
18194
18195 2005-04-26  Wim Taymans  <wim@fluendo.com>
18196
18197         * gst/gsttrashstack.h:
18198         Ooohh. a nasty one! After having a failed pop() from the stack,
18199         it's possible that the stack is empty. In that case, don't
18200         follow the NULL pointer.
18201
18202 2005-04-25  Wim Taymans  <wim@fluendo.com>
18203
18204         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18205         (gst_pad_set_checkgetrange_function),
18206         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
18207         (gst_pad_check_pull_range), (gst_pad_pull_range),
18208         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18209         (gst_pad_pause_task), (gst_pad_stop_task):
18210         * gst/gstplugin.c: (gst_plugin_load):
18211         * gst/gstplugin.h:
18212         Remove gst_library_load as it does more harm than good with
18213         the new g_module flags.
18214         Revert bogus caps template check in pad linking, pad caps
18215         are important when linking not the template, which is more
18216         general than the current caps.
18217
18218 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18219
18220         * gst/autoplug/.cvsignore:
18221         * gst/autoplug/Makefile.am:
18222         * gst/autoplug/gstsearchfuncs.c:
18223         * gst/autoplug/gstsearchfuncs.h:
18224         * gst/autoplug/gstspider.c:
18225         * gst/autoplug/gstspider.h:
18226         * gst/autoplug/gstspideridentity.c:
18227         * gst/autoplug/gstspideridentity.h:
18228         * gst/autoplug/spidertest.c:
18229           Die, spider, die.
18230
18231 2005-04-25  Wim Taymans  <wim@fluendo.com>
18232
18233         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18234         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18235         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
18236         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
18237         * gst/gstpad.h:
18238         Added stubs for unimplemented functions. 
18239
18240 2005-04-24  David Schleef  <ds@schleef.org>
18241
18242         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
18243         please fix.
18244
18245 2005-04-24  David Schleef  <ds@schleef.org>
18246
18247         Convert everything from GstAtomicInt to g_atomic_int_*, and
18248         remove gstatomic.
18249         * gst/Makefile.am:
18250         * gst/gstatomic.c:
18251         * gst/gstatomic.h:
18252         * gst/gstatomic_impl.h:
18253         * gst/gstbuffer.c:
18254         * gst/gstcaps.c:
18255         * gst/gstcaps.h:
18256         * gst/gstclock.c:
18257         * gst/gstclock.h:
18258         * gst/gstdata.c:
18259         * gst/gstdata.h:
18260         * gst/gstdata_private.h:
18261         * gst/gstevent.c:
18262         * gst/gstinfo.c:
18263         * gst/gstinfo.h:
18264         * gst/gstmessage.c:
18265         * gst/gstobject.c:
18266         * gst/gstobject.h:
18267         * gst/gststructure.c:
18268         * gst/gststructure.h:
18269         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
18270         * gst/gstutils.h:
18271
18272 2005-04-24  David Schleef  <ds@schleef.org>
18273
18274         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
18275         make the regressions tests work.  Remove some code that is no
18276         longer true.
18277         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
18278         Disable warning for pads without templates.
18279
18280 2005-04-24  David Schleef  <ds@schleef.org>
18281
18282         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
18283         functions that handle filtered links.
18284         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
18285         removed functions.
18286         * gst/gstutils.c: Fix/remove utility functions that handle
18287         filtered caps.
18288         * gst/gstutils.h:
18289         * gst/gstvalue.c: Add serialization/deserialization of caps
18290         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
18291         requires fixing so that the filter caps notation creates
18292         a capsfilter element and sets the filter_caps property.  I
18293         think everyone probably wants to keep the shorthand notation.
18294         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
18295         * docs/gst/tmpl/gstpad.sgml:
18296
18297         * gst/elements/gstelements.c: Register capsfilter element.
18298         * gst/Makefile.am: fix spacing
18299         * docs/random/ds/0.9-suggested-changes: random
18300
18301 2005-04-23  David Schleef  <ds@schleef.org>
18302
18303         * gst/elements/Makefile.am:
18304         * gst/elements/gstcapsfilter.c: New element that acts like an
18305         identity, but filters caps.  Will eventually replace filtered
18306         caps in pad linking.
18307         * gst/gstutils.c: (gst_element_create_all_pads): New function
18308         to create all the ALWAYS pads that are registered with an
18309         element class.  This functionality should eventually be
18310         merged in with GstElement initialization.
18311         * gst/gstutils.h:
18312         * testsuite/trigger/README: part of trigger test code that should
18313         have been checked in a long time ago.
18314
18315 2005-04-23  David Schleef  <ds@schleef.org>
18316
18317         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
18318         needed with new versions of libtool (nobody will confirm this),
18319         and hard to carry around.
18320         * gst/autoplug/Makefile.am:
18321         * gst/base/Makefile.am:
18322         * gst/elements/Makefile.am:
18323         * gst/indexers/Makefile.am:
18324         * gst/schedulers/Makefile.am:
18325         * libs/gst/bytestream/Makefile.am:
18326         * libs/gst/control/Makefile.am:
18327         * libs/gst/dataprotocol/Makefile.am:
18328         * libs/gst/getbits/Makefile.am:
18329
18330 2005-04-21  Wim Taymans  <wim@fluendo.com>
18331
18332         * docs/design/draft-push-pull.txt:
18333         * docs/design/part-MT-refcounting.txt:
18334         * docs/design/part-TODO.txt:
18335         * docs/design/part-caps.txt:
18336         * docs/design/part-events.txt:
18337         * docs/design/part-gstbus.txt:
18338         * docs/design/part-gstpipeline.txt:
18339         * docs/design/part-messages.txt:
18340         * docs/design/part-push-pull.txt:
18341         * docs/design/part-query.txt:
18342         Some more docs.
18343
18344 2005-04-21  Wim Taymans  <wim@fluendo.com>
18345
18346         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
18347         (gst_message_new), (gst_message_new_error),
18348         (gst_message_new_warning), (gst_message_new_tag),
18349         (gst_message_new_state_changed), (gst_message_new_application),
18350         (gst_message_get_structure):
18351         * gst/gstmessage.h:
18352         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18353         (gst_structure_copy_conditional):
18354         Use parent refcount in GstMessage to ensure GstStructure
18355         consistency.
18356         Cleaned up headers a bit.
18357         
18358
18359 2005-04-20  Wim Taymans  <wim@fluendo.com>
18360
18361         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18362         (gst_basesink_pad_getcaps), (gst_basesink_init),
18363         (gst_basesink_chain_unlocked):
18364         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
18365         (gst_type_find_helper):
18366         * gst/elements/gsttypefindelement.c:
18367         (gst_type_find_element_have_type), (gst_type_find_element_init),
18368         (stop_typefinding), (gst_type_find_element_handle_event),
18369         (find_suggest), (gst_type_find_element_chain),
18370         (gst_type_find_element_checkgetrange),
18371         (gst_type_find_element_getrange), (do_typefind),
18372         (gst_type_find_element_activate):
18373         * gst/gstbuffer.c: (_gst_buffer_sub_free),
18374         (gst_buffer_default_free), (gst_buffer_default_copy),
18375         (gst_buffer_set_caps):
18376         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
18377         (gst_caps_replace):
18378         * gst/gstmessage.c: (gst_message_new),
18379         (gst_message_new_state_changed):
18380         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18381         (gst_pad_set_checkgetrange_function),
18382         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
18383         (gst_pad_set_caps), (gst_pad_check_pull_range),
18384         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
18385         * gst/gstpad.h:
18386         * gst/gsttypefind.c: (gst_type_find_register):
18387         Make gst_caps_replace() work like other _replace() functions.
18388         Use _caps_replace() where possible.
18389         Make sure _message_new() initialises its field.
18390         Add gst_static_pad_template_get_caps()
18391
18392
18393 2005-04-18  Andy Wingo  <wingo@pobox.com>
18394
18395         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
18396         on the peer, not the pad. I think that was a typo. Pass an extra
18397         arg to see if random access is possible. Activate the pads as
18398         PULL_RANGE if possible.
18399
18400         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
18401
18402         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
18403         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
18404         to PROP_....
18405
18406 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18407
18408         * docs/faq/using.xml:
18409           Add note on gstreamer-properties (#154996).
18410
18411 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18412
18413         * docs/random/bbb/optional-properties:
18414           Some analysis on optional properties.
18415
18416 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18417
18418         * docs/gst/tmpl/gstelementfactory.sgml:
18419         * gst/gstelement.h:
18420         * gst/gstelementfactory.c: (gst_element_factory_init),
18421         (gst_element_factory_cleanup), (gst_element_register),
18422         (__gst_element_factory_add_static_pad_template),
18423         (gst_element_factory_get_static_pad_templates),
18424         (gst_element_factory_can_src_caps),
18425         (gst_element_factory_can_sink_caps):
18426         * gst/registries/Makefile.am:
18427         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
18428         (gst_xml_registry_class_init), (gst_xml_registry_init),
18429         (gst_xml_registry_new), (gst_xml_registry_set_property),
18430         (gst_xml_registry_get_property), (get_time), (make_dir),
18431         (gst_xml_registry_get_perms_func),
18432         (plugin_times_older_than_recurse), (plugin_times_older_than),
18433         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
18434         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
18435         (add_to_char_array), (read_string), (read_uint), (read_enum),
18436         (load_pad_template), (load_feature), (load_plugin), (load_paths),
18437         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
18438         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
18439         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
18440         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
18441         (gst_xml_registry_rebuild):
18442         * gst/registries/gstlibxmlregistry.h:
18443         * tools/gst-compprep.c: (main):
18444         * tools/gst-inspect.c: (print_pad_templates_info):
18445         * tools/gst-xmlinspect.c: (print_element_info):
18446           Use libxml2 for registry parsing, use staticpadtemplates in
18447           elementfactories. Makes gst_init() +/- 10x faster.
18448
18449 2005-04-12  Wim Taymans  <wim@fluendo.com>
18450
18451         * gst/base/Makefile.am:
18452         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18453         (gst_basesink_pad_getcaps), (gst_basesink_init),
18454         (gst_basesink_event), (gst_basesink_change_state):
18455         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18456         (gst_basesrc_init), (gst_basesrc_query),
18457         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18458         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18459         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18460         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18461         (gst_basesrc_stop), (gst_basesrc_activate),
18462         (gst_basesrc_change_state):
18463         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18464         (helper_find_suggest), (gst_type_find_helper):
18465         * gst/base/gsttypefindhelper.h:
18466         * gst/elements/Makefile.am:
18467         * gst/elements/gstelements.c:
18468         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18469         (gst_fakesink_get_times), (gst_fakesink_event),
18470         (gst_fakesink_preroll), (gst_fakesink_render):
18471         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18472         (gst_fakesrc_init), (gst_fakesrc_event_handler),
18473         (gst_fakesrc_get_property), (gst_fakesrc_create),
18474         (gst_fakesrc_start), (gst_fakesrc_stop):
18475         * gst/elements/gstfakesrc.h:
18476         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
18477         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18478         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18479         (gst_filesrc_create_read), (gst_filesrc_create),
18480         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
18481         (gst_filesrc_start):
18482         * gst/elements/gsttypefindelement.c:
18483         (gst_type_find_element_have_type), (gst_type_find_element_init),
18484         (start_typefinding), (stop_typefinding), (push_buffer_store),
18485         (gst_type_find_element_handle_event),
18486         (gst_type_find_element_chain),
18487         (gst_type_find_element_checkgetrange),
18488         (gst_type_find_element_getrange), (do_typefind),
18489         (gst_type_find_element_activate),
18490         (gst_type_find_element_change_state):
18491         * gst/elements/gsttypefindelement.h:
18492         * gst/gstpipeline.c: (pipeline_bus_handler):
18493         Added typefind helper.
18494         Small preroll fix in the base sink.
18495         Disable typefind code in basesrc.
18496         Crude port of typefindelement.
18497         Fakesrc cleanups.
18498
18499
18500 2005-04-11  Wim Taymans  <wim@fluendo.com>
18501
18502         * check/gst/gstbus.c: (gstbus_suite):
18503         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
18504         * check/gstcheck.h:
18505           Fix up the timeout so that the test does not fail.
18506
18507 2005-04-06  Wim Taymans  <wim@fluendo.com>
18508
18509         * gst/base/README:
18510         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18511         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
18512         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18513         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18514         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18515         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18516         (gst_basesrc_stop), (gst_basesrc_activate),
18517         (gst_basesrc_change_state), (basesrc_find_peek),
18518         (basesrc_find_suggest), (gst_basesrc_type_find):
18519         * gst/base/gstbasesrc.h:
18520         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
18521         (gst_filesrc_class_init), (gst_filesrc_init),
18522         (gst_filesrc_finalize), (gst_filesrc_set_location),
18523         (gst_filesrc_set_property), (gst_filesrc_get_property),
18524         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18525         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18526         (gst_filesrc_create_read), (gst_filesrc_create),
18527         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
18528         * gst/elements/gstfilesrc.h:
18529         * gst/gstelement.c: (gst_element_get_state_func),
18530         (gst_element_lost_state), (gst_element_pads_activate):
18531         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18532         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18533         (gst_pad_pull_range):
18534         * gst/gstpad.h:
18535         More work on the generic source base class, implement seeking,
18536         query.
18537         Make filesrc extend the base source class.
18538         Added gst_pad_set_checkgetrange_function to GstPad.
18539
18540 2005-04-06  Andy Wingo  <wingo@pobox.com>
18541
18542         * pkgconfig/gstreamer-base.pc.in:
18543         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
18544
18545         * pkgconfig/Makefile.am:
18546         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
18547
18548 2005-04-04  Wim Taymans  <wim@fluendo.com>
18549
18550         * gst/base/Makefile.am:
18551         * gst/base/README:
18552         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18553         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18554         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18555         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
18556         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18557         (gst_basesrc_base_init), (gst_basesrc_class_init),
18558         (gst_basesrc_init), (gst_basesrc_get_formats),
18559         (gst_basesrc_get_query_types), (gst_basesrc_query),
18560         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
18561         (gst_basesrc_set_property), (gst_basesrc_get_property),
18562         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
18563         (gst_basesrc_loop), (gst_basesrc_activate),
18564         (gst_basesrc_change_state):
18565         * gst/base/gstbasesrc.h:
18566         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
18567         (gst_fakesrc_class_init), (gst_fakesrc_init),
18568         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
18569         (gst_fakesrc_get_property), (gst_fakesrc_create):
18570         * gst/elements/gstfakesrc.h:
18571         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
18572         (gst_filesrc_open_file), (gst_filesrc_loop),
18573         (gst_filesrc_activate), (filesrc_find_peek),
18574         (gst_filesrc_type_find):
18575         Made base source class, make fakesrc extend it.
18576         Add comments to basesink class.
18577         Some filesrc cleanup.
18578
18579 2005-03-31  David Schleef  <ds@schleef.org>
18580
18581         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
18582         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
18583         expected to link against libgstreamer.
18584         * gst/base/Makefile.am: link against libgstreamer
18585         * gst/elements/Makefile.am: same
18586
18587 2005-03-31  Andy Wingo  <wingo@pobox.com>
18588
18589         * tests/instantiate/Makefile.am:
18590         * tests/instantiate/caps.c: Add test to test speed of caps copy
18591         and free.
18592
18593         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
18594         GMemChunk to be fair.
18595
18596         * gst/gsttrashstack.h: Remove warning about using the fallback
18597         trash stack implementation, it's still faster than malloc.
18598
18599 2005-03-30  Andy Wingo  <wingo@pobox.com>
18600
18601         * tests/complexity.c: Add a copyright.
18602
18603 2005-03-31  Wim Taymans  <wim@fluendo.com>
18604
18605         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
18606         (gst_base_transform_class_init), (gst_base_transform_init),
18607         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
18608         (gst_base_transform_get_property),
18609         (gst_base_transform_sink_activate),
18610         (gst_base_transform_src_activate),
18611         (gst_base_transform_change_state):
18612         * gst/base/gstbasetransform.h:
18613         * gst/elements/gstidentity.c: (gst_identity_class_init),
18614         (gst_identity_event), (gst_identity_check_perfect),
18615         (gst_identity_transform), (gst_identity_start),
18616         (gst_identity_stop):
18617         Added start/stop methods to transform base class so subclasses 
18618         don't need to deal with state changes even.
18619
18620 2005-03-31  Wim Taymans  <wim@fluendo.com>
18621
18622         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
18623         (gst_event_new_discontinuous), (gst_event_discont_get_value):
18624         * gst/gstevent.h:
18625         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18626         (gst_pad_pull_range):
18627         Added rate to the discont event to prepare for variable speed
18628         and reverse playback.
18629
18630 2005-03-29  David Schleef  <ds@schleef.org>
18631
18632         * configure.ac:
18633         * testsuite/trigger/Makefile.am:
18634         * testsuite/trigger/trigger.c: A little example program to show
18635         how trigger-based elements can work.
18636
18637 2005-03-29  Wim Taymans  <wim@fluendo.com>
18638
18639         * gst/base/Makefile.am:
18640         * gst/base/README:
18641         * gst/base/gstbasesink.c: (gst_basesink_get_type),
18642         (gst_basesink_base_init), (gst_basesink_class_init),
18643         (gst_basesink_pad_getcaps), (gst_basesink_init),
18644         (gst_basesink_activate), (gst_basesink_change_state):
18645         * gst/base/gstbasesink.h:
18646         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
18647         (gst_base_transform_base_init), (gst_base_transform_finalize),
18648         (gst_base_transform_class_init), (gst_base_transform_init),
18649         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
18650         (gst_base_transform_event), (gst_base_transform_getrange),
18651         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
18652         (gst_base_transform_set_property),
18653         (gst_base_transform_get_property),
18654         (gst_base_transform_sink_activate),
18655         (gst_base_transform_src_activate),
18656         (gst_base_transform_change_state):
18657         * gst/base/gstbasetransform.h:
18658         * gst/elements/gstidentity.c: (gst_identity_finalize),
18659         (gst_identity_class_init), (gst_identity_init),
18660         (gst_identity_event), (gst_identity_check_perfect),
18661         (gst_identity_transform), (gst_identity_set_property),
18662         (gst_identity_get_property), (gst_identity_change_state):
18663         * gst/elements/gstidentity.h:
18664         * gst/gstelement.c: (gst_element_get_state_func),
18665         (gst_element_lost_state), (gst_element_pads_activate):
18666         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18667         (gst_pad_check_pull_range), (gst_pad_pull_range):
18668         * gst/gstpad.h:
18669         Simplify pad activation.
18670         Added function to check if pull_range can be performed.
18671         Error out when pulling inactive or flushing pads.
18672         Removed const from refcounted types as it does not make sense.
18673         Simplify pad templates in basesink
18674         Added base class for simple 1-to-1 transforms.
18675         Make identity subclass the base transform.
18676
18677 2005-03-29  Andy Wingo  <wingo@pobox.com>
18678
18679         * docs/libs/gstreamer-libs-overrides.txt: 
18680         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
18681         really don't understand what's going on, but like whatever. I want
18682         green buildbot!
18683
18684         * docs/gst/Makefile.am:
18685         * docs/libs/Makefile.am: Dist the overrides files.
18686
18687         * check/Makefile.am (clean-local): Remove .libs directories.
18688
18689         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
18690         elements to EXTRA_DIST, so po/ files are happy.
18691
18692         * po/POTFILES.in: Er, remove it here.
18693
18694         * po/POTFILES: Remove gstspider.c.
18695
18696         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
18697
18698         * docs/libs/gstreamer-libs-docs.sgml: 
18699         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
18700         bytestream.
18701
18702         * tests/complexity.c (main): Set the length of the preroll queue
18703         on the sinks to prevent a lockup.
18704
18705         * libs/gst/dataprotocol/Makefile.am: 
18706         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
18707         the same as the one in check/gst-libs/gdp.c.
18708
18709         * po/, docs/gst/: Commit automatic changes to docs and po files.
18710
18711         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
18712         the versioned libgstbase.
18713
18714         * check/Makefile.am: Depend on an unversioned gst-register, seems
18715         to make autoconf happier.
18716
18717         * gst/base/Makefile.am: Make libgstbase a versioned lib.
18718
18719 2005-03-28  Wim Taymans  <wim@fluendo.com>
18720
18721         * configure.ac:
18722         * docs/design/part-gstelement.txt:
18723         * docs/design/part-negotiation.txt:
18724         * docs/design/part-preroll.txt:
18725         * docs/design/part-scheduling.txt:
18726         * docs/design/part-states.txt:
18727         * gst/Makefile.am:
18728         * gst/base/Makefile.am:
18729         * gst/base/README:
18730         * gst/base/gstbasesink.c: (gst_basesink_get_template),
18731         (gst_basesink_base_init), (gst_basesink_class_init),
18732         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18733         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18734         (gst_basesink_set_pad_functions),
18735         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
18736         (gst_basesink_set_property), (gst_basesink_get_property),
18737         (gst_base_sink_get_template), (gst_base_sink_get_caps),
18738         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
18739         (gst_basesink_preroll_queue_push),
18740         (gst_basesink_preroll_queue_empty),
18741         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
18742         (gst_basesink_event), (gst_basesink_get_times),
18743         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
18744         (gst_basesink_chain_unlocked), (gst_basesink_chain),
18745         (gst_basesink_loop), (gst_basesink_activate),
18746         (gst_basesink_change_state):
18747         * gst/base/gstbasesink.h:
18748         * gst/elements/Makefile.am:
18749         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
18750         (gst_fakesink_class_init), (gst_fakesink_init),
18751         (gst_fakesink_set_property), (gst_fakesink_get_property),
18752         (gst_fakesink_get_times), (gst_fakesink_event),
18753         (gst_fakesink_preroll), (gst_fakesink_render),
18754         (gst_fakesink_change_state):
18755         * gst/elements/gstfakesink.h:
18756         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18757         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
18758         * gst/gstelement.c: (gst_element_add_pad),
18759         (gst_element_get_state_func), (gst_element_abort_state),
18760         (gst_element_commit_state), (gst_element_lost_state),
18761         (gst_element_set_state), (gst_element_pads_activate):
18762         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
18763         * gst/gstpipeline.c: (gst_pipeline_send_event),
18764         (gst_pipeline_change_state):
18765         Added state change code.
18766         Added/updated docs.
18767         Added sink base class, make fakesink extend the base class.
18768         Small cleanups in GstPipeline.
18769
18770 2005-03-26  David Schleef  <ds@schleef.org>
18771
18772         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
18773         is broken and should be implemented in a different library.
18774         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
18775         * gst/gst.h: remove gstcpu.h
18776         * gst/gstcpu.c: remove
18777         * gst/gstcpu.h: remove
18778         * gst/Makefile.am.future: Remove this file.  It's ancient.
18779
18780 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18781
18782         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18783         (gst_bin_send_event):
18784           Add default event/set_manager handlers. The set_manager handler
18785           takes care that the manager is distributed over kids that were
18786           already in the bin before the manager was set. The event handler
18787           is a utility virtual function that sends the event over all sinks,
18788           so that gst_element_send_event (bin, event); has the expected
18789           behaviour.
18790         * gst/gstpad.c: (gst_pad_event_default):
18791           Re-install default event handling for discontinuities, so that
18792           seeking works without requiring hacks in applications or extra
18793           code in sinks.
18794         * gst/gstpipeline.c: (gst_pipeline_class_init),
18795         (gst_pipeline_send_event):
18796           Half hack, half utility: set a pipeline to PAUSED for seek events,
18797           since that is the only way we can guarantee a/v sync. Means that
18798           you can do gst_element_seek (pipeline, method, pos); on a pipeline
18799           and it "just works".
18800
18801 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18802
18803         * gst/gstpipeline.c: (gst_pipeline_use_clock):
18804           Lock/unlock mismatch.
18805
18806 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18807
18808         * docs/faq/gst-uninstalled:
18809           add gst-plugins-base
18810         * docs/gst/Makefile.am:
18811           don't error out until docs are fixed
18812         * docs/gst/gstreamer.types:
18813           remove thread
18814
18815 2005-03-22  Wim Taymans  <wim@fluendo.com>
18816
18817         * check/Makefile.am:
18818         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
18819         * gst/gststructure.c: (gst_structure_set_valist),
18820         (gst_structure_copy_conditional):
18821         Activated more tests.
18822         Added message test.
18823         Added G_TYPE_POINTER to GstStructure.
18824         
18825
18826 2005-03-22  Wim Taymans  <wim@fluendo.com>
18827
18828         * docs/design/part-TODO.txt:
18829         * docs/design/part-events.txt:
18830         * docs/design/part-gstbin.txt:
18831         * docs/design/part-gstbus.txt:
18832         * docs/design/part-gstpipeline.txt:
18833         * docs/design/part-messages.txt:
18834         * gst/gstbus.c:
18835         * gst/gstmessage.c:
18836         Docs updates
18837
18838 2005-03-21  Wim Taymans  <wim@fluendo.com>
18839
18840         * gst/gstbus.c: (gst_bus_post):
18841         Fix copy-and-paste error.
18842
18843 2005-03-21  Wim Taymans  <wim@fluendo.com>
18844
18845         * check/Makefile.am:
18846         * gst/Makefile.am:
18847         * gst/elements/Makefile.am:
18848         * gst/elements/gstelements.c:
18849         * gst/elements/gstfakesink.c: (gst_fakesink_init),
18850         (gst_fakesink_event), (gst_fakesink_chain):
18851         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18852         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
18853         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
18854         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
18855         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
18856         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
18857         (gst_fakesrc_loop), (gst_fakesrc_activate),
18858         (gst_fakesrc_change_state):
18859         * gst/elements/gstfakesrc.h:
18860         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
18861         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
18862         (gst_filesrc_open_file), (gst_filesrc_loop),
18863         (gst_filesrc_activate), (gst_filesrc_change_state),
18864         (filesrc_find_peek), (filesrc_find_suggest),
18865         (gst_filesrc_type_find):
18866         * gst/elements/gstidentity.c: (gst_identity_finalize),
18867         (gst_identity_class_init), (gst_identity_init),
18868         (gst_identity_proxy_getcaps), (identity_queue_push),
18869         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
18870         (gst_identity_getrange), (gst_identity_chain),
18871         (gst_identity_sink_loop), (gst_identity_src_loop),
18872         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
18873         (gst_identity_set_property), (gst_identity_get_property),
18874         (gst_identity_change_state):
18875         * gst/elements/gstidentity.h:
18876         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
18877         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
18878         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
18879         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
18880         (gst_tee_sink_activate):
18881         * gst/elements/gsttee.h:
18882         * gst/gst.c: (gst_register_core_elements), (init_post):
18883         * gst/gst.h:
18884         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
18885         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
18886         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
18887         (gst_bin_change_state):
18888         * gst/gstbin.h:
18889         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
18890         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
18891         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
18892         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
18893         (gst_bus_set_sync_handler), (gst_bus_create_watch),
18894         (bus_watch_callback), (bus_watch_destroy),
18895         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
18896         (poll_timeout), (gst_bus_poll):
18897         * gst/gstbus.h:
18898         * gst/gstcaps.h:
18899         * gst/gstdata.h:
18900         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18901         (gst_element_post_message), (gst_element_message_full),
18902         (gst_element_get_state_func), (gst_element_get_state),
18903         (gst_element_abort_state), (gst_element_commit_state),
18904         (gst_element_lost_state), (gst_element_set_state),
18905         (gst_element_pads_activate), (gst_element_change_state),
18906         (gst_element_dispose), (gst_element_set_manager_func),
18907         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
18908         (gst_element_set_manager), (gst_element_get_manager),
18909         (gst_element_set_bus), (gst_element_get_bus),
18910         (gst_element_set_scheduler), (gst_element_get_scheduler):
18911         * gst/gstelement.h:
18912         * gst/gstevent.c: (gst_event_new_segment_seek),
18913         (gst_event_new_flush):
18914         * gst/gstevent.h:
18915         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
18916         (_gst_message_free), (gst_message_get_type), (gst_message_new),
18917         (gst_message_new_eos), (gst_message_new_error),
18918         (gst_message_new_warning), (gst_message_new_tag),
18919         (gst_message_new_state_changed), (gst_message_new_application),
18920         (gst_message_get_structure), (gst_message_parse_tag),
18921         (gst_message_parse_state_changed), (gst_message_parse_error),
18922         (gst_message_parse_warning):
18923         * gst/gstmessage.h:
18924         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
18925         (gst_real_pad_set_property), (gst_pad_set_active),
18926         (gst_pad_is_active), (gst_pad_set_blocked_async),
18927         (gst_pad_set_blocked), (gst_pad_is_blocked),
18928         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
18929         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
18930         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
18931         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
18932         (gst_pad_link_filtered), (gst_pad_relink_filtered),
18933         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
18934         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
18935         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
18936         (gst_pad_set_caps), (gst_pad_configure_sink),
18937         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
18938         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
18939         (gst_real_pad_dispose), (gst_real_pad_finalize),
18940         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
18941         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18942         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
18943         * gst/gstpad.h:
18944         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
18945         (pipeline_bus_handler), (gst_pipeline_change_state),
18946         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
18947         * gst/gstpipeline.h:
18948         * gst/gstprobe.h:
18949         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18950         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
18951         (gst_queue_link_src), (gst_queue_bufferalloc),
18952         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
18953         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
18954         (gst_queue_loop), (gst_queue_handle_src_event),
18955         (gst_queue_handle_src_query), (gst_queue_src_activate),
18956         (gst_queue_change_state):
18957         * gst/gstqueue.h:
18958         * gst/gstscheduler.c: (gst_scheduler_init),
18959         (gst_scheduler_dispose), (gst_scheduler_create_task),
18960         (gst_scheduler_factory_create):
18961         * gst/gstscheduler.h:
18962         * gst/gststructure.c: (gst_structure_get_type),
18963         (gst_structure_copy_conditional):
18964         * gst/gststructure.h:
18965         * gst/gsttaginterface.h:
18966         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18967         (gst_task_init), (gst_task_dispose), (gst_task_create),
18968         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18969         (gst_task_pause):
18970         * gst/gsttask.h:
18971         * gst/gstthread.c:
18972         * gst/gstthread.h:
18973         * gst/gsttypes.h:
18974         * gst/schedulers/Makefile.am:
18975         * gst/schedulers/cothreads_compat.h:
18976         * gst/schedulers/entryscheduler.c:
18977         * gst/schedulers/faircothreads.c:
18978         * gst/schedulers/faircothreads.h:
18979         * gst/schedulers/fairscheduler.c:
18980         * gst/schedulers/gstbasicscheduler.c:
18981         * gst/schedulers/gstoptimalscheduler.c:
18982         * gst/schedulers/gthread-cothreads.h:
18983         * gst/schedulers/threadscheduler.c:
18984         (gst_thread_scheduler_task_get_type),
18985         (gst_thread_scheduler_task_class_init),
18986         (gst_thread_scheduler_task_init),
18987         (gst_thread_scheduler_task_start),
18988         (gst_thread_scheduler_task_stop),
18989         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18990         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18991         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18992         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18993         (plugin_init):
18994         * libs/gst/Makefile.am:
18995         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18996         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18997         (gst_file_pad_parent_set):
18998         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18999         (gst_dp_event_from_packet):
19000         * tests/complexity.c: (main):
19001         * tests/mass_elements.c: (main):
19002         * testsuite/states/locked.c: (message_received), (main):
19003         * testsuite/states/parent.c: (main):
19004         * tools/gst-inspect.c: (print_element_flag_info),
19005         (print_implementation_info), (print_pad_info):
19006         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19007         (main):
19008         * tools/gst-md5sum.c: (event_loop), (main):
19009         * tools/gst-typefind.c: (main):
19010         * tools/gst-xmlinspect.c: (print_element_info):
19011         Next big merge.
19012         Added GstBus for mainloop integration.
19013         Added GstMessage for sending notifications on the bus.
19014         Added GstTask as an abstraction for pipeline entry points.
19015         Removed GstThread.
19016         Removed Schedulers.
19017         Simplified GstQueue for multithreaded core.
19018         Made _link threadsafe, removed old capsnego.
19019         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19020         Added pad blocking functions.
19021         Reworked scheduling functions in GstPad to prepare for
19022         scheduling updates soon.
19023         Moved events out of data stream.
19024         Simplified GstEvent types.
19025         Added return values to push/pull.
19026         Removed clocking from GstElement.
19027         Added prototypes for state change function for next merge.
19028         Removed iterate from bins and state change management.
19029         Fixed some elements, disabled others for now.
19030         Fixed -inspect and -launch.
19031         Added check for GstBus.
19032
19033 2005-03-10  Wim Taymans  <wim@fluendo.com>
19034
19035         * docs/design/part-MT-refcounting.txt:
19036         * docs/design/part-clocks.txt:
19037         * docs/design/part-gstelement.txt:
19038         * docs/design/part-gstobject.txt:
19039         * docs/design/part-standards.txt:
19040         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19041         (gst_bin_remove_func), (gst_bin_remove):
19042         * gst/gstbin.h:
19043         * gst/gstbuffer.c:
19044         * gst/gstcaps.h:
19045         * testsuite/clock/clock1.c: (main):
19046         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19047         (main):
19048         * testsuite/dlopen/loadgst.c: (do_test):
19049         * testsuite/refcounting/bin.c: (add_remove_test1),
19050         (add_remove_test2), (main):
19051         * testsuite/refcounting/element.c: (main):
19052         * testsuite/refcounting/element_pad.c: (main):
19053         * testsuite/refcounting/pad.c: (main):
19054         * tools/gst-launch.c: (sigint_handler_sighandler):
19055         * tools/gst-typefind.c: (main):
19056         Doc updates.
19057         Added doc about clock.
19058         removed gst_bin_iterate_recurse_up(), marked methods
19059         for removal.
19060         Fix more testsuites.
19061
19062 2005-03-09  Wim Taymans  <wim@fluendo.com>
19063
19064         * gst/gstpad.c: (gst_pad_get_direction),
19065         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19066         (gst_pad_collect_valist):
19067         * testsuite/bins/interface.c: (main):
19068         * testsuite/caps/audioscale.c: (test_caps):
19069         * testsuite/caps/caps.c: (test1), (test2), (test3):
19070         * testsuite/caps/deserialize.c: (main):
19071         * testsuite/caps/enumcaps.c: (main):
19072         * testsuite/caps/filtercaps.c: (main):
19073         * testsuite/caps/intersect2.c: (main):
19074         * testsuite/caps/random.c: (main):
19075         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19076         * testsuite/caps/sets.c: (check_caps):
19077         * testsuite/caps/simplify.c: (check_caps), (main):
19078         * testsuite/caps/subtract.c: (check_caps):
19079         Fix _pad_get_direction wrt ghostpads.
19080         Fix caps testsuite.
19081
19082 2005-03-09  Wim Taymans  <wim@fluendo.com>
19083
19084         * check/Makefile.am:
19085         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19086         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19087         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19088         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19089         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19090         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19091         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19092         (bin_element_is_sink), (gst_bin_iterate_sinks),
19093         (gst_bin_iterate_all_by_interface):
19094         * gst/gstbin.h:
19095         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19096         (gst_element_change_state), (gst_element_dispose),
19097         (gst_element_finalize), (gst_element_set_loop_function):
19098         * gst/gstelement.h:
19099         * gst/gstiterator.c: (find_custom_fold_func):
19100         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19101         (gst_pad_collectv), (gst_pad_collect_valist),
19102         (gst_pad_template_new):
19103         * gst/gstpipeline.c: (gst_pipeline_class_init),
19104         (gst_pipeline_dispose), (gst_pipeline_set_property),
19105         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19106         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19107         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19108         * gst/gstutils.h:
19109         * gst/schedulers/entryscheduler.c:
19110         * gst/schedulers/gstbasicscheduler.c:
19111         (gst_basic_scheduler_cothreaded_chain),
19112         (gst_basic_scheduler_chain_add_element):
19113         * testsuite/bins/interface.c: (main):
19114         Added GstBin test.
19115         Added GstSystemClock test.
19116         Implemented clock distribution code in GstBin.
19117         Implemented iterate sinks method for future use.
19118         Rearranged gstelement.h
19119         Fix GstIterator comparison bug.
19120         Moved some code to GstPipeline, mostly clocking related.
19121
19122 2005-03-09  Wim Taymans  <wim@fluendo.com>
19123
19124         * configure.ac:
19125         * gst/gst_private.h:
19126         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19127         (gst_bin_remove_func), (gst_bin_remove),
19128         (gst_bin_get_by_name_recurse_up):
19129         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
19130         (gst_clock_id_compare_func), (gst_clock_id_wait),
19131         (gst_clock_id_wait_async), (gst_clock_init),
19132         (gst_clock_adjust_unlocked), (gst_clock_get_time):
19133         * gst/gstelement.h:
19134         * gst/gstinfo.c: (_gst_debug_init):
19135         * gst/gstobject.h:
19136         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19137         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
19138         * gst/gstpad.h:
19139         Bump version number, we're now 0.9.0
19140         Add future debugging category.
19141         Fix NULL _unref() in _get_by_name_recurse_up
19142         Rearrange gstpad.h.
19143         Update some docs.
19144
19145 2005-03-08  Wim Taymans  <wim@fluendo.com>
19146
19147         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
19148         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
19149         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19150         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
19151         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
19152         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
19153         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
19154         * gst/elements/gstidentity.c: (gst_identity_class_init):
19155         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
19156         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
19157         * gst/elements/gstshaper.c: (gst_shaper_class_init):
19158         * gst/elements/gststatistics.c: (gst_statistics_class_init):
19159         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
19160         (gst_tee_link):
19161         * gst/gstelement.c: (gst_element_class_init),
19162         (gst_element_base_class_init), (gst_element_init),
19163         (gst_element_get_random_pad), (gst_element_wait_state_change),
19164         (gst_element_change_state), (gst_element_dispose),
19165         (gst_element_finalize), (gst_element_set_loop_function):
19166         * gst/gstelement.h:
19167         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
19168         * gst/gstthread.c: (gst_thread_class_init),
19169         (gst_thread_release_children_locks), (gst_thread_change_state):
19170         * gst/schedulers/gstbasicscheduler.c:
19171         (gst_basic_scheduler_loopfunc_wrapper),
19172         (gst_basic_scheduler_chain_wrapper),
19173         (gst_basic_scheduler_src_wrapper),
19174         (gst_basic_scheduler_remove_element):
19175         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
19176         Remove threadsafe properties. Fix elements because GObject
19177         complains when installing a property before declaring a
19178         set/get_property handler.
19179         Rearrange gstelement.h file, use STATE macros for state locks.
19180         Free mutexes in the finalize method instead of dispose.
19181
19182 2005-03-08  Wim Taymans  <wim@fluendo.com>
19183
19184         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19185         * gst/gstthread.c: (gst_thread_release_children_locks):
19186         Added parentage check.
19187         Fix build og GstThread again.
19188
19189 2005-03-08  Wim Taymans  <wim@fluendo.com>
19190
19191         * docs/design/part-MT-refcounting.txt:
19192         * docs/design/part-conventions.txt:
19193         * docs/design/part-gstobject.txt:
19194         * docs/design/part-relations.txt:
19195         * docs/design/part-standards.txt:
19196         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19197         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
19198         (gst_bin_get_by_name), (gst_bin_get_by_interface),
19199         (gst_bin_iterate_all_by_interface):
19200         * gst/gstbuffer.h:
19201         * gst/gstclock.h:
19202         * gst/gstelement.c: (gst_element_class_init),
19203         (gst_element_change_state), (gst_element_set_loop_function):
19204         * gst/gstelement.h:
19205         * gst/gstiterator.c:
19206         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
19207         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
19208         (gst_object_dispatch_properties_changed), (gst_object_set_name),
19209         (gst_object_set_parent), (gst_object_unparent),
19210         (gst_object_check_uniqueness):
19211         * gst/gstobject.h:
19212         Docs updates, clean up some headers.
19213
19214 2005-03-07  Wim Taymans  <wim@fluendo.com>
19215
19216         * check/.cvsignore:
19217         * check/Makefile.am:
19218         * check/gst-libs/.cvsignore:
19219         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
19220         * check/gst/.cvsignore:
19221         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
19222         (START_TEST), (gstbus_suite), (main):
19223         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
19224         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
19225         (gst_data_suite), (main):
19226         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
19227         (add_fold_func), (gstiterator_suite), (main):
19228         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
19229         (thread_name_object), (thread_name_object_default),
19230         (gst_object_name_compare), (gst_object_suite), (main):
19231         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
19232         (gst_pad_suite), (main):
19233         * check/gstcheck.c: (gst_check_log_message_func),
19234         (gst_check_log_critical_func), (gst_check_init):
19235         * check/gstcheck.h:
19236         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19237         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
19238         Added checks.
19239
19240 2005-03-07  Wim Taymans  <wim@fluendo.com>
19241
19242         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19243         (gst_list_iterator_next), (gst_list_iterator_resync),
19244         (gst_list_iterator_free), (gst_iterator_new_list),
19245         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
19246         (gst_iterator_free), (gst_iterator_push), (filter_next),
19247         (filter_resync), (filter_uninit), (filter_free),
19248         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
19249         (gst_iterator_foreach), (find_custom_fold_func),
19250         (gst_iterator_find_custom):
19251         * gst/gstiterator.h:
19252         Added missing files.
19253
19254 2005-03-07  Wim Taymans  <wim@fluendo.com>
19255
19256         * Makefile.am:
19257         * configure.ac:
19258         * docs/design/part-MT-refcounting.txt:
19259         * docs/design/part-conventions.txt:
19260         * docs/design/part-gstobject.txt:
19261         * docs/design/part-relations.txt:
19262         * examples/mixer/mixer.c: (main):
19263         * examples/thread/thread.c: (eos), (main):
19264         * gst/Makefile.am:
19265         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
19266         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
19267         (gst_spider_plug_from_srcpad):
19268         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
19269         (gst_spider_identity_change_state),
19270         (gst_spider_identity_sink_loop_type_finding):
19271         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
19272         * gst/elements/gstidentity.c: (gst_identity_init):
19273         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
19274         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
19275         * gst/elements/gsttypefindelement.c: (free_entry):
19276         * gst/gst.c:
19277         * gst/gst.h:
19278         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
19279         (gst_bin_set_clock_func), (gst_bin_auto_clock),
19280         (gst_bin_set_index), (gst_bin_set_element_sched),
19281         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
19282         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
19283         (gst_bin_iterate_elements), (iterate_child_recurse),
19284         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
19285         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
19286         (compare_interface), (gst_bin_get_by_interface),
19287         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
19288         * gst/gstbin.h:
19289         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
19290         (gst_buffer_default_free), (gst_buffer_default_copy),
19291         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
19292         (gst_buffer_create_sub):
19293         * gst/gstbuffer.h:
19294         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
19295         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
19296         (gst_caps_unref), (gst_static_caps_get),
19297         (gst_caps_remove_and_get_structure), (gst_caps_append),
19298         (gst_caps_append_structure), (gst_caps_remove_structure),
19299         (gst_caps_copy_nth), (gst_caps_set_simple),
19300         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
19301         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
19302         (gst_caps_structure_intersect_field), (gst_caps_intersect),
19303         (gst_caps_structure_subtract_field), (gst_caps_subtract),
19304         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
19305         (gst_caps_structure_figure_out_union),
19306         (gst_caps_switch_structures), (gst_caps_do_simplify),
19307         (gst_caps_replace), (gst_caps_from_string),
19308         (gst_caps_copy_conditional):
19309         * gst/gstcaps.h:
19310         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
19311         (_gst_clock_id_free), (gst_clock_id_unref),
19312         (gst_clock_id_compare_func), (gst_clock_id_wait),
19313         (gst_clock_id_wait_async), (gst_clock_class_init),
19314         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
19315         (gst_clock_get_time), (gst_clock_set_time_adjust),
19316         (gst_clock_set_property), (gst_clock_get_property):
19317         * gst/gstclock.h:
19318         * gst/gstcompat.h:
19319         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
19320         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
19321         * gst/gstdata.h:
19322         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19323         (gst_element_requires_clock), (gst_element_provides_clock),
19324         (gst_element_set_clock), (gst_element_clock_wait),
19325         (gst_element_wait), (gst_element_set_time_delay),
19326         (gst_element_is_indexable), (gst_element_add_pad),
19327         (gst_element_add_ghost_pad), (gst_element_remove_pad),
19328         (pad_compare_name), (gst_element_get_static_pad),
19329         (gst_element_request_pad), (gst_element_get_request_pad),
19330         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
19331         (gst_element_class_get_pad_template_list),
19332         (gst_element_class_get_pad_template), (gst_element_error_func),
19333         (gst_element_get_random_pad), (gst_element_get_event_masks),
19334         (gst_element_send_event), (gst_element_seek),
19335         (gst_element_get_query_types), (gst_element_query),
19336         (gst_element_get_formats), (gst_element_convert),
19337         (gst_element_is_locked_state), (gst_element_set_locked_state),
19338         (gst_element_sync_state_with_parent), (gst_element_change_state),
19339         (gst_element_finalize), (gst_element_yield),
19340         (gst_element_interrupt), (gst_element_set_scheduler),
19341         (gst_element_get_scheduler), (gst_element_set_loop_function):
19342         * gst/gstelement.h:
19343         * gst/gstevent.h:
19344         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
19345         (gst_format_get_by_nick), (gst_format_get_details),
19346         (gst_format_iterate_definitions):
19347         * gst/gstformat.h:
19348         * gst/gstindex.c: (gst_index_gtype_resolver):
19349         * gst/gstinfo.c:
19350         * gst/gstinfo.h:
19351         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
19352         (gst_mem_chunk_free):
19353         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19354         (gst_object_ref), (gst_object_unref), (gst_object_sink),
19355         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
19356         (gst_object_dispatch_properties_changed),
19357         (gst_object_set_name_default), (gst_object_set_name),
19358         (gst_object_get_name), (gst_object_set_name_prefix),
19359         (gst_object_get_name_prefix), (gst_object_set_parent),
19360         (gst_object_get_parent), (gst_object_unparent),
19361         (gst_object_check_uniqueness), (gst_object_save_thyself),
19362         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
19363         (gst_object_set_property), (gst_object_get_property),
19364         (gst_object_get_path_string):
19365         * gst/gstobject.h:
19366         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
19367         (gst_real_pad_init), (gst_real_pad_get_property),
19368         (gst_pad_custom_new), (gst_pad_get_direction),
19369         (gst_pad_set_active), (gst_pad_is_active),
19370         (gst_pad_set_event_function), (gst_pad_is_linked),
19371         (gst_pad_link_free), (gst_pad_link_intersect),
19372         (gst_pad_link_fixate), (gst_pad_set_caps),
19373         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
19374         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
19375         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
19376         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
19377         (gst_pad_get_caps), (gst_pad_peer_get_caps),
19378         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
19379         (gst_pad_realize), (gst_pad_get_allowed_caps),
19380         (gst_real_pad_dispose), (gst_real_pad_finalize),
19381         (gst_pad_collectv), (gst_pad_collect_valist),
19382         (gst_pad_template_dispose), (gst_pad_template_new),
19383         (gst_pad_get_internal_links):
19384         * gst/gstpad.h:
19385         * gst/gstpipeline.c: (gst_pipeline_dispose),
19386         (gst_pipeline_change_state):
19387         * gst/gstpipeline.h:
19388         * gst/gstplugin.c:
19389         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
19390         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
19391         * gst/gstpluginfeature.h:
19392         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
19393         * gst/gstquery.c: (_gst_query_type_initialize),
19394         (gst_query_type_register), (gst_query_type_get_by_nick),
19395         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
19396         * gst/gstquery.h:
19397         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
19398         * gst/gstscheduler.c: (gst_scheduler_add_element),
19399         (gst_scheduler_factory_create):
19400         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19401         (gst_structure_free), (gst_structure_set_name),
19402         (gst_structure_id_set_value), (gst_structure_set_value),
19403         (gst_structure_set_valist), (gst_structure_remove_field),
19404         (gst_structure_remove_fields),
19405         (gst_structure_remove_fields_valist),
19406         (gst_structure_remove_all_fields), (gst_structure_foreach),
19407         (gst_structure_map_in_place),
19408         (gst_caps_structure_fixate_field_nearest_int),
19409         (gst_caps_structure_fixate_field_nearest_double):
19410         * gst/gststructure.h:
19411         * gst/gstsystemclock.c: (gst_system_clock_class_init),
19412         (gst_system_clock_init), (gst_system_clock_dispose),
19413         (gst_system_clock_async_thread),
19414         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
19415         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
19416         * gst/gstsystemclock.h:
19417         * gst/gsttag.c: (gst_tag_list_add_value_internal),
19418         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
19419         * gst/gsttaginterface.c:
19420         * gst/gstthread.c: (gst_thread_dispose),
19421         (gst_thread_release_children_locks), (gst_thread_change_state),
19422         (gst_thread_main_loop):
19423         * gst/gsttrashstack.h:
19424         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
19425         * gst/gsttypes.h:
19426         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19427         (gst_element_request_pad), (gst_element_get_pad_from_template),
19428         (gst_element_request_compatible_pad),
19429         (gst_element_get_compatible_pad_filtered),
19430         (gst_element_get_compatible_pad), (gst_element_state_get_name),
19431         (gst_element_link_pads_filtered), (gst_element_link_filtered),
19432         (gst_element_link_many), (gst_element_link),
19433         (gst_element_link_pads), (gst_element_unlink_pads),
19434         (gst_element_unlink_many), (gst_element_unlink),
19435         (gst_pad_can_link_filtered), (gst_pad_can_link),
19436         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
19437         (gst_object_default_error), (gst_bin_add_many),
19438         (gst_bin_remove_many), (gst_element_populate_std_props),
19439         (gst_element_class_install_std_props), (gst_buffer_merge),
19440         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
19441         (link_fold_func), (gst_pad_proxy_setcaps):
19442         * gst/gstutils.h:
19443         * gst/gstvalue.c: (gst_value_deserialize_string):
19444         * gst/parse/grammar.y:
19445         * gst/schedulers/gstbasicscheduler.c:
19446         (gst_basic_scheduler_cothreaded_chain),
19447         (gst_basic_scheduler_chain_recursive_add),
19448         (gst_basic_scheduler_pad_link):
19449         * gst/schedulers/gstoptimalscheduler.c:
19450         (get_group_schedule_function),
19451         (gst_opt_scheduler_state_transition),
19452         (gst_opt_scheduler_add_element), (element_get_reachables_func):
19453         * libs/gst/bytestream/bytestream.c:
19454         * libs/gst/dataprotocol/dataprotocol.c:
19455         (gst_dp_header_from_buffer):
19456         * po/nb.po:
19457         * po/ru.po:
19458         * tests/threadstate/threadstate2.c: (eos):
19459         * tools/gst-compprep.c: (main):
19460         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
19461         (print_pad_info), (print_children_info):
19462         * tools/gst-launch.c: (idle_func), (main):
19463         * tools/gst-md5sum.c: (idle_func), (main):
19464         * tools/gst-xmlinspect.c: (print_element_info):
19465         First THREADED backport attempt, focusing on adding locks and
19466         making sure the API is threadsafe. Needs more work. More docs
19467         follow this week.
19468
19469 2005-02-24  Andy Wingo  <wingo@pobox.com>
19470
19471         * tests/bench-complexity.scm:
19472         * tests/complexity.gnuplot: New files, good for running complexity
19473         benchmarks.
19474
19475         * tests/Makefile.am:
19476         * tests/complexity.c: New test, sets up N elements, at each level
19477         teeing into M streams per element. Eeeenteresting.
19478
19479         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
19480         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
19481         running bench-mass_elements.scm.
19482
19483         * tests/bench-mass_elements.scm: New script, runs mass_elements
19484         for various numbers of identities, outputting the results to a
19485         file. Requires guile 1.6. Just for testing.
19486
19487 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19488
19489         * gst/schedulers/fairscheduler.c:
19490           compile with debug disabled
19491
19492 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19493
19494         * configure.ac:
19495           hunting season on 0.9 is now OPEN