tools/gst-inspect.c: List flags as hex so it's easier to deal with.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-09-15  Wim Taymans  <wim@fluendo.com>
2
3         * tools/gst-inspect.c: (print_element_properties_info),
4         (print_signal_info):
5         List flags as hex so it's easier to deal with.
6
7 2006-09-15  Wim Taymans  <wim@fluendo.com>
8
9         * docs/libs/gstreamer-libs-sections.txt:
10         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
11         (gst_base_sink_do_sync):
12         * libs/gst/base/gstbasesink.h:
13         Expose logic to wait for preroll so that subclasses such as audiosink
14         can also use this method.
15         API: gst_base_sink_wait_preroll()
16
17 2006-09-15  Wim Taymans  <wim@fluendo.com>
18
19         * gst/gstobject.c: (gst_object_set_parent):
20         * gst/gstpipeline.c: (do_pipeline_seek):
21         Small cleanups in docs and code.
22
23         * gst/gstsegment.c: (gst_segment_clip):
24         * tests/check/gst/gstsegment.c: (GST_START_TEST):
25         if stop == start and start is in the segment, no clipping should be
26         done. Also add a test for this.
27
28 2006-09-15  Wim Taymans  <wim@fluendo.com>
29
30         * docs/design/part-buffering.txt:
31         * docs/gst/gstreamer-sections.txt:
32         * gst/gstmessage.c: (gst_message_new_buffering),
33         (gst_message_parse_buffering):
34         * gst/gstmessage.h:
35         Added methods to create and parse BUFFERING messages.
36         Added preliminary docs about buffering.
37         API: gst_message_new_buffering
38         API: gst_message_parse_buffering
39
40 2006-09-06  Wim Taymans  <wim@fluendo.com>
41
42         * gst/gstbin.c:
43         Update documentation.
44
45         * gst/gstelement.c: (gst_element_class_init),
46         (gst_element_release_request_pad), (gst_element_set_clock),
47         (gst_element_get_index), (gst_element_add_pad),
48         (gst_element_remove_pad), (gst_element_get_random_pad),
49         (gst_element_send_event), (gst_element_get_query_types),
50         (gst_element_query), (gst_element_post_message),
51         (gst_element_message_full), (gst_element_continue_state),
52         (gst_element_lost_state), (gst_element_save_thyself),
53         (gst_element_restore_thyself):
54         Documentation updates.
55         Rename last bit of the new-pad -> pad-added signal rename.
56         Fix the case where an element query would only work if the source
57         pad was linked.
58         Avoid some useless type checking in message handling.
59
60         * gst/gstevent.c:
61         * gst/gstevent.h:
62         * gst/gstutils.c:
63         Documentation updates.
64
65 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
66
67         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
68           add an INFO line for when we actually update the fd
69
70 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
71
72         * configure.ac:
73           back to TRUNK
74
75 === release 0.10.10 ===
76
77 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
78
79         * configure.ac:
80           releasing 0.10.10, "Pais"
81
82 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
83
84         * docs/manual/advanced-position.xml:
85           Fix typo in sample code.
86
87 2006-09-05  Wim Taymans  <wim@fluendo.com>
88
89         * libs/gst/net/gstnetclientclock.c: (inet_aton),
90         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
91         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
92         * libs/gst/net/gstnetclientclock.h:
93         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
94         * libs/gst/net/gstnettimepacket.h:
95         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
96         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
97         (gst_net_time_provider_thread), (gst_net_time_provider_new):
98         * libs/gst/net/gstnettimeprovider.h:
99         Make stuff compile on windows. Fixes #345295.
100
101 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
102
103         * gst/gst.c: (ensure_current_registry_forking):
104           Print better details when child was terminated by signal.
105
106 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
107
108         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
109           Print a warning rather than g_assert() if a plugin feature
110           is a URI handler but returns no protocols (#353976).
111
112 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
113
114         * docs/random/moving-plugins:
115         Fix two typos.         
116
117 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
118
119         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
120           Fix locking order, handle NULL function values properly.
121
122         * gst/gstinfo.h:
123           Fix docs.
124
125         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
126           Initialise variable before using it and fix debug statement to
127           print the address of the function rather than the address of the
128           variable on the stack holding the address of the function.
129
130 2006-09-01  Wim Taymans  <wim@fluendo.com>
131
132         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
133         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
134         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
135         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
136         (gst_ghost_pad_parent_unset),
137         (gst_ghost_pad_internal_do_activate_push),
138         (gst_ghost_pad_internal_do_activate_pull),
139         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
140         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
141         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
142         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
143         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
144         (gst_ghost_pad_new_no_target_from_template),
145         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
146         More cleanups.
147         Avoid needless typechecking in macros.
148         Since the internal pad is always present and never changes, there is
149         no need to locking or ref when retrieving it.
150         Improve debugging a bit.
151         Handle link errors when setting the target. Fixes #341029.
152
153 2006-09-01  Wim Taymans  <wim@fluendo.com>
154
155         * docs/libs/gstreamer-libs-sections.txt:
156         * docs/plugins/gstreamer-plugins-sections.txt:
157         Fix docs some more.
158
159         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
160         (gst_collect_pads_event):
161         * libs/gst/base/gstcollectpads.h:
162         Documentation updates.
163         Free queued buffer when removing a pad.
164
165 2006-08-31  Michael Smith  <msmith@fluendo.com>
166
167         * gst/gstutils.c: (gst_element_link_pads),
168         (gst_element_link_pads_filtered):
169           Ensure that we set a capsfilter to NULL if we failed to link it
170           when doing filtered linking, to avoid criticals.
171
172           No need to check for unreffing srcpad, which is explicly NULLed
173           above (a trivial code cleanup).
174
175 2006-08-31  Wim Taymans  <wim@fluendo.com>
176
177         * docs/design/part-gstghostpad.txt:
178         Update ascii art in documentation.
179
180         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
181         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
182         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
183         (gst_ghost_pad_internal_do_activate_push),
184         (gst_ghost_pad_internal_do_activate_pull),
185         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
186         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
187         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
188         (gst_ghost_pad_set_target):
189         Small cleanups and leak fixes.
190         Remove some checks now that the internal pad is never NULL.
191         Fix the case where linking pads without a target would create nasty
192         criticals. Fixes #341029.
193         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
194         value of _set_target().
195
196         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
197         (gst_ghost_pad_suite):
198         Some more tests for creating and linking untargeted ghostpads.
199
200 2006-08-31  Edward Hervey  <edward@fluendo.com>
201
202         * docs/gst/gstreamer-sections.txt:
203         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
204         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
205         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
206         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
207         (gst_ghost_pad_new_from_template),
208         (gst_ghost_pad_new_no_target_from_template):
209         * gst/gstghostpad.h:
210         Refactored *_new() functions.
211         Templates are now used as a g_object_new() parameter.
212         Use template in _do_getcaps() if we don't have a target.
213         Small documentation cleanups.
214         Added two new constructors:
215         gst_ghost_pad_new_from_template()
216         gst_ghost_pad_new_no_target_from_template()
217         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
218         (gst_ghost_pad_suite):
219         Added tests for new ghostpad instanciation functions.
220
221         API additions: gst_ghost_pad_new_from_template,
222         gst_ghost_pad_new_no_target_from_template
223
224 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
225
226         * docs/random/ensonic/profiling.txt:
227           Ideas about qos profiling.
228
229 2006-08-29  Wim Taymans  <wim@fluendo.com>
230
231         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
232         Code cleanups.
233         Fix memleak.
234
235 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
236
237         * gst/gstxml.c:
238           Improve and detypofy docs.
239
240         * tests/check/Makefile.am:
241         * tests/check/gst/.cvsignore:
242         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
243           Add a basic test suite for GstXML.
244
245 2006-08-29  Wim Taymans  <wim@fluendo.com>
246
247         * gst/gstelement.c: (activate_pads), (clear_caps),
248         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
249         Clear the pad caps when the element shut down all of the pads and
250         is not streaming data that could modify the caps. 
251         Fixes #352958.
252
253 2006-08-28  Michael Smith  <msmith@fluendo.com>
254
255         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
256           Revert previous change; I misunderstood single-segment mode.
257
258 2006-08-28  Michael Smith  <msmith@fluendo.com>
259
260         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
261           Unset DISCONT on buffers when using single-segment mode.
262
263 2006-08-28  Wim Taymans  <wim@fluendo.com>
264
265         * gst/gstcaps.c: (gst_caps_merge_structure):
266         * gst/gstcaps.h:
267         Fix docs and indentation again.
268
269         * tests/check/gst/gstquery.c: (GST_START_TEST):
270         Fix leak in tests and add some more tests.
271
272 2006-08-28  Edward Hervey  <edward@fluendo.com>
273
274         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
275         Inform GstSegment of the last stop position in order for the current
276         segment to have a proper duration if it doesn't have a specific stop
277         position from which a duration could be calculated.
278         This bug was noticeable when a non-flushing, non-update new segment was
279         followed by another segment (all buffers from the new segment were being
280         dropped).
281
282 2006-08-28  Wim Taymans  <wim@fluendo.com>
283
284         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
285         Small comment update.
286
287         * plugins/elements/gstidentity.c: (gst_identity_class_init),
288         (gst_identity_transform_ip):
289         Drop-probability is broken, mention this in the code with a 
290         FIXME and also in the property description.
291         Make silent also be silent about the drop messages.
292
293 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
294
295         * docs/manual/appendix-win32.xml:
296           Remove mention of popt, we don't depend on that any
297           longer (#353136). Add some comments pointing out that
298           this section is slightly outdated.
299
300 2006-08-28  Wim Taymans  <wim@fluendo.com>
301
302         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
303
304         * gst/gstquery.c: (gst_query_new_segment):
305         * tests/check/gst/gstquery.c: (GST_START_TEST):
306         Initialize variables when creating a new segment query.
307         Fixes #353121.
308
309 2006-08-28  Wim Taymans  <wim@fluendo.com>
310
311         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
312
313         * gst/gstelement.c: (gst_element_get_bus):
314         * tests/check/gst/gstelement.c: (GST_START_TEST):
315         Check for NULL before _reffing the bus. Fixes #353122.
316
317 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
318
319         * docs/manual/basics-bus.xml:
320           Docs update: fix wrong callback return value explanation; add
321           some lines about the implicit relationship between main loop
322           and main context; remove duplicate main loop variable declaration.
323
324 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
325
326         * tests/check/gst/gstcaps.c: (GST_START_TEST):
327           Don't leak caps in unit test; add a few more simple
328           checks. 
329
330 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
331
332         * docs/gst/gstreamer-sections.txt:
333         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
334         (gst_caps_structure_is_subset), (gst_caps_merge),
335         (gst_caps_merge_structure):
336         * gst/gstcaps.h:
337         * libs/gst/base/gstbasetransform.c:
338         (gst_base_transform_transform_caps):
339         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
340           implement caps merging (fixes #352580)
341
342 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
343
344         * tools/Makefile.am:
345         * tools/gst-plot-timeline.py:
346           add debug-log plotting developer tool (#340674)
347
348 2006-08-23  Wim Taymans  <wim@fluendo.com>
349
350         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
351         (gst_pad_stop_task):
352         Improve debugging for task functions.
353
354         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
355         (gst_task_start), (gst_task_pause), (gst_task_join):
356         Make sure that the task function started and finished after a 
357         join(). 
358         Don't try to push the task function on the threadpool multiple
359         times.
360         Improve the g_warning message with some useful suggestions
361         about how to fix the problem. 
362
363 2006-08-23  Wim Taymans  <wim@fluendo.com>
364
365         * gst/gstutils.c: (gst_pad_proxy_getcaps):
366         Handle RESYNC correctly in _proxy_getcaps.
367
368 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
369
370         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
371         (gst_xml_parse_memory), (gst_xml_get_element):
372           Chain up to parent class in dispose function and also
373           unref the elements in the toplevel_elements GList.
374           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
375           Always return a reference in gst_xml_get_element() rather
376           than only sometimes.
377
378         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
379           Don't leak GstXml object.
380
381 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
382
383         * docs/gst/gstreamer-sections.txt:
384         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
385         (gst_caps_merge):
386         * gst/gstcaps.h:
387         * libs/gst/base/gstbasetransform.c:
388         (gst_base_transform_transform_caps):
389           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
390           in a better way
391
392 2006-08-21  Edward Hervey  <edward@fluendo.com>
393
394         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
395         Implement GObject::dispose virtual method in GstXML so we can free the
396         top_elements GList.
397
398 2006-08-21  Wim Taymans  <wim@fluendo.com>
399
400         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
401         (gst_buffer_create_sub):
402         Copy duration/offset_end/caps when creating a subbuffer of the
403         complete parent.
404         Make the subbuffer read-only when we make the metadata writable for
405         now. Fixes #351768.
406
407         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
408         Added check for metadata copy when creating subbuffers.
409
410 2006-08-21  Edward Hervey  <edward@fluendo.com>
411
412         * libs/gst/base/gstbasetransform.c:
413         (gst_base_transform_buffer_alloc):
414         Only call downstream buffer_alloc if transform element is passthrough
415         or always_in_place. Closes #350449.
416
417 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
418
419         * ChangeLog:
420           ChangeLog surgery to add comments to previous changes
421
422 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
423
424         * gst/gst.c:
425           Add comments
426
427         * gst/gstpad.c: (gst_pad_set_active):
428           Be more verbose in the log
429
430         * libs/gst/base/gstbasetransform.c:
431         (gst_base_transform_transform_caps):
432           Simplify caps to get rid of duplicates, fixes #345444
433
434 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
435
436         * gst/gstvalue.c:
437         * gst/gstvalue.h:
438           Use these optimizations only internally.
439
440 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
441
442         * gst/gstvalue.c: (gst_value_compare_list),
443         (gst_value_compare_fraction_range),
444         (gst_value_intersect_fraction_fraction_range),
445         (gst_value_intersect_fraction_range_fraction_range),
446         (gst_value_subtract_fraction_fraction_range),
447         (gst_value_subtract_fraction_range_fraction_range),
448         (gst_value_get_compare_func), (gst_value_compare),
449         (gst_value_compare_with_func):
450         * gst/gstvalue.h:
451           Saves the expensive lookup of the compare function in many cases
452          (#345444)
453
454 2006-08-18  Edward Hervey  <edward@fluendo.com>
455
456         * tests/check/gst/gstinfo.c: (gst_info_suite):
457         Disable test that require gstdebug if it wasn't built in core.
458
459 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
460
461         * docs/random/ensonic/logging.txt:
462           update ideas
463           
464         * gst/gstinfo.c: (gst_debug_log_default):
465           reorder fields, save some columns, add optional color codes for log
466           levels
467
468 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
469
470         * docs/random/ensonic/logging.txt:
471           add ideas about making the logs a bit more useful
472
473 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
474
475         * docs/pwg/advanced-events.xml:
476         * docs/pwg/titlepage.xml:
477           Update for 0.10 API (#340627). Add myself
478           to authors list.
479
480 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
481
482         * docs/libs/gstreamer-libs-docs.sgml:
483         * docs/libs/gstreamer-libs-sections.txt:
484         * libs/gst/check/gstbufferstraw.c:
485           Make gstcheck stuff show up in docs (still needs to
486           be documented properly though).
487
488 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
489
490         * docs/gst/gstreamer-sections.txt:
491         * gst/Makefile.am:
492         * gst/gst.c: (init_post):
493         * gst/gst_private.h:
494         * gst/gstquark.c: (_priv_gst_quarks_initialize):
495         * gst/gstquark.h:
496         * gst/gstquery.c: (gst_query_new_position),
497         (gst_query_set_position), (gst_query_parse_position),
498         (gst_query_new_duration), (gst_query_set_duration),
499         (gst_query_parse_duration), (gst_query_new_convert),
500         (gst_query_set_convert), (gst_query_parse_convert),
501         (gst_query_new_segment), (gst_query_set_segment),
502         (gst_query_parse_segment), (gst_query_new_seeking),
503         (gst_query_set_seeking), (gst_query_parse_seeking):
504         Add internal helpers for pre-registering quarks from static strings
505         and using the quark values directly instead of looking them up when
506         creating and parsing queries. Can be used for event construction too.
507         Closes #350432.
508
509 2006-08-16  Wim Taymans  <wim@fluendo.com>
510
511         * gst/gstbin.c:
512         Fix bogus docs.
513
514 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
515
516         * gst/gstutils.c: (gst_util_set_value_from_string):
517           Fix memleak (#351502).
518
519         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
520           Add unit test for most of gst_util_set_value_from_string()
521           (not that one would want to encourage use of this function).
522
523 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
524
525         * libs/gst/check/gstcheck.h:
526           Use const gchar * variables in fail_unless_equals_string
527           macro to avoid compiler warnings (and don't use tabs for
528           indenting).
529
530 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
531
532         * tools/gst-launch.c: (print_tag):
533           More space on the left for the tag names, to cater
534           for the 'extended comment' tag (not touching the
535           string for the first line since it's translated).
536
537 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
538
539         * libs/gst/check/gstcheck.h:
540           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
541           print something when they fail.
542
543 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
544
545         * docs/gst/gstreamer-sections.txt:
546         * gst/gsttaglist.c: (_gst_tag_initialize):
547         * gst/gsttaglist.h:
548           API: add GST_TAG_EXTENDED_COMMENT (#350935).
549           Also change merge function for GST_TAG_COMMENT to
550           use_first.
551
552 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
553
554         * gst/gstinfo.c: (gst_debug_print_object):
555           Make GST_PTR_FORMAT print messages as well.
556
557         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
558         (GST_START_TEST), (gst_info_suite):
559           More tests.
560
561 2006-08-14  Edward Hervey  <edward@fluendo.com>
562
563         * gst/gstelementfactory.c: (gst_element_register):
564         If the GstElementClass doesn't have a GstElementDetails with all fields
565         filled up correctly (longname, description AND author), then error out
566         nicely instead of crashing.
567
568 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
569
570         * gst/gststructure.c:
571           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
572
573         * gst/gstvalue.h:
574           Expand on the difference between arrays and lists as we use them.
575           
576 2006-08-14  Wim Taymans  <wim@fluendo.com>
577
578         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
579         If the parent state change function failed, don't assume we can safely
580         stop the source, this will be done when the pads are deactivated.
581
582 2006-08-14  Wim Taymans  <wim@fluendo.com>
583
584         * gst/gstbuffer.c:
585         * gst/gsttask.c: (gst_task_join):
586         Small doc updates.
587
588         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
589         (gst_pad_stop_task):
590         When pad (de)activation failed for some reason, restore the old
591         activation mode and set the pad to flushing instead of assuming the
592         pad is deactivated.
593         If the _task_join() failed, reinstall the task on the pad so that it can
594         be stopped later and return an error.
595
596 2006-08-11  Andy Wingo  <wingo@pobox.com>
597
598         * configure.ac:
599         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
600         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
601         is only for users of API that don't want to see deprecated
602         functions in the headers; people that want to compile out
603         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
604         CFLAGS. Fixes the build of multifdsink, or will soon..
605
606 2006-08-11  Wim Taymans  <wim@fluendo.com>
607
608         * docs/gst/gstreamer-sections.txt:
609         Add GstClockClass vmethod docs.
610
611         * gst/gstcaps.h:
612         Mark #endif with comment for associated #if
613
614         * gst/gstclock.c: (gst_clock_id_wait):
615         * gst/gstclock.h:
616         Add vmethod wait_jitter to avoid an unneeded _get_time() for
617         most clock implementations.
618         Document vmethods.
619         Flesh out docs about resolution methods.
620         API: GstClockClass::wait_jitter
621
622         * gst/gstsystemclock.c: (gst_system_clock_class_init),
623         (gst_system_clock_async_thread),
624         (gst_system_clock_id_wait_jitter_unlocked),
625         (gst_system_clock_id_wait_jitter):
626         Use base class wait_jitter variant for improved performance
627         due to less clock polling.
628
629 2006-08-11  Edward Hervey  <edward@fluendo.com>
630
631         * gst/gst.c: (gst_init_check), (init_post):
632         Set gst as being initialized before scanning/updating the registry,
633         since there might be my python plugin loader that calls gst_init() and
634         we don't want to loop back in.
635         Closes #350879
636
637 2006-08-11  Wim Taymans  <wim@fluendo.com>
638
639         * docs/design/part-qos.txt:
640         Bring docs in line with the code. Mostly the sign of the jitter was
641         wrong in the docs. Fixes #349943.
642
643         * gst/gstclock.c:
644         Fix the docs for the jitter.
645
646         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
647         (gst_event_parse_tag), (gst_event_new_buffer_size),
648         (gst_event_parse_buffer_size), (gst_event_parse_qos),
649         (gst_event_new_seek), (gst_event_parse_seek),
650         (gst_event_new_navigation):
651         Make sure the GstStructure has no parent when creating custom
652         events.
653         Add some more argument checking so that we avoid 0.0 rates.
654         Flesh out the docs for the QoS event some more.
655
656 2006-08-11  Wim Taymans  <wim@fluendo.com>
657
658         * docs/gst/gstreamer-sections.txt:
659         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
660         (ensure_current_registry_forking), (ensure_current_registry),
661         (parse_one_option), (parse_goption_arg), (gst_deinit),
662         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
663         * gst/gst.h:
664         Doc updates.
665         Added API and command line option to disable registry forking in
666         addition to the environment variable.
667         Constify some static arrays.
668         Added some more debug.
669         Don't deinit twice.
670         API: gst_registry_fork_is_enabled()
671         API: gst_registry_fork_set_enabled()
672         API: --gst-disable-registry-fork command line option
673         Fixes #348918.
674
675 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
676
677         * gst/gst.c: (gst_init):
678           Fix typo in error message.
679
680 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
681
682         * libs/gst/controller/gstcontroller.h:
683           fix ABI size-correction
684
685         * tests/check/libs/gdp.c: (gst_dp_suite):
686           make tests that use deprecated API conditional
687
688 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
689
690         * docs/libs/gstreamer-libs-sections.txt:
691         * libs/gst/controller/gstcontroller.c:
692         (_gst_controller_get_property), (_gst_controller_set_property),
693         (_gst_controller_init), (_gst_controller_class_init):
694         * libs/gst/controller/gstcontroller.h:
695         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
696         (gst_object_set_control_rate):
697           API: add gst_object_{s,g}et_control_rate(), add private data section,
698           fix docs
699
700         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
701         * libs/gst/dataprotocol/dataprotocol.h:
702           add deprecation guards to make gtk-doc happy and allow disabling cruft
703
704 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
705
706         * tests/check/Makefile.am:
707         * tests/check/gst/.cvsignore:
708           Let's enable the new unit test as well.
709
710 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
711
712         * configure.ac:
713         * docs/gst/gstreamer-sections.txt:
714         * gst/gstconfig.h.in:
715         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
716         (_gst_info_printf_extension_ptr),
717         (_gst_info_printf_extension_segment):
718           API: add GST_SEGMENT_FORMAT, which is a printf extension we
719           register that lets us easily dump GstSegments into debug
720           logs (#350419).
721
722         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
723         (info_segment_format_printf_extension), (gst_info_suite):
724           Add simple unit test that logs a bunch of different segments (not
725           valgrinded at the moment because of leaks in
726           gst_debug_add_log_function).
727
728 2006-08-09  Edward Hervey  <edward@fluendo.com>
729
730         * libs/gst/base/gstbasetransform.c:
731         (gst_base_transform_buffer_alloc):
732         Even if we can't figure out the proper format to request downstream,
733         call buffer_alloc() downstream with the input parameters without setting
734         the caps on the srcpad. This will force negotiation in the chain
735         function.
736         Closes #350449
737
738 2006-08-08  Edward Hervey  <edward@fluendo.com>
739
740         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
741         Unlinking from a pad without a target is now a perfectly valid case
742         which should NOT raise an assertion.
743         This case would happen if a linked ghostpad its target set to NULL after
744         it was previously linked.
745
746 2006-08-08  Edward Hervey  <edward@fluendo.com>
747
748         * tests/check/libs/gdp.c:
749         Also comment out the test (see below).
750
751 2006-08-08  Edward Hervey  <edward@fluendo.com>
752
753         * tests/check/libs/gdp.c: (gst_dp_suite):
754         Use the architecture information from config.h and not gcc macros
755         in order to properly disable a test that fails on PPC64.
756
757 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
758
759         * gst/gstelement.c: (gst_element_remove_pad):
760           Don't crash printing the warning if the pad has no parent.
761
762 2006-08-02  Wim Taymans  <wim@fluendo.com>
763
764         * libs/gst/dataprotocol/dataprotocol.c:
765         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
766         (gst_dp_crc), (gst_dp_header_payload_length),
767         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
768         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
769         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
770         (gst_dp_event_from_packet), (gst_dp_validate_header),
771         (gst_dp_validate_payload):
772         Make debug category static
773         Constify the crc table.
774         Do some more arg checking in public functions.
775         Fix some docs and do some small cleanups.
776
777         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
778         Add some more checks to see if GDP deals with bogus input.
779
780 2006-07-31  Wim Taymans  <wim@fluendo.com>
781
782         * gst/gstvalue.c: (gst_value_compare_list):
783         Fix GstValueList comparison code. Fixes #347293.
784
785         * tests/check/gst/gstvalue.c: (GST_START_TEST):
786         Check to test GstValueList comparison.
787
788 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
789
790         * gst/gstelementfactory.c: (gst_element_factory_create):
791         Remove unnecessary ref/unref pair
792
793         * gst/parse/grammar.y:
794         Make sure to free the parse buffer on all code paths.
795         Move a g_free up to the error handler where it's easier to see.
796
797         * tests/check/gst/gstevent.c: (test_event):
798         Extending timeout for downstream travelling events to 10 seconds to
799         hopefully avoid intermittent failure on the buildbots.
800
801         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
802         Don't manually set the state of the src element - it will happen as a
803         natural consequence of the pipeline changing state, and that way it
804         will do it in the right order too.
805
806 2006-07-31  Wim Taymans  <wim@fluendo.com>
807
808         * libs/gst/base/gstbasetransform.c:
809         (gst_base_transform_buffer_alloc):
810         Use OBJECT_LOCK and refcounting to get the pad caps in the
811         buffer_alloc function because the caps could change while we are
812         busy with them. Fixes #349105
813
814 2006-07-31  Wim Taymans  <wim@fluendo.com>
815
816         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
817         Protect _PAD_CAPS with OBJECT_LOCK.
818
819 2006-07-31  Wim Taymans  <wim@fluendo.com>
820
821         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
822         (gst_pad_get_property), (gst_pad_activate_pull),
823         (gst_pad_activate_push), (gst_pad_set_blocked_async),
824         (gst_pad_set_activate_function),
825         (gst_pad_set_activatepull_function),
826         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
827         (gst_pad_set_getrange_function),
828         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
829         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
830         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
831         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
832         (gst_pad_set_acceptcaps_function),
833         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
834         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
835         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
836         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
837         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
838         (gst_pad_configure_sink), (gst_pad_configure_src),
839         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
840         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
841         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
842         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
843         (gst_pad_send_event):
844         Use _DEBUG_OBJECT when it makes sense.
845         Protect GST_PAD_CAPS with the OBJECT_LOCK.
846         Small cleanups and code reflows.
847         Avoid caps refcounting in _accept_caps.
848         Refactor alloc_buffer so that the code performed on the peer is in a
849         separate function. Also if the pad does not implement a buffer alloc
850         function, we should still check if the pad is flushing before falling
851         back to the default allocator.
852
853 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
854
855         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
856         Make all uses of identity and fakesink have silent=true to avoid
857         serialising every passing data structure, which is breaking tests
858         on FC4 for some unknown reason.
859
860 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
861
862         * gst/parse/Makefile.am:
863         * gst/parse/grammar.y:
864         * gst/parse/parse.l:
865           Reverted previous patch as it required to bump the flex dependency to
866           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
867
868 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
869
870         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
871
872         * gst/parse/Makefile.am:
873         * gst/parse/grammar.y:
874         * gst/parse/parse.l:
875           push & pop the state of the lexer for reentrant use case
876           Fixes #349180
877
878 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
879
880         * libs/gst/base/gstbasesrc.h:
881           Note in the docs that the ::newsegment vfunc is not actually used by
882           GstBaseSrc.
883
884 2006-07-28  Wim Taymans  <wim@fluendo.com>
885
886         * libs/gst/base/gstcollectpads.c:
887         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
888         (gst_collect_pads_clear), (gst_collect_pads_flush),
889         (gst_collect_pads_event), (gst_collect_pads_chain):
890         When flushing a pad, also clear the queued buffer so that we don't
891         accidentally use it when we shouldn't.
892         Fix leaks by inreffing incomming buffer.
893         Flush out queued buffers in case of errors.
894         Fixes #347452.
895
896 2006-07-28  Wim Taymans  <wim@fluendo.com>
897
898         * docs/random/phonon-gst:
899         Random notes about a Phonon backend.
900
901 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
902
903         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
904         Extra debug output
905         * tests/check/libs/gdp.c: (gst_dp_suite):
906         Take a whack at fixing the ppc compile using a different define to
907         disable the broken test.
908
909         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
910         Remove excess g_print()
911
912 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
913
914         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
915         Oops, meant to uncomment this line too to dampen the noise a bit.
916
917 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
918
919         * gst/parse/grammar.y:
920         * gst/parse/parse.l:
921         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
922         (GST_START_TEST), (parse_suite):
923         Fix some of the leaks exposed by extending the parse-launch testsuite,
924         and move the 3 I can't figure out into a separate test that won't run
925         the pipelines unless the appropriate line is uncommented.
926
927 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
928
929         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
930           Requesting 0 bytes before the end of the file should result in
931           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
932           unit test.
933
934 2006-07-27  Wim Taymans  <wim@fluendo.com>
935
936         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
937         Fix useless assert, a uint is always positive.
938
939         * gst/gststructure.c: (gst_structure_nth_field_name),
940         (gst_structure_foreach), (gst_structure_map_in_place):
941         Check input arguments for public functions to avoid obvious crashes.
942
943         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
944         * plugins/elements/gstfakesink.h:
945         Do less useless typechecking.
946
947 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
948
949         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
950           Do not use mmap() by default since there are a number of error
951           conditions that we would like to handle in a non-fatal way that
952           will result in a SIGBUS if we use mmap(). Examples: external
953           devices (USB harddrive, portable music player) being unplugged
954           while in use; file on mounted CD/DVD that can't be read because
955           the medium is partly damaged. Fixes #348455 and #348475.
956
957 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
958
959         * gst/gstquery.h:
960         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
961         rates are a gdouble
962
963 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
964
965         * gst/gstregistry.c:
966           Move big documentation comment into class section header, so that it
967           appears in the API docs.
968
969 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
970
971         * docs/gst/gstreamer-sections.txt:
972         Oops. Commit the docs additions too for new API.
973         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
974
975 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
976
977         * gst/gststructure.c: (gst_structure_id_set),
978         (gst_structure_id_set_valist):
979         * gst/gststructure.h:
980         Add API for setting values into structures without performing
981         a quark lookup, if the appropriate quark is already known.
982
983         API: gst_structure_id_set
984         API: gst_structure_id_set_valist
985
986         * gst/parse/grammar.y:
987         * gst/parse/parse.l:
988         Remove some dead code shown by the coverage information.
989         Don't throw a critical g_warning when encountering a syntax error,
990         just warn and let the normal error path handle it.
991
992         * plugins/elements/gstelements.c:
993         Bump the rank of filesink up to PRIMARY so that it is preferred over
994         gnomevfssink for file:// sink uri's
995
996         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
997         (GST_START_TEST), (run_delayed_test),
998         (gst_parse_test_element_base_init),
999         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1000         (gst_parse_test_element_change_state),
1001         (gst_register_parse_element), (parse_suite):
1002         Beef up the tests for parse syntax to check that more error cases
1003         fail as they are supposed to. Increases the test coverage a bit.
1004
1005 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1006
1007         * docs/manual/basics-elements.xml:
1008           Fix gst_element_link() example.
1009
1010         * gst/gstutils.c:
1011           Mention in API docs that one should usually gst_bin_add()
1012           elements to a bin or pipeline before doing the linking.
1013           
1014 2006-07-26  Wim Taymans  <wim@fluendo.com>
1015
1016         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1017         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1018         Avoid function call for known types by keeping the buffer and
1019         subbuffer GType global.
1020
1021         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1022         Random silly optimisations in read() path.
1023
1024 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1025
1026         * tools/gst-launch.c: (main):
1027           If the top-level of the parse is a normal bin, it doesn't do the
1028           right logic to run as a top-level element, so place it inside a
1029           pipeline.
1030
1031 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1032
1033         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1034           Remove superfluous g_object_notify() calls, GObject does
1035           that for us automatically.
1036
1037 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1038
1039         * gst/gstinfo.h:
1040           on Win32, use dllspec to export the debug category symbols
1041
1042 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1043
1044         * gst/gsttaglist.c: (_gst_tag_initialize):
1045           Allow more than one GST_TAG_IMAGE per taglist.
1046
1047 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1048
1049         * gst/gstminiobject.c:
1050           update docs
1051         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1052         (gst_fd_src_create):
1053           log recurring events at LOG level
1054           add more debug for when the fd gets set
1055
1056 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1057
1058         * gst/gstparse.c: (gst_parse_launch):
1059           Also remove reentrance checks if flex is MT safe (#348179)
1060          Fix my empty ChangeLog entry below
1061
1062 2006-07-21  Andy Wingo  <wingo@pobox.com>
1063
1064         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1065
1066         * libs/gst/check/Makefile.am
1067         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1068         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1069         * libs/gst/check/gstbufferstraw.h:
1070         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1071         functions, thus proving I am still a GStreamer haxor. OK I wrote
1072         them a long time ago, but anyways.
1073
1074 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1075
1076         * configure.ac:
1077         * gst/gstparse.c: (gst_parse_launch):
1078           Check for flex version and omit mutex if we have a MT save flex
1079           (fixes #348179)
1080
1081 2006-07-21  Wim Taymans  <wim@fluendo.com>
1082
1083         * gst/gstparse.c: (gst_parse_launch):
1084         Protect recursive calls to _parse with a recursive mutex
1085         and busy flag.
1086
1087 2006-07-21  Wim Taymans  <wim@fluendo.com>
1088
1089         * tests/check/gst/gstpad.c: (GST_START_TEST):
1090         Fix leak in test.
1091
1092 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1093
1094         * gst/gstparse.c: (gst_parse_launch):
1095           Do not hang on recursive usage of gst_parse_launch()
1096
1097 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1098
1099         * gst/gsttaglist.c:
1100           Add some more docs, comments and FIXME 0.11s here and there
1101           and also fix some typos.
1102
1103 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1104
1105         * gst/gstsegment.h:
1106           Convert tabs to spaces for better readability. 
1107
1108 2006-07-20  Edward Hervey  <edward@fluendo.com>
1109
1110         * tests/check/libs/gdp.c: (gst_dp_suite):
1111         the test_buffer test fails at line 140 on ppc64 at the following
1112         check:
1113         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1114                 GST_BUFFER_FLAG_IN_CAPS),
1115                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1116         See bug #348114 for more details.
1117
1118 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1119
1120         * docs/pwg/advanced-scheduling.xml:
1121         * gst/gstpad.c:
1122           Fix typos (#348000).
1123
1124 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1125
1126         * docs/pwg/intro-basics.xml:
1127           Fix wrong links (#347927).
1128
1129 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1130
1131         * gst/gstregistry.h:
1132         * gst/gstregistryxml.c: (load_feature),
1133         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1134         * win32/common/config.h:
1135           make --disable-index work (#342564)
1136
1137 2006-07-18  Wim Taymans  <wim@fluendo.com>
1138
1139         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1140
1141         * gst/Makefile.am:
1142         * gst/gsttrace.h:
1143         The attached patch adds two missing defines to gsttrace.h when tracing
1144         is disabled.  It also corrects one existing define.
1145         Fixes #347756.
1146
1147 2006-07-17  Wim Taymans  <wim@fluendo.com>
1148
1149         * docs/gst/gstreamer-sections.txt:
1150         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1151         * gst/gst.h:
1152         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1153         Add two functions to check and change the SIGSEGV behaviour
1154         when loading plugins.
1155         Don't mess with the SIGSEGV handler when we were told not to.
1156         Fixes #347794.
1157         API: gst_segtrap_is_enabled
1158         API: gst_segtrap_set_enabled
1159
1160 2006-07-14  Wim Taymans  <wim@fluendo.com>
1161
1162         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1163         * tests/check/elements/filesrc.c: (GST_START_TEST):
1164         Revert fix for regression in #347408 after release.
1165
1166 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1167
1168         Patch by: Antoine Tremblay <hexa00 at gmail com>
1169
1170         * gst/gstutils.c: (gst_element_unlink):
1171           Free iterator when done (#347311).
1172
1173         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1174           And add a test case for this.
1175
1176 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1177
1178         * configure.ac:
1179         Bump nano back to CVS
1180
1181 === release 0.10.9 ===
1182
1183 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1184
1185         * configure.ac:
1186           releasing 0.10.9, "On the road again"
1187
1188 2006-07-13  Wim Taymans  <wim@fluendo.com>
1189
1190         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1191         * tests/check/elements/filesrc.c: (GST_START_TEST):
1192         Revert pull-0 fix for release. Disable check. Fixes #347408.
1193
1194 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1195
1196         * libs/gst/dataprotocol/dataprotocol.c:
1197         (gst_dp_event_from_packet_1_0):
1198           Fixes #347337: failure to deserialize event packets with
1199           empty payload (only event type)
1200
1201 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1202
1203         * gst/Makefile.am:
1204           do not install a .c file in the header directory
1205
1206 2006-07-13  Edward Hervey  <edward@fluendo.com>
1207
1208         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1209         GhostPad no longer implicitely use the padtemplates of the targets.
1210         Fixes #347384
1211
1212 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1213
1214         * gst/gstvalue.c: (gst_value_compare_list),
1215         (gst_value_compare_array), (_gst_value_initialize):
1216         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1217         Make GstValueArray comparison be order dependent as designed.
1218         Add checks for value lists and value array comparisons.
1219         Fixes #347221
1220
1221 2006-07-11  Edward Hervey  <edward@fluendo.com>
1222
1223         * gst/gstbin.c: (activate_pads),
1224         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1225         (gst_bin_change_state_func):
1226         (de)activate src pads before calling state_change on the childs.
1227         This is to avoid the case where a src ghostpad is blocked (holding the
1228         stream lock), which would block the deactivation of the ghostpad's
1229         target pad.
1230         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1231         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1232         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1233         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1234         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1235         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1236         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1237         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1238         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1239         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1240         (gst_ghost_pad_class_init),
1241         (gst_ghost_pad_internal_do_activate_push),
1242         (gst_ghost_pad_internal_do_activate_pull),
1243         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1244         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1245         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1246         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
1247         GhostPads now create their internal GstProxyPad at creation (and not
1248         when they're linked, as it was being done previously).
1249         The internal and target pads are linked straight away.
1250         The data will also travel through the other pad in order to make
1251         pad blocking and probes non-hackish (the probe/block now really happens
1252         on the GhostPad and not on the target).
1253         * gst/gstpad.c: (gst_pad_set_blocked_async),
1254         (gst_pad_link_prepare), (gst_pad_push_event):
1255         Remove previous ghostpad cruft.
1256         * gst/gstutils.c: (gst_pad_add_data_probe),
1257         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1258         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1259         (gst_pad_remove_buffer_probe):
1260         Remove previous ghost pad cruft.
1261         Added more detailed debug statements.
1262         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1263         Fix the testsuite for refcounting changes.
1264         The comments about who has references were correct, but the refcount
1265         being checked wasn't the same (!?!).
1266
1267         Fixes #341029
1268
1269 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1270
1271         * docs/gst/gstreamer-sections.txt:
1272         * gst/gstconfig.h.in:
1273         More docs for configuration options, add docs to gtk-doc.
1274
1275 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1276
1277         * gst/Makefile.am:
1278         * gst/gstconfig.h.in:
1279         * win32/common/config.h:
1280         Fix build when disabling tracing (fixes #344016). Also start to document
1281         the defines that disable the sub-systems.
1282
1283 2006-07-10  Edward Hervey  <edward@fluendo.com>
1284
1285         * gst/gst.c: (ensure_current_registry_forking):
1286         let's make valgrind happy...
1287
1288 2006-07-09  Wim Taymans  <wim@fluendo.com>
1289
1290         * gst/gstelement.c: (activate_pads),
1291         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1292         Better pad activation code: Reset the collect value too on resync.
1293         Add some comments.
1294
1295 2006-07-09  Wim Taymans  <wim@fluendo.com>
1296
1297         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
1298         (gst_pad_activate_push):
1299         Use some more macros where it makes sense.
1300         Allow pad mode switching instead of asserting. When a pad
1301         is activated in one mode and we activate it in another, 
1302         deactivate it first before activating it in a different mode.
1303         Fixes #329198.
1304
1305 2006-07-08  Andy Wingo  <wingo@pobox.com>
1306
1307         * tools/gst-launch.c (main): Handle err == NULL.
1308
1309         * gst/gst.c (init_post, ensure_current_registry)
1310         (ensure_current_registry_forking)
1311         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
1312         factoring out the registry scanning into separate functions. Don't
1313         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
1314         Better environment var name/interface suggestions accepted.
1315
1316 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1317
1318         * gst/gstobject.c: (gst_object_set_name_default),
1319         (gst_object_set_name):
1320           Random micro-optimisation: don't use a hash table
1321           with strings as keys and the usual strdup/strcmp
1322           involved, but rather just use the GQuark of the
1323           type name as key, since it needs to be looked up
1324           anyway to get the type name string.
1325
1326         * tests/check/gst/gstobject.c: (GST_START_TEST):
1327           Fix various leaks.
1328
1329 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1330
1331         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
1332         (gst_bin_iterate_all_by_interface):
1333           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
1334           GTypes are gulongs and thus the top 4 bytes might be cut
1335           off on some platforms when doing GPOINTER_TO_INT, leading
1336           to invalid GTypes and bad things happening (see RH bug #179654).
1337           Also add a check to make sure the type passed in is really
1338           an interface type.
1339
1340 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1341
1342         * .cvsignore:
1343           Ignore more.
1344
1345 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1346
1347         * Makefile.am:
1348         * configure.ac:
1349         * gst-element-check.m4:
1350         * gst-element-check.m4.in:
1351           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
1352           instead of the unversioned gst-inspect (#324176, #168659).
1353
1354 2006-07-06  Wim Taymans  <wim@fluendo.com>
1355
1356         * gst/gstmessage.h:
1357         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
1358         warnings.
1359
1360 2006-07-06  Wim Taymans  <wim@fluendo.com>
1361
1362         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1363         (gst_base_src_wait), (gst_base_src_update_length),
1364         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
1365         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
1366         (gst_base_src_loop), (gst_base_src_start),
1367         (gst_base_src_activate_pull):
1368         Update docs.
1369         blocksize == 0 now means the default blocksize when working in push
1370         based mode.
1371         Remove some pointless asserts in _wait function.
1372         Fix offset/length calculations and EOS handling. We can now pull 0
1373         bytes as well, which is allowed.
1374         use _check_get_range() to decide if we can operate in _pull based
1375         mode.
1376         Fix refcounting leak when check_get_range function was not 
1377         implemented.
1378         API GstBaseSrc::blocksize range can be 0 too now (default)
1379
1380         * tests/check/elements/filesrc.c: (GST_START_TEST),
1381         (filesrc_suite):
1382         Added check to test _get_range() behaviour.
1383
1384 2006-07-06  Wim Taymans  <wim@fluendo.com>
1385
1386         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1387         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
1388         (gst_pad_pull_range):
1389         * gst/gstpad.h:
1390         Lots of comments and docs added to the pad functions.
1391         Flesh out the expected behaviour of the get_range() functions.
1392
1393 2006-07-06  Wim Taymans  <wim@fluendo.com>
1394
1395         * gst/gstbus.h:
1396         * gst/gstclock.h:
1397         * gst/gstevent.h:
1398         * gst/gstiterator.h:
1399         * gst/gstpad.h:
1400         * gst/gstplugin.h:
1401         * gst/gsttask.h:
1402         Remove comma at end of enumerator list. 
1403
1404 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
1405
1406         * win32/common/libgstbase.def:
1407         * win32/common/libgstdataprotocol.def:
1408         * win32/common/libsgtreamer.def:
1409         Add new exported functions.
1410
1411 2006-07-05  Wim Taymans  <wim@fluendo.com>
1412
1413         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
1414         Add some more docs here and there.
1415
1416 2006-07-05  Wim Taymans  <wim@fluendo.com>
1417
1418         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
1419         (gst_base_sink_loop), (gst_base_sink_get_position):
1420         When operating in pull mode update the offset so that we
1421         read sequentially.
1422
1423 2006-07-05  Wim Taymans  <wim@fluendo.com>
1424
1425         * gst/gstregistryxml.c: (read_string):
1426         Avoid strdup. (will happen in libxml, but hey!)
1427
1428         * gst/gsturi.c:
1429         Add some more docs.
1430
1431 2006-07-05  Wim Taymans  <wim@fluendo.com>
1432
1433         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
1434         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1435         (gst_buffer_suite):
1436         No point in checking if the size of the subbuffer > 0, the
1437         code handles it correclty as demonstrated by unit test.
1438         Also add a unit test for the zero sized _new_and_alloc and
1439         _copy. Fixes #346663.
1440
1441 2006-07-05  Wim Taymans  <wim@fluendo.com>
1442
1443         * libs/gst/base/gstbasetransform.c:
1444         (gst_base_transform_prepare_output_buffer),
1445         (gst_base_transform_buffer_alloc),
1446         (gst_base_transform_handle_buffer):
1447         Make sure the buffer we pass to transform_ip has a refcount of
1448         1 and thus is writable. Fixes #343196
1449
1450 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
1451
1452         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1453         (gst_file_src_init), (gst_file_src_set_property),
1454         (gst_file_src_get_property), (gst_file_src_map_region):
1455         * plugins/elements/gstfilesrc.h:
1456         Add "sequential" property, off by default, to use madvise and hint
1457         to the kernel that sequential access is desired.
1458         Touch all retrieved pages by default to ensure they are pulled
1459         into memory. (Closes #345720)
1460
1461 2006-07-03  Wim Taymans  <wim@fluendo.com>
1462
1463         * docs/design/part-block.txt:
1464         * docs/design/part-dynamic.txt:
1465         Small docs updates.
1466
1467 2006-07-03  Wim Taymans  <wim@fluendo.com>
1468
1469         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
1470         (gst_caps_unref), (gst_static_caps_get),
1471         (gst_caps_append_structure):
1472         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1473         Use GSlice when the glib we build against is >= 2.10
1474
1475 2006-07-03  Wim Taymans  <wim@fluendo.com>
1476
1477         * gst/gstelement.c: (gst_element_pads_activate):
1478         Small cleanup in pad activation code.
1479
1480 2006-07-03  Wim Taymans  <wim@fluendo.com>
1481
1482         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1483
1484         * gst/gst-i18n-app.h:
1485         * gst/gst-i18n-lib.h:
1486         * tools/gst-inspect.c: (print_signal_info):
1487         The attached patch will make the inclusion of gettext.h unconditional in
1488         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
1489         libintl.h in tools/gst-inspect.c.
1490         This allows use of --disable-nls again and fixes #344642.
1491
1492 2006-07-03  Edward Hervey  <edward@fluendo.com>
1493
1494         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
1495         Implement pad blocking on events according to part-block.txt.
1496         More comments on behaviour.
1497         * tests/check/gst/gstevent.c: (test_event):
1498         Send event to peer pad of blocked pad (else it will block).
1499
1500 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1501
1502         * libs/gst/check/gstcheck.c: (gst_check_message_error),
1503         (gst_check_run_suite):
1504           if we get the wrong message, give us the types as string
1505         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1506           Fix a translatable
1507         * tests/check/elements/filesrc.c: (GST_START_TEST):
1508           add a test for trying to open a non-existing file
1509
1510 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1511
1512         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1513           add a test for adding self
1514
1515 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1516
1517         * libs/gst/check/gstcheck.h:
1518           add some assert_ as alias for fail_unless_*
1519         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
1520           increase test coverage
1521
1522 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1523
1524         * Makefile.am:
1525           include lcov.mak for lcov coverage generation
1526         * tools/Makefile.am:
1527           add to CLEANFILES
1528
1529 2006-07-02  Edward Hervey  <edward@fluendo.com>
1530
1531         * tests/check/elements/.cvsignore:
1532         moaping
1533
1534 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1535
1536         * configure.ac:
1537           don't set CFLAGS and friends for gcov, done from GST_GCOV now
1538         * tests/check/Makefile.am:
1539           clean up gcov files
1540
1541 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1542
1543         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
1544           remove gst_caps_simplify; it was not declared and not used
1545           and deprecated in 0.8
1546
1547 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1548
1549         * docs/faq/gst-uninstalled:
1550           don't put empty paths on PYTHONPATH
1551         * docs/gst/gstreamer-sections.txt:
1552           remove some symbols that are not there
1553
1554 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1555
1556         * gst/gstcaps.c: (gst_caps_compare_structures):
1557           whitespace fixes
1558         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1559         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1560           add more tests
1561
1562 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1563
1564         * libs/gst/dataprotocol/Makefile.am:
1565           build dataprotocol test by linking to the lib, instead of
1566           compiling the source, so we get coverage
1567         * tests/check/Makefile.am:
1568         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
1569         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
1570           add a test for filesrc
1571
1572 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1573
1574         * tests/check/gst/gststructure.c: (GST_START_TEST),
1575         (gst_structure_suite):
1576           Push coverage from 59.04% to 70.00%
1577
1578 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1579
1580         * tests/check/Makefile.am:
1581           gst-inspect every element; this makes sure that we also get
1582           coverage on element's get/set functions
1583
1584 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1585
1586         * configure.ac:
1587           set CFLAGS and friends to -O0 if gcov is being used
1588           add GCOV LIBS
1589         * gst/Makefile.am:
1590         * libs/gst/base/Makefile.am:
1591         * libs/gst/check/Makefile.am:
1592         * libs/gst/controller/Makefile.am:
1593         * libs/gst/dataprotocol/Makefile.am:
1594         * libs/gst/net/Makefile.am:
1595         * plugins/elements/Makefile.am:
1596         * plugins/indexers/Makefile.am:
1597           add makefile rules to generate gcov data and clean up
1598         * tests/check/Makefile.am:
1599           add a coverage target that generates an html overview
1600           of coverage data
1601
1602 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1603
1604         * tests/check/elements/fakesink.c:
1605         * tests/check/elements/fakesrc.c:
1606         * tests/check/elements/fdsrc.c:
1607         * tests/check/elements/identity.c:
1608         * tests/check/generic/sinks.c: (gst_sinks_suite):
1609         * tests/check/generic/states.c:
1610         * tests/check/gst/gst.c:
1611         * tests/check/gst/gstabi.c:
1612         * tests/check/gst/gstbin.c:
1613         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
1614         * tests/check/gst/gstbus.c: (gst_bus_suite):
1615         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1616         * tests/check/gst/gstelement.c:
1617         * tests/check/gst/gstevent.c: (gst_event_suite):
1618         * tests/check/gst/gstghostpad.c:
1619         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
1620         * tests/check/gst/gstmessage.c: (gst_message_suite):
1621         * tests/check/gst/gstminiobject.c:
1622         * tests/check/gst/gstobject.c:
1623         * tests/check/gst/gstpad.c:
1624         * tests/check/gst/gstpipeline.c:
1625         * tests/check/gst/gstplugin.c:
1626         * tests/check/gst/gstquery.c: (gst_query_suite):
1627         * tests/check/gst/gstsegment.c: (gst_segment_suite):
1628         * tests/check/gst/gststructure.c:
1629         * tests/check/gst/gstsystemclock.c:
1630         * tests/check/gst/gsttag.c:
1631         * tests/check/gst/gsttask.c: (gst_task_suite):
1632         * tests/check/gst/gstutils.c:
1633         * tests/check/gst/gstvalue.c:
1634         * tests/check/libs/adapter.c:
1635         * tests/check/libs/basesrc.c:
1636         * tests/check/libs/collectpads.c:
1637         * tests/check/libs/controller.c:
1638         * tests/check/libs/gdp.c: (gst_dp_suite):
1639         * tests/check/libs/gstnetclientclock.c:
1640         * tests/check/libs/gstnettimeprovider.c:
1641         * tests/check/libs/libsabi.c: (libsabi_suite):
1642         * tests/check/libs/typefindhelper.c:
1643         * tests/check/pipelines/cleanup.c:
1644         * tests/check/pipelines/parse-launch.c:
1645         * tests/check/pipelines/simple-launch-lines.c:
1646         * tests/check/pipelines/stress.c: (stress_suite):
1647           use the new macro
1648
1649 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1650
1651         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
1652         * libs/gst/check/gstcheck.h:
1653           create a macro and function so that the simple unit test
1654           case can be just one macro to create main()
1655
1656 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
1657
1658         * gst/gstbin.c: (gst_bin_restore_thyself):
1659         * gst/gstxml.c: (gst_xml_make_element):
1660           Fix deserialisation from XML. Set parent manually
1661           instead of using gst_bin_add(), since gst_bin_add()
1662           will unlink all pads of the element being added.
1663           Fixes #341667.
1664
1665 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
1666
1667         Patch by: Peter Kjellerstedt <pkj at axis com>
1668
1669         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
1670           Fix missing g_strdup() and double free when using the
1671           --gst-plugin-load command line option (#346097).
1672
1673 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1674
1675         * gst/gstinfo.c:
1676           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
1677
1678         * libs/gst/net/gstnetclientclock.c:
1679         * libs/gst/net/gstnettimeprovider.c:
1680           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
1681
1682 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1683
1684         * docs/manual/advanced-dataaccess.xml:
1685           Fix buffer probe example compilation in
1686           ADM (#345708).
1687         
1688 2006-06-22  Edward Hervey  <edward@fluendo.com>
1689
1690         * gst/gstelement.c: (gst_element_pads_activate):
1691         We need to deactivate src pads first and then sink pads.
1692         The reason is the src pads might be blocking while holding the streaming
1693         lock, so we need to deactivate them first so that deactivating the sink
1694         pads doesn't block (since it will require the streaming lock).
1695
1696 2006-06-22  Wim Taymans  <wim@fluendo.com>
1697
1698         * libs/gst/base/gstbasetransform.c:
1699         (gst_base_transform_buffer_alloc):
1700         Forgot to remove two unneeded unrefs.
1701         Simplify a check _is_equal allready checks the obvious case.
1702
1703 2006-06-22  Wim Taymans  <wim@fluendo.com>
1704
1705         * docs/design/part-block.txt:
1706         Some docs about what pad_block should do.
1707
1708 2006-06-22  Wim Taymans  <wim@fluendo.com>
1709
1710         * gst/gstcaps.c: (gst_caps_replace):
1711         Fix crasher when passed NULL. Doc clarification.
1712         Optimize for the trivial case.
1713
1714         * gst/gstpipeline.c: (gst_pipeline_change_state):
1715         Small cleanups.
1716
1717         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1718         Small documentation cleanup.
1719
1720         * libs/gst/base/gstbasetransform.c:
1721         (gst_base_transform_buffer_alloc):
1722         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
1723         is what we need and it avoids a whole lot of redundant 
1724         refcount operations.
1725
1726 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
1727
1728         Patch by: Philip Jägenstedt  <philip at lysator liu se>
1729
1730         * docs/manual/advanced-dataaccess.xml:
1731           Fix 'Embedding static elements' section to use
1732           GST_PLUGIN_DEFINE_STATIC (#345607).
1733
1734 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1735
1736         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
1737           Attempt to 'fix' spuriously failing test case: it seems like the
1738           timeout of half a second is simply too small when the system is under
1739           load otherwise, and the timeout doesn't really seem to serve any
1740           particular purpose here. Give the pipeline a few seconds to preroll
1741           first, and then give it another half a second to go from PAUSED to
1742           PLAYING and marshal the message into the main thread.
1743
1744 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1745
1746         * tools/gst-feedback-m.m:
1747           Don't only use unversioned tools, try versioned tools as well
1748           (#345086).
1749
1750 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1751
1752         * gst/gstbus.c: (gst_bus_class_init):
1753           Fix some typos, make docs more explicit.
1754
1755 2006-06-20  Wim Taymans  <wim@fluendo.com>
1756
1757         * tests/check/gst/gstghostpad.c: (block_callback),
1758         (GST_START_TEST), (gst_ghost_pad_suite):
1759         Added some more ghostpad tests, mainly blocking
1760         and probes.
1761
1762 2006-06-16  Wim Taymans  <wim@fluendo.com>
1763
1764         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1765         (gst_file_sink_close_file), (gst_file_sink_do_seek),
1766         (gst_file_sink_event), (gst_file_sink_render):
1767         * plugins/elements/gstfilesink.h:
1768         Check if we can seek in the file instead of assuming
1769         we always can. Post an error when we are asked to seek in a
1770         non-seekable file (like a fifo). Fixes #343312.
1771         Some cleanups.
1772
1773 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1774
1775         * tools/gst-launch.1.in:
1776           Un-garble (fourcc) bit in filtered caps section.
1777
1778 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1779
1780         * docs/manual/advanced-autoplugging.xml:
1781         * docs/manual/basics-helloworld.xml:
1782         * docs/manual/highlevel-components.xml:
1783           Don't leak bus reference in sample code.
1784
1785 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
1786
1787         * autogen.sh:
1788           Add default for new --enable-plugin-docs switch.
1789
1790         * configure.ac:
1791           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
1792           Fixes #344039.
1793
1794         * docs/Makefile.am:
1795           Use new ENABLE_PLUGIN_DOCS conditional.
1796
1797 2006-06-14  Wim Taymans  <wim@fluendo.com>
1798
1799         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
1800         Make it clear with a FIXME and a real define what the #if 0
1801         previously disabled.
1802
1803 2006-06-14  Wim Taymans  <wim@fluendo.com>
1804
1805         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1806         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1807         * libs/gst/base/gstbasetransform.c:
1808         (gst_base_transform_sink_eventfunc):
1809         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1810         Don't randomly and silently reset a segment when the format 
1811         changes as this is a bug somewhere upstream. Fixes #330379.
1812
1813 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1814
1815         Patch by: Wouter Paesen  <wouter at kangaroot net>
1816
1817         * libs/gst/controller/gstcontroller.c:
1818         (gst_controlled_property_new):
1819           Fix controlling of float properties (#344849).
1820
1821         * tests/check/libs/controller.c:
1822         (gst_test_mono_source_get_property),
1823         (gst_test_mono_source_set_property),
1824         (gst_test_mono_source_class_init), (GST_START_TEST):
1825           While we're at it, add some float stuff to unit test.
1826
1827 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1828
1829         * docs/README:
1830         * docs/images/gdp-header.svg:
1831           add a gdp image
1832         * docs/libs/Makefile.am:
1833         * docs/libs/gdp-header.png:
1834         * libs/gst/dataprotocol/dataprotocol.c:
1835           add it to the API docs
1836         * docs/manual/intro-motivation.xml:
1837           fix typo
1838
1839 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1840
1841         * gst/gst.c: (scan_and_update_registry), (init_post):
1842           If the fork()'ed child process can't write the updated registry cache
1843           file to disk for some reason, make it exit with a failure exit code,
1844           so that the parent can then re-scan the plugins itself and update the
1845           registry structures in memory and work with that (rather than failing
1846           when creating elements because seemingly no plugins are available).
1847           Refactor registry scanning code into separate function for this and
1848           also separate fork() and non-fork() code paths. Fixes #344748.
1849
1850 2006-06-13  Wim Taymans  <wim@fluendo.com>
1851
1852         * docs/manual/advanced-dataaccess.xml:
1853         Fix wrong PluginDesc. Fixes #344755.
1854
1855 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1856
1857         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1858           Fix silly bug that prevented us from creating
1859           ~/.gstreamer-0.10 and writing the registry in one
1860           go (the first call to g_mkstemp() would overwrite the
1861           placeholder in the template string, so the second call
1862           to g_mkstemp() after creating the missing directory
1863           would then error out with 'invalid argument').
1864
1865 2006-06-13  Edward Hervey  <edward@fluendo.com>
1866
1867         * gst/gst.c: (init_post):
1868         Free string.
1869
1870 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1871
1872         * gst/glib-compat-private.h:
1873         * gst/glib-compat.c:
1874         * gst/glib-compat.h:
1875         * gst/gstvalue.c: (gst_value_serialize_flags):
1876           remove GLib 2.6 compatibility code
1877
1878 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
1879
1880         * gst/parse/Makefile.am:
1881           Fix build with 'make -j N' even more (#340016).
1882
1883 2006-06-12  Wim Taymans  <wim@fluendo.com>
1884
1885         * docs/gst/gstreamer-sections.txt:
1886         Fix docs.
1887
1888 2006-06-12  Wim Taymans  <wim@fluendo.com>
1889
1890         * gst/gstsegment.c: (gst_segment_set_duration),
1891         (gst_segment_set_last_stop), (gst_segment_set_seek),
1892         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1893         (gst_segment_to_running_time), (gst_segment_clip):
1894         Use G_UNLIKELY to help the compiler a bit.
1895
1896 2006-06-12  Wim Taymans  <wim@fluendo.com>
1897
1898         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1899
1900         * gst/gstevent.c: (gst_event_get_type):
1901         * gst/gstmessage.c:
1902         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1903         (gst_pad_push):
1904         constify quark registration strings. Fixes #344115
1905         Avoid unneeded type checking is _pad_push() by internally
1906         calling gst_pad_chain_unchecked().
1907
1908 2006-06-12  Wim Taymans  <wim@fluendo.com>
1909
1910         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
1911         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
1912         (gst_subbuffer_finalize), (gst_buffer_create_sub),
1913         (gst_buffer_is_span_fast), (gst_buffer_span):
1914         Init _type for consistency.
1915         Use _FLAGS macro to avoid type check.
1916         Avoid unneeded type checks in subbufer code.
1917
1918 2006-06-12  Wim Taymans  <wim@fluendo.com>
1919
1920         * gst/gst.c: (gst_debug_help):
1921         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
1922         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1923         (gst_plugin_feature_list_free):
1924         * gst/gstregistry.c: (gst_registry_add_plugin),
1925         (gst_registry_add_feature), (gst_registry_plugin_filter),
1926         (gst_registry_feature_filter), (gst_registry_find_plugin),
1927         (gst_registry_find_feature), (gst_registry_get_plugin_list),
1928         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
1929         * gst/gstregistryxml.c: (load_feature),
1930         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
1931         * gst/gstminiobject.c: (gst_mini_object_unref),
1932         (gst_mini_object_replace), (gst_value_mini_object_free),
1933         (gst_value_mini_object_copy):
1934         Use _CAST macros to avoid unneeded type checking.
1935         Added some more G_UNLIKELY.
1936
1937 2006-06-12  Wim Taymans  <wim@fluendo.com>
1938
1939         * gst/gstbuffer.h:
1940         Avoid unneeded type checking.
1941         API: GST_BUFFER_IS_DISCONT
1942
1943         * gst/gstminiobject.h:
1944         Avoid type check in flag accessor.
1945
1946         * gst/gstelementfactory.h:
1947         * gst/gstplugin.h:
1948         * gst/gstpluginfeature.h:
1949         Add _CAST macros.
1950         API: GST_ELEMENT_FACTORY_CAST
1951         API: GST_PLUGIN_CAST
1952         API: GST_PLUGIN_FEATURE_CAST
1953
1954 2006-06-12  Wim Taymans  <wim@fluendo.com>
1955
1956         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
1957         (gst_object_unref):
1958         Add G_UNLIKELY in type registration.
1959         Avoid type check in _ref/_unref since that is also
1960         done in glib.
1961
1962 2006-06-12  Wim Taymans  <wim@fluendo.com>
1963
1964         * gst/gsterror.c: (gst_g_error_get_type):
1965         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1966         (gst_static_pad_template_get_type):
1967         * gst/gsttaglist.c: (gst_tag_list_get_type):
1968         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
1969         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
1970         * gst/gsturi.c: (gst_uri_handler_get_type):
1971         * gst/gstvalue.c: (gst_date_get_type):
1972         * gst/gstxml.c: (gst_xml_get_type):
1973         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1974         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1975         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
1976         Add G_UNLIKELY in type registration.
1977
1978 2006-06-12  Wim Taymans  <wim@fluendo.com>
1979
1980         * tools/gst-inspect.c: (print_signal_info):
1981         Properly print enum values.
1982
1983 2006-06-12  Wim Taymans  <wim@fluendo.com>
1984
1985         * gst/gstinfo.c: (gst_debug_set_active),
1986         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
1987         * gst/gstinfo.h:
1988         Add some G_[UN]LIKELY.
1989         Maintain __gst_debug_min to avoid formatting the arguments of
1990         debug messages that will be dropped anyway to avoid a lot of 
1991         overhead from the debugging system.
1992
1993 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
1994
1995         * po/POTFILES.in:
1996         * po/POTFILES.skip:
1997           add missing files containing translatable strings, tell intltool about
1998           one exception
1999
2000 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2001
2002         * tests/check/libs/.cvsignore:
2003         add test-binary to ignore list
2004
2005 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2006
2007         * docs/libs/gstreamer-libs-docs.sgml:
2008         reorder (put dp into a chapter) and indent
2009
2010 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2011
2012         * configure.ac:
2013           back to HEAD
2014
2015 === release 0.10.8 ===
2016
2017 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2018
2019         * configure.ac:
2020           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2021
2022 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2023
2024         * gst/gst.c: (init_post):
2025           move pid declaration to declaration block
2026
2027 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2028
2029         * gst/gst.c: (init_post):
2030           use _exit() instead of exit() in our forked child; this ensures
2031           that none of the registered exit handlers from whatever is using
2032           GStreamer get executed.  This fixes gnome-mixer-applet failing
2033           to load, because ORBit would shut down.
2034           Spotted by: Edward Hervey  <edward@fluendo.com>
2035           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2036           Fixes #344474
2037
2038 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2039
2040         * configure.ac:
2041           back to TRUNK
2042
2043 === release 0.10.7 ===
2044
2045 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2046
2047         * configure.ac:
2048           releasing 0.10.7, "Soepeke, ik zie ou"
2049
2050 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2051
2052         * configure.ac:
2053         * po/af.po:
2054         * po/az.po:
2055         * po/bg.po:
2056         * po/ca.po:
2057         * po/cs.po:
2058         * po/de.po:
2059         * po/en_GB.po:
2060         * po/fr.po:
2061         * po/it.po:
2062         * po/nb.po:
2063         * po/nl.po:
2064         * po/ru.po:
2065         * po/sq.po:
2066         * po/sr.po:
2067         * po/sv.po:
2068         * po/tr.po:
2069         * po/uk.po:
2070         * po/vi.po:
2071         * po/zh_CN.po:
2072         * po/zh_TW.po:
2073         * win32/common/config.h:
2074           0.10.6.2 prerelease
2075
2076 2006-06-07  Wim Taymans  <wim@fluendo.com>
2077
2078         * gst/gstindex.c: (gst_index_gtype_resolver):
2079         * tools/gst-xmlinspect.c: (print_plugin_info):
2080         Fix leak spotted by coverity checker. Fixes #343827
2081         Fix another other leak found by paolo borelli.
2082
2083 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2084
2085         * libs/gst/dataprotocol/dataprotocol.c:
2086         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2087         (gst_dp_version_get_type), (gst_dp_init),
2088         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2089         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2090         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2091         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2092         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2093         (gst_dp_packetizer_free):
2094         * libs/gst/dataprotocol/dataprotocol.h:
2095           API: add a GstDPPacketizer object, and create/free functions
2096           API: add GstDPVersion enum
2097           Add 1.0 event function that uses the string serialization
2098           Serialize more useful buffer flags
2099           Fixes #343988
2100
2101 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2102
2103         * tests/check/Makefile.am:
2104         * tests/check/gst/gstabi.c:
2105         * tests/check/gst/struct_ppc64.h:
2106         * tests/check/libs/libsabi.c:
2107         * tests/check/libs/struct_ppc64.h:
2108           add ppc64 structure sizes
2109
2110 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2111
2112         * tests/check/Makefile.am:
2113         * tests/check/gst/gstabi.c:
2114         * tests/check/gst/struct_x86_64.h:
2115         * tests/check/libs/libsabi.c:
2116         * tests/check/libs/struct_x86_64.h:
2117           generate and add structure size lists for x86_64
2118
2119 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2120
2121         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2122         * libs/gst/check/gstcheck.h:
2123           factor out the method from tests that checks size of structures,
2124           and add code to generate the header containing these sizes
2125         * tests/check/gst/gstabi.c: (GST_START_TEST):
2126         * tests/check/gst/struct_i386.h:
2127         * tests/check/libs/libsabi.c: (GST_START_TEST):
2128         * tests/check/libs/struct_i386.h:
2129           use it
2130
2131 2006-06-06  Michael Smith  <msmith@fluendo.com>
2132
2133         * gst/gstsegment.h:
2134           Don't use c++-style comments, fixes #343929
2135
2136 2006-06-05  Edward Hervey  <edward@fluendo.com>
2137
2138         * gst/gst.c:
2139         plugin_paths is not used if we build without registry support.
2140
2141         * gst/gstsegment.c: (gst_segment_copy): 
2142         _copy() was always returning NULL...
2143
2144 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2145
2146         * libs/gst/dataprotocol/dataprotocol.c:
2147         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2148         (gst_dp_packet_from_event):
2149           factor out CRC code
2150
2151 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2152
2153         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2154           make sure we unset caps
2155
2156 2006-06-02  Michael Smith  <msmith@fluendo.com>
2157
2158         * libs/gst/check/gstcheck.c: (gst_check_init),
2159         (gst_check_chain_func):
2160         * libs/gst/check/gstcheck.h:
2161           Add a cond/mutex to the check support lib, signal this whenever we
2162           add to the buffers list. This will allow tests to not busy-wait on
2163           the buffer-list.
2164
2165 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2166
2167         * libs/gst/dataprotocol/dataprotocol.c:
2168         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2169         (gst_dp_packet_from_event):
2170           factor out some common header init code
2171
2172 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2173
2174         * docs/libs/gstreamer-libs-sections.txt:
2175         * docs/libs/tmpl/gstdataprotocol.sgml:
2176         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2177         * libs/gst/dataprotocol/dataprotocol.h:
2178           API: make gst_dp_crc() public
2179
2180 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2181
2182         * plugins/indexers/gstindexers.c: (plugin_init):
2183         conditionally register fileindexer (fixes #343598)
2184
2185 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2186
2187         * gst/gsttagsetter.h:
2188         Can't cast ifaces to a class
2189
2190         * libs/gst/net/gstnetclientclock.h:
2191         * libs/gst/net/gstnettimeprovider.h:
2192         * plugins/elements/gstfakesink.h:
2193         * plugins/elements/gstfakesrc.h:
2194         * plugins/elements/gstfdsink.h:
2195         * plugins/elements/gstfdsrc.h:
2196         * plugins/elements/gstfilesink.h:
2197         * plugins/elements/gstfilesrc.h:
2198         * plugins/elements/gstidentity.h:
2199         * plugins/elements/gstqueue.h:
2200         * plugins/elements/gsttee.h:
2201         * plugins/indexers/gstfileindex.c:
2202         * plugins/indexers/gstmemindex.c:
2203         * tests/old/examples/plugins/example.h:
2204         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2205
2206 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2207
2208         * libs/gst/dataprotocol/dataprotocol.c:
2209         (gst_dp_header_from_buffer):
2210           make sure we zero the whole ABI-compatible area
2211
2212 2006-06-01  Wim Taymans  <wim@fluendo.com>
2213
2214         Patch by: Alessandro Decina <alessandro at nnva dot org>
2215
2216         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2217         Make sure the EOS flag is cleared from pads after a flush
2218         or stop. Fixes #343538.
2219
2220         * tests/check/libs/collectpads.c: (GST_START_TEST),
2221         (gst_collect_pads_suite):
2222         Added test for collectpads reusage after EOS.
2223
2224 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
2225
2226         * gst/gst.c:
2227          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2228         * win32/common/libgstbase.def:
2229          export gst_collect_pads_set_flushing
2230         * win32/common/libgstreamer.def:
2231          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2232          gst_value_fraction_multiply
2233         * win32/vs6/gst_inspect.dsp:
2234          add a link to intl.lib
2235
2236 2006-05-30  Wim Taymans  <wim@fluendo.com>
2237
2238         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2239         (gst_collect_pads_chain):
2240         Handle the case where a pad is removed from the collection
2241         that could cause the other pads to become collectable.
2242
2243 2006-05-30  Wim Taymans  <wim@fluendo.com>
2244
2245         * gst/gstelement.c:
2246         Clarify the use of _release_request_pad() and
2247         _get_request_pad() a bit better.
2248
2249         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
2250         (gst_adapter_take_buffer):
2251         Fix some doc and comment typos.
2252
2253 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2254
2255         * docs/gst/gstreamer-sections.txt:
2256         * docs/libs/gstreamer-libs-sections.txt:
2257           add declared symbols
2258
2259 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
2260
2261         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2262         Add debug that can be enabled using a #define at the top of the file,
2263         for dumping stats about how late/early we were when waking up from
2264         waiting on the clock.
2265
2266 2006-05-30  Wim Taymans  <wim@fluendo.com>
2267
2268         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
2269         When rebuilding the pad list, don't leak the previous list.
2270
2271 2006-05-30  Wim Taymans  <wim@fluendo.com>
2272
2273         Patch by: Lutz Mueller <lutz at topfrose dot de>
2274
2275         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2276         (gst_base_src_get_query_types), (gst_base_src_update_length):
2277         Publish supported query types.
2278         Update last_stop field in get_range mode so the position
2279         query works. Fixes #342321.
2280
2281 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
2282
2283         * docs/gst/gstreamer-sections.txt:
2284         * gst/gsttaglist.c: (_gst_tag_initialize):
2285         * gst/gsttaglist.h:
2286           API: add GST_TAG_PREVIEW_IMAGE (#343341).
2287
2288 2006-05-30  Wim Taymans  <wim@fluendo.com>
2289
2290         Patch by: Alessandro Decina <alessandro at nnva dot org>
2291
2292         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2293         Unlock mutex when removing an unknown pad.
2294         Fixes #343334.
2295
2296         * tests/check/Makefile.am:
2297         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
2298         (push_event), (setup), (teardown), (GST_START_TEST),
2299         (gst_collect_pads_suite), (main):
2300         Added collecpads check, disabled for now as check crashes for
2301         some reason.
2302
2303 2006-05-29  Wim Taymans  <wim@fluendo.com>
2304
2305         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
2306         Don't leak pads lists.
2307
2308 2006-05-29  Wim Taymans  <wim@fluendo.com>
2309
2310         * docs/libs/gstreamer-libs-sections.txt:
2311         * libs/gst/base/gstcollectpads.c:
2312         (gst_collect_pads_set_flushing_unlocked),
2313         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2314         (gst_collect_pads_stop):
2315         * libs/gst/base/gstcollectpads.h:
2316         API: gst_collect_pads_set_flushing()
2317         Added api to set the pads to flushing, useful for seeking
2318         code in elements using collectpads.
2319         Clear segment when receiving a flush.
2320
2321 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
2322
2323         * gst/gst.c: (add_path_func), (init_post):
2324           Don't scan registry paths passed via --gst-plugin-path immediately
2325           (will crash, because absolutely nothing is set up and no types are
2326           registered etc.); do this later in init_post(). Fixes #343057.
2327
2328 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2329
2330         * gst/gst.c: (init_post):
2331           if we have fork, fork while reading/rebuilding the registry
2332           so the parent doesn't take the hit of having all plugins loaded
2333           in memory.  Fixes #342777.
2334         * configure.ac:
2335           Check if we have fork()
2336         * win32/common/config.h.in:
2337           no fork() on win32
2338
2339 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2340
2341         * plugins/elements/gstelements.c:
2342         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2343         (gst_file_src_init), (gst_file_src_set_property),
2344         (gst_file_src_get_property), (gst_file_src_start):
2345         * plugins/elements/gstfilesrc.h:
2346           API: GstFileSrc::use-mmap
2347
2348         Add a use-mmap property to enable easier testing of all code paths.
2349         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
2350         in the absence of gnomevfssrc. (Closes #340501)
2351
2352 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2353
2354         * tools/gst-inspect.c:
2355         Add missing include, removes warning of ngettext not being defined on
2356         some arches.
2357
2358 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2359
2360         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2361         Handle NULL input and output pointers silently as a failed conversion,
2362         rather than g_warnings.
2363
2364 2006-05-25  Wim Taymans  <wim@fluendo.com>
2365
2366         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
2367         Initialize variable before using. Fixes #342820.
2368
2369 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2370
2371         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
2372           Fix off-by-one bug that would only allow peeks of N-1 bytes
2373           from the start even if the buffer to typefind on contains
2374           in fact N bytes of data (makes vorbis typefinding from a
2375           vorbis identification header buffer work).
2376
2377         * tests/check/Makefile.am:
2378         * tests/check/libs/.cvsignore:
2379         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
2380         (gst_typefindhelper_suite), (main), (foobar_typefind),
2381         (plugin_init):
2382           Add very basic unit test for gst_type_find_helper_for_buffer()
2383           that checks for the problem fixed above.
2384
2385 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2386
2387         * tools/gst-inspect.c: (print_interfaces),
2388         (print_element_properties_info), (print_element_list), (main):
2389           add more translatable strings
2390
2391 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
2392
2393         Patch by: Julien Moutte  <julien at moutte net>
2394
2395         * docs/gst/gstreamer-sections.txt:
2396           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
2397           
2398         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2399         (gst_fake_sink_preroll):
2400         * plugins/elements/gstfakesink.h:
2401           API: Add new GstFakeSink::preroll-handoff signal (#337100).
2402
2403 2006-05-23  Wim Taymans  <wim@fluendo.com>
2404
2405         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
2406         * gst/gstpad.h:
2407         Added _CUSTOM error and success GstFlowReturn that can be
2408         used be elements internally. 
2409         Added macro to check for SUCCESS flowreturns.
2410         API: GST_FLOW_CUSTOM_SUCCESS
2411         API: GST_FLOW_CUSTOM_ERROR
2412         API: GST_FLOW_IS_SUCCESS
2413
2414         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2415         Added check for GstFlowReturn sanity.
2416
2417 2006-05-23  Wim Taymans  <wim@fluendo.com>
2418
2419         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2420
2421         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2422         (gst_collect_pads_event):
2423         clear/reset segment info in FLUSH_STOP.
2424         Fixes #336929.
2425
2426 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
2427
2428         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
2429         (gst_collect_pads_check_collected):
2430         Flush queued buffer on _stop(), fixes playing again (#342454)
2431
2432 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2433
2434         * tests/check/gst/gststructure.c: (GST_START_TEST),
2435         (gst_structure_suite):
2436           add a test for a complete structure
2437
2438 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2439
2440         * docs/faq/developing.xml:
2441         * docs/faq/faq.xml:
2442         * docs/faq/troubleshooting.xml:
2443         * docs/faq/using.xml:
2444           Some minor FAQ updates that won't change the fact that
2445           our FAQ is badly structured, full of information hardly
2446           anyone new to GStreamer needs to know and lacking lots
2447           of information people constantly ask for.
2448           
2449 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
2450
2451         * gst/gstpad.c: (gst_pad_set_caps):
2452           Short-circuit gst_pad_set_caps if setting the existing
2453           caps pointer again, and avoid printing debug and 
2454           reffing/unreffing the caps.
2455
2456         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2457           There's actually no need to set the caps before pushing -
2458           the acceptcaps method will handle it anyway.
2459
2460 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2461
2462         * docs/gst/gstreamer-sections.txt:
2463         * win32/common/libgstreamer.def:
2464         * gst/gstutils.c: (gst_element_seek_simple):
2465         * gst/gstutils.h:
2466           API: add gst_element_seek_simple() (#342238).
2467
2468 2006-05-18  Edward Hervey  <edward@fluendo.com>
2469
2470         * gst/gsttypefind.c: (gst_type_find_get_type):
2471         * gst/gsttypefind.h:
2472         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
2473         registered for GstTypeFind pointers. This allows wrapping the structure
2474         in bindings (i.e. gst-python).
2475
2476 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2477
2478         * gst/gsttagsetter.c:
2479           Docs additions and fixes (see #339918).
2480
2481 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2482
2483         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2484         The caps intersection algorithm can produce multiple copies of the
2485         caps. Until that is fixed, we need to simplify the result to be
2486         sure whether the allowed caps are fixed or not.
2487
2488         * plugins/elements/gstqueue.c: (gst_queue_init),
2489         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
2490         (gst_queue_push_one):
2491         Proxied buffer alloc should not set the caps on the source pad.
2492         When pushing buffers, we always accept the caps change that triggers.
2493         This prevents negotiation errors caused by caps changing mid-stream 
2494         and then being refused on our source pad (because upstream is now
2495         refusing those caps).
2496
2497 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2498
2499         * tests/examples/helloworld/helloworld.c: (main):
2500           Must plug audioconvert and audioresample between decoder
2501           and audio sink.
2502
2503 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
2504
2505         * gst/gstregistryxml.c: (read_string), (load_pad_template),
2506         (load_feature), (load_plugin):
2507         Allow empty strings for some of the plugin fields so we don't 
2508         drop valid plugin entries that were written out correctly
2509         (Fixes #341479)
2510
2511 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
2512         
2513         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2514           Use g_remove and g_rename instead of remove and rename that don't 
2515           handle utf8 characters. rename was failing for users who had specific
2516           characters in their name then the registry was built at each 
2517           gstreamer init.
2518         * win32/vs6/gst_inspect.dsp:
2519         * win32/vs6/gst_launch.dsp:
2520         * win32/vs6/libgstbase.dsp:
2521         * win32/vs6/libgstcoreelements.dsp:
2522         * win32/vs6/libgstreamer.dsp:
2523           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
2524           build of libgstreamer and clean unused libraries in projects link 
2525           settings.
2526
2527 2006-05-17  Edward Hervey  <edward@fluendo.com>
2528
2529         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2530         The queue is not responsible for pushing an EOS when receiving a fatal
2531         flow error. It's up to the real element driving the pipeline to do that.
2532
2533 2006-05-16  Edward Hervey  <edward@fluendo.com>
2534
2535         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2536         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
2537         buffer returned a fatal error. It should just send an EOS and stop
2538         its task.
2539         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
2540         when pushing buffers on the queue and will be able to handle the event.
2541
2542 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2543
2544         * docs/manual/basics-bins.xml:
2545         * docs/manual/basics-init.xml:
2546           Fix typos and minor errors in sample code (#341856).
2547
2548 2006-05-16  Wim Taymans  <wim@fluendo.com>
2549
2550         * docs/design/part-qos.txt:
2551         Fix indexes in formulas to make more sense.
2552
2553 2006-05-15  Wim Taymans  <wim@fluendo.com>
2554
2555         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2556         Don't report POSITION based on clock time if sync is
2557         disabled in a sink.
2558
2559 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
2560
2561         * gst/gstobject.h:
2562           Add cast to make compiler happy - refcount variable was a gint
2563           in GstObject but is a guint in GObject and g_atomic_int_get()
2564           wants a gint *.
2565
2566 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2567
2568         * gst/parse/Makefile.am:
2569           chain commands using &&, which also makes parallel make work
2570
2571 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
2572
2573         * docs/gst/gstreamer-sections.txt:
2574         * gst/gstevent.c:
2575         * gst/gstevent.h:
2576         * gst/gstmessage.h:
2577           Minor docs fixes.
2578
2579 === release 0.10.6 ===
2580
2581 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
2582
2583         * configure.ac:
2584           releasing 0.10.6, "Take the cannoli"
2585
2586 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2587
2588         * tools/gst-launch.c: (print_tag):
2589           Fix use of uninitialized variable in the hypothetical
2590           case that some broken plugin creates a GST_TAG_IMAGE
2591           tag containing a NULL buffer (#341667).
2592
2593 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2594
2595         * tools/gst-launch.c: (print_tag):
2596           Print something more intelligible for image tags when
2597           using the -t switch (#341556).
2598
2599 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2600
2601         * Makefile.am:
2602           updates for win32
2603         * configure.ac:
2604           define GST_MAJORMINOR so we have it available in win32/common/config.h
2605           Possibly remove it from our Makefile.am files later
2606         * win32/common/config.h:
2607         * win32/common/config.h.in:
2608           added GST_MAJORMINOR
2609         * win32/common/gstenumtypes.c: (register_gst_resource_error):
2610         * win32/common/gstversion.h:
2611           updated
2612
2613 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
2614
2615         * win32/MANIFEST:
2616           Update win32 files listing.
2617         * win32/common/gstversion.h:
2618           Add GST_MAJORMINOR definition.
2619         * win32/common/libgstreamer.def:
2620           Add new exported functions.
2621           
2622 2006-05-12  Michael Smith  <msmith@fluendo.com>
2623
2624         * gst/gstplugin.c: (gst_plugin_load_file):
2625           If an so file has no plugin entry point, unload the module.
2626
2627 2006-05-11  Wim Taymans  <wim@fluendo.com>
2628
2629         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
2630         (gst_queue_set_property):
2631         Don't forget to signal the _chain or _loop function 
2632         when the queue size or thresholds change since that might
2633         cause them to make progres again.
2634
2635 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
2636
2637         * gst/gstclock.c: (gst_clock_class_init):
2638         * gst/gstindex.c: (gst_index_class_init):
2639         * gst/gstobject.c: (gst_object_class_init):
2640         * gst/gstpad.c: (gst_pad_class_init):
2641         * gst/gstpipeline.c: (gst_pipeline_class_init):
2642         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2643         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2644         * libs/gst/base/gstbasetransform.c:
2645         (gst_base_transform_class_init):
2646         * libs/gst/net/gstnetclientclock.c:
2647         (gst_net_client_clock_class_init):
2648         * libs/gst/net/gstnettimeprovider.c:
2649         (gst_net_time_provider_class_init):
2650         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2651         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2652         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2653         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2654         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2655         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2656         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2657         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2658         * plugins/elements/gsttee.c: (gst_tee_class_init):
2659         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2660         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2661           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2662
2663 2006-05-11  Wim Taymans  <wim@fluendo.com>
2664
2665         * gst/gstbuffer.c: (_gst_buffer_initialize):
2666         Register subbufer along with the buffer type so that
2667         it does not accidentally gets registered from N
2668         different streaming threads in a non threadsafe way.
2669
2670 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * gst/gstbuffer.h:
2673         * gst/gstevent.h:
2674         * gst/gstmessage.h:
2675           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
2676           gst_event_ref() and gst_message_ref() functions again
2677           (ugly hack, please do fix if there's a better way besides
2678           overrides.txt, which doesn't seem to work).
2679
2680 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2681
2682         * libs/gst/check/gstcheck.h:
2683           add an assert for setting state to avoid lots of repetitive code
2684           in the future
2685
2686 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2687
2688         * gst/gstvalue.c: (gst_value_serialize_flags):
2689           fix a leak if no flags are set
2690         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2691           fix leak in tests
2692
2693 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2694
2695         * docs/manual/basics-pads.xml:
2696           Expand a bit on caps and filtered links and update
2697           examples that were still using the no longer existing
2698           gst_pad_link_filtered() (#338206).
2699
2700 2006-05-10  Wim Taymans  <wim@fluendo.com>
2701
2702         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2703         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2704         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2705         (gst_collect_pads_stop):
2706         * libs/gst/base/gstcollectpads.h:
2707         No need to call _stop in _finalize.
2708         Iterate the main pad list in _finalize.
2709         Added some more debug.
2710         Free lists and data in the right order.
2711         Also free data whem doing _remove_pad when stopped for
2712         backward compatibility protect ::started with PAD_LOCK as
2713         well.
2714
2715 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2716
2717         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
2718         (gst_structure_parse_value):
2719           add some comments
2720           rename a method so that it actually says what it does better
2721
2722 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2723
2724         * gst/gstevent.c: (_gst_event_initialize):
2725         * gst/gstformat.c: (_gst_format_initialize):
2726           make sure some essential types used by events are registered
2727           as part of gst_init()
2728         * gst/gstvalue.c: (gst_value_serialize_flags):
2729           if no flags are set, serialize them to a value that represents NONE
2730           so that deserializing them works
2731         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2732           add tests for serialization and deserialization of flags
2733
2734 2006-05-10  Wim Taymans  <wim@fluendo.com>
2735
2736         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
2737         (gst_collect_pads_collect_range), (gst_collect_pads_available),
2738         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
2739         (gst_collect_pads_event), (gst_collect_pads_chain):
2740         Update docs.
2741         Better debug info.
2742         Catch and return errors from the collect function
2743         Refuse data on eos pads.
2744
2745 2006-05-10  Edward Hervey  <edward@fluendo.com>
2746
2747         * gst/gstinterface.h:
2748         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
2749         GInterface type checking.
2750         They were previously using non-defined macros.
2751
2752 2006-05-09  Wim Taymans  <wim@fluendo.com>
2753
2754         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
2755         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
2756         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
2757         (gst_collect_pads_start), (gst_collect_pads_stop),
2758         (gst_collect_pads_peek), (gst_collect_pads_pop),
2759         (gst_collect_pads_available), (gst_collect_pads_read),
2760         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
2761         (gst_collect_pads_is_collected), (gst_collect_pads_event),
2762         (gst_collect_pads_chain):
2763         * libs/gst/base/gstcollectpads.h:
2764         Clean up the mess that is collectpads, add comments and
2765         FIXMEs where needed.
2766         Maintain a separate pad list so we can add pads while
2767         collecting the other ones. For this we need a new separate 
2768         lock (see comics).
2769         Fix memory leak in finalize.
2770         Refactor some weird code to set/unset pad flushing flags, mark
2771         with comments.
2772         Don't crash in _available, _read, _flush when we're EOS.
2773
2774         * tests/check/libs/.cvsignore:
2775         Ignore adapter check binary.
2776
2777 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2778
2779         * gst/gstindex.c: (gst_index_resolver_get_type):
2780         * plugins/elements/gstfakesink.c:
2781         (gst_fake_sink_state_error_get_type):
2782         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2783         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
2784         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2785           Const-ify GEnumValue arrays.
2786
2787 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2788
2789         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2790           Add test case for flags + gst_buffer_make_metadata_writable().
2791
2792 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2793
2794         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
2795           gst_buffer_make_metadata_writable() should maintain the
2796           buffer flags (those that make sense at least) (see #340859).
2797
2798 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2799
2800         * tools/gst-inspect.c:
2801         * tools/gst-launch.c:
2802         * tools/gst-typefind.c:
2803         * tools/gst-xmlinspect.c:
2804         * tools/tools.h:
2805           Fix up includes: need to include stdlib.h in tools.h for exit().
2806
2807 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2808
2809         * gst/gsttaglist.c: (_gst_tag_initialize):
2810         * gst/gsttaglist.h:
2811           API: add GST_TAG_IMAGE tag (#340721).
2812
2813 2006-05-08  Wim Taymans  <wim@fluendo.com>
2814
2815         * gst/gstquery.c:
2816         Added some docs for the segment query.
2817
2818 2006-05-08  Wim Taymans  <wim@fluendo.com>
2819
2820         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2821         (gst_base_src_loop), (gst_base_src_change_state):
2822         Always push non-flushing serialized events in the streaming 
2823         thread.
2824
2825 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2826
2827         * gst/gsterror.c: (_gst_stream_errors_init):
2828           Add a missing error string.
2829
2830 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
2831
2832         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
2833         Add applied_rate to the debug
2834
2835         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2836         Copy applied_rate into the outgoing NEWSEGMENT event
2837
2838 2006-05-08  Wim Taymans  <wim@fluendo.com>
2839
2840         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
2841
2842         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
2843         (gst_base_sink_change_state):
2844         call ::unlock before taking the PREROLL_LOCK so we can safely
2845         handle elements that lock in ::render.
2846         Fixes #340174.
2847
2848 2006-05-08  Edward Hervey  <edward@fluendo.com>
2849
2850         * autogen.sh: (CONFIGURE_DEF_OPT): 
2851         Darwin's libtoolize is in fact called glibtoolize.
2852         Adding glibtoolize to the list of accepted names for libtoolize.
2853
2854 2006-05-08  Wim Taymans  <wim@fluendo.com>
2855
2856         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2857         Unify error handling, don't post an error message
2858         when a push() returns EOS but perform our normal EOS
2859         handling code. Fixes #340772.
2860
2861 2006-05-08  Wim Taymans  <wim@fluendo.com>
2862
2863         * docs/design/part-overview.txt:
2864         Make upsteam/downstream concepts more clear.
2865         Give an example of serialized/non-serialized events.
2866
2867         * docs/design/part-events.txt:
2868         * docs/design/part-streams.txt:
2869         Mention applied_rate.
2870
2871         * docs/design/part-trickmodes.txt:
2872         Mention applied rate, flesh out some more use cases.
2873
2874         * gst/gstevent.c: (gst_event_new_new_segment),
2875         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
2876         (gst_event_parse_new_segment_full), (gst_event_new_tag),
2877         (gst_event_parse_tag), (gst_event_new_buffer_size),
2878         (gst_event_parse_buffer_size), (gst_event_new_qos),
2879         (gst_event_parse_qos), (gst_event_parse_seek),
2880         (gst_event_new_navigation):
2881         * gst/gstevent.h:
2882         Add applied_rate field to NEWSEGMENT event.
2883         API: gst_event_new_new_segment_full()
2884         API: gst_event_parse_new_segment_full()
2885
2886         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
2887         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
2888         (gst_segment_to_stream_time), (gst_segment_to_running_time):
2889         * gst/gstsegment.h:
2890         Add applied_rate to GstSegment structure.
2891         Make calculation of stream_time and running_time more correct
2892         wrt rate/applied_rate.
2893         Add some more docs.
2894         API: GstSegment::applied_rate field
2895         API: gst_segment_set_newsegment_full();
2896
2897         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2898         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
2899         * libs/gst/base/gstbasetransform.c:
2900         (gst_base_transform_sink_eventfunc),
2901         (gst_base_transform_handle_buffer):
2902         Parse and use applied_rate in the GstSegment field.
2903
2904         * tests/check/gst/gstevent.c: (GST_START_TEST):
2905         Add check for applied_rate field.
2906
2907         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2908         (gstsegments_suite):
2909         Add more checks for various GstSegment operations.
2910
2911 2006-05-08  Wim Taymans  <wim@fluendo.com>
2912
2913         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2914         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
2915         (gst_base_sink_get_position), (gst_base_sink_change_state):
2916         Store the sync time of the buffer end position separatly in a
2917         new variable eos_rtime so we can properly sync the EOS event.
2918         Fixes #340697.
2919         Fix the docs for gst_base_sink_set_qos_enabled().
2920         Don't set segment start to invalid value when we receive a 
2921         non TIME newsegment.
2922         get closer to handling position reporting for negative rates 
2923         correctly.
2924
2925 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2926
2927         * gst/gstcaps.c:
2928         Docs about how to print caps for debug purposes.
2929
2930         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
2931         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
2932
2933 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
2934
2935         * gst/gstelement.c:
2936           use full enum names and preprend a '%' in docs strings to make recent 
2937           gtk-doc turn that into a link
2938
2939 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2940
2941         * docs/manual/basics-bins.xml:
2942         * docs/manual/basics-bus.xml:
2943         * docs/manual/basics-pads.xml:
2944           Some typo fixes, some additions, some clarifications. 
2945
2946 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2947
2948         * tools/gst-inspect.c: (main):
2949         * tools/gst-launch.c: (main):
2950         * tools/gst-run.c: (main):
2951         * tools/gst-typefind.c: (main):
2952         * tools/gst-xmlinspect.c: (main):
2953           Use the string passed to g_option_context_new() for
2954           what it's intended for - the program name is already
2955           printed elsewhere.
2956
2957 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
2958
2959         * tools/Makefile.am:
2960         * tools/gst-inspect.c: (main):
2961         * tools/gst-launch.c: (main):
2962         * tools/gst-xmlinspect.c: (main):
2963         * tools/tools.h:
2964           Add back --version command line option (#340460).
2965
2966         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
2967           Add --version option and use GOption for argument parsing; refactor a
2968           bit; accept directories as arguments and recurse into them; lastly,
2969           print a decent error message when things go wrong.
2970
2971 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2972
2973         * docs/manual/basics-bins.xml:
2974         Don't mention GstThread (#340611)
2975         * docs/manual/basics-elements.xml:
2976         Update link to GObject tutorial (#340607)
2977         
2978 2006-05-05  Wim Taymans  <wim@fluendo.com>
2979
2980         * gst/gstbuffer.h:
2981         * gst/gstminiobject.c:
2982         Add note about refcounting and miniobject/buffer writeability
2983         to docs. Fixes #340604
2984
2985         * gst/gstelementfactory.h:
2986         Added some explanation about @klass.
2987
2988 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2989
2990         * docs/manual/intro-motivation.xml:
2991         * docs/manual/manual.xml:
2992         Avoid CORBA & Bonobo references (#340598)
2993
2994 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
2995
2996         * docs/manual/basics-bus.xml:
2997         * docs/manual/basics-pads.xml:
2998         Fix up some inaccuracies and omissions (#340609)
2999         
3000 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3001
3002         * gst/gstghostpad.c:
3003           Small typo in docs (#340625)
3004
3005 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3006
3007         * gst/parse/Makefile.am:
3008           Make 'make -j' proof (see #340698).
3009
3010 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3011
3012         * configure.ac:
3013           Require GLib-2.8 here as well.
3014
3015 2006-05-05  Wim Taymans  <wim@fluendo.com>
3016
3017         * gst/glib-compat.c:
3018         * gst/gst.c: (init_pre):
3019         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3020         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3021         (gst_object_dispatch_properties_changed):
3022         * gst/gstobject.h:
3023         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3024         * gst/gststructure.c: (gst_structure_set_valist):
3025         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3026         Remove pre glib2.8 compatibility, fixes #340508
3027
3028 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3029
3030         * gst/gsttaglist.h:
3031           Mention type of tags in doc blurbs.
3032
3033 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3034
3035         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3036         (gst_pad_configure_src), (gst_pad_push):
3037         Restore acceptcaps checking behaviour now that good plugins have
3038         been released.
3039
3040 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3041
3042         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3043
3044         * gst/gst.c:
3045         * gst/gstbus.c:
3046         * gst/gstclock.c:
3047         * gst/gstevent.c:
3048         * gst/gstformat.c:
3049         * gst/gstmessage.c:
3050         * gst/gstparse.c:
3051         * gst/gstquery.c:
3052         * gst/gstutils.c:
3053         * gst/parse/Makefile.am:
3054         * libs/gst/base/gstadapter.c:
3055         * libs/gst/base/gstbasesrc.c:
3056         * libs/gst/base/gstpushsrc.c:
3057         * libs/gst/base/gsttypefindhelper.c:
3058         * plugins/elements/gstfakesrc.c:
3059         * plugins/elements/gstidentity.c:
3060           Make sure gstprivate.h and/or config.h are
3061           always included first, otherwise some of our
3062           defines (like _FILE_OFFSET_BITS) might be
3063           redefined in the system headers. Fixes build
3064           on opensolaris (#340016).
3065
3066 2006-05-04  Wim Taymans  <wim@fluendo.com>
3067
3068         * docs/libs/gstreamer-libs-sections.txt:
3069         API: addition: gst_adapter_take_buffer()
3070         
3071         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3072         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3073         (gst_adapter_available_fast):
3074         * libs/gst/base/gstadapter.h:
3075         Prepare for optimizing the hell out of this hugely inefficient
3076         piece of code. 
3077         Added gst_adapter_take_buffer() so we can at least start thinking
3078         about subbuffering and merging.
3079         Added some comments.
3080
3081         * tests/check/Makefile.am:
3082         * tests/check/libs/adapter.c: (GST_START_TEST),
3083         (gst_adapter_suite), (main):
3084         Added GstAdapter check.
3085
3086 2006-05-04  Wim Taymans  <wim@fluendo.com>
3087
3088         * docs/design/part-overview.txt:
3089         Fix some typos, add blurb about buffer flags.
3090
3091 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3092
3093         * docs/libs/gstreamer-libs-sections.txt:
3094           make sure GstBaseTransformClass shows up in the docs
3095         * libs/gst/base/gstbasetransform.c:
3096         * libs/gst/base/gstbasetransform.h:
3097           move docs so gtk-doc picks it up now
3098
3099 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3100
3101         * docs/libs/gstreamer-libs-sections.txt:
3102           add missing symbols to docs
3103
3104 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3105
3106         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3107           back out the newsegment handling change, see #340060 for ongoing
3108           discussion
3109
3110 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3111
3112         * tools/gst-run.c: (get_candidates), (main):
3113           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3114           work); fix typo in error message. Fixes #340079.
3115
3116 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3117
3118         * common/Makefile.am:
3119         * docs/Makefile.am:
3120         * docs/faq/Makefile.am:
3121         * docs/gst/Makefile.am:
3122         * docs/libs/Makefile.am:
3123         * docs/manual/Makefile.am:
3124         * docs/plugins/Makefile.am:
3125         * docs/pwg/Makefile.am:
3126         * docs/slides/Makefile.am:
3127         * docs/upload.mak:
3128         * common/upload.mak:
3129           move upload.mak to common
3130
3131 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3132
3133         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3134           add more asserts on refcounts
3135           do more cleanup at end of tests
3136           fix test leaks showing in FC5
3137
3138 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3139
3140         * plugins/elements/gsttypefindelement.c:
3141         (gst_type_find_element_handle_event):
3142         reverted wrong change and reflowed code to avoid others falling into
3143         this trap
3144
3145 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3146
3147         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3148           fix changelog entry about last collectpads change,
3149           add notes about proper fix
3150
3151 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3152
3153         * gst/gst.c:
3154         * gst/gstregistry.c: (gst_registry_scan_path_level),
3155         (gst_registry_scan_path):
3156         * gst/gstregistry.h:
3157           only write out registry if it has changed, fixes #338339
3158
3159 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3160
3161         * gst/gstbin.c:
3162         * gst/gstpipeline.c:
3163         * plugins/elements/gstcapsfilter.c:
3164         * plugins/elements/gstfakesink.c:
3165         * plugins/elements/gstfakesrc.c:
3166         * plugins/elements/gstfdsink.c:
3167         * plugins/elements/gstfdsrc.c:
3168         * plugins/elements/gstfilesink.c:
3169         * plugins/elements/gstfilesrc.c:
3170         * plugins/elements/gstidentity.c:
3171         * plugins/elements/gstqueue.c:
3172         * plugins/elements/gsttee.c:
3173         * plugins/elements/gsttypefindelement.c:
3174         (gst_type_find_element_handle_event):
3175           make GstElementDetails const
3176
3177 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3178
3179         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3180         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3181         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3182           more detailed debug and formatting cleanup,
3183           forward newsegments to src-pad (so that e.g. adder not eats them)
3184
3185 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3186
3187         * gst/gstutils.c: (gst_element_link_pads):
3188           cleanup double code
3189
3190 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3191
3192         * libs/gst/controller/gstcontroller.c:
3193         (gst_controller_sync_values):
3194           some little tuning
3195         * tests/check/libs/controller.c: (GST_START_TEST),
3196         (gst_controller_suite):
3197           a new test for live value handling
3198
3199 2006-04-28  Wim Taymans  <wim@fluendo.com>
3200
3201         * gst/gstutils.c: (push_and_ref):
3202         Added some more docs.
3203         Fix refcount issue whith gst_element_found_tags() helper 
3204         function. Fixes #338335
3205
3206         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3207         Added testsuite for gst_element_found_tags().
3208
3209 2006-04-28  Michael Smith  <msmith@fluendo.com>
3210
3211         * gst/gstvalue.c: (gst_value_serialize_flags):
3212           Avoid NULL dereference when trying to serialize flags containing
3213           invalid values.
3214
3215 2006-04-28  Michael Smith  <msmith@fluendo.com>
3216
3217         * plugins/elements/gsttypefindelement.c:
3218         (gst_type_find_element_handle_event):
3219           If we get EOS before any data is accumulated, don't use
3220           uninitialised local variables.
3221
3222 2006-04-28  Michael Smith  <msmith@fluendo.com>
3223
3224         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3225         (gst_dp_event_from_packet):
3226           Fixes in reading/writing events over GDP (not currently used?) - 
3227           dereferencing NULL events for unknown/invalid event types, memory
3228           leak, and change g_warning to GST_WARNING.
3229
3230 2006-04-28  Wim Taymans  <wim@fluendo.com>
3231
3232         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3233         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3234         (gst_base_sink_get_position), (gst_base_sink_change_state):
3235         When frame dropping is enabled, we should not ignore frames
3236         without a duration.
3237         Update some documentation.
3238
3239 2006-04-28  Wim Taymans  <wim@fluendo.com>
3240
3241         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3242         (gst_base_src_send_event), (gst_base_src_change_state):
3243         Documentation updates.
3244
3245 2006-04-28  Wim Taymans  <wim@fluendo.com>
3246
3247         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3248         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
3249         handle EAGAIN, EINTR and short writes correctly. Also clean
3250         up some error cases, avoid a deadlock on bad file descriptors and
3251         use GST_DEBUG_OBJECT.
3252         Fixes #339843
3253
3254 2006-04-28  Wim Taymans  <wim@fluendo.com>
3255
3256         * gst/gstvalue.c: (gst_value_serialize_buffer),
3257         (gst_value_deserialize_buffer):
3258         Don't try to serialize a GValue with a NULL buffer. 
3259         Fixes #339821.
3260
3261         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3262         Added check for serialisation of NULL buffers.
3263
3264 2006-04-28  Wim Taymans  <wim@fluendo.com>
3265
3266         * gst/gstminiobject.c: (gst_value_take_mini_object):
3267         Taking a NULL miniobject is valid, fix the case where
3268         we try to unref the NULL miniobject.
3269
3270 2006-04-28  Wim Taymans  <wim@fluendo.com>
3271
3272         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3273
3274         * gst/gstbin.c: (gst_bin_handle_message_func):
3275         Update docs.
3276         Don't leak bin refcount when a state recalc is
3277         in progress and we delay another one #339808.
3278
3279 2006-04-28  Wim Taymans  <wim@fluendo.com>
3280
3281         * docs/design/part-TODO.txt:
3282         Mention QoS as an ongoing work item.
3283
3284         * docs/design/part-buffering.txt:
3285         New doc about buffering that needs to be fleshed out
3286         at some point.
3287
3288         * docs/design/part-qos.txt:
3289         More QoS policy for decoders/demuxers/transforms
3290
3291         * docs/design/part-trickmodes.txt:
3292         Small update.
3293
3294 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3295
3296         * configure.ac:
3297           back to HEAD
3298
3299 === release 0.10.5 ===
3300
3301 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
3302
3303         * configure.ac:
3304           releasing 0.10.5, "Fogo"
3305
3306 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3307
3308         patch by: Wim Taymans
3309
3310         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3311         (gst_pad_configure_src), (gst_pad_push):
3312         * gst/gstpipeline.c: (gst_pipeline_init):
3313           Fix internal data flow errors.  Fixes #338711.
3314
3315 2006-04-12  Wim Taymans  <wim@fluendo.com>
3316
3317         * tests/check/gst/gstelement.c: (GST_START_TEST):
3318         Don't leak the factory.
3319
3320 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3321
3322         * configure.ac:
3323         * win32/common/config.h:
3324           prerelease
3325
3326 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3327
3328         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3329         (gst_controller_unset_all):
3330           Free allocated GstTimedValues when freeing list nodes.
3331           Should fix leaks 'make check-valgrind' complains about.
3332
3333         * win32/common/libgstcontroller.def:
3334           Add gst_controller_unset_all.
3335
3336 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
3337
3338         * docs/libs/gstreamer-libs-sections.txt:
3339         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3340         (gst_controller_unset_all):
3341         * libs/gst/controller/gstcontroller.h:
3342         API: Added new method gst_controller_unset_all()
3343         fixed gst_controller_unset()
3344         * tests/check/libs/controller.c: (GST_START_TEST),
3345         (gst_controller_suite):
3346         Added two testcases for new and fixed method
3347
3348 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
3349
3350         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3351           MSG_DONTWAIT is not defined on Cygwin, so work
3352           around that (fixes #317048).
3353           
3354 2006-04-11  Wim Taymans  <wim@fluendo.com>
3355
3356         * gst/gstelementfactory.c: (gst_element_register),
3357         (gst_element_factory_create), (gst_element_factory_make):
3358         Some cleanups.
3359         Fixed a FIXME.
3360         Updated docs (Fixes #131079)
3361
3362         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3363         Small cleanups.
3364
3365         * tests/check/gst/gstelement.c: (GST_START_TEST),
3366         (gst_element_suite):
3367         Added testcase for elementfactory class field.
3368
3369 2006-04-10  Wim Taymans  <wim@fluendo.com>
3370
3371         * gst/gstsegment.c:
3372         Added some more docs.
3373
3374         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
3375         (gst_base_sink_reset_qos):
3376         Calculate more accurate rate values.
3377
3378 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
3379
3380         * gst/gst_private.h:
3381           add a new #ifdef to use __declspec(dllimport) only for
3382           other modules and not for gstreamer core
3383         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
3384           use gst_guint64_to_gdouble for conversion
3385         * win32/common/libgstreamer.def:
3386           add new exported functions
3387         * win32/vs6/gst_inspect.dsp:
3388         * win32/vs6/gst_launch.dsp:
3389         * win32/vs6/libgstbase.dsp:
3390         * win32/vs6/libgstcontroller.dsp:
3391         * win32/vs6/libgstcoreelements.dsp:
3392         * win32/vs6/libgstdataprotocol.dsp:
3393         * win32/vs6/libgstnet.dsp:
3394           update project files
3395
3396 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3397
3398         * gst/gstbuffer.c: (gst_subbuffer_class_init):
3399         * gst/gstclock.c: (gst_clock_class_init):
3400         * gst/gstelement.c: (gst_element_class_init):
3401         * gst/gstindex.c: (gst_index_class_init):
3402         * gst/gstindexfactory.c: (gst_index_factory_class_init):
3403         * gst/gstobject.c: (gst_object_class_init),
3404         (gst_signal_object_class_init):
3405         * gst/gstpad.c: (gst_pad_class_init):
3406         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
3407         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
3408         * gst/gstregistry.c: (gst_registry_class_init):
3409         * gst/gstsystemclock.c: (gst_system_clock_class_init):
3410         * gst/gsttask.c: (gst_task_class_init):
3411         * gst/gstxml.c: (gst_xml_class_init):
3412         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3413         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3414         (gst_base_src_loop):
3415         * libs/gst/controller/gstcontroller.c:/
3416         (_gst_controller_class_init):
3417         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3418         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3419         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
3420         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3421         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3422         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
3423
3424 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
3425
3426         * gst/gstpad.c: (gst_pad_link):
3427           Must set peer pads before calling the link function, otherwise
3428           a task started from a link function might get a flow-not-linked
3429           result when trying to push because the other thread where the
3430           linking happens hasn't had a chance to set the peers yet. This
3431           might happen for example when a queue gets linked to a downstream
3432           element, as queue starts a streaming task when its source pad
3433           gets linked. Happens in real life when playing back flac/musepack
3434           files in playbin (#332390).
3435           
3436 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3437
3438         * gst/gstindex.h:
3439         * gst/gstxml.h:
3440         * libs/gst/base/gstadapter.h:
3441         * libs/gst/base/gstbasesink.h:
3442         * libs/gst/base/gstbasesrc.h:
3443         * libs/gst/base/gstbasetransform.h:
3444         * libs/gst/base/gstcollectpads.h:
3445         * libs/gst/base/gstpushsrc.h:
3446         Fix broken GObject macros
3447
3448 2006-04-07  Wim Taymans  <wim@fluendo.com>
3449
3450         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3451         Initialize start and stop times, thanks valgrind.
3452
3453 2006-04-07  Wim Taymans  <wim@fluendo.com>
3454
3455         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3456         Be a bit nicer to badly behaving upstream elements that expect
3457         us to deal with non TIME segments and timestamps (such as fakesrc
3458         in the testsuite).
3459
3460 2006-04-07  Wim Taymans  <wim@fluendo.com>
3461
3462         * gst/gstbus.c:
3463         Small documentation clarification about the signal watch.
3464
3465         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3466         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3467         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3468         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3469         (gst_base_sink_get_position_last),
3470         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
3471         Convert and store timestamps in stream time and running time, the
3472         raw timestamps are not usefull, also document this better.
3473         Use different window sizes for good and bad QoS observations so
3474         we react to badness a little quicker.
3475         Keep track of the amount of rendered and dropped buffers.
3476         Send QoS timestamps in running time.
3477
3478         * libs/gst/base/gstbasetransform.c:
3479         (gst_base_transform_sink_eventfunc),
3480         (gst_base_transform_handle_buffer):
3481         Compare QoS timestamps against running time.
3482
3483 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3484
3485         * gst/gstpad.c:
3486           Typo fixes in docs.
3487
3488 2006-04-06  Michael Smith  <msmith@fluendo.com>
3489
3490         * gst/gstpad.c: (gst_pad_set_property):
3491           Use g_value_get_object() instead of g_value_dup_gst_object(),
3492           to avoid double-reffing the pad template (which we then sink,
3493           so this worked previously if (and only if) the pad template
3494           was floating.
3495
3496         * gst/gstpadtemplate.c: (gst_pad_template_init),
3497         (gst_pad_template_pad_created):
3498           Never return floating references to pad templates, create
3499           them as initially-sunken.
3500
3501           Document an extra function (and make this stop sinking our
3502           pad template, since that is now guaranteed to do nothing,
3503           since we created it sunken).
3504
3505         * gst/gstghostpad.c:
3506           Fix docs typo.
3507
3508 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3509
3510         * gst/gstinfo.c: (__gst_in_valgrind):
3511           Add some newlines.
3512
3513         * plugins/elements/gsttypefindelement.c:
3514         (gst_type_find_element_chain):
3515           Don't leak buffer caps.
3516
3517 2006-04-06  Michael Smith  <msmith@fluendo.com>
3518
3519         * gst/parse/grammar.y:
3520           Fix a leak in parse-launch for any source-or-sink named element 
3521           references used.
3522
3523         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
3524           Unref the pipeline if it exists after we've failed parsing.
3525
3526 2006-04-05  Michael Smith  <msmith@fluendo.com>
3527
3528         * gst/gstpipeline.c: (gst_pipeline_init):
3529           When we create a pipeline bus, initially create it in flushing mode.
3530           Fixes leaks in at least one test, and makes a new pipeline work the
3531           same as one that has gone to READY and then back to NULL.
3532
3533         * gst/gstelement.c:
3534           Typo fix in docs.
3535
3536 2006-04-05  Michael Smith  <msmith@fluendo.com>
3537
3538         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3539           Unref a pad we reffed.
3540         * tests/check/gst/gstutils.c: (GST_START_TEST):
3541           Unref bins
3542
3543 2006-04-05  Michael Smith  <msmith@fluendo.com>
3544
3545         * gst/gstquery.c: (gst_query_set_formats),
3546         (gst_query_set_formatsv):
3547           Fix leaking GValues in queries, as shown by valgrind/testsuite.
3548
3549 2006-04-05  Michael Smith  <msmith@fluendo.com>
3550
3551         * tests/check/generic/sinks.c: (GST_START_TEST):
3552           Fix a variety of memleaks in sinks check, which are only sometimes 
3553           shown by running the tests under valgrind (weird?).
3554
3555 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
3556
3557         * docs/version.entities.in:
3558           Fix the substituted entity name after thomas' changes on the
3559           weekend.
3560
3561 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3562
3563         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
3564         VALGRIND_PRINTF
3565         
3566 2006-04-05  Andy Wingo  <wingo@pobox.com>
3567
3568         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
3569
3570         * libs/gst/base/gstbasetransform.c
3571         (gst_base_transform_sink_eventfunc): When resetting our segment on
3572         FLUSH_STOP, also update the flag saying we haven't seen a
3573         newsegment.
3574
3575 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3576
3577         Patch by: Paolo Borelli  <pborelli at katamail dot com>
3578
3579         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
3580         (gst_plugin_check_license):
3581           minor clean-ups: G_DEFINE_TYPE already takes care of the
3582           parent_class stuff, no need to do it twice. Mark array of
3583           license strings as constant. (#337103)
3584           
3585 2006-04-04  Michael Smith  <msmith@fluendo.com>
3586
3587         * tools/gst-inspect.c: (print_element_list):
3588           Free the right plugin list; fixes a memory leak.
3589
3590 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3591
3592         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
3593
3594         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3595           Don't error out on empty buffers (#336945).
3596           
3597 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
3598
3599         * docs/libs/gstreamer-libs-sections.txt:
3600         * gst/gsttaglist.c:
3601         * libs/gst/base/gstbasesink.c:
3602         * libs/gst/base/gstbasesink.h:
3603         * libs/gst/base/gstbasesrc.c:
3604         * libs/gst/base/gstbasesrc.h:
3605           Documentation updates. Make BaseSink and BaseSrc docs contain the
3606           class structure so that people can actually see the prototypes for
3607           virtual functions they're supposed to be overriding.
3608
3609 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3610
3611         * plugins/elements/gsttypefindelement.c:
3612         (gst_type_find_element_chain):
3613           More debug info; when skipping typefinding, send cached
3614           events in all cases.
3615
3616 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3617
3618         * configure.ac:
3619           use new AS_VERSION and AS_NANO macros
3620         * gst/gst-i18n-lib.h:
3621         * gst/gst.c:
3622         * gst/gsterror.c:
3623         * gst/gstversion.h.in:
3624         * win32/common/config.h:
3625         * win32/common/config.h.in:
3626           update accordingly
3627
3628 2006-03-31  Michael Smith  <msmith@fluendo.com>
3629
3630         * plugins/elements/gsttypefindelement.c:
3631         (gst_type_find_element_chain):
3632           Do not typefind content if the buffers already have caps.
3633           Neccesary for icydemux (#333657), and the right thing to do anyway.
3634
3635 2006-03-30  Wim Taymans  <wim@fluendo.com>
3636
3637         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3638         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
3639         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
3640         (gst_base_sink_record_qos_observation),
3641         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3642         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3643         (gst_base_sink_change_state):
3644         More QoS measurements as described in the design doc.
3645         Get rid of ringbuffer with observations, running average is
3646         more simple and equally good.
3647         Calculates valid proportion now.
3648         Added beginning of flood measurement.
3649
3650 2006-03-29  Wim Taymans  <wim@fluendo.com>
3651
3652         * docs/design/part-qos.txt:
3653         * gst/gstclock.c:
3654         Small documentation updates and additions.
3655
3656 2006-03-29  Wim Taymans  <wim@fluendo.com>
3657
3658         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3659         (gst_base_src_send_event), (gst_base_src_loop),
3660         (gst_base_src_change_state):
3661         Perform the EOS logic when we reach the segment stop position.
3662         Fix compilation on gcc4.1
3663
3664 2006-03-29  Wim Taymans  <wim@fluendo.com>
3665
3666         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3667
3668         * plugins/elements/gstqueue.c: (gst_queue_init),
3669         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3670         (gst_queue_set_property):
3671         * plugins/elements/gstqueue.h:
3672         In queue, when EOS is received, if minimum threshold > max_size -
3673         current_level, there is chance that queue blocks forever in conditional
3674         item del wait. This is because the queue is not emptied completely due
3675         to minimum threshold.  Here is another approach. Instead of setting
3676         cur_levels to max in EOS, just zero all minimum threshold levels. This
3677         should make sure that queue gives out all data. When going to READY
3678         (stop) state, just reset the original minimum threshold levels.
3679         Fixes #336336.
3680
3681 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
3682
3683         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
3684         (gst_type_find_element_handle_event),
3685         (gst_type_find_element_send_cached_events),
3686         (gst_type_find_element_change_state):
3687         * plugins/elements/gsttypefindelement.h:
3688           When typefinding is done in push mode, we should cache
3689           events we receive during typefinding instead of just
3690           dropping them (e.g. newsegment, custom events from
3691           dvdreadsrc etc.) and then send them out once we've
3692           determined the type of the stream (and decodebin
3693           has had a chance to plug in a decoder/demuxer).
3694           
3695 2006-03-27  Wim Taymans  <wim@fluendo.com>
3696
3697         * docs/design/part-qos.txt:
3698         First QoS ideas.
3699
3700 2006-03-27  Wim Taymans  <wim@fluendo.com>
3701
3702         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
3703
3704         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3705         (gst_base_src_send_event), (gst_base_src_change_state):
3706         Handle element seek correctly when we are streaming.
3707         Fixes #326998.
3708
3709 2006-03-24  Michael Smith  <msmith@fluendo.com>
3710
3711         * docs/faq/gst-uninstalled:
3712           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
3713           allow you to correctly run intalled applications built against old 
3714           core, using plugins that require updated core (e.g. running
3715           installed totem against a full uninstalled gstreamer stack)
3716
3717 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3718
3719         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3720         more debug details
3721
3722 2006-03-24  Wim Taymans  <wim@fluendo.com>
3723
3724         * docs/gst/gstreamer-sections.txt:
3725         Rearrange the order of the methods so that related methods
3726         are grouped together in sections.
3727
3728 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3729
3730         * gst/gstelement.c:
3731           Little clarification in the docs
3732
3733 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3734
3735         * docs/README:
3736         formatting fix
3737         * plugins/elements/gstidentity.c:
3738         * plugins/elements/gstqueue.c:
3739         * plugins/elements/gsttee.c:
3740         * plugins/elements/gsttypefindelement.c:
3741         GST_ELEMENT_DETAILS formatting
3742
3743 2006-03-24  Wim Taymans  <wim@fluendo.com>
3744
3745         * libs/gst/base/gstbasesink.h:
3746         Only add fields, not insert or we break ABI.
3747
3748 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3749
3750         * win32/common/libgstbase.def:
3751         * win32/common/libgstreamer.def:
3752           Update, add recently added functions.
3753
3754 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3755
3756         * docs/gst/gstreamer-sections.txt:
3757         * gst/gstutils.c: (gst_pad_query_peer_position),
3758         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
3759         * gst/gstutils.h:
3760           API: add some new utility functions:
3761            - gst_pad_query_peer_position()
3762            - gst_pad_query_peer_duration()
3763            - gst_pad_query_peer_convert()
3764           
3765 2006-03-23  Wim Taymans  <wim@fluendo.com>
3766
3767         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3768         (gst_base_sink_init), (gst_base_sink_finalize),
3769         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
3770         (gst_base_sink_set_property), (gst_base_sink_get_property),
3771         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
3772         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3773         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
3774         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3775         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3776         (gst_base_sink_preroll_object), (gst_base_sink_event),
3777         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
3778         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3779         (gst_base_sink_query), (gst_base_sink_change_state):
3780         Decouple max-lateness and the fact that QoS messages are generated
3781         with a new property (qos).
3782         added API: GstBaseSink::async_play()
3783         Add vmethod so subclasses can be notified of ASYNC playing
3784         state changes.
3785         Collect timestamp start and stop to report better current
3786         position in EOS/PLAYING/PAUSED/READY/NULL.
3787         Refactor QoS/frame dropping and other measurements.
3788         API: GstBaseSrc::qos
3789         Fixes #326311
3790
3791         * libs/gst/base/gstbasesink.h:
3792         Added Private struct.
3793         API: gst_base_sink_set_qos_enabled()
3794         API: gst_base_sink_is_qos_enabled()
3795
3796 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3797
3798         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3799           If compiling against GLib-2.8 or newer, try to read the
3800           registry file using GMappedFile first before falling back
3801           to fopen() + fread() (#332151).
3802
3803 2006-03-22  Wim Taymans  <wim@fluendo.com>
3804
3805         * gst/gstinfo.c: (gst_debug_set_active),
3806         (gst_debug_category_set_threshold):
3807         Disable debugging unless explicitly activated.
3808         Fixes #335480.
3809
3810 2006-03-22  Wim Taymans  <wim@fluendo.com>
3811
3812         * gst/gstelement.c: (gst_element_set_locked_state),
3813         (gst_element_dispose):
3814         Cleanup the error case.
3815
3816         * gst/gstobject.c: (gst_object_dispose):
3817         print a critical when some object was disposed with
3818         a parent, also revive the object since it might
3819         crash the parent.
3820
3821 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
3822
3823         * tools/gst-launch.1.in:
3824           Fix another typo.
3825
3826 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3827
3828         * configure.ac:
3829         * tests/check/Makefile.am:
3830           disable some tests when we don't have a registry
3831         * tests/check/gst/gstutils.c: (gst_utils_suite):
3832           don't build the part that needs parsing
3833
3834 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3835
3836         * gst/Makefile.am
3837         * tests/examples/Makefile.am:
3838           fix --disable-parse build
3839
3840 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3841
3842         * tools/gst-feedback.1.in:
3843           Fix typo: s/feeback/feedback/ (#133494).
3844
3845 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3846
3847         * tools/Makefile.am:
3848         * tools/gst-launch.1.in:
3849           Add FILES section and correct entry about GST_REGISTRY_PATH
3850           environment variable (#133495; #133494).
3851
3852 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3853
3854         * tools/Makefile.am:
3855         * tools/gst-md5sum.1.in:
3856         * tools/gst-md5sum.c:
3857           Remove gst-md5sum and man page (the md5sink element
3858           required was removed ages ago)
3859
3860 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3861
3862         * gst/gststructure.c: (gst_structure_id_set_value):
3863           Make sure that string fields in structures/taglists
3864           contain valid UTF-8 - we don't want to pass rubbish to
3865           applications because of a buggy plugin (cp. #334167).
3866
3867 2006-03-21  Edward Hervey  <edward@fluendo.com>
3868
3869         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3870         (gst_bin_handle_message_func):
3871         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
3872         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
3873         (gst_element_set_bus_func):
3874         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
3875         * gst/gstminiobject.c: (gst_value_set_mini_object),
3876         (gst_value_take_mini_object):
3877         * gst/gstpad.c: (gst_pad_set_pad_template):
3878         * gst/gstpipeline.c: (gst_pipeline_dispose),
3879         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3880         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
3881         (gst_collect_pads_chain):
3882         * libs/gst/net/gstnettimeprovider.c:
3883         (gst_net_time_provider_set_property):
3884         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
3885         It's in fact all issues with gst_*object_replace().
3886
3887 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3888
3889         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
3890         
3891         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3892         * pkgconfig/gstreamer-check.pc.in:
3893           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
3894
3895 2006-03-21  Edward Hervey  <edward@fluendo.com>
3896
3897         * gst/gstbuffer.h:
3898         * gst/gstevent.h:
3899         * gst/gstmessage.h:
3900         gst_[buffer|event|message]_ref() macros are replaced by a static
3901         inline functions because gcc-4.1 will about if the return value
3902         isn't used.
3903         * tests/check/gst/gstevent.c: (event_probe):
3904         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
3905
3906 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
3907
3908         * gst/gstutils.h:
3909         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
3910         the type' case. (Closes: #335195 for now). In the future, when we
3911         depend on GLib 2.10, we could also intern the type name using
3912         g_intern_static_string()
3913
3914 2006-03-20  Wim Taymans  <wim@fluendo.com>
3915
3916         * gst/gstbin.c: (gst_bin_handle_message_func),
3917         (bin_query_max_init), (bin_query_position_fold),
3918         (bin_query_position_done), (gst_bin_query):
3919         Position query should also take max of all streams.
3920
3921 2006-03-20  Wim Taymans  <wim@fluendo.com>
3922
3923         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3924         (gst_fake_src_finalize):
3925         Fix leaks in fakesrc.
3926
3927         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3928         Fix leaks in the testcase.
3929
3930 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
3931
3932         * gst/gst_private.h:
3933           add win32 specific import decoration(__declspec(dllimport)) 
3934           for all extern GstDebugCategory * variables
3935         * win32/common/libgstbase.def:
3936         * win32/common/libgstcontroller.def:
3937         * win32/common/libgstreamer.def:
3938           Add some exports, remove empty lines
3939         * win32/common/libgstdataprotocol.def:
3940         * win32/common/libgstdataprotocol.dsp:
3941         * win32/common/libgstnet.def:
3942         * win32/common/libgstnet.dsp:
3943           new project files and exportation files added
3944         
3945 2006-03-19  Wim Taymans  <wim@fluendo.com>
3946
3947         * tests/check/libs/basesrc.c: (eos_event_counter):
3948         Use proper return value for probe.
3949
3950 2006-03-17  Wim Taymans  <wim@fluendo.com>
3951
3952         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3953         (gst_pad_push):
3954         Don't leak buffers, caps and pads on negotiation errors.
3955
3956 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
3957
3958         * docs/faq/cvs.xml:
3959         * docs/faq/dependencies.xml:
3960         * docs/faq/developing.xml:
3961         * docs/faq/faq.xml:
3962         * docs/faq/general.xml:
3963         * docs/faq/getting.xml:
3964         * docs/faq/legal.xml:
3965         * docs/faq/troubleshooting.xml:
3966         * docs/faq/using.xml:
3967         Faq review and update.
3968
3969 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
3970
3971         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
3972         (gst_pad_push):
3973         Don't pound the cpu to pieces by checking get_caps when accept_caps
3974         is called with the same caps as the pad already has.
3975         Use GST_DEBUG_OBJECT when outputting caps change information.
3976
3977 2006-03-15  Wim Taymans  <wim@fluendo.com>
3978
3979         * gst/gstclock.c: (gst_clock_class_init):
3980         Fix docs.
3981
3982 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
3983
3984         * gst/gstbuffer.h:
3985         Documentation fix.
3986
3987         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
3988         (gst_pad_accept_caps), (gst_pad_configure_sink),
3989         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
3990         Make the default acceptcaps behaviour be to check the requested 
3991         caps against the gst_pad_get_caps output. 
3992
3993         Ensure that gst_pad_accept_caps is used to check caps when a pad
3994         doesn't have a setcaps function, so that pads automatically refuse 
3995         caps that they don't allow in their pad template. (Fixes #332986)
3996
3997         When a buffer with attached caps is pushed, ensure that the source 
3998         pad receives those caps even if the element didn't call
3999         gst_pad_set_caps first.
4000
4001 2006-03-15  Wim Taymans  <wim@fluendo.com>
4002
4003         * libs/gst/base/gstadapter.c:
4004         Add some docs.
4005
4006 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4007
4008         * win32/common/libgstbase.def:
4009         * win32/common/libgstcontroller.def:
4010         * win32/common/libgstreamer.def:
4011           Add a whole bunch of missing functions (#334434).
4012
4013 2006-03-14  Wim Taymans  <wim@fluendo.com>
4014
4015         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4016         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4017         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4018         Better debug info when we receive a segment event.
4019         Reorganize a bit so we can pass the get_times() results around.
4020         Use the segment format when calculating the running time.
4021         Don't do QoS is sync is disabled or we have no clock or the
4022         element does not want us to sync to the clock.
4023         Don't drop buffers if QoS is disabled for now.
4024
4025 2006-03-14  Wim Taymans  <wim@fluendo.com>
4026
4027         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4028         Marked the stats property as unimplemented so people don't get
4029         wild ideas.
4030         Add debug message when regression goes wrong.
4031         Added some more docs.
4032
4033 2006-03-14  Wim Taymans  <wim@fluendo.com>
4034
4035         * gst/gstsegment.c: (gst_segment_to_stream_time):
4036         Return correct return type in case of errors.
4037
4038 2006-03-14  Wim Taymans  <wim@fluendo.com>
4039
4040         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4041           Don't segfault on invalid formats.
4042
4043 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4044
4045         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4046           Can't use gst_segment_to_running_time() when the segment
4047           is not in GST_TIME_FORMAT (like with filesink, for example).
4048           Stops flac encoding pipelines from spewing critical warnings
4049           at EOS (#331248).
4050           
4051 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4052
4053         * gst/gstpipeline.c: (gst_pipeline_class_init):
4054           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4055
4056         * plugins/elements/gsttypefindelement.c:
4057         (gst_type_find_element_handle_event):
4058           Don't try to typefind empty streams.
4059
4060 2006-03-14  Wim Taymans  <wim@fluendo.com>
4061
4062         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4063         (gst_base_sink_do_qos):
4064         Separate QoS calculation.
4065         Only drop buffers when lateness is bigger than the 
4066         duration of the buffer.
4067
4068 2006-03-13  Wim Taymans  <wim@fluendo.com>
4069
4070         * gst/gstpipeline.c: (gst_pipeline_set_property),
4071         (gst_pipeline_get_property), (do_pipeline_seek),
4072         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4073         (gst_pipeline_get_delay):
4074         Don't deadlock when reading properties.
4075
4076 2006-03-13  Wim Taymans  <wim@fluendo.com>
4077
4078         * libs/gst/base/gstbasetransform.c:
4079         (gst_base_transform_class_init), (gst_base_transform_init),
4080         (gst_base_transform_sink_event),
4081         (gst_base_transform_sink_eventfunc),
4082         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4083         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4084         (gst_base_transform_set_property),
4085         (gst_base_transform_get_property),
4086         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4087         (gst_base_transform_set_qos_enabled),
4088         (gst_base_transform_is_qos_enabled):
4089         * libs/gst/base/gstbasetransform.h:
4090         Make basetransform virtual method for src events too.
4091         Handle QOS in basetransform.
4092         API: gst_base_transform_update_qos()
4093         API: gst_base_transform_set_qos_enabled()
4094         API: gst_base_transform_is_qos_enabled()
4095
4096 2006-03-13  Wim Taymans  <wim@fluendo.com>
4097
4098         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4099         (gst_base_sink_do_sync):
4100         Small cleanups.
4101         Use QOS debug category.
4102
4103 2006-03-13  Wim Taymans  <wim@fluendo.com>
4104
4105         * plugins/elements/gstqueue.c:
4106         Very small doc update.
4107
4108 2006-03-13  Wim Taymans  <wim@fluendo.com>
4109
4110         * gst/gst_private.h:
4111         * gst/gstinfo.c: (_gst_debug_init):
4112         Added QOS debug category
4113
4114 2006-03-13  Wim Taymans  <wim@fluendo.com>
4115
4116         * docs/gst/gstreamer-sections.txt:
4117         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4118         * gst/gstbin.h:
4119         * gst/gstbus.c: (gst_bus_class_init):
4120         * gst/gstbus.h:
4121         * gst/gstclock.c:
4122         * gst/gstelement.c: (gst_element_set_locked_state):
4123         * gst/gstsegment.c:
4124         Documentation updates.
4125
4126         * gst/gstpipeline.c: (gst_pipeline_get_type),
4127         (gst_pipeline_class_init), (gst_pipeline_init),
4128         (gst_pipeline_dispose), (gst_pipeline_set_property),
4129         (gst_pipeline_get_property), (do_pipeline_seek),
4130         (gst_pipeline_send_event), (gst_pipeline_change_state),
4131         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4132         (gst_pipeline_get_delay):
4133         * gst/gstpipeline.h:
4134         Added methods for setting the delay.
4135         API: gst_pipeline_set_delay()
4136         API: gst_pipeline_get_delay()
4137         Add pipeline debug category
4138         Various cleanups.
4139         Updated docs.
4140         Don't reset stream time when seek failed.
4141
4142 2006-03-13  Wim Taymans  <wim@fluendo.com>
4143
4144         * docs/design/draft-klass.txt:
4145         * docs/design/part-clocks.txt:
4146         * docs/design/part-events.txt:
4147         * docs/design/part-gstbin.txt:
4148         * docs/design/part-gstpipeline.txt:
4149         * docs/design/part-messages.txt:
4150         * docs/design/part-negotiation.txt:
4151         * docs/design/part-overview.txt:
4152         * docs/design/part-preroll.txt:
4153         * docs/design/part-seeking.txt:
4154         * docs/design/part-states.txt:
4155         * docs/design/part-streams.txt:
4156         Documentation updates.
4157
4158 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4159
4160         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4161         us to leak strings...
4162
4163 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4164
4165         * libs/gst/net/gstnettimeprovider.c:
4166           fix docs
4167         * win32/common/config.h:
4168           update
4169
4170 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4171
4172         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4173
4174         * configure.ac:
4175           Don't check for libgnomeui (leftover from old examples
4176           that aren't built or disted any longer) (#334303).
4177           
4178 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4179
4180         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4181         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4182           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4183           there's no space left on the device.
4184
4185 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4186
4187         * gst/gstclock.h:
4188           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4189           to cast the input to GstClockTime before comparing with
4190           another GstClockTime value.
4191
4192 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4193
4194         * configure.ac:
4195           back to trunk
4196
4197 === release 0.10.4 ===
4198
4199 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4200
4201         * configure.ac:
4202           releasing 0.10.4, "Light"
4203
4204 2006-03-10  Michael Smith  <msmith@fluendo.com>
4205
4206         * libs/gst/dataprotocol/dataprotocol.c:
4207           Fix docs for dataprocotol to not get the return types completely
4208           wrong for a few functions.
4209
4210 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4211
4212         * docs/gst/gstreamer-sections.txt:
4213         * gst/gstpipeline.c: (gst_pipeline_class_init),
4214         (gst_pipeline_init), (gst_pipeline_set_property),
4215         (gst_pipeline_get_property), (gst_pipeline_change_state),
4216         (gst_pipeline_set_auto_flush_bus),
4217         (gst_pipeline_get_auto_flush_bus):
4218         * gst/gstpipeline.h:
4219           Add new API: gst_pipeline_set_auto_flush_bus() and
4220           gst_pipeline_get_auto_flush_bus() to disable automatic
4221           flushing of the pipeline's GstBus when going from READY
4222           to NULL state (#332045).
4223
4224 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4225
4226         * docs/gst/gstreamer-sections.txt:
4227         * gst/gsturi.c: (gst_uri_has_protocol):
4228         * gst/gsturi.h:
4229            Add new API: gst_uri_has_protocol() (#333779).
4230
4231 2006-03-09  Wim Taymans  <wim@fluendo.com>
4232
4233         * gst/gstclock.c: (gst_clock_entry_new),
4234         (gst_clock_id_compare_func), (gst_clock_id_wait),
4235         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4236         (gst_clock_init), (gst_clock_get_internal_time),
4237         (gst_clock_set_master), (do_linear_regression),
4238         (gst_clock_add_observation), (gst_clock_set_property):
4239         * gst/gstclock.h:
4240         Review docs.
4241         Small cleanups.
4242         Fix a possible segfault when the window-size is made smaller.
4243         Calculate jitter before performing the clock wait. Ideally
4244         the clock implementation should calculate jitter but we need
4245         API breakage for that.
4246
4247         * gst/gstsystemclock.c: (gst_system_clock_init):
4248         Docs review.
4249         
4250         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4251         Remove leftover else
4252
4253         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4254         (gst_systemclock_suite):
4255         Added check to test GST_CLOCK_DIFF.
4256
4257 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4258
4259         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
4260         (gst_type_find_helper_get_range):
4261           If we are provided with the size, we should implement
4262           GstTypeFind::get_length, so that typefind functions who
4263           want to can actually peek at the middle of a file.
4264
4265 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
4266
4267         * docs/manual/advanced-dataaccess.xml:
4268           Add some very very basic error checking.
4269
4270         * docs/pwg/appendix-checklist.xml:
4271           Some updates to the list of things to check when writing an element.
4272
4273 2006-03-08  Wim Taymans  <wim@fluendo.com>
4274
4275         * docs/design/part-element-transform.txt:
4276         Added some docs about the design of tranform elements.
4277
4278         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4279         (gst_base_src_loop), (gst_base_src_change_state):
4280         Mark buffers with the DISCONT flag.
4281
4282 2006-03-08  Michael Smith  <msmith@fluendo.com>
4283
4284         * gst/gstregistry.h:
4285         * gst/gstregistryxml.c: (gst_registry_save),
4286         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
4287         (gst_registry_xml_save_pad_template),
4288         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
4289         (gst_registry_xml_write_cache):
4290           Rewrite registry-saving to avoid race conditions and check for
4291           failed writes.
4292
4293 2006-03-08  Wim Taymans  <wim@fluendo.com>
4294
4295         * libs/gst/base/gstbasetransform.c:
4296         (gst_base_transform_transform_caps),
4297         (gst_base_transform_transform_size),
4298         (gst_base_transform_prepare_output_buffer),
4299         (gst_base_transform_get_unit_size),
4300         (gst_base_transform_buffer_alloc),
4301         (gst_base_transform_handle_buffer),
4302         (gst_base_transform_change_state):
4303         Cleanups, separate normal flow from errors, add sensible
4304         DEBUG lines.
4305         Don't try to renegotiate when allocating an output buffer.
4306         Also copy DISCONT buffer flag when copying a buffer.
4307         Reset the transform after we finish streaming, not during.
4308
4309 2006-03-08  Wim Taymans  <wim@fluendo.com>
4310
4311         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4312         Use last buffer timestamp in qos message.
4313
4314 2006-03-07  Wim Taymans  <wim@fluendo.com>
4315
4316         Patch by: Christophe Fergeau
4317
4318         * docs/pwg/advanced-tagging.xml:
4319         * docs/pwg/building-pads.xml:
4320           fixes #333416
4321
4322 2006-03-07  Wim Taymans  <wim@fluendo.com>
4323
4324         * docs/libs/gstreamer-libs-sections.txt:
4325         Added basesink new methods.
4326
4327         * gst/gstevent.c:
4328         * gst/gstevent.h:
4329         Docs updates. Flesh out the QoS docs.
4330
4331         * libs/gst/base/gstadapter.c:
4332         Small doc clarification about ownership and flushing.
4333
4334         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
4335         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4336         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
4337         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4338         * libs/gst/base/gstbasesink.h:
4339         API additions: 
4340         Added new methods to allow subclass to control max-lateness 
4341         and sync.
4342         Generate very basic QoS events based on last sync observation.
4343         Updated docs, fix typo, added some QoS blurb.
4344
4345         * libs/gst/base/gstbasesrc.c:
4346         Remove obsolete _get_state() calls from docs.
4347
4348 2006-03-07  Wim Taymans  <wim@fluendo.com>
4349
4350         * docs/libs/gstreamer-libs-sections.txt:
4351         * libs/gst/base/gstbasetransform.h:
4352         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
4353         Fix docs for GstBaseSrc.
4354
4355 2006-03-07  Wim Taymans  <wim@fluendo.com>
4356
4357         * docs/gst/gstreamer-sections.txt:
4358         * gst/gstbuffer.h:
4359         * gst/gstvalue.c:
4360         * libs/gst/base/gstbasetransform.h:
4361         Small documentation fixes.
4362
4363 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4364
4365         * gst/gstvalue.c:
4366           Document thread-unsafety of gst_value_register_foo_func()
4367           when used at the same time as gst_value_foo() (#322628).
4368
4369 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4370
4371         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
4372         (gst_push_src_check_get_range):
4373           Push sources don't support pull mode by default.
4374
4375 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4376
4377         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4378         (gst_base_src_init), (gst_base_src_pad_check_get_range),
4379         (gst_base_src_default_check_get_range):
4380         * libs/gst/base/gstbasesrc.h:
4381           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
4382           provide default implementation, and rename
4383           gst_base_src_check_get_range() to
4384           gst_base_src_pad_check_get_range() for clarity.
4385
4386 2006-03-06  Wim Taymans  <wim@fluendo.com>
4387
4388         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4389         Make property overridable.
4390
4391 2006-03-06  Wim Taymans  <wim@fluendo.com>
4392
4393         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4394         (gst_base_sink_init), (gst_base_sink_set_property),
4395         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4396         * libs/gst/base/gstbasesink.h:
4397         API addition: Make max-lateness a property.
4398
4399 2006-03-06  Wim Taymans  <wim@fluendo.com>
4400
4401         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
4402         (gst_base_sink_do_sync), (gst_base_sink_render_object):
4403         Don't ever draw a frame that is >10ms late.
4404
4405 2006-03-06  Michael Smith  <msmith@fluendo.com>
4406
4407         * gst/gstmessage.c: (_gst_message_copy):
4408           When copying a message, set the parent_refcount of the enclosed
4409           structure to point at the copy, not the original message.
4410
4411 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4412
4413         Patch by: Christophe Fergeau
4414
4415         * gst/gstutils.h:
4416           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
4417           usable in c++ code (#333417)
4418
4419 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4420
4421         * gst/gstclock.h:
4422           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
4423
4424 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
4425
4426         * libs/gst/base/gstbasetransform.c:
4427         (gst_base_transform_transform_caps):
4428           Make sure caps are writable before passing them to
4429           gst_caps_append().
4430
4431 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4432
4433         * gst/gsterror.h:
4434           Fix some minor docs errors.
4435
4436 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4437
4438           Patch by: Ross Burton <ross at burtonini dot com>
4439
4440         * gst/gsterror.c: (_gst_resource_errors_init):
4441         * gst/gsterror.h:
4442           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
4443
4444 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4445
4446         * gst/gst.c:
4447         Add a check and output a g_warning when GStreamer is built
4448         against GLib 2.6 but running against 2.8 or higher, and vice 
4449         versa. (Closes: #323542)
4450
4451 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4452
4453         * gst/parse/parse.l:
4454           Commit patch for parse_launch syntax from #331255. Removes 
4455           support for quoted strings and mimetypes when writing filtered 
4456           caps. See the bug report for more details - I'm pretty sure this
4457           obscure feature is not in use by _anyone_ anywhere.
4458
4459           With this simple change, the size of the gstreamer.so here 
4460           drops from 2193KB to 1565KB.
4461
4462 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4463
4464         * plugins/elements/gsttypefindelement.h:
4465         * plugins/elements/gsttypefindelement.c:
4466         (gst_type_find_element_src_event), (start_typefinding),
4467         (stop_typefinding), (gst_type_find_element_handle_event),
4468         (gst_type_find_element_chain),
4469         (gst_type_find_element_chain_do_typefinding):
4470           Use gst_type_find_helper_for_buffer() for chain-based
4471           typefinding.
4472
4473 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4474
4475         * plugins/elements/gsttypefindelement.c:
4476         (gst_type_find_element_class_init),
4477         (gst_type_find_element_set_property),
4478         (gst_type_find_element_get_property):
4479           Deprecate "maximum" property (not only was it only taken into
4480           account for typefinding in push-mode anyway, it also was never
4481           actually possible to set it in the first place because the
4482           property was registered with the numeric property ID for the
4483           "minimum" property). Register "maximum" property correctly,
4484           for the sake of future copy'n'pasters. Remove some cruft
4485           from property get/set functions.
4486
4487 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4488
4489         * plugins/elements/gsttypefindelement.c:
4490         (gst_type_find_element_activate):
4491           Use gst_type_find_helper_get_range() here, so we
4492           can honour the "minimum" property and also emit
4493           the signal with the correct probability of the found caps.
4494
4495 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
4496
4497         * docs/libs/gstreamer-libs-sections.txt:
4498         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
4499         (helper_find_suggest), (gst_type_find_helper_get_range),
4500         (gst_type_find_helper):
4501         * libs/gst/base/gsttypefindhelper.h:
4502           New API: gst_type_find_helper_get_range() (#333042).
4503
4504 2006-03-02  Michael Smith  <msmith@fluendo.com>
4505
4506         * gst/gstregistryxml.c: (load_feature):
4507           Asserting on a failure to read part of the registry is Not Cool.
4508           Just log a warning and return NULL (which is already handled)
4509
4510 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
4511
4512         * win32/common/libgstbase.def:
4513           added export of gst_type_find_helper_for_buffer
4514         * win32/common/libgstbase.def:
4515           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
4516           gst_ghost_pad_get_target
4517
4518 2006-02-28  Wim Taymans  <wim@fluendo.com>
4519
4520         * docs/design/draft-klass.txt:
4521         We use Filter now.
4522         Added Connector to mark elements that are only used to
4523         allow pipeline connections.
4524         Moved Debug to extra feature since most of them are 
4525         functionally something else.
4526
4527 2006-02-28  Wim Taymans  <wim@fluendo.com>
4528
4529         * docs/design/draft-klass.txt:
4530         Some updates and clarifications.
4531
4532 2006-02-28  Wim Taymans  <wim@fluendo.com>
4533
4534         * docs/design/draft-klass.txt:
4535         Proposal for klass field values.
4536
4537         * docs/design/part-streams.txt:
4538         Start of a doc describing stream anatomy.
4539
4540 2006-02-28  Wim Taymans  <wim@fluendo.com>
4541
4542         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
4543         Help the compiler a bit with type registration.
4544         Use existing forward cod path instead of duplicating it when 
4545         handling a message.
4546         
4547         * gst/gstbus.c: (gst_bus_get_type):
4548         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
4549         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
4550         * gst/gstclock.c: (gst_clock_get_type):
4551         * gst/gstelement.c: (gst_element_get_type),
4552         * gst/gstelementfactory.c: (gst_element_factory_get_type):
4553         * gst/gstindexfactory.c: (gst_index_factory_get_type):
4554         * gst/gstminiobject.c: (gst_mini_object_get_type):
4555         * gst/gstpad.c: (gst_pad_get_type):
4556         * gst/gstsegment.c: (gst_segment_get_type):
4557         * gst/gststructure.c: (gst_structure_get_type):
4558         * gst/gstsystemclock.c: (gst_system_clock_get_type):
4559         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
4560         * gst/gstvalue.c:
4561         Help compiler with type registration.
4562
4563         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4564         Small doc update.
4565
4566 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4567
4568         * plugins/elements/gsttypefindelement.c:
4569         (gst_type_find_element_handle_event):
4570           When we get an EOS event and have not found a type yet
4571           (most likely because we had not yet accumulated
4572           TYPE_FIND_MIN_SIZE of data yet), try to determine the
4573           type given the data we have so far. Fixes typefinding
4574           for very short streams again, most notably quicktime
4575           redirections as used on Apple's trailer site (#331701).
4576
4577 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4578
4579         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
4580         (gst_type_find_helper):
4581           Try typefinding factories with the highest rank first.
4582
4583 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4584
4585         * docs/libs/gstreamer-libs-docs.sgml:
4586         * docs/libs/gstreamer-libs-sections.txt:
4587         * libs/gst/base/gsttypefindhelper.c:
4588           Add section for typefind helper and add documentation
4589           for the old and the new function.
4590
4591 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4592
4593         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
4594         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
4595         (gst_type_find_helper_for_buffer):
4596         * libs/gst/base/gsttypefindhelper.h:
4597           New API: gst_type_find_helper_for_buffer() (#332723).
4598           
4599 2006-02-27  Michael Smith  <msmith@fluendo.com>
4600
4601         Patch by: Loïc Minier
4602
4603         * configure.ac:
4604         * docs/Makefile.am:
4605         * docs/slides/Makefile.am:
4606           prevent CVS directories getting disted.
4607
4608 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4609
4610         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
4611           Use the REFCOUNTING category for caps refcounting.
4612           
4613 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4614
4615         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4616           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
4617
4618 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4619
4620         * plugins/elements/gsttypefindelement.c:
4621         (gst_type_find_element_activate):
4622           Use gst_pad_check_pull_range() before _activate_pull()
4623           to avoid unnecessary open/close (see #331690).
4624
4625 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4626
4627         * gst/gstutils.c:
4628           Docs enhancement: make it crystal clear what the
4629           gst_pad_add_*_probe() callbacks should look like.
4630
4631 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4632
4633         * libs/gst/base/gstbasesrc.c:
4634           Document how applications can stop recording from
4635           live sources (see #330996).
4636
4637 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4638
4639         * tests/check/Makefile.am:
4640         * tests/check/libs/basesrc.c: (eos_event_counter),
4641         (basesrc_eos_events_pull), (basesrc_eos_events_push),
4642         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
4643         (gst_basesrc_suite), (main):
4644           ... and add some tests for the base source EOS stuff.
4645
4646 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4647
4648         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
4649           Test case originally showed the problem fixed below,
4650           but was then amended. Add checks back at the place
4651           where they used to be.
4652
4653 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4654
4655         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4656         (gst_base_src_init), (gst_base_src_loop),
4657         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4658         (gst_base_src_change_state):
4659         * libs/gst/base/gstbasesrc.h:
4660           Don't unconditionally send EOS when going from PAUSED to
4661           READY state, esp. make sure we don't send two EOS events
4662           in some cases (e.g. one when reaching EOS and one when
4663           going from PAUSED to READY). Also, we don't want to send
4664           EOS events when operating in pull mode. However, we do
4665           want to send an EOS event when shutting down a live
4666           source explicitly, for example (fixes #330996).
4667           
4668 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4669
4670         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4671           Update src->read_position after a seek when not using mmap.
4672           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
4673
4674 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
4675
4676         * gst/Makefile.am:
4677         * gst/gstparse.h:
4678         * gst/gstutils.c:
4679         * gst/gstutils.h:
4680         Make things work with --disable-parse as they do with 
4681         --disable-load-save - the symbols involved disappear, but the
4682         header is still installed and GST_DISABLE_PARSE is included via
4683         gstconfig.h
4684
4685 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4686
4687         * libs/gst/base/gstbasetransform.c:
4688         (gst_base_transform_change_state): Fix a stupid bug. I was 
4689         sure I compiled that.
4690
4691 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4692
4693         * gst/gstpad.c: (gst_pad_set_blocked_async):
4694         * gst/gstutils.c: (gst_pad_add_data_probe),
4695         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4696         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4697         (gst_pad_remove_buffer_probe): Make those function act on the
4698         ghostpad target when it's a ghostpad. (Closes #331727)
4699
4700 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4701
4702         * libs/gst/base/gstbasetransform.c:
4703         (gst_base_transform_change_state): Make basetransform reusable.
4704         (Closes #331898)
4705
4706 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
4707
4708         * docs/random/release:
4709         Move the current documentation of how to do a release to the top
4710         of the file.
4711
4712         * gst/gstbin.c: (gst_bin_class_init),
4713         (gst_bin_handle_message_func):
4714         Allow multiple state-recalculation threads. (Closes #328873)
4715
4716 2006-02-19  Julien MOUTTE  <julien@moutte.net>
4717
4718         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
4719         * gst/gstpad.c: (gst_pad_set_event_function),
4720         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4721         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
4722         2 strings. You can't use the STR_NULL macro on that.
4723
4724 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
4725
4726         * gst/gstpad.c: (gst_pad_set_event_function),
4727         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4728         (gst_pad_set_getcaps_function)
4729         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
4730           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
4731           So now, we can use --gst-debug-level=5 on Windows
4732         * win32/common/libgstcontroller.def:
4733           Added export of gst_controller_init
4734         * win32/vs6/libgstcontroller.dsp:
4735           Fixed Release post build configuration
4736
4737 2006-02-17  Wim Taymans  <wim@fluendo.com>
4738
4739         * tests/check/gst/gstquery.c: (GST_START_TEST):
4740         Added another check.
4741
4742 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
4743
4744         * plugins/elements/gsttypefindelement.c: (find_peek):
4745           We can do peeks at non-zero offsets, as long as they
4746           fall within the buffer we have.
4747
4748 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
4749
4750         * tests/check/Makefile.am:
4751         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
4752         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
4753         (parse_suite), (main):
4754           Add testsuite for parse launch syntax
4755
4756 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
4757
4758         * plugins/elements/gsttypefindelement.c:
4759         (gst_type_find_element_chain):
4760           When typefinding is unsuccessful in the chain function, don't
4761           error out immediately. Only error out with NO_CAPS_FOUND if
4762           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
4763           otherwise simply wait for more data so we can try typefinding
4764           again with more data later. Also, don't attempt to typefind
4765           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
4766           this should improve typefinding from network sources where the
4767           size of the first buffer can be somewhat random.
4768
4769 2006-02-14  Wim Taymans  <wim@fluendo.com>
4770
4771         * docs/gst/gstreamer-sections.txt:
4772         * gst/gstpadtemplate.c:
4773         * gst/gstpadtemplate.h:
4774         Fix padtemplate docs, fixes #328805.
4775
4776 2006-02-14  Wim Taymans  <wim@fluendo.com>
4777
4778         * tools/gst-launch.c: (main):
4779         NO_PREROLL is not an ERROR so don't send confusing messages
4780         to the user.
4781
4782 2006-02-14  Wim Taymans  <wim@fluendo.com>
4783
4784         Patch by: Torsten Schoenfeld
4785
4786         * gst/gstregistry.c: (gst_registry_get_default),
4787         (_gst_registry_cleanup):
4788         Protect default registry with lock and ref/sink it.
4789         Fixes #324818
4790
4791 2006-02-14  Wim Taymans  <wim@fluendo.com>
4792
4793         * gst/gstbuffer.c:
4794         * gst/gstquery.c: (gst_query_list_add_format),
4795         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4796         (gst_query_parse_formats_nth):
4797         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4798         Docs fixes.
4799
4800 2006-02-14  Wim Taymans  <wim@fluendo.com>
4801
4802         * docs/gst/gstreamer-sections.txt:
4803         Reworked query docs.
4804
4805         * gst/gstquery.c: (gst_query_new_formats),
4806         (gst_query_list_add_format), (gst_query_set_formats),
4807         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4808         (gst_query_parse_formats_nth):
4809         * gst/gstquery.h:
4810         Flesh out formats query, added some new methods.
4811         Fix part of #324398.
4812
4813         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
4814         Added query creation tests.
4815
4816 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
4817
4818         * gst/gstpad.c: (fixate_value):
4819         Add a default fixation for fraction lists.
4820
4821 2006-02-13  Wim Taymans  <wim@fluendo.com>
4822
4823         * gst/gsttask.c: (gst_task_init), (gst_task_func),
4824         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
4825         (gst_task_join):
4826         * gst/gsttask.h:
4827         Detect and warn for obvious deadlocks. fixes #320340
4828         Fix error case where lock was not released.
4829
4830         * tests/check/Makefile.am:
4831         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
4832         (task_func), (gst_element_suite), (main):
4833         Add task check.
4834
4835 2006-02-13  Wim Taymans  <wim@fluendo.com>
4836
4837         * docs/gst/gstreamer-sections.txt:
4838         * gst/gstbus.c:
4839         Add new functions to docs.
4840
4841 2006-02-13  Wim Taymans  <wim@fluendo.com>
4842
4843         * docs/design/part-TODO.txt:
4844         Updated TODO list, basesrc supports seeking to non-bytes
4845         formats.
4846
4847         * docs/design/part-element-sink.txt:
4848         Update docs.
4849
4850         * gst/gstbin.c: (bin_replace_message),
4851         (gst_bin_handle_message_func):
4852         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
4853         * gst/gstevent.c: (gst_event_finalize):
4854         * gst/gstpad.c: (gst_pad_event_default_dispatch),
4855         (gst_pad_send_event):
4856         Use shiny new _TYPE_NAME macros.
4857
4858         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4859         Move debug statement up.
4860
4861         * gst/gstelement.c: (gst_element_set_locked_state):
4862         Add some debugging.
4863
4864 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
4865
4866         * docs/gst/gstreamer-sections.txt:
4867         * gst/gstmessage.h:
4868         * gst/gstquery.h:
4869           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
4870           macros (#330906). Also, document the already existing
4871           GST_QUERY_TYPE macro.
4872
4873 2006-02-13  Wim Taymans  <wim@fluendo.com>
4874
4875         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
4876         (event_probe), (GST_START_TEST):
4877         Only events up to the pipeline EOS are counted, there are
4878         some more when going to NULL currently which we don't care
4879         about for now.
4880
4881 2006-02-13  Wim Taymans  <wim@fluendo.com>
4882
4883         * gst/gstpad.c: (gst_pad_send_event):
4884         Correctly check flushing and emit probes. fixes #330125
4885
4886 2006-02-10  Andy Wingo  <wingo@pobox.com>
4887
4888         * gst/gstbus.c (gst_bus_class_init): Declare our private data
4889         structure.
4890         (gst_bus_init): Cache the location of the private data in the
4891         instance structure.
4892         (gst_bus_enable_sync_message_emission) 
4893         (gst_bus_disable_sync_message_emission): Implement new public
4894         functions.
4895         (gst_bus_post): Emit the sync-message signal if the user asked for
4896         it. Fixes #330684.
4897
4898         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
4899         location of the bus-private structure.
4900         (gst_bus_enable_sync_message_emission)
4901         (gst_bus_disable_sync_message_emission): API addition
4902
4903 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
4904
4905         Patch by: Vincent Torri
4906
4907         * docs/pwg/building-boiler.xml:
4908         PWG patch from #326800
4909
4910 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4911
4912         * configure.ac:
4913         * docs/Makefile.am:
4914         * docs/design/Makefile.am:
4915           Dist design docs.
4916
4917 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4918
4919         * configure.ac:
4920           back to CVS
4921
4922 === release 0.10.3 ===
4923
4924 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
4925
4926         * configure.ac:
4927           releasing 0.10.3, "Like a virgin"
4928
4929 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
4930
4931         * configure.ac:
4932           2nd prerelease of 0.10.3
4933           Bump libtool versioning.
4934
4935 2006-02-07  Andy Wingo  <wingo@pobox.com>
4936
4937         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
4938         update last_stop if we're in TIME format and the timestamp is
4939         valid.
4940
4941         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
4942         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
4943         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
4944         If we get a new newsegment with a different format, adapt
4945         accordingly.
4946
4947         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
4948         of 0. Not a problem, really.
4949
4950         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
4951         warn if sync=true.
4952
4953 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
4954
4955         * configure.ac:
4956           Prelease of 0.10.3
4957
4958 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
4959
4960         * win32/vs7:
4961           project files updated to the default vs7 configuration
4962         * win32/common/libgstbase.def:
4963         * win32/common/libgstreamer.def:
4964           added new symbols,
4965           removed empty lines,
4966           sorted all exported symbols alphabetically
4967         * win32/common/dirent.c:
4968         * win32/common/dirent.h:
4969         * win32/common/gchar.h:
4970           use windows line end.
4971           
4972 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4973
4974         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4975           Send EOS event when stopping.
4976
4977 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
4978
4979         * docs/README:
4980           Tell folks what to do if the plugin-foobar.xml file
4981           hasn't been generated for a newly-added plugin.
4982
4983 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4984
4985         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4986         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4987         (gst_collect_pads_start), (gst_collect_pads_stop),
4988         (gst_collect_pads_event): Collectpads now holds a reference
4989         to the GstPad that was added. Indeed we don't want to look
4990         at pads that might just go away with no warning...
4991
4992 2006-02-05  Julien MOUTTE  <julien@moutte.net>
4993
4994         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4995         (gst_collect_pads_start), (gst_collect_pads_stop),
4996         (gst_collect_pads_event), (gst_collect_pads_chain):
4997         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
4998         Mark Nauwelaerts's patch on bug #328491.
4999
5000 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5001
5002         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5003         (gst_utils_suite):
5004           Add some simple tests for gst_parse_bin_from_description() and
5005           gst_bin_find_unconnected_pad() (#329069).
5006
5007 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5008
5009         * tools/gst-launch.c: (event_loop), (main):
5010           Catch errors during preroll (#320084).
5011
5012 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5013
5014         * plugins/elements/gsttypefindelement.c:
5015         (gst_type_find_element_activate):
5016           Post TYPE_NOT_FOUND error message when typefinding
5017           is unsuccessful in the activate function as well.
5018
5019 2006-02-02  Wim Taymans  <wim@fluendo.com>
5020
5021         * docs/design/part-element-sink.txt:
5022         Updated doc.
5023
5024 2006-02-02  Wim Taymans  <wim@fluendo.com>
5025
5026         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5027         (gst_base_sink_render_object),
5028         (gst_base_sink_queue_object_unlocked):
5029         Only keep track of prerollable items when we are 
5030         prerolling.
5031         Before rendering after preroll, always check if we
5032         have queued items.
5033         Added some more debugging.
5034
5035 2006-02-02  Wim Taymans  <wim@fluendo.com>
5036
5037         * gst/gstelement.c: (gst_element_continue_state),
5038         (gst_element_set_state_func), (gst_element_change_state):
5039         Fixed #326576, been running this for quite some time with
5040         no regressions at all.
5041
5042 2006-02-02  Wim Taymans  <wim@fluendo.com>
5043
5044         * common/gst.supp:
5045         Added more suppressions
5046
5047 2006-02-02  Wim Taymans  <wim@fluendo.com>
5048
5049         * docs/design/part-element-sink.txt:
5050         Updated document.
5051
5052         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5053         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5054         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5055         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5056         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5057         (gst_base_sink_preroll_object),
5058         (gst_base_sink_queue_object_unlocked),
5059         (gst_base_sink_queue_object), (gst_base_sink_event),
5060         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5061         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5062         (gst_base_sink_get_position), (gst_base_sink_change_state):
5063         * libs/gst/base/gstbasesink.h:
5064         Totally refactored matching the design doc.
5065         Use two segments, one to clip incomming buffers and another to
5066         perform sync.
5067         Handle queueing correctly, bypass the queue when playing.
5068         Make EOS cancelable.
5069         Handle errors correctly when operating in pull based mode.
5070
5071         * tests/check/elements/fakesink.c: (GST_START_TEST),
5072         (fakesink_suite):
5073         Added new check for sinks.
5074
5075 2006-02-02  Wim Taymans  <wim@fluendo.com>
5076
5077         * gst/gstsegment.c: (gst_segment_clip):
5078         No reason to refuse to clip when start == -1
5079
5080 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5081
5082         * docs/README:
5083         * docs/manual/intro-basics.xml:
5084         * docs/manual/intro-preface.xml:
5085         * docs/manual/manual.xml:
5086         * docs/pwg/advanced-dparams.xml:
5087         * docs/pwg/intro-basics.xml:
5088         * docs/pwg/intro-preface.xml:
5089         * docs/pwg/pwg.xml:
5090           describe dparams (controller) for plugins
5091           unify docs a little more
5092
5093 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5094
5095         * docs/gst/gstreamer-sections.txt:
5096         * gst/gstutils.c: (element_find_unconnected_pad),
5097         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5098         * gst/gstutils.h:
5099           Add new API: gst_parse_bin_from_description() and
5100           gst_bin_find_unconnected_pad() (#329069).
5101
5102 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5103
5104         * docs/manual/README:
5105           uncover a nasty detail of the docs build
5106
5107 2006-01-31  Wim Taymans  <wim@fluendo.com>
5108
5109         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5110         Don't cache duration messages if we're not going to use or
5111         free them.
5112
5113 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5114
5115         * docs/manual/advanced-dparams.xml:
5116         * docs/pwg/advanced-dparams.xml:
5117           more dparam docs
5118         * gst/gstindex.c:
5119           fix docs
5120         * libs/gst/controller/lib.c: (gst_controller_init):
5121           init just once
5122
5123 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5124
5125         * gst/gstelement.c: (gst_element_message_full):
5126           also show file/line/func if no additional debug was given
5127
5128 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5129         
5130         * win32/vs7/grammar.vcproj:
5131           activate copy of autogenerated files for Release mode
5132
5133 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5134         
5135         * win32/common/libgstreamer.def:
5136           export gst_value_compare
5137
5138 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5139
5140         * plugins/elements/Makefile.am:
5141         * plugins/elements/gstelements.c:
5142         * plugins/elements/gstfdsink.c: (_do_init),
5143         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5144         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5145         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5146         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5147         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5148         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5149         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5150         * plugins/elements/gstfdsink.h:
5151         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5152
5153 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5154
5155         * docs/manual/advanced-dparams.xml:
5156           describe controller
5157         * docs/manual/advanced-position.xml:
5158         * docs/manual/basics-init.xml:
5159         * docs/manual/manual.xml:
5160         * docs/manual/titlepage.xml:
5161         * docs/pwg/pwg.xml:
5162         * docs/pwg/titlepage.xml:
5163           cleanup xml (more to come)
5164         * libs/gst/controller/gstcontroller.c:
5165           fix typo
5166
5167 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5168         
5169         * win32/vs6/grammar.dsp:
5170           add autogen of gstmarshal.c,h for Release mode
5171                 
5172 2006-01-30  Wim Taymans  <wim@fluendo.com>
5173
5174         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5175         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5176         (gst_base_sink_handle_object), (gst_base_sink_event),
5177         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5178         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5179         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5180         (gst_base_sink_deactivate), (gst_base_sink_activate),
5181         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5182         (gst_base_sink_query), (gst_base_sink_change_state):
5183         Basesink cleanups, remove some old code.
5184         Handle the case where a subclass can preroll in the render
5185         method (mostly audiosinks).
5186         Handle more events.
5187         Remove some locks around variables that are now protected
5188         with the PREROLL_LOCK (clock_id, flushing, ..).
5189         Optimize position query some more, do correct locking.
5190         Remove old code to push queue in state change, this is not
5191         needed anymore since preroll blocks on all prerollable items 
5192         now.
5193         Almost implemented as described in design doc.
5194
5195 2006-01-30  Wim Taymans  <wim@fluendo.com>
5196
5197         * tests/check/gst/gstbin.c: (GST_START_TEST):
5198         Wait for refcount to settle down before checking.
5199
5200 2006-01-30  Wim Taymans  <wim@fluendo.com>
5201
5202         * docs/design/part-element-sink.txt:
5203         Pseudo code overview of desired sink behaviour regarding
5204         preroll.
5205
5206 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5207         * win32/vs6/grammar.dsp:
5208           fix some bugs in Release mode for autogenerated files
5209                 
5210 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5211         * win32/common/libgstbase.def:
5212         * win32/common/libgstreamer.def:
5213           export some new symbols: gst_base_src_set_format,
5214           gst_iterator_next, gst_structure_set_valist
5215
5216 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5217
5218         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5219         Set pad functions unconditionally. Fixes #329105.
5220
5221 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5222         * win32/vs8:
5223           add vs8 project files created by Sergey Scobich
5224
5225 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
5226
5227         * gst/gstutils.c: (gst_element_unlink_pads):
5228         Don't leak pad references.
5229
5230         * tests/check/elements/fakesink.c: (GST_START_TEST):
5231         * tests/check/generic/sinks.c: (GST_START_TEST):
5232         * tests/check/generic/states.c: (GST_START_TEST):
5233         * tests/check/gst/gstbin.c: (GST_START_TEST):
5234         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5235         * tests/check/gst/gstelement.c: (GST_START_TEST):
5236         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5237         * tests/check/gst/gstiterator.c: (GST_START_TEST):
5238         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5239         Fix a bunch of leaks. Make generic/sinks.c
5240         use a bit less cpu by slowing the buffer rate
5241         between fakesrc and fakesink.
5242         
5243 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
5244         * gst/gstcaps.c:
5245         * gst/gstelement.c: (gst_element_send_event):
5246         * gst/gstevent.c:
5247         * gst/gstinfo.c:
5248         * gst/gstiterator.c:
5249         * gst/gstiterator.h:
5250         * gst/gstpad.c: (gst_pad_send_event):
5251         * gst/gststructure.c:
5252         * gst/gsturi.c:
5253         * gst/gstutils.c:
5254         * gst/gstvalue.c:
5255         * libs/gst/base/gstadapter.c:
5256           doc fixes, to link to function, just write gst_cool_function(), don't
5257           prefix with '#'
5258
5259 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5260
5261         * plugins/elements/gsttee.c: (gst_tee_do_push),
5262         (gst_tee_handle_buffer):
5263         Always prefer an actual return value from a src
5264         pad in place of NOT_LINKED. This means we return
5265         WRONG_STATE when all src pads are WRONG_STATE
5266         instead of NOT_LINKED.
5267
5268         Lock when replacing the last message to prevent
5269         racing with the get_property method.
5270
5271         Add debug output
5272
5273 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5274
5275         * tests/check/Makefile.am:
5276         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
5277         (main):
5278         Add a very simple check that should have caught the memleak I fixed
5279         last night (if not for the slice allocator hiding it)
5280
5281 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5282
5283         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5284         (gst_bin_remove_func), (gst_bin_handle_message_func),
5285         (bin_query_duration_fold), (bin_query_generic_fold):
5286         Clean up references to the clock provider when disposed or when
5287         handling a clock-lost message from it.
5288
5289         Unref sinks when performing a query via gst_iterator_fold, as the
5290         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
5291
5292         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
5293         (gst_clock_set_master):
5294         Drop our reference to the master clock, if any, when we are disposed.
5295
5296         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
5297         Chain up in dispose. 
5298
5299 2006-01-26  Wim Taymans  <wim@fluendo.com>
5300
5301         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5302         Add some debugging.
5303
5304 2006-01-26  Julien MOUTTE  <julien@moutte.net>
5305
5306         * plugins/elements/gsttee.c: (gst_tee_do_push),
5307         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
5308         handles pad being NOT_LINKED or in WRONG_STATE.
5309
5310 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5311
5312         * win32/MANIFEST:
5313           more updating
5314
5315 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5316
5317         * win32/MANIFEST:
5318           remove obsolete entry
5319
5320 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5321
5322         * docs/gst/gstreamer-sections.txt:
5323         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
5324         (gst_bin_iterate_sources), (gst_bin_send_event):
5325         * gst/gstbin.h:
5326         * gst/gstelement.c: (gst_element_send_event):
5327         * gst/gstevent.c:
5328         * gst/gstpad.c: (gst_pad_send_event):
5329           added code for downstream events, reviewed docs in gstevent.c
5330
5331 2006-01-25  Julien MOUTTE  <julien@moutte.net>
5332
5333         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5334         We only query position using the clock in the playing state.
5335         Query peer in the other cases.
5336         * win32/common/config.h: Updates.
5337
5338 2006-01-24  Wim Taymans  <wim@fluendo.com>
5339
5340         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5341         A clock entry that is scheduled for the exact time of the
5342         clock is still in time.
5343
5344         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5345         (gst_base_sink_do_sync):
5346         Add some more debug info.
5347
5348 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5349
5350         * win32/vs7:
5351           Add new vs7 project files and solution.
5352
5353 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5354
5355         * win32/vs7:
5356           all files removed as they were out-dated.
5357
5358 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5359
5360         * docs/random/release:
5361           update notes
5362         * gst/gstbin.c: (gst_bin_init):
5363         * gst/gstbus.c: (gst_bus_new):
5364         * gst/gstbus.h:
5365         * gst/gstpipeline.c: (gst_pipeline_init):
5366           use gst_bus_new(), improve logging, fix docs
5367         * win32/common/config.h:
5368           update for cvs build
5369
5370 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5371
5372         * autogen.sh:
5373           up required version of automake to 1.7
5374
5375 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
5376
5377         * win32/common/libgstreamer.def:
5378           export gst_buffer_is_metadata_writable
5379
5380 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5381
5382         * docs/gst/gstreamer-sections.txt:
5383         * gst/gstevent.h:
5384           Add gst_event_replace() (#327001)
5385
5386 2006-01-20  Wim Taymans  <wim@fluendo.com>
5387
5388         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5389         Make it actually compile too..
5390
5391 2006-01-20  Wim Taymans  <wim@fluendo.com>
5392
5393         * gst/gstcaps.c:
5394         Clarify behaviour of _is_equal() when passing NULL parameters.
5395
5396         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5397         (gst_pad_set_caps):
5398         Cleanups. Don't unref NULL caps.
5399         When setting the same caps, protect caps of the pad with
5400         proper lock.
5401         Use full functionality of _is_equal() when comparing caps.
5402
5403 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5404
5405         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
5406         Don't loop infinitely if there are no buffers to present. Partially
5407         fixes #327197, but collectpads is just broken for reusing elements
5408         to do multiple encodes atm.
5409
5410 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5411
5412         * tools/gst-inspect.c: (print_element_features):
5413         * tools/gst-xmlinspect.c: (main):
5414         URL_HANDLER is not a plugin feature we can search for in
5415         the registry.
5416
5417 2006-01-19  Edward Hervey  <edward@fluendo.com>
5418
5419         * gst/gstelement.c: (gst_element_pads_activate): 
5420         When activating, do src pads first, then sink pads.
5421         When de-activating, do sink pads first, then src pads.
5422
5423 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5424
5425         * docs/gst/gstreamer-sections.txt:
5426         Add gst_index_add_associationv to the docs
5427
5428 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5429
5430         * gst/gstevent.c:
5431           Fix docs typo
5432
5433         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
5434         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
5435           Do some refactoring. Doesn't actually change functionality,
5436           but makes landing the DRAIN event easier later.
5437
5438 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
5439
5440         * docs/pwg/advanced-scheduling.xml:
5441           Update from 0.9.x to 0.10 API and make example a bit
5442           clearer.
5443
5444 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5445
5446         * docs/gst/gstreamer-sections.txt:
5447         Add gst_buffer_(is|make)_metadata_writable methods.
5448
5449 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5450
5451         * docs/design/part-sparsestreams.txt:
5452         Update sparse streams doc, hopefully for greater clarity
5453
5454 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
5455
5456         * docs/design/part-events.txt:
5457         Remove mention of FILLER events.
5458         Add DRAIN event.
5459
5460         * docs/design/part-sparsestreams.txt:
5461         Write some things about using NEWSEGMENT to keep sparse streams
5462         flowing.
5463
5464 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5465
5466         * gst/gstbin.c: (gst_bin_dispose):
5467           Guard gst_object_unref call against a NULL object (dispose
5468           can theoretically be called multiple times).
5469           
5470 2006-01-18  Wim Taymans  <wim@fluendo.com>
5471
5472         * gst/gstbin.c: (gst_bin_element_set_state):
5473         * gst/gstclock.c: (gst_clock_id_wait):
5474         Added some more debug info.
5475
5476         * libs/gst/base/gstadapter.c:
5477         Added more docs.
5478
5479         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5480         (gst_base_sink_do_sync), (gst_base_sink_chain):
5481         Added some comments.
5482
5483 2006-01-18  Wim Taymans  <wim@fluendo.com>
5484
5485         * tests/check/Makefile.am:
5486         * tests/check/elements/fakesink.c: (chain_async_buffer),
5487         (chain_async), (chain_async_return), (GST_START_TEST),
5488         (fakesink_suite), (main):
5489         Added fakesink test that checks prerolling and clipping
5490         behaviour.
5491
5492         * tests/check/gst/gstutils.c: (GST_START_TEST):
5493         Make check run faster so that buildbots don't timeout.
5494
5495 2006-01-18  Wim Taymans  <wim@fluendo.com>
5496
5497         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5498         (gst_base_sink_do_sync):
5499         Some cleanups.
5500         When the sink finishes blocking on the preroll buffer, it can
5501         immediatly render it instead of rendering when the next buffer
5502         arrives.
5503
5504 2006-01-18  Wim Taymans  <wim@fluendo.com>
5505
5506         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
5507         (gst_base_sink_get_property), (gst_base_sink_do_sync),
5508         (gst_base_sink_chain):
5509         Small cleanups.
5510         GST_ELEMENT_CLOCK and sync are protected with LOCK.
5511         Don't store _last_stop if the buffer is dropped.
5512
5513 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5514
5515         * plugins/elements/gsttypefindelement.c:
5516         (gst_type_find_element_class_init):
5517           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
5518           object method handler that sets the caps on the pad and we want
5519           that to happen before we emit the signal (fixes e.g. feeding a
5520           plain text file to decodebin).
5521
5522 2006-01-18  Christian Schaller  <Christian@fluendo.com>
5523
5524         * gst/gstplugin.c: Add MPL and Proprietary as license options
5525
5526 2006-01-18  Andy Wingo  <wingo@pobox.com>
5527
5528         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
5529         symbol was exported before, it appears this was just an oversight.
5530         Fixes #168703.
5531         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
5532
5533         * gst/gstindex.c (gst_index_add_associationv): Changed int in
5534         prototype to gint. OK since this prototype was not in the header.
5535
5536 2006-01-17  Andy Wingo  <wingo@pobox.com>
5537
5538         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
5539         registry while we remove plugins.
5540
5541         * tools/gst-inspect.c (print_element_info): Don't unref the
5542         factory arg, that should be the responsibility of whatever code
5543         received the ref. Fixes a double-free when called from
5544         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
5545         (main): Unref the factory if we have one.
5546         (print_element_list): No change -- relies on the
5547         plugin_feature_list_free to free the list of features.
5548
5549 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
5550
5551         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5552         (gst_buffer_make_metadata_writable):
5553         * gst/gstbuffer.h:
5554         * libs/gst/base/gstbasetransform.c:
5555         (gst_base_transform_prepare_output_buf):
5556         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5557         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5558           Replace gst_buffer_(make|is)_metadata_writable patch now
5559           that the release is out.
5560
5561 2006-01-17  Andy Wingo  <wingo@pobox.com>
5562
5563         * gst/gstregistry.c: Reflow design comment. Update so as to speak
5564         in the present tense without reference to versions.
5565
5566         * gst/gstregistry.c (gst_registry_add_plugin)
5567         (gst_registry_remove_plugin, gst_registry_remove_feature)
5568         (gst_registry_find_feature, gst_registry_get_feature_list)
5569         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
5570         (gst_registry_lookup, gst_registry_scan_path)
5571         (_gst_registry_remove_cache_plugins)
5572         (gst_registry_get_feature_list_by_plugin): Add argument
5573         validation.
5574
5575 === release 0.10.2 ===
5576
5577 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
5578
5579         * configure.ac:
5580           releasing 0.10.2, "If man is five"
5581
5582 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5583
5584         * gst/gstbuffer.c:
5585         * gst/gstbuffer.h:
5586         * libs/gst/base/gstbasetransform.c:
5587         (gst_base_transform_prepare_output_buf):
5588         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5589         * tests/check/gst/gstbuffer.c: (gst_test_suite):
5590           Back out patch until after the release.
5591
5592 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5593
5594         * gst/gstminiobject.c:
5595           Spelling fix in docs.
5596         * ChangeLog - remove conflict indicator
5597
5598 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5599
5600         Reviewed By: Andy Wingo
5601
5602         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5603         (gst_buffer_make_metadata_writable):
5604         * gst/gstbuffer.h:
5605           Add gst_buffer_(is|make)_metadata_writable as analogues of
5606           gst_buffer_(is|make)_writable.
5607
5608         * libs/gst/base/gstbasetransform.c:
5609         (gst_base_transform_prepare_output_buf):
5610         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5611           Use name gst_buffer_(is|make)_metadata_writable functions.
5612
5613         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5614           Test gst_buffer_(is|make)_metadata_writable
5615         
5616           (Closes: #324162)
5617
5618 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5619
5620         * docs/manual/Makefile.am:
5621           don't do parallel make
5622         * configure.ac:
5623           AC_SUBST HOST_CPU
5624         * win32/common/config.h.in:
5625           add generations for HOST_CPU and GST_MAJORMINOR
5626         * win32/common/config.h:
5627           commit generated result
5628
5629 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         * docs/manual/appendix-integration.xml:
5632           Update GNOME integration section to use gst_init_get_option_group()
5633           instead of the old popt stuff (#322911). Also, GNOME applications
5634           should  now use gconf*sink and gconf*src instead of the old gconf
5635           helper lib we had.
5636
5637 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
5638
5639
5640         * docs/gst/gstreamer-docs.sgml:
5641         * docs/gst/gstreamer-sections.txt:
5642         * docs/libs/gstreamer-libs-sections.txt:
5643           add new API entries to the docs
5644         * libs/gst/controller/Makefile.am:
5645         * libs/gst/controller/gstcontroller.c:
5646         * libs/gst/controller/gstcontroller.h:
5647         * libs/gst/controller/gstcontrollerprivate.h:
5648         * libs/gst/controller/gsthelper.c:
5649         * libs/gst/controller/gstinterpolation.c:
5650           move private structs to private header
5651         * po/README:
5652           gstreamer-0.7 -> gstreamer-0.10
5653         * tests/check/libs/struct_i386.h:
5654           remove private structs
5655
5656 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5657
5658         * plugins/indexers/Makefile.am:
5659           Fixes as part of #317048
5660
5661 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5662
5663         * plugins/indexers/Makefile.am:
5664           fix #316086 - compilation when mmap is missing
5665
5666 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
5667
5668         * libs/gst/base/gstbasesink.c:
5669           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
5670           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
5671         * win32/common/config.h:
5672           added some defines GST_MAJORMINOR and HOST_CPU
5673         * win32/common/libgstbase.def:
5674         * win32/common/libgstreamer.def:
5675           added some exported functions.
5676
5677 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5678
5679         * libs/gst/controller/gstcontroller.c:
5680         (gst_controlled_property_set_interpolation_mode),
5681         (gst_controlled_property_new):
5682         * libs/gst/controller/gstcontroller.h:
5683         * libs/gst/controller/gstinterpolation.c:
5684         (interpolate_none_get_string_value_array):
5685           make G_TYPE_STRING controlable
5686
5687 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5688
5689         * tools/README:
5690         * tools/gst-feedback.1.in:
5691         * tools/gst-inspect.1.in:
5692         * tools/gst-launch.1.in:
5693         * tools/gst-md5sum.1.in:
5694         * tools/gst-typefind.1.in:
5695         * tools/gst-xmlinspect.1.in:
5696         * tools/gst-xmllaunch.1.in:
5697           cleanup man-pages, remove reference to gst-register, document env-vars
5698
5699 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
5700
5701         * gst/gstbuffer.c: (gst_buffer_span):
5702           gst_buffer_span should copy the timestamp of the first buffer
5703           if they were both originally overlapping subbuffers of the 
5704           same parent, using the same logic as the 'slow copy' case.
5705
5706 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
5707
5708         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
5709           Need to awaken ALL the pads when we pop a buffer, otherwise
5710           collectpads only works when there is 2 input streams.
5711
5712 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
5713
5714         * docs/random/ensonic/media-device-daemon.txt:
5715           more ideas (dbus)
5716         * gst/gstbuffer.c:
5717           fix doc example, add clarification
5718         * tools/gst-launch.1.in:
5719           add initial info about GST_PLUGIN_PATH, needs more work
5720
5721 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5722
5723         * docs/manual/basics-bins.xml:
5724         * docs/manual/basics-elements.xml:
5725         * docs/manual/intro-basics.xml:
5726           Some more minor docs additions and updates.
5727
5728 2006-01-11  Wim Taymans  <wim@fluendo.com>
5729
5730         * docs/manual/basics-bins.xml:
5731         * docs/manual/basics-elements.xml:
5732         Some small fixes as pointed out by Ser-ver on IRC.
5733
5734 2006-01-10  Edward Hervey  <edward@fluendo.com>
5735
5736         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5737         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
5738         the single-segment mode.
5739
5740 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
5741
5742         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5743
5744         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
5745         (gst_base_src_perform_seek), (gst_base_src_send_event),
5746         (gst_base_src_set_property), (gst_base_src_get_property),
5747         (gst_base_src_loop), (gst_base_src_start),
5748         (gst_base_src_activate_push):
5749         * libs/gst/base/gstbasesrc.h:
5750           Name (private) union; makes Sun's Forte compiler happy (#324900).
5751
5752 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5753
5754         * README:
5755           gst-register is gone.
5756
5757 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5758
5759         * gst/gstvalue.c: (_gst_value_initialize):
5760           make the G_TYPE_DATE instantiation work if debug is disabled
5761
5762 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
5763
5764         * gst/gstmessage.c: (gst_message_parse_tag),
5765         (gst_message_parse_error), (gst_message_parse_warning):
5766           Don't crash when return location for error/warning debug
5767           string is NULL; add fact that return locations can be
5768           NULL to docs where appropriate.
5769
5770 2006-01-05  Wim Taymans  <wim@fluendo.com>
5771
5772         * gst/gstplugin.c: (gst_plugin_load_file):
5773         Replace strdup by g_strdup.
5774
5775 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5776
5777         * docs/pwg/advanced-types.xml:
5778           fix doc borkage
5779
5780 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5781
5782         submitted by: Abel Cheung
5783
5784         * po/LINGUAS:
5785         * po/zh_TW.po:
5786           Added Chinese (traditional) translation
5787
5788 2006-01-04  Wim Taymans  <wim@fluendo.com>
5789
5790         * docs/manual/basics-pads.xml:
5791         * docs/plugins/Makefile.am:
5792         * docs/plugins/gstreamer-plugins-docs.sgml:
5793         * docs/plugins/gstreamer-plugins-sections.txt:
5794         * docs/pwg/advanced-clock.xml:
5795         * docs/pwg/advanced-scheduling.xml:
5796         * docs/pwg/advanced-types.xml:
5797         * plugins/elements/gstfdsink.c:
5798         * plugins/elements/gstfdsrc.c:
5799         * plugins/elements/gstfdsrc.h:
5800         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5801         * plugins/elements/gstidentity.h:
5802         * plugins/elements/gstqueue.h:
5803         * plugins/elements/gsttee.c:
5804         * plugins/elements/gsttee.h:
5805         * plugins/elements/gsttypefindelement.c:
5806         (gst_type_find_element_class_init):
5807         * plugins/elements/gsttypefindelement.h:
5808         Small updates to various docs.
5809         Added core plugins to docs.
5810
5811 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5812
5813         * common/gst.supp:
5814           add a suppression for liboil's uninitialized variable
5815
5816 2006-01-02  James Livingston  <jrl at ids dot org dot au>
5817
5818         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5819
5820         * gst/gstutils.h:
5821           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
5822           macro, so that gcc doesn't complain if the -Wmissing-prototypes
5823           compiler switch is being used (#325429).
5824
5825 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
5826
5827         * gst/gstbin.c: (gst_bin_query):
5828           Disable duration query caching in bins until it gets
5829           fixed (see #324807).
5830
5831 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5832
5833         * tools/gst-inspect.c: (print_element_properties_info):
5834           Handle properties of POINTER and BOXED type.
5835
5836 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5837
5838         * gst/gst.c: (init_post):
5839           Init tags stuff and some other things before loading
5840           any static plugins (there may be other static plugins
5841           than just the GStreamer ones, and they may want to
5842           register their own tags or formats or whatever, and
5843           preferably without segfaulting).
5844
5845         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5846           Print at least a warning in the debug logs if we drop a
5847           query just because we don't know how to adjust the value
5848           in the particular format.
5849
5850 2005-12-24  David Schleef  <ds@schleef.org>
5851
5852         * tools/gstreamer-completion:
5853           Replacement for gst-complete written in sh and sed.  Only
5854           completes names of features, but that's 90% of what I want
5855           it for.  Properties are not available in registry.xml.  (Maybe
5856           they should be...)
5857
5858 === release 0.10.1 ===
5859
5860 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
5861
5862         * configure.ac:
5863           releasing 0.10.1, "Nollaig chridheil"
5864
5865 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
5866
5867         * docs/faq/cvs.xml:
5868           Add missing quote, should be make ERROR_CFLAGS="".
5869
5870 2005-12-20  Wim Taymans  <wim@fluendo.com>
5871
5872         * docs/design/part-trickmodes.txt:
5873         More documentation on trickmodes.
5874
5875 2005-12-20  Edward Hervey  <edward@fluendo.com>
5876
5877         * gst/gstcaps.c: (gst_static_caps_get_type):
5878         * gst/gstcaps.h:
5879           API addition: GST_TYPE_STATIC_CAPS
5880         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
5881         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
5882         * gst/gstpadtemplate.h:
5883           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
5884         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
5885         bindings.
5886
5887 2005-12-18  Wim Taymans  <wim@fluendo.com>
5888
5889         * libs/gst/base/gstadapter.c:
5890         * libs/gst/base/gstadapter.h:
5891         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5892         (gst_base_sink_get_position):
5893         * libs/gst/base/gstbasesink.h:
5894         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5895         (gst_base_src_default_query), (gst_base_src_default_do_seek),
5896         (gst_base_src_do_seek), (gst_base_src_perform_seek),
5897         (gst_base_src_send_event), (gst_base_src_update_length),
5898         (gst_base_src_get_range), (gst_base_src_loop),
5899         (gst_base_src_start):
5900         * libs/gst/base/gstbasesrc.h:
5901         * libs/gst/base/gstbasetransform.h:
5902         * libs/gst/base/gstcollectpads.h:
5903         * libs/gst/base/gstpushsrc.c:
5904         * libs/gst/base/gstpushsrc.h:
5905         * libs/gst/dataprotocol/dataprotocol.c:
5906         * libs/gst/dataprotocol/dataprotocol.h:
5907         * libs/gst/net/gstnetclientclock.h:
5908         * libs/gst/net/gstnettimeprovider.h:
5909         Documentation updates.
5910
5911 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5912
5913         * docs/manual/basics-helloworld.xml:
5914           Remove superfluous closing bracket in helloworld example.
5915
5916 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5917
5918         * tools/gst-launch.1.in:
5919           Update gst-launch man page; add a section with useful
5920           environment variables. Fixes #323882.
5921
5922 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
5923
5924         * gst/gst.c:
5925         * gst/gst_private.h:
5926           change some char* into char[]
5927
5928 2005-12-16  Wim Taymans  <wim@fluendo.com>
5929
5930         * gst/gstregistryxml.c: (load_feature):
5931         Cleanups.
5932         Don't use g_object_unref on GstObjects so that we avoid
5933         leaks on unsafe glibs.
5934
5935 2005-12-16  Wim Taymans  <wim@fluendo.com>
5936
5937         * gst/gstbin.c: (gst_bin_recalc_state):
5938         Small doc updates.
5939
5940 2005-12-16  Wim Taymans  <wim@fluendo.com>
5941
5942         * common/check.mak:
5943         Added make forever target for check.
5944
5945 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5946
5947         * gst/gst.c: (init_post):
5948           make the registry cache file HOST_CPU-dependent
5949
5950 2005-12-16  Andy Wingo  <wingo@pobox.com>
5951
5952         * plugins/elements/gstbufferstore.c
5953         (gst_buffer_store_cleared_func): Pay attention to g_list_append
5954         return value.
5955
5956         * tests/check/gst/gstobject.c
5957         (test_fake_object_name_threaded_unique): Pay attention to
5958         g_list_sort return value.
5959
5960 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5961
5962         * tools/gst-feedback-m.m:
5963           Update for 0.9/0.10 (fixes #323870).
5964
5965 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
5966
5967         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
5968           Fix lcopy for mini objects, the mini object needs to be ref'ed.
5969           
5970         * tests/check/gst/gstminiobject.c: (my_foo_init),
5971         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
5972         (test_value_collection), (gst_mini_object_suite):
5973           Add test to ensure refcounts end up as expected when passing
5974           GstMiniObjects through g_object_get() and g_object_set().
5975
5976 2005-12-14  Julien MOUTTE  <julien@moutte.net>
5977
5978         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5979         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
5980         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
5981         of collectpads. This version removes a lot of races without
5982         touching API/ABI. Yay !
5983
5984 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
5985
5986         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
5987           Don't allow activation of a srcpad in pull_range if it has no
5988           getrange function.
5989           Change some debug statements to be a little clearer
5990
5991         * plugins/elements/gsttypefindelement.c:
5992         (gst_type_find_handle_src_query):
5993           Check that we have a peer before executing queries thereupon.
5994
5995         * tests/examples/metadata/read-metadata.c: (message_loop):
5996           Use gst_bus_pop instead of gst_bus_poll when we just want it to
5997           immediately return us any available message with 0 timeout.
5998
5999 2005-12-12  Michael Smith  <msmith@fluendo.com>
6000
6001         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6002           Don't unref factories after calling them.
6003         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6004         * plugins/elements/gsttypefindelement.c:
6005         (gst_type_find_element_chain):
6006           Free lists of factories after using them. Fixing typefinding memory
6007           leaks.
6008
6009 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6010
6011         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6012         (gst_plugin_feature_load):
6013           more meaningful debug output
6014         * configure.ac:
6015         * tests/Makefile.am:
6016         * tests/old/examples/Makefile.am:
6017           make make distcheck happy again
6018
6019 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6020
6021         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6022           Catch the special case where we are operating chain-based,
6023           but the downstream peer pad has no chain function. Emit a
6024           custom error message in this case instead of letting the
6025           core generate one implying that this is some sort of core
6026           bug. It's not, it just means that whatever got plugged
6027           into the pipeline downstream when we announced the type
6028           can only operate pull-based, while our source can only
6029           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6030           Error string has not been marked for translation yet, as
6031           it probably needs some more work first.
6032
6033         (gst_type_find_element_get_best_possibility):
6034           Add helper function to find the best of all available
6035           found possibilities that qualify given the min. threshold.
6036
6037         (gst_type_find_element_handle_event):
6038           Fix the case where we get an EOS while still in TYPEFIND
6039           mode (we want to chose the best of all possible types,
6040           not just the first type that happens to be in our unsorted
6041           list of possible types).
6042
6043         (gst_type_find_element_chain):
6044           Make sure we return GST_FLOW_ERROR when we errored out
6045           in stop_typefinding(); also, don't just find the best of
6046           all found type entries and then use the last examined
6047           type entry, but actually use the best entry.
6048
6049 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6050
6051         * tests/examples/typefind/typefind.c: (type_found):
6052         * tests/examples/xml/runxml.c: (xml_loaded):
6053           More gcc4 fixes and a mem leak fix.
6054
6055 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6056
6057         * tests/examples/xml/createxml.c: (object_saved):
6058           gcc 4 fixes
6059
6060 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6061
6062         * tests/Makefile.am:
6063           enable the examples even more
6064
6065 2005-12-12  Andy Wingo  <wingo@pobox.com>
6066
6067         * libs/gst/net/gstnettimeprovider.c
6068         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6069         (gst_net_time_provider_set_property)
6070         (gst_net_time_provider_get_property):
6071         API addition: Export "active" as a GObject property.
6072         (gst_net_time_provider_thread): Only respond to time queries if
6073         the time provider is active.
6074
6075         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6076         NetTimeProvider, preserving binary compat.
6077
6078 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6079
6080         * tests/examples/controller/audio-example.c: (main):
6081         * tests/examples/launch/Makefile.am:
6082           convert comments again
6083
6084 2005-12-12  Wim Taymans  <wim@fluendo.com>
6085
6086         * libs/gst/base/gstpushsrc.c:
6087         Fix typo.
6088
6089 2005-12-12  Wim Taymans  <wim@fluendo.com>
6090
6091         * docs/libs/gstreamer-libs-sections.txt:
6092         Added new symbol to docs.
6093
6094         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6095         (gst_base_src_init), (gst_base_src_set_format),
6096         (gst_base_src_default_query), (gst_base_src_query),
6097         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6098         (gst_base_src_perform_seek), (gst_base_src_send_event),
6099         (gst_base_src_default_event), (gst_base_src_event_handler),
6100         (gst_base_src_set_property), (gst_base_src_get_property),
6101         (gst_base_src_wait), (gst_base_src_do_sync),
6102         (gst_base_src_update_length), (gst_base_src_get_range),
6103         (gst_base_src_check_get_range), (gst_base_src_loop),
6104         (gst_base_src_default_negotiate), (gst_base_src_start),
6105         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6106         (gst_base_src_change_state):
6107         * libs/gst/base/gstbasesrc.h:
6108         Implement seeking to other formats than _BYTES.
6109         Implement more seeking methods correctly.
6110         Doc updates.
6111         Added query vmethod.
6112         Added do_seek vmethod to make life easier for subclasses
6113         when seeking.
6114         API addition: gst_base_src_set_format()
6115
6116 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6117
6118         * tests/examples/Makefile.am:
6119           added that too
6120
6121 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6122
6123         * configure.ac:
6124         * docs/random/ensonic/media-device-daemon.txt:
6125         * tests/examples/controller/.cvsignore:
6126         * tests/examples/controller/Makefile.am:
6127         * tests/examples/controller/audio-example.c: (main):
6128         * tests/examples/helloworld/.cvsignore:
6129         * tests/examples/helloworld/Makefile.am:
6130         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6131         * tests/examples/launch/.cvsignore:
6132         * tests/examples/launch/Makefile.am:
6133         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6134         * tests/examples/metadata/.cvsignore:
6135         * tests/examples/metadata/Makefile.am:
6136         * tests/examples/metadata/read-metadata.c: (message_loop),
6137         (make_pipeline), (print_tag), (main):
6138         * tests/examples/queue/.cvsignore:
6139         * tests/examples/queue/Makefile.am:
6140         * tests/examples/queue/queue.c: (event_loop), (main):
6141         * tests/examples/typefind/.cvsignore:
6142         * tests/examples/typefind/Makefile.am:
6143         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6144         (main):
6145         * tests/examples/xml/.cvsignore:
6146         * tests/examples/xml/Makefile.am:
6147         * tests/examples/xml/createxml.c: (object_saved), (main):
6148         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6149         * tests/old/examples/Makefile.am:
6150         * tests/old/examples/TODO:
6151         * tests/old/examples/controller/.cvsignore:
6152         * tests/old/examples/controller/Makefile.am:
6153         * tests/old/examples/controller/audio-example.c:
6154         * tests/old/examples/helloworld/.cvsignore:
6155         * tests/old/examples/helloworld/Makefile.am:
6156         * tests/old/examples/helloworld/helloworld.c:
6157         * tests/old/examples/launch/.cvsignore:
6158         * tests/old/examples/launch/Makefile.am:
6159         * tests/old/examples/launch/mp3parselaunch.c:
6160         * tests/old/examples/launch/mp3play:
6161         * tests/old/examples/manual/Makefile.am:
6162         * tests/old/examples/metadata/Makefile.am:
6163         * tests/old/examples/metadata/read-metadata.c:
6164         * tests/old/examples/queue/.cvsignore:
6165         * tests/old/examples/queue/Makefile.am:
6166         * tests/old/examples/queue/queue.c:
6167         * tests/old/examples/typefind/.cvsignore:
6168         * tests/old/examples/typefind/Makefile.am:
6169         * tests/old/examples/typefind/typefind.c:
6170         * tests/old/examples/xml/.cvsignore:
6171         * tests/old/examples/xml/Makefile.am:
6172         * tests/old/examples/xml/createxml.c:
6173         * tests/old/examples/xml/runxml.c:
6174           applied some simple fixing to some examples
6175           re-enabled the working examples
6176
6177 2005-12-12  Wim Taymans  <wim@fluendo.com>
6178
6179         * gst/gstsegment.c: (gst_segment_init),
6180         (gst_segment_set_last_stop), (gst_segment_set_seek),
6181         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6182         (gst_segment_to_running_time):
6183         Added more documentation.
6184         Make sure the last_pos value is updated properly.
6185         Make sure to_stream_time and to_running_time don't
6186         operate on wrong values.
6187
6188         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6189         Update check.
6190
6191 2005-12-12  Michael Smith  <msmith@fluendo.com>
6192
6193         * plugins/elements/gsttypefindelement.c: (free_entry),
6194         (gst_type_find_element_chain):
6195           Now that we're not leaking factories, make sure we keep references
6196           to them while we need them.
6197
6198 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6199
6200         * tests/check/gst/struct_i386.h:
6201           ifdef out the XML structs
6202
6203 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6204
6205         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6206           floor is not needed, F is always positive; this obviates the
6207           need for adding -lm when building without libxml
6208
6209 2005-12-12  Wim Taymans  <wim@fluendo.com>
6210
6211         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6212         Take current playback rate into account when reporting
6213         the position.
6214
6215 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6216
6217         * docs/manual/mime-world.fig:
6218           Let's try this again, this time with a file that is
6219           actually in XFig format.
6220
6221 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6222
6223         * docs/manual/mime-world.fig:
6224           Add audioconvert element to diagram so that it
6225           matches the text and the code (fixes #319526).
6226
6227 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6228
6229         * docs/pwg/building-chainfn.xml:
6230         * docs/pwg/building-pads.xml:
6231         * docs/pwg/building-state.xml:
6232         * docs/pwg/other-source.xml:
6233           Update state change stuff for 0.10 (fixes #322969).
6234
6235 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6236
6237         * docs/manual/advanced-dataaccess.xml:
6238         * docs/manual/appendix-checklist.xml:
6239         * docs/manual/appendix-programs.xml:
6240         * docs/manual/basics-pads.xml:
6241         * docs/manual/highlevel-components.xml:
6242         * docs/manual/manual.xml:
6243           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6244           add converters in front of pipelines; remove curly
6245           brackets for threads stuff, they no longer exist; use
6246           GST_TYPE_FRACTION for framerates; update some pieces of
6247           code to 0.10, but there's plenty more to do.
6248
6249         * docs/manual/appendix-porting.xml:
6250           Expand on asynchroneous state changes; s/0.9/0.10/;
6251           mention disappearance of gst_init_get_popt_table()
6252           (fixes #322916).
6253
6254 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6255
6256         * docs/faq/using.xml:
6257           Spider no longer exists, and neither does gst-launch-ext.
6258           Update examples to use decodebin and playbin and put
6259           converters in front of sinks (fixes #323726).
6260
6261 2005-12-09  Michael Smith  <msmith@fluendo.com>
6262
6263         * plugins/elements/gsttypefindelement.c: (find_peek),
6264         (gst_type_find_element_chain):
6265           Fix leaking element factories in typefinding.
6266           Fix problem where we forgot about a probable type on non-seekable
6267           files, and thus later mis-typefound it.
6268
6269 2005-12-09  Michael Smith  <msmith@fluendo.com>
6270
6271         * common/m4/gst-makecontext.m4:
6272         * common/m4/gst-mcsc.m4:
6273         * configure.ac:
6274         * win32/common/config.h:
6275         * win32/common/config.h.in:
6276           Remove makecontext stuff; not used in 0.10 and causes problems on
6277           HPUX according to bug #322441
6278
6279 2005-12-07  Wim Taymans  <wim@fluendo.com>
6280
6281         * tests/check/Makefile.am:
6282         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
6283         (main):
6284         * tests/check/libs/struct_i386.h:
6285         Added ABI check for libs
6286
6287 2005-12-07  Wim Taymans  <wim@fluendo.com>
6288
6289         * tests/check/Makefile.am:
6290         And add the struct_i386.h to dist.
6291
6292 2005-12-07  Wim Taymans  <wim@fluendo.com>
6293
6294         * tests/check/Makefile.am:
6295         * tests/check/gst/.cvsignore:
6296         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
6297         (main):
6298         * tests/check/gst/struct_i386.h:
6299         Added check for ABI compatibility.
6300
6301 2005-12-07  Wim Taymans  <wim@fluendo.com>
6302
6303         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6304         (gst_fake_src_get_times), (gst_fake_src_create):
6305         Fix broken sync option, fixes #323259
6306
6307 2005-12-07  Wim Taymans  <wim@fluendo.com>
6308
6309         * gst/gstbuffer.c:
6310         Small docs update.
6311
6312         * gst/gstcaps.c: (gst_caps_is_equal):
6313         Don't assert on NULL <--> X. Fixes #323260
6314
6315         * gst/gstminiobject.c: (gst_mini_object_replace):
6316         If we're doing atomic operations, we might just as well use
6317         the proper way to get an atomic pointer.
6318
6319         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6320         Clean up debugging.
6321
6322 2005-12-07  Michael Smith  <msmith@fluendo.com>
6323
6324         * gst/parse/grammar.y:
6325           Remove handling of { } for threads.
6326
6327 2005-12-06  David Schleef  <ds@schleef.org>
6328
6329         * libs/gst/base/gstbasetransform.c: speling fix.
6330
6331 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6332
6333         * docs/libs/tmpl/gstdataprotocol.sgml:
6334         * docs/random/omega/testing/gstobject.c:
6335         * gst/gst.c:
6336         * gst/gstclock.c:
6337         * gst/gstelement.c:
6338         * gst/gstelementfactory.c:
6339         * gst/gsterror.c:
6340         * gst/gstevent.c:
6341         * gst/gstghostpad.c:
6342         * gst/gstinfo.c:
6343         * gst/gstpadtemplate.c:
6344         * gst/gstregistryxml.c:
6345         * gst/gsttaglist.c:
6346         * gst/gsttagsetter.c:
6347         * gst/gsttypefind.c:
6348         * gst/gstvalue.c:
6349         * libs/gst/base/gstbasesrc.c:
6350         * libs/gst/net/gstnetclientclock.c:
6351         * libs/gst/net/gstnettimeprovider.c:
6352         * plugins/elements/gstfakesrc.c:
6353         * plugins/elements/gstfdsrc.c:
6354         * plugins/elements/gstfilesrc.c:
6355         * plugins/elements/gstidentity.c:
6356         * plugins/elements/gstqueue.c:
6357         * plugins/elements/gsttypefindelement.c:
6358         * plugins/indexers/gstfileindex.c:
6359         * plugins/indexers/gstmemindex.c:
6360         * tests/check/gst/gsttag.c:
6361         * tests/old/examples/cutter/cutter.c:
6362         * tests/old/examples/mixer/mixer.c:
6363         * tests/old/examples/xml/runxml.c: (main):
6364         * tests/old/testsuite/caps/normalisation.c:
6365         * tests/old/testsuite/debug/global.c:
6366         * tests/old/testsuite/parse/parse1.c:
6367         * tools/gst-xmlinspect.c:
6368         * win32/common/dirent.c:
6369           expand tabs
6370
6371 === release 0.10.0 ===
6372
6373 2005-12-05   <thomas (at) apestaart (dot) org>
6374
6375         * configure.ac:
6376           releasing 0.10.0, "Maroilles"
6377
6378 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6379
6380         submitted by: Funda Wang <fundawang@linux.net.cn>
6381
6382         * po/LINGUAS:
6383         * po/zh_CN.po:
6384           added Chinese (Traditional) translation
6385
6386 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6387
6388         * docs/gst/gstreamer-sections.txt:
6389         * docs/libs/tmpl/gstdataprotocol.sgml:
6390         * docs/random/thomasvs/TODO:
6391         * gst/gstutils.c:
6392         * gst/gstutils.h:
6393           fix docs
6394
6395 2005-12-05  Andy Wingo  <wingo@pobox.com>
6396
6397         patch by: Wim Taymans <wim@fluendo.com>
6398
6399         * libs/gst/base/gstbasetransform.c
6400         (gst_base_transform_prepare_output_buf)
6401         (gst_base_transform_buffer_alloc):
6402         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
6403         alloc_buffer_and_set_caps.
6404
6405         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
6406         set_caps on the source pad.
6407         (gst_pad_alloc_buffer_and_set_caps): New function, does what
6408         alloc_buffer used to do. Fixes #322874.
6409
6410         * docs/gst/gstreamer-sections.txt: 
6411         * docs/design/part-negotiation.txt: 
6412         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
6413         changes.
6414
6415 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6416
6417         patch by: Sebastien Moutte
6418
6419         * win32/MANIFEST:
6420         * win32/common/config.h.in:
6421         * win32/vs6/libgstcontroller.dsp:
6422           win32 build fixes
6423
6424 2005-12-05  Wim Taymans  <wim@fluendo.com>
6425
6426         * gst/gstcaps.c: (gst_caps_is_equal):
6427         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6428         (gst_fake_src_create):
6429         Back out previous code changes, leave doc updates, file bugs 
6430         instead. 
6431
6432 2005-12-05  Wim Taymans  <wim@fluendo.com>
6433
6434         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6435         (gst_fake_src_get_times), (gst_fake_src_create):
6436         * plugins/elements/gstfakesrc.h:
6437         Fix broken sync code.
6438
6439 2005-12-05  Wim Taymans  <wim@fluendo.com>
6440
6441         * gst/gstcaps.c: (gst_caps_is_equal):
6442         Comparing NULL against !NULL yields different caps, not a
6443         failure.
6444
6445 2005-12-05  Wim Taymans  <wim@fluendo.com>
6446
6447         * gst/gstpipeline.c:
6448         Fix small typo in docs.
6449
6450 2005-12-05  Andy Wingo  <wingo@pobox.com>
6451
6452         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * gst/gst.c (init_post): remove hard-coded 0.9 location for
6455         registries/plugins with a MAJORMINOR one.
6456         (plugin_desc): Rename library from gstcoreleements to
6457         staticelements. Fixes #323222.
6458
6459 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
6460
6461         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
6462           Change debug category to 'collectpads' from 'collect_pads'
6463           (fixes #323250).
6464
6465 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6466
6467         patch by: Sebastien Moutte
6468
6469         * libs/gst/controller/gstinterpolation.c:
6470           use convert function for uint64/double
6471         * win32/vs6/libgstcontroller.dsp:
6472           link to GLib
6473
6474 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6475
6476         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
6477         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
6478         * gst/gstutils.h:
6479         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6480           add tests that seem to show that the guint64/gdouble conversions
6481           are correct.
6482
6483 2005-12-02  Wim Taymans  <wim@fluendo.com>
6484
6485         * gst/gstregistry.c: (gst_registry_add_path):
6486         * gst/gstregistry.h:
6487         * gst/gstregistryxml.c:
6488         Fix docs again.
6489
6490 2005-12-02  Wim Taymans  <wim@fluendo.com>
6491
6492         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6493         (gst_util_uint64_scale_int):
6494         Small cleanup.
6495
6496         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6497         Add debug log line.
6498
6499         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
6500         Add FIXME.
6501
6502 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6503
6504         * win32/MANIFEST:
6505         * win32/common/config.h:
6506         * win32/vs6/gstreamer.dsw:
6507         * win32/vs6/libgstcoreelements.dsp:
6508         * win32/vs6/libgstelements.dsp:
6509           renamed core elements plugin
6510
6511 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6512
6513         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
6514         (get_candidates):
6515           do piece-wise major/minor comparison so 0.9 < 0.10
6516           also allow .exe extensions for tools
6517
6518 2005-12-02  Michael Smith  <msmith@fluendo.com>
6519
6520         * gst/gst.c:
6521           Escape a % to make gtkdoc happier; bug 322958.
6522
6523 === release 0.9.7 ===
6524
6525 2005-12-01   <thomas (at) apestaart (dot) org>
6526
6527         * configure.ac:
6528           releasing 0.9.7, "My Dog Has No Nose"
6529
6530 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6531
6532         * common/gst-xmlinspect.py:
6533         * configure.ac:
6534         * docs/libs/tmpl/gstdataprotocol.sgml:
6535         * docs/random/release:
6536         * po/af.po:
6537         * po/az.po:
6538         * po/bg.po:
6539         * po/ca.po:
6540         * po/cs.po:
6541         * po/de.po:
6542         * po/en_GB.po:
6543         * po/fr.po:
6544         * po/it.po:
6545         * po/nb.po:
6546         * po/nl.po:
6547         * po/ru.po:
6548         * po/sq.po:
6549         * po/sr.po:
6550         * po/sv.po:
6551         * po/tr.po:
6552         * po/uk.po:
6553         * po/vi.po:
6554         * win32/common/config.h:
6555         * win32/common/config.h.in:
6556         * win32/vs6/gst_inspect.dsp:
6557         * win32/vs6/gst_launch.dsp:
6558         * win32/vs6/libgstbase.dsp:
6559         * win32/vs6/libgstelements.dsp:
6560         * win32/vs6/libgstreamer.dsp:
6561         * win32/vs7/GStreamer.vcproj:
6562         * win32/vs7/gst-inspect.vcproj:
6563         * win32/vs7/gst-launch.vcproj:
6564         * win32/vs7/libgstbase.vcproj:
6565           bump GST_MAJORMINOR to 0.10
6566           reset libtool version
6567
6568 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6569
6570         * po/LINGUAS:
6571         * po/bg.po:
6572           Added Bulgarian translation by (Alexander Shopov)
6573
6574 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6575
6576         * tests/check/gst/gstplugin.c:
6577           fix test
6578
6579 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6580
6581         * common/gst-xmlinspect.py:
6582         * common/gtk-doc-plugins.mak:
6583         * configure.ac:
6584         * docs/Makefile.am:
6585         * docs/gst/Makefile.am:
6586         * docs/gst/gstreamer-docs.sgml:
6587         * docs/gst/gstreamer-sections.txt:
6588         * docs/gst/gstreamer.types:
6589         * docs/gst/gstreamer.types.in:
6590         * docs/plugins/Makefile.am:
6591         * docs/plugins/gstreamer-plugins-docs.sgml:
6592         * docs/plugins/gstreamer-plugins-sections.txt:
6593         * docs/plugins/gstreamer-plugins.types:
6594         * docs/plugins/inspect.stamp:
6595         * docs/plugins/inspect/plugin-coreelements.xml:
6596         * docs/plugins/inspect/plugin-coreindexers.xml:
6597         * docs/plugins/scanobj-build.stamp:
6598         * gstreamer.spec.in:
6599         * plugins/elements/Makefile.am:
6600         * plugins/elements/gstelements.c:
6601         * plugins/elements/gstfakesink.c:
6602         * plugins/elements/gstfakesrc.c:
6603         * plugins/elements/gstfilesink.c:
6604         * plugins/elements/gstfilesrc.c:
6605         * plugins/elements/gstqueue.c:
6606         * plugins/indexers/Makefile.am:
6607         * plugins/indexers/gstindexers.c:
6608           document core plugins in a separate document just like all the
6609           others
6610           rename these plugins to something starting with core
6611
6612 2005-12-01  Andy Wingo  <wingo@pobox.com>
6613
6614         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
6615         padding here before, but it missed the commit.
6616
6617 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6618
6619         * libs/gst/controller/gstinterpolation.c:
6620           whitespace prices have crashed, we should feel free to use some now
6621           use gst_guint64_to_gdouble
6622
6623 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6624
6625         * libs/gst/controller/gstcontroller.c:
6626         * libs/gst/controller/gsthelper.c:
6627         * libs/gst/controller/gstinterpolation.c:
6628         * libs/gst/controller/lib.c:
6629           wrap config.h include
6630
6631 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6632
6633         * docs/gst/gstreamer-sections.txt:
6634           update docs
6635
6636 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6637
6638         * plugins/elements/gstelements.c:
6639         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
6640         (gst_fd_sink__class_init), (gst_fd_sink__init),
6641         (gst_fd_sink__chain), (gst_fd_sink__set_property),
6642         (gst_fd_sink__get_property):
6643         * plugins/elements/gstfdsink.h:
6644         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
6645         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
6646         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
6647         (gst_fd_src_unlock), (gst_fd_src_set_property),
6648         (gst_fd_src_get_property), (gst_fd_src_create),
6649         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
6650         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
6651         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
6652         (gst_fd_src_uri_handler_init):
6653         * plugins/elements/gstfdsrc.h:
6654         * plugins/elements/gstqueue.c: (gst_queue_get_type):
6655           more anal cleanup
6656
6657 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6658
6659         * docs/gst/Makefile.am:
6660         * docs/gst/gstreamer.types.in:
6661         * gst/Makefile.am:
6662           fix the docs build
6663
6664 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6665
6666         * configure.ac:
6667         * gst/Makefile.am:
6668         * gst/gst.c:
6669         * gst/gstplugin.h:
6670         * gst/gstregistry.h:
6671         * tests/benchmarks/complexity.c:
6672         * tests/benchmarks/mass-elements.c:
6673         * tests/check/Makefile.am:
6674         * tools/Makefile.am:
6675         * tools/gst-inspect.c:
6676         * tools/gst-xmlinspect.c:
6677           various fixes to make
6678           --disable-nls --disable-registry --disable-loadsave
6679           --disable-parse --disable-gst-debug
6680           work and get the core .so down to 360444 bytes after stripping
6681
6682 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6683
6684         * Makefile.am:
6685         * configure.ac:
6686           descend into tests
6687         * docs/random/thomasvs/TODO:
6688         * tests/Makefile.am:
6689         * tests/README:
6690           add a README
6691
6692 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6693
6694         * win32/GStreamer.vcproj:
6695         * win32/MANIFEST:
6696         * win32/Makefile:
6697         * win32/Makefile.inspect:
6698         * win32/Makefile.launch:
6699         * win32/Makefile.register:
6700         * win32/README.txt:
6701         * win32/gst-inspect.vcproj:
6702         * win32/gst-launch.vcproj:
6703         * win32/gst-register.vcproj:
6704         * win32/gstelements.vcproj:
6705         * win32/gstgetbits.def:
6706         * win32/gstgetbits.vcproj:
6707         * win32/gstreamer-dbg.def:
6708         * win32/gstreamer.def:
6709         * win32/libgstbase.def:
6710         * win32/libgstbase.vcproj:
6711         * win32/link_oldruntime.c:
6712         * win32/mman.c:
6713         * win32/mman.h:
6714         * win32/mman.inl:
6715         * win32/msvc71.sln:
6716           move even more stuff, win32/ is nice and clean now
6717
6718 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6719
6720         * libs/gst/control/.cvsignore:
6721         * win32/MANIFEST:
6722         * win32/config.h:
6723         * win32/dirent.c:
6724         * win32/dirent.h:
6725         * win32/gstbytestream.def:
6726         * win32/gstbytestream.vcproj:
6727         * win32/gstconfig.h:
6728         * win32/gstenumtypes.c:
6729         * win32/gstenumtypes.h:
6730         * win32/gstoptimalscheduler.vcproj:
6731         * win32/gstversion.h:
6732         * win32/gtchar.h:
6733         * win32/testsuite/bins.vcproj:
6734         * win32/testsuite/bytestream.vcproj:
6735         * win32/testsuite/caps.vcproj:
6736         * win32/testsuite/cleanup.vcproj:
6737         * win32/testsuite/clock.vcproj:
6738         * win32/testsuite/debug.vcproj:
6739         * win32/testsuite/dlopen.vcproj:
6740         * win32/testsuite/dynparams.vcproj:
6741         * win32/testsuite/elements.vcproj:
6742         * win32/testsuite/ghostpads.vcproj:
6743         * win32/testsuite/indexers.vcproj:
6744         * win32/testsuite/negotiation.vcproj:
6745         * win32/testsuite/parse.vcproj:
6746         * win32/testsuite/plugin.vcproj:
6747         * win32/testsuite/refcounting.vcproj:
6748         * win32/testsuite/schedulers.vcproj:
6749         * win32/testsuite/states.vcproj:
6750         * win32/testsuite/tags.vcproj:
6751         * win32/testsuite/threads.vcproj:
6752           remove old win32 stuff that isn't maintained and should be
6753           reorganized
6754
6755 2005-11-30  Andy Wingo  <wingo@pobox.com>
6756
6757         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
6758         loading the gst.interfaces python module bork.
6759
6760         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
6761         available since GLib 2.2. Fixes #318031.
6762
6763 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6764
6765         * Makefile.am:
6766         * check/.cvsignore:
6767         * check/Makefile.am:
6768         * check/elements/.cvsignore:
6769         * check/elements/fakesrc.c:
6770         * check/elements/fdsrc.c:
6771         * check/elements/identity.c:
6772         * check/generic/.cvsignore:
6773         * check/generic/states.c:
6774         * check/gst-libs/.cvsignore:
6775         * check/gst-libs/controller.c:
6776         * check/gst-libs/gdp.c:
6777         * check/gst/.cvsignore:
6778         * check/gst/capslist.h:
6779         * check/gst/gst.c:
6780         * check/gst/gstbin.c:
6781         * check/gst/gstbuffer.c:
6782         * check/gst/gstbus.c:
6783         * check/gst/gstcaps.c:
6784         * check/gst/gstelement.c:
6785         * check/gst/gstevent.c:
6786         * check/gst/gstghostpad.c:
6787         * check/gst/gstiterator.c:
6788         * check/gst/gstmessage.c:
6789         * check/gst/gstminiobject.c:
6790         * check/gst/gstobject.c:
6791         * check/gst/gstpad.c:
6792         * check/gst/gstpipeline.c:
6793         * check/gst/gstplugin.c:
6794         * check/gst/gstsegment.c:
6795         * check/gst/gststructure.c:
6796         * check/gst/gstsystemclock.c:
6797         * check/gst/gsttag.c:
6798         * check/gst/gstutils.c:
6799         * check/gst/gstvalue.c:
6800         * check/net/.cvsignore:
6801         * check/net/gstnetclientclock.c:
6802         * check/net/gstnettimeprovider.c:
6803         * check/pipelines/.cvsignore:
6804         * check/pipelines/cleanup.c:
6805         * check/pipelines/simple_launch_lines.c:
6806         * check/pipelines/stress.c:
6807         * check/states/.cvsignore:
6808         * check/states/sinks.c:
6809         * configure.ac:
6810         * examples/Makefile.am:
6811         * examples/appreader/.cvsignore:
6812         * examples/appreader/Makefile.am:
6813         * examples/appreader/appreader.c:
6814         * examples/controller/.cvsignore:
6815         * examples/controller/Makefile.am:
6816         * examples/controller/audio-example.c:
6817         * examples/cutter/.cvsignore:
6818         * examples/cutter/Makefile.am:
6819         * examples/cutter/cutter.c:
6820         * examples/cutter/cutter.h:
6821         * examples/events/Makefile.am:
6822         * examples/events/seek.c:
6823         * examples/helloworld/.cvsignore:
6824         * examples/helloworld/Makefile.am:
6825         * examples/helloworld/helloworld.c:
6826         * examples/helloworld2/.cvsignore:
6827         * examples/helloworld2/Makefile.am:
6828         * examples/helloworld2/helloworld2.c:
6829         * examples/launch/.cvsignore:
6830         * examples/launch/Makefile.am:
6831         * examples/launch/mp3parselaunch.c:
6832         * examples/launch/mp3play:
6833         * examples/manual/.cvsignore:
6834         * examples/manual/Makefile.am:
6835         * examples/manual/extract.pl:
6836         * examples/metadata/Makefile.am:
6837         * examples/metadata/read-metadata.c:
6838         * examples/mixer/.cvsignore:
6839         * examples/mixer/Makefile.am:
6840         * examples/mixer/mixer.c:
6841         * examples/mixer/mixer.h:
6842         * examples/pingpong/.cvsignore:
6843         * examples/pingpong/Makefile.am:
6844         * examples/pingpong/pingpong.c:
6845         * examples/plugins/.cvsignore:
6846         * examples/plugins/Makefile.am:
6847         * examples/plugins/example.c:
6848         * examples/plugins/example.h:
6849         * examples/pwg/.cvsignore:
6850         * examples/pwg/Makefile.am:
6851         * examples/pwg/extract.pl:
6852         * examples/queue/.cvsignore:
6853         * examples/queue/Makefile.am:
6854         * examples/queue/queue.c:
6855         * examples/queue2/.cvsignore:
6856         * examples/queue2/Makefile.am:
6857         * examples/queue2/queue2.c:
6858         * examples/queue3/.cvsignore:
6859         * examples/queue3/Makefile.am:
6860         * examples/queue3/queue3.c:
6861         * examples/queue4/.cvsignore:
6862         * examples/queue4/Makefile.am:
6863         * examples/queue4/queue4.c:
6864         * examples/retag/.cvsignore:
6865         * examples/retag/Makefile.am:
6866         * examples/retag/retag.c:
6867         * examples/retag/transcode.c:
6868         * examples/thread/.cvsignore:
6869         * examples/thread/Makefile.am:
6870         * examples/thread/thread.c:
6871         * examples/typefind/.cvsignore:
6872         * examples/typefind/Makefile.am:
6873         * examples/typefind/typefind.c:
6874         * examples/xml/.cvsignore:
6875         * examples/xml/Makefile.am:
6876         * examples/xml/createxml.c:
6877         * examples/xml/runxml.c:
6878         * tests/Makefile.am:
6879         * tests/check/Makefile.am:
6880         * testsuite/.cvsignore:
6881         * testsuite/Makefile.am:
6882         * testsuite/Rules:
6883         * testsuite/caps/.cvsignore:
6884         * testsuite/caps/Makefile.am:
6885         * testsuite/caps/app_fixate.c:
6886         * testsuite/caps/audioscale.c:
6887         * testsuite/caps/caps.c:
6888         * testsuite/caps/caps.h:
6889         * testsuite/caps/caps_strings:
6890         * testsuite/caps/compatibility.c:
6891         * testsuite/caps/deserialize.c:
6892         * testsuite/caps/enumcaps.c:
6893         * testsuite/caps/eratosthenes.c:
6894         * testsuite/caps/filtercaps.c:
6895         * testsuite/caps/fixed.c:
6896         * testsuite/caps/fraction-convert.c:
6897         * testsuite/caps/fraction-multiply-and-zero.c:
6898         * testsuite/caps/intersect2.c:
6899         * testsuite/caps/intersection.c:
6900         * testsuite/caps/normalisation.c:
6901         * testsuite/caps/random.c:
6902         * testsuite/caps/renegotiate.c:
6903         * testsuite/caps/sets.c:
6904         * testsuite/caps/simplify.c:
6905         * testsuite/caps/string-conversions.c:
6906         * testsuite/caps/structure.c:
6907         * testsuite/caps/subtract.c:
6908         * testsuite/caps/union.c:
6909         * testsuite/debug/.cvsignore:
6910         * testsuite/debug/Makefile.am:
6911         * testsuite/debug/category.c:
6912         * testsuite/debug/commandline.c:
6913         * testsuite/debug/global.c:
6914         * testsuite/debug/output.c:
6915         * testsuite/debug/printf_extension.c:
6916         * testsuite/dlopen/.cvsignore:
6917         * testsuite/dlopen/Makefile.am:
6918         * testsuite/dlopen/dlopen_gst.c:
6919         * testsuite/dlopen/loadgst.c:
6920         * testsuite/elements/.cvsignore:
6921         * testsuite/elements/Makefile.am:
6922         * testsuite/elements/gst-inspect-check.in:
6923         * testsuite/elements/struct_i386.h:
6924         * testsuite/elements/struct_size.c:
6925         * testsuite/indexers/.cvsignore:
6926         * testsuite/indexers/Makefile.am:
6927         * testsuite/indexers/cache1.c:
6928         * testsuite/indexers/indexdump.c:
6929         * testsuite/parse/.cvsignore:
6930         * testsuite/parse/Makefile.am:
6931         * testsuite/parse/parse1.c:
6932         * testsuite/parse/parse2.c:
6933         * testsuite/plugin/.cvsignore:
6934         * testsuite/plugin/Makefile.am:
6935         * testsuite/plugin/README:
6936         * testsuite/plugin/dynamic.c:
6937         * testsuite/plugin/linked.c:
6938         * testsuite/plugin/loading.c:
6939         * testsuite/plugin/registry.c:
6940         * testsuite/plugin/static.c:
6941         * testsuite/plugin/static2.c:
6942         * testsuite/plugin/testplugin.c:
6943         * testsuite/plugin/testplugin2.c:
6944         * testsuite/plugin/testplugin2_s.c:
6945         * testsuite/plugin/testplugin_s.c:
6946         * testsuite/refcounting/.cvsignore:
6947         * testsuite/refcounting/Makefile.am:
6948         * testsuite/refcounting/bin.c:
6949         * testsuite/refcounting/element.c:
6950         * testsuite/refcounting/element_pad.c:
6951         * testsuite/refcounting/mainloop.c:
6952         * testsuite/refcounting/mem.c:
6953         * testsuite/refcounting/mem.h:
6954         * testsuite/refcounting/object.c:
6955         * testsuite/refcounting/pad.c:
6956         * testsuite/refcounting/sched.c:
6957         * testsuite/refcounting/thread.c:
6958         * testsuite/states/.cvsignore:
6959         * testsuite/states/Makefile.am:
6960         * testsuite/states/bin.c:
6961         * testsuite/states/locked.c:
6962         * testsuite/states/parent.c:
6963         * testsuite/threads/.cvsignore:
6964         * testsuite/threads/159566.c:
6965         * testsuite/threads/159852.c:
6966         * testsuite/threads/Makefile.am:
6967         * testsuite/threads/queue.c:
6968         * testsuite/threads/signals.c:
6969         * testsuite/threads/staticrec.c:
6970         * testsuite/threads/thread.c:
6971         * testsuite/threads/threadb.c:
6972         * testsuite/threads/threadc.c:
6973         * testsuite/threads/threadd.c:
6974         * testsuite/threads/threade.c:
6975         * testsuite/threads/threadf.c:
6976         * testsuite/threads/threadg.c:
6977         * testsuite/threads/threadh.c:
6978         * testsuite/threads/threadi.c:
6979           move all of these under tests
6980
6981 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6982
6983         * configure.ac:
6984         * tests/Makefile.am:
6985           fix distcheck
6986
6987 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6988
6989         * docs/gst/gstreamer-sections.txt:
6990         * tests/sched/.cvsignore:
6991         * tests/sched/Makefile.am:
6992         * tests/sched/cases/(fs-fs).xml:
6993         * tests/sched/cases/(fs-i-fs).xml:
6994         * tests/sched/cases/(fs-i-i-fs).xml:
6995         * tests/sched/cases/(fs-i-q[i-fs]).xml:
6996         * tests/sched/dynamic-pipeline.c:
6997         * tests/sched/interrupt1.c:
6998         * tests/sched/interrupt2.c:
6999         * tests/sched/interrupt3.c:
7000         * tests/sched/runtestcases:
7001         * tests/sched/runxml.c:
7002         * tests/sched/sched-stress.c:
7003         * tests/sched/sort.c:
7004         * tests/sched/testcases:
7005         * tests/sched/testcases1.tc:
7006         * tests/seeking/.cvsignore:
7007         * tests/seeking/Makefile.am:
7008         * tests/seeking/seeking1.c:
7009         * tests/threadstate/.cvsignore:
7010         * tests/threadstate/Makefile.am:
7011         * tests/threadstate/test1.c:
7012         * tests/threadstate/test2.c:
7013         * tests/threadstate/threadstate1.c:
7014         * tests/threadstate/threadstate2.c:
7015         * tests/threadstate/threadstate3.c:
7016         * tests/threadstate/threadstate4.c:
7017         * tests/threadstate/threadstate5.c:
7018           remove obsolete tests
7019         * configure.ac:
7020         * tests/bench-complexity.scm:
7021         * tests/bench-mass_elements.scm:
7022         * tests/complexity.c:
7023         * tests/complexity.gnuplot:
7024         * tests/instantiate/.cvsignore:
7025         * tests/instantiate/Makefile.am:
7026         * tests/instantiate/caps.c:
7027         * tests/mass_elements.c:
7028         * tests/network-clock-utils.scm:
7029         * tests/network-clock.scm:
7030         * tests/plot-data:
7031         First pass at cleaning up tests/ dir before moving the rest
7032         Combined with CVS surgery
7033
7034 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7035
7036         * po/POTFILES.in:
7037           queue has moved, update
7038
7039 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7040
7041         * docs/gst/gstreamer-sections.txt:
7042           remove double entries from the docs
7043         * gst/gst_private.h:
7044         * gst/gstinfo.c: (_gst_debug_init):
7045           remove the THREAD debug category
7046         * gst/Makefile.am:
7047         * gst/gstqueue.c:
7048         * gst/gstqueue.h:
7049         * docs/gst/gstreamer.types:
7050         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7051         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7052           completely move queue and fix up debugging categories
7053
7054 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7055
7056         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7057           make initialization portable, using LL is not
7058
7059 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7060
7061         * win32/common/gstconfig.h:
7062           add large padding
7063
7064 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7065
7066         * win32/common/libgstreamer.def:
7067           rename symbols; sort base section
7068
7069 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         * gst/gstclock.c: (do_linear_regression):
7072           remove crack non-portable handrolled DEBUG macro
7073
7074 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7075
7076         * docs/random/release:
7077           update notes
7078         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7079         (gst_object_flags_get_type), (register_gst_bin_flags),
7080         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7081         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7082         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7083         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7084         (gst_caps_flags_get_type), (register_gst_clock_return),
7085         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7086         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7087         (gst_clock_flags_get_type), (register_gst_state),
7088         (gst_state_get_type), (register_gst_state_change_return),
7089         (gst_state_change_return_get_type), (register_gst_state_change),
7090         (gst_state_change_get_type), (register_gst_element_flags),
7091         (gst_element_flags_get_type), (register_gst_core_error),
7092         (gst_core_error_get_type), (register_gst_library_error),
7093         (gst_library_error_get_type), (register_gst_resource_error),
7094         (gst_resource_error_get_type), (register_gst_stream_error),
7095         (gst_stream_error_get_type), (register_gst_event_type_flags),
7096         (gst_event_type_flags_get_type), (register_gst_event_type),
7097         (gst_event_type_get_type), (register_gst_seek_type),
7098         (gst_seek_type_get_type), (register_gst_seek_flags),
7099         (gst_seek_flags_get_type), (register_gst_format),
7100         (gst_format_get_type), (register_gst_index_certainty),
7101         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7102         (gst_index_entry_type_get_type),
7103         (register_gst_index_lookup_method),
7104         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7105         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7106         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7107         (gst_index_flags_get_type), (register_gst_debug_level),
7108         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7109         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7110         (gst_iterator_result_get_type), (register_gst_iterator_item),
7111         (gst_iterator_item_get_type), (register_gst_message_type),
7112         (gst_message_type_get_type), (register_gst_mini_object_flags),
7113         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7114         (gst_pad_link_return_get_type), (register_gst_flow_return),
7115         (gst_flow_return_get_type), (register_gst_activate_mode),
7116         (gst_activate_mode_get_type), (register_gst_pad_direction),
7117         (gst_pad_direction_get_type), (register_gst_pad_flags),
7118         (gst_pad_flags_get_type), (register_gst_pad_presence),
7119         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7120         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7121         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7122         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7123         (gst_plugin_flags_get_type), (register_gst_rank),
7124         (gst_rank_get_type), (register_gst_query_type),
7125         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7126         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7127         (gst_tag_flag_get_type), (register_gst_task_state),
7128         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7129         (gst_alloc_trace_flags_get_type),
7130         (register_gst_type_find_probability),
7131         (gst_type_find_probability_get_type), (register_gst_uri_type),
7132         (gst_uri_type_get_type), (register_gst_parse_error),
7133         (gst_parse_error_get_type):
7134         * win32/common/gstenumtypes.h:
7135         * win32/common/gstversion.h:
7136           update visual studio generated files
7137
7138 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7139
7140         * win32/vs6/libgstbase.dsp:
7141         * win32/vs6/libgstelements.dsp:
7142           update project files for new locations
7143
7144 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7145
7146         * Makefile.am:
7147           remove some files
7148         * README:
7149           reinstate and update
7150         * DEVEL:
7151         * REQUIREMENTS:
7152           removed
7153         * LICENSE:
7154         * docs/random/LICENSE:
7155           moved to random
7156
7157 2005-11-30  Edward Hervey  <edward@fluendo.com>
7158
7159         * gst/gsttypefind.c: (gst_type_find_register):
7160         * gst/gsttypefind.h:
7161         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7162         (gst_type_find_factory_dispose):
7163         * gst/gsttypefindfactory.h:
7164         Fix memory leak in GstTypeFindFactory.
7165
7166 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7167
7168         * gst/gst.c:
7169         * plugins/elements/Makefile.am:
7170         * plugins/elements/gstelements.c:
7171         * plugins/elements/gstqueue.c:
7172           move queue from core to the elements plugin
7173
7174 2005-11-29  Andy Wingo  <wingo@pobox.com>
7175
7176         * libs/gst/base/gstbasetransform.h: 
7177         * libs/gst/base/gstbasesrc.h: 
7178         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7179
7180         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7181         of pointers by which to pad very extensible base classes (like the
7182         ones in libs/gst/base).
7183
7184 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7185
7186         * docs/gst/gstreamer-docs.sgml:
7187         * docs/gst/gstreamer-sections.txt:
7188         * docs/libs/gstreamer-libs-docs.sgml:
7189         * docs/libs/gstreamer-libs-sections.txt:
7190           moving documentation from core to lib
7191
7192 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7193
7194         * check/Makefile.am:
7195         * configure.ac:
7196         * docs/gst/Makefile.am:
7197         * gst/Makefile.am:
7198         * gst/base/.cvsignore:
7199         * gst/base/Makefile.am:
7200         * gst/base/README:
7201         * gst/base/gstadapter.c:
7202         * gst/base/gstadapter.h:
7203         * gst/base/gstbasesink.c:
7204         * gst/base/gstbasesink.h:
7205         * gst/base/gstbasesrc.c:
7206         * gst/base/gstbasesrc.h:
7207         * gst/base/gstbasetransform.c:
7208         * gst/base/gstbasetransform.h:
7209         * gst/base/gstcollectpads.c:
7210         * gst/base/gstcollectpads.h:
7211         * gst/base/gstpushsrc.c:
7212         * gst/base/gstpushsrc.h:
7213         * gst/base/gsttypefindhelper.c:
7214         * gst/base/gsttypefindhelper.h:
7215         * gst/check/Makefile.am:
7216         * gst/check/gstcheck.c:
7217         * gst/check/gstcheck.h:
7218         * gst/net/Makefile.am:
7219         * gst/net/gstnet.h:
7220         * gst/net/gstnetclientclock.c:
7221         * gst/net/gstnetclientclock.h:
7222         * gst/net/gstnettimepacket.c:
7223         * gst/net/gstnettimepacket.h:
7224         * gst/net/gstnettimeprovider.c:
7225         * gst/net/gstnettimeprovider.h:
7226         * libs/gst/Makefile.am:
7227         * libs/gst/base/Makefile.am:
7228         * libs/gst/base/gstbasetransform.c:
7229         * libs/gst/check/Makefile.am:
7230         * plugins/elements/Makefile.am:
7231         * po/POTFILES.in:
7232           CVS surgery + support to move base, check, and net out of gst
7233           and into libs/gst
7234
7235 2005-11-29  Andy Wingo  <wingo@pobox.com>
7236
7237         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7238
7239         * gst/gststructure.h (struct _GstStructure): Only one pointer of
7240         padding.
7241
7242         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7243
7244         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7245
7246         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
7247
7248         * gst/gstobject.h: (struct _GstObject): Only one pointer of
7249         padding; reduces object size by about 30%. We don't expect
7250         anything else to go into gstobject.
7251
7252         * gst/gstminiobject.h (struct _GstMiniObject)
7253         (struct _GstMiniObjectClass): Only one pointer of padding; the
7254         payload is only a pointer and two ints anyway. For the class there
7255         are only two methods as well.
7256         
7257         * gst/gstelement.h (struct _GstElementClass): Removed
7258         the state_changed signal callback, it is not used.
7259
7260 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7261
7262         * docs/gst/gstreamer.types:
7263           fix includes, though they are a little dinky
7264
7265 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7266
7267         * check/Makefile.am:
7268           look in the right place for elements, a lot more chance of
7269           success
7270         * gst/Makefile.am:
7271           remove indexers and elements subdirs
7272         * plugins/Makefile.am:
7273           make indexers conditional
7274
7275 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7276
7277         * Makefile.am:
7278         * configure.ac:
7279         * plugins/elements/Makefile.am:
7280         * plugins/elements/gstcapsfilter.c:
7281         * plugins/elements/gstfilesink.c:
7282         * plugins/elements/gstfilesrc.c:
7283         * plugins/elements/gstidentity.c:
7284         * plugins/indexers/Makefile.am:
7285           do CVS surgery and related build fixery to move elements
7286           and indexers in a new gstreamer/plugins directory, out of the
7287           gst/ directory
7288
7289 2005-11-29  Andy Wingo  <wingo@pobox.com>
7290
7291         * check/Makefile.am:
7292         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7293         * pkgconfig/gstreamer-net.pc.in:
7294         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
7295         #322257.
7296
7297 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7298
7299         * tools/Makefile.am:
7300         * tools/gst-complete.1.in:
7301         * tools/gst-complete.c:
7302         * tools/gst-compprep.1.in:
7303         * tools/gst-compprep.c:
7304           removing -compprep and -complete
7305
7306 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7307
7308         * gst/gstevent.c: (gst_event_new_new_segment),
7309         (gst_event_parse_new_segment):
7310         * gst/gstevent.h:
7311           fix #320529 - clean up new_segment API and structure.
7312           Let's hope everyone was using the methods, and not the structure.
7313
7314 2005-11-29  Edward Hervey  <edward@fluendo.com>
7315
7316         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7317         (gst_base_sink_event), (gst_base_sink_do_sync),
7318         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7319         Properly handle non GST_FORMAT_TIME segment
7320         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7321         Properly handle non GST_FORMAT_TIME segment
7322         * gst/gstsegment.c:
7323         This function is valid if the accumulator is 0 and the format
7324         is different from the requested format.
7325         
7326 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7327
7328         * docs/gst/gstreamer-sections.txt:
7329         Add gst_query_new_seeking and gst_query_parse_seeking to the
7330         docs.
7331
7332 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7333
7334         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7335           Treat a pad alloc with new caps the same as if we were not
7336           negotiated, in order to allow a changing upstream output
7337           to produce a new format of data.
7338
7339 2005-11-29  Edward Hervey  <edward@fluendo.com>
7340
7341         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7342         (gst_base_transform_event), (gst_base_transform_eventfunc):
7343         The event virtual method is now properly implemented, with a default
7344         handler
7345         Sub classes should call the parent_class event method. They should
7346         return FALSE if they had a problem handling the given event, or don't
7347         want GstBaseTransform to send that even downstream
7348         * gst/elements/gstidentity.c: (gst_identity_class_init),
7349         (gst_identity_init), (gst_identity_event),
7350         (gst_identity_transform_ip), (gst_identity_set_property),
7351         (gst_identity_get_property):
7352         * gst/elements/gstidentity.h:
7353         Added the single-segment boolean property.
7354         If set to TRUE, it will output a single segment of data, starting from
7355         0, will eat up all incoming newsegment, and modify the timestamp of the
7356         buffers accordingly
7357
7358 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
7359
7360         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
7361           Don't ref NULL target pad (#322751). Improve docs.
7362
7363 2005-11-29  Michael Smith  <msmith@fluendo.com>
7364
7365         * gst/gstregistryxml.c: (load_plugin):
7366           Don't crash if we failed to load a feature from a plugin. 
7367
7368 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7369
7370         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7371         (GST_START_TEST):
7372           use more check API and less GLib API
7373
7374 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7375
7376         * Makefile.am:
7377           don't run checks if we don't have check
7378         * common/check.mak:
7379           remove the registry when running make torture
7380         * docs/gst/gstreamer-sections.txt:
7381           remove second multiply
7382         * gst/gstqueue.c: (gst_queue_loop):
7383           fix a compile warning when disabling debug
7384
7385 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7386
7387         * gst/gstinfo.h:
7388         Hey! Let's print the pad name if the pointer != NULL instead
7389         of when it == NULL :-)
7390
7391 2005-11-28  Wim Taymans  <wim@fluendo.com>
7392
7393         * check/gst/gstutils.c: (GST_START_TEST):
7394         Updated check, add some scaling accuracy checking code.
7395
7396         * gst/gstutils.c: (gst_util_div128_64),
7397         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
7398         (gst_util_uint64_scale_int):
7399         Fix 6 times faster division code. Optimize for common 
7400         1/1 and less common X/1 cases.
7401
7402 2005-11-28  Wim Taymans  <wim@fluendo.com>
7403
7404         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7405         More checks.
7406
7407         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
7408         (do_linear_regression), (gst_clock_add_observation):
7409         Cleanups.
7410         Release lock when the clock cannot be slaved.
7411         Catch the case where the regression returned an invalid denominator.
7412
7413         * gst/gstutils.c: (gst_util_div128_64_iterate),
7414         (gst_util_div128_64), (gst_util_uint64_scale_int64),
7415         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7416         Add protentially more performant non-iterative 128/64 divide function
7417         that unfortunatly does not work yet.
7418         Shortcut the trivial 0/X = 0 case.
7419         Remove the warnings on overflow.
7420
7421 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7422
7423         * gst/gstplugin.c: (gst_plugin_register_func):
7424           everything causing a plugin not to load should be at least a WARNING
7425
7426 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
7427
7428         * docs/random/ensonic/dparams.txt:
7429           some TODOs for the next dev cycle
7430         * libs/gst/controller/gstcontroller.c:
7431         (gst_controlled_property_set_interpolation_mode),
7432         (gst_controlled_property_new):
7433         * libs/gst/controller/gstcontroller.h:
7434           use base type to assign acccessor functions
7435
7436 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7437
7438         * check/Makefile.am:
7439         Oops, that should have been top_srcdir
7440
7441 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7442
7443         * check/Makefile.am:
7444         * check/elements/fdsrc.c: (GST_START_TEST):
7445         Use a cmdline define to specify the location of a file to use for
7446         testing, to avoid breaking distcheck.
7447
7448 2005-11-28  Andy Wingo  <wingo@pobox.com>
7449
7450         * gst/gstpad.c (fixate_value): Use array functions for arrays.
7451
7452 2005-11-28  Edward Hervey  <edward@fluendo.com>
7453
7454         * tools/gst-launch.c: (main):
7455         Clarify the output strings, makes it easier to translate.
7456         Fixes #322626
7457
7458 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7459
7460         * gst/Makefile.am:
7461           don't try and build net if we don't even have <sys/socket.h>
7462
7463 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
7464
7465         * check/Makefile.am:
7466         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
7467         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
7468           Add tests for fdsrc seekability
7469
7470         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7471         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
7472         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
7473         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
7474         * gst/elements/gstfdsrc.h:
7475           fdsrc should not be a 'live' source.
7476           Implement seeking on seekable fd's.
7477
7478         * gst/gstquery.c: (gst_query_new_seeking),
7479         (gst_query_parse_seeking):
7480         * gst/gstquery.h:
7481           Implement SEEKING query functions: 
7482             *_new_seeking and *_parse_seeking
7483
7484 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
7485
7486         * gst/gstelement.c: (gst_element_dispose):
7487           don't loop forever
7488
7489         * gst/gstiterator.c:
7490         * gst/gststructure.c:
7491           doc fixes
7492
7493         * libs/gst/controller/gstcontroller.c:
7494         (gst_controlled_property_set_interpolation_mode):
7495         * libs/gst/controller/gstcontroller.h:
7496         * libs/gst/controller/gstinterpolation.c:
7497         (interpolate_none_get_enum_value_array):
7498           support controlling enums
7499
7500 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7501
7502         * gst/gstvalue.c:
7503           Improve documentation for gst_value_union().
7504
7505         * gst/gstvalue.h:
7506           Change return value for union, intersect and subtract functions
7507           from gint to gboolean.
7508
7509 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7510
7511         * gst/gstvalue.c: (gst_value_serialize_any_list),
7512         (gst_value_transform_any_list_string),
7513         (gst_value_deserialize_list), (gst_value_deserialize_array),
7514         (gst_value_set_int_range), (gst_value_deserialize_int_range),
7515         (gst_value_set_double_range), (gst_value_deserialize_double_range),
7516         (gst_value_set_fraction_range_full),
7517         (gst_value_deserialize_fraction_range),
7518         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
7519         (gst_value_deserialize_boolean),
7520         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
7521         (gst_value_serialize_float), (gst_value_deserialize_float),
7522         (gst_string_wrap), (gst_value_deserialize_string),
7523         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
7524         (gst_value_union_int_range_int_range),
7525         (gst_value_intersect_int_range_int_range),
7526         (gst_value_intersect_double_range_double_range),
7527         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7528         (gst_value_subtract_int_range_int_range),
7529         (gst_value_subtract_double_double_range),
7530         (gst_value_subtract_double_range_double_range),
7531         (gst_value_deserialize_fraction):
7532         * gst/gstvalue.h:
7533           Use gint, gdouble and gchar in our API instead of int, double and
7534           char (and make usage in gstvalue.c more consistent).
7535
7536 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7537
7538         * check/Makefile.am:
7539         * libs/gst/controller/Makefile.am:
7540         * libs/gst/dataprotocol/Makefile.am:
7541           fix up Makefile.am and remove GST_ENABLE_NEW
7542
7543 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7544
7545         * configure.ac:
7546         * gst/Makefile.am:
7547         * gst/base/Makefile.am:
7548         * gst/check/Makefile.am:
7549         * gst/elements/Makefile.am:
7550         * gst/net/Makefile.am:
7551           update LDFLAGS use some more
7552
7553 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7554
7555         * common/m4/gst-doc.m4:
7556           Fixes #312589
7557
7558 2005-11-26  Edward Hervey  <edward@fluendo.com>
7559
7560         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7561         This shouldn't issue a g_warning since it returns NULL if it
7562         couldn't find the plugin, and all functions using this behave
7563         properly on a NULL return. Switching to a GST_WARNING.
7564
7565 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
7566
7567         * gst/gstbin.c: (gst_bin_handle_message_func):
7568         Don't leak clock messages.
7569
7570 2005-11-25  Wim Taymans  <wim@fluendo.com>
7571
7572         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7573         (gst_util_uint64_scale_int):
7574         Optimisations, remove unneeded vars.
7575
7576 2005-11-25  Wim Taymans  <wim@fluendo.com>
7577
7578         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7579         Added more checks for the high precision uint64 cases.
7580
7581         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7582         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7583         Implement high precision (guint64 * guint64) / guint64.
7584
7585 2005-11-24  Wim Taymans  <wim@fluendo.com>
7586
7587         * gst/base/gstbasesrc.c: (gst_base_src_query):
7588         Fix wrong percentage query.
7589
7590         * gst/gstutils.c: (gst_util_uint64_scale),
7591         (gst_util_uint64_scale_int):
7592         Add some more common cases that can be handled 
7593         efficiently to _scale.
7594
7595 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7596
7597         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
7598         (gst_mini_object_suite):
7599           don't use check calls from threads; check probably isn't
7600           threadsafe and using a lock to make it threadsafe would
7601           defeat the purpose of this check
7602         * gst/check/gstcheck.c:
7603         * gst/check/gstcheck.h:
7604           use GST_DEBUG some more
7605
7606 2005-11-24  Wim Taymans  <wim@fluendo.com>
7607
7608         * gst/gstutils.c: (gst_util_uint64_scale),
7609         (gst_util_uint64_scale_int):
7610         Chain trivial case to _scale_int.
7611
7612 2005-11-24  Wim Taymans  <wim@fluendo.com>
7613
7614         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7615         Added test for scaling.
7616
7617         * gst/gstclock.h:
7618         Small doc fix.
7619
7620         * gst/gstutils.c: (gst_util_uint64_scale_int):
7621         Implemented high precision scaling code.
7622
7623 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
7624
7625         * gst/gstinfo.h:
7626           do not crash on pad==NULL
7627
7628 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7629
7630         Patch by: Stefan Kost
7631
7632         * common/gtk-doc.mak:
7633         * docs/gst/Makefile.am:
7634         * docs/libs/Makefile.am:
7635           Fix distcheck issues for the libraries docs build
7636           Closes #319599.
7637
7638 2005-11-24  Michael Smith <msmith@fluendo.com>
7639
7640         * docs/manual/basics-helloworld.xml:
7641           Fix bug #315027: memory leak in example code in docs.
7642
7643 2005-11-24  Michael Smith <msmith@fluendo.com>
7644
7645         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7646           Unlock the PREROLL_LOCK in a failure case.
7647
7648 2005-11-24  Wim Taymans  <wim@fluendo.com>
7649
7650         * docs/gst/gstreamer-sections.txt:
7651         * gst/base/gstadapter.h:
7652         * gst/base/gstbasesink.h:
7653         * gst/base/gstbasesrc.h:
7654         * gst/base/gstbasetransform.h:
7655         * gst/base/gstpushsrc.h:
7656         * gst/elements/gstfakesink.h:
7657         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
7658         * gst/elements/gstfakesrc.h:
7659         * gst/elements/gstfilesink.h:
7660         * gst/elements/gstfilesrc.h:
7661         * gst/gst.c:
7662         * gst/gstbin.c:
7663         * gst/gstbuffer.c: (_gst_buffer_copy):
7664         * gst/gstbus.h:
7665         * gst/gstcaps.c:
7666         * gst/gstchildproxy.c:
7667         * gst/gstclock.c:
7668         * gst/gstelement.c:
7669         * gst/gstelementfactory.c:
7670         * gst/gstelementfactory.h:
7671         * gst/gstevent.c:
7672         * gst/gstghostpad.h:
7673         * gst/gstindex.h:
7674         * gst/gstinterface.h:
7675         * gst/gstminiobject.c:
7676         * gst/gstminiobject.h:
7677         * gst/gstpad.c:
7678         * gst/gstpad.h:
7679         * gst/gstpadtemplate.h:
7680         * gst/gstpipeline.h:
7681         * gst/gstpluginfeature.h:
7682         * gst/gstquery.h:
7683         * gst/gstqueue.h:
7684         * gst/gsttaglist.c:
7685         * gst/gsttaglist.h:
7686         * gst/gsttagsetter.c:
7687         * gst/gsttagsetter.h:
7688         * gst/gsttrace.c:
7689         * gst/gsttrace.h:
7690         * gst/gsttypefind.h:
7691         * gst/gsturi.h:
7692         * gst/gstvalue.c:
7693         * gst/net/gstnetclientclock.c:
7694         * gst/net/gstnetclientclock.h:
7695         * gst/net/gstnettimepacket.c:
7696         * gst/net/gstnettimeprovider.c:
7697         * gst/net/gstnettimeprovider.h:
7698         Doc fixes.
7699
7700 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7701
7702         * configure.ac: back to HEAD
7703
7704 === release 0.9.6 ===
7705
7706 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
7707
7708         * configure.ac:
7709           releasing 0.9.6, "Always On Time"
7710
7711 2005-11-23  Wim Taymans  <wim@fluendo.com>
7712
7713         * docs/gst/gstreamer-sections.txt:
7714         * gst/glib-compat.c:
7715         * gst/gsttagsetter.c:
7716         * gst/gstvalue.c:
7717         * gst/net/gstnetclientclock.c:
7718         * gst/net/gstnettimepacket.h:
7719         Doc updates.
7720
7721 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7722
7723         * docs/faq/using.xml:
7724         * docs/libs/tmpl/gstcontrol.sgml:
7725         * docs/manual/advanced-dparams.xml:
7726         * docs/manual/appendix-checklist.xml:
7727         * docs/manual/basics-elements.xml:
7728         * docs/pwg/other-source.xml:
7729         * docs/random/moving-plugins:
7730         * gst/gstpad.c:
7731         * tools/gst-launch.1.in:
7732           remove mentions of sinesrc
7733
7734 2005-11-23  Michael Smith <msmith@fluendo.com>
7735
7736         * docs/gst/gstreamer-sections.txt:
7737           Update for new API and API changes.
7738         * gst/gstobject.h:
7739           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
7740         * gst/gstvalue.c:
7741           Documentation typo fix.
7742         * gst/net/gstnettimepacket.c:
7743           Documentation fixes for arguments.
7744
7745 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
7746
7747         * gst/gststructure.c: (gst_structure_get_fraction),
7748         (gst_structure_parse_value),
7749         (gst_structure_fixate_field_nearest_fraction):
7750         * gst/gststructure.h:
7751         * gst/gstutils.c: (gst_util_uint64_scale_int):
7752         * gst/gstutils.h:
7753         * scripts/update-funcnames:
7754         API Changes. 
7755         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
7756         Make gst_structure_fixate_field_nearest_fraction take a numerator
7757         and denominator argument instead of a GValue
7758         add gst_structure_get_fraction helper function.
7759
7760 2005-11-23  Wim Taymans  <wim@fluendo.com>
7761
7762         * docs/design/part-TODO.txt:
7763         Update TODO.
7764
7765         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7766         * gst/net/gstnetclientclock.h:
7767         Use parent fields for timeout and window_size.
7768
7769 2005-11-23  Andy Wingo  <wingo@pobox.com>
7770
7771         * check/net/gstnetclientclock.c (test_functioning): Adjust to
7772         rate_num/rate_denom change.
7773
7774         * gst/net/gstnetclientclock.c
7775         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
7776         OBJECT_LOCK. Don't call add_observation with the lock.
7777
7778         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
7779         fraction.
7780         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
7781         rate fraction.
7782         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
7783         deal with rate as a fraction whose numerator and denominator are
7784         GstClockTime values.
7785         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
7786         master; the other fields are protected by the SLAVE_LOCK.
7787         (do_linear_regression): Note that this must be called with the
7788         SLAVE_LOCK.
7789         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
7790         OBJECT_LOCK. Call set_calibration instead of touching the
7791         variables directly.
7792         (gst_clock_set_property, gst_clock_get_property): Protect
7793         master/slave parameters with the SLAVE_LOCK.
7794
7795         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
7796         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
7797         note that all of the instance variables that add_observation and
7798         the set_master functions use are protected by that lock and not
7799         the OBJECT_LOCK.
7800         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
7801
7802         * gst/gstclock.c (gst_clock_add_observation): No longer requires
7803         the caller to take the object lock.
7804
7805 2005-11-23  Wim Taymans  <wim@fluendo.com>
7806
7807         * gst/gsterror.c: (_gst_core_errors_init):
7808         * gst/gsterror.h:
7809         Add error for clock stuff.
7810
7811         * gst/gstpipeline.c: (gst_pipeline_change_state),
7812         (gst_pipeline_set_clock):
7813         Post clock error when clock cannot be used in a pipeline.
7814
7815 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
7816
7817         * docs/gst/gstreamer-sections.txt:
7818           make two symbols from gstinfo private for the docs
7819         * gst/base/gstcollectpads.h:
7820         * gst/gstutils.c:
7821           fix doc typos, update docs
7822
7823 2005-11-22  Wim Taymans  <wim@fluendo.com>
7824
7825         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7826         (gst_base_sink_wait), (gst_base_sink_do_sync),
7827         (gst_base_sink_handle_event):
7828         * gst/base/gstbasesink.h:
7829         No need to store the clock, the parent element class already
7830         has it.
7831
7832         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
7833         Updates for clock_set returning a gboolean
7834
7835         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
7836         (gst_clock_id_wait_async), (gst_clock_class_init),
7837         (gst_clock_init), (gst_clock_finalize),
7838         (gst_clock_get_internal_time), (gst_clock_get_time),
7839         (gst_clock_slave_callback), (gst_clock_set_master),
7840         (gst_clock_get_master), (do_linear_regression),
7841         (gst_clock_add_observation), (gst_clock_set_property),
7842         (gst_clock_get_property):
7843         * gst/gstclock.h:
7844         Implement master/slave. When setting a clock as a slave, a
7845         periodic timeout is scheduled to sample master and slave times.
7846         Then the slave clock is recalibrated to match offset and rate
7847         of the master clock.
7848         Update logging a bit.
7849         Add flag so that a clock can state that is cannot be slaved to
7850         another clock.
7851
7852         * gst/gstelement.c: (gst_element_set_clock):
7853         * gst/gstelement.h:
7854         The set clock returns a gboolean for when an element cannot
7855         deal with the selected clock in the pipeline. 
7856
7857         * gst/gstpipeline.c: (gst_pipeline_change_state),
7858         (gst_pipeline_set_clock):
7859         * gst/gstpipeline.h:
7860         Handle the case where the selected clock cannot be set on
7861         the pipeline.
7862
7863         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
7864         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
7865         (gst_net_client_clock_set_property),
7866         (gst_net_client_clock_get_property),
7867         (gst_net_client_clock_observe_times):
7868         * gst/net/gstnetclientclock.h:
7869         Use regression code in GstClock parent, remove duplicated
7870         functionality.
7871
7872 2005-11-22  Michael Smith <msmith@fluendo.com>
7873
7874         * gst/gstutils.c: (gst_util_clock_time_scale):
7875         * gst/gstutils.h:
7876         * docs/gst/gstreamer-sections.txt:
7877           Rename method to have extra underscore.
7878
7879 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7880
7881         * gst/elements/Makefile.am:
7882         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
7883         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7884         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
7885         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
7886         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
7887         * gst/elements/gstfakesrc.h:
7888         * gst/gstqueue.c: (queue_leaky_get_type):
7889           correctly fix GEnumValues so that nick is the short lowercase
7890           dashed tag
7891         * tools/gst-inspect.c: (print_element_properties_info):
7892           also show the nick, since it's useful to use from parse_launch
7893           syntax
7894           Fixes #322139
7895
7896 2005-11-22  Michael Smith <msmith@fluendo.com>
7897
7898         * gst/gstutils.c: (gst_util_clocktime_scale):
7899         * gst/gstutils.h:
7900         * docs/gst/gstreamer-sections.txt:
7901           Add util method for scaling a clocktime by a fraction. Useful 
7902           implementation is left as an exercise for the reader.
7903
7904 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7905
7906         * gst/gstvalue.c: (gst_value_collect_fraction_range):
7907         If needed, allocate storage in the destination value during
7908         collection.
7909
7910 2005-11-22  Edward Hervey  <edward@fluendo.com>
7911
7912         * docs/gst/gstreamer-sections.txt:
7913         * gst/Makefile.am:
7914         * gst/gst.h:
7915         * gst/gsturitype.c:
7916         * gst/gsturitype.h:
7917         * gst/gstutils.c: (gst_util_set_object_arg):
7918         * tools/gst-compprep.c: (main):
7919         * tools/gst-inspect.c: (print_element_properties_info):
7920         Removed GstURI, closes bug #321061
7921
7922 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7923
7924         * check/gst/gststructure.c: (GST_START_TEST):
7925         * gst/gststructure.c: (gst_structure_parse_value):
7926           Oops, broke automatic string type parsing.
7927           Add a test to catch it in future.
7928
7929 2005-11-22  Andy Wingo  <wingo@pobox.com>
7930
7931         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
7932         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
7933         Actually rename the function implementations. Grr.
7934
7935 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7936
7937         * check/gst/capslist.h:
7938           Comment test cases
7939         * check/gst/gststructure.c: (GST_START_TEST),
7940         (gst_structure_suite):
7941           Test automatic value type detection in gst_structure_from_string.
7942         * gst/gststructure.c: (gst_structure_parse_value):
7943           Add fraction as a type we try and guess automatically in
7944           caps/structure strings.
7945
7946 2005-11-22  Andy Wingo  <wingo@pobox.com>
7947
7948         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
7949
7950         * gst/gsttagsetter.h:
7951         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
7952         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
7953         (gst_tag_setter_add_tag_valist)
7954         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
7955         _add_values, _add_valist, and _add_valist_values. Since this is an
7956         interface the function suffixes should be more explicit so
7957         language binding don't end up with element.add_valist ->
7958         gst_tag_setter_add_valist, for example. Fixes #322069.
7959
7960 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7961
7962         * check/gst/gstcaps.c: (GST_START_TEST):
7963           Extend caps string tests to check that a caps to string
7964           conversion is reversible and produces the same caps.
7965
7966         * gst/gststructure.c: (gst_structure_value_get_generic_type):
7967           Output "fraction" as the generic type fraction range, so caps
7968           serialisation and deserialisation works.
7969         * check/gst/capslist.h:
7970         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7971           Support 'MIN' and 'MAX' for deserialising fractions.
7972
7973 2005-11-22  Andy Wingo  <wingo@pobox.com>
7974
7975         * gst/gstevent.h (gst_event_new_new_segment)
7976         (gst_event_parse_new_segment, gst_event_new_buffer_size)
7977         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
7978         Renamed from *_newsegment, *_buffersize, *_notarget.
7979
7980         * scripts/update-funcnames: New script, performs the changes
7981         listed above.
7982
7983 2005-11-22  Wim Taymans  <wim@fluendo.com>
7984
7985         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7986         Make sure the GstFlowReturn is returned.
7987
7988         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
7989         (gst_bus_add_signal_watch):
7990         * gst/gstbus.h:
7991         add gst_bus_add_signal_watch_full.
7992
7993         * gst/gstplugin.c: (gst_plugin_load_file):
7994         Small style cleanup.
7995
7996 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
7997
7998         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
7999           Block the fakesrc srcpad when we send an event, to avoid
8000           contention on the stream_lock causing random test failures.
8001
8002 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8003
8004         * check/gst/gstvalue.c: (GST_START_TEST):
8005         * gst/gstvalue.c: (gst_value_fraction_subtract):
8006           Fix subtraction.
8007
8008 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8009
8010         * gst/gst.h:
8011           include "gstchildproxy.h"
8012         * gst/gstchildproxy.h:
8013         * libs/gst/controller/gstcontroller.h:
8014           use G_GNUC_NULL_TERMINATED
8015
8016 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8017
8018         * check/gst/capslist.h:
8019         * check/gst/gstcaps.c: (GST_START_TEST):
8020         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8021         * gst/gststructure.c: (gst_structure_parse_range),
8022         (gst_structure_fixate_field_nearest_fraction):
8023         * gst/gststructure.h:
8024         * gst/gstvalue.c: (gst_value_init_fraction_range),
8025         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8026         (gst_value_collect_fraction_range),
8027         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8028         (gst_value_set_fraction_range_full),
8029         (gst_value_get_fraction_range_min),
8030         (gst_value_get_fraction_range_max),
8031         (gst_value_serialize_fraction_range),
8032         (gst_value_transform_fraction_range_string),
8033         (gst_value_compare_fraction_range),
8034         (gst_value_deserialize_fraction_range),
8035         (gst_value_intersect_fraction_fraction_range),
8036         (gst_value_intersect_fraction_range_fraction_range),
8037         (gst_value_subtract_fraction_fraction_range),
8038         (gst_value_subtract_fraction_range_fraction),
8039         (gst_value_subtract_fraction_range_fraction_range),
8040         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8041         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8042         (gst_value_transform_string_fraction), (_gst_value_initialize):
8043         * gst/gstvalue.h:
8044           Implement fraction ranges and extend GstFraction to support
8045           arithmetic subtraction, as well as deserialization from integer
8046           strings such as "100"
8047           Add a testsuite as for int and double range set operations
8048
8049 2005-11-21  Andy Wingo  <wingo@pobox.com>
8050
8051         * gst/gsttaglist.h: 
8052         * gst/gstcaps.h: 
8053         * gst/gststructure.h: Add glib-compat.h.
8054
8055 2005-11-21  Wim Taymans  <wim@fluendo.com>
8056
8057         * gst/gstbin.c: (gst_bin_change_state_func):
8058         Fix for #321595
8059
8060 2005-11-21  Wim Taymans  <wim@fluendo.com>
8061
8062         * gst/gstsegment.h:
8063         And add a nice define too.
8064
8065 2005-11-21  Wim Taymans  <wim@fluendo.com>
8066
8067         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8068         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8069         (gst_segment_set_duration), (gst_segment_set_last_stop),
8070         (gst_segment_set_seek), (gst_segment_set_newsegment),
8071         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8072         (gst_segment_clip):
8073         * gst/gstsegment.h:
8074         Make binding friendly.
8075
8076 2005-11-21  Andy Wingo  <wingo@pobox.com>
8077
8078         * gst/gsttagsetter.h: 
8079         * gst/gsttaglist.h: 
8080         * gst/gststructure.h: 
8081         * gst/gstcaps.h: 
8082         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8083         #319940.
8084
8085         * gst/gsterror.c (_gst_core_errors_init):
8086         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8087         category.
8088
8089         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8090         (noinst_HEADERS): noinst the -private.
8091
8092 2005-11-21  Michael Smith <msmith@fluendo.com>
8093
8094         * gst/gstplugin.h:
8095         * gst/gstregistry.h:
8096           Remove unimplemented declarations for which we can see no sensible
8097           use.
8098
8099 2005-11-21  Andy Wingo  <wingo@pobox.com>
8100
8101         * gst/gst.h: Include glib-compat.h.
8102
8103         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8104
8105         * gst/glib-compat.c: Include the public and the private header.
8106
8107         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8108
8109         * gst/gstvalue.c: 
8110         * gst/gstpad.c: 
8111         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8112
8113         * check/gst/gstevent.c (create_custom_events): Check that
8114         FLUSH_STOP is serialized.
8115
8116         * check/elements/identity.c (event_func): 
8117         * check/elements/fakesrc.c (event_func): No stream lock, the core
8118         takes it.
8119
8120         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8121         stream lock taking, yay.
8122
8123         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8124         ensure that core takes the stream lock.
8125
8126         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8127         lock name change.
8128
8129         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8130         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8131         it already. For the flush start we do take it though so we get the
8132         right preroll state change messages.
8133
8134         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8135         the stream lock here, the core does it for us.
8136
8137         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8138         GST_STREAM_GET_LOCK.
8139         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8140         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8141         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8142         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8143         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8144         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8145
8146         * gst/gstpad.c: Update for stream lock name change.
8147
8148         * gst/base/gstbasesink.c: Update for preroll lock name change.
8149
8150 2005-11-21  Wim Taymans  <wim@fluendo.com>
8151
8152         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8153         (gst_clock_get_master):
8154         * gst/gstclock.h:
8155         * gst/gstsystemclock.c: (gst_system_clock_init):
8156         Convert Clock flags to object flags.
8157         Added methods to manage master/slave clocks.
8158
8159 2005-11-21  Wim Taymans  <wim@fluendo.com>
8160
8161         * check/gst/gstsegment.c: (GST_START_TEST):
8162         * docs/design/part-TODO.txt:
8163         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8164         (gst_base_sink_event), (gst_base_sink_do_sync),
8165         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8166         (gst_base_sink_query), (gst_base_sink_change_state):
8167         * gst/base/gstbasesink.h:
8168         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8169         (gst_base_src_default_newsegment),
8170         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8171         (gst_base_src_get_range), (gst_base_src_loop),
8172         (gst_base_src_change_state):
8173         * gst/base/gstbasesrc.h:
8174         * gst/base/gstbasetransform.c:
8175         (gst_base_transform_prepare_output_buf),
8176         (gst_base_transform_event), (gst_base_transform_change_state):
8177         * gst/base/gstbasetransform.h:
8178         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8179         (gst_collect_pads_event):
8180         * gst/base/gstcollectpads.h:
8181         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8182         (gst_fake_src_create):
8183         * gst/elements/gstfakesrc.h:
8184         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8185         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8186         (gst_segment_set_last_stop), (gst_segment_set_seek),
8187         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8188         (gst_segment_to_running_time), (gst_segment_clip):
8189         * gst/gstsegment.h:
8190         More segment updates, replace code in plugins with segment
8191         helper functions.
8192
8193 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8194
8195         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8196         Don't ignore sscanf results
8197
8198 2005-11-21  Andy Wingo  <wingo@pobox.com>
8199
8200         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8201
8202         * *.h:
8203         * *.c: Ran scripts/update-macros. Oh yes.
8204
8205         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8206         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8207         GST_GET_LOCK, etc.
8208
8209         * scripts/update-macros: New script. Run it on your files to
8210         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8211         well.
8212
8213 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8214
8215         * docs/gst/Makefile.am:
8216         * docs/gst/gstreamer-docs.sgml:
8217         * docs/gst/gstreamer-sections.txt:
8218         * docs/gst/gstreamer.types:
8219         * gst/gstinfo.h:
8220           more docs fixes, add new api to the docs
8221
8222 2005-11-21  Andy Wingo  <wingo@pobox.com>
8223
8224         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8225         state_broadcast call.
8226
8227         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8228
8229 2005-11-21  Julien MOUTTE  <julien@moutte.net>
8230
8231         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8232         function calls for arrays.
8233
8234 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8235
8236         * docs/random/ensonic/media-device-daemon.txt:
8237           wild idea, can this be done?
8238         * docs/gst/gstreamer-sections.txt:
8239         * gst/gsterror.h:
8240         * gst/gstfilter.c:
8241         * gst/gstfilter.h:
8242         * gst/gstplugin.h:
8243         * gst/gstpluginfeature.c:
8244         * gst/gsttrace.c:
8245         * gst/gstvalue.c:
8246         * gst/gstvalue.h:
8247           doc fixes and additions
8248
8249 2005-11-21  Andy Wingo  <wingo@pobox.com>
8250
8251         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
8252         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
8253         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
8254         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
8255         private to the basesrc implementation.
8256
8257         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
8258         behalf of event function if necessary. It should no longer be
8259         necessary to take the stream lock in pad's event functions. Fixes
8260         #320299.
8261
8262 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8263         * docs/gst/gstreamer-sections.txt:
8264         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
8265         (gst_structure_fixate_field_nearest_double),
8266         (gst_structure_fixate_field_boolean):
8267         * gst/gststructure.h:
8268         * win32/common/libgstreamer.def:
8269         * win32/gstreamer.def:
8270
8271         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
8272         (#322027)
8273
8274 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8275
8276         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
8277         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
8278         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
8279         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
8280         (gst_fdsrc_uri_handler_init):
8281         * gst/elements/gstfdsrc.h:
8282           Port fd:// URI handler from 0.8 to fdsrc
8283
8284 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8285
8286         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
8287         (gst_value_serialize_fourcc):
8288         * gst/gstvalue.h:
8289           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
8290           consistent with our other format defines (#320324).
8291
8292 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8293
8294         * gst/gstvalue.c: (gst_value_is_fixed):
8295           Revert previous commit. Value lists are by definition
8296           not fixed, as they are a list of possible values.
8297
8298 2005-11-21  Andy Wingo  <wingo@pobox.com>
8299
8300         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
8301         during the stable series if we need it. Fixes #319178.
8302
8303         * gst/gstevent.c (gst_event_new_filler): Removed.
8304
8305         * check/gst/gstevent.c: Update comment about filler events.
8306
8307 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8308
8309         * gst/gstvalue.c: (gst_value_is_fixed):
8310           Should handle both value arrays and value lists.
8311
8312 2005-11-21  Andy Wingo  <wingo@pobox.com>
8313
8314         patch by: Alessandro Dessina <alessandro nnva org>
8315
8316         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
8317         functions to access arrays. Fixes #321962.
8318
8319 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8320
8321         * docs/gst/gstreamer.types:
8322           gst_collectpads_get_type => gst_collect_pads_get_type.
8323           
8324         * gst/base/gstbasetransform.c:
8325           Remove unused SIGNAL_HANDOFF enum.
8326
8327 2005-11-21  Andy Wingo  <wingo@pobox.com>
8328
8329         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
8330         the event type (upstream, downstream, serialized). Renamed
8331         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
8332         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
8333         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
8334
8335         * gst/gstevent.c: Update for new CUSTOM event names.
8336
8337         * check/gst/gstevent.c: Update check for new CUSTOM event names.
8338
8339         * gst/gstevent.h:
8340         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
8341         bug #319392.
8342
8343 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8344
8345         * docs/gst/gstreamer-sections.txt:
8346         * win32/common/libgstbase.def:
8347         * win32/libgstbase.def:
8348         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8349         (gst_collect_pads_class_init), (gst_collect_pads_init),
8350         (gst_collect_pads_finalize), (gst_collect_pads_new),
8351         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
8352         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
8353         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
8354         (gst_collect_pads_start), (gst_collect_pads_stop),
8355         (gst_collect_pads_peek), (gst_collect_pads_pop),
8356         (gst_collect_pads_available), (gst_collect_pads_read),
8357         (gst_collect_pads_flush), (gst_collect_pads_event),
8358         (gst_collect_pads_chain):
8359         * gst/base/gstcollectpads.h:
8360           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
8361           unimplemented functions as unimplemented. Add padding to
8362           GstCollectData. (#320766, #320423)
8363
8364 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8365
8366         * gst/gstmessage.c:
8367           Improve docs for DURATION message (usage of duration parameter)
8368           (#320113)
8369
8370 2005-11-20  Wim Taymans  <wim@fluendo.com>
8371
8372         * check/Makefile.am:
8373         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
8374         (main):
8375         * gst/Makefile.am:
8376         * gst/gst.h:
8377         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8378         (gst_segment_set_seek), (gst_segment_set_newsegment),
8379         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8380         (gst_segment_clip):
8381         * gst/gstsegment.h:
8382         Added segment helper structure and methods. Not fully implemented
8383         yet.
8384         Added segment check.
8385
8386 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
8387
8388         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8389           Add a deserialisation test for fractions
8390         * examples/metadata/read-metadata.c: (message_loop),
8391         (make_pipeline), (main):
8392           Fix up metadata reading sample.
8393         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8394           Debug format fix
8395         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8396           Don't try and fixate empty caps
8397         * gst/gst_private.h:
8398           Wrap in G_BEGIN_DECLS/G_END_DECLS
8399         * gst/gstvalue.c: (gst_value_collect_fraction),
8400         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
8401         (gst_value_transform_string_fraction),
8402         (gst_value_compare_fraction):
8403           Add some extra guards to ensure that we don't end up 
8404           with an invalid denominator of 0 in a gstfraction and
8405           that fractions always get reduced.
8406
8407 2005-11-20  Wim Taymans  <wim@fluendo.com>
8408
8409         * docs/gst/gstreamer-sections.txt:
8410         * gst/gstbuffer.h:
8411         * gst/gstelement.c:
8412         * gst/gstformat.c:
8413         * gst/gstformat.h:
8414         * gst/gstindex.h:
8415         * gst/gstquery.c:
8416         * gst/gstquery.h:
8417         * gst/gstvalue.c:
8418         Doc fixes.
8419
8420 2005-11-20  Wim Taymans  <wim@fluendo.com>
8421
8422         * docs/design/part-TODO.txt:
8423         * gst/gstcaps.h:
8424         Make a proper enum of the flag.
8425
8426 2005-11-19  Wim Taymans  <wim@fluendo.com>
8427
8428         * docs/design/part-TODO.txt:
8429         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
8430         (gst_format_to_quark), (gst_format_register):
8431         * gst/gstformat.h:
8432         * gst/gstquery.c: (_gst_query_initialize),
8433         (gst_query_type_get_name), (gst_query_type_to_quark),
8434         (gst_query_type_register):
8435         * gst/gstquery.h:
8436         Add type to quark and type to string conversions.
8437
8438 2005-11-19  Andy Wingo  <wingo@pobox.com>
8439
8440         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
8441         #320097.
8442
8443 2005-11-19  Wim Taymans  <wim@fluendo.com>
8444
8445         * docs/design/part-TODO.txt:
8446         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8447         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
8448         (gst_bin_handle_message_func):
8449         * gst/gstbin.h:
8450         Make message handling overridable.
8451
8452 2005-11-19  Andy Wingo  <wingo@pobox.com>
8453
8454         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
8455
8456         * gst/gstclock.h:
8457         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
8458         be a GstClockTime.
8459         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
8460         is a GstClockTime. Fixes #321710.
8461
8462         * gst/gstclock.h (GstClock): Remove offset property. Add
8463         internal_calibration and external_calibration. Fix padding. Pad
8464         also by GstClockTime so we don't run into problems.
8465
8466         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
8467         (gst_clock_get_rate_offset): Remove.
8468         (gst_clock_set_time_adjust): Remove. Fixes #321712.
8469
8470         * gst/gstutils.h:
8471         * gst/gstutils.c (g_static_rec_cond_wait)
8472         (g_static_rec_cond_timed_wait): Removed, no longer needed.
8473
8474         * gst/gstbin.c: Remove terrible continue_state prototype.
8475
8476         * gst/gstelement.h (gst_element_continue_state): Make public.
8477
8478         * gst/gstelement.h:
8479         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
8480         by continue_state. Fixes #319389.
8481
8482         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
8483         Really fixes #168438. However I don't see anywhere where the
8484         filter function is called... stupid GStreamer...
8485         
8486         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
8487         don't have a dispose function, so it won't get called when the
8488         object is unreffed, but oh well!
8489
8490         * gst/gstindex.c (gst_index_set_filter_full): New API function,
8491         allows a destroy function to be set so user_data can be freed.
8492         Fixes #168438.
8493         (gst_index_set_filter): Call gst_index_set_filter_full.
8494
8495         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
8496
8497         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
8498         string should produce an error, given the lack of a way to
8499         represent NULL strings. Fixes #165650.
8500         
8501         * gst/gstvalue.h: 
8502         * gst/gstvalue.c (gst_value_array_append_value) 
8503         (gst_value_array_prepend_value, gst_value_array_get_size) 
8504         (gst_value_array_get_value): New API, copied from
8505         gst_value_list_*, only operates on arrays.
8506         (gst_value_list_append_value, gst_value_list_prepend_value) 
8507         (gst_value_list_concat, gst_value_list_get_size) 
8508         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
8509
8510         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
8511         init_list, because it works on both.
8512         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
8513         (gst_value_copy_list_or_array): Renamed from copy_list.
8514         (gst_value_free_list_or_array): Renamed from free_list.
8515         (gst_value_collect_list_or_array): Renamed from collect_list.
8516         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
8517         (gst_value_list_or_array_peek_pointer): Renamed from
8518         list_peek_pointer.
8519         (_gst_value_array_value_table, _gst_value_list_value_table):
8520         Update value table functions.
8521         (gst_value_compare_list_or_array): Renamed from compare_list.
8522
8523         * gsttaglist.h: Whoops, foreach function returns void. Also fix
8524         some constness.
8525
8526         * gst/gsttaglist.c:
8527         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
8528         GstTagList*. Fixes #143472.
8529
8530         * gst/gststructure.h: Clarify what the foreach/map functions can
8531         or can't do to their arguments.
8532
8533 2005-11-18  Wim Taymans  <wim@fluendo.com>
8534
8535         * gst/gstclock.c: (gst_clock_set_calibration),
8536         (gst_clock_get_calibration):
8537         Doc and API fixes.
8538         Calibration can be set with internal time equal to current
8539         internal time too.
8540
8541 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8542
8543         * gst/gsterror.c:
8544         * gst/gsterror.h:
8545           document
8546
8547 2005-11-18  Andy Wingo  <wingo@pobox.com>
8548
8549         * configure.ac: 
8550         * pkgconfig/gstreamer-net.pc.in:
8551         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8552         * pkgconfig/Makefile.am: Add net pkgconfig files.
8553
8554 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
8555
8556         * gst/gstcaps.c:
8557         * gst/gstghostpad.c:
8558         * gst/gsttrace.c:
8559         * gst/gstvalue.c:
8560         * gst/gstvalue.h:
8561           docs fixes
8562
8563 2005-11-18  Andy Wingo  <wingo@pobox.com>
8564
8565         * gst/net/gstnetclientclock.c: Turn off debugging.
8566
8567         * check/net/gstnetclientclock.c (test_functioning): Assert that the
8568         times connverge somewhat. Can't make a real test.
8569
8570         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
8571         integer arithmetic. Return the minimum of the domain, which can be
8572         set as "internal" for gst_clock_set_calibration.
8573         (gst_net_client_clock_observe_times): Call _set_calibration.
8574         (gst_net_client_clock_new): Call _set_calibration instead of
8575         rate_offset.
8576
8577         * check/net/gstnetclientclock.c (test_functioning): Use the right
8578         adjustment api.
8579
8580         * gst/gstclock.h:
8581         * gst/gstclock.c (gst_clock_get_calibration) 
8582         (gst_clock_set_calibration): New functions, obsolete the ones I
8583         added yesterday. Doh. Precision issues mean we have to extrapolate
8584         from a point in the more recent past than 1970.
8585         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
8586         obsolete.
8587         (gst_clock_adjust_unlocked): Use the right calibration data.
8588
8589 2005-11-18  Edward Hervey  <edward@fluendo.com>
8590
8591         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
8592         Also reset the ->current_* values in READY->PAUSED
8593
8594 2005-11-18  Andy Wingo  <wingo@pobox.com>
8595
8596         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
8597         Whoops, check the right fd. Also add some debugging.
8598         (gst_net_client_clock_observe_times): Adjust for int64 offset.
8599         (do_linear_regression): Add a crapload of debugging. Subtract off
8600         the minimum values from the input series to discard unneeded bits.
8601         Use only int arithmetic. There is still double arithmetic when
8602         calculating the intercept that needs fixing. Return boolean to
8603         indicate success; FALSE would mean the domain or range is too
8604         great. Still needs fixes.
8605
8606 2005-11-18  Wim Taymans  <wim@fluendo.com>
8607
8608         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8609         For the current position in stream time, we need to subtract
8610         accumulated time.
8611         
8612         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8613         Release lock before calling the callback function of async
8614         entries.
8615
8616 2005-11-18  Andy Wingo  <wingo@pobox.com>
8617
8618         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
8619         Port goes all the way to MAXUINT16.
8620
8621         * gst/net/gstnettimeprovider.c: Make the port range the same as
8622         for the kernel: 0 assigns, otherwise ports are less than
8623         MAXUINT16.
8624
8625         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
8626         port change.
8627
8628         * check/net/gstnetclientclock.c (test_functioning): Add the start
8629         of another test. 
8630
8631 2005-11-18  Wim Taymans  <wim@fluendo.com>
8632
8633         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8634         (gst_bin_remove_func), (bin_bus_handler):
8635         * gst/gstbin.h:
8636         Removing a clock provider from a bin, triggers a clock lost message
8637         so that a new clock will be selected.
8638         Adding a clock to a bin triggers a clock provider message.
8639         Make sure we reselect a clock when we received a clock lost message.
8640         Keep a reference to the element that provided the clock.
8641
8642 2005-11-18  Andy Wingo  <wingo@pobox.com>
8643
8644         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
8645         the clock initially so it produces values around the base time.
8646         (gst_net_client_clock_class_init): Typo fix.
8647         (gst_net_client_clock_thread): Add note on when the socket gets
8648         closed.
8649
8650 2005-11-17  Wim Taymans  <wim@fluendo.com>
8651
8652         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
8653         Free remote and local time arrays.
8654
8655 2005-11-17  Wim Taymans  <wim@fluendo.com>
8656
8657         * gst/net/gstnetclientclock.c: (do_linear_regression),
8658         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
8659         Fix compilation, uninitialized vars and a forgotten continue.
8660
8661 2005-11-17  Andy Wingo  <wingo@pobox.com>
8662
8663         * check/Makefile.am (check_PROGRAMS): 
8664         * check/net/gstnetclientclock.c: Add a most minimal test for the
8665         net client clock. More to come later.
8666
8667         * gst/net/gstnet.h: 
8668         * gst/net/Makefile.am: Add netclientclock.
8669
8670         * gst/net/gstnetclientclock.h:
8671         * gst/net/gstnetclientclock.c: New files, implement an untested
8672         GstClock that takes its time from a network time provider.
8673         Implements the algorithm in network-clock.scm.
8674
8675         * tests/network-clock.scm (*window-size*): Rename from
8676         *queue-length*.
8677         * tests/network-clock.scm (network-time): 
8678         * tests/network-clock-utils.scm (q-push): Update callers.
8679
8680 2005-11-17  Wim Taymans  <wim@fluendo.com>
8681
8682         * gst/gstbin.c: (gst_bin_provide_clock_func),
8683         (gst_bin_sort_iterator_new):
8684         And unref the child too..
8685
8686 2005-11-17  Wim Taymans  <wim@fluendo.com>
8687
8688         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8689         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
8690         Refactor the sort iterator so it can be used while holding the
8691         LOCK too.
8692         Make clock selection select a clock closest to the source.
8693
8694 2005-11-17  Michael Smith <msmith@fluendo.com>
8695
8696         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
8697         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
8698         * gst/gstclock.h:
8699           Anonymous structs are a gcc (and some other compilers) extension, so
8700           don't use them. Since this is only for ABI-compatibility, and our
8701           API/ABI freeze is over in a few days, this whole thing will only
8702           last a few days, so don't bother trying to think up a meaningful
8703           name for the struct.
8704
8705 2005-11-17  Andy Wingo  <wingo@pobox.com>
8706
8707         * gst/gstclock.h (GstClock): Add rate and offset properties,
8708         preserving ABI stability. Add rate/offset accessors. Will file bug
8709         for the freeze break.
8710
8711         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
8712         and offset, trying to keep precision and avoiding
8713         underflow/overflow.
8714         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
8715         functions. Make gst_clock_set_time_adjust obsolete.
8716         (gst_clock_set_time_adjust): Note that this function is obsolete.
8717         Will file bug soon.
8718
8719         * gst/base/gstbasetransform.h: Make the ABI-stability hack
8720         greppable by using GST_PADDING-1+1.
8721
8722 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
8723
8724         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8725
8726         * gst/gstmessage.c: (gst_message_parse_clock_lost):
8727           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
8728
8729         * gst/gstpadtemplate.h:
8730         * gst/gstpluginfeature.h:
8731           Don't use c++ style comments in headers (#321638).
8732
8733 2005-11-16  Andy Wingo  <wingo@pobox.com>
8734
8735         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
8736         buffer.
8737
8738         * check/net/gstnettimeprovider.c: Check to see that the time
8739         provider actually provides times. Works, yo!
8740
8741 2005-11-16  Wim Taymans  <wim@fluendo.com>
8742
8743         * check/Makefile.am:
8744         Enable more tests.
8745
8746         * check/elements/fakesrc.c: (GST_START_TEST):
8747         Set element to NULL before disposing it.
8748
8749 2005-11-16  Andy Wingo  <wingo@pobox.com>
8750
8751         * gst/net/Makefile.am:
8752         * gst/net/gstnet.h:
8753         * gst/net/gstnettimeprovider.c: 
8754         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
8755         provider, include it from gstnet.h, and add it to the build.
8756
8757         * gst/net/gstnettimepacket.h: 
8758         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
8759         sending and receiving.
8760
8761 2005-11-16  Wim Taymans  <wim@fluendo.com>
8762
8763         * check/Makefile.am:
8764         Enable valgrind check.
8765
8766         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
8767         (gst_fake_src_alloc_buffer):
8768         Fix memleak.
8769
8770 2005-11-16  Wim Taymans  <wim@fluendo.com>
8771
8772         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
8773         Call parent finalize too.
8774
8775 2005-11-16  Wim Taymans  <wim@fluendo.com>
8776
8777         * check/Makefile.am:
8778         Enable valgrind check that should work fine now.
8779
8780         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8781         * gst/gstqueue.c: (gst_queue_init):
8782         Fix memleaks in pad allocation.
8783
8784 2005-11-16  Andy Wingo  <wingo@pobox.com>
8785
8786         * gst/net/Makefile.am:
8787         * gst/net/gstnet.h: New part of core to hold network elements and
8788         objects. Put in core because it exposes API that applications want
8789         to use. The library is named libgstnet-tempname right now because
8790         of the existing libgstnet in gst-plugins-base. Solution is
8791         probably to rename the one in plugins-base; will file a bug for
8792         the freeze break.
8793
8794         * gst/net/gstnettimeprovider.c: 
8795         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
8796         get_time call over the network.
8797
8798         * configure.ac: 
8799         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
8800
8801         * check/Makefile.am:
8802         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
8803         get additions shortly.
8804
8805 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8806
8807         * gst/gstpad.c: (gst_pad_new_from_static_template):
8808         * gst/gstpad.h:
8809           add gst_pad_new_from_static_template functions
8810         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
8811         (gst_check_setup_sink_pad):
8812         * gst/elements/gsttee.c: (gst_tee_init):
8813           and use them
8814
8815 2005-11-16  Wim Taymans  <wim@fluendo.com>
8816
8817         * gst/gstpad.c: (gst_pad_pause_task):
8818         Removed warning, it's not really an error either.
8819
8820 2005-11-16  Wim Taymans  <wim@fluendo.com>
8821
8822         * gst/base/gstbasetransform.c:
8823         (gst_base_transform_prepare_output_buf),
8824         (gst_base_transform_event):
8825         Check if the caps are NULL, this can happen if the element
8826         is shutting down and the pad caps are set to NULL.
8827
8828 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8829
8830         * gst/elements/gsttee.c: (gst_tee_init):
8831           fix pad template leak in tee
8832
8833 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8834
8835         * gst/glib-compat.c: (g_value_dup_gst_object):
8836         * gst/glib-compat.h:
8837         * gst/gstpad.c: (gst_pad_set_property):
8838           use gst_object_ref when setting the pad template; this will
8839           trigger the pad template leaks on GLib 2.6 and the slaves
8840
8841 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8842
8843         * gst/glib-compat.c: (gst_flags_get_first_value):
8844         * gst/glib-compat.h:
8845         * gst/gstregistryxml.c:
8846           remove functions copied from GLib 2.6
8847
8848 2005-11-16  Michael Smith <msmith@fluendo.com>
8849
8850         * gst/Makefile.am:
8851           Don't link against VALGRIND_LIBS. That was always the wrong thing to
8852           do, but only breaks with newer valgrind versions. We're not a
8853           valgrind tool, we have no link-time dependencies on libcoregrind.
8854
8855 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8856
8857         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8858           some debug changes
8859         * gst/gstmessage.h:
8860           typo fixes
8861
8862 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8863
8864         * gst/base/gstbasesrc.c: (gst_base_src_init):
8865         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8866         * gst/gstqueue.c: (gst_queue_init):
8867         * gst/gstregistryxml.c: (load_feature):
8868           Revert all these unrefs, they don't even pass make check !
8869
8870 2005-11-15  Johan Dahlin  <johan@gnome.org>
8871
8872         * gst/base/gstbasesrc.c: (gst_base_src_init):
8873         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8874         * gst/gstqueue.c: (gst_queue_init): 
8875         Free pad templates, fixes a couple of leaks.
8876
8877 2005-11-15  Daniel Fischer  <dan at f3c dot com>
8878
8879         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8880
8881         * gst/gstpad.c: (gst_pad_get_property):
8882           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
8883           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
8884           (#321452)
8885
8886 2005-11-15  Wim Taymans  <wim@fluendo.com>
8887
8888         * gst/gstevent.c:
8889         Small doc update.
8890
8891 2005-11-15  Andy Wingo  <wingo@pobox.com>
8892
8893         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
8894
8895         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
8896         using GST_CLOCK_TIME_NONE to disable base time management.
8897         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
8898         time if it was NONE before.
8899         (gst_pipeline_change_state): Only munge the base time if
8900         stream_time != GST_CLOCK_TIME_NONE.
8901
8902         * check/gst/gstpipeline.c (test_base_time): Punt around the
8903         problem of the probe not being called, because that's not the
8904         issue I'm looking at. Add a check that setting stream_time to NONE
8905         disables base time management.
8906         
8907 2005-11-15  Wim Taymans  <wim@fluendo.com>
8908
8909         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8910         segment_stop == -1 at startup.
8911
8912         * gst/base/gstbasetransform.c: (gst_base_transform_event),
8913         (gst_base_transform_change_state):
8914         Init segment values at start.
8915
8916 2005-11-15  Wim Taymans  <wim@fluendo.com>
8917
8918         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8919         0 segment values are 0 in any format.
8920
8921         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8922         * gst/base/gstbasetransform.h:
8923         Parse newsegment correctly in basetransform
8924
8925         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8926         Sync to clock using updated segment values.
8927
8928 2005-11-15  Andy Wingo  <wingo@pobox.com>
8929
8930         * check/gst/gstpipeline.c (test_base_time): Add check that the
8931         base time and stream time are reset correctly.
8932
8933 2005-11-15  Wim Taymans  <wim@fluendo.com>
8934
8935         * docs/design/part-TODO.txt:
8936         Some more TODO items.
8937
8938 2005-11-15  Andy Wingo  <wingo@pobox.com>
8939
8940         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
8941         error if the user selected "no clock" as the clocking method.
8942
8943         * check/gst/gstpipeline.c (test_base_time): New test for buffer
8944         timestamps with live capture.
8945
8946         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
8947         is 0 but we are a live source, timestamp the buffers using the
8948         element's clock.
8949
8950 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
8951
8952         * docs/gst/gstreamer-sections.txt:
8953         * gst/gsterror.c:
8954         * gst/gstghostpad.c:
8955         * gst/gstobject.h:
8956         * gst/gstxml.c:
8957           more section docs
8958
8959 2005-11-14  Wim Taymans  <wim@fluendo.com>
8960
8961         * common/gst.supp:
8962           add suppressions from Wim's Debian machine
8963
8964 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8965
8966         * common/gst.supp:
8967           add suppressions from Andy's AMD64 Ubuntu machine
8968
8969 2005-11-14  Andy Wingo  <wingo@pobox.com>
8970
8971         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
8972         STATE_LOCK not necessary. Fixes #311489.
8973
8974         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
8975         #305291.
8976
8977         * gst/gstindex.c (gst_index_add_object): Note in the docs that
8978         this function is not implemented.
8979
8980 2005-11-14  Julien MOUTTE  <julien@moutte.net>
8981
8982         * gst/base/gstbasetransform.c:
8983         (gst_base_transform_prepare_output_buf):
8984         Ref the source pad caps while we need them.
8985         Fixes (#321386)
8986
8987 2005-11-11  Wim Taymans  <wim@fluendo.com>
8988
8989         * docs/gst/gstreamer-sections.txt:
8990         Added some docs for GstCollectData.
8991
8992         * gst/base/gstadapter.c:
8993         Some small code example fix.
8994
8995         * gst/base/gstcollectpads.c:
8996         * gst/base/gstcollectpads.h:
8997         Document some more.
8998
8999 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9000
9001         * configure.ac: back to HEAD
9002
9003 === release 0.9.5 ===
9004
9005 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9006
9007         * configure.ac:
9008           releasing 0.9.5, "Bike Lunch Day"
9009
9010 2005-11-11  Wim Taymans  <wim@fluendo.com>
9011
9012         * gst/gstbuffer.c: (_gst_buffer_copy):
9013         Copy more flags.
9014
9015         * gst/gstcaps.c: (gst_caps_is_equal):
9016         Fix some docs.
9017         Make _is_equal fast in the trivial cases.
9018
9019         * gst/gstminiobject.c:
9020         * gst/gstminiobject.h:
9021         More docs. Spifify .h file.
9022
9023         * gst/gstutils.c:
9024         Small doc update.
9025
9026 2005-11-11  Wim Taymans  <wim@fluendo.com>
9027
9028         * gst/base/gstbasetransform.c:
9029         (gst_base_transform_prepare_output_buf),
9030         (gst_base_transform_handle_buffer):
9031         Small cleanups.
9032         If we're processing a buffer and need to allocate an output
9033         buffer, we cannot accept a format change. If we did get a 
9034         format change, we have to alloc a buffer ourselves of the 
9035         right size.
9036
9037 2005-11-11  Wim Taymans  <wim@fluendo.com>
9038
9039         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9040         While checking the flag for reentrancy in the gstcaps function
9041         is nice to detect recursive invocations, it also makes it 
9042         impossible to call getcaps from multiple threads, which must be
9043         possible. So, checking for recursive calls has to go.
9044
9045 2005-11-11  Michael Smith <msmith@fluendo.com>
9046
9047         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9048           Don't sync on buffers that fall partially outside our current
9049           segment. Prevents an assertion failure/abort playing some files.
9050
9051 2005-11-10  Andy Wingo  <wingo@pobox.com>
9052
9053         * check/gst/gstbin.c (test_message_state_changed_children): Style
9054         fix..
9055
9056         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9057         gst_bus_poll with the signal watch. Ensures that poll and a signal
9058         watch see the same messages.
9059
9060         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9061         a poll and a watch at the same time get the same messages.
9062
9063 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9064
9065         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9066         * gst/gstcaps.c: (gst_caps_intersect):
9067           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9068           and it's not needed.
9069
9070 2005-11-10  Wim Taymans  <wim@fluendo.com>
9071
9072         * docs/design/part-TODO.txt:
9073         Updated todo.
9074
9075 2005-11-10  Wim Taymans  <wim@fluendo.com>
9076
9077         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9078         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9079         (gst_base_src_do_sync), (gst_base_src_get_range):
9080         Implement clock sync in base class.
9081
9082 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9083
9084         patch by: Tim-Philipp Müller <tim at centricular dot net>
9085
9086         * gst/gststructure.c: (gst_structure_parse_field),
9087         (gst_structure_from_string):
9088           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9089           so that gst_parse_launch() can deal with spaces in filtered link
9090           caps (fixes #164479)
9091         * check/gst/capslist.h:
9092         * check/gst/gststructure.c: (GST_START_TEST):
9093           add unit tests for this change
9094
9095 2005-11-10  Wim Taymans  <wim@fluendo.com>
9096
9097         * docs/gst/gstreamer-sections.txt:
9098         * gst/gstelement.c:
9099         * gst/gstelement.h:
9100         Fix docs, move some STATE macros to private.
9101
9102 2005-11-10  Wim Taymans  <wim@fluendo.com>
9103
9104         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9105         Added check for bug #317341
9106
9107         * gst/gstbuffer.c:
9108         * gst/gstbuffer.h:
9109         Some more spiffifying.
9110
9111         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9112         Call peer linkfunction if we are a source pad. Totally fixes
9113         #317341
9114
9115         * gst/gstpad.c:
9116         Update docs, source pads should call the peer linkfunction
9117         so they can atomically perform the pad link.
9118
9119 2005-11-09  Wim Taymans  <wim@fluendo.com>
9120
9121         * gst/gstbuffer.c:
9122         * gst/gstbuffer.h:
9123         Uber-spiffy-spiffify some more.
9124
9125 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9126
9127         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9128         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9129         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9130         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9131         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9132         * gst/gstpad.c: (gst_pad_init):
9133           Use GST_DEBUG_FUNCPTR() more extensively.
9134
9135 2005-11-09  Wim Taymans  <wim@fluendo.com>
9136
9137         * gst/gstobject.c: (gst_object_class_init):
9138         * gst/gstobject.h:
9139         Documentation fixes.
9140
9141 2005-11-09  Edward Hervey  <edward@fluendo.com>
9142
9143         * gst/gsttypefindfactory.c:
9144         Fix docs.
9145         
9146 2005-11-09  Edward Hervey  <edward@fluendo.com>
9147
9148         * gst/base/gsttypefindhelper.c:
9149         * gst/gsttypefind.c:
9150         * gst/gsttypefind.h:
9151         Fix docs.
9152
9153 2005-11-09  Wim Taymans  <wim@fluendo.com>
9154
9155         * gst/gstiterator.c:
9156         Fix revision data.
9157
9158         * gst/gsttask.c:
9159         * gst/gsttask.h:
9160         Fix docs.
9161
9162 2005-11-09  Wim Taymans  <wim@fluendo.com>
9163
9164         * gst/gstevent.h:
9165         * gst/gsturi.h:
9166         Fix docs.
9167
9168 2005-11-09  Wim Taymans  <wim@fluendo.com>
9169
9170         * docs/gst/gstreamer-sections.txt:
9171         Moved the message async delivery private lock and cond
9172         to the private section.
9173
9174         * gst/gstmessage.c:
9175         * gst/gstmessage.h:
9176         Fixed docs.
9177
9178 2005-11-09  Edward Hervey  <edward@fluendo.com>
9179
9180         * docs/gst/gstreamer-sections.txt:
9181         * gst/gsturi.c:
9182         * gst/gsturi.h:
9183         Document GstURIHandler
9184
9185 2005-11-09  Wim Taymans  <wim@fluendo.com>
9186
9187         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9188         (gst_iterator_find_custom):
9189         * gst/gstiterator.h:
9190         Fix iterator docs.
9191
9192 2005-11-09  Wim Taymans  <wim@fluendo.com>
9193
9194         * gst/gstbin.h:
9195         Document another field.
9196
9197         * gst/gststructure.c:
9198         * gst/gststructure.h:
9199         Document.
9200
9201 2005-11-09  Wim Taymans  <wim@fluendo.com>
9202
9203         * gst/gstbin.h:
9204         Documented structs.
9205
9206 2005-11-09  Wim Taymans  <wim@fluendo.com>
9207
9208         * docs/gst/gstreamer-sections.txt:
9209         Added some new macros.
9210
9211         * gst/gstclock.c:
9212         * gst/gstclock.h:
9213         * gst/gstobject.h:
9214         Docs updates.
9215
9216 2005-11-09  Wim Taymans  <wim@fluendo.com>
9217
9218         * docs/design/part-TODO.txt:
9219         Some more items for the TODO
9220
9221         * gst/gstcaps.c:
9222         * gst/gstcaps.h:
9223         Document GstCaps.
9224
9225 2005-11-09  Andy Wingo  <wingo@pobox.com>
9226
9227         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9228         to work on something else now tho...
9229
9230         * gst/base/gstadapter.c: More adapter docs.
9231
9232         * gst/elements/gstfilesink.c (gst_file_sink_start) 
9233         (gst_file_sink_stop): New functions, replace the state change
9234         handler.
9235         (gst_file_sink_class_init): Hook up the start and stop functions.
9236         (gst_file_sink_base_init): Don't set the state change handler any
9237         more. It was a bit ugly too, being set from here...
9238         (gst_file_sink_get_property, gst_file_sink_set_property):
9239         Cleanups...
9240         (gst_file_sink_set_location): More robust check that doesn't call
9241         GST_STATE. Ugggggg.
9242
9243 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9244
9245         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9246           Hold STREAM_LOCK while pushing newsegment or tag events as well.
9247
9248 2005-11-08  Wim Taymans  <wim@fluendo.com>
9249
9250         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9251         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9252         (gst_base_sink_chain), (gst_base_sink_change_state):
9253         * gst/base/gstbasesink.h:
9254         * gst/base/gstbasesrc.h:
9255         * gst/gstelement.h:
9256         * gst/gstevent.h:
9257         Avoid excessive typechecking in macros.
9258
9259         * gst/gstminiobject.c: (gst_mini_object_get_type),
9260         (gst_mini_object_init), (gst_mini_object_new),
9261         (gst_mini_object_free):
9262         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9263         (gst_object_finalize):
9264         Remove cruft code, optimize alloc_trace.
9265
9266 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9267
9268         * docs/faq/gst-uninstalled:
9269           fix up PS1 for systems that try to reset it
9270
9271 2005-11-07  Wim Taymans  <wim@fluendo.com>
9272
9273         * gst/base/gstbasesrc.c: (gst_base_src_init),
9274         (gst_base_src_get_range):
9275         Set the segment_end to -1 initially. Fixed typefind.
9276
9277 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9278
9279         * gst/base/gstadapter.c:
9280           Debug category should be 'adapter', not 'GstAdapter'.
9281           
9282         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
9283         (gst_collectpads_class_init), (gst_collectpads_init),
9284         (gst_collectpads_peek), (gst_collectpads_pop),
9285         (gst_collectpads_event), (gst_collectpads_chain):
9286           Add debug category and some debugging output. Use boilerplate
9287           macros. Remove some extraneous words from docs.
9288
9289 2005-11-05  Andy Wingo  <wingo@pobox.com>
9290
9291         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
9292         macro.
9293
9294 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9295
9296         * docs/gst/gstreamer-sections.txt:
9297         * gst/gstcaps.h:
9298         * gst/gstinfo.c:
9299         * gst/gstminiobject.h:
9300         * gst/gstobject.h:
9301         * gst/gstutils.h:
9302           more docs added
9303
9304 2005-11-04  Wim Taymans  <wim@fluendo.com>
9305
9306         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9307         Small update to stop at the configured segment_end
9308         position.
9309
9310 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9311
9312         * gst/gstregistry.c:
9313         * gst/gstregistry.h:
9314           added missing docs
9315
9316 2005-11-04  Edward Hervey  <edward@fluendo.com>
9317
9318         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9319         Check if we are doing a segment seek and have arrived at the
9320         end of that segment.
9321
9322 2005-11-04  Wim Taymans  <wim@fluendo.com>
9323
9324         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
9325         Don't leak a mutex unlock in case of an error.
9326
9327         * gst/gstbus.h:
9328         Doc fixes.
9329
9330 2005-11-04  Wim Taymans  <wim@fluendo.com>
9331
9332         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
9333         (gst_bus_post):
9334         Get the context to wake up only once.
9335
9336 2005-11-03  Wim Taymans  <wim@fluendo.com>
9337
9338         * check/states/sinks.c: (GST_START_TEST):
9339         Uncomment fixed check.
9340
9341         * docs/design/part-TODO.txt:
9342         Updated TODO.
9343
9344         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9345         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9346         (gst_base_sink_get_position):
9347         If we are going to PLAYING, post the right pending state
9348         when we post the intermediate paused message.
9349
9350         * gst/gstelement.c: (gst_element_continue_state),
9351         (gst_element_set_state_func), (gst_element_change_state):
9352         Don't post state changes that were between the same state
9353         and were not ASYNC.
9354
9355 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9356
9357         * docs/gst/gstreamer-sections.txt:
9358         * gst/gstcaps.h:
9359         * gst/gstinfo.c:
9360         * gst/gstminiobject.h:
9361         * gst/gstobject.h:
9362         * gst/gstutils.h:
9363           more docs and doc style fixes
9364
9365 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9366
9367         * docs/gst/gstreamer-sections.txt:
9368         * gst/gstelement.c:
9369         * gst/gstminiobject.c:
9370         doc fixes
9371
9372 2005-11-03  Andy Wingo  <wingo@pobox.com>
9373
9374         * check/states/sinks.c (test_livesrc_sink): Add checks that the
9375         state-changed messages actually have the right order and the right
9376         values.
9377
9378 2005-11-03  Wim Taymans  <wim@fluendo.com>
9379
9380         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9381         Added some more checks. Specifically the case where NO_PREROLL
9382         elements are in the pipeline.
9383
9384         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9385         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9386         (gst_base_sink_get_position):
9387         Post READY->PAUSED state change messages too.
9388         Fix bug where VOID was posted as pending state...
9389
9390         * gst/gstbin.c: (gst_bin_recalc_state):
9391         use _element_continue_state() to continue the state change.
9392
9393         * gst/gstelement.c: (gst_element_continue_state),
9394         (gst_element_commit_state), (gst_element_set_state_func),
9395         (gst_element_change_state), (gst_element_change_state_func):
9396         Lots of state change cleanups, assign the STATE_RETURN in
9397         a new continue_state() function that also propagates the
9398         last return value from a state change to the app.
9399         Update some debug statements with proper category.
9400
9401 2005-11-03  Wim Taymans  <wim@fluendo.com>
9402
9403         * docs/design/part-events.txt:
9404         * docs/design/part-gstpipeline.txt:
9405         * docs/design/part-messages.txt:
9406         * docs/design/part-overview.txt:
9407         * docs/design/part-seeking.txt:
9408         * docs/design/part-states.txt:
9409         * docs/design/part-trickmodes.txt:
9410         * docs/manual/advanced-position.xml:
9411         Small docs updates.
9412
9413         * gst/gstobject.h:
9414         People think !! is ugly, this looks better.
9415
9416         * gst/gstpad.c: (gst_pad_set_blocked_async):
9417         Remove !! since it's fixed elsewhere now.
9418
9419 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9420
9421         * gst/gstminiobject.h:
9422         * gst/gstobject.h:
9423           Add !! to _FLAG_IS_SET macros to make the result boolean.
9424
9425 2005-11-03  Edward Hervey  <edward@fluendo.com>
9426
9427         * gst/gstpad.c: (gst_pad_set_blocked_async):
9428         comparing a flag and a gboolean rarely returns coherent results...
9429         Added two characters (!!) to make that work correctly.
9430         
9431 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9432
9433         * gst/gstbus.c: (gst_bus_class_init):
9434           Fix some typos.
9435           
9436         * gst/gstqueue.c: (gst_queue_loop):
9437           Don't assume a miniobject that isn't a buffer is an
9438           event (it could be that there is a refcounting
9439           problem somewhere and the pointer is stale and
9440           refers to an already destroyed miniobject).
9441
9442 2005-11-03  Julien MOUTTE  <julien@moutte.net>
9443
9444         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
9445
9446 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9447
9448         * docs/manual/advanced-position.xml:
9449           Update seek example and explanations to current 0.9 API.
9450
9451         * gst/elements/gsttypefindelement.c:
9452         (gst_type_find_element_activate):
9453           Remove FIXME comment now that the found caps
9454           are unreffed.
9455
9456 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9457
9458         * gst/gstregistryxml.c: (load_feature):
9459           Add another GST_STR_NULL instance
9460
9461 2005-11-02  Edward Hervey  <edward@fluendo.com>
9462
9463         * gst/gstpad.c: (handle_pad_block):
9464         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
9465         
9466 2005-11-02  Wim Taymans  <wim@fluendo.com>
9467
9468         * gst/gstbin.c:
9469         Fix typo in docs.
9470
9471         * gst/gstelement.c: (gst_element_commit_state):
9472         Remove unused value.
9473
9474         * gst/gstiterator.c:
9475         Mention that the returned element is reffed in the docs.
9476
9477 2005-11-02  Wim Taymans  <wim@fluendo.com>
9478
9479         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
9480         (gst_pad_push), (gst_pad_push_event):
9481         Unlock blocked pads when they are flushed.
9482
9483 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9484
9485         * docs/README:
9486         * docs/gst/gstreamer-sections.txt:
9487         * gst/gstbin.c:
9488           doc updates
9489         * gst/gstregistry.c: (gst_registry_scan_path_level):
9490           fix for a nasty little missed situation where an installed plug-in
9491           which was in the cache did not get overridden by an uninstalled one
9492           which was earlier in the plugin path because the newly created plugin
9493           for the uninstalled one (not in the registry) didn't get its
9494           ->registered set to TRUE
9495
9496 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9497
9498         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
9499         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
9500         (gst_collectpads_is_active), (gst_collectpads_collect),
9501         (gst_collectpads_collect_range), (gst_collectpads_start),
9502         (gst_collectpads_stop), (gst_collectpads_peek),
9503         (gst_collectpads_pop), (gst_collectpads_available),
9504         (gst_collectpads_read), (gst_collectpads_flush):
9505           Guard public API with assertions.
9506         
9507         * gst/gstpad.c:
9508           Fix docs for gst_pad_set_link_function().
9509
9510 2005-11-02  Johan Dahlin  <johan@gnome.org>
9511
9512         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
9513         Unref found_caps after we used it.
9514
9515 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9516
9517         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
9518           Don't try to ref NULL.
9519
9520 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9521
9522         * win32/common/config.h.in:
9523           provide a GST_FUNCTION that just gives a string for now
9524
9525 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9526
9527         * win32/common/gstenumtypes.c: (register_gst_object_flags),
9528         (gst_object_flags_get_type), (register_gst_bin_flags),
9529         (gst_bin_flags_get_type), (register_gst_buffer_flag),
9530         (gst_buffer_flag_get_type), (register_gst_bus_flags),
9531         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
9532         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
9533         (gst_clock_return_get_type), (register_gst_clock_entry_type),
9534         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
9535         (gst_clock_flags_get_type), (register_gst_state),
9536         (gst_state_get_type), (register_gst_state_change_return),
9537         (gst_state_change_return_get_type), (register_gst_state_change),
9538         (gst_state_change_get_type), (register_gst_element_flags),
9539         (gst_element_flags_get_type), (register_gst_core_error),
9540         (gst_core_error_get_type), (register_gst_library_error),
9541         (gst_library_error_get_type), (register_gst_resource_error),
9542         (gst_resource_error_get_type), (register_gst_stream_error),
9543         (gst_stream_error_get_type), (register_gst_event_type),
9544         (gst_event_type_get_type), (register_gst_seek_type),
9545         (gst_seek_type_get_type), (register_gst_seek_flags),
9546         (gst_seek_flags_get_type), (register_gst_format),
9547         (gst_format_get_type), (register_gst_index_certainty),
9548         (gst_index_certainty_get_type), (register_gst_index_entry_type),
9549         (gst_index_entry_type_get_type),
9550         (register_gst_index_lookup_method),
9551         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
9552         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
9553         (gst_index_resolver_method_get_type), (register_gst_index_flags),
9554         (gst_index_flags_get_type), (register_gst_debug_level),
9555         (gst_debug_level_get_type), (register_gst_debug_color_flags),
9556         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
9557         (gst_iterator_result_get_type), (register_gst_iterator_item),
9558         (gst_iterator_item_get_type), (register_gst_message_type),
9559         (gst_message_type_get_type), (register_gst_mini_object_flags),
9560         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
9561         (gst_pad_link_return_get_type), (register_gst_flow_return),
9562         (gst_flow_return_get_type), (register_gst_activate_mode),
9563         (gst_activate_mode_get_type), (register_gst_pad_direction),
9564         (gst_pad_direction_get_type), (register_gst_pad_flags),
9565         (gst_pad_flags_get_type), (register_gst_pad_presence),
9566         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
9567         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
9568         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
9569         (gst_plugin_error_get_type), (register_gst_plugin_flags),
9570         (gst_plugin_flags_get_type), (register_gst_rank),
9571         (gst_rank_get_type), (register_gst_query_type),
9572         (gst_query_type_get_type), (register_gst_tag_merge_mode),
9573         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
9574         (gst_tag_flag_get_type), (register_gst_task_state),
9575         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
9576         (gst_alloc_trace_flags_get_type),
9577         (register_gst_type_find_probability),
9578         (gst_type_find_probability_get_type), (register_gst_uri_type),
9579         (gst_uri_type_get_type), (register_gst_parse_error),
9580         (gst_parse_error_get_type):
9581         * win32/common/gstversion.h:
9582           update win32 copies
9583
9584 2005-11-01  Luca Ognibene  <luogni@tin.it>
9585
9586         * gst/gst.c:
9587           fix docs. popt is dead, long live GOption.
9588
9589 2005-10-31  Wim Taymans  <wim@fluendo.com>
9590
9591         * gst/gstbuffer.h:
9592         Small doc fix.
9593
9594 2005-10-31  Andy Wingo  <wingo@pobox.com>
9595
9596         * Boo!
9597
9598         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
9599
9600         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
9601         need to serialize property notifications on GLib 2.8. GLib 2.6 has
9602         the possibility of deadlocks here if code calling notify() or
9603         set() has a lock that can be taken in another notify handler (ABBA
9604         with class lock and e.g. python GIL state lock).
9605
9606 2005-10-28  Julien MOUTTE  <julien@moutte.net>
9607
9608         * gst/gstbus.c: Doc updates.
9609
9610 2005-10-28  Wim Taymans  <wim@fluendo.com>
9611
9612         * docs/design/part-TODO.txt:
9613         * gst/gstiterator.c:
9614         * gst/gstsystemclock.c:
9615         * gst/gstsystemclock.h:
9616         Doc updates.
9617
9618 2005-10-28  Edward Hervey  <edward@fluendo.com>
9619
9620         * docs/gst/gstreamer-docs.sgml:
9621         * docs/gst/gstreamer-sections.txt:
9622         the GstURIType documentation page is private, it only defines GstURIType
9623         which should be defined in the GstURIHandler page
9624         
9625 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9626
9627         * gst/gstbin.c: (gst_bin_class_init):
9628         * gst/gstbin.h:
9629         * gst/gstutils.c:
9630         Documentation updates.
9631
9632 2005-10-28  Wim Taymans  <wim@fluendo.com>
9633
9634         * docs/gst/gstreamer-sections.txt:
9635         * gst/gstclock.c:
9636         * gst/gstclock.h:
9637         Documented the clocks.
9638
9639 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
9640
9641         * docs/gst/gstreamer-sections.txt:
9642           move some macros to private sections
9643         * gst/gstminiobject.c:
9644         * gst/gstminiobject.h:
9645           add descriptions provided by ds and some more
9646         * gst/gstpad.h:
9647           mark macro as to be removed
9648
9649 2005-10-28  Wim Taymans  <wim@fluendo.com>
9650
9651         * docs/design/part-TODO.txt:
9652         Add an item to TODO.
9653
9654         * gst/gstiterator.c: (gst_iterator_fold),
9655         (gst_iterator_find_custom):
9656         * gst/gstiterator.h:
9657         Add iterator docs.
9658
9659 2005-10-28  Wim Taymans  <wim@fluendo.com>
9660
9661         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9662         (gst_base_transform_init):
9663         Don't leak class.
9664
9665         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
9666         An EOS event marks the queue as completely filled.
9667
9668 2005-10-27  Wim Taymans  <wim@fluendo.com>
9669
9670         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9671         (gst_base_sink_do_sync), (gst_base_sink_get_position):
9672         Some more debugging.
9673
9674         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
9675         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
9676         (gst_base_transform_event), (gst_base_transform_getrange),
9677         (gst_base_transform_chain):
9678         * gst/base/gstbasetransform.h:
9679         Fix debugging,
9680         Protect transform and concurrent buffer alloc with a new lock.
9681         Try not to break ABI/API.
9682
9683 2005-10-27  Wim Taymans  <wim@fluendo.com>
9684
9685         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9686         (gst_base_src_init), (gst_base_src_query),
9687         (gst_base_src_default_newsegment),
9688         (gst_base_src_configure_segment), (gst_base_src_do_seek),
9689         (gst_base_src_send_event), (gst_base_src_event_handler),
9690         (gst_base_src_pad_get_range), (gst_base_src_loop),
9691         (gst_base_src_unlock), (gst_base_src_default_negotiate),
9692         (gst_base_src_start), (gst_base_src_deactivate),
9693         (gst_base_src_activate_push), (gst_base_src_change_state):
9694         Move some stuff around and cleanup things.
9695
9696 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
9697
9698         * gst/base/gstbasesrc.c: (gst_base_src_query):
9699           Add missing break statements.
9700
9701 2005-10-27  Wim Taymans  <wim@fluendo.com>
9702
9703         * check/gst/gstbin.c: (GST_START_TEST):
9704         An extra refcount is taken in basesrc.
9705
9706         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
9707         (gst_base_src_get_range), (gst_base_src_pad_get_range),
9708         (gst_base_src_loop):
9709         Small cleanups, check for flushing after being unlocked from the 
9710         LIVE_LOCK. take refcounts correctly (not yet everywhere).
9711         Don't send out EOS when going to READY.
9712
9713 2005-10-27  Wim Taymans  <wim@fluendo.com>
9714
9715         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9716         (gst_base_sink_get_position):
9717         Some more debug.
9718
9719         * gst/gstbin.c: (message_check), (bin_replace_message),
9720         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9721         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9722         (bin_query_duration_init), (bin_query_duration_fold),
9723         (bin_query_duration_done), (bin_query_generic_fold),
9724         (gst_bin_query):
9725         * tools/gst-launch.c: (main):
9726         Remove old option.
9727
9728 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
9729
9730         * examples/controller/audio-example.c: (main):
9731         * examples/queue/queue.c: (event_loop):
9732         * gst/base/gstbasetransform.h:
9733         * gst/gstelement.c: (gst_element_send_event):
9734         * gst/gstevent.h:
9735         * gst/gstpad.c: (gst_pad_send_event):
9736           fixing examples
9737           fixing docs typos
9738           changing log priority in error situations
9739
9740 2005-10-25  Wim Taymans  <wim@fluendo.com>
9741
9742         * gst/gstbin.c: (message_check), (bin_replace_message),
9743         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9744         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9745         (bin_query_duration_init), (bin_query_duration_fold),
9746         (bin_query_duration_done), (bin_query_generic_fold),
9747         (gst_bin_query):
9748         Some doc and debug updates.
9749         Cache previously requested query DURATION for speed. invalidate
9750         cached duration if element posts a DURATION message.
9751
9752 2005-10-25  Wim Taymans  <wim@fluendo.com>
9753
9754         * docs/design/part-TODO.txt:
9755         Update TODO.
9756
9757         * gst/gstbin.c: (message_check), (bin_replace_message),
9758         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9759         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9760         (bin_query_duration_init), (bin_query_duration_fold),
9761         (bin_query_duration_done), (bin_query_generic_fold),
9762         (gst_bin_query):
9763         Handle SEGMENT_START/DONE messages correctly.
9764         More evolved query algorithm that handles duration queries
9765         correctly.
9766
9767         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
9768         (gst_element_get_state_func), (gst_element_abort_state),
9769         (gst_element_commit_state), (gst_element_lost_state):
9770         Some more debugging.
9771
9772         * gst/gstmessage.h:
9773         Added doc.
9774
9775 2005-10-25  Wim Taymans  <wim@fluendo.com>
9776
9777         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9778         Don't use invalid stream_time.
9779
9780         * gst/gstevent.c: (gst_event_new_newsegment):
9781         stream_time in newsegment cannot be undefined.
9782
9783 2005-10-24  Wim Taymans  <wim@fluendo.com>
9784
9785         * gst/gstbus.c:
9786         Doc fix.
9787
9788         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9789         (gst_queue_loop):
9790         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
9791
9792 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
9793
9794         * docs/libs/tmpl/gstdparam.sgml:
9795         * docs/libs/tmpl/gstdplinint.sgml:
9796         * docs/libs/tmpl/gstdpman.sgml:
9797         * docs/libs/tmpl/gstdpsmooth.sgml:
9798         * docs/libs/tmpl/gstunitconvert.sgml:
9799           these are obsolete
9800
9801 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9802
9803         * configure.ac:
9804           back to HEAD
9805
9806 === release 0.9.4 ===
9807
9808 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9809
9810         * configure.ac:
9811           releasing 0.9.4, "Tyrannosaurus Rex"
9812
9813 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
9814
9815         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9816         (gst_file_sink_get_current_offset):
9817           Use fseeko() and ftello() if available. When falling back on
9818           lseek() to get the current offset, fflush() first to make sure
9819           everything is up-to-date and we get the right offset.
9820
9821 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9822
9823         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9824         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9825         * gst/gsterror.c: (_gst_stream_errors_init):
9826         * gst/gsterror.h:
9827         * gst/gstqueue.c: (gst_queue_loop):
9828         * po/POTFILES.in:
9829           remove prematurely added error category and clean up the instances
9830
9831 2005-10-21  Wim Taymans  <wim@fluendo.com>
9832
9833         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9834         (gst_base_sink_get_position), (gst_base_sink_query),
9835         (gst_base_sink_change_state):
9836         Simply set the right flag when going to playing, that's all
9837         we need to do instead of calling a function inside the object
9838         lock (that could take the lock as well and deadlock)
9839
9840 2005-10-21  Wim Taymans  <wim@fluendo.com>
9841
9842         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
9843         (gst_base_src_loop):
9844         Don't warn, the peer element knows what to do best when
9845         the seek failed, it might try something else.
9846
9847 2005-10-21  Wim Taymans  <wim@fluendo.com>
9848
9849         * gst/base/gstbasesrc.c: (gst_base_src_init),
9850         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9851         Fix seeking.
9852
9853 2005-10-21  Wim Taymans  <wim@fluendo.com>
9854
9855         * docs/design/part-segments.txt:
9856         More docs.
9857
9858         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9859         Correctly set caps, even on the subbufer.
9860
9861 2005-10-21  Wim Taymans  <wim@fluendo.com>
9862
9863         * docs/gst/gstreamer-docs.sgml:
9864         * docs/gst/gstreamer-sections.txt:
9865         * gst/gstelement.h:
9866         * gst/gstevent.c:
9867         * gst/gstevent.h:
9868         * gst/gstmessage.h:
9869         * gst/gstpad.h:
9870         * gst/gstparse.h:
9871         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
9872         * gst/gsttask.h:
9873         * gst/gstutils.c:
9874         * gst/gstutils.h:
9875         And 2% more doc coverage.
9876
9877 2005-10-21  Andy Wingo  <wingo@pobox.com>
9878
9879         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
9880         position reporting.
9881
9882 2005-10-20  Wim Taymans  <wim@fluendo.com>
9883
9884         * gst/gsterror.c: (gst_error_get_message):
9885         * gst/gstparse.h:
9886         * gst/gstquery.h:
9887         * gst/gststructure.c:
9888         * gst/gsttrace.c:
9889         * gst/gstutils.c:
9890         More docs.
9891
9892 2005-10-20  Wim Taymans  <wim@fluendo.com>
9893
9894         * gst/gstbuffer.h:
9895         * gst/gstpad.c:
9896         * gst/gstparse.c:
9897         Another 1% more coverage.
9898
9899 2005-10-20  Wim Taymans  <wim@fluendo.com>
9900
9901         * docs/gst/gstreamer-sections.txt:
9902         * gst/gstelement.c: (gst_element_get_state_func),
9903         (gst_element_abort_state), (gst_element_commit_state),
9904         (gst_element_lost_state):
9905         * gst/gstevent.h:
9906         * gst/gstquery.c: (gst_query_set_position),
9907         (gst_query_parse_position), (gst_query_set_duration),
9908         (gst_query_parse_duration), (gst_query_new_convert):
9909         * gst/gstutils.c:
9910         Yay! 1% more docs coverage.
9911
9912 2005-10-20  Wim Taymans  <wim@fluendo.com>
9913
9914         * gst/gstpad.h:
9915         * gst/gstquery.c: (gst_query_set_position),
9916         (gst_query_parse_position), (gst_query_set_duration),
9917         (gst_query_parse_duration), (gst_query_new_convert):
9918         * gst/gstquery.h:
9919         * gst/gstutils.c: (gst_element_query_convert):
9920         * gst/gstutils.h:
9921         Docs and consistency fixes.
9922
9923 2005-10-20  Wim Taymans  <wim@fluendo.com>
9924
9925         * gst/gsttask.c:
9926         * gst/gsttask.h:
9927         More docs.
9928
9929 2005-10-20  Wim Taymans  <wim@fluendo.com>
9930
9931         * gst/gstbin.c: (message_check), (bin_replace_message),
9932         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9933         (update_degree), (gst_bin_sort_iterator_next),
9934         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
9935         Reworked the message handling a bit, cache the messages instead of
9936         only the senders. alows us to do more in the future.
9937
9938 2005-10-20  Wim Taymans  <wim@fluendo.com>
9939
9940         * docs/design/part-TODO.txt:
9941         Update TODO
9942
9943         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9944         (gst_base_sink_query):
9945         Don't use clock time to report position when in EOS.
9946
9947 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
9948
9949         * tools/gst-inspect.c: (print_interfaces),
9950         (print_element_properties_info), (print_element_info):
9951           Fix interface output with gst-inspect -a; don't print
9952           newlines after double/float properties.
9953
9954 2005-10-20  Wim Taymans  <wim@fluendo.com>
9955
9956         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
9957         (gst_base_sink_query):
9958         Speed up current position calculation.
9959
9960         * gst/base/gstbasesrc.c: (gst_base_src_query),
9961         (gst_base_src_default_newsegment):
9962         Correctly set stream position in newsegment.
9963
9964         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
9965         (update_degree), (gst_bin_sort_iterator_next),
9966         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
9967         * gst/gstmessage.c: (gst_message_new_custom):
9968         Clean up debugging info
9969
9970         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9971         (gst_queue_loop), (gst_queue_handle_src_query):
9972         Pause task faster.
9973
9974 2005-10-19  Wim Taymans  <wim@fluendo.com>
9975
9976         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9977         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9978         Fix query handling again.
9979
9980 2005-10-19  Wim Taymans  <wim@fluendo.com>
9981
9982         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9983         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
9984         * gst/base/gstbasesrc.c: (gst_base_src_query):
9985         * gst/elements/gstfilesink.c: (gst_file_sink_query):
9986         * gst/elements/gsttypefindelement.c:
9987         (gst_type_find_handle_src_query), (find_element_get_length),
9988         (gst_type_find_element_activate):
9989         API change fix.
9990
9991         * gst/gstquery.c: (gst_query_new_position),
9992         (gst_query_set_position), (gst_query_parse_position),
9993         (gst_query_new_duration), (gst_query_set_duration),
9994         (gst_query_parse_duration), (gst_query_set_segment),
9995         (gst_query_parse_segment):
9996         * gst/gstquery.h:
9997         Bundling query position/duration is not a good idea since duration
9998         does not change much and we don't want to recalculate it for every
9999         position query, so they are separated again..
10000         Base value in segment query is not needed.
10001
10002         * gst/gstqueue.c: (gst_queue_handle_src_query):
10003         * gst/gstutils.c: (gst_element_query_position),
10004         (gst_element_query_duration), (gst_pad_query_position),
10005         (gst_pad_query_duration):
10006         * gst/gstutils.h:
10007         Updates for query API change.
10008         Added some docs here and there.
10009
10010 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10011
10012         * check/gst/gstbin.c: (GST_START_TEST):
10013         * check/gst/gstghostpad.c: (GST_START_TEST):
10014         * check/pipelines/cleanup.c: (GST_START_TEST):
10015           wait on thread to die so we can check refcount correctly
10016
10017 2005-10-18  Wim Taymans  <wim@fluendo.com>
10018
10019         * check/pipelines/stress.c: (GST_START_TEST):
10020         Make check a little more time consuming.
10021
10022 2005-10-18  Wim Taymans  <wim@fluendo.com>
10023
10024         * check/Makefile.am:
10025         * check/pipelines/stress.c: (GST_START_TEST),
10026         (simple_launch_lines_suite), (main):
10027         Small state change torture test.
10028
10029         * docs/design/part-states.txt:
10030         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10031         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10032         (gst_base_sink_change_state):
10033         Never take state lock from streaming thread, clean up ugly
10034         hacks. Unfortunatly core does not yet support nice ways to
10035         async commit state.
10036         
10037         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10038         (bin_bus_handler):
10039         Start state recalc if a STATE_DIRTY message is posted, but only
10040         on the toplevel bin.
10041
10042         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10043         (gst_element_get_state_func), (gst_element_abort_state),
10044         (gst_element_commit_state), (gst_element_lost_state),
10045         (gst_element_set_state_func), (gst_element_change_state):
10046         * gst/gstelement.h:
10047         State variables are now protected with the LOCK, the state
10048         lock is only used to serialize _set_state().
10049
10050 2005-10-18  Wim Taymans  <wim@fluendo.com>
10051
10052         * check/gst/gstbin.c: (GST_START_TEST):
10053         * check/gst/gstmessage.c: (GST_START_TEST):
10054         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10055         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10056         (bin_bus_handler):
10057         * gst/gstelement.c: (gst_element_abort_state),
10058         (gst_element_commit_state), (gst_element_lost_state):
10059         * gst/gstmessage.c: (gst_message_new_state_changed),
10060         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10061         (gst_message_new_segment_done), (gst_message_new_duration),
10062         (gst_message_parse_state_changed),
10063         (gst_message_parse_segment_start),
10064         (gst_message_parse_segment_done), (gst_message_parse_duration):
10065         * gst/gstmessage.h:
10066         * tools/gst-launch.c: (event_loop):
10067         Seriously, this is better than a previous commit as we only need
10068         to notify the fact that an element changed state in a streaming
10069         thread, marking the state of the parents dirty, hence the 
10070         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10071         message.
10072
10073 2005-10-18  Wim Taymans  <wim@fluendo.com>
10074
10075         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10076         (gst_bin_recalc_func):
10077         * gst/gstelement.c: (gst_element_set_clock),
10078         (gst_element_abort_state), (gst_element_lost_state):
10079         Cleanups, prepare for state change fixes.
10080
10081 2005-10-18  Wim Taymans  <wim@fluendo.com>
10082
10083         * gst/gstbin.h:
10084         * gst/gstelement.c: (gst_element_class_init),
10085         (gst_element_set_state), (gst_element_set_state_func):
10086         * gst/gstelement.h:
10087         Pending ABI changes.
10088         GThreadPool in GstBinClass to monitor async state changes.
10089         state_cookie in GstElement to detect concurrent gst/set state.
10090         set_state is now virtual too in case a very complicated element
10091         has to be constructed.
10092
10093 2005-10-18  Wim Taymans  <wim@fluendo.com>
10094
10095         * check/gst/gstbin.c: (GST_START_TEST):
10096         * check/gst/gstmessage.c: (GST_START_TEST):
10097         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10098         * gst/gstbin.c: (bin_bus_handler):
10099         * gst/gstelement.c: (gst_element_commit_state),
10100         (gst_element_lost_state):
10101         * gst/gstmessage.c: (gst_message_new_state_changed),
10102         (gst_message_new_segment_start), (gst_message_new_segment_done),
10103         (gst_message_new_duration), (gst_message_parse_state_changed),
10104         (gst_message_parse_segment_start),
10105         (gst_message_parse_segment_done), (gst_message_parse_duration):
10106         * gst/gstmessage.h:
10107         * tools/gst-launch.c: (event_loop):
10108         Make messages future proof.
10109         state-change gets a flag if it was a message comming from the
10110         streaming thread.
10111         segment-start/stop can also be specified in other formats.
10112         A message to notify an app that a pipeline changed playback 
10113         duration.
10114         Also fix a GstMessage leak in -launch
10115
10116 2005-10-18  Andy Wingo  <wingo@pobox.com>
10117
10118         * gst/gstelement.c (gst_element_dispose): More helpful message.
10119
10120 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10121
10122         reviewed by: <delete if not using a buddy>
10123
10124         * common/gtk-doc.mak:
10125
10126 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10127
10128         * gst/gstregistry.c: (gst_registry_scan_path_level):
10129           unref a plug-in we get that was already initialized
10130
10131 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10132
10133         * docs/gst/gstreamer-sections.txt:
10134         * docs/libs/gstreamer-libs-sections.txt:
10135         * gst/gstelement.h:
10136           add new api entries
10137           hide internal macro
10138
10139 2005-10-17  Andy Wingo  <wingo@pobox.com>
10140
10141         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10142         cleanup.
10143
10144         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10145
10146         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10147
10148         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10149         (gst_element_get_state_func): Better debug message.
10150         (gst_element_commit_state): s/INFO/DEBUG/.
10151         (gst_element_lost_state, gst_element_change_state): 
10152
10153         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10154         (gst_message_new_custom): s/INFO/LOG/.
10155
10156 2005-10-17  Michael Smith <msmith@fluendo.com>
10157
10158         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10159           Check if end time is valid using end time, not start time.
10160
10161 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10162
10163         * check/gst-libs/controller.c: (GST_START_TEST),
10164         (gst_controller_suite):
10165         * libs/gst/controller/gstcontroller.c:
10166         (gst_controlled_property_set_interpolation_mode):
10167         * libs/gst/controller/gstcontroller.h:
10168         * libs/gst/controller/gstinterpolation.c:
10169         * testsuite/controller/.cvsignore:
10170         * testsuite/controller/Makefile.am:
10171         * testsuite/controller/interpolator.c:
10172           merge controller testsuites
10173           fix broken tests
10174           remove mem-chunk from docs
10175
10176 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10177
10178         * gst/gstmemchunk.c:
10179         * gst/gstmemchunk.h:
10180         * gst/gsttrashstack.c:
10181         * gst/gsttrashstack.h:
10182           out.  get out.  you're fired.  to the Attic !
10183
10184 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10185
10186         * gst/gstcaps.c: (gst_caps_intersect):
10187           fix signedness issues in a (hopefully) correct way
10188         * gst/gstelement.c: (gst_element_pads_activate):
10189           some debugging
10190         * gst/gstobject.c: (gst_object_set_parent):
10191           some debugging
10192
10193 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10194
10195         * gst/gstvalue.h: Fix prototypes.
10196
10197 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10198
10199         * docs/gst/gstreamer-sections.txt:
10200         * gst/gst.c: (gst_version_string):
10201         * gst/gst.h:
10202         * gst/gstversion.h.in:
10203         * win32/common/libgstreamer.def:
10204           add gst_version_string ()
10205
10206 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10207
10208         * configure.ac:
10209           clean up further
10210         * gst/gst.c: (init_post):
10211         * win32/common/config.h.in:
10212           it's PLUGINDIR now
10213         * gst/gstcaps.c: (gst_caps_intersect):
10214           use gint64, the range could be bigger than a guint
10215
10216 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10217
10218         * gst/gstclock.h:
10219           document potential problem in 2038
10220
10221 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10222
10223         * gst/gstcaps.c: (gst_caps_intersect):
10224           Fix guint j diving under 0
10225
10226 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10227
10228         * configure.ac:
10229         * win32/common/config.h:
10230         * win32/common/config.h.in:
10231           check for process.h, declares getpid() on Windows
10232         * gst/gstinfo.c:
10233           include process.h if we have it
10234         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10235         * gst/gstmemchunk.h:
10236           fix signedness issues
10237         * win32/common/libgstreamer.def:
10238           fix get_type's
10239
10240 2005-10-16  Julien MOUTTE  <julien@moutte.net>
10241
10242         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10243         fix. Because of unsigned ints, caps intersection was going nuts and
10244         trying to access structures with G_MAXUINT index. That fixes
10245         videotestsrc ! ffmpegcolorspace ! fakesink
10246         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
10247         consistency.
10248
10249 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10250
10251         * configure.ac:
10252           use the gettext macro
10253         * gst/elements/gstelements.c:
10254         * gst/gst.c:
10255         * gst/indexers/gstindexers.c:
10256           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
10257         * win32/common/config.h:
10258           updated config.h
10259         * win32/common/config.h.in:
10260           add the template to generate config.h
10261         * win32/common/gstenumtypes.c:
10262         * win32/common/gstversion.h:
10263           updated copies
10264
10265 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10266
10267         * gst/gst.c: (gst_version):
10268         * gst/gstversion.h.in:
10269           add the nano
10270
10271 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10272
10273         * gst/gstevent.h:
10274           Oops, add missing closing bracket.
10275
10276 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10277
10278         * configure.ac:
10279           use common m4's for argument checking
10280
10281 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10282
10283         * docs/gst/gstreamer-sections.txt:
10284         * gst/gstevent.h:
10285           Add GST_EVENT_TYPE_NAME() macro.
10286
10287 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10288
10289         * gst/gstinfo.c:
10290         * gst/gstpluginfeature.c:
10291         * gst/gsttask.c:
10292           privatize more symbols
10293
10294 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10295
10296         * configure.ac:
10297           add srcdir, builddir includes to GST_ALL_CFLAGS, since
10298           everything that uses GStreamer API should have the includes
10299
10300 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10301
10302         * docs/gst/gstreamer-sections.txt:
10303         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10304         * gst/gstvalue.h:
10305           give each value a _get_type, removes the DATA exports
10306
10307 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * gst/gst.c:
10310         * gst/gst.h:
10311           remove _gst_registry_auto_load, not used anymore
10312         * gst/gstbin.c: (gst_bin_get_type):
10313         * gst/gstbin.h:
10314         * gst/gstelement.c: (gst_element_get_type):
10315         * gst/gstelement.h:
10316         * gst/gstobject.c: (gst_object_get_type):
10317         * gst/gstobject.h:
10318         * gst/gstpad.c: (gst_pad_get_type):
10319         * gst/gstpad.h:
10320           make _get_type functions similar, fixes data export from library
10321
10322 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10323
10324         * configure.ac:
10325           correctly make conditionals
10326         * gst/elements/Makefile.am:
10327         * gst/elements/gstelements.c:
10328           fix typo causing fdsrc not to build
10329
10330 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10331
10332         * testsuite/Makefile.am:
10333         * testsuite/bytestream/.cvsignore:
10334         * testsuite/bytestream/Makefile.am:
10335         * testsuite/bytestream/filepadsink.c:
10336         * testsuite/bytestream/gstbstest.c:
10337         * testsuite/bytestream/test1.c:
10338         * testsuite/bytestream/testfile1:
10339         * testsuite/caps/normalisation.c:
10340         * testsuite/caps/random.c: (main):
10341         * testsuite/cleanup/.cvsignore:
10342         * testsuite/cleanup/Makefile.am:
10343         * testsuite/cleanup/cleanup1.c:
10344         * testsuite/cleanup/cleanup2.c:
10345         * testsuite/cleanup/cleanup3.c:
10346         * testsuite/cleanup/cleanup4.c:
10347         * testsuite/cleanup/cleanup5.c:
10348         * testsuite/controller/interpolator.c:
10349         * testsuite/debug/printf_extension.c: (main):
10350         * testsuite/elements/tee.c:
10351         * testsuite/negotiation/.cvsignore:
10352         * testsuite/negotiation/Makefile.am:
10353         * testsuite/negotiation/pad_link.c:
10354         * testsuite/pad/Makefile.am:
10355         * testsuite/pad/chainnopull.c:
10356         * testsuite/pad/getnopush.c:
10357         * testsuite/pad/link.c:
10358         * testsuite/refcounting/sched.c: (create_pipeline):
10359         * testsuite/registry/Makefile.am:
10360         * testsuite/registry/gst-print-formats.c:
10361         * testsuite/schedulers/.cvsignore:
10362         * testsuite/schedulers/142183-2.c:
10363         * testsuite/schedulers/142183.c:
10364         * testsuite/schedulers/143777-2.c:
10365         * testsuite/schedulers/143777.c:
10366         * testsuite/schedulers/147713.c:
10367         * testsuite/schedulers/147819.c:
10368         * testsuite/schedulers/147894-2.c:
10369         * testsuite/schedulers/147894.c:
10370         * testsuite/schedulers/Makefile.am:
10371         * testsuite/schedulers/group_link.c:
10372         * testsuite/schedulers/queue_link.c:
10373         * testsuite/schedulers/relink.c:
10374         * testsuite/schedulers/unlink.c:
10375         * testsuite/schedulers/unref.c:
10376         * testsuite/schedulers/useless_iteration.c:
10377         * testsuite/states/bin.c:
10378           clean out/remove some stuff from the testsuite directories
10379
10380 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10381
10382         * configure.ac:
10383           check for some headers
10384         * gst/elements/Makefile.am:
10385         * gst/elements/gstelements.c:
10386           don't compile fdsrc without sys/socket.h
10387         * gst/indexers/Makefile.am:
10388         * gst/indexers/gstindexers.c: (plugin_init):
10389           don't compile fileindex without mmap
10390
10391 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10392
10393         * configure.ac:
10394           reorganize
10395           clean up
10396           document more
10397           remove cruft
10398         * check/Makefile.am:
10399         * docs/gst/Makefile.am:
10400         * examples/helloworld/Makefile.am:
10401         * gst/Makefile.am:
10402         * gst/base/Makefile.am:
10403         * gst/check/Makefile.am:
10404         * gst/elements/Makefile.am:
10405         * gst/indexers/Makefile.am:
10406         * gst/parse/Makefile.am:
10407         * libs/gst/controller/Makefile.am:
10408         * libs/gst/dataprotocol/Makefile.am:
10409         * examples/helloworld/helloworld.c: (event_loop):
10410           compile fixes, though it's not being compiled currently
10411
10412 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10413
10414         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
10415           Add some simple tests for the new taglist date API.
10416
10417 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10418
10419         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
10420         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
10421           Beautify 'last-message' output: print 'none' for buffer timestamps
10422           and durations if none is set; improve alignment with next messages.
10423
10424 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10425
10426         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
10427         * gst/gstpluginfeature.h:
10428         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
10429         * gst/gstregistry.h:
10430         * docs/gst/gstreamer-sections.txt:
10431           Add new API to check plugin feature version requirements.
10432
10433         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
10434           Some basic tests for the above.         
10435
10436 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10437
10438         * gst/gststructure.c: (gst_structure_to_string):
10439           guard against NULL printf - happens when for example
10440           a message structure with GstClock gets serialized
10441
10442 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10443
10444         * gst/base/gstcollectpads.c: (gst_collectpads_event):
10445           Fix presumable copy'n'pasto.
10446
10447 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10448
10449         * gst/elements/gstfakesrc.h:
10450         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
10451         * gst/elements/gsttypefindelement.c:
10452           fix some signedness
10453         * gst/elements/gstfilesink.c: (gst_file_sink_render):
10454           I wonder if this could actually write +2GB files before
10455
10456 2005-10-13  Andy Wingo  <wingo@pobox.com>
10457
10458         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
10459         Fix Timmeke Waymans bug.
10460         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
10461         string of the proper length to gst_caps_from_string. There's a
10462         potential for, before this fix, that this could cause someone
10463         connecting over the network to cause a segfault if the payload is
10464         not NUL-terminated.
10465
10466 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10467
10468         * docs/design/draft-push-pull.txt:
10469         * docs/design/part-overview.txt:
10470         * docs/random/TODO-pre-0.9:
10471         * docs/random/old/ChangeLog.gstreamer:
10472         * gst/base/gstpushsrc.c:
10473         * gst/gstclock.c:
10474           fixed typos
10475
10476 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10477
10478         * gst/glib-compat.c: (gst_flags_get_first_value):
10479         * gst/glib-compat.h:
10480         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
10481         (gst_value_compare_double), (gst_value_serialize_flags):
10482           GLib 2.6 g_flags_get_first_value has a bug that triggers an
10483           infinite loop
10484
10485 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10486
10487         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10488         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10489           fix up debugging
10490         * tools/gst-launch.c: (event_loop):
10491           print out clock nicely
10492
10493 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10494
10495         * docs/gst/gstreamer-sections.txt:
10496         * gst/gsttaglist.h:
10497         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
10498         (gst_tag_list_get_date_index):
10499           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
10500           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
10501
10502 2005-10-13  Julien MOUTTE  <julien@moutte.net>
10503
10504         * gst/base/gstcollectpads.c: (gst_collectpads_event),
10505         (gst_collectpads_chain):
10506         * gst/base/gstcollectpads.h: Handle newsegment and store informations
10507         in CollectData.
10508
10509 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10510
10511         * docs/gst/gstreamer-sections.txt:
10512         * gst/gst.c:
10513         * gst/gsterror.h:
10514         * tools/gst-inspect.c: (main):
10515         * tools/gst-launch.c: (main):
10516         * tools/gst-run.c: (main):
10517         * tools/gst-xmlinspect.c: (main):
10518           fix GOption context leaks
10519           doc fixes
10520
10521 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10522
10523         * gst/gstbus.c:
10524           use HAVE_UNISTD_H
10525         * win32/common/config.h:
10526           update config
10527         * win32/vs6/grammar.dsp:
10528         * win32/vs6/libgstelements.dsp:
10529         * win32/vs6/libgstreamer.dsp:
10530           update vs6 files
10531
10532 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10533
10534         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10535         * gst/base/gstbasesrc.c: (gst_base_src_query):
10536           fix more guint64<->gdouble conversions
10537
10538 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10539
10540         * Makefile.am:
10541           add win32-update target
10542         * win32/common/gstconfig.h:
10543         * win32/common/gstenumtypes.c:
10544         * win32/common/gstenumtypes.h:
10545         * win32/common/gstversion.h:
10546           add files that visual studio can't generate
10547
10548 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10549
10550         * Makefile.am:
10551           add a win32-update target
10552         * configure.ac:
10553
10554 2005-10-12  Wim Taymans  <wim@fluendo.com>
10555
10556         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10557         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
10558         * gst/gstelement.c: (gst_element_commit_state),
10559         (gst_element_set_state):
10560         Protect flags with proper lock.
10561         unref provided cached clock in dispose.
10562
10563 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10564
10565         * gst/gst.c:
10566         * gst/gstminiobject.h:
10567         * gst/gstpad.h:
10568         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
10569           removed unused flags from miniobject
10570           doc fixes
10571
10572 2005-10-12  Wim Taymans  <wim@fluendo.com>
10573
10574         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10575         (gst_file_sink_event), (gst_file_sink_render):
10576         Flush before seeking.
10577
10578 2005-10-12  Andy Wingo  <wingo@pobox.com>
10579
10580         * gst/gst.c (gst_init_check): Ignore unknown options, as has
10581         always been the case.
10582
10583 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10584
10585         * check/gst/gstbin.c: (GST_START_TEST):
10586         * docs/gst/gstreamer-sections.txt:
10587         * gst/base/gstbasesink.c: (gst_base_sink_init):
10588         * gst/base/gstbasesrc.c: (gst_base_src_init),
10589         (gst_base_src_get_range), (gst_base_src_check_get_range),
10590         (gst_base_src_start), (gst_base_src_stop):
10591         * gst/base/gstbasesrc.h:
10592         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
10593         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10594         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
10595         (bin_bus_handler):
10596         * gst/gstbin.h:
10597         * gst/gstbuffer.h:
10598         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
10599         * gst/gstbus.h:
10600         * gst/gstelement.c: (gst_element_is_locked_state),
10601         (gst_element_set_locked_state), (gst_element_commit_state),
10602         (gst_element_set_state):
10603         * gst/gstelement.h:
10604         * gst/gstindex.c: (gst_index_init):
10605         * gst/gstindex.h:
10606         * gst/gstminiobject.h:
10607         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
10608         (gst_object_set_parent):
10609         * gst/gstobject.h:
10610         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
10611         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
10612         * gst/gstpad.h:
10613         * gst/gstpadtemplate.h:
10614         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
10615         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10616         * gst/gstpipeline.h:
10617         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10618         (gst_file_index_commit):
10619         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
10620         * testsuite/pad/link.c: (gst_test_src_init),
10621         (gst_test_filter_init), (gst_test_sink_init):
10622         * testsuite/states/locked.c: (main):
10623           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
10624           moved bitshift from macro to enum definition
10625
10626 2005-10-12  Wim Taymans  <wim@fluendo.com>
10627
10628         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
10629         * gst/elements/gstfilesink.c: (gst_file_sink_event),
10630         (gst_file_sink_render):
10631         Some more debugging info.
10632
10633 2005-10-12  Wim Taymans  <wim@fluendo.com>
10634
10635         * docs/design/part-states.txt:
10636         * tools/gst-launch.c: (main):
10637         Some doc updates.
10638         Revert non-intentional change.
10639
10640 2005-10-12  Wim Taymans  <wim@fluendo.com>
10641
10642         * check/gst/gstbin.c: (GST_START_TEST):
10643         * check/gst/gstelement.c: (GST_START_TEST):
10644         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
10645         * check/gst/gstghostpad.c: (GST_START_TEST):
10646         * check/gst/gstpipeline.c: (GST_START_TEST):
10647         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10648         * check/states/sinks.c: (GST_START_TEST):
10649         * gst/elements/gsttypefindelement.c: (stop_typefinding):
10650         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10651         (gst_bin_remove_func), (gst_bin_get_state_func),
10652         (gst_bin_recalc_state), (gst_bin_change_state_func),
10653         (bin_bus_handler):
10654         * gst/gstelement.c: (gst_element_get_state_func),
10655         (gst_element_get_state), (gst_element_abort_state),
10656         (gst_element_commit_state), (gst_element_set_state),
10657         (gst_element_change_state), (gst_element_change_state_func):
10658         * gst/gstelement.h:
10659         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
10660         (gst_pipeline_provide_clock_func):
10661         * gst/gstutils.c: (gst_element_link_pads_filtered):
10662         * tools/gst-launch.c: (main):
10663         * tools/gst-typefind.c: (main):
10664         Use GstClockTime in _get_state() instead of GTimeVal.
10665         Remove old code in gstutils.c
10666
10667 2005-10-12  Andy Wingo  <wingo@pobox.com>
10668
10669         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
10670         removed.
10671
10672         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
10673         there is no task. Shouldn't affect any code, as nothing in our
10674         plugins checks this return value.
10675         (gst_pad_stop_task): Also take the stream lock if the pad has no
10676         task. Docs updated.
10677
10678 2005-10-12  Wim Taymans  <wim@fluendo.com>
10679
10680         * gst/gstpad.c: (pre_activate), (post_activate),
10681         (gst_pad_activate_pull), (gst_pad_activate_push):
10682         Cleanup activation code. Reset old state if
10683         activation failed.
10684
10685 2005-10-12  Wim Taymans  <wim@fluendo.com>
10686
10687         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10688         (gst_base_sink_change_state):
10689         No need to prerol after receiving EOS.
10690
10691         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10692         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
10693         * gst/elements/gstidentity.c: (gst_identity_event):
10694         Print events more verbosely.
10695
10696 2005-10-12  Wim Taymans  <wim@fluendo.com>
10697
10698         * check/Makefile.am:
10699         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10700         * check/states/sinks2.c:
10701         Moved sinks2 testcode in sinks check.
10702
10703         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10704         (gst_bin_remove_func), (gst_bin_recalc_state),
10705         (gst_bin_change_state_func), (bin_bus_handler):
10706         Fix potential race condition when _get_state() iterated over an
10707         ASYNC element right before it posted a state completion.
10708
10709         * gst/gstclock.h:
10710         Do proper cast here.
10711
10712         * gst/gstevent.c: (gst_event_new_newsegment),
10713         (gst_event_parse_newsegment):
10714         A playback rate of 0.0 is not allowed.
10715
10716 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10717
10718         * win32/common/config.h:
10719         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10720         (_trewinddir), (_ttelldir), (_tseekdir):
10721         * win32/common/dirent.h:
10722         * win32/common/gtchar.h:
10723         * win32/common/libgstbase.def:
10724         * win32/common/libgstreamer.def:
10725         * win32/vs6/grammar.dsp:
10726         * win32/vs6/gst_inspect.dsp:
10727         * win32/vs6/gst_launch.dsp:
10728         * win32/vs6/gstreamer.dsw:
10729         * win32/vs6/libgstbase.dsp:
10730         * win32/vs6/libgstelements.dsp:
10731         * win32/vs6/libgstreamer.dsp:
10732           Visual Studio 6 project files, and a new common directory.
10733           Phear.
10734
10735 2005-10-11  Wim Taymans  <wim@fluendo.com>
10736
10737         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10738         (gst_base_sink_do_sync), (gst_base_sink_query),
10739         (gst_base_sink_change_state):
10740         * gst/base/gstbasesink.h:
10741         Correctly parse newsegment info.
10742
10743 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10744
10745         * gst/gst.c: (init_post):
10746           split plugin paths correctly
10747
10748 2005-10-11  Wim Taymans  <wim@fluendo.com>
10749
10750         * check/gst/gstevent.c: (GST_START_TEST):
10751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10752         (gst_base_sink_change_state):
10753         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
10754         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10755         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10756         * gst/gstevent.c: (gst_event_new_newsegment),
10757         (gst_event_parse_newsegment):
10758         * gst/gstevent.h:
10759         Added extra flag to newsegment for future API freeze.
10760         Updated check and base elements.
10761
10762 2005-10-11  Julien MOUTTE  <julien@moutte.net>
10763
10764         * gst/base/gstcollectpads.c: (gst_collectpads_init),
10765         (gst_collectpads_add_pad), (gst_collectpads_pop),
10766         (gst_collectpads_event), (gst_collectpads_chain):
10767         * gst/base/gstcollectpads.h: Handle EOS correctly.
10768
10769 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10770
10771         * tools/gst-launch.c: (main):
10772           more null protecting
10773
10774 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10775
10776         * gst/gst-i18n-lib.h:
10777           check for ENABLE_NLS, not GETTEXT_PACKAGE
10778         * gst/gstregistry.c: (gst_registry_add_plugin),
10779         (gst_registry_scan_path_level),
10780         (_gst_registry_remove_cache_plugins):
10781           protect possibly NULL strings
10782         * gst/parse/types.h:
10783           config.h already included before
10784         * tools/gst-inspect.c: (main):
10785           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
10786           check for ENABLE_NLS, not GETTEXT_PACKAGE
10787         * tools/gst-launch.c: (main):
10788           check for ENABLE_NLS, not GETTEXT_PACKAGE
10789
10790 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10791
10792         * configure.ac:
10793           if we don't have glib, fail before testing 2.8
10794         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
10795           fix a leak, should fix plugins-base testsuite
10796
10797 2005-10-11  Andy Wingo  <wingo@pobox.com>
10798
10799         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
10800         take the mode we're going to as an arg. Go head and set the mode
10801         and flushing flags now, so that if the activate function starts a
10802         thread all the flags will be in the right state.
10803         (post_activate): Renamed also. Just handle making sure streaming
10804         finishes for the deactivation case, and setting the deactivated
10805         mode.
10806         (gst_pad_set_active): Complain loudly if deactivation fails.
10807         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
10808         (gst_pad_activate_push): Adapt to pre/post_activate changes,
10809         remove the terrible hack.
10810
10811 2005-10-11  Wim Taymans  <wim@fluendo.com>
10812
10813         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10814         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
10815         (gst_bin_recalc_state), (gst_bin_change_state_func),
10816         (gst_bin_dispose), (bin_bus_handler):
10817         * gst/gstbin.h:
10818         Prepare to make current EOS message queue more generic.
10819         Fix some typos.
10820
10821         * gst/gstevent.c: (gst_event_new_newsegment),
10822         (gst_event_parse_newsegment):
10823         * gst/gstevent.h:
10824         Rename base to stream_time.
10825
10826         * gst/gstmessage.h:
10827         Fix typo in docs.
10828
10829 2005-10-11  Wim Taymans  <wim@fluendo.com>
10830
10831         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10832         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
10833         (gst_bin_change_state_func), (bin_bus_handler):
10834         * gst/gstbin.h:
10835         Work on proper clock selection.
10836
10837 2005-10-11  Edward Hervey  <edward@fluendo.com>
10838
10839         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
10840         * libs/gst/controller/gstcontroller.h:
10841         Added GList* version of _remove_properties() in order to be able to wrap
10842         it in bindings.
10843
10844 2005-10-11  Wim Taymans  <wim@fluendo.com>
10845
10846         * docs/design/part-states.txt:
10847         Some more docs.
10848
10849         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
10850         (gst_bin_change_state_func), (bin_bus_handler):
10851         Doc updates. Don't distribute the same clock over and over again.
10852
10853         * gst/gstclock.c:
10854         * gst/gstclock.h:
10855         Doc updates.
10856
10857         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
10858         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
10859         (gst_pad_send_event):
10860         * gst/gstpad.h:
10861         Make probe emission threadsafe again.
10862         Register quarks and move _get_name() from utils.
10863         Doc updates.
10864
10865         * gst/gstpipeline.c: (gst_pipeline_class_init),
10866         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10867         Only redistribute the clock of it changed.
10868
10869         * gst/gstsystemclock.h:
10870         Doc updates. 
10871
10872         * gst/gstutils.c:
10873         * gst/gstutils.h:
10874         Moved the _flow_get_name() to GstPad.
10875
10876 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10877
10878         * check/gst-libs/gdp.c: (GST_START_TEST):
10879         * check/gst/gstcaps.c: (GST_START_TEST):
10880         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
10881         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
10882         (gst_dp_packet_from_caps):
10883           fix more valgrind warnings before turning up the heat
10884
10885 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * gst/parse/grammar.y:
10888           some cleanup before the hacking
10889
10890 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10891
10892         * gst/base/gstbasesrc.c: (gst_base_src_query):
10893           use conversions
10894         * gst/gstutils.c: (gst_guint64_to_gdouble),
10895         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
10896         * gst/gstutils.h:
10897           externalize, basesrc uses it
10898           obviously the implementation needs testing
10899
10900 2005-10-10  Wim Taymans  <wim@fluendo.com>
10901
10902         * tests/sched/Makefile.am:
10903         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
10904         (make_pipeline3), (make_pipeline4), (print_elem), (main):
10905
10906 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10907
10908         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
10909           apparently converting from guint64 to double is not implemented
10910           on MSVC
10911
10912 2005-10-10  Wim Taymans  <wim@fluendo.com>
10913
10914         * check/Makefile.am:
10915         * check/generic/states.c: (GST_START_TEST):
10916         * check/gst/gstbin.c: (GST_START_TEST):
10917         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10918         * check/states/sinks.c: (GST_START_TEST):
10919         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
10920         (main):
10921         Check fixes, use API as stated in design docs, remove hacks.
10922
10923         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10924         (gst_base_sink_change_state):
10925         Catch stopping our task while we're shutting down.
10926
10927         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
10928         (gst_bin_remove_func), (gst_bin_get_state_func),
10929         (gst_bin_recalc_state), (gst_bin_change_state_func),
10930         (bin_bus_handler):
10931         * gst/gstbin.h:
10932         * gst/gstelement.c: (gst_element_init),
10933         (gst_element_get_state_func), (gst_element_abort_state),
10934         (gst_element_commit_state), (gst_element_lost_state),
10935         (gst_element_set_state), (gst_element_change_state),
10936         (gst_element_change_state_func):
10937         * gst/gstelement.h:
10938         New state change algorithm (see #318116)
10939
10940         * gst/gstpipeline.c: (gst_pipeline_class_init),
10941         (gst_pipeline_init), (gst_pipeline_set_property),
10942         (gst_pipeline_get_property), (do_pipeline_seek),
10943         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
10944         * gst/gstpipeline.h:
10945         Remove crude state change hacks.
10946
10947         * gst/gstutils.h:
10948         Remove crude hacks.
10949
10950         * tools/gst-launch.c: (main):
10951         Fixes for state change. Needs some more work to fully use the
10952         new stuff.
10953
10954 2005-10-10  Andy Wingo  <wingo@pobox.com>
10955
10956         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
10957
10958         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
10959         this flag, but it's not even in GLib 2.6. Odd. Hack around the
10960         issue.
10961
10962 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10963
10964         * gst/gstiterator.c: (gst_iterator_new):
10965           Fix my previous commit: GTypes passed to gst_iterator_new()
10966           can be fundamental types.
10967
10968 2005-10-10  Wim Taymans  <wim@fluendo.com>
10969
10970         * gst/gstelement.c: (gst_element_iterate_pad_list),
10971         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
10972         (gst_element_iterate_sink_pads):
10973         Use src/sink pads lists for the respective iterators instead
10974         of filtering.
10975
10976 2005-10-10  Andy Wingo  <wingo@pobox.com>
10977
10978         Merged in popt removal + GOption addition patch from Ronald, bug
10979         #169772.
10980
10981         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
10982         GstElement macros around, remove popt-related symbols, add goption
10983         stuff.
10984
10985         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
10986         
10987         * docs/gst/Makefile.am:
10988         * docs/libs/Makefile.am: No POPT_CFLAGS.
10989         
10990         * examples/manual/Makefile.am:
10991         * docs/manual/basics-init.xml: Doc updates with an example.
10992         
10993         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10994         (gst_init), (parse_one_option), (parse_goption_arg):
10995         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
10996         bit of hand merging and debugging to get the GOption stuff working
10997         tho.
10998         
10999         * tests/Makefile.am:
11000         * tools/Makefile.am:
11001         * tools/gst-inspect.c: (main):
11002         * tools/gst-launch.c: (main):
11003         * tools/gst-run.c: (main):
11004         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11005
11006 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11007
11008         * gst/gstiterator.c: (gst_iterator_new):
11009           Add assertions to make sure passed GType is likely to really
11010           be a GType (as the compiler won't catch it if the size and
11011           GType arguments get mixed up, see #318447).
11012
11013 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11014
11015         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11016
11017         * gst/gstbin.c: (gst_bin_iterate_sorted):
11018           Pass GType and size arguments to gst_iterator_new() in the right
11019           order (maybe we should make _new() take the GType as first argument
11020           just like _new_list()?) (#318447).
11021           
11022
11023 2005-10-10  Wim Taymans  <wim@fluendo.com>
11024
11025         * gst/gstelement.c: (gst_element_finalize):
11026         And free the GStaticRecMutex too
11027
11028 2005-10-10  Andy Wingo  <wingo@pobox.com>
11029
11030         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11031         Allocate and free the mutex properly.
11032
11033         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11034         New macros.
11035         (GstElement): The state_lock is now recursive. Rebuild your
11036         plugins, suckers. Old macros adapted.
11037
11038         * docs/gst/gstreamer-sections.txt: Doc updates.
11039
11040         * gst/gstutils.h:
11041         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11042         (g_static_rec_cond_wait): Ported from state changes patch, while
11043         we wait on bug #317802 to be solved in a well-distributed GLib.
11044
11045         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11046         gst_element_change_state, variable name changes.
11047         (gst_element_change_state): Split out of gst_element_set_state in
11048         preparation for the state change merge. Doesn't pay attention to
11049         the 'transition' argument.
11050         (gst_element_set_state): Updates, hopefully purely cosmetic.
11051         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11052         state change patch.
11053         (gst_element_get_state_func): Renamed from get_state, cosmetic
11054         changes.
11055
11056 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11057
11058         * gst/elements/gstelements.c:
11059         * win32/GStreamer.vcproj:
11060         * win32/config.h:
11061         * win32/dirent.c: (_tseekdir):
11062         * win32/gst-inspect.vcproj:
11063         * win32/gst-launch.vcproj:
11064         * win32/gstconfig.h:
11065         * win32/gstelements.vcproj:
11066         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11067         * win32/gstreamer.def:
11068         * win32/msvc71.sln:
11069           updates for the win32 build (patch from Sebastien Moutte)
11070
11071 2005-10-10  Andy Wingo  <wingo@pobox.com>
11072
11073         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11074         gst_bin_get_state, cleaned up (but no logic changes).
11075         (bin_element_is_sink): Comment updates.
11076         (sink_iterator_filter): Remove needless cast.
11077         (gst_bin_iterate_sinks): Doc update.
11078         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11079         cleaned up (but no logic changes).
11080
11081         * check/states/sinks.c (test_src_sink): Cleanups from the state
11082         change patch.
11083         (test_livesrc_sink): Sync on the state.
11084
11085         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11086         the state change patch.
11087
11088         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11089         change patch.
11090
11091         * check/gst/gstbin.c: Merge in some style fixes and additional
11092         checks from Wim's state change patch.
11093
11094 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11095
11096         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11097         (gst_type_find_helper):
11098           Check whether we have the requested data already in our list of
11099           cached buffers before pulling a new buffer; also make the buffer
11100           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11101
11102 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11103
11104         * gst/gstcaps.c:
11105         * gst/gstevent.c:
11106           doc updates
11107         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11108           don't use long long, it's not portable.  Replacing with
11109           gint64 seems to work; let's hope no skeletons fall out of the closet.
11110
11111 2005-10-10  Andy Wingo  <wingo@pobox.com>
11112
11113         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11114
11115 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11116
11117         * docs/gst/gstreamer-sections.txt:
11118         * gst/gstevent.c:
11119         * gst/gstevent.h:
11120         * gst/gstinfo.c:
11121         * gst/gstinfo.h:
11122         * gst/gstmessage.c: (gst_message_parse_state_changed):
11123         * gst/gstpad.c:
11124         * gst/gstpad.h:
11125           more docs, fix compilation
11126
11127 2005-10-09  Philippe Khalaf <burger@speedy.org>
11128         * gst/gstmessage.c:
11129           Fixed a few forgotten variables on previous commit
11130
11131 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11132
11133         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11134           Fix evil typefind crasher: getrange() might return a short
11135           buffer at the end of a file, but gst_type_find_peek() must
11136           either return the full data as requested or NULL, but
11137           never a short buffer.
11138
11139 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11140
11141         * gst/gstmessage.c: (gst_message_new_state_changed),
11142         (gst_message_parse_state_changed):
11143         * gst/gstmessage.h:
11144           don't use "new", it's a C++ keyword
11145
11146 2005-10-08  Wim Taymans  <wim@fluendo.com>
11147
11148         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11149         * gst/gstelement.c: (gst_element_post_message):
11150         * gst/gstpipeline.c: (gst_pipeline_change_state):
11151         Small docs and debug updates.
11152
11153 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11154
11155         * docs/gst/gstreamer-sections.txt:
11156         * gst/gstelementfactory.c:
11157         * gst/gstevent.c:
11158         * gst/gsttaglist.c:
11159           more docs
11160
11161 2005-10-08  Wim Taymans  <wim@fluendo.com>
11162
11163         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11164         (gst_bin_dispose), (bin_bus_handler):
11165         Fix typos, add comments.
11166         Clear EOS list when going to PAUSED from any direction and do it
11167         in a threadsafe way.
11168         Get base time in a threadsafe way too.
11169         Fix confusing debug in the change_state function.
11170         Various other small cleanups.
11171         
11172         * gst/gstelement.c: (gst_element_post_message):
11173         Fix very verbose bus posting code.
11174
11175         * gst/gstpipeline.c: (gst_pipeline_class_init),
11176         (gst_pipeline_set_property), (gst_pipeline_get_property),
11177         (gst_pipeline_change_state):
11178         Small ARG_ -> PROP_ cleanup
11179
11180 2005-10-08  Wim Taymans  <wim@fluendo.com>
11181
11182         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11183         Do a less CPU demanding EOS check because we can.
11184
11185 2005-10-08  Wim Taymans  <wim@fluendo.com>
11186
11187         * libs/gst/dataprotocol/dataprotocol.c:
11188         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11189         (gst_dp_packet_from_event):
11190         * libs/gst/dataprotocol/dataprotocol.h:
11191         * libs/gst/dataprotocol/dp-private.h:
11192         It's about time we bump the version number.
11193         Since event types don't fit in the guint8 anymore describing
11194         the payload type, make payload type 16 bits wide.
11195
11196 2005-10-08  Wim Taymans  <wim@fluendo.com>
11197
11198         * docs/design/part-TODO.txt:
11199         * docs/design/part-clocks.txt:
11200         * docs/design/part-events.txt:
11201         * docs/design/part-gstbin.txt:
11202         * docs/design/part-gstelement.txt:
11203         * docs/design/part-gstpipeline.txt:
11204         * docs/design/part-live-source.txt:
11205         * docs/design/part-messages.txt:
11206         * docs/design/part-overview.txt:
11207         * docs/design/part-states.txt:
11208         Many doc updates.
11209
11210 2005-10-08  Wim Taymans  <wim@fluendo.com>
11211
11212         * gst/gstevent.c:
11213         * gst/gstevent.h:
11214         Fix event quark registration.
11215         Add some space between events so we can insert them in the
11216         right groups.
11217
11218 2005-10-08  Wim Taymans  <wim@fluendo.com>
11219
11220         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11221         (gst_base_sink_handle_buffer):
11222         Better log message.
11223
11224         * gst/gstbus.h:
11225         * gst/gstelement.h:
11226         More docs.
11227
11228         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11229         (gst_queue_set_property), (gst_queue_get_property):
11230         * gst/gstqueue.h:
11231         Remove old unused properties.
11232
11233 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11234         * docs/gst/gstreamer-sections.txt:
11235         * gst/gstmessage.c:
11236         * gst/gstmessage.h:
11237         * gst/gstminiobject.c:
11238         * gst/gstminiobject.h:
11239         * gst/gstobject.h:
11240         * gst/gstpad.h:
11241         * gst/gstutils.h:
11242           lots of new docs and doc fixes
11243
11244 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11245
11246         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
11247         * gst/gstplugin.h:
11248         * gst/gstregistry.c: (gst_registry_lookup_locked),
11249         (gst_registry_scan_path_level):
11250         * gst/gstregistryxml.c: (load_plugin):
11251           Only ever load one plugin for a given plugin basename.
11252           This ensures correct overriding of GST_PLUGIN_PATH over
11253           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
11254           system installed plugins.
11255
11256 2005-10-08  Wim Taymans  <wim@fluendo.com>
11257
11258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11259         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
11260         Prepare for doing QOS.
11261
11262 2005-10-08  Wim Taymans  <wim@fluendo.com>
11263
11264         * check/gst/gstbin.c: (GST_START_TEST):
11265         * check/pipelines/cleanup.c: (GST_START_TEST):
11266         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11267         Allow new clock message too.
11268
11269 2005-10-08  Wim Taymans  <wim@fluendo.com>
11270
11271         * gst/gstmessage.c: (gst_message_new_error),
11272         (gst_message_new_warning), (gst_message_new_tag),
11273         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11274         (gst_message_new_clock_lost), (gst_message_new_new_clock),
11275         (gst_message_new_segment_start), (gst_message_new_segment_done),
11276         (gst_message_parse_state_changed),
11277         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
11278         (gst_message_parse_new_clock):
11279         * gst/gstmessage.h:
11280         Also carry the clock in question.
11281
11282 2005-10-08  Wim Taymans  <wim@fluendo.com>
11283
11284         * gst/gstmessage.c: (gst_message_new_custom),
11285         (gst_message_new_eos), (gst_message_new_error),
11286         (gst_message_new_warning), (gst_message_new_tag),
11287         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11288         (gst_message_new_new_clock), (gst_message_new_segment_start),
11289         (gst_message_new_segment_done), (gst_message_parse_state_changed),
11290         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
11291         * gst/gstmessage.h:
11292         Clean up.
11293         Added clock related messages.
11294
11295         * gst/gstpipeline.c: (gst_pipeline_change_state):
11296         Post message when the clock changed.
11297
11298         * tools/gst-launch.c: (event_loop):
11299         Print new clock.
11300
11301 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11302
11303         * tools/gst-inspect.c: (print_element_properties_info):
11304           Can't pass NULL strings to g_print() on windows.
11305
11306 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11307
11308         * docs/Makefile.am:
11309         * docs/gst/Makefile.am:
11310         * docs/gst/gstreamer-docs.sgml:
11311         * docs/gst/running.xml:
11312         * docs/version.entities.in:
11313           add a chapter on running GStreamer.
11314           document GST_DEBUG and GST_PLUGIN* env vars
11315
11316 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11317
11318         * Makefile.am:
11319           remove include dir
11320         * configure.ac:
11321           remove PLUGINS_BUILDDIR stuff
11322         * gst/gst.c: (init_post):
11323           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
11324         * idiottest.mak:
11325           remove, it was condescending and not needed
11326
11327 2005-10-08  Wim Taymans  <wim@fluendo.com>
11328
11329         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
11330         (gst_base_sink_handle_object), (gst_base_sink_event),
11331         (gst_base_sink_wait), (gst_base_sink_handle_event),
11332         (gst_base_sink_change_state):
11333         * gst/base/gstbasesink.h:
11334         Repost EOS message while going to PLAYING if still EOS.
11335         Make sure that when receiving a FLUSH_START we don't attempt
11336         to sync on the clock anymore.
11337
11338 2005-10-08  Wim Taymans  <wim@fluendo.com>
11339
11340         * tools/gst-launch.c: (event_loop):
11341         Better message printout.
11342
11343 2005-10-08  Wim Taymans  <wim@fluendo.com>
11344
11345         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
11346         (gst_bin_child_proxy_get_children_count):
11347         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11348         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
11349         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
11350         (gst_child_proxy_set_valist):
11351         * gst/parse/grammar.y:
11352         Make ChildProxy threadsafe and fix mem leaks.
11353
11354 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11355
11356         * gst/gst.c: (init_post):
11357           debug the GST_PLUGIN_ env vars
11358
11359 2005-10-08  Wim Taymans  <wim@fluendo.com>
11360
11361         * check/gst/gstbin.c: (GST_START_TEST):
11362         * check/gst/gstmessage.c: (GST_START_TEST):
11363         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11364         * gst/gstelement.c: (gst_element_commit_state),
11365         (gst_element_lost_state):
11366         * gst/gstmessage.c: (gst_message_new_state_changed),
11367         (gst_message_parse_state_changed):
11368         * gst/gstmessage.h:
11369         * tools/gst-launch.c: (event_loop):
11370         Added extra field to STATE_CHANGE message with the pending
11371         state, which will be different from the new state soon.
11372
11373 2005-10-08  Wim Taymans  <wim@fluendo.com>
11374
11375         * gst/gstbus.c: (gst_bus_pop):
11376         * gst/gstclock.c:
11377         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11378         Small cleanups and doc updates.
11379
11380 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11381
11382         * gst/gst.c: (init_pre):
11383         * gst/gstbin.c: (gst_bin_add_func):
11384           log distributing clocks and base time
11385         * gst/gstregistry.c: (gst_registry_add_plugin),
11386         (gst_registry_scan_path_level), (gst_registry_scan_path):
11387           clean up the debugging output a little
11388         * gst/gstutils.c: (gst_element_state_get_name):
11389           warn about a memleak (I've actually seen this be used, though
11390           it was probably a bug)
11391
11392 2005-10-07  Wim Taymans  <wim@fluendo.com>
11393
11394         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11395         (gst_base_src_init), (gst_base_src_default_newsegment),
11396         (gst_base_src_newsegment), (gst_base_src_do_seek),
11397         (gst_base_src_loop), (gst_base_src_start):
11398         * gst/base/gstbasesrc.h:
11399         Make the newsegment event customizable by subclasses.
11400
11401 2005-10-07  Wim Taymans  <wim@fluendo.com>
11402
11403         * gst/gstevent.c: (gst_event_new_buffersize),
11404         (gst_event_parse_buffersize):
11405         * gst/gstevent.h:
11406         New event for future idea.
11407
11408 2005-10-07  Andy Wingo  <wingo@pobox.com>
11409
11410         * gst/gstelement.c (gst_element_post_message): Doc update.
11411
11412         * docs/gst/gstreamer-sections.txt: Update.
11413
11414         * gst/gstmessage.c (gst_message_new_application): Made into a
11415         function like honest API calls.
11416         (gst_message_new_element): New message type.
11417
11418         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
11419
11420         * check/elements/fakesrc.c (test_no_preroll): New check, checks
11421         that setting a live fakesrc to PAUSED returns NO_PREROLL both
11422         times.
11423
11424         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
11425         NO_PREROLL from gst_element_change_state to fall through.
11426
11427 2005-10-07  Wim Taymans  <wim@fluendo.com>
11428
11429         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
11430         (gst_ghost_pad_do_activate_push):
11431         Activating a ghostpad with no internal pad in push mode
11432         is ok.
11433
11434 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11435
11436         * gst/gstobject.h:
11437           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
11438           Fixes compilation on Windows.
11439
11440 2005-10-07  Michael Smith <msmith@fluendo.com>
11441
11442         * tools/gst-inspect.c:
11443           Print out feature and plugin count at the end when printing out
11444           all features.
11445
11446 2005-10-04  Michael Smith <msmith@fluendo.com>
11447
11448         * gst/gsterror.c: (_gst_stream_errors_init):
11449           Add another error string used in a few existing plugins.
11450
11451         * gst/gstplugin.c:
11452         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11453         * tools/gst-inspect.c: (print_element_info):
11454           When a feature disappears from a plugin (and the feature exists in
11455           the cached registry file), things went horribly wrong. This isn't a
11456           complete fix, we should actually be removing the 'missing' features
11457           from the features list when we load the actual plugin. That's not
11458           yet implemented. 
11459
11460 2005-10-04  Johan Dahlin  <johan@gnome.org>
11461
11462         * check/gst/gstiterator.c: (GST_START_TEST):
11463         * gst/gstbin.c: (gst_bin_iterate_elements),
11464         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
11465         * gst/gstelement.c: (gst_element_iterate_pads):
11466         * gst/gstformat.c: (gst_format_iterate_definitions):
11467         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11468         (gst_iterator_new_list), (gst_iterator_filter):
11469         * gst/gstiterator.h:
11470         * gst/gstquery.c: (gst_query_type_iterate_definitions):
11471         Add a GType to GstIterator, update callsites and tests.
11472
11473 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11474
11475         * gst/gstpad.c: (gst_pad_event_default_dispatch):
11476           give events a chance to be handled by event probes when the pad
11477           is not linked
11478
11479 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11480
11481         * gst/gstevent.c: (gst_event_type_get_name),
11482         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
11483         * gst/gstevent.h:
11484           add string representations for event types
11485
11486 2005-10-06  Wim Taymans  <wim@fluendo.com>
11487
11488         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
11489         Don't use NULL pointers.
11490
11491 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11492
11493         * gst/gst_private.h:
11494         * gst/gstbus.c:
11495         * gst/gstelement.c:
11496         * gst/gstinfo.c:
11497         * gst/gstpluginfeature.c:
11498           widen the debug category in output to fit the biggest one we have
11499           add a bus category and use it
11500           play with the colors
11501           fix up some categories
11502
11503 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11504
11505         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
11506           add push activation of sink ghost pads.
11507           Andye, please verify
11508
11509 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11510
11511         * gst/gstutils.c: (gst_element_link_pads):
11512           fix a bug in the case where neither element has a pad
11513         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11514           add a test for that case
11515
11516 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11517
11518         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
11519           emit have-data before checking for peers.  This allows
11520           for probe handlers to connect elements.  This helps autopluggers.
11521         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
11522         (gst_pad_suite):
11523           add six checks, linked/unlinked with no/true/false probe
11524
11525 2005-10-04  Wim Taymans  <wim@fluendo.com>
11526
11527         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
11528         (gst_fake_sink_event), (gst_fake_sink_preroll),
11529         (gst_fake_sink_render), (gst_fake_sink_change_state):
11530         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
11531         (gst_fake_src_get_property), (gst_fake_src_create),
11532         (gst_fake_src_stop):
11533         * gst/elements/gstidentity.c: (gst_identity_stop):
11534         Protect last_message with lock.
11535
11536 2005-10-04  Edward Hervey  <edward@fluendo.com>
11537
11538         * gst/gstformat.h: 
11539         Added precision in the comments for GST_FORMAT_DEFAULT
11540
11541 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
11542
11543         * tools/gst-launch.c: (main):
11544           Don't try to run erroneous pipelines.
11545
11546 2005-10-04  Julien MOUTTE  <julien@moutte.net>
11547
11548         * gst/gstbus.c: We don't need this header.
11549
11550 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11551
11552         * configure.ac:
11553           back to development
11554
11555 === release 0.9.3 ===
11556
11557 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11558
11559         * README:
11560         * configure.ac:
11561           Releasing 0.9.3, "Unregistered"
11562
11563 2005-10-03  Andy Wingo  <wingo@pobox.com>
11564
11565         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
11566         whereby calling a pad's activatepush() function can start a thread
11567         that starts to push or pull before the pad gets the FLUSHING flag
11568         unset. Hack around it by holding the stream lock until the flag is
11569         set. Need to replace this with a proper solution. Together with
11570         the ghost pad fixes, this fixes mp3 playing/tagreading.
11571
11572         * docs/design/part-gstghostpad.txt: Add a note about activation of
11573         proxy pads outside of ghost pads.
11574
11575         * gst/gstghostpad.c: Implement the ghost pad activation design.
11576
11577 2005-10-02  Andy Wingo  <wingo@pobox.com>
11578
11579         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
11580         It is volatile, after all.
11581
11582         * docs/design/part-gstghostpad.txt: Flesh out activation with
11583         ghost pads.
11584
11585         * gst/base/gstbasesrc.c (gst_base_src_init): Use
11586         GST_DEBUG_FUNCPTR.
11587
11588 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11589
11590         * configure.ac:
11591           Fix (unused) AM_CONDITIONAL tests.
11592
11593 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
11594
11595         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11596
11597         * gst/gstutils.c: (gst_pad_query_convert):
11598           Add assertion that makes sure src_val is >=0, just like
11599           gst_query_new_convert() has. (#315895)
11600
11601 2005-09-30  Edward Hervey  <edward@fluendo.com>
11602
11603         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
11604         Let's not iterate pads we're not interested in, it avoids getting 
11605         sky-high refcounts on sinkpad.
11606
11607 2005-09-30  Wim Taymans  <wim@fluendo.com>
11608
11609         * gst/gstelement.c: (gst_element_set_state),
11610         (gst_element_change_state):
11611         Small tweak, element in ASYNC remains ASYNC.
11612
11613 2005-09-30  Wim Taymans  <wim@fluendo.com>
11614
11615         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11616         Only error is an error.
11617
11618         * gst/gstbin.c: (gst_bin_change_state):
11619         Better debugging.
11620
11621         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
11622         Also call pad_block in pad alloc.
11623
11624         * gst/gstutils.c: (gst_flow_get_name):
11625         Better debugging.
11626
11627 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11628
11629         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11630         (gst_base_src_get_range):
11631           Fix documentation typos. Add some more debug info.
11632
11633 2005-09-29  David Schleef  <ds@schleef.org>
11634
11635         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
11636           more end-user friendly.
11637         * tools/gst-inspect.c: (main): Check if command-line argument is
11638           a file and attempt to load that file as a plugin.
11639
11640 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11641
11642         * check/gst/gstbin.c:
11643         * check/states/sinks.c:
11644           fix tests for the new warning
11645         * check/gst/gstpipeline.c:
11646           add a test for pipeline and bus interaction
11647         * gst/gstelement.c:
11648           elements should be NULL if they get disposed; add a warning if not
11649
11650 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11651
11652         * gst/gstobject.c:
11653           for 2.6 refcounting, make debug log more correct by printing
11654           the actual refcounts at the time of swap (Wim)
11655
11656 2005-09-29  Andy Wingo  <wingo@pobox.com>
11657
11658         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
11659         removes signal watches previously added via
11660         gst_bus_add_signal_watch.
11661         (gst_bus_add_signal_watch): Don't return the source id, just store
11662         it on the bus if there wasn't an id already.
11663
11664         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
11665         add_signal_watch and remove_signal_watch.
11666
11667 2005-09-29  Edward Hervey  <edward@fluendo.com>
11668
11669         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
11670         Better if we actually iterate the list :)
11671
11672 2005-09-29  Wim Taymans  <wim@fluendo.com>
11673
11674         * check/gst/gstbin.c: (GST_START_TEST):
11675         Change for new bus API.
11676
11677         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11678         (send_messages), (GST_START_TEST), (gstbus_suite):
11679         Change for new bus signal API.
11680
11681         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
11682         (gst_bus_source_prepare), (gst_bus_source_check),
11683         (gst_bus_create_watch), (gst_bus_add_watch_full),
11684         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
11685         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
11686         * gst/gstbus.h:
11687         Remove support for multiple GSources operating on different
11688         message types as it is too complex and unneeded when using
11689         signals.
11690         Added support for receiving signals from the bus.
11691
11692 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11693
11694         * docs/libs/tmpl/gstdataprotocol.sgml:
11695         * docs/manual/advanced-dataaccess.xml:
11696         * gst/elements/gstcapsfilter.c:
11697         * gst/gstutils.c:
11698           rename filter-caps to caps property
11699
11700 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11701
11702         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11703           More robust fraction string parsing.
11704
11705         * docs/pwg/appendix-porting.xml:
11706           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
11707
11708 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11709
11710         * gst/gstcaps.c: (gst_caps_do_simplify):
11711           Thou shalt not free a structure and then continue using it
11712           in the next loop iteration.
11713
11714         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
11715         (gst_caps_suite):
11716           Add test case for caps simplification.
11717
11718 2005-09-29  Wim Taymans  <wim@fluendo.com>
11719
11720         * check/gst/gstbin.c: (GST_START_TEST):
11721         Oops.
11722
11723 2005-09-29  Wim Taymans  <wim@fluendo.com>
11724
11725         * check/gst/gstbin.c: (GST_START_TEST):
11726         Add bus to bin.
11727
11728         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
11729         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11730         (find_element), (gst_bin_sort_iterator_next),
11731         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11732         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11733         (gst_bin_change_state), (gst_bin_dispose):
11734         A bin does not have a bus, it gets the bus from the parent.
11735
11736         * gst/gstelement.c: (gst_element_requires_clock),
11737         (gst_element_provides_clock), (gst_element_is_indexable),
11738         (gst_element_is_locked_state), (gst_element_change_state),
11739         (gst_element_set_bus_func):
11740         Small cleanups.
11741
11742         * gst/gstpipeline.c: (gst_pipeline_class_init),
11743         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
11744         The pipeline provides a bus.
11745
11746 2005-09-28  Johan Dahlin  <johan@gnome.org>
11747
11748         * gst/gstmessage.c (gst_message_parse_state_changed): Use
11749         gst_structure_get_enum instead of gst_structure_get_int
11750
11751         * gst/gststructure.c (gst_structure_get_enum): Impl.
11752
11753         * gst/gststructure.h (gst_structure_get_enum): Add
11754
11755         * docs/gst/gstreamer-sections.txt: Ditto
11756
11757         * gst/gstmessage.c (gst_message_new_state_changed): Use
11758         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
11759         which does introspection.
11760         Reviewed by Christian Schaller
11761
11762 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11763
11764         * gst/gstinfo.c: (gst_debug_log_default):
11765           don't do dummy g_strdup()s
11766         * libs/gst/controller/gstcontroller.c:
11767         (on_object_controlled_property_changed),
11768         (gst_controlled_property_new), (gst_controller_new_valist),
11769         (gst_controller_new_list),
11770         (gst_controller_remove_properties_valist), (gst_controller_set),
11771         (gst_controller_get), (gst_controller_sync_values),
11772         (gst_controller_get_value_array), (_gst_controller_class_init),
11773         (gst_controller_get_type):
11774         * libs/gst/controller/gstcontroller.h:
11775         * libs/gst/controller/gstinterpolation.c:
11776         (gst_controlled_property_find_timed_value_node):
11777           convert // to /**/ comments
11778
11779 2005-09-28  Wim Taymans  <wim@fluendo.com>
11780
11781         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
11782         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
11783         (gst_bus_sync_signal_handler):
11784         * gst/gstbus.h:
11785         Added async-message and sync-message signals to the bus.
11786         Added helper BusFunc to emit signals for all posted messages.
11787
11788         * gst/gstmessage.c: (gst_message_type_get_name),
11789         (gst_message_type_to_quark), (gst_message_get_type):
11790         * gst/gstmessage.h:
11791         Register quarks for message names.
11792
11793 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11794
11795         * docs/libs/gstreamer-libs-sections.txt:
11796         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11797         (gst_controller_new_list):
11798         * libs/gst/controller/gstcontroller.h:
11799           added another constructor for language bindings
11800
11801 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11802
11803         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11804           add another check
11805         * gst/gstbus.c:
11806           add some doc
11807         * gst/gstinfo.c: (_gst_debug_init):
11808           slightly more readable color for refcount debugging
11809
11810 2005-09-28  Wim Taymans  <wim@fluendo.com>
11811
11812         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11813         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11814         (find_element), (gst_bin_sort_iterator_next),
11815         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11816         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11817         (gst_bin_change_state), (gst_bin_dispose):
11818         Small doc fixes. get_clock -> provide_clock.
11819
11820         * gst/gstelement.c: (gst_element_class_init),
11821         (gst_element_provides_clock), (gst_element_provide_clock),
11822         (gst_element_get_clock), (gst_element_commit_state),
11823         (gst_element_lost_state):
11824         * gst/gstelement.h:
11825         Make get/set_clock() symetric. Add provide_clock vmethod since
11826         that is actually what this function does.
11827
11828         * gst/gstpipeline.c: (gst_pipeline_class_init),
11829         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
11830         (gst_pipeline_get_clock):
11831         get_clock -> provide_clock.
11832
11833 2005-09-28  Andy Wingo  <wingo@pobox.com>
11834
11835         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
11836         lieu of real docs...
11837
11838         * gst/elements/gstfdsrc.c: Cleaned up a bit.
11839
11840 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
11841
11842         * gst/elements/gstcapsfilter.c:
11843         * gst/elements/gstfakesink.c:
11844         * gst/elements/gstfakesrc.c:
11845         * gst/elements/gstfdsink.c:
11846         * gst/elements/gstfdsrc.c:
11847         * gst/elements/gstfilesink.c:
11848         * gst/elements/gstfilesrc.c:
11849         * gst/elements/gstidentity.c:
11850         * gst/elements/gsttee.c:
11851         * gst/elements/gsttypefindelement.c:
11852           Make element details static.
11853
11854 2005-09-28  Wim Taymans  <wim@fluendo.com>
11855
11856         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11857         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11858         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11859         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11860         (gst_bin_change_state), (gst_bin_dispose):
11861         Some documentation updates.
11862         Clean up dispose handlers.
11863
11864         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
11865         * gst/gstpad.c: (gst_pad_dispose):
11866         Clean up dispose handler.
11867
11868         * gst/gstpipeline.c: (gst_pipeline_change_state):
11869         Removed spurious UNLOCK.
11870
11871 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
11872
11873         * docs/gst/gstreamer-sections.txt:
11874         * gst/base/gstbasesrc.h:
11875         * gst/gstelement.h:
11876         * gst/gstevent.h:
11877         * gst/gstobject.h:
11878         * gst/gstpad.h:
11879         * gst/gstpipeline.c:
11880         * gst/gstpipeline.h:
11881         * gst/gstutils.h:
11882         * gst/gstxml.h:
11883           added two new functions to the docs
11884                 documents all undocumented GstXXXFlags
11885                 completed some incomplete docs 
11886
11887 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11888
11889         * gst/gstbin.c: (gst_bin_dispose):
11890         * gst/gstelement.c: (gst_element_dispose):
11891           remove now useless and leaky resurrection code in dispose
11892         * gst/base/gstbasesrc.c: (gst_base_src_init):
11893         * gst/gstelementfactory.c: (gst_element_factory_create):
11894         * gst/gstobject.c: (gst_object_set_parent):
11895           add some debugging
11896
11897 2005-09-27  Wim Taymans  <wim@fluendo.com>
11898
11899         * docs/design/part-TODO.txt:
11900         Update TODO.
11901
11902         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11903         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11904         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11905         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11906         (gst_bin_change_state):
11907         * gst/gstelement.h:
11908         Remove element variable, we keep element info in the iterator now.
11909
11910 2005-09-27  Andy Wingo  <wingo@pobox.com>
11911
11912         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
11913         values.
11914
11915 2005-09-27  Wim Taymans  <wim@fluendo.com>
11916
11917         * check/gst/gstbin.c: (GST_START_TEST):
11918         Enable check that works now.
11919
11920         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11921         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11922         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11923         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11924         (gst_bin_change_state):
11925         * gst/gstbin.h:
11926         Redid the state change algorithm using a topological sort algo.
11927         Handles all cases correctly.
11928         Exposed iterator for state change order.
11929
11930         * gst/gstelement.h:
11931         Temp storage for state changes. Need to get rid of this soon.
11932
11933 2005-09-27  Wim Taymans  <wim@fluendo.com>
11934
11935         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
11936         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
11937         (link_fold_func), (gst_pad_proxy_setcaps):
11938         Leak fixes, the fold functions need to unref the passed object and
11939         _get_parent_*() returns ref to parent.
11940
11941 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11942
11943         * check/gst/gstbuffer.c: (test_make_writable):
11944           Plug leak in test case and fix 'make check-valgrind'
11945
11946 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11947
11948         * gst/gstbuffer.c: (gst_subbuffer_init):
11949           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
11950           works correctly in all circumstances (we could have just copied
11951           the parent buffer's readonly flag, but conceptually it seems
11952           cleaner to mark all subbuffers as read-only). (based on patch
11953           by Alessandro Decina, #314710).
11954         
11955         * check/gst/gstbuffer.c: (create_read_only_buffer),
11956         (test_make_writable), (test_subbuffer_make_writable),
11957         (gst_test_suite):
11958           Add some tests for gst_buffer_make_writable().
11959
11960 2005-09-27  Wim Taymans  <wim@fluendo.com>
11961
11962         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
11963         use gst_object_has_ancestor().
11964
11965         * gst/gstobject.c: (gst_object_has_ancestor):
11966         * gst/gstobject.h:
11967         gst_object_has_ancestor() copied from gstbin.c as it is a
11968         usefull function.
11969
11970         * tests/instantiate/create.c: (create_all_elements):
11971         * tests/lat.c: (handoff_src), (handoff_sink):
11972         * tests/sched/runxml.c: (main):
11973         * tests/seeking/seeking1.c: (main):
11974         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11975         (main):
11976         Fix compilation of some tests.
11977
11978 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11979
11980         * gst/gsterror.h:
11981           Remove comment. GST_TYPE_G_ERROR is here to stay,
11982           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
11983           (#316961, #300610).
11984
11985 2005-09-26  Wim Taymans  <wim@fluendo.com>
11986
11987         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11988         Added check that shows error in state change order.
11989
11990 2005-09-26  Wim Taymans  <wim@fluendo.com>
11991
11992         * gst/gstbin.c: (gst_bin_change_state):
11993         Make state change function use 3 queues again, we were
11994         adding elements in the wrong order.
11995
11996         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11997         Some debug info,
11998
11999         * gst/gstpad.c: (gst_pad_dispose):
12000         Added some debug info first.
12001
12002 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12003
12004         * docs/design/draft-push-pull.txt:
12005         * docs/design/part-events.txt:
12006         * docs/design/part-overview.txt:
12007         * docs/design/part-scheduling.txt:
12008           Replace all _pull_region() with _pull_range()
12009           
12010 2005-09-26  Andy Wingo  <wingo@pobox.com>
12011
12012         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12013
12014         * check/gst-libs/controller.c: Update for controller api change.
12015
12016         * configure.ac: 
12017         * tests/Makefile.am:
12018         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12019         over by GLib bug 118439.
12020         
12021         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12022         routines to a function.
12023
12024         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12025
12026         * libs/gst/controller/gsthelper.c:
12027         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12028         (gst_object_sync_values): Renamed from sink_values. Ugh.
12029
12030         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12031
12032         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12033         Renamed from controller_key, as it is exported.
12034
12035         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12036
12037 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12038
12039         * gst/Makefile.am:
12040         * gst/gst.h:
12041         * gst/gstpad.h:
12042         * gst/gstpadtemplate.h:
12043         * gst/gstquery.c:
12044         * gst/gstquery.h:
12045         * gst/gstqueryutils.c:
12046         * gst/gstqueryutils.h:
12047           remove queryutils headers after moving the two used functions
12048           to gstquery.  also fixes build problem for gstsiddec
12049
12050 2005-09-26  Michael Smith <msmith@fluendo.com>
12051
12052         * tools/gst-launch.1.in:
12053         Correct documentation in manpage of debug syntax
12054
12055 2005-09-26  Wim Taymans  <wim@fluendo.com>
12056
12057         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12058         (gst_base_src_is_seekable), (gst_base_src_change_state):
12059         Some more debugging info.
12060
12061 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12062
12063         * docs/gst/gstreamer-sections.txt:
12064         * gst/base/gstbasetransform.h:
12065         * gst/gstindex.h:
12066           added more docs
12067
12068 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12069
12070         * docs/gst/.cvsignore:
12071         * docs/gst/tmpl/.cvsignore:
12072         * docs/gst/tmpl/gstpipeline.sgml:
12073         * docs/gst/tmpl/gstplugin.sgml:
12074         * gst/gstpipeline.c:
12075         * gst/gstplugin.c:
12076         * gst/gstplugin.h:
12077           inlined the last two docs files
12078           removed the tmpl directory from cvs (no more conflicts here!)
12079
12080 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12081
12082         * docs/gst/gstreamer-sections.txt:
12083         * docs/gst/tmpl/.cvsignore:
12084         * docs/gst/tmpl/gstpad.sgml:
12085         * docs/gst/tmpl/gstpadtemplate.sgml:
12086         * gst/Makefile.am:
12087         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12088         (gst_pad_finalize), (gst_pad_set_pad_template):
12089         * gst/gstpad.h:
12090         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12091         (gst_pad_template_class_init), (gst_pad_template_init),
12092         (gst_pad_template_dispose), (name_is_valid),
12093         (gst_static_pad_template_get), (gst_pad_template_new),
12094         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12095         (gst_pad_template_pad_created):
12096         * gst/gstpadtemplate.h:
12097           inlined two more docs
12098           factored gstpadtemplate out of gstpad
12099
12100 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12101
12102         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12103         (test_children_state_change_order_semi_sink):
12104           Fix test case: we can't rely on a fixed state change order when
12105           going from READY => PAUSED because the sink might commit its 
12106           new state first when the first buffer created by the source 
12107           reaches the sink before the source has finished its change state.
12108           (Test case still fails at times, see #316856, comment 5 onwards)
12109
12110 2005-09-24  Wim Taymans  <wim@fluendo.com>
12111
12112         * docs/design/part-events.txt:
12113         * docs/design/part-gstbus.txt:
12114         * docs/design/part-gstpipeline.txt:
12115         * docs/design/part-messages.txt:
12116         * docs/design/part-overview.txt:
12117         * docs/design/part-segments.txt:
12118         * gst/gstbin.c:
12119         * gst/gstbuffer.c:
12120         * gst/gstclock.c:
12121         * gst/gstelement.c:
12122         * gst/gstevent.c:
12123         * gst/gstfilter.c:
12124         * gst/gstiterator.c:
12125         Various documentation updates.
12126
12127 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12128
12129         * gst/gstclock.h:
12130           Well, that's embarassing.  Luckily we weren't using
12131           GST_CLOCK_DIFF anywhere.
12132
12133 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12134
12135         * common/gtk-doc.mak:
12136           don't fail on building XML, FC4 slave shows a bunch of doc
12137           missing bits that I don't get
12138         * gst/gstpad.c:
12139         * gst/gstpipeline.c:
12140         * gst/gststructure.c:
12141           some doc updates
12142
12143 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12144
12145         * docs/design/part-gstbin.txt:
12146         * docs/design/part-gstbus.txt:
12147         * gst/gstbus.c:
12148           Add blurb about how the bus goes into flushing mode and
12149           drops all messages when its bin goes from READY into NULL 
12150           state.
12151
12152 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12153
12154         * docs/gst/gstreamer-sections.txt:
12155         * gst/gststructure.c: (gst_structure_get_clock_time):
12156         * gst/gststructure.h:
12157           add a method to get a GstClockTime out of a structure
12158
12159 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12160
12161         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12162         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12163           Added test to check state change order in bins (can still be made
12164           to fail here under heavy disk load; bails out with 'Push on pad
12165           fakesink:sink0, but it was not activated in push mode').
12166
12167         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12168           Fix state change order when there is only a semi sink (#316856)
12169
12170         * gst/gstbus.c: (gst_bus_class_init):
12171           Use _class_peek_parent(), not _class_ref(); fix docs to say
12172           'default main context' instead of 'mainloop' where that is
12173           what's meant.
12174
12175         * gst/gstelement.c: (gst_element_commit_state),
12176         (gst_element_set_state):
12177           Fix typos in debug messages
12178
12179 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12180
12181         * docs/README:
12182         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12183         * gst/gstpluginfeature.c:
12184         * gst/gstutils.c:
12185           various doc updates
12186         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12187           change an assert into an error until it gets fixed properly
12188
12189 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12190
12191         * docs/gst/gstreamer-sections.txt:
12192         * docs/gst/tmpl/.cvsignore:
12193         * docs/gst/tmpl/gstelement.sgml:
12194         * docs/gst/tmpl/gstinfo.sgml:
12195         * docs/gst/tmpl/gstobject.sgml:
12196         * gst/gstelement.c:
12197         * gst/gstelement.h:
12198         * gst/gstinfo.c:
12199         * gst/gstinfo.h:
12200         * gst/gstobject.c: (gst_object_class_init):
12201         * gst/gstobject.h:
12202           inlined 3 more biiiig doc files and added some missing docs on the fly
12203
12204 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12205
12206         * check/gst/.cvsignore:
12207         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12208         * gst/gstregistryxml.c: (load_plugin),
12209         (gst_registry_xml_save_plugin):
12210           put back source in registry.  add checks for find_plugin.
12211         * testsuite/states/bin.c: (assert_state), (empty_bin),
12212         (test_adding_one_element), (main):
12213         * testsuite/states/locked.c: (main):
12214           some compile/run fixes
12215
12216 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12217
12218         * check/gst/gstvalue.c: (GST_START_TEST):
12219           fix leaks in the test itself
12220
12221 2005-09-22  Wim Taymans  <wim@fluendo.com>
12222
12223         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12224         (gst_base_sink_send_event), (gst_base_sink_peer_query),
12225         (gst_base_sink_query):
12226         Prepare for more accurate position reporting and query
12227         handling.
12228
12229         * gst/gstelement.c: (gst_element_send_event),
12230         (gst_element_set_state):
12231         Add some comment.
12232
12233 2005-09-22  Wim Taymans  <wim@fluendo.com>
12234
12235         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12236         (gst_query_parse_segment):
12237         * gst/gstquery.h:
12238         More documentation.
12239         Add segment query for future use.
12240
12241 2005-09-22  Wim Taymans  <wim@fluendo.com>
12242
12243         * gst/gstbin.c: (gst_bin_add_func):
12244         Some more debug info.
12245
12246         * gst/gstelement.c: (gst_element_send_event):
12247         Simplify send_event
12248
12249         * gst/gstelement.h:
12250         Don't know how flags got broken.
12251
12252         * gst/gstquery.h:
12253         Added new query.
12254
12255 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12256
12257         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
12258           Add simplistic test suite for GST_TYPE_DATE serialisation and
12259           deserialisation.
12260
12261 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12262
12263         * docs/gst/gstreamer-sections.txt:
12264         * gst/gststructure.c: (gst_structure_set_valist),
12265         (gst_structure_get_date):
12266         * gst/gststructure.h:
12267         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
12268         (gst_date_copy), (gst_value_compare_date),
12269         (gst_value_serialize_date), (gst_value_deserialize_date),
12270         (gst_value_transform_date_string),
12271         (gst_value_transform_string_date), (_gst_value_initialize):
12272         * gst/gstvalue.h:
12273           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
12274           bunch of utility functions along with a hack that checks that
12275           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
12276           is required. Part of the grand scheme in #170777.
12277
12278 2005-09-22  Andy Wingo  <wingo@pobox.com>
12279
12280         * gst/gstconfig.h.in: Psych out gtk-doc.
12281
12282         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
12283
12284         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
12285
12286         * tools/gst-inspect.c (print_element_list): Plug some
12287         inconsequential leaks.
12288
12289         * gst/gstregistry.c (gst_registry_get_default): Doc.
12290
12291         * check/gst/gstplugin.c: 
12292         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
12293         * gst/gstelementfactory.c (gst_element_factory_create): 
12294         * gst/gstindexfactory.c (gst_index_factory_create): Update for
12295         refcount changes.
12296
12297         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
12298         (gst_plugin_feature_load): Doc, don't eat refs.
12299
12300         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
12301         (gst_plugin_list_free): Doc.
12302         (gst_plugin_load_file): Doc updates.
12303
12304         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
12305         accessors returning refcounted objects, return a ref.
12306
12307         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
12308         accessor for caps. IDEMPOTENCE. Oh yes.
12309
12310 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
12311
12312         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12313
12314         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12315         (_gst_debug_register_funcptr):
12316           Add mutex to serialise access to the hash table with
12317           the function pointer => function name string mapping;
12318           make that hash table static scope (#316809).
12319
12320         * gst/registries/.cvsignore:
12321           Remove left-over file.
12322
12323 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12324
12325         * docs/pwg/appendix-porting.xml:
12326           And something about newsegment events and caps-on-buffers to
12327           the porting guide (feel free to improve).
12328
12329 2005-09-21  Andy Wingo  <wingo@pobox.com>
12330
12331         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
12332         data and event probes on the same pad.
12333         (test_buffer_probe_once): Test that removing probes from within
12334         the probe functions works.
12335
12336 2005-09-21  Andy Wingo  <wingo@pobox.com>
12337
12338         * check/gst/gstutils.c: New file.
12339         (test_buffer_probe_n_times): A simple buffer probe test. More to
12340         come, foolios.
12341
12342         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
12343         have-data::buffer, not have-data.
12344         (gst_pad_add_event_probe): Likewise for have-data::event.
12345         (gst_pad_add_data_probe): More docs. The part about 'resolving the
12346         peer' isn't quite right yet though.
12347         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
12348         (gst_pad_remove_data_probe): Change to take the guint handler_id
12349         as their arg, not the function+data, which is more glib-like.
12350
12351         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
12352         the signal emission to indicate if the data is a buffer or an
12353         event.
12354         (gst_pad_get_type): Initialize buffer and event quarks.
12355         (gst_pad_class_init): have-data is now a detailed signal, yes it
12356         is.
12357
12358 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12359
12360         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12361         * gst/gstutils.c: (gst_util_set_value_from_string),
12362         (gst_util_set_object_arg):
12363           Don't put functional code in g_return_if_fail() or
12364           g_return_val_if_fail() statements, otherwise things will 
12365           break when G_DISABLE_CHECKS is defined during compilation.
12366
12367 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12368
12369         * docs/gst/tmpl/.cvsignore:
12370         * docs/gst/tmpl/gstvalue.sgml:
12371         * gst/gstvalue.c:
12372         * gst/gstvalue.h:
12373           inlied another one and added  some obvious docs
12374
12375 2005-09-21  Wim Taymans  <wim@fluendo.com>
12376
12377         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12378         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
12379         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
12380         (gst_fdsrc_get_property), (gst_fdsrc_create):
12381         * gst/elements/gstfdsrc.h:
12382         Properly implement fdsrc. Removed signal and timeout,
12383         better implemented somewhere else.
12384
12385 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12386
12387         * docs/gst/tmpl/.cvsignore:
12388         * docs/gst/tmpl/gstimplementsinterface.sgml:
12389         * gst/gstinterface.c:
12390           inlined more docs
12391
12392 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12393
12394         * docs/gst/gstreamer-sections.txt:
12395         * docs/gst/tmpl/.cvsignore:
12396         * docs/gst/tmpl/gstenumtypes.sgml:
12397           remove obsolete doc file
12398
12399 2005-09-21  David Schleef  <ds@schleef.org>
12400
12401         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
12402         little beer, fix a little leak.
12403
12404 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12405
12406         * docs/gst/gstreamer-docs.sgml:
12407         * docs/gst/gstreamer-sections.txt:
12408         * docs/gst/tmpl/.cvsignore:
12409         * gst/Makefile.am:
12410         * gst/gst.h:
12411         * gst/gstbin.c:
12412         * gst/gstelement.h:
12413         * gst/gstindex.c: (gst_index_class_init):
12414         * gst/gstindex.h:
12415         * gst/gstindexfactory.c: (gst_index_factory_get_type),
12416         (gst_index_factory_class_init), (gst_index_factory_init),
12417         (gst_index_factory_finalize), (gst_index_factory_new),
12418         (gst_index_factory_destroy), (gst_index_factory_find),
12419         (gst_index_factory_create), (gst_index_factory_make):
12420         * gst/gstindexfactory.h:
12421         * gst/gstpluginfeature.c:
12422         * gst/gstpluginfeature.h:
12423         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12424           more docs inlined, splitted gstindex.{c,h}
12425
12426 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12427
12428         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12429           fix a leak
12430
12431 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12432
12433         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12434           Set sync to FALSE by default.
12435
12436 2005-09-20  Wim Taymans  <wim@fluendo.com>
12437
12438         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12439         (gst_base_sink_init):
12440         Make sync property settable from subclass.
12441
12442         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12443         (gst_fake_sink_change_state):
12444         Set sync to FALSE by default.
12445
12446 2005-09-20  Wim Taymans  <wim@fluendo.com>
12447
12448         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
12449         * tools/gst-launch.c: (main):
12450         The timeout handler should have lower priority than the source
12451         so we don't timeout before popping a message with 0 timeout.
12452         Dump error messages after failed state change.
12453
12454 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12455
12456         * tools/gst-inspect.c: (print_element_properties_info):
12457           Fix two typos.
12458
12459 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12460
12461         * check/gst/gstevent.c:
12462         * gst/elements/gstfakesink.c:
12463         * gst/elements/gstfakesink.h:
12464           remove the sync property from fakesink.
12465           has the side effect of setting sync TRUE
12466           for fakesink, which is a change.  Anyone who knows how
12467           to fix this nicely in a GObject-y way, feel free.
12468
12469 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12470
12471         * docs/gst/gstreamer-docs.sgml:
12472           remove probe refsection
12473
12474 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12475
12476         * check/Makefile.am:
12477           disable valgrinding the controller test again
12478         * docs/gst/gstreamer-sections.txt:
12479           update for api-changes
12480
12481 2005-09-20  Wim Taymans  <wim@fluendo.com>
12482
12483         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12484         (gst_base_sink_set_property), (gst_base_sink_get_property),
12485         (gst_base_sink_do_sync):
12486         * gst/base/gstbasesink.h:
12487         Added sync property to basesink to disable clock sync.
12488
12489 2005-09-20  Andy Wingo  <wingo@pobox.com>
12490
12491         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
12492         eating the caller's refcount.
12493
12494         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
12495         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
12496         refcount.
12497
12498         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
12499         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
12500         of GLib 2.8 public, so we can know which refcount to check in
12501         tests.
12502
12503         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
12504         (gst_object_init): Only set the gst refcount if we're going ahead
12505         with the refcount hack.
12506
12507 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12508
12509         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12510         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12511           more leaks plumbed, added more debug-logging
12512         * gst/gstmacros.h:
12513           whitespace fix
12514
12515 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12516
12517         * gst/gstmessage.c:
12518           remove include of gstmemchunk.h
12519
12520 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12521
12522         * gst/gstclock.c: (_gst_clock_id_free):
12523           Commit from the Political Party For More Atomic CVS Commits,
12524           so that people don't waste too much of their day fishing
12525           out obvious leaks out of massive commits.
12526           Oh, and fix a pretty damn obvious leak in the memchunk
12527           removal code.
12528
12529 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12530
12531         * check/Makefile.am:
12532         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12533           plug mem-leak, re-add to valgrindable tests
12534
12535 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12536
12537         * gst/gstplugin.h:
12538           unbreak the build for those who have chronic arthritis
12539           and typing "make check" is just too taxing on the hands
12540
12541 2005-09-20  Andy Wingo  <wingo@pobox.com>
12542
12543         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
12544         really want it out, you should fix plugins at the same time.
12545
12546 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
12547
12548         * configure.ac:
12549         * docs/gst/gstreamer-sections.txt:
12550         * gst/gstobject.c:
12551           added missing symbols to api docs
12552           disable ref-count hack if we have glib >= 2.8
12553
12554 2005-09-19  David Schleef  <ds@schleef.org>
12555
12556         * docs/gst/Makefile.am: Ignore a few more internal headers
12557         * docs/gst/gstreamer-docs.sgml: Remove old sections
12558         * docs/gst/gstreamer-sections.txt: Remove old sections
12559         * docs/gst/tmpl/gstobject.sgml: update
12560         * docs/gst/tmpl/gstplugin.sgml: update
12561         * docs/gst/tmpl/gstpluginfeature.sgml: update
12562         * docs/random/ds/0.9-suggested-changes: update.
12563         * gst/Makefile.am: remove memchunk and trashstack, since they're
12564           not used.
12565         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
12566         * gst/gst.h: don't include some headers
12567         * gst/gstchildproxy.c: add gstmarshal.h
12568         * gst/gstclock.c: Don't use memchunks
12569         * gst/gstminiobject.c: Add some docs
12570         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
12571         * gst/gstobject.h: same
12572         * gst/gstplugin.c: include gstmacros.h
12573         * gst/gstplugin.h: don't include gstmacros.h, since it's private
12574         * gst/gstquery.c: don't use memchunks
12575         * gst/gstregistry.c: rename gst_registry_deinit()
12576         * gst/gstregistry.h: same
12577
12578 2005-09-19  David Schleef  <ds@schleef.org>
12579
12580         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
12581         * docs/libs/gstreamer-libs-sections.txt:
12582         * docs/libs/tmpl/gstgetbits.sgml:
12583         * docs/libs/tmpl/gstputbits.sgml:
12584
12585 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
12586
12587         * win32/gstenumtypes.c:
12588         * win32/gstenumtypes.h:
12589           Update.
12590
12591 2005-09-19  Wim Taymans  <wim@fluendo.com>
12592
12593         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
12594         Automatically PAUSE and RESUME a pipeline when a flushing seek
12595         is performed.
12596
12597 2005-09-19  Andy Wingo  <wingo@pobox.com>
12598
12599         * gst/gstregistry.h: Spacing fixen.
12600
12601 2005-09-19  Wim Taymans  <wim@fluendo.com>
12602
12603         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
12604         Handle state change failure more correctly.
12605
12606 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12607
12608         * check/Makefile.am:
12609         * check/pipelines/cleanup.c: (run_pipeline):
12610         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12611         (GST_START_TEST):
12612           enable cleanup again after fixing the leak
12613         * docs/README:
12614           some more info on docs
12615
12616 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12617
12618         * check/Makefile.am:
12619           re-enable tests now that leaks are plugged
12620         * check/gst/gst.c:
12621         * check/gst/gstbin.c:
12622         * check/gst/gstpipeline.c:
12623           add some more tests while fixing leaks
12624         * common/check.mak:
12625           make sure binaries are uptodate when valgrinding/gdbing
12626         * gst/gst.c:
12627         * gst/gstelementfactory.c:
12628           remove a ref too many, and add a FIXME for when we get
12629           round to disposing of classes
12630         * gst/gstplugin.c:
12631           fix the refcounting when loading a plugin from a file and
12632           the code pretends that the pointer is the same even though
12633           of course it can change
12634         * gst/gstpluginfeature.c:
12635           unref plugins marked cached (a bit confusing as a name)
12636           as the docs state should be done
12637           various doc additions to explain refcounting
12638         * gst/gstregistry.c:
12639         * gst/gstregistryxml.c:
12640           debugging
12641
12642 2005-09-19  Wim Taymans  <wim@fluendo.com>
12643
12644         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12645         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12646         (send_messages), (GST_START_TEST), (gstbus_suite):
12647         * check/gst/gstpipeline.c: (GST_START_TEST):
12648         * check/pipelines/cleanup.c: (run_pipeline):
12649         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12650         (GST_START_TEST):
12651         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
12652         (gst_bus_source_check), (gst_bus_source_dispatch),
12653         (gst_bus_create_watch), (gst_bus_add_watch_full),
12654         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
12655         * gst/gstbus.h:
12656         * tools/gst-launch.c: (event_loop):
12657         * tools/gst-md5sum.c: (event_loop):
12658         GstBusHandler -> GstBusFunc, return value has the same meaning as
12659         any other GSource (FALSE == remove source).
12660         _add_watch() and _add_watch_full() now take a MessageType mask to
12661         only handle specific types of messages.
12662         _poll() returns the GstMessage instead of the message type to avoid
12663         race conditions.
12664         _have_pending() takes a MessageType mask now too.
12665         Added testsuite for multiple bus watches.
12666         Fix testsuites and applications for new bus API.
12667
12668 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12669
12670         * check/Makefile.am:
12671           mark a bunch of the tests as to fix until we fix them
12672
12673 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12674
12675         * common/check.mak:
12676           use GST_PLUGIN settings for valgrind tests as well, so we're
12677           valgrinding the correct thing
12678         * gst/gst.c: (init_post):
12679           plug another leak
12680
12681 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12682
12683         * gst/gst.c: (init_post), (gst_deinit):
12684         * gst/gstelementfactory.c: (gst_element_factory_class_init),
12685         (gst_element_factory_finalize), (gst_element_factory_cleanup):
12686         * gst/gstindex.c: (gst_index_factory_class_init),
12687         (gst_index_factory_finalize):
12688         * gst/gstobject.c: (gst_object_dispose):
12689         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12690         (gst_plugin_load_file), (gst_plugin_desc_free):
12691         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
12692         (gst_plugin_feature_finalize):
12693         * gst/gstregistry.c: (gst_registry_class_init),
12694         (gst_registry_init), (gst_registry_finalize),
12695         (gst_registry_get_default), (gst_registry_deinit):
12696         * gst/gstregistry.h:
12697         * gst/gstregistryxml.c: (load_feature), (load_plugin):
12698           various cleanups and memleak plugging.  make valgrind is happy now.
12699
12700 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12701
12702         * common/check.mak:
12703           add a check-valgrind target
12704
12705 2005-09-18  David Schleef  <ds@schleef.org>
12706
12707         * tools/gst-inspect.c: Revert the GOption code.
12708
12709 2005-09-17  David Schleef  <ds@schleef.org>
12710
12711         * check/Makefile.am: Fix environment variables.
12712         * check/gst/gstplugin.c: Fix for API changes.
12713         * tools/gst-inspect.c: Fix for API changes.
12714         * tools/gst-xmlinspect.c: Fix for API changes.
12715         * gst/gstelementfactory.c:
12716         * gst/gstplugin.c:
12717         * gst/gstplugin.h:
12718         * gst/gstpluginfeature.c:
12719         * gst/gstpluginfeature.h:
12720         * gst/gstregistry.c:
12721         * gst/gstregistry.h:
12722         * gst/gstregistryxml.c:
12723         * gst/gsttypefind.c:
12724         * gst/gsttypefindfactory.c:
12725         * gst/indexers/gstfileindex.c:
12726         * gst/indexers/gstmemindex.c:
12727         * gst/schedulers/Makefile.am:
12728           Change registry to keep track of both plugins and features,
12729           removing the feature tracking from plugins themselves.
12730
12731 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12732
12733         * check/Makefile.am:
12734         * tools/gst-register.1.in:
12735           remove gst-register
12736
12737 2005-09-15  David Schleef  <ds@schleef.org>
12738
12739         * check/gst/gstplugin.c:
12740         * gst/gstelementfactory.c:
12741         * gst/gstplugin.c:
12742         * gst/gstpluginfeature.c:
12743         * gst/gstregistry.c:
12744           Getting tired of debugging.  Disabled all the unreffing of
12745           plugins and features, which fixes the segfaults, but of
12746           course leaks like crazy.  At least playbin works.
12747
12748 2005-09-15  David Schleef  <ds@schleef.org>
12749
12750         * check/gst/gstplugin.c: (register_check_elements),
12751         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
12752         More testing
12753         * gst/elements/gsttypefindelement.c: Fix refcounting.
12754         * gst/gsttypefind.c:
12755         * gst/gsttypefindfactory.c:
12756         * gst/gsttypefindfactory.h:
12757
12758 2005-09-15  David Schleef  <ds@schleef.org>
12759
12760         * gst/gstindex.c: get refcounting correct.
12761         * gst/gstregistry.c: Handle the case where a feature/plugin is
12762           not found.
12763
12764 2005-09-15  David Schleef  <ds@schleef.org>
12765
12766         * check/Makefile.am:
12767         * check/gst/gstplugin.c: Add test
12768         * gst/gstplugin.c: Fix problems noticed by testsuite
12769         * gst/gstplugin.h:
12770         * gst/gstregistry.c: 
12771         * gst/gstregistry.h:
12772
12773 2005-09-15  David Schleef  <ds@schleef.org>
12774
12775         * gst/gstplugin.c: Implement semi-decent recounting and locking
12776           in plugins and plugin features.
12777         * gst/gstplugin.h:
12778         * gst/gstpluginfeature.c:
12779         * gst/gstpluginfeature.h:
12780         * gst/gstregistry.c:
12781
12782 2005-09-15  Michael Smith <msmith@fluendo.com>
12783
12784         * gst/gstregistry.c: (gst_registry_get_feature_list):
12785           Implement this. Makes oggdemux work; decodebin still broken.
12786
12787 2005-09-14  David Schleef  <ds@schleef.org>
12788
12789         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
12790           #316076)
12791         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
12792         * gst/check/Makefile.am:
12793         * libs/gst/controller/Makefile.am:
12794         * libs/gst/dataprotocol/Makefile.am:
12795
12796 2005-09-14  David Schleef  <ds@schleef.org>
12797
12798         * configure.ac: Remove getbits library.  Nothing uses it, and
12799           it should be in something like liboil if someone did want
12800           to use it.
12801         * libs/gst/Makefile.am:
12802         * libs/gst/getbits/Makefile.am:
12803         * libs/gst/getbits/gbtest.c:
12804         * libs/gst/getbits/getbits.c:
12805         * libs/gst/getbits/getbits.h:
12806         * libs/gst/getbits/gstgetbits_generic.c:
12807         * libs/gst/getbits/gstgetbits_i386.s:
12808         * libs/gst/getbits/gstgetbits_inl.h:
12809
12810 2005-09-14  David Schleef  <ds@schleef.org>
12811
12812         * gst/Makefile.am: Dist glib-compat.h
12813
12814 2005-09-14  David Schleef  <ds@schleef.org>
12815
12816         * configure.ac: Remove gst/registries, since it's no longer used.
12817         * gst/registries/Makefile.am:
12818         * gst/registries/gstlibxmlregistry.c:
12819         * gst/registries/gstlibxmlregistry.h:
12820         * gst/registries/gstxmlregistry.c:
12821         * gst/registries/gstxmlregistry.h:
12822         * gst/registries/registrytest.c:
12823
12824 2005-09-14  David Schleef  <ds@schleef.org>
12825
12826         * gst/glib-compat.h:
12827         * gst/gstregistryxml.c:
12828           Convergence is near.  Seriously.
12829
12830 2005-09-14  David Schleef  <ds@schleef.org>
12831
12832         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12833         * gst/glib-compat.h:
12834           Attempt #4 to appease the buildbots.
12835
12836 2005-09-14  David Schleef  <ds@schleef.org>
12837
12838         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12839           Attempt #3.
12840
12841 2005-09-14  David Schleef  <ds@schleef.org>
12842
12843         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12844         Attempt #2.
12845
12846 2005-09-14  David Schleef  <ds@schleef.org>
12847
12848         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
12849           the new functions.
12850
12851 2005-09-14  David Schleef  <ds@schleef.org>
12852
12853         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12854         * gst/glib-compat.h: Add some functions that are in newer versions
12855           of glib than we care to require.
12856         * gst/gstregistryxml.c: Use them.
12857
12858 2005-09-14  David Schleef  <ds@schleef.org>
12859
12860         * po/POTFILES.in: remove gst-register.c
12861
12862 2005-09-14  David Schleef  <ds@schleef.org>
12863
12864         * docs/gst/gstreamer-docs.sgml:
12865         * docs/gst/gstreamer-sections.txt:
12866         * docs/gst/gstreamer.types:
12867         * docs/gst/tmpl/gstelement.sgml:
12868         * docs/gst/tmpl/gstplugin.sgml:
12869         * docs/gst/tmpl/gstpluginfeature.sgml:
12870           Documentation updates for registry changes.
12871
12872 2005-09-14  David Schleef  <ds@schleef.org>
12873
12874         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
12875           because we don't require glib-2.8.
12876
12877 2005-09-14  David Schleef  <ds@schleef.org>
12878
12879         * gst/gstregistryxml.c: Added.  Essentially moved out of the
12880           registries directory.
12881
12882 2005-09-14  David Schleef  <ds@schleef.org>
12883
12884         * check/Makefile.am:
12885         * check/generic/states.c:
12886         * gst/Makefile.am:
12887         * gst/gst.c:
12888         * gst/gst.h:
12889         * gst/gst_private.h:
12890         * gst/gstelementfactory.c:
12891         * gst/gstindex.c:
12892         * gst/gstinfo.c:
12893         * gst/gstplugin.c:
12894         * gst/gstplugin.h:
12895         * gst/gstpluginfeature.c:
12896         * gst/gstpluginfeature.h:
12897         * gst/gstregistry.c:
12898         * gst/gstregistry.h:
12899         * gst/gstregistrypool.c: remove
12900         * gst/gstregistrypool.h: remove
12901         * gst/gsttypefind.c:
12902         * gst/gsttypefindfactory.c:
12903         * gst/gsturi.c:
12904         * tools/Makefile.am:
12905         * tools/gst-compprep.c:
12906         * tools/gst-inspect.c:
12907         * tools/gst-register.c: remove
12908         * tools/gst-xmlinspect.c:
12909           Registry rewrite.  Changes registry from being a file created
12910           by a tool into a simple cache file created automatically by 
12911           libgstreamer.  Removed gst-register (because it's no longer
12912           needed).  Remove registry pools, because we only have one
12913           registry implementation (XML).  Fix up other subsystems as
12914           necessary.
12915
12916 2005-09-13  Michael Smith <msmith@fluendo.com>
12917
12918         * gst/gstconfig.h.in:
12919           Don't Use windows linking attributes for MinGW. Fixes #316157
12920
12921 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12922
12923         * gst/gstutils.c: (set_state_async_thread_func),
12924         (gst_element_set_state_async):
12925           Apparently people think it's better if this function doesn't
12926           try to set the state to whatever state was asked for on the first
12927           call to this function for any object.  Seriously.
12928
12929 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12930
12931         * check/gst/gstpipeline.c: (GST_START_TEST):
12932         * docs/gst/gstreamer-sections.txt:
12933         * gst/gstutils.c: (set_state_async_thread_func),
12934         (gst_element_set_state_async):
12935         * gst/gstutils.h:
12936           add a "gst_element_set_state_async" method that
12937           sets the state and starts a thread to make sure the state
12938           change completes as best as it can
12939
12940 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12941
12942         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12943           codify design+behaviour in testsuite after discussion
12944
12945 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12946
12947         * docs/gst/tmpl/gstelement.sgml:
12948         * docs/manual/appendix-quotes.xml:
12949           add a quote
12950         * gst/gstelement.c: (gst_element_set_state):
12951           add some debug
12952
12953 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
12954
12955         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12956         (gst_base_transform_prepare_output_buf),
12957         (gst_base_transform_handle_buffer):
12958         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
12959         (gst_capsfilter_prepare_buf):
12960           Remove the requirement for sub-classes to call the parent
12961           implementation of prepare_output_buffer with a wrapper function.
12962           
12963         * gst/gsttaglist.h:
12964         * gst/gsttagsetter.h:
12965           Fix #define wrapper
12966
12967 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
12968
12969         * docs/gst/gstreamer-sections.txt:
12970           more doc cleanups
12971
12972 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12973
12974         * docs/gst/gstreamer-sections.txt:
12975         * docs/gst/tmpl/gstelement.sgml:
12976         * docs/gst/tmpl/gstplugin.sgml:
12977         * gst/gstminiobject.c:
12978         * gst/gstvalue.h:
12979           docs now stop throwing warnings
12980
12981 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12982
12983         * docs/gst/gstreamer-sections.txt:
12984         * docs/gst/gstreamer.types:
12985         * docs/gst/tmpl/gstpad.sgml:
12986         * docs/gst/tmpl/gsttypes.sgml:
12987         * gst/base/gstadapter.h:
12988         * gst/base/gstbasesink.h:
12989         * gst/base/gstbasesrc.h:
12990         * gst/gstbin.h:
12991         * gst/gstbuffer.h:
12992         * gst/gstbus.h:
12993         * gst/gstcaps.h:
12994         * gst/gstclock.h:
12995         * gst/gstelement.h:
12996         * gst/gstevent.h:
12997         * gst/gstmessage.h:
12998         * gst/gstpad.h:
12999         * gst/gststructure.c:
13000         * gst/registries/gstlibxmlregistry.h:
13001           various documentation fixes
13002
13003 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13004
13005         * docs/gst/gstreamer-sections.txt:
13006         * docs/gst/tmpl/gstvalue.sgml:
13007           rearrange gstvalue section
13008         * gst/gstutils.c: (gst_element_state_get_name):
13009           NONE -> VOID
13010         * gst/gstvalue.c: (_gst_value_initialize):
13011         * gst/gstvalue.h:
13012           doc updates
13013
13014 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13015
13016         * check/gst-libs/controller.c:
13017           Header include fix.
13018         * gst/base/gstbasetransform.c:
13019         (gst_base_transform_default_prepare_buf),
13020         (gst_base_transform_handle_buffer):
13021         * gst/base/gstbasetransform.h:
13022           Some more basetransform changes and fixes to enable sub-classes
13023           that modify buffer metadata only.
13024         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13025         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13026         (gst_capsfilter_prepare_buf):
13027           If the output pad has fixed allowed caps and input buffers 
13028           don't have any, set the fixed caps on outgoing buffers.
13029
13030 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13031         * check/elements/identity.c: (GST_START_TEST):
13032           Make the error a little clearer when the test fails because
13033           identity made a copy of the buffer.
13034         * docs/gst/gstreamer-sections.txt:
13035           New symbols in gstbasetransform.h
13036         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13037         (gst_base_transform_init), (gst_base_transform_transform_size),
13038         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13039         (gst_base_transform_default_prepare_buf),
13040         (gst_base_transform_get_unit_size),
13041         (gst_base_transform_buffer_alloc),
13042         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13043         (gst_base_transform_change_state),
13044         (gst_base_transform_set_passthrough),
13045         (gst_base_transform_set_in_place),
13046         (gst_base_transform_is_in_place):
13047         * gst/base/gstbasetransform.h:
13048           Change BaseTransform to separate in_place operate from same_caps
13049           output. in_place implies that the element can perform the transform
13050           on incoming buffers in-place, even if the caps on the output are
13051           different.
13052           Sub-class elements can now implement special buffer allocation
13053           methods for outgoing buffers if they wish to.
13054           Big documentation addition.
13055         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13056         * gst/elements/gstelements.c:
13057           Changes for basetransform modifications.
13058         * gst/elements/Makefile.am:
13059         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13060           Compile fix. Extra debug output.
13061
13062 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13063
13064         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13065         (gst_pad_suite):
13066           add tests for valid pad naming
13067         * gst/check/gstcheck.c: (gst_check_log_message_func),
13068         (gst_check_log_critical_func):
13069           add ASSERT_WARNING
13070           remove printing of code, it is fragile when the code contains
13071           % and the line number is enough info
13072         * gst/check/gstcheck.h:
13073         * gst/gstpad.c: (gst_pad_template_new):
13074           fix memleaks
13075
13076 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13077
13078         * configure.ac:
13079           say what CHECK flags we use
13080         * docs/libs/gstreamer-libs.types:
13081         * libs/gst/controller/Makefile.am:
13082         * libs/gst/controller/gst-controller.c:
13083         * libs/gst/controller/gst-controller.h:
13084         * libs/gst/controller/gst-helper.c:
13085         * libs/gst/controller/gst-interpolation.c:
13086         * libs/gst/controller/gstcontroller.c:
13087         * libs/gst/controller/gsthelper.c:
13088         * libs/gst/controller/gstinterpolation.c:
13089         * tools/gst-inspect.c: (print_plugin_info):
13090           we don't use dashes in header names
13091
13092 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13093
13094         * check/Makefile.am:
13095         * check/gst/.cvsignore:
13096         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13097         (gst_pipeline_suite), (main):
13098           adding a test for pipelines and state changes
13099         * gst/gstutils.c: (get_state_func):
13100           add some debugging
13101         * gstreamer.spec.in:
13102           fix up spec file
13103
13104 2005-09-08  Michael Smith <msmith@fluendo.com>
13105
13106         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13107         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13108         (gst_file_src_is_seekable), (gst_file_src_get_size),
13109         (gst_file_src_start):
13110         * gst/elements/gstfilesrc.h:
13111           Various fixes for unseekable, unmmapable, and non-normal files, so
13112           that fallback to read() rather than mmap() works.
13113         * gst/gstevent.c: (gst_event_new_newsegment):
13114           Allow newsegment events with segment_start == segment_end, as will
13115           correctly happen if you use filesrc on a zero-size file, for
13116           example.
13117
13118 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13119
13120         * gst/gstplugin.c: (gst_plugin_load_file):
13121           Call g_module_close when we don't load the module
13122
13123         * gst/registries/gstlibxmlregistry.c:
13124         (gst_xml_registry_get_property):
13125           Port leak fix from 0.8
13126
13127 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13128
13129         * docs/gst/gstreamer-docs.sgml:
13130         * docs/gst/tmpl/.cvsignore:
13131         * docs/gst/tmpl/gsttrace.sgml:
13132         * docs/gst/tmpl/gsttrashstack.sgml:
13133         * gst/Makefile.am:
13134         * gst/gst.h:
13135         * gst/gstelement.h:
13136         * gst/gstevent.h:
13137         * gst/gstmessage.c:
13138         * gst/gstmessage.h:
13139         * gst/gsttag.c:
13140         * gst/gsttag.h:
13141         * gst/gsttaginterface.c:
13142         * gst/gsttaginterface.h:
13143         * gst/gsttaglist.c:
13144         * gst/gsttaglist.h:
13145         * gst/gsttagsetter.c:
13146         * gst/gsttagsetter.h:
13147         * gst/gsttrace.c:
13148         * gst/gsttrace.h:
13149         * gst/gsttrashstack.c:
13150           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13151           inlined docs for gsttrace, gsttrashstack
13152
13153 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13154
13155         * gst/Makefile.am:
13156         * gst/elements/gstbufferstore.h:
13157         * gst/elements/gsttypefindelement.c:
13158         * gst/elements/gsttypefindelement.h:
13159         * gst/gst.h:
13160         * gst/gsttypefind.c:
13161         * gst/gsttypefind.h:
13162         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13163         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13164         (gst_type_find_factory_dispose),
13165         (gst_type_find_factory_unload_thyself),
13166         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13167         (gst_type_find_factory_get_caps),
13168         (gst_type_find_factory_get_extensions),
13169         (gst_type_find_factory_call_function):
13170         * gst/gsttypefindfactory.h:
13171         * gst/registries/gstlibxmlregistry.c:
13172         * gst/registries/gstxmlregistry.c:
13173           splitted gsttypefind into gsttypefind, gsttypefindfactory
13174
13175 2005-09-07  Andy Wingo  <wingo@pobox.com>
13176
13177         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13178         condition whereby the pad's task function is entered before the
13179         pad_mode variable was set.
13180
13181 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13182
13183         * gst/gstpad.c: (gst_pad_alloc_buffer):
13184           Catch misbehaving pad_alloc functions that don't
13185           set up caps and do it for them.
13186
13187 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13188
13189         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13190           test for pipe!=NULL
13191         * docs/gst/tmpl/.cvsignore:
13192         * docs/gst/tmpl/gstmemchunk.sgml:
13193         * docs/gst/tmpl/gstparse.sgml:
13194         * docs/gst/tmpl/gsttaglist.sgml:
13195         * docs/gst/tmpl/gsttagsetter.sgml:
13196         * docs/gst/tmpl/gsttypefind.sgml:
13197         * docs/gst/tmpl/gsttypefindfactory.sgml:
13198         * gst/gstmemchunk.c:
13199         * gst/gstparse.c:
13200         * gst/gsttag.c:
13201         * gst/gsttaginterface.c:
13202         * gst/gsttypefind.c:
13203         * gst/gsttypefind.h:
13204           inlined more docs
13205
13206 === release 0.9.2 ===
13207
13208 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13209
13210         * NEWS:
13211         * RELEASE:
13212         * configure.ac:
13213           releasing 0.9.2, "South"
13214
13215 2005-09-05  Andy Wingo  <wingo@pobox.com>
13216
13217         * gst/registries/gstxmlregistry.h:
13218         * gst/registries/gstxmlregistry.c: Um... resurrect...
13219         
13220         * gst/registries/gstxmlregistry.h:
13221         * gst/registries/gstxmlregistry.c: and update to newer API.
13222         Incidentally they should be a bit faster now that they don't have
13223         to parse the caps.
13224         
13225 2005-09-05  Andy Wingo  <wingo@pobox.com>
13226
13227         * gst/registries/gstxmlregistry.h:
13228         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13229         replaced by the libxml registry a while back
13230
13231 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13232
13233         * docs/gst/tmpl/gstplugin.sgml:
13234         * gst/elements/gstelements.c:
13235         * gst/gst.c:
13236         * gst/gstplugin.c: (gst_plugin_register_func),
13237         (gst_plugin_desc_copy), (gst_plugin_desc_free),
13238         (gst_plugin_get_source):
13239         * gst/gstplugin.h:
13240         * gst/registries/gstlibxmlregistry.c: (load_plugin),
13241         (gst_xml_registry_save_plugin):
13242         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13243         (gst_xml_registry_save_plugin):
13244         * tools/gst-inspect.c: (print_plugin_info):
13245           add a "source" plugin description field, to represent the source
13246           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
13247           will set it to PACKAGE, which is automake's idea of the name of
13248           the source project.
13249
13250 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13251
13252         * Makefile.am:
13253         * autogen.sh:
13254         * configure.ac:
13255         * docs/Makefile.am:
13256         * docs/faq/Makefile.am:
13257         * docs/gst/tmpl/gstelement.sgml:
13258         * docs/gst/tmpl/gsttypes.sgml:
13259         * docs/htmlinstall.mak:
13260         * docs/manual/Makefile.am:
13261         * docs/pwg/Makefile.am:
13262           reorganize doc build a little
13263           split out docbook and gtk-doc stuff
13264           have two separate --enable's and enable them through autogen
13265           but disable by default in configure (to be similar to other
13266           projects)
13267         * gstreamer.spec.in:
13268           clean up docs install
13269         * po/af.po:
13270         * po/az.po:
13271         * po/ca.po:
13272         * po/cs.po:
13273         * po/de.po:
13274         * po/en_GB.po:
13275         * po/fr.po:
13276         * po/it.po:
13277         * po/nb.po:
13278         * po/nl.po:
13279         * po/ru.po:
13280         * po/sq.po:
13281         * po/sr.po:
13282         * po/sv.po:
13283         * po/tr.po:
13284         * po/uk.po:
13285         * po/vi.po:
13286           translation updates
13287
13288 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
13289
13290         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
13291           Add comment.
13292           
13293         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13294         (gst_fake_sink_change_state):
13295           Make state change function thread-safe.
13296           
13297         * gst/gstpad.c: (gst_pad_alloc_buffer):
13298           Set offset on generic buffer allocated by fallback.
13299
13300 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
13301
13302         * docs/gst/gstreamer-sections.txt:
13303         * docs/gst/tmpl/gstelement.sgml:
13304         * gst/gstpad.c:
13305         * libs/gst/controller/gst-controller.c:
13306         (gst_controlled_property_set_interpolation_mode),
13307         (gst_controlled_property_new),
13308         (gst_controller_find_controlled_property):
13309          run the wingo-magic script against the docs
13310
13311 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13312
13313         * docs/gst/gstreamer-docs.sgml:
13314         * docs/gst/gstreamer-sections.txt:
13315         * docs/gst/tmpl/.cvsignore:
13316         * docs/gst/tmpl/gstelementdetails.sgml:
13317         * docs/gst/tmpl/gstelementfactory.sgml:
13318         * gst/gst.c:
13319         * gst/gstbus.c:
13320         * gst/gstelementfactory.c:
13321         * gst/gstelementfactory.h:
13322           merged elementdetails docs into elementfactory docs
13323           inlined both
13324
13325 2005-09-02  Andy Wingo  <wingo@pobox.com>
13326
13327         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
13328         consider this enum an enum and not a flags.
13329
13330 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13331
13332         * docs/gst/gstreamer-docs.sgml:
13333         * docs/gst/tmpl/.cvsignore:
13334         * docs/gst/tmpl/gstghostpad.sgml:
13335         * docs/gst/tmpl/gstiterator.sgml:
13336         * docs/gst/tmpl/gstmacros.sgml:
13337         * docs/gst/tmpl/gstrealpad.sgml:
13338         * docs/gst/tmpl/gstregistry.sgml:
13339         * docs/gst/tmpl/gstregistrypool.sgml:
13340         * docs/gst/tmpl/gststructure.sgml:
13341         * docs/gst/tmpl/gstsystemclock.sgml:
13342         * docs/gst/tmpl/gsttrace.sgml:
13343         * gst/gstghostpad.c:
13344         * gst/gstmacros.h:
13345         * gst/gstmemchunk.c:
13346         * gst/gstmemchunk.h:
13347         * gst/gstqueue.c:
13348         * gst/gstregistry.c:
13349         * gst/gstregistrypool.c:
13350         * gst/gststructure.c:
13351         * gst/gstsystemclock.c:
13352           more docs inlined
13353
13354 2005-09-02  Andy Wingo  <wingo@pobox.com>
13355
13356         * gst/gstelement.h (GstState): Renamed from GstElementState,
13357         changed to be a normal enum instead of flags.
13358         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
13359         munged to be GST_STATE_CHANGE_*.
13360         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
13361         work with the new state representation.
13362         (GstStateChange): New enumeration of possible state transitions.
13363         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
13364         (GstElementClass::change_state): Pass the GstStateChange along as
13365         an argument. Helps language bindings, so they don't have to use
13366         tricky lock-needing macros like GST_STATE_CHANGE ().
13367
13368         * scripts/update-states (file): New script. Run it on a file to
13369         update it for state naming and API changes. Updates files in
13370         place.
13371
13372         * All files updated for the new API.
13373
13374 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13375
13376         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
13377         * gst/gstutils.c: (gst_util_set_value_from_string),
13378         (gst_util_set_object_arg):
13379           fix a bunch of unchecked return values
13380         * tools/gst-complete.c: (main):
13381         * gstreamer.spec.in:
13382           clean up a little
13383
13384 2005-09-01  Wim Taymans  <wim@fluendo.com>
13385
13386         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13387         (gst_base_sink_event), (gst_base_sink_do_sync),
13388         (gst_base_sink_handle_event):
13389         * gst/base/gstbasesink.h:
13390         Handle newsegments more correctly.
13391
13392         * gst/gstbus.c:
13393         Fix docs.
13394
13395         * gst/gstevent.c: (gst_event_new_newsegment):
13396         A newsegment cannot have a start_time of -1
13397
13398 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
13399
13400         * win32/gstenumtypes.c:
13401         * win32/gstenumtypes.h:
13402           Update
13403
13404 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13405
13406         * libs/gst/controller/gst-controller.c:
13407         (gst_controlled_property_set_interpolation_mode),
13408         (gst_controlled_property_new):
13409          fixed boolean again
13410
13411 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13412
13413         * docs/faq/gst-uninstalled:
13414           add -good
13415         * gst/gstevent.c:
13416         * gst/gstevent.h:
13417           remove wrong docs
13418         * gst/gstutils.c: (gst_element_link_filtered):
13419         * gst/gstutils.h:
13420           add gst_element_link_filtered
13421
13422 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13423
13424         * docs/gst/gstreamer-docs.sgml:
13425         * docs/gst/gstreamer-sections.txt:
13426         * docs/gst/tmpl/.cvsignore:
13427         * docs/gst/tmpl/gsterror.sgml:
13428         * docs/gst/tmpl/gstfilter.sgml:
13429         * docs/gst/tmpl/gsturihandler.sgml:
13430         * docs/gst/tmpl/gsturitype.sgml:
13431         * docs/gst/tmpl/gstutils.sgml:
13432         * docs/gst/tmpl/gstxml.sgml:
13433         * gst/gsterror.c:
13434         * gst/gsterror.h:
13435         * gst/gstfilter.c:
13436         * gst/gsturi.c:
13437         * gst/gsturitype.c:
13438         * gst/gstutils.c:
13439         * gst/gstxml.c:
13440           inlined more docs, fixed double id-ref
13441
13442 2005-08-31  Wim Taymans  <wim@fluendo.com>
13443
13444         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13445         (gst_base_transform_handle_buffer):
13446         Passthrough elements don't need the caps as they don't care.
13447
13448 2005-08-31  Wim Taymans  <wim@fluendo.com>
13449
13450         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13451         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
13452         Don't leak refcounts on buffers.
13453
13454 2005-08-31  Wim Taymans  <wim@fluendo.com>
13455
13456         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
13457         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13458         (gst_base_transform_chain), (gst_base_transform_change_state):
13459         * gst/base/gstbasetransform.h:
13460         Handle the case where we are not negotiated more gracefully.
13461
13462 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
13463
13464         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
13465         (gst_file_src_map_region):
13466           Set READONLY flag on mmap'ed buffers, otherwise
13467           gst_buffer_make_writable() won't work properly (#314708).
13468
13469 2005-08-31  Wim Taymans  <wim@fluendo.com>
13470
13471         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
13472         passthrough elements can even do inplace on non writable
13473         buffers (as they don't touch them).
13474
13475 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13476
13477         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13478         (gst_test_mono_source_set_property),
13479         (gst_test_mono_source_class_init), (GST_START_TEST),
13480         (gst_controller_suite):
13481           more tests (hehe I have the most)
13482         * gst/gstbus.c:
13483           describe popping messages whenusing mulltiple sources
13484         * libs/gst/controller/gst-controller.c:
13485         (gst_controlled_property_set_interpolation_mode),
13486         (gst_controlled_property_new):
13487         * libs/gst/controller/gst-controller.h:
13488         * libs/gst/controller/gst-interpolation.c:
13489           implement boolean properties
13490
13491 2005-08-31  Wim Taymans  <wim@fluendo.com>
13492
13493         * gst/gstminiobject.c: (gst_mini_object_ref):
13494         Cannot assert that the refcount has to be positive
13495         since a disposed object can be resurrected.
13496
13497 2005-08-31  Wim Taymans  <wim@fluendo.com>
13498
13499         * gst/gstpad.c: (gst_pad_init):
13500         Revert change, need to first fix badly behaving 
13501         apps.
13502
13503 2005-08-30  Wim Taymans  <wim@fluendo.com>
13504
13505         * check/elements/fakesrc.c: (setup_fakesrc):
13506         * check/elements/identity.c: (setup_identity):
13507         Activate pads before using them.
13508
13509 2005-08-30  Wim Taymans  <wim@fluendo.com>
13510
13511         * gst/base/gstadapter.c: (gst_adapter_flush):
13512         Flushing out 0 bytes is ok for this function.
13513
13514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13515         no newsegment gives a warning and sets the start/stop to 
13516         invalid.
13517
13518         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
13519         (gst_base_transform_set_passthrough):
13520         Some debug info.
13521
13522         * gst/gstminiobject.c: (gst_mini_object_ref):
13523         Check refcount here too.
13524
13525         * gst/gstpad.c: (gst_pad_init):
13526         Pads are initially flushing and refusing data.
13527
13528         * gst/gstutils.c: (gst_element_link_pads_filtered):
13529         When adding a capsfilter element make sure it has the
13530         same state as the parent bin.
13531
13532 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13533
13534         * docs/gst/tmpl/.cvsignore:
13535         * docs/gst/tmpl/gstformat.sgml:
13536         * docs/gst/tmpl/gstversion.sgml:
13537         * gst/gstbus.h:
13538         * gst/gstformat.c:
13539         * gst/gstformat.h:
13540         * gst/gstversion.h.in:
13541           more docs and two more inlined
13542
13543 2005-08-30  Wim Taymans  <wim@fluendo.com>
13544
13545         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
13546         Don't sync to clock.
13547
13548 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13549
13550         * docs/gst/gstreamer-sections.txt:
13551           ultral33t func10ns deserve to appear in the docs actually
13552         * docs/gst/tmpl/.cvsignore:
13553         * docs/gst/tmpl/gstcompat.sgml:
13554         * docs/gst/tmpl/gstconfig.sgml:
13555         * gst/check/gstcheck.c:
13556         * gst/gstcompat.h:
13557         * gst/gstconfig.h.in:
13558           inlined more docs
13559
13560 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13561
13562         * docs/gst/tmpl/.cvsignore:
13563         * docs/gst/tmpl/gstquery.sgml:
13564         * docs/gst/tmpl/gstutils.sgml:
13565         * gst/gstquery.c:
13566         * gst/gstquery.h:
13567           inlined and extended docs
13568
13569 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13570
13571         * check/gst-libs/controller.c: (GST_START_TEST),
13572         (gst_controller_suite):
13573           more tests
13574         * docs/gst/tmpl/gstutils.sgml:
13575         * docs/libs/gstreamer-libs-sections.txt:
13576         * docs/libs/tmpl/gstdataprotocol.sgml:
13577           include path fixes
13578         * examples/controller/audio-example.c: (main):
13579           controller example works now
13580         * gst/gstclock.h:
13581           doc fixes
13582         * tools/gst-inspect.c: (print_element_properties_info):
13583           show param spec flags
13584
13585 2005-08-29  Andy Wingo  <wingo@pobox.com>
13586
13587         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
13588
13589 2005-08-28  Andy Wingo  <wingo@pobox.com>
13590
13591         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
13592         as having two arguments instead of just one. Allows superclasses
13593         to access information on subclasses -- see the terrible for() loop
13594         in gtype.c:g_type_create_instance for the reason why. All callers
13595         changed.
13596
13597 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13598
13599         * docs/design/part-messages.txt:
13600           update info
13601         * docs/gst/tmpl/.cvsignore:
13602         * docs/gst/tmpl/gstcaps.sgml:
13603         * docs/gst/tmpl/gstclock.sgml:
13604         * gst/gstbus.c:
13605         * gst/gstcaps.c:
13606         * gst/gstcaps.h:
13607         * gst/gstclock.c:
13608         * gst/gstclock.h:
13609         * gst/gstmessage.c:
13610           added descriptions for bus and message
13611           inline caps and clock docs
13612
13613 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13614
13615         * gst/gstmessage.c:
13616         * gst/gstmessage.h:
13617           doc fixes
13618
13619 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13620
13621         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13622           fix div-by-zero
13623
13624 2005-08-26  Andy Wingo  <wingo@pobox.com>
13625
13626         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
13627         element_set_state's return val.
13628         (test_2_elements): Add test that's been disabled for months.
13629
13630         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
13631         can-activate-pull properties.
13632
13633         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
13634         can-activate-pull properties. Implement is_seekable so fakesrc can
13635         operate in pull mode.
13636
13637         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
13638         properties.
13639         (gst_base_sink_activate, gst_base_sink_activate_pull)
13640         (gst_base_sink_activate_push): Make activation mode choosing work.
13641         Cleanups.
13642         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
13643         is right. Make pull mode work. Post an eos before pausing in pull
13644         mode.
13645         (gst_base_sink_change_state): Pay attention to the core's
13646         change_state() return val.
13647         
13648         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
13649         has-getrange properties. Cleanups.
13650         
13651         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
13652         has_getrange and replace with can_activate_pull and
13653         can_activate_push.
13654
13655         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
13656         locking comments. Remove has_loop, has_chain and replace with
13657         can_activate_pull and can_activate_push.
13658
13659 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
13660
13661         * configure.ac:
13662         * examples/Makefile.am:
13663         * examples/metadata/Makefile.am:
13664         * examples/metadata/read-metadata.c: (message_loop),
13665         (have_pad_handler), (make_pipeline), (print_tag), (main):
13666           Add metadata reading example that loops over a list of filenames,
13667           dumping any tags found.
13668
13669         * gst/gstbus.c: (gst_bus_dispose):
13670         * gst/gstelement.c: (gst_element_dispose):
13671           Release a few potentially-held references in dispose.
13672
13673 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13674
13675         * docs/gst/tmpl/gstminiobject.sgml:
13676           do *not* add tmpl/*.sgml files to CVS!
13677
13678 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13679
13680         * libs/gst/bytestream/.cvsignore:
13681         * libs/gst/bytestream/Makefile.am:
13682         * libs/gst/bytestream/adapter.c:
13683         * libs/gst/bytestream/adapter.h:
13684         * libs/gst/bytestream/bytestream.c:
13685         * libs/gst/bytestream/bytestream.h:
13686         * libs/gst/bytestream/filepad.c:
13687         * libs/gst/bytestream/filepad.h:
13688           removing obsolete files
13689
13690 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13691
13692         * docs/gst/gstreamer-docs.sgml:
13693         * docs/libs/gstreamer-libs-docs.sgml:
13694           disabed additional index entries again, as this makes docs-gen just
13695           slow and they aren't useful yet
13696         * docs/libs/gstreamer-libs-sections.txt:
13697           little -section.txt cleanup for libs
13698
13699 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13700
13701         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13702         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
13703           fix up some debugging
13704         (gst_base_transform_get_unit_size),
13705         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13706         (gst_base_transform_handle_buffer):
13707         * gst/base/gstbasetransform.h:
13708           handle and store timed NEWSEGMENT events so that subclasses that
13709           calculate time by counting samples have a segment_start time they
13710           need to add to their timestamps - see audioresample
13711
13712 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13713
13714         * gst/gstbin.h:
13715           removed ';' from the end of macro defs
13716         * docs/gst/gstreamer-docs.sgml:
13717         * docs/gst/gstreamer-sections.txt:
13718         * docs/gst/tmpl/.cvsignore:
13719         * gst/gstbus.h:
13720         * gst/gstelement.c: (gst_element_class_init),
13721         (gst_element_set_state), (activate_pads),
13722         (gst_element_save_thyself):
13723         * gst/gstevent.c: (gst_event_new_newsegment):
13724         * gst/gstevent.h:
13725         * gst/gstiterator.c:
13726         * gst/gstiterator.h:
13727         * gst/gstpad.c:
13728         * gst/gstprobe.h:
13729         * gst/gstutils.c: (gst_pad_query_convert):
13730         * gst/gstutils.h:
13731           fixed parameter name mismatches between source, header and docs
13732           added some more docs, resolved the last batch of unused elements in
13733           docs (now someone needs to doc them)
13734
13735 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13736
13737         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
13738         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
13739           don't walk through the plugins backwards.  Where is all this
13740           reversed logic coming from ?
13741
13742 2005-08-25  Wim Taymans  <wim@fluendo.com>
13743
13744         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13745         (gst_base_transform_transform_size),
13746         (gst_base_transform_configure_caps),
13747         (gst_base_transform_get_unit_size),
13748         (gst_base_transform_buffer_alloc),
13749         (gst_base_transform_change_state):
13750         * gst/base/gstbasetransform.h:
13751         Cache caps unit_size.
13752         Make sure we cannot negotiate up and downstream at the
13753         same time.
13754
13755 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13756
13757         * gst/gst.c: (init_pre), (init_post):
13758           register the installed plugin path after the env var
13759         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
13760         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
13761           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
13762           directories, so the tests can prefer uninstalled over installed
13763
13764 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13765
13766         * gst/base/gstbasetransform.h:
13767           comment
13768         * gst/gstpad.c:
13769           add to docs
13770
13771 2005-08-25  Wim Taymans  <wim@fluendo.com>
13772
13773         * gst/gstbin.c: (bin_bus_handler):
13774         Be a bit more conservative about the posted message.
13775         
13776         * gst/gstbus.c: (gst_bus_post):
13777         Some cleanups, warn wrong return values.
13778
13779 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
13780
13781         * check/gst/gstbin.c: (GST_START_TEST):
13782         * gst/gstbin.c: (bin_bus_handler):
13783         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13784         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13785         (gst_message_new_warning), (gst_message_new_tag),
13786         (gst_message_new_state_changed), (gst_message_new_segment_start),
13787         (gst_message_new_segment_done), (gst_message_new_custom):
13788         * gst/gstmessage.h:
13789         * tools/gst-launch.c: (event_loop):
13790         * tools/gst-md5sum.c: (event_loop):
13791           Revert unpopular change for GST_MESSAGE_SRC to GObject.
13792
13793 2005-08-25  Wim Taymans  <wim@fluendo.com>
13794
13795         * check/generic/states.c: (GST_START_TEST):
13796         Cleanup can be done at the end.
13797
13798         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
13799         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13800         (gst_task_get_state), (gst_task_start), (gst_task_pause):
13801         Oh boy.. Thanks for finding this, Thomas. 
13802
13803 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13804
13805         * docs/gst/gstreamer.types:
13806           added missing types
13807
13808 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13809
13810         * docs/gst/gstreamer-docs.sgml:
13811         * docs/gst/gstreamer-sections.txt:
13812         * docs/gst/tmpl/.cvsignore:
13813         * gst/gstbin.c:
13814         * gst/gstiterator.c:
13815         * gst/gstutils.c:
13816         * gst/registries/gstxmlregistry.h:
13817           added missing classes and symbols (123 more to go)
13818           removed removed symbols from section file
13819           fixed many doc-comments
13820
13821 2005-08-24  Wim Taymans  <wim@fluendo.com>
13822
13823         * check/generic/states.c: (GST_START_TEST):
13824         Make sure all tasks are stopped.
13825
13826         * check/gst/gstbin.c: (GST_START_TEST):
13827         Unref after usage for proper valgrinding.
13828
13829         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
13830         Really wait for the task to stop before destroying the
13831         mutex.
13832
13833         * gst/gstqueue.c: (gst_queue_sink_activate_push),
13834         (gst_queue_src_activate_push):
13835         Small cleanups. Don't stop the task when we did not start
13836         it.
13837
13838         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
13839         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13840         (gst_task_get_state), (gst_task_start), (gst_task_pause),
13841         (gst_task_join):
13842         * gst/gsttask.h:
13843         Protect the stream lock with the object lock.
13844         Disallow setting the stream lock when running.
13845         Add cleanup_all to wait for the threadpool to finish.
13846         Remove code to autoallocate a mutex if none was provided.
13847         Add _join() to wait for a task to stop.
13848         Protect the thread pool with a global lock.
13849
13850 2005-08-24  Wim Taymans  <wim@fluendo.com>
13851
13852         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13853         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13854         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
13855         * gst/base/gstbasesink.h:
13856         Handle newsegment events correctly.
13857         Drop buffers out of the segment range.
13858
13859 2005-08-22  Andy Wingo  <wingo@pobox.com>
13860
13861         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
13862         macro, implements an interface and gstimplementsinterface for a
13863         new type.
13864
13865 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13866
13867         * check/Makefile.am:
13868         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
13869           add a test that does a bunch of state changes on elements
13870           needs some fixing for valgrind
13871         * check/states/sinks.c: (gst_object_suite):
13872           whitespace
13873         * gst/gstcaps.h:
13874           add prototype for gst_caps_is_equal_fixed
13875         * gst/gstplugin.c:
13876         * gst/gstregistrypool.c:
13877           doc fixes
13878
13879 2005-08-24  Andy Wingo  <wingo@pobox.com>
13880
13881         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
13882         convert a negative value. Doesn't make much sense. Mostly this is
13883         here to force callers to ensure -1 maps to -1.
13884
13885 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13886
13887         * docs/pwg/advanced-types.xml:
13888           Well done to Michael for catching my deliberate introduction
13889           of this spelling mistake. 
13890         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
13891         * gst/gstelement.h:
13892           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
13893           unlink pads before removing the element from the bin.
13894
13895 2005-08-24  Andy Wingo  <wingo@pobox.com>
13896
13897         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
13898         the same thing as GST_DEBUG=*:4.
13899         (parse_debug_level, parse_debug_category): New helper parsers.
13900
13901 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13902
13903         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13904         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
13905         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
13906         (gst_base_transform_buffer_alloc),
13907         (gst_base_transform_handle_buffer):
13908           use gboolean return values and pointers to size so we can use the
13909           full GST_BUFFER_SIZE range (guint) for buffer sizes
13910           use GstPadDirection for transform_caps
13911         * gst/base/gstbasetransform.h:
13912           rename get_size to get_unit_size since that's what it is
13913         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
13914           use GstPadDirection for transform_caps
13915         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13916         * gst/gstutils.h:
13917           cleanup and debugging
13918
13919 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13920
13921         * gst/gstelement.c: (gst_element_class_init),
13922         (gst_element_set_state), (activate_pads),
13923         (gst_element_save_thyself):
13924         * tools/gst-compprep.c: (main):
13925         * tools/gst-inspect.c: (print_element_properties_info):
13926         * tools/gst-xmlinspect.c: (print_element_properties):
13927           Fixed long standing mem-leak
13928
13929 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
13930
13931         * check/gst/gstbin.c: (GST_START_TEST):
13932         * gst/gstbin.c: (bin_bus_handler):
13933         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13934         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13935         (gst_message_new_warning), (gst_message_new_tag),
13936         (gst_message_new_state_changed), (gst_message_new_segment_start),
13937         (gst_message_new_segment_done), (gst_message_new_custom):
13938         * gst/gstmessage.h:
13939         * tools/gst-launch.c: (event_loop):
13940         * tools/gst-md5sum.c: (event_loop):
13941           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
13942           that applications can sensibly post custom messages with references
13943           to their own objects.
13944
13945 2005-08-24  Andy Wingo  <wingo@pobox.com>
13946
13947         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
13948         already.
13949
13950 2005-08-24  Wim Taymans  <wim@fluendo.com>
13951
13952         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13953         (gst_base_transform_transform_caps),
13954         (gst_base_transform_transform_size),
13955         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13956         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13957         (gst_base_transform_handle_buffer):
13958         * gst/base/gstbasetransform.h:
13959         Many fixes and new features added by Thomas. Can now also do
13960         transforms with variable sizes and a custom fixate_caps function.
13961
13962 2005-08-24  Wim Taymans  <wim@fluendo.com>
13963
13964         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
13965         Some debugging.
13966
13967         * gst/gstclock.h:
13968         Cast to ClockTime before formatting to time.
13969
13970         * gst/gstutils.h:
13971         Cleanups.
13972
13973 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
13974
13975         * check/gst-libs/controller.c: (GST_START_TEST),
13976         (gst_controller_suite):
13977         * docs/gst/tmpl/gstcaps.sgml:
13978         * docs/gst/tmpl/gstghostpad.sgml:
13979         * docs/gst/tmpl/gstquery.sgml:
13980         * docs/gst/tmpl/gstutils.sgml:
13981         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
13982         (gst_object_sink_values), (gst_object_get_value_arrays),
13983         (gst_object_get_value_array):
13984           gracefully handle helper method calls to objects that are not beeing
13985           controlled, added test case for that          
13986
13987 2005-08-23  Wim Taymans  <wim@fluendo.com>
13988
13989         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
13990         (gst_event_new_newsegment), (gst_event_parse_newsegment),
13991         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
13992         (gst_event_parse_qos), (gst_event_new_seek),
13993         (gst_event_parse_seek):
13994         * gst/gstevent.h:
13995         Some more debugging output and doc cleanups.
13996
13997         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13998         Fix possible deadlock.
13999
14000 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14001
14002         * docs/gst/gstreamer-docs.sgml:
14003         * docs/gst/gstreamer-sections.txt:
14004         * docs/gst/gstreamer.types:
14005         * docs/gst/tmpl/.cvsignore:
14006         * gst/gstbin.h:
14007         * gst/gstbus.c:
14008         * gst/gstelement.c:
14009         * gst/gstevent.h:
14010           added 100 symbols from gstreamer-unused.txt to the right sections
14011           fixed more broken comments
14012           added GstBus to docs
14013
14014 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14015
14016         * docs/gst/gstreamer-sections.txt:
14017         * docs/gst/tmpl/.cvsignore:
14018         * docs/gst/tmpl/gstbin.sgml:
14019         * docs/gst/tmpl/gstbuffer.sgml:
14020         * gst/base/gstbasesrc.c:
14021         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14022         * gst/gstbuffer.c:
14023         * gst/gstbuffer.h:
14024         * tools/gst-launch.1.in:
14025           inlined more doc comments, added missing comments and fixed comments
14026           fixed typos
14027
14028 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14029
14030         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14031           some debugging
14032         * gst/gstcaps.h:
14033           whitespace fixes
14034         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14035           more debugging
14036         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14037         * gst/gststructure.h:
14038           add a fixate function for booleans; add a FIXME that these func
14039           names should probably be gst_structure_fixate_*
14040
14041 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14042
14043         * docs/gst/gstreamer-docs.sgml:
14044         * docs/gst/gstreamer-sections.txt:
14045         * gst/Makefile.am:
14046         * gst/gstbin.c: (gst_bin_get_type),
14047         (gst_bin_child_proxy_get_child_by_index),
14048         (gst_bin_child_proxy_get_children_count),
14049         (gst_bin_child_proxy_init):
14050         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14051         (gst_child_proxy_get_child_by_index),
14052         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14053         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14054         (gst_child_proxy_get), (gst_child_proxy_set_property),
14055         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14056         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14057         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14058         * gst/gstchildproxy.h:
14059         * gst/parse/grammar.y:
14060         * tools/gst-inspect.c: (print_interfaces),
14061         (print_element_properties_info), (print_element_info):
14062           ported gstchildproxy over from 0.8
14063           ported gst-inspect fixes and enhancements over from 0.8
14064
14065 2005-08-22  Wim Taymans  <wim@fluendo.com>
14066
14067         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14068         (gst_base_transform_handle_buffer):
14069         Also call the transform function if we have ANY caps.
14070
14071         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14072         Fix debug info.
14073
14074 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14075
14076         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14077           Don't pretend to handle seek events if the source is not seekable
14078
14079 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14080
14081         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14082           Remove extra parameter to debug output
14083
14084         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14085         (gst_base_src_do_seek), (gst_base_src_activate_push):
14086           Fix seek event handling.
14087
14088         * gst/gstpipeline.c: (gst_pipeline_change_state):
14089         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14090         (gst_queue_src_activate_push):
14091           Don't start the src pad task on FLUSH_STOP if the pad
14092           isn't linked.
14093           Debug changes.
14094
14095 2005-08-22  Wim Taymans  <wim@fluendo.com>
14096
14097         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14098         Added check for gst_static_caps_get() refcounting.
14099
14100 2005-08-22  Wim Taymans  <wim@fluendo.com>
14101
14102         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14103         Make _static_caps_get() refcounting sane.
14104         
14105         * gst/gstelement.c: (gst_element_set_state):
14106         Add g_return_val_if_fail() to protect against segfaults.
14107
14108 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14109
14110         * docs/gst/tmpl/gstevent.sgml:
14111         * gst/gstevent.c:
14112         * gst/gstevent.h:
14113           inlined remaining docs, added missing doc comments
14114
14115 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14116
14117         * check/gst/gstbin.c: (GST_START_TEST):
14118           since we don't know when preroll is done, use refcount range
14119           check for the sink
14120         * gst/check/gstcheck.h:
14121           add macro for checking refcount range
14122
14123 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14124
14125         * check/Makefile.am:
14126           clean up environment for when registry gets built versus
14127           when actual tests are run; valgrind seems to not report
14128           leaks if GST_PLUGIN_PATH is set to some specific values
14129         * check/gst/gstbin.c: (GST_START_TEST):
14130           add more refcounting checks; maybe this exposes a
14131           preroll lock bug ?
14132         * common/check.mak:
14133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14134         * gst/check/gstcheck.h:
14135         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14136         (gst_bin_change_state):
14137         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14138           add/fix debugging/whitespace
14139
14140 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14141
14142         * check/gst/gstevent.c: (event_probe), (test_event),
14143         (GST_START_TEST):
14144          Er, don't call gst_bin_watch_for_state_change you idiot.
14145
14146 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14147
14148         * check/Makefile.am:
14149           Use CHECK_CFLAGS and CHECK_LIBS
14150         * check/gst/gstevent.c: (event_probe), (test_event),
14151         (GST_START_TEST):
14152           Don't leak events.
14153         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14154         (gst_base_src_start), (gst_base_src_stop),
14155         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14156         (gst_base_src_change_state):
14157           Sprinkle gst_base_src_stop liberally around error paths to fix
14158           problems reusing a source after failed state changes.
14159         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14160         (helper_find_suggest), (gst_type_find_helper):
14161           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14162         * gst/gstevent.h:
14163         * docs/gst/tmpl/gstevent.sgml:
14164           Migrate part of the docs from the SGML file. Wait for ensonic to
14165           tell me how I did it wrong ;)
14166         * tools/gst-typefind.c: (main):
14167           Extra robustness to state changes between files.
14168
14169 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14170
14171         * check/Makefile.am:
14172           don't valgrind the controller test - it's leaking - Stefan, HELP
14173         * gst/check/gstcheck.c: (gst_check_message_error),
14174         (gst_check_chain_func), (gst_check_setup_element),
14175         (gst_check_teardown_element), (gst_check_setup_src_pad),
14176         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14177         (gst_check_teardown_sink_pad):
14178         * gst/check/gstcheck.h:
14179           add a bunch of methods to set up elements, and src and sink pads
14180         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14181         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14182         (GST_START_TEST):
14183           use them
14184         * gst/gstmessage.c:
14185         * gst/gsttag.h:
14186           whitespace/doc fixes
14187
14188 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14189
14190         * gst/gstelement.h:
14191           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14192           be handled by the application and not always printed as well
14193
14194 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14195
14196         * check/Makefile.am:
14197           set GST_TOOLS_DIR
14198         * gst/check/gstcheck.c: (gst_check_message_error):
14199         * gst/check/gstcheck.h:
14200           add a fail_unless_equals_int
14201           add fail_unless for error messages
14202
14203 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14204
14205         * check/Makefile.am:
14206         * check/gst.supp:
14207         * common/Makefile.am:
14208         * common/check.mak:
14209         * common/gst.supp:
14210           factor out some of the common stuff so we can use it
14211
14212 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14213
14214         * check/Makefile.am:
14215         * check/gst/gstiterator.c: (GST_START_TEST):
14216         * check/gst/gstsystemclock.c: (GST_START_TEST),
14217         (gst_systemclock_suite):
14218         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14219         * gst/gstclock.c:
14220           valgrind more tests
14221
14222 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14223
14224         * check/elements/.cvsignore:
14225         * check/elements/gstfakesrc.c:
14226           rename to name of element
14227         * check/elements/identity.c: (chain_func), (event_func),
14228         (setup_identity), (cleanup_identity), (GST_START_TEST),
14229         (identity_suite), (main):
14230           add a test for identity
14231         * check/Makefile.am:
14232         * pkgconfig/Makefile.am:
14233         * pkgconfig/gstreamer-check.pc.in:
14234         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14235         * gst/check:
14236         * gst/Makefile.am:
14237         * configure.ac:
14238           move the check stuff to a library that gets installed
14239         * check/gst-libs/controller.c: (GST_START_TEST):
14240         * check/gst-libs/gdp.c:
14241         * check/gst/gst.c: (GST_START_TEST):
14242         * check/gst/gstbin.c:
14243         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14244         * check/gst/gstbus.c:
14245         * check/gst/gstcaps.c: (GST_START_TEST):
14246         * check/gst/gstelement.c:
14247         * check/gst/gstghostpad.c:
14248         * check/gst/gstiterator.c:
14249         * check/gst/gstmessage.c:
14250         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
14251         * check/gst/gstobject.c:
14252         * check/gst/gstpad.c: (GST_START_TEST):
14253         * check/gst/gststructure.c: (GST_START_TEST):
14254         * check/gst/gstsystemclock.c: (GST_START_TEST),
14255         (gst_systemclock_suite):
14256         * check/gst/gsttag.c: (gst_tag_suite):
14257         * check/gst/gstvalue.c:
14258         * check/pipelines/cleanup.c:
14259         * check/pipelines/simple_launch_lines.c:
14260         * check/states/sinks.c:
14261           change include statement
14262
14263         * docs/gst/gstreamer-sections.txt:
14264         * docs/gst/tmpl/gstpad.sgml:
14265           document more pad stuff
14266         * gst/gstminiobject.c: (gst_mini_object_ref),
14267         (gst_mini_object_unref):
14268           debug refcounting
14269
14270 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
14271
14272         * docs/gst/tmpl/gst.sgml:
14273         * gst/gst.c:
14274           eliminate another tmpl file, fix spelling in the long-description
14275
14276 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14277
14278         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14279         (test_event), (timediff), (gstevents_suite):
14280           Should fix build on 64-bit arch's
14281
14282 2005-08-18  Andy Wingo  <wingo@pobox.com>
14283
14284         Make sure that when a pipeline goes to PLAYING, that data has
14285         actually hit the sink.
14286
14287         * check/states/sinks.c (test_sink): A sink that doesn't get any
14288         data shouldn't return SUCCESS for going to either PLAYING or
14289         PAUSED. Test also the return values on the way back down.
14290
14291         * gst/gstelement.c (gst_element_set_state): When changing the
14292         state of an element currently changing state asynchronously, go to
14293         lost-state after commiting the pending state. Makes future calls
14294         to get_state continue to return ASYNC.
14295
14296         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
14297         ASYNC when going to PLAYING if we still don't have preroll, as can
14298         happen with live sources.
14299
14300 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14301
14302         * docs/pwg/advanced-types.xml:
14303           Hack long paragraph into 2 chunks as a workaround for buggy
14304           jadetex version in sid and breezy that loops infinitely and
14305           eats all RAM.
14306
14307 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14308
14309         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14310         (test_event), (timediff), (gstevents_suite):
14311           Provide more error margin in clock measurements to allow for 
14312           g_get_current_time inaccuracies.
14313
14314 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14315
14316         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14317         (test_event), (timediff), (gstevents_suite):
14318            Fix error message output so I might be able to tell why the
14319            test works here but fails on the build farm.
14320
14321 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14322
14323         * check/Makefile.am:
14324         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14325         (test_event), (timediff), (gstevents_suite), (main):
14326           I wrote a test!
14327
14328         * docs/design/part-seeking.txt:
14329           Spelling correction
14330
14331         * docs/gst/tmpl/gstevent.sgml:
14332         * docs/gst/tmpl/gstfakesrc.sgml:
14333           Docs updates.
14334
14335         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14336           Treat a buffer-without-newsegment the same as a receiving 
14337           a newsegment not in time format, and disable syncing to the clock
14338           with a warning.
14339
14340         * gst/gstbus.c: (gst_bus_set_sync_handler):
14341           Assert if anyone tries to replace the existing sync_handler for bus, 
14342           as only the owner should be setting it.
14343
14344         * gst/gstevent.h:
14345           Have a fixed set of custom event enums with events identified by
14346           their structure name (as in 0.8), rather than a free-for-all
14347           allowing collisions between enum values from different plugins.
14348
14349         * gst/gstpad.c: (gst_pad_class_init):
14350           Docs change.
14351           
14352         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14353           Handle out-of-band downstream events from the sending thread.
14354
14355 2005-08-17  Andy Wingo  <wingo@pobox.com>
14356
14357         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
14358         play-timeout==0 to mean no timeout at all. In that case, don't
14359         bother with a get_state or a warning, just return directly, even
14360         if it's ASYNC.
14361
14362         * gst/base/gstbasetransform.c: Debug changes.
14363
14364         * gst/gstutils.h:
14365         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
14366         ensure bins post state change messages. A bit of a hack but I can't
14367         think of a way to avoid it.
14368
14369         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
14370
14371 2005-08-16  Andy Wingo  <wingo@pobox.com>
14372
14373         * gst/base/gstadapter.h:
14374         * gst/base/gstadapter.c (gst_adapter_take): New function, like
14375         peek() but you own the data. Not terribly efficient atm.
14376
14377 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14378
14379         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
14380         (gst_element_found_tags):
14381         * gst/gstutils.h:
14382           Add two utility functions for tag handling.
14383
14384 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14385
14386         * docs/manual/advanced-dataaccess.xml:
14387         * docs/manual/basics-helloworld.xml:
14388           Fix docs to use _bin_add() before _link(), which fixes the examples
14389           with recent core versions (reported by Madhan Raj M
14390           <raj_madan@rediffmail.com>, #313199).
14391
14392 2005-08-16  Wim Taymans  <wim@fluendo.com>
14393
14394         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14395         Added subtract checks.
14396
14397         * docs/design/part-events.txt:
14398         Some more docs about newsegment
14399
14400         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14401         Fix FIXME
14402
14403         * gst/gstcaps.c: (gst_caps_to_string):
14404         Add comments, cleanups.
14405         
14406         * gst/gstelement.c: (gst_element_save_thyself):
14407         cleanups
14408         
14409         * gst/gstvalue.c: (gst_value_collect_int_range),
14410         (gst_string_unwrap), (gst_value_union_int_int_range),
14411         (gst_value_union_int_range_int_range),
14412         (gst_value_intersect_int_int_range),
14413         (gst_value_intersect_int_range_int_range),
14414         (gst_value_intersect_double_double_range),
14415         (gst_value_intersect_double_range_double_range),
14416         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
14417         (gst_value_subtract_int_range_int),
14418         (gst_value_subtract_double_range_double),
14419         (gst_value_subtract_double_range_double_range),
14420         (gst_value_subtract_from_list), (gst_value_subtract_list),
14421         (gst_value_can_compare), (gst_value_compare_fraction):
14422         Cleanups, add comments, remove unneeded asserts.
14423
14424 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14425
14426         * tools/gst-launch.c: (event_loop):
14427           don't convert NULL structures to strings
14428
14429 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
14430
14431         * docs/gst/gstreamer-sections.txt:
14432           made some defines private
14433         * docs/gst/tmpl/gstconfig.sgml:
14434         * docs/gst/tmpl/gstqueue.sgml:
14435         * docs/gst/tmpl/gsttaglist.sgml:
14436         * docs/gst/tmpl/gsttypes.sgml:
14437         * docs/gst/tmpl/gstutils.sgml:
14438         * docs/pwg/appendix-porting.xml:
14439         * gst/base/gstbasesink.h:
14440         * gst/base/gstbasesrc.c:
14441         * gst/base/gstbasesrc.h:
14442         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
14443         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
14444         * gst/gstelement.c: (gst_element_class_init):
14445         * gst/gstpad.c: (gst_pad_class_init):
14446         * gst/gstqueue.c: (gst_queue_class_init):
14447         * gst/gstxml.c: (gst_xml_class_init):
14448           documented all undocumented signal inline
14449         * libs/gst/controller/gst-controller.h:
14450           added padding
14451
14452 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14453
14454         * docs/pwg/appendix-porting.xml:
14455           Document _set_link_function -> _set_setcaps_function.
14456
14457 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14458
14459         * check/Makefile.am:
14460           add a .check target for running the check
14461         * check/gst-libs/controller.c: (GST_START_TEST):
14462           cosmetic fixups
14463         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14464           complete checks for gstbuffer; would be nice if I could get the
14465           gcov stuff to work so I can see if I actually completed gstbuffer.c
14466         * check/gstcheck.h:
14467           add ASSERT_BUFFER_REFCOUNT
14468
14469 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
14470
14471         * docs/gst/gstreamer-sections.txt:
14472         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
14473         * gst/gsttag.h:
14474           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
14475           spew out a warning if a tag that is already registered
14476           is re-registered, unless it is re-registered with a 
14477           different type (#308438).
14478
14479 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
14480
14481         * docs/pwg/appendix-porting.xml:
14482         * docs/pwg/building-state.xml:
14483           Add some paragraphs about state changes in 0.9 to the PWG
14484           and the porting guide, in particular about the new meaning
14485           of GST_STATE_PAUSED and how to write state change functions
14486           with concurrent access by multiple threads in mind.
14487
14488 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
14489
14490         * docs/gst/gstreamer-docs.sgml:
14491         * docs/libs/gstreamer-libs-docs.sgml:
14492           added deprecation and since indexes
14493         * libs/gst/controller/gst-controller.c:
14494         * libs/gst/controller/gst-helper.c:
14495           added since tags
14496
14497
14498 2005-08-11  Wim Taymans  <wim@fluendo.com>
14499
14500         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
14501         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
14502         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
14503         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
14504         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
14505         (gst_ghost_pad_set_target):
14506         Actually implement (re)setting the target on a ghostpad
14507         as described in the docs.
14508
14509 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14510
14511         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
14512           Check whether GST_DEBUG_NO_COLOR environment variable is
14513           set and disable coloured debug output if that is the case.
14514
14515 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14516
14517         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14518         (gst_type_find_helper):
14519           The memory returned by gst_type_find_peek() needs to
14520           stay valid until the end of a typefind function, and
14521           typefind functions may keep results from different 
14522           offsets around, so we can't just unref the buffer from
14523           the previous _peek(), but have to save all buffers 
14524           returned by _peek() until typefinding is done and only
14525           free them then.
14526
14527 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
14528
14529         * docs/gst/gstreamer-sections.txt:
14530         * gst/gstutils.h:
14531           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
14532
14533 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14534
14535         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14536           Fix a pretty good memleak.
14537
14538 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14539
14540         * gst/gstiterator.h:
14541           Fix wrong include and 'make distcheck'.
14542
14543 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14544
14545         * gst/gstbin.c: (bin_bus_handler):
14546           Use gst_element_post_message() instead.
14547
14548 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14549
14550         * gst/base/gstadapter.h:
14551         * gst/base/gstbasesink.h:
14552         * gst/base/gstbasesrc.h:
14553         * gst/base/gstbasetransform.h:
14554         * gst/base/gstcollectpads.h:
14555         * gst/base/gstpushsrc.h:
14556         * gst/gstiterator.h:
14557           Add padding to our base elements' class and instance structs and
14558           to GstIterator (you will need to rebuild all plugins and apps!)
14559
14560 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14561
14562         * gst/gstbin.c: (bin_bus_handler):
14563           Make default message forwarding from child->bus to bin->bus
14564           threadsafe and make it not emit warnings if the parent has no bus.
14565
14566 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14567
14568         * gst/gstelement.c: (activate_pads):
14569           On paused->ready, set pad->caps to NULL, as is the documented
14570           behaviour in this state change. Fixes playback of series of
14571           media files when visualization is enabled in Totem.
14572
14573 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14574
14575         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14576           Allow NULL as filter-caps (which means "any").
14577
14578 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14579
14580         * docs/libs/gstreamer-libs-sections.txt:
14581         * libs/gst/controller/gst-controller.c:
14582         * libs/gst/controller/gst-controller.h:
14583         * libs/gst/controller/gst-helper.c:
14584           adding more entries to the docs and fix small doc-bugs
14585
14586 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14587
14588         * docs/gst/gstreamer-docs.sgml:
14589         * docs/gst/gstreamer-sections.txt:
14590         * docs/gst/gstreamer.types:
14591         * docs/gst/tmpl/gstbasesink.sgml:
14592         * docs/gst/tmpl/gstbasesrc.sgml:
14593         * docs/gst/tmpl/gstbasetransform.sgml:
14594         * docs/gst/tmpl/gstfakesrc.sgml:
14595         * gst/base/gstcollectpads.c:
14596         * gst/base/gstcollectpads.h:
14597         * libs/gst/controller/gst-controller.c:
14598         * libs/gst/controller/gst-controller.h:
14599         * libs/gst/controller/gst-helper.c:
14600         * libs/gst/controller/gst-interpolation.c:
14601         * libs/gst/controller/lib.c:
14602           added long/short desc for controller docs
14603           added collectpads base class docs
14604           added correct includes to base-class docs
14605
14606 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14607
14608         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14609         (gst_test_mono_source_set_property),
14610         (gst_test_mono_source_class_init), (GST_START_TEST),
14611         (gst_controller_suite):
14612         * docs/gst/gstreamer-docs.sgml:
14613         * docs/gst/gstreamer-sections.txt:
14614         * docs/gst/gstreamer.types:
14615         * docs/libs/gstreamer-libs-docs.sgml:
14616         * docs/libs/gstreamer-libs-sections.txt:
14617         * gst/base/gstadapter.c:
14618         * libs/gst/controller/gst-controller.c:
14619         (gst_controlled_property_new), (gst_controlled_property_free),
14620         (gst_controller_new_valist),
14621         (gst_controller_remove_properties_valist),
14622         (gst_controller_sink_values), (_gst_controller_finalize):
14623         * libs/gst/controller/gst-controller.h:
14624         * libs/gst/controller/gst-helper.c:
14625         (gst_object_control_properties), (gst_object_uncontrol_properties),
14626         (gst_object_get_controller), (gst_object_set_controller),
14627         (gst_object_sink_values), (gst_object_get_value_arrays),
14628         (gst_object_get_value_array):
14629           more tests (and fixes) for the controller
14630           more docs for the controller
14631           integrated companies docs for the adapter 
14632
14633 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14634
14635         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
14636         (GST_START_TEST), (fakesrc_suite):
14637           add tests for sizetype
14638
14639 2005-08-04  Andy Wingo  <wingo@pobox.com>
14640
14641         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
14642         fixes buffer_alloc proxying among other things.
14643
14644         * gst/base/gstbasetransform.c:
14645         * gst/base/gstbasetransform.h:
14646         Revert patch to gstbasetransform from 7-28 removing
14647         delay_configure.
14648
14649         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
14650         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
14651         Semantics changed, should return not the size of the output buffer
14652         but the byte size of a buffer with a given caps.
14653
14654         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
14655         debug object.
14656         (gst_base_transform_configure_caps): Don't set out_size here: (in,
14657         out) are not the pad caps until setcaps finishes.
14658         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
14659         not-in-place case as well. Deal with changing from in-place to
14660         not-in-place within calling pad_alloc_buffer. Still a bit
14661         concerned about the overhead here...
14662
14663 2005-08-03  Andy Wingo  <wingo@pobox.com>
14664
14665         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
14666         fixating is an error.
14667
14668 2005-08-04  Edward Hervey  <edward@fluendo.com>
14669
14670         * gst/base/gstadapter.h: 
14671         Added gst_adapter_get_type() to the header
14672
14673 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14674
14675         * check/Makefile.am:
14676         * check/gst-libs/controller.c:
14677         * libs/gst/controller/gst-controller.c:
14678         (gst_controller_new_valist):
14679           added check test suite for the controller
14680         * gst/base/gstpushsrc.c:
14681           fixed a doc typo
14682
14683 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14684
14685         * docs/gst/Makefile.am:
14686         * docs/gst/gstreamer-docs.sgml:
14687         * docs/gst/gstreamer-sections.txt:
14688         * docs/gst/gstreamer.types:
14689         * docs/gst/tmpl/gstfakesrc.sgml:
14690         * gst/base/README:
14691         * gst/base/gstbasesink.c:
14692         * gst/base/gstbasesink.h:
14693         * gst/base/gstbasesrc.c:
14694         * gst/base/gstbasesrc.h:
14695         * gst/base/gstbasetransform.c:
14696         * gst/base/gstpushsrc.c:
14697         * gst/base/gstpushsrc.h:
14698           add short/long description docs to base classes
14699           add pushsrc to the docs
14700           remove consolidated doc fragments
14701
14702 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14703
14704         * configure.ac:
14705         * docs/libs/Makefile.am:
14706         * docs/libs/gstreamer-libs-docs.sgml:
14707         * docs/libs/gstreamer-libs-sections.txt:
14708         * docs/libs/gstreamer-libs.types:
14709         * examples/Makefile.am:
14710         * examples/controller/.cvsignore:
14711         * examples/controller/Makefile.am:
14712         * examples/controller/audio-example.c: (main):
14713         * libs/gst/Makefile.am:
14714         * libs/gst/controller/.cvsignore:
14715         * libs/gst/controller/Makefile.am:
14716         * libs/gst/controller/gst-controller.c:
14717         (on_object_controlled_property_changed), (gst_timed_value_compare),
14718         (gst_timed_value_find),
14719         (gst_controlled_property_set_interpolation_mode),
14720         (gst_controlled_property_new), (gst_controlled_property_free),
14721         (gst_controller_find_controlled_property),
14722         (gst_controller_new_valist), (gst_controller_new),
14723         (gst_controller_remove_properties_valist),
14724         (gst_controller_remove_properties), (gst_controller_set),
14725         (gst_controller_set_from_list), (gst_controller_unset),
14726         (gst_controller_get), (gst_controller_get_all),
14727         (gst_controller_sink_values), (gst_controller_get_value_arrays),
14728         (gst_controller_get_value_array),
14729         (gst_controller_set_interpolation_mode),
14730         (_gst_controller_finalize), (_gst_controller_init),
14731         (_gst_controller_class_init), (gst_controller_get_type):
14732         * libs/gst/controller/gst-controller.h:
14733         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
14734         (g_object_uncontrol_properties), (g_object_get_controller),
14735         (g_object_set_controller), (g_object_sink_values),
14736         (g_object_get_value_arrays), (g_object_get_value_array):
14737         * libs/gst/controller/gst-interpolation.c:
14738         (gst_controlled_property_find_timed_value_node),
14739         (interpolate_none_get), (interpolate_trigger_get),
14740         (interpolate_trigger_get_value_array):
14741         * libs/gst/controller/lib.c: (gst_controller_init):
14742         * pkgconfig/Makefile.am:
14743         * pkgconfig/gstreamer-control-uninstalled.pc.in:
14744         * pkgconfig/gstreamer-control.pc.in:
14745         * testsuite/Makefile.am:
14746         * testsuite/controller/.cvsignore:
14747         * testsuite/controller/Makefile.am:
14748         * testsuite/controller/interpolator.c: (main):
14749           added controller code
14750           removed dparam pc files
14751
14752 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14753         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
14754         (gst_collectpads_stop):
14755           Broadcast the condition when shutting down, to make sure we wake all
14756           threads up. Shut down pads on finalize, for safety.
14757
14758 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14759         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14760         (gst_base_transform_handle_buffer),
14761         (gst_base_transform_change_state):
14762           Handle PAUSED->READY->PAUSED transition after negotiation
14763           occurred already.
14764         * gst/gstmessage.c: (gst_message_init):
14765           Extra piece of debug for new messages.
14766
14767 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
14768
14769         * configure.ac:
14770         * docs/gst/tmpl/gstbasesrc.sgml:
14771         * docs/gst/tmpl/gstelement.sgml:
14772         * docs/gst/tmpl/gstevent.sgml:
14773         * docs/gst/tmpl/gstfakesrc.sgml:
14774         * docs/gst/tmpl/gstformat.sgml:
14775         * docs/gst/tmpl/gstghostpad.sgml:
14776         * docs/gst/tmpl/gstpad.sgml:
14777         * docs/gst/tmpl/gstquery.sgml:
14778         * docs/gst/tmpl/gststructure.sgml:
14779         * docs/gst/tmpl/gsttaglist.sgml:
14780         * docs/gst/tmpl/gstvalue.sgml:
14781         * docs/libs/gstreamer-libs-docs.sgml:
14782         * docs/libs/gstreamer-libs-sections.txt:
14783         * docs/libs/gstreamer-libs.types:
14784         * libs/gst/Makefile.am:
14785         * libs/gst/control/.cvsignore:
14786         * libs/gst/control/Makefile.am:
14787         * libs/gst/control/control.c:
14788         * libs/gst/control/control.h:
14789         * libs/gst/control/dparam.c:
14790         * libs/gst/control/dparam.h:
14791         * libs/gst/control/dparam_smooth.c:
14792         * libs/gst/control/dparam_smooth.h:
14793         * libs/gst/control/dparamcommon.h:
14794         * libs/gst/control/dparammanager.c:
14795         * libs/gst/control/dparammanager.h:
14796         * libs/gst/control/dplinearinterp.c:
14797         * libs/gst/control/dplinearinterp.h:
14798         * libs/gst/control/unitconvert.c:
14799         * libs/gst/control/unitconvert.h:
14800         * testsuite/Makefile.am:
14801         * testsuite/dynparams/.cvsignore:
14802         * testsuite/dynparams/Makefile.am:
14803         * testsuite/dynparams/dparamstest.c:
14804         * tools/Makefile.am:
14805         * tools/gst-inspect.c: (print_element_info), (main):
14806         * tools/gst-xmlinspect.c: (print_element_info), (main):
14807           deactivate and remove dparams (libgstcontrol)
14808
14809 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14810
14811         * gst/elements/gsttypefindelement.c:
14812         (gst_type_find_element_have_type), (gst_type_find_element_init),
14813         (stop_typefinding), (gst_type_find_element_handle_event),
14814         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14815         * gst/elements/gsttypefindelement.h:
14816           Set caps on all outgoing buffers, not just the first one.
14817
14818 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14819
14820         * gst/elements/gsttypefindelement.c:
14821         (gst_type_find_element_have_type),
14822         (gst_type_find_element_check_set_buffer_caps),
14823         (gst_type_find_element_init), (stop_typefinding),
14824         (gst_type_find_element_handle_event),
14825         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14826         * gst/elements/gsttypefindelement.h:
14827           Set caps on first outgoing buffer when we've found the type.
14828
14829 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14830
14831         * docs/gst/gstreamer-docs.sgml:
14832         * docs/gst/gstreamer-sections.txt:
14833         * docs/gst/tmpl/gstscheduler.sgml:
14834         * docs/gst/tmpl/gstschedulerfactory.sgml:
14835           Remove some old cruft from docs.
14836
14837 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
14838
14839         * gst/gstpad.h:
14840           Fix inline docs for GstPadLinkReturn.
14841           
14842         * gst/gststructure.c: (gst_structure_has_name):
14843         * gst/gststructure.h:
14844         * docs/gst/gstreamer-sections.txt:
14845           New API: gst_structure_has_name().
14846
14847 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
14848
14849         * configure.ac:
14850           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
14851           and _LARGEFILE_SOURCE in config.h as required. Do not 
14852           export those flags in our .pc files any longer (#142209).
14853
14854           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
14855
14856         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
14857         (gst_file_sink_do_seek), (gst_file_sink_event),
14858         (gst_file_sink_get_current_offset), (gst_file_sink_render):
14859           Redo seek/tell calls with large file support in mind; add some
14860           debugging messages; add log message that tells us when large
14861           file support is unavailable or not enabled for some reason.
14862
14863         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
14864           Add log message that tells us when large file support 
14865           is unavailable or not enabled for some reason.
14866
14867 2005-07-29  Wim Taymans  <wim@fluendo.com>
14868
14869         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14870         Added test for removing an element with ghostpad from a bin.
14871         Fixed test as current implementation does the right thing.
14872
14873         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
14874         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
14875         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
14876         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
14877         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
14878         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
14879         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
14880         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14881         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
14882         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
14883         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
14884         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
14885         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
14886         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
14887         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
14888         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
14889         * gst/gstghostpad.h:
14890         Clean up ghostpads, remove properties for internal stuff.
14891         Make threadsafe.
14892         Fix refcounting.
14893         Prepare for switching targets, not all use cases work yet.
14894
14895 2005-07-29  Wim Taymans  <wim@fluendo.com>
14896
14897         * docs/design/part-gstghostpad.txt:
14898         Small update.
14899
14900         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14901         (gst_bin_remove_func):
14902         Unlinking pads while holding the bin LOCK is not a good
14903         idea.
14904
14905         * gst/gstpad.c: (gst_pad_class_init),
14906         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
14907         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
14908         No prob setting template after creating the pad.
14909
14910 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
14911
14912         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
14913         (gst_bus_peek), (gst_bus_source_dispatch),
14914         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
14915         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
14916           gst_bus_poll may be called from other threads. Handle
14917           this nicely by not making poll_data disappear off the
14918           stack once gst_bus_poll returns.
14919           gst_bus_peek now increments the refcount on the returned
14920           message.
14921
14922 2005-07-29  Wim Taymans  <wim@fluendo.com>
14923
14924         * docs/design/part-gstghostpad.txt:
14925         Overview of current GhostPad datastructures and use
14926         cases for changing the target.
14927
14928 2005-07-28  Wim Taymans  <wim@fluendo.com>
14929
14930         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14931         Added checks for hierarchy consistency whan adding linked
14932         elements to bins.
14933
14934         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14935         Added check to test element scheduling without bin/pipeline.
14936
14937         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14938         First add elements to bin, then link.
14939         
14940         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14941         (gst_bin_remove_func):
14942         Unlink pads from elements added/removed from bin to maintain
14943         hierarchy consistency.
14944
14945 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14946
14947         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14948         (gst_base_transform_handle_buffer):
14949         * gst/base/gstbasetransform.h:
14950           Remove broken delay_configure (fixes renegotiation of software
14951           scaling pipelines); remove some leftover printf()s.
14952
14953 2005-07-28  Wim Taymans  <wim@fluendo.com>
14954
14955         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
14956         Added some more tests for wrong hierarchy
14957
14958         * docs/design/part-overview.txt:
14959         Some updates.
14960
14961         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
14962         Cleanups.
14963
14964         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
14965         (gst_element_dispose):
14966         Some more cleanups.
14967
14968         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14969         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
14970         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14971         (gst_pad_set_caps), (gst_pad_send_event):
14972         Check for correct hierarchy when linking pads. Moving to
14973         strict requirement for ghostpads when linking elements in
14974         different bins.
14975
14976         * gst/gstpad.h:
14977         Clean ups. Added WRONG_HIERARCHY return value.
14978
14979 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14980
14981         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14982           Better debug if no transform is possible.
14983
14984 2005-07-27  Wim Taymans  <wim@fluendo.com>
14985
14986         * docs/random/wtay/network-transp:
14987         Some old doc I had.
14988
14989 2005-07-27  Wim Taymans  <wim@fluendo.com>
14990
14991         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14992         (gst_dp_event_from_packet):
14993         Fix serialization of seek events.
14994
14995 2005-07-27  Wim Taymans  <wim@fluendo.com>
14996
14997         * check/gst-libs/gdp.c: (GST_START_TEST):
14998         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14999         Fix compilation and fix event serialization.
15000
15001 2005-07-27  Wim Taymans  <wim@fluendo.com>
15002
15003         * CHANGES-0.9:
15004         * docs/design/part-TODO.txt:
15005         * docs/design/part-events.txt:
15006         Some docs updates
15007
15008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15009         (gst_base_sink_event), (gst_base_sink_do_sync),
15010         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15011         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15012         (gst_base_src_do_seek), (gst_base_src_event_handler),
15013         (gst_base_src_loop):
15014         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15015         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15016         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15017         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15018         (gst_base_transform_set_passthrough),
15019         (gst_base_transform_is_passthrough):
15020         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15021         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15022         Event updates.
15023
15024         * gst/gstbuffer.h:
15025         Use faster casts.
15026
15027         * gst/gstelement.c: (gst_element_seek):
15028         * gst/gstelement.h:
15029         Update gst_element_seek.
15030
15031         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15032         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15033         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15034         (gst_event_new_eos), (gst_event_new_newsegment),
15035         (gst_event_parse_newsegment), (gst_event_new_tag),
15036         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15037         (gst_event_parse_qos), (gst_event_new_seek),
15038         (gst_event_parse_seek), (gst_event_new_navigation):
15039         * gst/gstevent.h:
15040         Make GstEvent use GstStructure. Add parsing code, make sure the
15041         API is sufficiently generic.
15042         Mark possible directions of events and serialization.
15043
15044         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15045         (_gst_message_copy), (gst_message_new_segment_start),
15046         (gst_message_new_segment_done), (gst_message_new_custom),
15047         (gst_message_parse_segment_start),
15048         (gst_message_parse_segment_done):
15049         Small cleanups.
15050
15051         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15052         (gst_pad_set_caps), (gst_pad_send_event):
15053         Update for new events. 
15054         Catch events sent in wrong directions.
15055
15056         * gst/gstqueue.c: (gst_queue_link_src),
15057         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15058         (gst_queue_handle_src_query):
15059         Event updates.
15060
15061         * gst/gsttag.c:
15062         * gst/gsttag.h:
15063         Remove event code from this file.
15064
15065         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15066         (gst_dp_event_from_packet):
15067         Event updates.
15068
15069 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15070
15071         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15072         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15073         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15074           Make debugging actually useful.
15075
15076 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15077
15078         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15079         (gst_pad_fixate_caps):
15080           Implement default fixation once again, so that gst_pad_fixate()
15081           actually does anything at all. This probably needs to be some
15082           sort of a last resort, and use profile-based fixation first, but
15083           since that doesn't exist yet, this is the best we have. Fixes
15084           visualization in Totem.
15085
15086 2005-07-22  Wim Taymans  <wim@fluendo.com>
15087
15088         * docs/design/part-events.txt:
15089         Small update.
15090
15091         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15092         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15093         (gst_base_sink_activate_pull):
15094         Some more comments.
15095
15096         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15097         (gst_fake_src_create):
15098         Fix handoff marshall.
15099
15100         * gst/elements/gstidentity.c: (gst_identity_class_init),
15101         (gst_identity_transform_ip):
15102         We're a real inplace element.
15103
15104         * gst/gstbus.c: (gst_bus_post):
15105         Added some comments.
15106
15107         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15108         * tests/muxing/case1.c: (main):
15109         * tests/sched/dynamic-pipeline.c: (main):
15110         * tests/sched/interrupt1.c: (main):
15111         * tests/sched/interrupt2.c: (main):
15112         * tests/sched/interrupt3.c: (main):
15113         * tests/sched/runxml.c: (main):
15114         * tests/sched/sched-stress.c: (main):
15115         * tests/seeking/seeking1.c: (event_received), (main):
15116         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15117         (main):
15118         * tests/threadstate/threadstate3.c: (main):
15119         * tests/threadstate/threadstate4.c: (main):
15120         * tests/threadstate/threadstate5.c: (main):
15121         Fix the tests.
15122
15123 2005-07-21  Wim Taymans  <wim@fluendo.com>
15124
15125         * docs/design/part-seeking.txt:
15126         Some small additions.
15127
15128         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15129         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15130         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15131         * gst/base/gstbasesink.h:
15132         discont values are gint64, handle the math correctly.
15133
15134         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15135         Make the basesrc report error if the source pad is not linked.
15136
15137         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15138         (gst_queue_loop), (gst_queue_handle_src_query),
15139         (gst_queue_src_activate_push):
15140         Make queue collect data even if the srcpad is not linked.
15141         Start pushing out data as soon as it is linked.
15142
15143         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15144         * gst/gstutils.h:
15145         Added gst_flow_get_name() to ease error reporting.
15146
15147 2005-07-20  Wim Taymans  <wim@fluendo.com>
15148
15149         * gst/gstmessage.c: (gst_message_new_segment_start),
15150         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15151         (gst_message_parse_segment_done):
15152         * gst/gstmessage.h:
15153         Added a bunch of messages for advanced seeking.
15154
15155         * gst/parse/grammar.y:
15156         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15157         (gst_dpman_state_changed):
15158         Fix some new-pad -> pad-added signals
15159
15160 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15161
15162         * docs/manual/appendix-porting.xml:
15163         * docs/pwg/appendix-porting.xml:
15164           Document new-pad/state-change signal renames and the FixedList
15165           type rename.
15166
15167 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15168
15169         * docs/manual/advanced-autoplugging.xml:
15170         * docs/manual/basics-helloworld.xml:
15171         * docs/manual/basics-pads.xml:
15172         * docs/random/ds/0.9-suggested-changes:
15173         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15174         * gst/gstelement.h:
15175         * gst/gstevent.h:
15176         * gst/gstformat.h:
15177         * gst/gstquery.h:
15178         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15179         (gst_structure_parse_array), (gst_structure_parse_value):
15180         * gst/gstvalue.c: (gst_type_is_fixed),
15181         (gst_value_list_prepend_value), (gst_value_list_append_value),
15182         (gst_value_list_get_size), (gst_value_list_get_value),
15183         (gst_value_transform_array_string), (gst_value_serialize_array),
15184         (gst_value_deserialize_array), (gst_value_intersect_array),
15185         (gst_value_is_fixed), (_gst_value_initialize):
15186         * gst/gstvalue.h:
15187           GstElement::new-pad -> pad-added, GstElement::state-change ->
15188           state-changed, GstValueFixedList -> GstValueArray, add format and
15189           flags as their own arguments in gst_element_seek() (should improve
15190           "bindeability"), remove function generators since they don't work
15191           under a whole bunch of compilers (they were deprecated already
15192           anyway).
15193
15194 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15195
15196         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15197         (_gst_debug_register_funcptr):
15198         * gst/gstinfo.h:
15199           Fix illegal cast on some platforms (#309253).
15200
15201 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15202
15203         * gst/gstmessage.c: (gst_message_new_custom):
15204         * gst/gstmessage.h:
15205           Add _new_custom, make _new_application a macro to _new_custom.
15206
15207 2005-07-20  Wim Taymans  <wim@fluendo.com>
15208
15209         * gst/base/gstbasesrc.c: (gst_base_src_init),
15210         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15211         * gst/base/gstbasesrc.h:
15212         Add a gboolean to decide when to push out a discont.
15213
15214         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15215         (gst_queue_loop), (gst_queue_handle_src_query),
15216         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15217         (gst_queue_set_property), (gst_queue_get_property):
15218         Some cleanups.
15219
15220         * tests/threadstate/threadstate1.c: (main):
15221         Make a thread test compile and run... very silly..
15222
15223
15224 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15225
15226         * docs/manual/appendix-porting.xml:
15227           Mention removal of libgstgconf-0.9.la and existence of gconf
15228           elements.
15229
15230 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15231
15232         * docs/pwg/advanced-clock.xml:
15233         * docs/pwg/appendix-porting.xml:
15234         * docs/pwg/intro-preface.xml:
15235         * docs/pwg/other-base.xml:
15236         * docs/pwg/other-manager.xml:
15237         * docs/pwg/other-nton.xml:
15238         * docs/pwg/other-ntoone.xml:
15239         * docs/pwg/other-oneton.xml:
15240         * docs/pwg/pwg.xml:
15241           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15242           demuxer), remove n-to-n (was never written), fix some code examples
15243           and links and update the porting section to include all this.
15244
15245 2005-07-19  Wim Taymans  <wim@fluendo.com>
15246
15247         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
15248         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
15249         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
15250         (gst_queue_src_activate_push), (gst_queue_change_state),
15251         (gst_queue_get_property):
15252         * gst/gstqueue.h:
15253         Propagate GstFlowReturn more intelligently upstream and output
15254         an ERROR/EOS when streaming stopped due to fatal error.
15255
15256 2005-07-19  Wim Taymans  <wim@fluendo.com>
15257
15258         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15259         Don't block forever for the state change to complete, the
15260         pipeline already did with a sensible timeout.
15261
15262 2005-07-19  Wim Taymans  <wim@fluendo.com>
15263
15264         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15265         Make sure we never call the create function is we
15266         got deactivated.
15267
15268 2005-07-19  Andy Wingo  <wingo@pobox.com>
15269
15270         * gst/parse/parse.l: Attempt to solve bug #172815.
15271
15272 2005-07-19  Wim Taymans  <wim@fluendo.com>
15273
15274         * docs/design/part-clocks.txt:
15275         * docs/design/part-events.txt:
15276         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
15277         Small docs updates.
15278         Only update the seeking values when we are not
15279         busy streaming.
15280
15281 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15282
15283         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15284           Oops, ignore the result of gst_pad_push_event here.
15285
15286 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15287
15288         * gst/base/gstbasesrc.c: (gst_base_src_loop),
15289         (gst_base_src_activate_push):
15290           Send discont event from the loop function, as pads
15291           aren't activated yet in the activate_push handler.
15292
15293         * gst/gstbin.c: (bin_bus_handler):
15294           Don't leak element name.
15295
15296 2005-07-18  Andy Wingo  <wingo@pobox.com>
15297
15298         * configure.ac: Use AS_LIBTOOL_TAGS.
15299
15300 2005-07-18  Wim Taymans  <wim@fluendo.com>
15301
15302         * docs/gst/gstreamer.types:
15303         Remove deleted types.
15304
15305 2005-07-18  Wim Taymans  <wim@fluendo.com>
15306
15307         * check/elements/gstfakesrc.c: (GST_START_TEST):
15308         * configure.ac:
15309         * gst/Makefile.am:
15310         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
15311         (init_popt_callback):
15312         * gst/gst.h:
15313         * gst/gst_private.h:
15314         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
15315         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
15316         * gst/gstbin.h:
15317         * gst/gstbus.h:
15318         * gst/gstconfig.h.in:
15319         * gst/gstelement.c: (gst_element_class_init),
15320         (gst_element_set_base_time), (gst_element_get_base_time),
15321         (iterator_fold_with_resync), (gst_element_change_state),
15322         (gst_element_dispose), (gst_element_get_bus):
15323         * gst/gstelement.h:
15324         * gst/gstelementfactory.h:
15325         * gst/gsterror.c: (_gst_core_errors_init):
15326         * gst/gsterror.h:
15327         * gst/gstevent.h:
15328         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15329         * gst/gstindex.c:
15330         * gst/gstinfo.c: (_gst_debug_init):
15331         * gst/gstmessage.c: (_gst_message_copy):
15332         * gst/gstmessage.h:
15333         * gst/gstminiobject.h:
15334         * gst/gstobject.c:
15335         * gst/gstobject.h:
15336         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15337         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
15338         * gst/gstpad.h:
15339         * gst/gstparse.h:
15340         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15341         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15342         (gst_pipeline_get_last_stream_time):
15343         * gst/gstpipeline.h:
15344         * gst/gstpluginfeature.h:
15345         * gst/gstquery.h:
15346         * gst/gstscheduler.c:
15347         * gst/gstscheduler.h:
15348         * gst/gststructure.h:
15349         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15350         (gst_task_finalize), (gst_task_func), (gst_task_create),
15351         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
15352         (gst_task_stop), (gst_task_pause):
15353         * gst/gsttask.h:
15354         * gst/gsttypefind.h:
15355         * gst/gsttypes.h:
15356         * gst/registries/gstlibxmlregistry.c: (load_feature),
15357         (gst_xml_registry_load), (gst_xml_registry_save_feature):
15358         * gst/registries/gstxmlregistry.c:
15359         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
15360         * gst/schedulers/threadscheduler.c:
15361         * libs/gst/control/dparammanager.h:
15362         * tools/gst-inspect.c: (print_element_list),
15363         (print_plugin_features), (print_element_features):
15364         * tools/gst-xmlinspect.c: (print_element_list),
15365         (print_plugin_info), (main):
15366         Removed plugable schedulers.
15367         Removed Scheduler/Manager from elements.
15368         Removed gsttypes.h, rearranged includes.
15369         Removed dependency pad<->element, element<>pipeline, and
15370         various others,  fix includes.
15371         implement gst_pad_get_parent() with gst_object_get_parent()
15372         Make GstTask sefcontained.
15373         Fix _get_state() on GstBin, it did not return ASYNC with a 0
15374         timeout.
15375         Fix endless loop in iterator_fold_with_resync.
15376
15377
15378 2005-07-18  Wim Taymans  <wim@fluendo.com>
15379
15380         * gst/Makefile.am:
15381         * gst/gstarch.h:
15382         Remove old file.
15383
15384 2005-07-18  Wim Taymans  <wim@fluendo.com>
15385
15386         * gst/Makefile.am:
15387         No more cothreads.h
15388
15389 2005-07-18  Wim Taymans  <wim@fluendo.com>
15390
15391         * gst/cothreads.c:
15392         * gst/cothreads.h:
15393         Let's remove these.
15394
15395 2005-07-18  Wim Taymans  <wim@fluendo.com>
15396
15397         * docs/design/part-dynamic.txt:
15398         * docs/design/part-events.txt:
15399         * docs/design/part-seeking.txt:
15400         Some more docs in the works.
15401
15402         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15403         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
15404         (gst_base_transform_setcaps), (gst_base_transform_get_size),
15405         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
15406         (gst_base_transform_handle_buffer),
15407         (gst_base_transform_sink_activate_push),
15408         (gst_base_transform_src_activate_pull),
15409         (gst_base_transform_set_passthrough),
15410         (gst_base_transform_is_passthrough):
15411         Refcounting fixes.
15412
15413         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
15414         Cleanups.
15415
15416         * gst/gstevent.c: (gst_event_finalize):
15417         Set SRC to NULL.
15418
15419         * gst/gstutils.c: (gst_element_unlink),
15420         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
15421         (gst_pad_proxy_setcaps):
15422         * gst/gstutils.h:
15423         Add _get_parent_element() to get a pads parent as an element.
15424
15425 2005-07-18  Wim Taymans  <wim@fluendo.com>
15426
15427         * check/gst/gstbin.c: (GST_START_TEST):
15428         Remove bogus test.
15429
15430 2005-07-18  Wim Taymans  <wim@fluendo.com>
15431
15432         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15433         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15434         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15435         (gst_base_sink_event), (gst_base_sink_do_sync),
15436         (gst_base_sink_chain), (gst_base_sink_loop),
15437         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
15438         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15439         Refcounting fixes.
15440         Fix logic for returning ASYNC when not prerolled.
15441
15442 2005-07-18  Wim Taymans  <wim@fluendo.com>
15443
15444         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15445         Fix nasty refcount bug.
15446
15447 2005-07-16 Philippe Khalaf <burger@speedy.org>
15448
15449         * gst/elements/gstfdsrc.c:
15450         * gst/elements/gstfdsrc.h:
15451         * gst/elements/gstelements.c:
15452         * gst/elements/Makefile.am:
15453         Ported fdsrc to 0.9.
15454
15455 2005-07-16  Wim Taymans  <wim@fluendo.com>
15456
15457         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15458         (gst_base_sink_do_sync):
15459         Fix compile error.
15460
15461 2005-07-16  Wim Taymans  <wim@fluendo.com>
15462
15463         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15464         (gst_base_sink_event), (gst_base_sink_get_times),
15465         (gst_base_sink_do_sync), (gst_base_sink_change_state):
15466         * gst/base/gstbasesink.h:
15467         Store and use discont values when syncing buffers as described
15468         in design docs.
15469         
15470         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15471         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
15472         (gst_base_src_activate_push):
15473         Push discont event when starting.
15474
15475         * gst/elements/gstidentity.c: (gst_identity_transform):
15476         Small cleanups.
15477
15478         * gst/gstbin.c: (gst_bin_change_state):
15479         Small cleanups in base_time  distribution.
15480
15481         * gst/gstelement.c: (gst_element_set_base_time),
15482         (gst_element_get_base_time), (gst_element_change_state):
15483         * gst/gstelement.h:
15484         Added methods for the base_time of the element.
15485         Some MT fixes.
15486
15487         * gst/gstpipeline.c: (gst_pipeline_send_event),
15488         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15489         (gst_pipeline_get_last_stream_time):
15490         * gst/gstpipeline.h:
15491         MT fixes.
15492         Handle seeking as described in design doc, remove stream_time
15493         hack.
15494         Cleanups clock and stream_time selection code. Added accessors
15495         for the stream_time.
15496         
15497
15498 2005-07-16  Andy Wingo  <wingo@pobox.com>
15499
15500         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
15501         (#305291).
15502
15503 2005-07-16  Wim Taymans  <wim@fluendo.com>
15504
15505         * check/gst/gstbin.c: (GST_START_TEST):
15506         Make elements silent as the deep_notify refs the
15507         parent, which might make the test fail.
15508
15509         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15510         Don't hold the lock for too long.
15511
15512 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
15513
15514         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15515           Don't unref the caps we passed to gst_caps_make_writable() after
15516           passing them. gst_caps_make_writable() will do that for us.
15517
15518 2005-07-15  Andy Wingo  <wingo@pobox.com>
15519
15520         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
15521         (#157311).
15522
15523         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
15524         own marshalling function for the handoff signal. Properly type the
15525         buffer as a buffer. Fixes some warnings. Should do a more general
15526         solution.
15527         (gst_identity_class_init): Plug into the right marshaller.
15528
15529 2005-07-15  Wim Taymans  <wim@fluendo.com>
15530
15531         * docs/design/part-TODO.txt:
15532         * docs/design/part-clocks.txt:
15533         * docs/design/part-element-sink.txt:
15534         * docs/design/part-events.txt:
15535         * docs/design/part-gstpipeline.txt:
15536         Updated docs, mostly DISCONT related.
15537
15538 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
15539
15540         * docs/pwg/building-pads.xml:
15541           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
15542
15543 2005-07-15  Andy Wingo  <wingo@pobox.com>
15544
15545         * tools/gst-typefind.c: Update, add copyright block.
15546
15547         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
15548         Normalize and truncate caps before fixation.
15549
15550         * gst/gstcaps.h:
15551         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
15552         discards all but the first structure from its argument.
15553
15554 2005-07-15  Wim Taymans  <wim@fluendo.com>
15555
15556         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15557         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
15558         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15559         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15560         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
15561         (gst_base_transform_chain), (gst_base_transform_change_state),
15562         (gst_base_transform_set_passthrough),
15563         (gst_base_transform_is_passthrough):
15564         * gst/base/gstbasetransform.h:
15565         Make passthrough work using the bufferpools.
15566         Changed API a bit, subclasses have to write into a buffer
15567         provided by the base class.
15568         More debug info in nego functions.
15569         
15570         * gst/elements/gstidentity.c: (gst_identity_init),
15571         (gst_identity_transform):
15572         Port to new base class.
15573
15574 2005-07-15  Wim Taymans  <wim@fluendo.com>
15575
15576         * gst/gstmessage.c: (gst_message_new_state_changed):
15577         * tools/gst-launch.c: (event_loop), (main):
15578         Totally dump messages in -launch with the -m option.
15579         Fix message name for State messages,
15580
15581 2005-07-14  Wim Taymans  <wim@fluendo.com>
15582
15583         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15584         Post error messages on errors.
15585
15586 2005-07-14  Wim Taymans  <wim@fluendo.com>
15587
15588         * gst/gstcaps.c: (gst_caps_do_simplify):
15589         Remove debug info.
15590
15591         * gst/gsterror.h:
15592         Define error for stream stopped.
15593
15594         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15595         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
15596         Do proper return values.
15597
15598         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15599         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
15600         (gst_pad_get_range):
15601         Better return values.
15602
15603         * gst/gstpad.h:
15604         Reorganise return values, add macro to check for fatal errors.
15605
15606         * gst/gstqueue.c: (gst_queue_chain):
15607         Return proper GstFlowReturn values,
15608
15609 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15610
15611         * docs/gst/gstreamer-sections.txt:
15612         * docs/gst/gstreamer.types:
15613         * docs/gst/tmpl/gst.sgml:
15614         * docs/gst/tmpl/gstbasesink.sgml:
15615         * docs/gst/tmpl/gstbasesrc.sgml:
15616         * docs/gst/tmpl/gstbasetransform.sgml:
15617         * docs/gst/tmpl/gstbin.sgml:
15618         * docs/gst/tmpl/gstbuffer.sgml:
15619         * docs/gst/tmpl/gstcaps.sgml:
15620         * docs/gst/tmpl/gstclock.sgml:
15621         * docs/gst/tmpl/gstcompat.sgml:
15622         * docs/gst/tmpl/gstconfig.sgml:
15623         * docs/gst/tmpl/gstelement.sgml:
15624         * docs/gst/tmpl/gstelementdetails.sgml:
15625         * docs/gst/tmpl/gstelementfactory.sgml:
15626         * docs/gst/tmpl/gstenumtypes.sgml:
15627         * docs/gst/tmpl/gsterror.sgml:
15628         * docs/gst/tmpl/gstevent.sgml:
15629         * docs/gst/tmpl/gstfakesink.sgml:
15630         * docs/gst/tmpl/gstfakesrc.sgml:
15631         * docs/gst/tmpl/gstfilesink.sgml:
15632         * docs/gst/tmpl/gstfilesrc.sgml:
15633         * docs/gst/tmpl/gstfilter.sgml:
15634         * docs/gst/tmpl/gstformat.sgml:
15635         * docs/gst/tmpl/gstghostpad.sgml:
15636         * docs/gst/tmpl/gstimplementsinterface.sgml:
15637         * docs/gst/tmpl/gstindex.sgml:
15638         * docs/gst/tmpl/gstindexfactory.sgml:
15639         * docs/gst/tmpl/gstinfo.sgml:
15640         * docs/gst/tmpl/gstiterator.sgml:
15641         * docs/gst/tmpl/gstmacros.sgml:
15642         * docs/gst/tmpl/gstmemchunk.sgml:
15643         * docs/gst/tmpl/gstminiobject.sgml:
15644         * docs/gst/tmpl/gstobject.sgml:
15645         * docs/gst/tmpl/gstpad.sgml:
15646         * docs/gst/tmpl/gstpadtemplate.sgml:
15647         * docs/gst/tmpl/gstparse.sgml:
15648         * docs/gst/tmpl/gstpipeline.sgml:
15649         * docs/gst/tmpl/gstplugin.sgml:
15650         * docs/gst/tmpl/gstpluginfeature.sgml:
15651         * docs/gst/tmpl/gstquery.sgml:
15652         * docs/gst/tmpl/gstqueue.sgml:
15653         * docs/gst/tmpl/gstregistry.sgml:
15654         * docs/gst/tmpl/gstregistrypool.sgml:
15655         * docs/gst/tmpl/gstscheduler.sgml:
15656         * docs/gst/tmpl/gstschedulerfactory.sgml:
15657         * docs/gst/tmpl/gststructure.sgml:
15658         * docs/gst/tmpl/gstsystemclock.sgml:
15659         * docs/gst/tmpl/gsttaglist.sgml:
15660         * docs/gst/tmpl/gsttagsetter.sgml:
15661         * docs/gst/tmpl/gsttrace.sgml:
15662         * docs/gst/tmpl/gsttrashstack.sgml:
15663         * docs/gst/tmpl/gsttypefind.sgml:
15664         * docs/gst/tmpl/gsttypefindfactory.sgml:
15665         * docs/gst/tmpl/gsttypes.sgml:
15666         * docs/gst/tmpl/gsturihandler.sgml:
15667         * docs/gst/tmpl/gsturitype.sgml:
15668         * docs/gst/tmpl/gstutils.sgml:
15669         * docs/gst/tmpl/gstvalue.sgml:
15670         * docs/gst/tmpl/gstversion.sgml:
15671         * docs/gst/tmpl/gstxml.sgml:
15672         * docs/libs/tmpl/gstcontrol.sgml:
15673         * docs/libs/tmpl/gstdataprotocol.sgml:
15674         * docs/libs/tmpl/gstdparam.sgml:
15675         * docs/libs/tmpl/gstdplinint.sgml:
15676         * docs/libs/tmpl/gstdpman.sgml:
15677         * docs/libs/tmpl/gstdpsmooth.sgml:
15678         * docs/libs/tmpl/gstgetbits.sgml:
15679         * docs/libs/tmpl/gstunitconvert.sgml:
15680         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
15681         (gst_push_src_base_init), (gst_push_src_class_init),
15682         (gst_push_src_init), (gst_push_src_create):
15683         * gst/base/gstpushsrc.h:
15684         * gst/elements/gstelements.c:
15685         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
15686         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
15687         (gst_fake_sink_init), (gst_fake_sink_set_property),
15688         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
15689         (gst_fake_sink_event), (gst_fake_sink_preroll),
15690         (gst_fake_sink_render), (gst_fake_sink_change_state):
15691         * gst/elements/gstfakesink.h:
15692         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15693         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
15694         (gst_fake_src_base_init), (gst_fake_src_class_init),
15695         (gst_fake_src_init), (gst_fake_src_event_handler),
15696         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
15697         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
15698         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
15699         (gst_fake_src_create_buffer), (gst_fake_src_create),
15700         (gst_fake_src_start), (gst_fake_src_stop):
15701         * gst/elements/gstfakesrc.h:
15702         * gst/elements/gstfilesink.c: (_do_init),
15703         (gst_file_sink_base_init), (gst_file_sink_class_init),
15704         (gst_file_sink_init), (gst_file_sink_dispose),
15705         (gst_file_sink_set_location), (gst_file_sink_set_property),
15706         (gst_file_sink_get_property), (gst_file_sink_open_file),
15707         (gst_file_sink_close_file), (gst_file_sink_query),
15708         (gst_file_sink_event), (gst_file_sink_render),
15709         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
15710         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
15711         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
15712         * gst/elements/gstfilesink.h:
15713         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
15714         (gst_file_src_class_init), (gst_file_src_init),
15715         (gst_file_src_finalize), (gst_file_src_set_location),
15716         (gst_file_src_set_property), (gst_file_src_get_property),
15717         (gst_file_src_map_region), (gst_file_src_map_small_region),
15718         (gst_file_src_create_mmap), (gst_file_src_create_read),
15719         (gst_file_src_create), (gst_file_src_is_seekable),
15720         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
15721         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
15722         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
15723         (gst_file_src_uri_handler_init):
15724         * gst/elements/gstfilesrc.h:
15725           more autistic cleanliness in functions/names/defines
15726
15727 2005-07-13  Andy Wingo  <wingo@pobox.com>
15728
15729         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
15730         source couldn't negotiate.
15731
15732         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
15733         connections again.
15734
15735         * gst/gstutils.h:
15736         * gst/gstutils.c (gst_element_link_pads_filtered): New old
15737         function. I am channeling Hades. Put your boots on suckers!!!
15738
15739 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15740
15741         * testsuite/caps/Makefile.am:
15742         * testsuite/caps/value_compare.c:
15743         * testsuite/caps/value_intersect.c:
15744         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15745           move two testsuite apps over to the check dir
15746
15747 2005-07-12  Wim Taymans  <wim@fluendo.com>
15748
15749         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15750         Added more debug info in the negotiate process.
15751
15752         * gst/gstmessage.h:
15753         Prepare for segment playback.
15754
15755         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
15756         Better debugging.
15757
15758         * gst/gstutils.c:
15759         Some more docs.
15760
15761         * tools/gst-launch.c: (main):
15762         NULL pipeline on errors.
15763
15764 2005-07-12  Andy Wingo  <wingo@pobox.com>
15765
15766         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
15767         not it comes from a malloc region. Make sure our copy gets freed.
15768
15769 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15770
15771         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15772         * check/gst/gstmessage.c: (GST_START_TEST):
15773         * check/gst/gststructure.c: (GST_START_TEST),
15774         (gst_structure_suite), (main):
15775           more testing
15776         * gst/gstelement.c: (gst_element_message_full):
15777           clean up GError and debug string now that they get copied
15778         * gst/gstmessage.c: (gst_message_new_error),
15779         (gst_message_new_warning), (gst_message_parse_error),
15780         (gst_message_parse_warning):
15781           use GST_TYPE_G_ERROR for structure_new, and take copies of
15782           arguments, so that we don't mess up refcounting
15783
15784 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15785
15786         * check/Makefile.am:
15787           add per-test valgrind targets
15788         * check/gst-libs/gdp.c: (GST_START_TEST),
15789         (gst_data_protocol_suite), (main):
15790           clean up
15791
15792 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15793
15794         * check/Makefile.am:
15795           instate more valgrindable tests
15796         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15797         (GST_START_TEST), (fakesrc_suite):
15798         * check/gst/gstpad.c: (GST_START_TEST):
15799         * check/gst/gststructure.c: (GST_START_TEST):
15800           fix test leaks
15801         * docs/gst/tmpl/gstminiobject.sgml:
15802         * gst/gstpad.c: (gst_pad_finalize):
15803           fix the static mutex leak
15804
15805 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15806
15807         * check/Makefile.am:
15808           add two more tests for valgrinding
15809         * check/gst/gstvalue.c: (GST_START_TEST):
15810           test refcount of deserialized buffer, found a leak
15811         * docs/gst/gstreamer-docs.sgml:
15812         * docs/gst/gstreamer-sections.txt:
15813         * docs/gst/gstreamer.types:
15814         * docs/gst/tmpl/gstminiobject.sgml:
15815           add miniobject to docs
15816         * gst/gstminiobject.c:
15817           add some docs
15818         * gst/gstvalue.c: (gst_value_deserialize_buffer),
15819         (gst_string_unwrap):
15820           fix a hard-to-find invalid write for one of the tests
15821           fix a leak for deserialized buffers
15822
15823 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15824
15825         * docs/pwg/advanced-events.xml:
15826         * docs/pwg/advanced-request.xml:
15827         * docs/pwg/advanced-scheduling.xml:
15828         * docs/pwg/appendix-porting.xml:
15829         * docs/pwg/building-boiler.xml:
15830         * docs/pwg/intro-preface.xml:
15831         * docs/pwg/other-ntoone.xml:
15832           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
15833           of example code and explanation for pad activation, loop() and
15834           getrange() functions and a bit more. Remove old comments pointing
15835           to loop-functions.
15836         * examples/pwg/Makefile.am:
15837           Add loop/getrange examples.
15838
15839 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15840
15841         * configure.ac:
15842           check for valgrind binary + some fixes
15843         * check/gst.supp:
15844           valgrind suppressions for the tests
15845         * check/Makefile.am:
15846           add a valgrind: target that valgrinds the unit tests
15847         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
15848         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15849         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15850         * check/gst/gstghostpad.c:
15851           added some cleanup
15852         * check/gst/gstdata.c:
15853           removed
15854         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
15855         (thread_unref), (gst_mini_object_suite), (main):
15856           added
15857         * gst/gst.c: (gst_deinit):
15858         * gst/gst.h:
15859           add a method to clean up.
15860         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15861         (gst_system_clock_obtain):
15862           allow for disposing the system clock.
15863         * tools/gst-launch.c: (main):
15864           deinit
15865
15866 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15867
15868         * docs/gst/tmpl/gstbasesrc.sgml:
15869         * docs/gst/tmpl/gstfakesrc.sgml:
15870         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15871         (gst_base_src_init), (gst_base_src_set_property),
15872         (gst_base_src_get_property), (gst_base_src_get_range),
15873         (gst_base_src_start):
15874         * gst/base/gstbasesrc.h:
15875           add num-buffers property
15876         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15877         (gst_fakesrc_init), (gst_fakesrc_set_property),
15878         (gst_fakesrc_get_property), (gst_fakesrc_create),
15879         (gst_fakesrc_start):
15880           remove num-buffers property
15881
15882 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15883
15884         * docs/gst/gstreamer-sections.txt:
15885         * docs/gst/tmpl/gstbasesink.sgml:
15886         * docs/gst/tmpl/gstbasesrc.sgml:
15887         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15888         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15889         (gst_base_sink_finalize), (gst_base_sink_set_clock),
15890         (gst_base_sink_set_property), (gst_base_sink_get_property),
15891         (gst_base_sink_handle_object), (gst_base_sink_event),
15892         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15893         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
15894         (gst_base_sink_loop), (gst_base_sink_deactivate),
15895         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
15896         (gst_base_sink_change_state):
15897         * gst/base/gstbasesink.h:
15898         * gst/base/gstbasesrc.h:
15899         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
15900         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15901         (gst_filesink_init):
15902           more macro splitting
15903
15904 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15905
15906         * gst/gstelement.c: (gst_element_get_bus):
15907           add debug
15908         * tools/gst-launch.c: (check_intr), (event_loop):
15909           fix bus leaks
15910
15911 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15912
15913         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15914           fix a caps leak
15915
15916 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15917
15918         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15919         (gst_base_src_finalize):
15920           add finalize method and clean up properly
15921         * gst/gstpipeline.c: (gst_pipeline_dispose):
15922           add debug
15923
15924 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15925
15926         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
15927         (gst_bin_suite):
15928           add more things to check
15929         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15930         * gst/gstelement.c:
15931           more debug
15932
15933 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15934
15935         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15936         (GST_START_TEST), (fakesrc_suite):
15937         * check/gst-libs/gdp.c: (GST_START_TEST):
15938         * check/gst/gst.c: (GST_START_TEST):
15939         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15940         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15941         * check/gst/gstbus.c: (GST_START_TEST):
15942         * check/gst/gstcaps.c: (GST_START_TEST):
15943         * check/gst/gstdata.c: (GST_START_TEST):
15944         * check/gst/gstelement.c: (GST_START_TEST):
15945         * check/gst/gstghostpad.c: (GST_START_TEST):
15946         * check/gst/gstiterator.c: (GST_START_TEST):
15947         * check/gst/gstmessage.c: (GST_START_TEST):
15948         * check/gst/gstobject.c: (GST_START_TEST):
15949         * check/gst/gstpad.c: (GST_START_TEST):
15950         * check/gst/gststructure.c: (GST_START_TEST):
15951         * check/gst/gstsystemclock.c: (GST_START_TEST),
15952         (gst_systemclock_suite):
15953         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15954         * check/gst/gstvalue.c: (GST_START_TEST):
15955         * check/pipelines/cleanup.c: (GST_START_TEST):
15956         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15957         * check/states/sinks.c: (GST_START_TEST):
15958         * check/gstcheck.c: (gst_check_init):
15959         * check/gstcheck.h:
15960           add debugging category
15961           use GST_START_TEST now, so we add a debug line
15962
15963 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15964
15965         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
15966           add test for state change message on a bin
15967         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
15968           add another test
15969         * gst/gstbin.c: (gst_bin_init):
15970         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
15971         * gst/gstelement.c: (gst_element_post_message),
15972         (gst_element_set_state):
15973         * gst/gstelementfactory.c: (gst_element_factory_create):
15974         * gst/gstmessage.c: (gst_message_new):
15975         * gst/gstscheduler.c:
15976           various debugging additions and cleanups
15977
15978 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15979
15980         * check/Makefile.am:
15981         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
15982         (main):
15983           adding tests for elements
15984         * gst/gstelement.c: (gst_element_dispose):
15985
15986 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15987
15988         * gst/registries/gstlibxmlregistry.c: (load_feature):
15989           plug more leaks.  A simple gst_init() now is leakfree, yay.
15990
15991 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15992
15993         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
15994         (gst_xml_registry_load):
15995           plug another memleak
15996
15997 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15998
15999         * configure.ac:
16000           use GST_SET_ERROR_CFLAGS
16001         * docs/faq/cvs.xml:
16002           change to ERROR_CFLAGS
16003
16004 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16005
16006         * configure.ac:
16007           make GST_ERROR_CFLAGS overridable and re-enable Werror
16008         * docs/faq/cvs.xml:
16009           add a note about error CFLAGS
16010         * docs/gst/tmpl/gstfakesrc.sgml:
16011         * gst/elements/gstfakesrc.c:
16012           comment out some unused code
16013         * gst/gst.c: (split_and_iterate):
16014         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16015         (load_feature):
16016           plug some memleaks
16017
16018 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16019
16020         * common/Makefile.am:
16021         * common/gtk-doc.mak:
16022         * docs/gst/Makefile.am:
16023           factor out gtk-doc.mak
16024
16025 2005-07-07  Wim Taymans  <wim@fluendo.com>
16026
16027         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16028         (gst_thread_scheduler_dispose):
16029         Unlock the STREAM_LOCK completely.
16030
16031 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16032
16033         * check/Makefile.am:
16034         * check/elements/.cvsignore:
16035         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16036         (START_TEST), (fakesrc_suite), (main):
16037         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16038         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16039         (gst_fakesrc_create), (gst_fakesrc_start):
16040         * gst/elements/gstfakesrc.h:
16041           adding a first element test
16042
16043 2005-07-07  Andy Wingo  <wingo@pobox.com>
16044
16045         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16046         debug message.
16047
16048 2005-07-07  Wim Taymans  <wim@fluendo.com>
16049
16050         * gst/gstquery.c:
16051         * gst/gstquery.h:
16052         Remove old types
16053
16054 2005-07-07  Wim Taymans  <wim@fluendo.com>
16055
16056         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16057         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16058         Allow subclasses to implement their own negotiation.
16059
16060 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16061
16062         * docs/design/part-gstbin.txt:
16063         * docs/design/part-gstpipeline.txt:
16064           Update design notes to reflect the movement of
16065           responsibility for bus handling from GstPipeline to
16066           GstBin
16067
16068 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16069
16070         * configure.ac:
16071           Remove unnecessary queue2/3/4 examples.
16072
16073 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16074
16075         * examples/Makefile.am:
16076         * examples/helloworld/helloworld.c: (event_loop), (main):
16077         * examples/queue/queue.c: (event_loop), (main):
16078         * examples/queue2/queue2.c: (main):
16079           Update a couple of the examples to work again.
16080
16081         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16082         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16083          Spelling corrections and extra debug.
16084         
16085         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16086         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16087         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16088         * gst/gstbin.h:
16089         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16090         (gst_pipeline_change_state):
16091         * gst/gstpipeline.h:
16092           Move the bus handler for children to the GstBin, and create a
16093           separate bus for receiving messages from children to the one the
16094           bus sends 'upwards' on.
16095
16096 2005-07-06  Wim Taymans  <wim@fluendo.com>
16097
16098         * gst/base/README:
16099         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16100         (gst_base_sink_handle_object), (gst_base_sink_loop),
16101         (gst_base_sink_change_state):
16102         * gst/base/gstbasesink.h:
16103         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16104         (gst_base_src_init), (gst_base_src_setcaps),
16105         (gst_base_src_getcaps), (gst_base_src_loop),
16106         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16107         (gst_base_src_start), (gst_base_src_change_state):
16108         * gst/base/gstbasesrc.h:
16109         Make basesrc negotiate.
16110         Handle the case where preroll fails in basesink.
16111         Update README.
16112
16113 2005-07-06  Wim Taymans  <wim@fluendo.com>
16114
16115         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16116         Implement the fixate function.
16117         Clean up acceptcaps.
16118
16119 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16120
16121         * docs/pwg/building-filterfactory.xml:
16122         * docs/pwg/pwg.xml:
16123           Remove never-written filter-factory chapter; I'll add the various
16124           base classes to part 4 ("other element types") later on.
16125
16126 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16127
16128         * docs/pwg/advanced-negotiation.xml:
16129         * docs/pwg/building-boiler.xml:
16130         * docs/pwg/building-pads.xml:
16131         * docs/pwg/pwg.xml:
16132         * examples/pwg/Makefile.am:
16133           Add a chapter on caps negotiation, simplify the original code
16134           samples a bit w.r.t. caps negotiation, add link to the advanced
16135           section. Add a bunch of examples showing different use cases of
16136           different types of caps negotiation. Upstream renegotiation isn't
16137           fully documented yet since nobody knows how that works.
16138
16139 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16140
16141         * check/gst/gstpad.c:
16142         * check/gstcheck.c:
16143         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16144           if pad has no parent, return NULL as list of internal links
16145
16146 2005-07-05  Andy Wingo  <wingo@pobox.com>
16147
16148         * gst/elements/gstfilesrc.c:
16149         * gst/elements/gstfakesrc.c: 
16150         * gst/base/gstpushsrc.c:
16151         * gst/base/gstbasesrc.h: 
16152         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16153         
16154 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16155
16156         * Makefile.am:
16157           better report generation target (lcov needs a patch)
16158
16159 2005-07-05  Andy Wingo  <wingo@pobox.com>
16160
16161         * gst/elements, testsuite: Null if we got it...
16162
16163 2005-07-05  Wim Taymans  <wim@fluendo.com>
16164
16165         * configure.ac:
16166         * libs/gst/dataprotocol/Makefile.am:
16167         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16168         * libs/gst/dataprotocol/dataprotocol.h:
16169         * pkgconfig/Makefile.am:
16170         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16171         * pkgconfig/gstreamer-dataprotocol.pc.in:
16172         Ported dataprotol to 0.9. 
16173         Added pkgconfig files.
16174
16175 2005-07-05  Andy Wingo  <wingo@pobox.com>
16176
16177         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16178         Default to returning TRUE for the case when tranform_caps returns
16179         a fixed caps, like for identity or volume.
16180
16181         * check/gst/gstbus.c (pound_bus_with_messages): 
16182         * check/gst/gstmessage.c (START_TEST): 
16183         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16184         message API change.
16185
16186         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16187         logic weaks here: always run transform_caps, trying passthrough
16188         operation only if the original caps intersects with the transform.
16189
16190         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16191         source and sink caps.
16192
16193         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16194         Intersect the peer caps with the pad template before going into
16195         transform_caps.
16196         (gst_base_transform_transform_caps): More debugging.
16197
16198         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16199         src argument.
16200
16201 2005-07-04  Edward Hervey  <edward@fluendo.com>
16202
16203         * gst/gstutils.c:
16204         * gst/gstutils.h:
16205         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16206         in bindings.
16207
16208 2005-07-04  Andy Wingo  <wingo@pobox.com>
16209
16210         * check/gst/gstpad.c: Only set explicit caps on pads.
16211
16212 2005-07-01  Andy Wingo  <wingo@pobox.com>
16213
16214         * tests/network-clock.scm: Commentary update.
16215
16216         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16217         Didn't really make sense, not implementable with basetransform,
16218         etc.
16219         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16220         attempt at implementing the sync property, needs an unlock method.
16221
16222         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16223         New func, by default returns the same caps (the identity
16224         transformation).
16225         (gst_base_transform_getcaps): Uses transform_caps to return
16226         something sensible.
16227         (gst_base_transform_setcaps): Complicated logic to get caps on
16228         both pads, even if they are different, and to call set_caps once
16229         for every time both pads get their caps set.
16230         (gst_base_transform_handle_buffer): Give the ref to the transform
16231         function. Allows in-place modification of the buffer.
16232
16233         * gst/base/gstbasetransform.h (transform_caps): New class method.
16234         Given caps on one side, what can I do on the other.
16235         (set_caps): Take two caps, one for each side of the element.
16236
16237         * gst/gstpad.h:
16238         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16239         caps in place. This is safe because we can check the mutability of
16240         the caps, and a good idea because fixate functions are just called
16241         as a matter of last resort. (Not actually implemented.)
16242         (gst_pad_set_caps): If the caps we're setting is actually the same
16243         as the existing pad caps, just update the pointer without calling
16244         setcaps. Assert that caps is either NULL or fixed, as per the
16245         docs.
16246
16247         * gst/gstghostpad.c: Update for fixate changes.
16248
16249 2005-07-02  Andy Wingo  <wingo@pobox.com>
16250
16251         * gst/gstcaps.c:
16252         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
16253         two refcounts makes it immutable, which is enough. Doc more.
16254
16255 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
16256
16257         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
16258           Put the mini_object into GValue as a mini_object,
16259           not a gpointer, since that's how we declared
16260           the signal.
16261
16262 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16263
16264         * examples/pwg/Makefile.am:
16265           Fix buildbot again.
16266
16267 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16268
16269         * docs/pwg/building-testapp.xml:
16270           Add extra check.
16271         * examples/pwg/Makefile.am:
16272           Fix buildbot.
16273
16274 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16275
16276         * configure.ac:
16277         * examples/Makefile.am:
16278         * examples/pwg/Makefile.am:
16279         * examples/pwg/extract.pl:
16280           Enable building the PWG examples.
16281         * docs/pwg/advanced-interfaces.xml:
16282           Add URI interface stub.
16283         * docs/pwg/advanced-types.xml:
16284         * docs/pwg/other-autoplugger.xml:
16285         * docs/pwg/appendix-porting.xml:
16286         * docs/pwg/pwg.xml:
16287           Add porting guide (mostly stubs), remove autoplugging (see ADM).
16288         * docs/pwg/building-boiler.xml:
16289         * docs/pwg/building-chainfn.xml:
16290         * docs/pwg/building-pads.xml:
16291         * docs/pwg/building-props.xml:
16292         * docs/pwg/building-state.xml:
16293         * docs/pwg/building-testapp.xml:
16294           Update the building-*.xml parts for 0.9 changes. All examples
16295           code blocks compile in examples/pwg/*.
16296
16297 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16298
16299         * docs/manual/advanced-autoplugging.xml:
16300         * docs/manual/appendix-checklist.xml:
16301         * docs/manual/appendix-integration.xml:
16302         * docs/manual/highlevel-components.xml:
16303           Fix playbin/decodebin examples, update docs a bit, mention bus
16304           instead of signals in various places, mention kmplayer and
16305           kaffeine since they have a working GStreamer backend in the KDE
16306           section.
16307
16308 2005-06-30  Wim Taymans  <wim@fluendo.com>
16309
16310         * CHANGES-0.9:
16311         * docs/design/draft-ghostpads.txt:
16312         * docs/design/draft-push-pull.txt:
16313         * docs/design/draft-query.txt:
16314         * docs/design/part-TODO.txt:
16315         * docs/design/part-query.txt:
16316         Added CHANGES-0.9 doc, updated status of other docs.
16317         
16318         * gst/gstquery.h:
16319         Remove "hmm" macro
16320
16321 2005-06-30  Wim Taymans  <wim@fluendo.com>
16322
16323         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16324         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16325         (gst_base_sink_change_state):
16326         * gst/base/gstbasesink.h:
16327         Some tweaks, only EOS and a buffer complete a preroll.
16328
16329 2005-06-30  Andy Wingo  <wingo@pobox.com>
16330
16331         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
16332         activate_push down to the internal pad as well.
16333
16334 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
16335
16336         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16337
16338         * gst/gsttaginterface.c:
16339           Some documentation fixes (#307394 and #307397).
16340
16341 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
16342
16343         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16344
16345         * gst/gstvalue.c: (gst_value_intersect_list):
16346           Fix memleak (#309125).
16347
16348 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16349
16350         * docs/manual/advanced-dataaccess.xml:
16351           Fix fakesrc example to compile; doesn't work, bug somewhere...?
16352         * docs/manual/basics-pads.xml:
16353           Add reference for filtered caps to above chapter.
16354
16355 2005-06-30  Wim Taymans  <wim@fluendo.com>
16356
16357         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
16358         (gst_bin_change_state):
16359         Probes are gone.
16360         Lame attempt at making the state change function a bit
16361         more readable.
16362
16363 2005-06-30  Wim Taymans  <wim@fluendo.com>
16364
16365         * docs/design/part-clocks.txt:
16366         * docs/design/part-element-sink.txt:
16367         * docs/design/part-events.txt:
16368         * docs/design/part-preroll.txt:
16369         * docs/design/part-states.txt:
16370         Some more tweeks and additions to the docs.
16371
16372 2005-06-30  Wim Taymans  <wim@fluendo.com>
16373
16374         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16375         (default_have_data), (gst_pad_class_init), (gst_pad_init),
16376         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16377         (gst_pad_check_pull_range), (gst_pad_get_range),
16378         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
16379         * gst/gstpad.h:
16380         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
16381         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16382         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16383         (gst_pad_remove_buffer_probe):
16384         Removed atomic operations, use existing LOCK.
16385         Move exception handling out of main code path.
16386
16387 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16388
16389         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16390         (silly_return_true_function), (gst_pad_class_init),
16391         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16392         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
16393         (gst_pad_send_event):
16394           Fix accumulator, add default value by using _emitv() instead
16395           of _emit() for signal emission.
16396
16397 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16398
16399         * docs/manual/advanced-dataaccess.xml:
16400         * examples/manual/Makefile.am:
16401           Add probe example.
16402         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
16403           Make work (??).
16404
16405 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
16406
16407         * gst/elements/gstfilesink.c: (gst_filesink_render):
16408           Simplify code so that we don't have to handle short
16409           writes and return GST_FLOW_ERROR if an error occured.
16410
16411 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16412
16413         * docs/gst/gstreamer-docs.sgml:
16414           Remove probes more.
16415
16416 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16417
16418         * docs/gst/gstreamer-sections.txt:
16419         * docs/gst/tmpl/gstpad.sgml:
16420         * docs/gst/tmpl/gstprobe.sgml:
16421         * gst/Makefile.am:
16422         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16423         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
16424         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16425         (gst_pad_push_event), (gst_pad_send_event):
16426         * gst/gstpad.h:
16427         * gst/gstutils.c: (gst_pad_add_data_probe),
16428         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16429         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16430         (gst_pad_remove_buffer_probe):
16431         * gst/gstutils.h:
16432           Remove old probes, add new g-signal-based probes and some utility
16433           functions.
16434
16435 2005-06-29  Edward Hervey  <edward@fluendo.com>
16436
16437         * gst/gstelementfactory.c:
16438         * gst/gstutils.h:
16439         * gst/gstutils.c:
16440         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
16441         the definition to the header file.
16442
16443 2005-06-29  Andy Wingo  <wingo@pobox.com>
16444
16445         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
16446         plugins from the source directory.
16447
16448 2005-06-29  Wim Taymans  <wim@fluendo.com>
16449
16450         * docs/gst/tmpl/gstbuffer.sgml:
16451         * docs/gst/tmpl/gstclock.sgml:
16452         Some fixings for blantently wrong text.
16453
16454 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16455
16456         * check/Makefile.am:
16457         * gst/gst.c: (add_path_func), (init_pre):
16458         * gst/gstregistry.c: (gst_registry_add_path):
16459           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
16460           only scan the GST_PLUGIN_PATH locations, and not add
16461           system locations
16462
16463 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16464
16465         * docs/gst/gstreamer-sections.txt:
16466         * docs/gst/tmpl/gstbasesrc.sgml:
16467         * gst/gstelement.c:
16468         * gst/gstelement.h:
16469         * gst/gstevent.c:
16470         * gst/gstutils.c:
16471           doc fixes
16472
16473 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16474
16475         * docs/manual/advanced-autoplugging.xml:
16476           Fix autoplugging example.
16477
16478 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16479
16480         * docs/manual/advanced-autoplugging.xml:
16481         * docs/manual/mime-world.fig:
16482           Try to get autoplugging working, fix type detection. Fix text
16483           in hello-world image.
16484
16485 2005-06-29  Wim Taymans  <wim@fluendo.com>
16486
16487         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16488         (gst_base_sink_change_state):
16489         Small debug line.
16490
16491         * gst/gstclock.h:
16492         map SIGNAL and BROADCAST to the right function.
16493
16494         * gst/gstobject.h:
16495         Remove redundant braces.
16496
16497         * gst/gstpad.c: (gst_pad_set_caps):
16498         Don't call setcaps function when reseting caps to NULL.
16499
16500         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16501         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
16502         (gst_system_clock_id_unschedule):
16503         Use BROADCAST as this is what we do.
16504
16505 2005-06-29  Wim Taymans  <wim@fluendo.com>
16506
16507         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16508         We are actually prerolling before commiting the state
16509         change. 
16510
16511 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16512
16513         * docs/manual/advanced-clocks.xml:
16514         * docs/manual/advanced-interfaces.xml:
16515         * docs/manual/advanced-metadata.xml:
16516         * docs/manual/advanced-position.xml:
16517         * docs/manual/advanced-schedulers.xml:
16518         * docs/manual/advanced-threads.xml:
16519         * docs/manual/appendix-porting.xml:
16520         * docs/manual/basics-bins.xml:
16521         * docs/manual/basics-bus.xml:
16522         * docs/manual/basics-elements.xml:
16523         * docs/manual/basics-helloworld.xml:
16524         * docs/manual/basics-pads.xml:
16525         * docs/manual/highlevel-components.xml:
16526         * docs/manual/manual.xml:
16527         * docs/manual/thread.fig:
16528           Update (until threads/scheduling) Application Development Manual;
16529           remove GstThread, add GstBus, add simple porting checklist, add
16530           documentation for tag writing, clocks, make all examples until this
16531           part compile and run.
16532         * examples/manual/Makefile.am:
16533           Update from changes to Application Development Manual; add bus
16534           example, remove thread example.
16535
16536 2005-06-28  Wim Taymans  <wim@fluendo.com>
16537
16538         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
16539         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
16540         (gst_bus_source_dispatch):
16541         Add debugging messages.
16542         Make internal methods static.
16543         Handle the case where the bus is flushed in the handler.
16544         
16545         * gst/gstelement.c: (gst_element_get_bus):
16546         Fix refcount in _get_bus();
16547
16548         * gst/gstpipeline.c: (gst_pipeline_change_state),
16549         (gst_pipeline_get_clock_func):
16550         Clock refcounting fixes.
16551         Handle the case where preroll timed out more gracefully.
16552         
16553         * gst/gstsystemclock.c: (gst_system_clock_dispose):
16554         Clean up the internal thread in dispose. This is needed
16555         for subclasses that actually get disposed.
16556         
16557         * gst/schedulers/threadscheduler.c:
16558         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16559         (gst_thread_scheduler_dispose):
16560         Free thread pool in dispose.
16561
16562 2005-06-28  Andy Wingo  <wingo@pobox.com>
16563
16564         * tests/network-clock-utils.scm (debug, print-event): New utils.
16565
16566         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
16567         (*packet-loss*): Unified loss probability.
16568         (network-time): Report out-of-band events.
16569
16570         * tests/plot-data: Add support for out-of-band events. Hack it
16571         into this script instead of passing it down the pipe; should fix
16572         this later.
16573
16574 2005-06-28  Wim Taymans  <wim@fluendo.com>
16575
16576         * docs/gst/gstreamer.types:
16577         * docs/gst/tmpl/gstbasesrc.sgml:
16578         * docs/gst/tmpl/gstpad.sgml:
16579         Docs fixes.
16580
16581 2005-06-28  Wim Taymans  <wim@fluendo.com>
16582
16583         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16584         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
16585         (gst_proxy_pad_do_fixatecaps):
16586         Correctly proxy the check_pull_range function.
16587
16588 2005-06-28  Andy Wingo  <wingo@pobox.com>
16589
16590         * tests/network-clock.scm: Removed need for slib.
16591         
16592 2005-06-28  Wim Taymans  <wim@fluendo.com>
16593
16594         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
16595         (gst_basesink_preroll_queue_flush):
16596         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
16597         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
16598         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16599         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
16600         (gst_proxy_pad_set_property):
16601         * gst/gstpad.c:
16602         * gst/gstpad.h:
16603         * gst/gstqueue.c: (gst_queue_init):
16604         The deprecated pad loop function is removed now.
16605
16606 2005-06-28  Andy Wingo  <wingo@pobox.com>
16607
16608         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
16609         New parameters, simulate network packet loss.
16610
16611         * tests/network-clock-utils.scm: Initialize the RNG.
16612
16613 2005-06-28  Wim Taymans  <wim@fluendo.com>
16614
16615         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
16616         (gst_basesink_event), (gst_basesink_deactivate):
16617         Flushing the preroll queue always needs to unlock the waiters.
16618
16619 2005-06-28  Edward Hervey  <edward@fluendo.com>
16620
16621         * gst/gstpipeline.c: (gst_pipeline_send_event): 
16622         Wheen a seek was successful on a pipeline, set the stream_time to the
16623         seek offset in order to have a synchronized stream_time.
16624
16625 2005-06-28  Wim Taymans  <wim@fluendo.com>
16626
16627         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16628         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
16629         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
16630         (gst_proxy_pad_do_fixatecaps):
16631         Call wrapper function instead of just calling the function
16632         pointers. This takes care of any locking and whatmore.
16633
16634 2005-06-28  Wim Taymans  <wim@fluendo.com>
16635
16636         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
16637         (gst_pad_pull_range):
16638         * gst/gstpad.h:
16639         CONNECTED -> LINKED.
16640
16641 2005-06-28  Andy Wingo  <wingo@pobox.com>
16642
16643         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
16644         source-munging commit!!!
16645
16646         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
16647         (gst_object_sink): Take gpointer arguments, not GstObject --
16648         avoids casts. Like GLib.
16649
16650         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
16651         activate.
16652
16653 2005-06-27  Andy Wingo  <wingo@pobox.com>
16654
16655         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
16656         remaining buffer.
16657
16658         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
16659         returns a sorted copy of the trace list.
16660         (gst_alloc_trace_print_live): New API, only prints traces with
16661         live objects. Sort the list.
16662         (gst_alloc_trace_print_all): Sort the list.
16663         (gst_alloc_trace_print): Align columns.
16664
16665         * gst/elements/gstttypefindelement.c:
16666         * gst/elements/gsttee.c:
16667         * gst/base/gstbasesrc.c:
16668         * gst/base/gstbasesink.c:
16669         * gst/base/gstbasetransform.c:
16670         * gst/gstqueue.c: Adapt for pad activation changes.
16671
16672         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
16673         sched.
16674         (gst_pipeline_dispose): Drop ref on sched.
16675
16676         * gst/gstpad.c (gst_pad_init): Set the default activate func.
16677         (gst_pad_activate_default): Push mode by default.
16678         (pre_activate_switch, post_activate_switch): New stubs, things to
16679         do before and after switching activation modes on pads.
16680         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
16681         the pad's activate function to choose which mode to activate.
16682         Shortcut on deactivation and call the right function directly.
16683         (gst_pad_activate_pull): New API, (de)activates a pad in pull
16684         mode.
16685         (gst_pad_activate_push): New API, same for push mode.
16686         (gst_pad_set_activate_function) 
16687         (gst_pad_set_activatepull_function) 
16688         (gst_pad_set_activatepush_function): Setters for new API.
16689
16690         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
16691         Trace all miniobjects.
16692         (gst_mini_object_make_writable): Unref the arg if we copy, like
16693         gst_caps_make_writable.
16694
16695         * gst/gstmessage.c (_gst_message_initialize): No trace init.
16696
16697         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
16698         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
16699         Adapt for new pad API.
16700
16701         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
16702
16703         * gst/gstelement.h:
16704         * gst/gstelement.c (gst_element_iterate_src_pads) 
16705         (gst_element_iterate_sink_pads): New API functions.
16706         
16707         * gst/gstelement.c (iterator_fold_with_resync): New utility,
16708         should fold into gstiterator.c in some form.
16709         (gst_element_pads_activate): Simplified via use of fold and
16710         delegation of decisions to gstpad->activate.
16711
16712         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
16713         help in debugging.
16714
16715         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
16716         class once in init, like gstmessage. Didn't run into this issue
16717         but it seems correct. Don't initialize a trace, gstminiobject does
16718         that.
16719
16720         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
16721         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
16722         to the bus.
16723         (assert_live_count): New util function, uses alloc traces to check
16724         cleanup.
16725
16726         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
16727         To be modified when unlink drops the internal pad.
16728
16729 2005-06-27  Wim Taymans  <wim@fluendo.com>
16730
16731         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
16732         (gst_bin_change_state):
16733         Cleanup the get_state() function a little, make sure it
16734         iterates the same set of elements.
16735         Added stub iterate_state_order().
16736
16737 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16738
16739         * docs/gst/gstreamer-docs.sgml:
16740         * docs/gst/gstreamer-sections.txt:
16741         * docs/gst/gstreamer.types:
16742         * docs/gst/tmpl/gstbasesink.sgml:
16743         * docs/gst/tmpl/gstbasesrc.sgml:
16744         * docs/gst/tmpl/gstbasetransform.sgml:
16745         * docs/gst/tmpl/gstelement.sgml:
16746         * docs/gst/tmpl/gstiterator.sgml:
16747         * gst/base/gstbasesrc.c:
16748         * gst/base/gstbasesrc.h:
16749         * gst/base/gstbasetransform.h:
16750         * gst/gstelement.c:
16751         * gst/gstiterator.h:
16752           adding basetransform and iterator docs
16753
16754 2005-06-27  Andy Wingo  <wingo@pobox.com>
16755
16756         * docs/design/part-activation.txt: Notes on how activation should
16757         work -- not quite implemented yet.
16758
16759 2005-06-25  Wim Taymans  <wim@fluendo.com>
16760
16761         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
16762         At least get the chain function correct, needs more
16763         fixing.
16764
16765 2005-06-25  Wim Taymans  <wim@fluendo.com>
16766
16767         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16768         (gst_basesink_handle_object), (gst_basesink_event),
16769         (gst_basesink_do_sync), (gst_basesink_handle_event),
16770         (gst_basesink_change_state):
16771         * gst/gsttask.h:
16772         Right, two problems here: ghostpads don't take locks and
16773         glib _rec_mutex_lock_full() with depth==0 still locks.
16774         Catch illegal locking and g_warn them.
16775
16776 2005-06-25  Wim Taymans  <wim@fluendo.com>
16777
16778         * check/states/sinks.c: (START_TEST), (gst_object_suite):
16779         Have to check for completion now...
16780
16781 2005-06-25  Wim Taymans  <wim@fluendo.com>
16782
16783         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16784         (gst_basesink_handle_object), (gst_basesink_event),
16785         (gst_basesink_do_sync), (gst_basesink_handle_event),
16786         (gst_basesink_change_state):
16787         * gst/gstpad.h:
16788         Unlock STREAM_LOCK whatever the recursion was.
16789
16790 2005-06-25  Wim Taymans  <wim@fluendo.com>
16791
16792         * gst/base/gstbasesink.c: (gst_basesink_set_property),
16793         (gst_basesink_preroll_queue_empty),
16794         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
16795         (gst_basesink_event), (gst_basesink_do_sync),
16796         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
16797         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
16798         (gst_basesink_change_state):
16799         Reworked the base sink, handle event and buffer serialisation
16800         correctly and removed possible deadlock.
16801         Handle EOS correctly.
16802
16803 2005-06-25  Wim Taymans  <wim@fluendo.com>
16804
16805         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
16806         (gst_pipeline_change_state):
16807         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16808         Allow elements to post EOS in the state change function.
16809         Fix up -launch, make it exit the poll loop when the
16810         pipeline actually changed state.
16811         Fix up warning parsing in -launch.
16812
16813 2005-06-25  Wim Taymans  <wim@fluendo.com>
16814
16815         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
16816         (gst_tee_sink_activate):
16817         Core takes STREAM_LOCK for us now.
16818
16819 2005-06-25  Wim Taymans  <wim@fluendo.com>
16820
16821         * gst/gstelement.c: (gst_element_get_state_func),
16822         (gst_element_set_state):
16823         * gst/gstelement.h:
16824         * gst/gstmessage.c: (gst_message_parse_error),
16825         (gst_message_parse_warning):
16826         Keep track of current target state while performing a state
16827         change so that subclasses can do something interesting.
16828         Fix parsing of warning/error messages when GError is NULL.
16829
16830 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16831
16832         * docs/gst/Makefile.am:
16833         * docs/gst/gstreamer-docs.sgml:
16834         * docs/gst/gstreamer-sections.txt:
16835         * docs/gst/gstreamer.types:
16836         * docs/gst/tmpl/gstbasesink.sgml:
16837         * docs/gst/tmpl/gstbasesrc.sgml:
16838         * docs/gst/tmpl/gstbin.sgml:
16839         * docs/gst/tmpl/gstcompat.sgml:
16840         * docs/gst/tmpl/gstfakesink.sgml:
16841         * docs/gst/tmpl/gstfakesrc.sgml:
16842         * docs/gst/tmpl/gstfilesink.sgml:
16843         * docs/gst/tmpl/gstfilesrc.sgml:
16844         * docs/gst/tmpl/gstindex.sgml:
16845         * docs/manual/appendix-quotes.xml:
16846         * gst/base/gstbasesrc.h:
16847         * gst/elements/gstfakesrc.h:
16848         * gst/gstmessage.h:
16849           start pulling in base classes and elements in our docs
16850
16851 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
16852
16853         * docs/gst/Makefile.am:
16854         * docs/libs/Makefile.am:
16855           fixed make distcheck with gtk-doc 1.3
16856
16857 2005-06-23  Wim Taymans  <wim@fluendo.com>
16858
16859         * gst/gstelement.c: (gst_element_get_state_func),
16860         (gst_element_set_state), (gst_element_change_state):
16861         When the state did not change, also report NO_PREROLL
16862         when it matters.
16863
16864 2005-06-23  Wim Taymans  <wim@fluendo.com>
16865
16866         * gst/gstpad.c: (gst_pad_event_default):
16867         * gst/gstqueue.c: (gst_queue_loop):
16868         No unsafe task pausing please.
16869
16870 2005-06-23  Wim Taymans  <wim@fluendo.com>
16871
16872         * gst/schedulers/threadscheduler.c:
16873         (gst_thread_scheduler_task_start),
16874         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
16875         Ref the task before pushing it on the threadpool. This
16876         makes sure that we have a ref when the threadfunction is
16877         actually called.
16878
16879 2005-06-23  Andy Wingo  <wingo@pobox.com>
16880
16881         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
16882         offset is greater than the file's size.
16883
16884         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
16885         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
16886         * gst/gstobject.c (gst_object_class_init): Make the class lock
16887         recursive. Wim won't let me drop deep_notify. Decodebin works
16888         again, whoopdy doo.
16889
16890         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
16891         internal pad, and hacks accordingly. Doesn't do it on the target
16892         pad because we change its caps. Probably catches all cases of
16893         interest tho.
16894         (gst_ghost_pad_set_property): Connect to notify::caps as
16895         appropritate.
16896
16897         * tests/network-clock.scm (plot-simulation): Pipe data to the
16898         elite python skript.
16899
16900         * tests/network-clock-utils.scm (define-parameter): New macro,
16901         defines a parameter that can be set via the command line.
16902         (set-parameter!, parse-parameter-arguments): Command line args
16903         parser.
16904
16905         * tests/plot-data: Simple matplotlib-based plotter, takes input on
16906         stdin.
16907
16908 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
16909
16910         * gst/elements/gsttypefindelement.c:
16911         (gst_type_find_element_handle_event):
16912           Don't restart typefinding on a discont.
16913         * gst/gstelement.c: (gst_element_set_state):
16914           Debug spelling fix.
16915         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
16916           Allow changing mode of an active pad.
16917           Debug output fixes.
16918         * gst/registries/gstlibxmlregistry.c: (load_feature):
16919           Don't cast a static pad template to a normal pad template.
16920
16921 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16922
16923         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16924         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16925           remove gst_strtoll completely, since it didn't actually do
16926           anything more than what g_ascii_strtoull already does.
16927           check for range errors when deserializing
16928           do a cast for the unsigned cases; but further fixing needs
16929           a decision on what the interpretation of "(int)" and
16930           deserialization should be for values that fall outside the
16931           type's boundaries (ie, refuse, or interpret as casting)
16932
16933 2005-06-23  Wim Taymans  <wim@fluendo.com>
16934
16935         * check/Makefile.am:
16936         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
16937         * docs/design/part-live-source.txt:
16938         * docs/design/part-states.txt:
16939         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16940         (gst_basesrc_set_live), (gst_basesrc_is_live),
16941         (gst_basesrc_get_range), (gst_basesrc_activate),
16942         (gst_basesrc_change_state):
16943         * gst/base/gstbasesrc.h:
16944         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16945         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16946         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
16947         * gst/gstelement.c: (gst_element_get_state_func),
16948         (gst_element_set_state):
16949         * gst/gstelement.h:
16950         * gst/gsttypes.h:
16951         * tools/gst-launch.c: (event_loop), (main):
16952         Added support for live sources and other elements that
16953         cannot do preroll.
16954         Updated design docs, added live-source design doc.
16955         Implemented live source functionality in basesrc
16956         Fix error condition in _bin_get_state()
16957         Implement live source handling in -launch.
16958         Added check for live sources.
16959         Fixed case in GstBin where elements were changed state
16960         multiple times.
16961
16962
16963 2005-06-23  Andy Wingo  <wingo@pobox.com>
16964
16965         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
16966         borken refcounting.
16967
16968         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
16969         gst_caps_replace takes care of this for us.
16970
16971         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
16972         gst_pad_set_caps on the target, not just its setcaps() function.
16973
16974         * tests/network-clock.scm: 
16975         * tests/network-clock-utils.scm: A network clock simulator.
16976         Something of an algorithmic testbed before doing something in C.
16977
16978 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16979
16980         * check/Makefile.am:
16981         * check/gst/capslist.h:
16982           copy over from 0.8, and add two with bitmasks specified with
16983           (int) 0xFF...
16984         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
16985           add test to parse everything from capslist.h
16986         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
16987         (main):
16988           add test for structure deserialization
16989         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
16990           add tests for deserialization of strings to int types
16991         * gst/gststructure.c: (gst_structure_nth_field_name):
16992         * gst/gststructure.h:
16993           add a way to get the name of a field referenced by index
16994         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
16995           instead of checking if the resulting long long lies between
16996           min and max, we check if the long long would fit into
16997           a number of bytes for the final type.
16998           This fixes cases where a string represents 2^32 - 1, which
16999           when cast to int would be the (valid) -1, but is bigger than
17000           G_MAXINT
17001
17002 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17003
17004         * gst/parse/grammar.y:
17005           add a log line for type deserialization
17006
17007 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17008
17009         * check/gst/gstvalue.c: (START_TEST):
17010         * gst/gstvalue.c: (gst_value_deserialize):
17011           return long long, not int, so gint64 deserialization actually
17012           works.  Is there any flag that makes the compiler check this ?
17013           Fixes #308559
17014
17015 2005-06-22  Wim Taymans  <wim@fluendo.com>
17016
17017         * gst/gstbuffer.h:
17018         Added convenience macros for setting buffers in GValue.
17019
17020 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17021
17022         * check/gst/.cvsignore:
17023         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17024           add a test deserializing int64, and comment part out because
17025           it fails, yay !
17026
17027 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17028
17029         * check/Makefile.am:
17030         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17031         * testsuite/Makefile.am:
17032         * testsuite/caps/Makefile.am:
17033         * testsuite/caps/value_serialize.c:
17034         * testsuite/test_gst_init.c:
17035           move a value_serialize test over
17036
17037 2005-06-20  Wim Taymans  <wim@fluendo.com>
17038
17039         * gst/gstpad.c:
17040         Small doc updates.
17041         
17042         * gst/gstvalue.c: (gst_value_compare_buffer),
17043         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17044         (gst_value_compare_flags), (gst_value_serialize_flags),
17045         (gst_value_deserialize_flags), (_gst_value_initialize):
17046         Fix serialisation of buffers, they are not boxed types anymore
17047
17048 2005-06-20  Wim Taymans  <wim@fluendo.com>
17049
17050         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17051         Testcase to show error in buffer-on-caps serialisation.
17052
17053 2005-06-20  Andy Wingo  <wingo@pobox.com>
17054
17055         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17056         will be adding to later.
17057
17058         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17059         if its socks fill with rocks.
17060         (gst_system_clock_obtain): Set the name on object construction.
17061         Avoid double-checked locking.
17062
17063 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17064
17065         * gst/gsturi.c: (gst_element_make_from_uri):
17066           Fix potential endless loop.
17067
17068 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17069
17070         * check/Makefile.am:
17071           add gsttag
17072         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17073         (main):
17074           move over from testsuite dir and clean up
17075         * configure.ac:
17076         * gst/gsttag.c:
17077         * testsuite/Makefile.am:
17078         * testsuite/tags/.cvsignore:
17079         * testsuite/tags/Makefile.am:
17080         * testsuite/tags/merge.c:
17081           remove testsuite/tags
17082
17083 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17084
17085         * docs/gst/gstreamer-sections.txt:
17086         * docs/gst/tmpl/gstenumtypes.sgml:
17087         * win32/gstenumtypes.c:
17088           clean up documentation build a little
17089
17090 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17091
17092         * check/gstcheck.h:
17093           add macros for checking refcounts on objects and caps
17094         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17095           add some more unit tests
17096         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17097         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17098           fix leaked refcounts (I hope :)) so unittest works
17099         * gst/gstpad.h:
17100           whitespace removal
17101
17102 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17103
17104         * configure.ac: back to HEAD
17105
17106 === release 0.9.1 ===
17107
17108 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17109
17110         * NEWS:
17111         * RELEASE:
17112           updated
17113
17114 2005-06-17  Andy Wingo  <wingo@pobox.com>
17115
17116         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17117         assert; it's always possible that the pad gets deactivated in
17118         between the checks in gstpad.c and the implementation. Rely on
17119         finish_preroll() to return a FLUSHING or similar instead of on the
17120         assert.
17121         
17122         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17123         clock and post an EOS message if we come out of finish_preroll in
17124         the playing state.
17125
17126 2005-06-16  David Schleef  <ds@schleef.org>
17127
17128         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17129         (gst_capsfilter_set_property): Allow NULL as possible value
17130         for filter_caps property, indicating GST_CAPS_ANY.
17131
17132 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17133
17134         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17135           fix debug output
17136         * gst/schedulers/Makefile.am:
17137           use libgst prefix
17138         * gstreamer.spec.in:
17139           fix spec for it
17140
17141 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17142
17143         * gstreamer.spec.in:
17144           clean up
17145
17146 2005-06-08  Andy Wingo  <wingo@pobox.com>
17147
17148         * gst/gstutils.c: RPAD fixes all around.
17149         (gst_element_link_pads): Refcounting fixes.
17150
17151         * tools/gst-inspect.c:
17152         * tools/gst-xmlinspect.c:
17153         * parse/grammar.y:
17154         * gst/base/gsttypefindhelper.c:
17155         * gst/base/gstbasesink.c:
17156         * gst/gstqueue.c: RPAD fixes.
17157
17158         * gst/gstghostpad.h:
17159         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17160         pads. The tricky thing is they provide both source and sink
17161         interfaces, since they proxy the internal pad for the external
17162         pad, and vice versa. Implement with lower-level ProxyPad objects,
17163         with the interior proxy pad as a child of the exterior ghost pad.
17164         Should write a doc on this.
17165         
17166         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17167         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17168         gst_object API.
17169         
17170         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17171         pads are real pads. No ghost pads in this file. Not documenting
17172         the myriad s/RPAD/PAD/ and REALIZE fixes.
17173         (gst_pad_class_init): Add properties for "direction" and
17174         "template". Both are construct-only, so they can't change during
17175         the life of the pad. Fixes properly deriving from GstPad.
17176         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17177         derived objects, just set properties when creating the objects via
17178         g_object_new.
17179         (gst_pad_get_parent): Implement as a function, return NULL if the
17180         parent is not an element.
17181         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17182         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17183         
17184         * gst/gstobject.c (gst_object_class_init): Make name a construct
17185         property. Don't set it in the object init.
17186
17187         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17188         with UNKNOWN direction.
17189         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17190         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17191         (gst_element_remove_pad): Remove ghost-pad special cases.
17192         (gst_element_pads_activate): Remove rpad cruft.
17193
17194         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17195         catch the pad's-parent-not-an-element case.
17196
17197         * gst/gst.h: Include gstghostpad.h.
17198
17199         * gst/gst.c (init_post): No more real, ghost pads.
17200
17201         * gst/Makefile.am: Add gstghostpad.[ch].
17202
17203         * check/Makefile.am:
17204         * check/gst/gstbin.c:
17205         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17206         into a bin creates ghost pads, and that the refcounts are right.
17207         Partly moved from gstbin.c.
17208
17209 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17210
17211         * check/gst-libs/.cvsignore:
17212         * check/gst/.cvsignore:
17213         * check/pipelines/.cvsignore:
17214           ignore more
17215         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17216         (START_TEST), (cleanup_suite), (main):
17217           add some tests related to cleanup after running pipelines
17218
17219 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17220
17221         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17222           add a testsuite for GstBuffer
17223
17224 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17225
17226         * gst/gstminiobject.h:
17227           add defines for accessing the refcount
17228
17229 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
17230
17231         * Makefile.am: added support for html unit test coverage reports
17232
17233 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
17234
17235         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17236           Free existing caps if the capsfilter changes. Add a FIXME about
17237           setting those caps on the pads.
17238
17239         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17240           Before adding a ghost pad to a parent bin, check that there isn't
17241           already one for the element on the bin. Prevents infinite recursion
17242           when using decodebin in parse pipelines. Andy says he'll rewrite the
17243           way this works anyway, so ignore the hack.
17244
17245 2005-06-02  Andy Wingo  <wingo@pobox.com>
17246
17247         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
17248         file size, pass it on to the type find helper.
17249
17250         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
17251         segment_start and segment_end properly according to the seek
17252         method. Segment_end is still a bit flaky because offset can be
17253         negative for CUR and END cases, but it takes -1 as an "unset"
17254         value.
17255
17256 2005-06-02  Wim Taymans  <wim@fluendo.com>
17257
17258         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
17259         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
17260         (gst_basesink_activate):
17261         * gst/base/gstbasesink.h:
17262         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17263         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17264         (gst_pad_query), (gst_pad_start_task):
17265         * gst/gstpad.h:
17266         * gst/gstqueue.c: (gst_queue_bufferalloc),
17267         (gst_queue_handle_sink_event), (gst_queue_chain):
17268         Bufferalloc: return GstFlowReturn to more accuratly report
17269         why allocation failed.
17270
17271 2005-06-02  Wim Taymans  <wim@fluendo.com>
17272
17273         * gst/gstpipeline.c: (gst_pipeline_send_event):
17274         Take snapshot of state without blocking.
17275
17276 2005-06-02  Wim Taymans  <wim@fluendo.com>
17277
17278         * docs/design/part-TODO.txt:
17279         * docs/design/part-caps.txt:
17280         * docs/design/part-clocks.txt:
17281         * docs/design/part-negotiation.txt:
17282         * docs/design/part-preroll.txt:
17283         Small doc updates 
17284
17285 2005-05-30  Wim Taymans  <wim@fluendo.com>
17286
17287         * gst/elements/gstidentity.c: (gst_identity_event),
17288         (gst_identity_transform), (gst_identity_get_property):
17289         Protect last_message property as it is accessed from
17290         multiple threads.
17291
17292 2005-05-30  Wim Taymans  <wim@fluendo.com>
17293
17294         * gst/gstelement.c: (gst_element_init),
17295         (gst_element_pads_activate), (gst_element_change_state):
17296         Slicker pad activation code.
17297
17298 2005-05-30  Wim Taymans  <wim@fluendo.com>
17299
17300         * gst/Makefile.am:
17301         * gst/gstelement.h:
17302         * gst/gstelementfactory.h:
17303         * gst/gsttypes.h:
17304         Move elementfactory methods to separate .h file.
17305
17306 2005-05-30  Wim Taymans  <wim@fluendo.com>
17307
17308         * docs/design/part-overview.txt:
17309         * gst/gstsystemclock.h:
17310         Small typo fixes, doc updates.
17311
17312 2005-05-30  Wim Taymans  <wim@fluendo.com>
17313
17314         * gst/gst.c: (gst_init_get_popt_table), (init_post),
17315         (init_popt_callback):
17316         Remove cpu-opt flag.
17317
17318 2005-05-30  Wim Taymans  <wim@fluendo.com>
17319
17320         * gst/gstbuffer.c: (gst_subbuffer_finalize),
17321         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
17322         * gst/gstbuffer.h:
17323         Avoid typechecking in places where not needed.
17324         Added accessor for malloc_data.
17325
17326 2005-05-30  Wim Taymans  <wim@fluendo.com>
17327
17328         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
17329         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
17330         (gst_pad_configure_sink), (gst_pad_configure_src),
17331         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
17332         (gst_pad_start_task):
17333         Propagate errors from _set_caps() in configure_src/sink
17334         functions instead of returning TRUE.
17335         FLUSH events can travel up and downstream
17336
17337
17338 2005-05-30  Wim Taymans  <wim@fluendo.com>
17339
17340         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17341         (gst_basesink_activate):
17342         Handle EOS in preroll.
17343
17344 2005-05-30  Wim Taymans  <wim@fluendo.com>
17345
17346         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17347         (gst_queue_loop), (gst_queue_handle_src_event):
17348         Remove old pieces of code
17349         Flushing the queue in an upstream event is a very bad idea.
17350
17351 2005-05-26  Andy Wingo  <wingo@pobox.com>
17352
17353         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
17354         gst_value_set_mini_object so as to add a ref on the object (which
17355         will be removed when the value is unset).
17356
17357         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
17358         arg type in ::handoff.
17359
17360         * gst/gstelement.c (gst_element_change_state): Also deactivate
17361         pads in READY->NULL, just in case the element didn't make it to
17362         PAUSED. Wingo tested, Wim approved.
17363
17364 2005-05-26  Wim Taymans  <wim@fluendo.com>
17365
17366         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17367         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17368         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
17369         A flushing pad cannot be used to alloc_buffer from.
17370
17371 2005-05-26  Wim Taymans  <wim@fluendo.com>
17372
17373         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
17374         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
17375         (gst_bus_source_dispatch), (gst_bus_source_finalize),
17376         (gst_bus_create_watch), (gst_bus_add_watch_full):
17377         * gst/gstbus.h:
17378         Implement a real GSource and use g_main_context_wakeup() to
17379         signal new messages instead of the socketpair.
17380
17381 2005-05-25  Wim Taymans  <wim@fluendo.com>
17382
17383         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
17384         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
17385         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17386         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17387         (gst_pad_send_event), (gst_pad_start_task):
17388         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
17389         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
17390         (gst_queue_sink_activate), (gst_queue_src_activate),
17391         (gst_queue_change_state):
17392         * gst/gstqueue.h:
17393         Fix state changes for non sinks. We now change sinks, then elements
17394         with unconnected srcpads, then the rest.
17395         More efficient queue unlocking in flush and state changes.
17396         Set the pad activate mode even if it does not have an activate
17397         function.
17398
17399 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17400
17401         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
17402           Don't go in pull mode for non-seekable sources.
17403         * gst/elements/gsttypefindelement.h:
17404         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17405         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
17406         (free_entry), (stop_typefinding),
17407         (gst_type_find_element_handle_event), (find_peek),
17408         (gst_type_find_element_chain), (do_pull_typefind),
17409         (gst_type_find_element_change_state):
17410           Allow typefinding (w/o seeking) in push-mode, simplified version
17411           of what was in 0.8.
17412         * gst/gstutils.c: (gst_buffer_join):
17413         * gst/gstutils.h:
17414           gst_buffer_join() from 0.8.
17415
17416 2005-05-25  Wim Taymans  <wim@fluendo.com>
17417
17418         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17419         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17420         (gst_pad_send_event), (gst_pad_start_task):
17421         Disable attempt at mode switching until it is figured out.
17422
17423 2005-05-25  Wim Taymans  <wim@fluendo.com>
17424
17425         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
17426         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17427         (gst_basesink_finish_preroll), (gst_basesink_chain),
17428         (gst_basesink_loop), (gst_basesink_activate),
17429         (gst_basesink_change_state):
17430         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
17431         (gst_basesrc_get_range), (gst_basesrc_loop),
17432         (gst_basesrc_activate):
17433         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17434         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17435         (gst_real_pad_init), (gst_real_pad_set_property),
17436         (gst_real_pad_get_property), (gst_pad_set_active),
17437         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
17438         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
17439         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
17440         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
17441         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17442         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
17443         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
17444         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17445         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
17446         (gst_pad_stop_task):
17447         * gst/gstpad.h:
17448         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17449         (gst_queue_loop), (gst_queue_src_activate):
17450         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
17451         (gst_task_get_state):
17452         * gst/gsttask.h:
17453         * gst/schedulers/threadscheduler.c:
17454         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
17455         Implement gst_pad_pause/start/stop_task(), take STREAM lock
17456         in task function.
17457         Remove ACTIVE pad flag, use FLUSHING everywhere
17458         Added _pad_chain(), _pad_get_range() to call chain/getrange 
17459         functions.
17460         Add locks around IS_FLUSHING when reading.
17461         Take STREAM lock in chain(), get_range() functions so plugins
17462         don't need to take it anymore.
17463         
17464
17465
17466 2005-05-25  Wim Taymans  <wim@fluendo.com>
17467
17468         * tools/gst-launch.c: (event_loop):
17469         Unref message after using its contents instead of
17470         before.
17471
17472 2005-05-24  Wim Taymans  <wim@fluendo.com>
17473
17474         * docs/design/draft-ghostpads.txt:
17475         * docs/design/draft-push-pull.txt:
17476         * docs/design/draft-query.txt:
17477         * docs/design/part-overview.txt:
17478         Docs updates, added general overview doc.
17479
17480 2005-05-21  David Schleef  <ds@schleef.org>
17481
17482         * docs/gst/tmpl/old/GstBin.sgml:
17483         * docs/gst/tmpl/old/GstBuffer.sgml:
17484         * docs/gst/tmpl/old/GstCaps.sgml:
17485         * docs/gst/tmpl/old/GstClock.sgml:
17486         * docs/gst/tmpl/old/GstCompat.sgml:
17487         * docs/gst/tmpl/old/GstData.sgml:
17488         * docs/gst/tmpl/old/GstElement.sgml:
17489         * docs/gst/tmpl/old/GstEvent.sgml:
17490         * docs/gst/tmpl/old/GstIndex.sgml:
17491         * docs/gst/tmpl/old/GstStructure.sgml:
17492         * docs/gst/tmpl/old/GstTag.sgml:
17493         * docs/gst/tmpl/old/cothreads.sgml:
17494         * docs/gst/tmpl/old/cothreads_compat.sgml:
17495         * docs/gst/tmpl/old/gettext.sgml:
17496         * docs/gst/tmpl/old/gobject2gtk.sgml:
17497         * docs/gst/tmpl/old/grammar.tab.sgml:
17498         * docs/gst/tmpl/old/gst-i18n-app.sgml:
17499         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
17500         * docs/gst/tmpl/old/gst_private.sgml:
17501         * docs/gst/tmpl/old/gstaggregator.sgml:
17502         * docs/gst/tmpl/old/gstarch.sgml:
17503         * docs/gst/tmpl/old/gstatomic_impl.sgml:
17504         * docs/gst/tmpl/old/gstbufferstore.sgml:
17505         * docs/gst/tmpl/old/gstdata_private.sgml:
17506         * docs/gst/tmpl/old/gstdisksink.sgml:
17507         * docs/gst/tmpl/old/gstdisksrc.sgml:
17508         * docs/gst/tmpl/old/gstelementfactory.sgml:
17509         * docs/gst/tmpl/old/gstextratypes.sgml:
17510         * docs/gst/tmpl/old/gstfakesink.sgml:
17511         * docs/gst/tmpl/old/gstfakesrc.sgml:
17512         * docs/gst/tmpl/old/gstfdsink.sgml:
17513         * docs/gst/tmpl/old/gstfdsrc.sgml:
17514         * docs/gst/tmpl/old/gstfilesink.sgml:
17515         * docs/gst/tmpl/old/gstfilesrc.sgml:
17516         * docs/gst/tmpl/old/gsthttpsrc.sgml:
17517         * docs/gst/tmpl/old/gstidentity.sgml:
17518         * docs/gst/tmpl/old/gstindexfactory.sgml:
17519         * docs/gst/tmpl/old/gstmarshal.sgml:
17520         * docs/gst/tmpl/old/gstmd5sink.sgml:
17521         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
17522         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
17523         * docs/gst/tmpl/old/gstpadtemplate.sgml:
17524         * docs/gst/tmpl/old/gstpipefilter.sgml:
17525         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
17526         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
17527         * docs/gst/tmpl/old/gstshaper.sgml:
17528         * docs/gst/tmpl/old/gstspider.sgml:
17529         * docs/gst/tmpl/old/gstspideridentity.sgml:
17530         * docs/gst/tmpl/old/gststatistics.sgml:
17531         * docs/gst/tmpl/old/gsttee.sgml:
17532         * docs/gst/tmpl/old/gsttimecache.sgml:
17533         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
17534         * docs/gst/tmpl/old/gstxmlregistry.sgml:
17535         * docs/gst/tmpl/old/gthread-cothreads.sgml:
17536         * docs/gst/tmpl/old/types.sgml:
17537           I didn't intend to add these or check them in.
17538
17539 2005-05-19  David Schleef  <ds@schleef.org>
17540
17541         * configure.ac: Use -no-common everywhere.  In a sane world, it
17542           would be the default in libtool, because without it, you can't
17543           build DLLs on Windows.
17544         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
17545         * docs/gst/gstreamer-sections.txt:
17546         * docs/gst/tmpl/gstcpu.sgml:
17547         * docs/gst/tmpl/gstdata.sgml:
17548         * docs/gst/tmpl/gstthread.sgml:
17549
17550 2005-05-19  David Schleef  <ds@schleef.org>
17551
17552         * gst/gstminiobject.c: (gst_value_set_mini_object),
17553         (gst_value_take_mini_object), (gst_value_get_mini_object):
17554         * gst/gstminiobject.h: Add GValue set/get functions.
17555
17556 2005-05-19  Wim Taymans  <wim@fluendo.com>
17557
17558         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
17559         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
17560         (gst_subbuffer_init), (gst_buffer_is_span_fast):
17561         * gst/gstbuffer.h:
17562         * gst/gstbus.c: (gst_bus_post):
17563         * gst/gstelement.c: (gst_element_get_random_pad):
17564         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
17565         Make subbufer unref the parent in finalize.
17566         some more debugging info.
17567
17568
17569 2005-05-19  Wim Taymans  <wim@fluendo.com>
17570
17571         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17572         (gst_basesink_init), (gst_basesink_finalize),
17573         (gst_basesink_activate), (gst_basesink_change_state):
17574         Don't free preroll queue too early.
17575
17576 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17577
17578         * gst/Makefile.am:
17579         * gst/ROADMAP:
17580           Hi, I'm outdated. Please shoot me.
17581
17582 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17583
17584         * gst/gstpipeline.c: (gst_pipeline_send_event):
17585           Do not access variables after they have been deleted.
17586
17587 2005-05-19  Wim Taymans  <wim@fluendo.com>
17588
17589         * tools/gst-inspect.c: (print_plugin_features):
17590         A plugin feature does unfortunatly not use the
17591         object name yet...
17592
17593 2005-05-18  Wim Taymans  <wim@fluendo.com>
17594
17595         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
17596         Port _span() functions to new subbuffers.
17597
17598 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17599
17600         * gst/gstbin.c: (gst_bin_add_func):
17601           Fix clock settery in bins when adding kids after the clock has
17602           been selected.
17603
17604 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17605
17606         * gst/elements/gstidentity.c: (gst_identity_class_init):
17607           Workaround until signals support GstMiniObject.
17608
17609 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
17610
17611         * gst/gstbuffer.c:
17612         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
17613
17614 2005-05-18  Wim Taymans  <wim@fluendo.com>
17615
17616         * gst/base/Makefile.am:
17617         * gst/base/gstadapter.c: (gst_adapter_base_init),
17618         (gst_adapter_class_init), (gst_adapter_init),
17619         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
17620         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
17621         (gst_adapter_flush), (gst_adapter_available),
17622         (gst_adapter_available_fast):
17623         * gst/base/gstadapter.h:
17624         Ported and added adapter to the base classes.
17625
17626 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17627
17628         * gst/gst.c:
17629         * gst/gstmessage.c:
17630           Make sure the class is reffed/unreffed once before threads can be
17631           used.  Fixes #304551.
17632
17633 2005-05-17  Wim Taymans  <wim@fluendo.com>
17634
17635         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
17636         (gst_basesink_chain_unlocked), (gst_basesink_activate):
17637         * gst/gstminiobject.c: (gst_mini_object_get_type),
17638         (gst_mini_object_free):
17639         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
17640         (gst_pad_push), (gst_pad_push_event):
17641         * gst/gstqueue.c: (gst_queue_change_state):
17642         Don't queue buffers in basesink when we are flushing.
17643         Unref buffer when flushing in basesink.
17644         Flush queue when going to READY
17645         Unref buffer when _push() returns an error.
17646         Don't free MiniObject instance when refcount is incremented
17647         in _finalize() so that we can recover objects.
17648
17649 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17650
17651         * docs/manual/advanced-schedulers.xml:
17652         * docs/manual/appendix-checklist.xml:
17653         * docs/pwg/advanced-clock.xml:
17654         * docs/pwg/advanced-interfaces.xml:
17655         * docs/pwg/advanced-request.xml:
17656         * docs/pwg/advanced-types.xml:
17657         * docs/pwg/intro-preface.xml:
17658         * examples/plugins/example.c: (gst_example_get_type),
17659         (gst_example_class_init), (gst_example_chain),
17660         (gst_example_set_property), (gst_example_get_property),
17661         (gst_example_change_state), (plugin_init):
17662         * examples/plugins/example.h:
17663           small doc fixes
17664
17665 2005-05-17  Wim Taymans  <wim@fluendo.com>
17666
17667         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
17668         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
17669         * gst/gstqueue.c: (gst_queue_change_state):
17670         Clear queue when going to READY.
17671         Remove IN_SETCAPS flag too.
17672
17673 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
17674
17675         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
17676           Remove implicit cast from gboolean to GstElementStateReturn;
17677           make sure we still return failure in paused => ready case if
17678           the parent class fails to change state and our own stop 
17679           vfunc succeeds.
17680
17681 2005-05-17  Wim Taymans  <wim@fluendo.com>
17682
17683         * tools/gst-launch.c: (event_loop):
17684         Message was unreffed too soon.
17685
17686 2005-05-16  Andy Wingo  <wingo@pobox.com>
17687
17688         * gst/gstbin.c (sink_iterator_filter): Err... um...
17689
17690         * check/gst/gstbin.c (test_ghost_pads): New test for the
17691         ghosting-if-elements-not-in-same-bin behavior.
17692
17693 2005-05-16  David Schleef  <ds@schleef.org>
17694
17695         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
17696         accessing refcount directly.
17697
17698 2005-05-15  David Schleef  <ds@schleef.org>
17699
17700         * check/Makefile.am: remove GstData checks
17701         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
17702         * gst/Makefile.am: add miniobject, remove data
17703         * gst/gst.h: add miniobject, remove data
17704         * gst/gstdata.c: remove
17705         * gst/gstdata.h: remove
17706         * gst/gstdata_private.h: remove
17707         * gst/gsttypes.h: remove GstEvent and GstMessage
17708         * gst/gstelement.c: (gst_element_post_message): fix for API changes
17709         * gst/gstmarshal.list: change BOXED -> OBJECT
17710
17711         Implement GstMiniObject.
17712         * gst/gstminiobject.c:
17713         * gst/gstminiobject.h:
17714
17715         Modify to be subclasses of GstMiniObject.
17716         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
17717         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
17718         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
17719         (gst_subbuffer_get_type), (gst_subbuffer_init),
17720         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
17721         (gst_buffer_span):
17722         * gst/gstbuffer.h:
17723         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
17724         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
17725         (_gst_event_copy), (gst_event_new):
17726         * gst/gstevent.h:
17727         * gst/gstmessage.c: (_gst_message_initialize),
17728         (gst_message_get_type), (gst_message_class_init),
17729         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
17730         (gst_message_new), (gst_message_new_error),
17731         (gst_message_new_warning), (gst_message_new_tag),
17732         (gst_message_new_state_changed), (gst_message_new_application):
17733         * gst/gstmessage.h:
17734         * gst/gstprobe.c: (gst_probe_perform),
17735         (gst_probe_dispatcher_dispatch):
17736         * gst/gstprobe.h:
17737         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
17738         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
17739         (_gst_query_copy), (gst_query_new):
17740
17741         Update elements for GstData -> GstMiniObject changes
17742         * gst/gstquery.h:
17743         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
17744         (gst_queue_chain), (gst_queue_loop):
17745         * gst/elements/gstbufferstore.c:
17746         (gst_buffer_store_add_buffer_func),
17747         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
17748         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17749         (gst_fakesink_render):
17750         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17751         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
17752         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
17753         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
17754         (gst_filesrc_create_read):
17755         * gst/elements/gstidentity.c: (gst_identity_class_init):
17756         * gst/elements/gsttypefindelement.c:
17757         (gst_type_find_element_src_event), (free_entry_buffers),
17758         (gst_type_find_element_handle_event):
17759         * libs/gst/dataprotocol/dataprotocol.c:
17760         (gst_dp_header_from_buffer):
17761         * libs/gst/dataprotocol/dataprotocol.h:
17762         * libs/gst/dataprotocol/dp-private.h:
17763
17764 2005-05-15  David Schleef  <ds@schleef.org>
17765
17766         * gst/elements/gstelements.c: Don't include headers that were
17767         just removed.
17768
17769 2005-05-15  David Schleef  <ds@schleef.org>
17770
17771         * gst/elements/Makefile.am: Remove some elements that don't
17772         need to be in the core (or even exist at all).
17773         * gst/elements/gstaggregator.c:
17774         * gst/elements/gstaggregator.h:
17775         * gst/elements/gstmd5sink.c:
17776         * gst/elements/gstmd5sink.h:
17777         * gst/elements/gstmultifilesrc.c:
17778         * gst/elements/gstmultifilesrc.h:
17779         * gst/elements/gstpipefilter.c:
17780         * gst/elements/gstpipefilter.h:
17781         * gst/elements/gstshaper.c:
17782         * gst/elements/gstshaper.h:
17783         * gst/elements/gststatistics.c:
17784         * gst/elements/gststatistics.h:
17785         * po/POTFILES.in: Remove above files.
17786
17787 2005-05-14  Andy Wingo  <wingo@pobox.com>
17788
17789         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
17790         so as to get the refs right.
17791         (sink_iterator_filter): New function, wraps bin_element_is_sink,
17792         unreffing objects that don't pass the filter.
17793
17794         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
17795         gst_element_set_bus.
17796         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
17797         normal cases, this will destroy the bus.
17798
17799         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
17800         object.
17801
17802         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
17803         has no sinks.
17804
17805 2005-05-13  Andy Wingo  <wingo@pobox.com>
17806
17807         * gst/gstutils.c (gst_element_link_pads): Instead of calling
17808         gst_pad_link, call pad_link_maybe_ghosting,
17809         (pad_link_maybe_ghosting): Links pads, making sure that the
17810         elements being linked are in the same bin.
17811         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
17812         Helpers for pad_link_maybe_ghosting.
17813
17814 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17815
17816         * configure.ac:
17817           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
17818
17819 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17820
17821         * docs/design/part-element-source.txt:
17822           Mention GstPushSrc
17823
17824 2005-05-12  Wim Taymans  <wim@fluendo.com>
17825
17826         * gst/base/gstbasesink.c: (gst_basesink_init),
17827         (gst_basesink_activate):
17828         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
17829         (gst_basesrc_is_seekable):
17830         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17831         (bin_element_is_sink), (gst_bin_change_state):
17832         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17833         * gst/gstelement.h:
17834         Identify sinks by their flag to avoid overly complicated
17835         checks (fow now).
17836         Do state changes even for elements not reachable from the
17837         sinks.
17838         BaseSink is a sink now :)
17839         Some more debugging info in the basesrc.
17840
17841
17842 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17843
17844         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
17845           Implement _query on a bin, similar to _send_event.
17846
17847 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
17848
17849         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
17850           Discont event offset format should be GST_FORMAT_BYTES,
17851           not GST_FORMAT_TIME.
17852
17853 2005-05-12  Wim Taymans  <wim@fluendo.com>
17854
17855         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
17856         Same fix as Ronald's but without the signal. 
17857
17858 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17859
17860         * gst/gstutils.c: (gst_element_query_position):
17861           No, an element is not a pad.
17862
17863 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17864
17865         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
17866         (gst_bin_get_state):
17867           If a child is removed from a bin while we remove the child from
17868           the bin and while we're retrieving its state, signal this to the
17869           get_state function so we abort the wait (instead of waiting for
17870           a timeout) and can immediately re-iterate over all other elements.
17871
17872 2005-05-12  Wim Taymans  <wim@fluendo.com>
17873
17874         * gst/base/Makefile.am:
17875         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
17876         (gst_basesrc_start):
17877         * gst/base/gstbasesrc.h:
17878         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
17879         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
17880         (gst_pushsrc_init), (gst_pushsrc_create):
17881         * gst/base/gstpushsrc.h:
17882         Added is_seekable to BaseSrc
17883         Added simple PushSrc.
17884
17885 2005-05-11  Wim Taymans  <wim@fluendo.com>
17886
17887         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17888         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17889         (gst_element_link_pads), (gst_element_query_position),
17890         (gst_element_query_convert), (intersect_caps_func),
17891         (gst_pad_query_position), (gst_pad_query_convert):
17892         Fix refcounting in utils function.
17893         No point in trying to activate a pad when it's added, it could
17894         be added from the state change function and then we deadlock, the
17895         element has to decide what to do.
17896
17897 2005-05-10  Andy Wingo  <wingo@pobox.com>
17898
17899         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
17900         *all* the arguments.
17901
17902         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
17903         stream lock if it's a FLUSH_DONE; normal flushes don't get the
17904         lock (according to the docs -- if this is wrong change the docs).
17905
17906         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
17907         flush messages in the NULL state.
17908
17909         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
17910         message immediately and return.
17911         (gst_bus_set_flushing): New function. If a bus is flushing, it
17912         flushes out any queued messages and immediately unrefs new
17913         messages. This is so when an element goes to NULL, all of the
17914         unhandled messages coming from it can be freed, and their
17915         references to the element dropped. In other words: message source
17916         ref considered harmful :P
17917
17918         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
17919         we're finished with it.
17920
17921         * gst/gstmessage.c (gst_message_new_state_changed): 
17922
17923 2005-05-10  Wim Taymans  <wim@fluendo.com>
17924
17925         * gst/gstvalue.c: (gst_value_compare_flags),
17926         (gst_value_serialize_flags), (gst_value_deserialize_flags),
17927         (_gst_value_initialize):
17928         Added flags serialize/deserialize/compare code.
17929
17930 2005-05-09  Andy Wingo  <wingo@pobox.com>
17931
17932         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
17933         Intersect the peer's caps with our caps.
17934
17935 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17936
17937         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17938         * gst/elements/gsttypefindelement.c: (find_peek):
17939           Handle negative offsets better. Fixes decodebin.
17940
17941 2005-05-09  Wim Taymans  <wim@fluendo.com>
17942
17943         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
17944         (gst_base_transform_event):
17945         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
17946         Implement accept_caps.
17947         Fix silly lock/unlock mismatch in base class.
17948
17949 2005-05-09  Wim Taymans  <wim@fluendo.com>
17950
17951         * docs/design/draft-push-pull.txt:
17952         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
17953         * gst/elements/gstfilesink.c: (gst_filesink_init),
17954         (gst_filesink_query):
17955         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17956         (gst_type_find_handle_src_query), (find_element_get_length):
17957         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
17958         * gst/gstelement.h:
17959         * gst/gstmessage.c:
17960         * gst/gstmessage.h:
17961         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
17962         (gst_real_pad_get_caps_unlocked),
17963         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
17964         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17965         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
17966         (gst_real_pad_dispose), (gst_real_pad_finalize),
17967         (gst_pad_load_and_link), (gst_pad_save_thyself),
17968         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
17969         (gst_pad_check_pull_range), (gst_pad_pull_range),
17970         (gst_pad_template_get_type), (gst_pad_template_class_init),
17971         (gst_pad_template_init), (gst_pad_template_dispose),
17972         (name_is_valid), (gst_static_pad_template_get),
17973         (gst_pad_template_new), (gst_static_pad_template_get_caps),
17974         (gst_pad_template_get_caps), (gst_pad_set_element_private),
17975         (gst_pad_get_element_private), (gst_pad_start_task),
17976         (gst_pad_pause_task), (gst_pad_stop_task),
17977         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
17978         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
17979         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
17980         (gst_ghost_pad_new):
17981         * gst/gstpad.h:
17982         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
17983         (gst_query_new_position), (gst_query_set_position),
17984         (gst_query_parse_position), (gst_query_new_convert),
17985         (gst_query_set_convert), (gst_query_parse_convert):
17986         * gst/gstquery.h:
17987         * gst/gstqueryutils.c:
17988         * gst/gstqueryutils.h:
17989         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17990         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17991         (gst_queue_handle_src_query):
17992         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17993         (gst_element_query_position), (gst_element_query_convert),
17994         (intersect_caps_func), (gst_pad_query_position),
17995         (gst_pad_query_convert):
17996         * gst/gstutils.h:
17997         * tools/gst-inspect.c: (print_pad_info):
17998         * tools/gst-xmlinspect.c: (print_element_info):
17999         Remove old query functions. Ported old code.
18000         Added position/convert helper functions to gstutils.
18001         Reordered gstpad.c code, grouping relevant things.
18002         Remove gst_message_new(), always need to speficy a specific
18003         message.
18004
18005
18006 2005-05-09  Andy Wingo  <wingo@pobox.com>
18007
18008         * gst/gstiterator.h: Add some includes.
18009
18010         * gst/gstqueryutils.h: Include more headers.
18011
18012         * gst/gstpad.h:
18013         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18014         some uses of gst_pad_query.
18015
18016         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18017         NULL out parameters.
18018         (gst_query_new_position): New proc, allocates a new position
18019         query.
18020
18021         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18022         gstqueryutils.c to the build.
18023
18024         * gst/gststructure.c (gst_structure_set_valist): Implement with
18025         the generic G_VALUE_COLLECT.
18026         
18027 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18028
18029         * gst/Makefile.am: (gst_headers):
18030         Added gstqueryutils.h to the list of headers to install, that was
18031         a 'nachty' move wingo :)
18032
18033 2005-05-06  Andy Wingo  <wingo@pobox.com>
18034
18035         * gst/gstquery.h
18036         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18037         GstData, init a memchunk.
18038         (standard_definitions): Add a few query types, deprecate a few.
18039         (gst_query_get_type): New proc.
18040         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18041         implementation.
18042         (gst_query_new_application, gst_query_get_structure): New public
18043         procs.
18044
18045         * docs/design/draft-query.txt: Removed LINKS from the query types,
18046         because all the rest can be dispatched to other pads -- seemed
18047         ugly to have a query that couldn't be dispatched. internal_links
18048         is fine as a pad method.
18049
18050         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18051         in gstpad.c, but maintain binary compatibility for the moment.
18052         Will fix before 0.9 is out.
18053
18054         * gst/gstqueryutils.c: 
18055         * gst/gstqueryutils.h: New files, implement 3 methods for each
18056         query type: parse_query, parse_response, and set. Probably need an
18057         allocator as well.
18058
18059         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18060
18061         * gst/elements/gstfilesink.c (gst_filesink_query2):
18062         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18063         query_types, and formats methods.
18064
18065         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18066         (gst_pad_set_query2_function): New functions.
18067         (gst_real_pad_init): Set query2_default as the default query2
18068         function. Basically just dispatches to internally linked pads.
18069
18070         Needs review!
18071         
18072         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18073         without using the atomic operations. Only one thread can possibly
18074         be accessing the data at this point. Changed so as to avoid
18075         gst_atomic operations.
18076
18077 2005-05-06  Wim Taymans  <wim@fluendo.com>
18078
18079         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18080         Also set caps if we use the fallback buffer alloc.
18081
18082 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18083
18084         * docs/gst/Makefile.am:
18085         * docs/gst/gstreamer-docs.sgml:
18086         * docs/gst/gstreamer-sections.txt:
18087         * docs/gst/tmpl/gstatomic.sgml:
18088         * docs/gst/tmpl/gstmemchunk.sgml:
18089         * testsuite/elements/struct_i386.h:
18090         * win32/GStreamer.vcproj:
18091         * win32/Makefile:
18092           Purge GstAtomic stuff from docs and win32 makefiles as well
18093
18094 2005-05-06  Wim Taymans  <wim@fluendo.com>
18095
18096         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18097         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18098         * gst/gstpad.c: (gst_pad_peer_get_caps):
18099         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18100         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18101         (gst_queue_src_activate), (gst_queue_change_state):
18102         * gst/gstqueue.h:
18103         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18104         (intersect_caps_func):
18105         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18106         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18107         Some fixes for the peer_get_caps() change.
18108
18109 2005-05-06  Wim Taymans  <wim@fluendo.com>
18110
18111         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18112         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18113         (gst_basesink_activate):
18114         Actually do something with error codes returned from the push
18115         functions.
18116
18117 2005-05-06  Wim Taymans  <wim@fluendo.com>
18118
18119         * docs/design/part-element-sink.txt:
18120         * docs/design/part-element-source.txt:
18121         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18122         (gst_basesink_event), (gst_basesink_activate):
18123         * gst/base/gstbasesink.h:
18124         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18125         (gst_basesrc_activate):
18126         * gst/base/gstbasesrc.h:
18127         * gst/gstelement.c: (gst_element_pads_activate):
18128         Some more documentation.
18129         Fixed scheduling decision in _pads_activate().
18130
18131 2005-05-05  Andy Wingo  <wingo@pobox.com>
18132
18133         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18134         the test suite.
18135
18136 2005-05-05  Wim Taymans  <wim@fluendo.com>
18137
18138         * gst/base/Makefile.am:
18139         * gst/base/gstbasesink.h:
18140         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18141         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18142         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18143         (gst_collectpads_class_init), (gst_collectpads_init),
18144         (gst_collectpads_finalize), (gst_collectpads_new),
18145         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18146         (find_pad), (gst_collectpads_remove_pad),
18147         (gst_collectpads_is_active), (gst_collectpads_collect),
18148         (gst_collectpads_collect_range), (gst_collectpads_start),
18149         (gst_collectpads_stop), (gst_collectpads_peek),
18150         (gst_collectpads_pop), (gst_collectpads_available),
18151         (gst_collectpads_read), (gst_collectpads_flush),
18152         (gst_collectpads_chain):
18153         * gst/base/gstcollectpads.h:
18154         * gst/elements/Makefile.am:
18155         * gst/elements/gstelements.c:
18156         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18157         (gst_fakesink_get_times), (gst_fakesink_event),
18158         (gst_fakesink_preroll), (gst_fakesink_render):
18159         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18160         (gst_filesink_init), (gst_filesink_set_location),
18161         (gst_filesink_open_file), (gst_filesink_close_file),
18162         (gst_filesink_pad_query), (gst_filesink_event),
18163         (gst_filesink_render), (gst_filesink_change_state):
18164         * gst/elements/gstfilesink.h:
18165         Added object to help in making collect pad based elements.
18166         Ported filesink.
18167         Make event function in sink baseclass return gboolean.
18168
18169 2005-05-05  Wim Taymans  <wim@fluendo.com>
18170
18171         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18172         (gst_bin_get_by_name):
18173         * gst/gstbuffer.h:
18174         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18175         (gst_clock_finalize):
18176         * gst/gstdata.c: (gst_data_replace):
18177         * gst/gstdata.h:
18178         * gst/gstelement.c: (gst_element_request_pad),
18179         (gst_element_pads_activate):
18180         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18181         (gst_object_unref):
18182         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18183         (gst_pad_set_checkgetrange_function),
18184         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18185         (gst_pad_check_pull_range), (gst_pad_pull_range),
18186         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18187         (gst_pad_pause_task), (gst_pad_stop_task):
18188         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18189         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18190         Fix name lookup in GstBin.
18191         Added _data_replace() function and _buffer_replace()
18192         Use finalize method to clean up clock.
18193         Fix refcounting on request pads.
18194         Fix pad schedule mode error.
18195         Some more object refcounting debug info,
18196
18197
18198 2005-05-04  Andy Wingo <wingo@pobox.com>
18199
18200         * check/Makefile.am:
18201         * docs/gst/tmpl/gstatomic.sgml:
18202         * docs/gst/tmpl/gstplugin.sgml:
18203         * gst/base/gstbasesink.c: (gst_basesink_activate):
18204         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18205         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18206         (gst_basesrc_query), (gst_basesrc_set_property),
18207         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18208         (gst_basesrc_activate):
18209         * gst/base/gstbasesrc.h:
18210         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18211         (gst_base_transform_src_activate):
18212         * gst/elements/gstelements.c:
18213         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18214         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18215         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18216         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18217         (gst_type_find_element_checkgetrange),
18218         (gst_type_find_element_activate):
18219         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18220         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18221         (gst_caps_load_thyself):
18222         * gst/gstelement.c: (gst_element_pads_activate),
18223         (gst_element_save_thyself), (gst_element_restore_thyself):
18224         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18225         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18226         * gst/gstpad.h:
18227         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18228         (gst_xml_parse_file), (gst_xml_parse_memory),
18229         (gst_xml_get_element), (gst_xml_make_element):
18230         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18231         (_file_index_id_save_xml), (gst_file_index_commit):
18232         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18233         (read_enum), (load_pad_template), (load_feature), (load_plugin),
18234         (load_paths):
18235         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18236         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18237         * tools/gst-complete.c: (main):
18238         * tools/gst-compprep.c: (main):
18239         * tools/gst-inspect.c: (print_element_properties_info):
18240         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18241         * tools/gst-xmlinspect.c: (print_element_properties):
18242         GCC 4 fixen.
18243         
18244 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18245
18246         * gst/gstplugin.c: (gst_plugin_check_module),
18247         (gst_plugin_check_file), (gst_plugin_load_file):
18248             apply patch from #172526 to make register work on MacOSX
18249
18250 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18251
18252         * docs/gst/tmpl/gstconfig.sgml:
18253         * gst/gstconfig.h.in:
18254           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
18255         * testsuite/debug/printf_extension.c: (main):
18256           Do not use GST_PTR_FORMAT on pointers to types with
18257           sizeof < sizeof(gpointer).  Fixes test on 64-bit
18258         * testsuite/elements/property.h:
18259           use correct printf format
18260
18261 2005-05-02  Wim Taymans  <wim@fluendo.com>
18262
18263         * docs/design/draft-push-pull.txt:
18264         * docs/design/draft-query.txt:
18265         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
18266         (gst_basesrc_start):
18267         Added draft for new query API.
18268         Added draft for better selecting scheduling methods.
18269         Make basesrc ignore length if the subclass does not support
18270         it.
18271
18272 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18273
18274         * gst/Makefile.am:
18275           possible fixes for automake-1.5 - _LIBADD is reserved
18276
18277 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18278
18279         * docs/faq/Makefile.am:
18280         * docs/manual/Makefile.am:
18281         * docs/manuals.mak:
18282         * docs/pwg/Makefile.am:
18283         * gst/Makefile.am:
18284           possible fixes for automake-1.5
18285
18286 2005-04-28  Wim Taymans  <wim@fluendo.com>
18287
18288         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18289         (gst_basesink_pad_getcaps), (gst_basesink_init),
18290         (gst_basesink_do_sync):
18291         * gst/gstclock.c: (gst_clock_entry_new):
18292         * gst/gstevent.c: (gst_event_discont_get_value):
18293         * gst/gstpipeline.c: (pipeline_bus_handler),
18294         (gst_pipeline_change_state):
18295         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18296         Better debugging of clocking info.
18297         Allow NULL values when getting discont values.
18298
18299 2005-04-27  Wim Taymans  <wim@fluendo.com>
18300
18301         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18302         * check/gst/gstpad.c: (gst_pad_suite):
18303         Increase timeout for checks.
18304
18305 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18306
18307         * check/Makefile.am:
18308           fix the broken rule for cleanup.  Apparently this rule is
18309           only needed on FC2, so maybe this warrants further autotool
18310           inspection.
18311
18312 2005-04-26  Wim Taymans  <wim@fluendo.com>
18313
18314         * gst/gsttrashstack.h:
18315         Ooohh. a nasty one! After having a failed pop() from the stack,
18316         it's possible that the stack is empty. In that case, don't
18317         follow the NULL pointer.
18318
18319 2005-04-25  Wim Taymans  <wim@fluendo.com>
18320
18321         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18322         (gst_pad_set_checkgetrange_function),
18323         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
18324         (gst_pad_check_pull_range), (gst_pad_pull_range),
18325         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18326         (gst_pad_pause_task), (gst_pad_stop_task):
18327         * gst/gstplugin.c: (gst_plugin_load):
18328         * gst/gstplugin.h:
18329         Remove gst_library_load as it does more harm than good with
18330         the new g_module flags.
18331         Revert bogus caps template check in pad linking, pad caps
18332         are important when linking not the template, which is more
18333         general than the current caps.
18334
18335 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18336
18337         * gst/autoplug/.cvsignore:
18338         * gst/autoplug/Makefile.am:
18339         * gst/autoplug/gstsearchfuncs.c:
18340         * gst/autoplug/gstsearchfuncs.h:
18341         * gst/autoplug/gstspider.c:
18342         * gst/autoplug/gstspider.h:
18343         * gst/autoplug/gstspideridentity.c:
18344         * gst/autoplug/gstspideridentity.h:
18345         * gst/autoplug/spidertest.c:
18346           Die, spider, die.
18347
18348 2005-04-25  Wim Taymans  <wim@fluendo.com>
18349
18350         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18351         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18352         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
18353         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
18354         * gst/gstpad.h:
18355         Added stubs for unimplemented functions. 
18356
18357 2005-04-24  David Schleef  <ds@schleef.org>
18358
18359         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
18360         please fix.
18361
18362 2005-04-24  David Schleef  <ds@schleef.org>
18363
18364         Convert everything from GstAtomicInt to g_atomic_int_*, and
18365         remove gstatomic.
18366         * gst/Makefile.am:
18367         * gst/gstatomic.c:
18368         * gst/gstatomic.h:
18369         * gst/gstatomic_impl.h:
18370         * gst/gstbuffer.c:
18371         * gst/gstcaps.c:
18372         * gst/gstcaps.h:
18373         * gst/gstclock.c:
18374         * gst/gstclock.h:
18375         * gst/gstdata.c:
18376         * gst/gstdata.h:
18377         * gst/gstdata_private.h:
18378         * gst/gstevent.c:
18379         * gst/gstinfo.c:
18380         * gst/gstinfo.h:
18381         * gst/gstmessage.c:
18382         * gst/gstobject.c:
18383         * gst/gstobject.h:
18384         * gst/gststructure.c:
18385         * gst/gststructure.h:
18386         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
18387         * gst/gstutils.h:
18388
18389 2005-04-24  David Schleef  <ds@schleef.org>
18390
18391         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
18392         make the regressions tests work.  Remove some code that is no
18393         longer true.
18394         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
18395         Disable warning for pads without templates.
18396
18397 2005-04-24  David Schleef  <ds@schleef.org>
18398
18399         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
18400         functions that handle filtered links.
18401         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
18402         removed functions.
18403         * gst/gstutils.c: Fix/remove utility functions that handle
18404         filtered caps.
18405         * gst/gstutils.h:
18406         * gst/gstvalue.c: Add serialization/deserialization of caps
18407         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
18408         requires fixing so that the filter caps notation creates
18409         a capsfilter element and sets the filter_caps property.  I
18410         think everyone probably wants to keep the shorthand notation.
18411         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
18412         * docs/gst/tmpl/gstpad.sgml:
18413
18414         * gst/elements/gstelements.c: Register capsfilter element.
18415         * gst/Makefile.am: fix spacing
18416         * docs/random/ds/0.9-suggested-changes: random
18417
18418 2005-04-23  David Schleef  <ds@schleef.org>
18419
18420         * gst/elements/Makefile.am:
18421         * gst/elements/gstcapsfilter.c: New element that acts like an
18422         identity, but filters caps.  Will eventually replace filtered
18423         caps in pad linking.
18424         * gst/gstutils.c: (gst_element_create_all_pads): New function
18425         to create all the ALWAYS pads that are registered with an
18426         element class.  This functionality should eventually be
18427         merged in with GstElement initialization.
18428         * gst/gstutils.h:
18429         * testsuite/trigger/README: part of trigger test code that should
18430         have been checked in a long time ago.
18431
18432 2005-04-23  David Schleef  <ds@schleef.org>
18433
18434         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
18435         needed with new versions of libtool (nobody will confirm this),
18436         and hard to carry around.
18437         * gst/autoplug/Makefile.am:
18438         * gst/base/Makefile.am:
18439         * gst/elements/Makefile.am:
18440         * gst/indexers/Makefile.am:
18441         * gst/schedulers/Makefile.am:
18442         * libs/gst/bytestream/Makefile.am:
18443         * libs/gst/control/Makefile.am:
18444         * libs/gst/dataprotocol/Makefile.am:
18445         * libs/gst/getbits/Makefile.am:
18446
18447 2005-04-21  Wim Taymans  <wim@fluendo.com>
18448
18449         * docs/design/draft-push-pull.txt:
18450         * docs/design/part-MT-refcounting.txt:
18451         * docs/design/part-TODO.txt:
18452         * docs/design/part-caps.txt:
18453         * docs/design/part-events.txt:
18454         * docs/design/part-gstbus.txt:
18455         * docs/design/part-gstpipeline.txt:
18456         * docs/design/part-messages.txt:
18457         * docs/design/part-push-pull.txt:
18458         * docs/design/part-query.txt:
18459         Some more docs.
18460
18461 2005-04-21  Wim Taymans  <wim@fluendo.com>
18462
18463         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
18464         (gst_message_new), (gst_message_new_error),
18465         (gst_message_new_warning), (gst_message_new_tag),
18466         (gst_message_new_state_changed), (gst_message_new_application),
18467         (gst_message_get_structure):
18468         * gst/gstmessage.h:
18469         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18470         (gst_structure_copy_conditional):
18471         Use parent refcount in GstMessage to ensure GstStructure
18472         consistency.
18473         Cleaned up headers a bit.
18474         
18475
18476 2005-04-20  Wim Taymans  <wim@fluendo.com>
18477
18478         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18479         (gst_basesink_pad_getcaps), (gst_basesink_init),
18480         (gst_basesink_chain_unlocked):
18481         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
18482         (gst_type_find_helper):
18483         * gst/elements/gsttypefindelement.c:
18484         (gst_type_find_element_have_type), (gst_type_find_element_init),
18485         (stop_typefinding), (gst_type_find_element_handle_event),
18486         (find_suggest), (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/gstbuffer.c: (_gst_buffer_sub_free),
18491         (gst_buffer_default_free), (gst_buffer_default_copy),
18492         (gst_buffer_set_caps):
18493         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
18494         (gst_caps_replace):
18495         * gst/gstmessage.c: (gst_message_new),
18496         (gst_message_new_state_changed):
18497         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18498         (gst_pad_set_checkgetrange_function),
18499         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
18500         (gst_pad_set_caps), (gst_pad_check_pull_range),
18501         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
18502         * gst/gstpad.h:
18503         * gst/gsttypefind.c: (gst_type_find_register):
18504         Make gst_caps_replace() work like other _replace() functions.
18505         Use _caps_replace() where possible.
18506         Make sure _message_new() initialises its field.
18507         Add gst_static_pad_template_get_caps()
18508
18509
18510 2005-04-18  Andy Wingo  <wingo@pobox.com>
18511
18512         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
18513         on the peer, not the pad. I think that was a typo. Pass an extra
18514         arg to see if random access is possible. Activate the pads as
18515         PULL_RANGE if possible.
18516
18517         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
18518
18519         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
18520         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
18521         to PROP_....
18522
18523 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18524
18525         * docs/faq/using.xml:
18526           Add note on gstreamer-properties (#154996).
18527
18528 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18529
18530         * docs/random/bbb/optional-properties:
18531           Some analysis on optional properties.
18532
18533 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18534
18535         * docs/gst/tmpl/gstelementfactory.sgml:
18536         * gst/gstelement.h:
18537         * gst/gstelementfactory.c: (gst_element_factory_init),
18538         (gst_element_factory_cleanup), (gst_element_register),
18539         (__gst_element_factory_add_static_pad_template),
18540         (gst_element_factory_get_static_pad_templates),
18541         (gst_element_factory_can_src_caps),
18542         (gst_element_factory_can_sink_caps):
18543         * gst/registries/Makefile.am:
18544         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
18545         (gst_xml_registry_class_init), (gst_xml_registry_init),
18546         (gst_xml_registry_new), (gst_xml_registry_set_property),
18547         (gst_xml_registry_get_property), (get_time), (make_dir),
18548         (gst_xml_registry_get_perms_func),
18549         (plugin_times_older_than_recurse), (plugin_times_older_than),
18550         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
18551         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
18552         (add_to_char_array), (read_string), (read_uint), (read_enum),
18553         (load_pad_template), (load_feature), (load_plugin), (load_paths),
18554         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
18555         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
18556         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
18557         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
18558         (gst_xml_registry_rebuild):
18559         * gst/registries/gstlibxmlregistry.h:
18560         * tools/gst-compprep.c: (main):
18561         * tools/gst-inspect.c: (print_pad_templates_info):
18562         * tools/gst-xmlinspect.c: (print_element_info):
18563           Use libxml2 for registry parsing, use staticpadtemplates in
18564           elementfactories. Makes gst_init() +/- 10x faster.
18565
18566 2005-04-12  Wim Taymans  <wim@fluendo.com>
18567
18568         * gst/base/Makefile.am:
18569         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18570         (gst_basesink_pad_getcaps), (gst_basesink_init),
18571         (gst_basesink_event), (gst_basesink_change_state):
18572         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18573         (gst_basesrc_init), (gst_basesrc_query),
18574         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18575         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18576         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18577         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18578         (gst_basesrc_stop), (gst_basesrc_activate),
18579         (gst_basesrc_change_state):
18580         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18581         (helper_find_suggest), (gst_type_find_helper):
18582         * gst/base/gsttypefindhelper.h:
18583         * gst/elements/Makefile.am:
18584         * gst/elements/gstelements.c:
18585         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18586         (gst_fakesink_get_times), (gst_fakesink_event),
18587         (gst_fakesink_preroll), (gst_fakesink_render):
18588         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18589         (gst_fakesrc_init), (gst_fakesrc_event_handler),
18590         (gst_fakesrc_get_property), (gst_fakesrc_create),
18591         (gst_fakesrc_start), (gst_fakesrc_stop):
18592         * gst/elements/gstfakesrc.h:
18593         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
18594         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18595         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18596         (gst_filesrc_create_read), (gst_filesrc_create),
18597         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
18598         (gst_filesrc_start):
18599         * gst/elements/gsttypefindelement.c:
18600         (gst_type_find_element_have_type), (gst_type_find_element_init),
18601         (start_typefinding), (stop_typefinding), (push_buffer_store),
18602         (gst_type_find_element_handle_event),
18603         (gst_type_find_element_chain),
18604         (gst_type_find_element_checkgetrange),
18605         (gst_type_find_element_getrange), (do_typefind),
18606         (gst_type_find_element_activate),
18607         (gst_type_find_element_change_state):
18608         * gst/elements/gsttypefindelement.h:
18609         * gst/gstpipeline.c: (pipeline_bus_handler):
18610         Added typefind helper.
18611         Small preroll fix in the base sink.
18612         Disable typefind code in basesrc.
18613         Crude port of typefindelement.
18614         Fakesrc cleanups.
18615
18616
18617 2005-04-11  Wim Taymans  <wim@fluendo.com>
18618
18619         * check/gst/gstbus.c: (gstbus_suite):
18620         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
18621         * check/gstcheck.h:
18622           Fix up the timeout so that the test does not fail.
18623
18624 2005-04-06  Wim Taymans  <wim@fluendo.com>
18625
18626         * gst/base/README:
18627         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18628         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
18629         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18630         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18631         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18632         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18633         (gst_basesrc_stop), (gst_basesrc_activate),
18634         (gst_basesrc_change_state), (basesrc_find_peek),
18635         (basesrc_find_suggest), (gst_basesrc_type_find):
18636         * gst/base/gstbasesrc.h:
18637         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
18638         (gst_filesrc_class_init), (gst_filesrc_init),
18639         (gst_filesrc_finalize), (gst_filesrc_set_location),
18640         (gst_filesrc_set_property), (gst_filesrc_get_property),
18641         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18642         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18643         (gst_filesrc_create_read), (gst_filesrc_create),
18644         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
18645         * gst/elements/gstfilesrc.h:
18646         * gst/gstelement.c: (gst_element_get_state_func),
18647         (gst_element_lost_state), (gst_element_pads_activate):
18648         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18649         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18650         (gst_pad_pull_range):
18651         * gst/gstpad.h:
18652         More work on the generic source base class, implement seeking,
18653         query.
18654         Make filesrc extend the base source class.
18655         Added gst_pad_set_checkgetrange_function to GstPad.
18656
18657 2005-04-06  Andy Wingo  <wingo@pobox.com>
18658
18659         * pkgconfig/gstreamer-base.pc.in:
18660         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
18661
18662         * pkgconfig/Makefile.am:
18663         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
18664
18665 2005-04-04  Wim Taymans  <wim@fluendo.com>
18666
18667         * gst/base/Makefile.am:
18668         * gst/base/README:
18669         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18670         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18671         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18672         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
18673         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18674         (gst_basesrc_base_init), (gst_basesrc_class_init),
18675         (gst_basesrc_init), (gst_basesrc_get_formats),
18676         (gst_basesrc_get_query_types), (gst_basesrc_query),
18677         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
18678         (gst_basesrc_set_property), (gst_basesrc_get_property),
18679         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
18680         (gst_basesrc_loop), (gst_basesrc_activate),
18681         (gst_basesrc_change_state):
18682         * gst/base/gstbasesrc.h:
18683         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
18684         (gst_fakesrc_class_init), (gst_fakesrc_init),
18685         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
18686         (gst_fakesrc_get_property), (gst_fakesrc_create):
18687         * gst/elements/gstfakesrc.h:
18688         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
18689         (gst_filesrc_open_file), (gst_filesrc_loop),
18690         (gst_filesrc_activate), (filesrc_find_peek),
18691         (gst_filesrc_type_find):
18692         Made base source class, make fakesrc extend it.
18693         Add comments to basesink class.
18694         Some filesrc cleanup.
18695
18696 2005-03-31  David Schleef  <ds@schleef.org>
18697
18698         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
18699         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
18700         expected to link against libgstreamer.
18701         * gst/base/Makefile.am: link against libgstreamer
18702         * gst/elements/Makefile.am: same
18703
18704 2005-03-31  Andy Wingo  <wingo@pobox.com>
18705
18706         * tests/instantiate/Makefile.am:
18707         * tests/instantiate/caps.c: Add test to test speed of caps copy
18708         and free.
18709
18710         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
18711         GMemChunk to be fair.
18712
18713         * gst/gsttrashstack.h: Remove warning about using the fallback
18714         trash stack implementation, it's still faster than malloc.
18715
18716 2005-03-30  Andy Wingo  <wingo@pobox.com>
18717
18718         * tests/complexity.c: Add a copyright.
18719
18720 2005-03-31  Wim Taymans  <wim@fluendo.com>
18721
18722         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
18723         (gst_base_transform_class_init), (gst_base_transform_init),
18724         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
18725         (gst_base_transform_get_property),
18726         (gst_base_transform_sink_activate),
18727         (gst_base_transform_src_activate),
18728         (gst_base_transform_change_state):
18729         * gst/base/gstbasetransform.h:
18730         * gst/elements/gstidentity.c: (gst_identity_class_init),
18731         (gst_identity_event), (gst_identity_check_perfect),
18732         (gst_identity_transform), (gst_identity_start),
18733         (gst_identity_stop):
18734         Added start/stop methods to transform base class so subclasses 
18735         don't need to deal with state changes even.
18736
18737 2005-03-31  Wim Taymans  <wim@fluendo.com>
18738
18739         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
18740         (gst_event_new_discontinuous), (gst_event_discont_get_value):
18741         * gst/gstevent.h:
18742         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18743         (gst_pad_pull_range):
18744         Added rate to the discont event to prepare for variable speed
18745         and reverse playback.
18746
18747 2005-03-29  David Schleef  <ds@schleef.org>
18748
18749         * configure.ac:
18750         * testsuite/trigger/Makefile.am:
18751         * testsuite/trigger/trigger.c: A little example program to show
18752         how trigger-based elements can work.
18753
18754 2005-03-29  Wim Taymans  <wim@fluendo.com>
18755
18756         * gst/base/Makefile.am:
18757         * gst/base/README:
18758         * gst/base/gstbasesink.c: (gst_basesink_get_type),
18759         (gst_basesink_base_init), (gst_basesink_class_init),
18760         (gst_basesink_pad_getcaps), (gst_basesink_init),
18761         (gst_basesink_activate), (gst_basesink_change_state):
18762         * gst/base/gstbasesink.h:
18763         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
18764         (gst_base_transform_base_init), (gst_base_transform_finalize),
18765         (gst_base_transform_class_init), (gst_base_transform_init),
18766         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
18767         (gst_base_transform_event), (gst_base_transform_getrange),
18768         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
18769         (gst_base_transform_set_property),
18770         (gst_base_transform_get_property),
18771         (gst_base_transform_sink_activate),
18772         (gst_base_transform_src_activate),
18773         (gst_base_transform_change_state):
18774         * gst/base/gstbasetransform.h:
18775         * gst/elements/gstidentity.c: (gst_identity_finalize),
18776         (gst_identity_class_init), (gst_identity_init),
18777         (gst_identity_event), (gst_identity_check_perfect),
18778         (gst_identity_transform), (gst_identity_set_property),
18779         (gst_identity_get_property), (gst_identity_change_state):
18780         * gst/elements/gstidentity.h:
18781         * gst/gstelement.c: (gst_element_get_state_func),
18782         (gst_element_lost_state), (gst_element_pads_activate):
18783         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18784         (gst_pad_check_pull_range), (gst_pad_pull_range):
18785         * gst/gstpad.h:
18786         Simplify pad activation.
18787         Added function to check if pull_range can be performed.
18788         Error out when pulling inactive or flushing pads.
18789         Removed const from refcounted types as it does not make sense.
18790         Simplify pad templates in basesink
18791         Added base class for simple 1-to-1 transforms.
18792         Make identity subclass the base transform.
18793
18794 2005-03-29  Andy Wingo  <wingo@pobox.com>
18795
18796         * docs/libs/gstreamer-libs-overrides.txt: 
18797         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
18798         really don't understand what's going on, but like whatever. I want
18799         green buildbot!
18800
18801         * docs/gst/Makefile.am:
18802         * docs/libs/Makefile.am: Dist the overrides files.
18803
18804         * check/Makefile.am (clean-local): Remove .libs directories.
18805
18806         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
18807         elements to EXTRA_DIST, so po/ files are happy.
18808
18809         * po/POTFILES.in: Er, remove it here.
18810
18811         * po/POTFILES: Remove gstspider.c.
18812
18813         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
18814
18815         * docs/libs/gstreamer-libs-docs.sgml: 
18816         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
18817         bytestream.
18818
18819         * tests/complexity.c (main): Set the length of the preroll queue
18820         on the sinks to prevent a lockup.
18821
18822         * libs/gst/dataprotocol/Makefile.am: 
18823         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
18824         the same as the one in check/gst-libs/gdp.c.
18825
18826         * po/, docs/gst/: Commit automatic changes to docs and po files.
18827
18828         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
18829         the versioned libgstbase.
18830
18831         * check/Makefile.am: Depend on an unversioned gst-register, seems
18832         to make autoconf happier.
18833
18834         * gst/base/Makefile.am: Make libgstbase a versioned lib.
18835
18836 2005-03-28  Wim Taymans  <wim@fluendo.com>
18837
18838         * configure.ac:
18839         * docs/design/part-gstelement.txt:
18840         * docs/design/part-negotiation.txt:
18841         * docs/design/part-preroll.txt:
18842         * docs/design/part-scheduling.txt:
18843         * docs/design/part-states.txt:
18844         * gst/Makefile.am:
18845         * gst/base/Makefile.am:
18846         * gst/base/README:
18847         * gst/base/gstbasesink.c: (gst_basesink_get_template),
18848         (gst_basesink_base_init), (gst_basesink_class_init),
18849         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18850         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18851         (gst_basesink_set_pad_functions),
18852         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
18853         (gst_basesink_set_property), (gst_basesink_get_property),
18854         (gst_base_sink_get_template), (gst_base_sink_get_caps),
18855         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
18856         (gst_basesink_preroll_queue_push),
18857         (gst_basesink_preroll_queue_empty),
18858         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
18859         (gst_basesink_event), (gst_basesink_get_times),
18860         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
18861         (gst_basesink_chain_unlocked), (gst_basesink_chain),
18862         (gst_basesink_loop), (gst_basesink_activate),
18863         (gst_basesink_change_state):
18864         * gst/base/gstbasesink.h:
18865         * gst/elements/Makefile.am:
18866         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
18867         (gst_fakesink_class_init), (gst_fakesink_init),
18868         (gst_fakesink_set_property), (gst_fakesink_get_property),
18869         (gst_fakesink_get_times), (gst_fakesink_event),
18870         (gst_fakesink_preroll), (gst_fakesink_render),
18871         (gst_fakesink_change_state):
18872         * gst/elements/gstfakesink.h:
18873         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18874         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
18875         * gst/gstelement.c: (gst_element_add_pad),
18876         (gst_element_get_state_func), (gst_element_abort_state),
18877         (gst_element_commit_state), (gst_element_lost_state),
18878         (gst_element_set_state), (gst_element_pads_activate):
18879         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
18880         * gst/gstpipeline.c: (gst_pipeline_send_event),
18881         (gst_pipeline_change_state):
18882         Added state change code.
18883         Added/updated docs.
18884         Added sink base class, make fakesink extend the base class.
18885         Small cleanups in GstPipeline.
18886
18887 2005-03-26  David Schleef  <ds@schleef.org>
18888
18889         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
18890         is broken and should be implemented in a different library.
18891         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
18892         * gst/gst.h: remove gstcpu.h
18893         * gst/gstcpu.c: remove
18894         * gst/gstcpu.h: remove
18895         * gst/Makefile.am.future: Remove this file.  It's ancient.
18896
18897 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18898
18899         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
18900         (gst_bin_send_event):
18901           Add default event/set_manager handlers. The set_manager handler
18902           takes care that the manager is distributed over kids that were
18903           already in the bin before the manager was set. The event handler
18904           is a utility virtual function that sends the event over all sinks,
18905           so that gst_element_send_event (bin, event); has the expected
18906           behaviour.
18907         * gst/gstpad.c: (gst_pad_event_default):
18908           Re-install default event handling for discontinuities, so that
18909           seeking works without requiring hacks in applications or extra
18910           code in sinks.
18911         * gst/gstpipeline.c: (gst_pipeline_class_init),
18912         (gst_pipeline_send_event):
18913           Half hack, half utility: set a pipeline to PAUSED for seek events,
18914           since that is the only way we can guarantee a/v sync. Means that
18915           you can do gst_element_seek (pipeline, method, pos); on a pipeline
18916           and it "just works".
18917
18918 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18919
18920         * gst/gstpipeline.c: (gst_pipeline_use_clock):
18921           Lock/unlock mismatch.
18922
18923 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
18924
18925         * docs/faq/gst-uninstalled:
18926           add gst-plugins-base
18927         * docs/gst/Makefile.am:
18928           don't error out until docs are fixed
18929         * docs/gst/gstreamer.types:
18930           remove thread
18931
18932 2005-03-22  Wim Taymans  <wim@fluendo.com>
18933
18934         * check/Makefile.am:
18935         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
18936         * gst/gststructure.c: (gst_structure_set_valist),
18937         (gst_structure_copy_conditional):
18938         Activated more tests.
18939         Added message test.
18940         Added G_TYPE_POINTER to GstStructure.
18941         
18942
18943 2005-03-22  Wim Taymans  <wim@fluendo.com>
18944
18945         * docs/design/part-TODO.txt:
18946         * docs/design/part-events.txt:
18947         * docs/design/part-gstbin.txt:
18948         * docs/design/part-gstbus.txt:
18949         * docs/design/part-gstpipeline.txt:
18950         * docs/design/part-messages.txt:
18951         * gst/gstbus.c:
18952         * gst/gstmessage.c:
18953         Docs updates
18954
18955 2005-03-21  Wim Taymans  <wim@fluendo.com>
18956
18957         * gst/gstbus.c: (gst_bus_post):
18958         Fix copy-and-paste error.
18959
18960 2005-03-21  Wim Taymans  <wim@fluendo.com>
18961
18962         * check/Makefile.am:
18963         * gst/Makefile.am:
18964         * gst/elements/Makefile.am:
18965         * gst/elements/gstelements.c:
18966         * gst/elements/gstfakesink.c: (gst_fakesink_init),
18967         (gst_fakesink_event), (gst_fakesink_chain):
18968         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18969         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
18970         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
18971         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
18972         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
18973         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
18974         (gst_fakesrc_loop), (gst_fakesrc_activate),
18975         (gst_fakesrc_change_state):
18976         * gst/elements/gstfakesrc.h:
18977         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
18978         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
18979         (gst_filesrc_open_file), (gst_filesrc_loop),
18980         (gst_filesrc_activate), (gst_filesrc_change_state),
18981         (filesrc_find_peek), (filesrc_find_suggest),
18982         (gst_filesrc_type_find):
18983         * gst/elements/gstidentity.c: (gst_identity_finalize),
18984         (gst_identity_class_init), (gst_identity_init),
18985         (gst_identity_proxy_getcaps), (identity_queue_push),
18986         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
18987         (gst_identity_getrange), (gst_identity_chain),
18988         (gst_identity_sink_loop), (gst_identity_src_loop),
18989         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
18990         (gst_identity_set_property), (gst_identity_get_property),
18991         (gst_identity_change_state):
18992         * gst/elements/gstidentity.h:
18993         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
18994         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
18995         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
18996         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
18997         (gst_tee_sink_activate):
18998         * gst/elements/gsttee.h:
18999         * gst/gst.c: (gst_register_core_elements), (init_post):
19000         * gst/gst.h:
19001         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19002         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19003         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19004         (gst_bin_change_state):
19005         * gst/gstbin.h:
19006         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19007         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19008         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19009         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19010         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19011         (bus_watch_callback), (bus_watch_destroy),
19012         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19013         (poll_timeout), (gst_bus_poll):
19014         * gst/gstbus.h:
19015         * gst/gstcaps.h:
19016         * gst/gstdata.h:
19017         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19018         (gst_element_post_message), (gst_element_message_full),
19019         (gst_element_get_state_func), (gst_element_get_state),
19020         (gst_element_abort_state), (gst_element_commit_state),
19021         (gst_element_lost_state), (gst_element_set_state),
19022         (gst_element_pads_activate), (gst_element_change_state),
19023         (gst_element_dispose), (gst_element_set_manager_func),
19024         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19025         (gst_element_set_manager), (gst_element_get_manager),
19026         (gst_element_set_bus), (gst_element_get_bus),
19027         (gst_element_set_scheduler), (gst_element_get_scheduler):
19028         * gst/gstelement.h:
19029         * gst/gstevent.c: (gst_event_new_segment_seek),
19030         (gst_event_new_flush):
19031         * gst/gstevent.h:
19032         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19033         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19034         (gst_message_new_eos), (gst_message_new_error),
19035         (gst_message_new_warning), (gst_message_new_tag),
19036         (gst_message_new_state_changed), (gst_message_new_application),
19037         (gst_message_get_structure), (gst_message_parse_tag),
19038         (gst_message_parse_state_changed), (gst_message_parse_error),
19039         (gst_message_parse_warning):
19040         * gst/gstmessage.h:
19041         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19042         (gst_real_pad_set_property), (gst_pad_set_active),
19043         (gst_pad_is_active), (gst_pad_set_blocked_async),
19044         (gst_pad_set_blocked), (gst_pad_is_blocked),
19045         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19046         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19047         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19048         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19049         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19050         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19051         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19052         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19053         (gst_pad_set_caps), (gst_pad_configure_sink),
19054         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19055         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19056         (gst_real_pad_dispose), (gst_real_pad_finalize),
19057         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19058         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19059         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19060         * gst/gstpad.h:
19061         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19062         (pipeline_bus_handler), (gst_pipeline_change_state),
19063         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19064         * gst/gstpipeline.h:
19065         * gst/gstprobe.h:
19066         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19067         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19068         (gst_queue_link_src), (gst_queue_bufferalloc),
19069         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19070         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19071         (gst_queue_loop), (gst_queue_handle_src_event),
19072         (gst_queue_handle_src_query), (gst_queue_src_activate),
19073         (gst_queue_change_state):
19074         * gst/gstqueue.h:
19075         * gst/gstscheduler.c: (gst_scheduler_init),
19076         (gst_scheduler_dispose), (gst_scheduler_create_task),
19077         (gst_scheduler_factory_create):
19078         * gst/gstscheduler.h:
19079         * gst/gststructure.c: (gst_structure_get_type),
19080         (gst_structure_copy_conditional):
19081         * gst/gststructure.h:
19082         * gst/gsttaginterface.h:
19083         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19084         (gst_task_init), (gst_task_dispose), (gst_task_create),
19085         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19086         (gst_task_pause):
19087         * gst/gsttask.h:
19088         * gst/gstthread.c:
19089         * gst/gstthread.h:
19090         * gst/gsttypes.h:
19091         * gst/schedulers/Makefile.am:
19092         * gst/schedulers/cothreads_compat.h:
19093         * gst/schedulers/entryscheduler.c:
19094         * gst/schedulers/faircothreads.c:
19095         * gst/schedulers/faircothreads.h:
19096         * gst/schedulers/fairscheduler.c:
19097         * gst/schedulers/gstbasicscheduler.c:
19098         * gst/schedulers/gstoptimalscheduler.c:
19099         * gst/schedulers/gthread-cothreads.h:
19100         * gst/schedulers/threadscheduler.c:
19101         (gst_thread_scheduler_task_get_type),
19102         (gst_thread_scheduler_task_class_init),
19103         (gst_thread_scheduler_task_init),
19104         (gst_thread_scheduler_task_start),
19105         (gst_thread_scheduler_task_stop),
19106         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19107         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19108         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19109         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19110         (plugin_init):
19111         * libs/gst/Makefile.am:
19112         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19113         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19114         (gst_file_pad_parent_set):
19115         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19116         (gst_dp_event_from_packet):
19117         * tests/complexity.c: (main):
19118         * tests/mass_elements.c: (main):
19119         * testsuite/states/locked.c: (message_received), (main):
19120         * testsuite/states/parent.c: (main):
19121         * tools/gst-inspect.c: (print_element_flag_info),
19122         (print_implementation_info), (print_pad_info):
19123         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19124         (main):
19125         * tools/gst-md5sum.c: (event_loop), (main):
19126         * tools/gst-typefind.c: (main):
19127         * tools/gst-xmlinspect.c: (print_element_info):
19128         Next big merge.
19129         Added GstBus for mainloop integration.
19130         Added GstMessage for sending notifications on the bus.
19131         Added GstTask as an abstraction for pipeline entry points.
19132         Removed GstThread.
19133         Removed Schedulers.
19134         Simplified GstQueue for multithreaded core.
19135         Made _link threadsafe, removed old capsnego.
19136         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19137         Added pad blocking functions.
19138         Reworked scheduling functions in GstPad to prepare for
19139         scheduling updates soon.
19140         Moved events out of data stream.
19141         Simplified GstEvent types.
19142         Added return values to push/pull.
19143         Removed clocking from GstElement.
19144         Added prototypes for state change function for next merge.
19145         Removed iterate from bins and state change management.
19146         Fixed some elements, disabled others for now.
19147         Fixed -inspect and -launch.
19148         Added check for GstBus.
19149
19150 2005-03-10  Wim Taymans  <wim@fluendo.com>
19151
19152         * docs/design/part-MT-refcounting.txt:
19153         * docs/design/part-clocks.txt:
19154         * docs/design/part-gstelement.txt:
19155         * docs/design/part-gstobject.txt:
19156         * docs/design/part-standards.txt:
19157         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19158         (gst_bin_remove_func), (gst_bin_remove):
19159         * gst/gstbin.h:
19160         * gst/gstbuffer.c:
19161         * gst/gstcaps.h:
19162         * testsuite/clock/clock1.c: (main):
19163         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19164         (main):
19165         * testsuite/dlopen/loadgst.c: (do_test):
19166         * testsuite/refcounting/bin.c: (add_remove_test1),
19167         (add_remove_test2), (main):
19168         * testsuite/refcounting/element.c: (main):
19169         * testsuite/refcounting/element_pad.c: (main):
19170         * testsuite/refcounting/pad.c: (main):
19171         * tools/gst-launch.c: (sigint_handler_sighandler):
19172         * tools/gst-typefind.c: (main):
19173         Doc updates.
19174         Added doc about clock.
19175         removed gst_bin_iterate_recurse_up(), marked methods
19176         for removal.
19177         Fix more testsuites.
19178
19179 2005-03-09  Wim Taymans  <wim@fluendo.com>
19180
19181         * gst/gstpad.c: (gst_pad_get_direction),
19182         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19183         (gst_pad_collect_valist):
19184         * testsuite/bins/interface.c: (main):
19185         * testsuite/caps/audioscale.c: (test_caps):
19186         * testsuite/caps/caps.c: (test1), (test2), (test3):
19187         * testsuite/caps/deserialize.c: (main):
19188         * testsuite/caps/enumcaps.c: (main):
19189         * testsuite/caps/filtercaps.c: (main):
19190         * testsuite/caps/intersect2.c: (main):
19191         * testsuite/caps/random.c: (main):
19192         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19193         * testsuite/caps/sets.c: (check_caps):
19194         * testsuite/caps/simplify.c: (check_caps), (main):
19195         * testsuite/caps/subtract.c: (check_caps):
19196         Fix _pad_get_direction wrt ghostpads.
19197         Fix caps testsuite.
19198
19199 2005-03-09  Wim Taymans  <wim@fluendo.com>
19200
19201         * check/Makefile.am:
19202         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19203         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19204         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19205         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19206         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19207         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19208         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19209         (bin_element_is_sink), (gst_bin_iterate_sinks),
19210         (gst_bin_iterate_all_by_interface):
19211         * gst/gstbin.h:
19212         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19213         (gst_element_change_state), (gst_element_dispose),
19214         (gst_element_finalize), (gst_element_set_loop_function):
19215         * gst/gstelement.h:
19216         * gst/gstiterator.c: (find_custom_fold_func):
19217         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19218         (gst_pad_collectv), (gst_pad_collect_valist),
19219         (gst_pad_template_new):
19220         * gst/gstpipeline.c: (gst_pipeline_class_init),
19221         (gst_pipeline_dispose), (gst_pipeline_set_property),
19222         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19223         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19224         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19225         * gst/gstutils.h:
19226         * gst/schedulers/entryscheduler.c:
19227         * gst/schedulers/gstbasicscheduler.c:
19228         (gst_basic_scheduler_cothreaded_chain),
19229         (gst_basic_scheduler_chain_add_element):
19230         * testsuite/bins/interface.c: (main):
19231         Added GstBin test.
19232         Added GstSystemClock test.
19233         Implemented clock distribution code in GstBin.
19234         Implemented iterate sinks method for future use.
19235         Rearranged gstelement.h
19236         Fix GstIterator comparison bug.
19237         Moved some code to GstPipeline, mostly clocking related.
19238
19239 2005-03-09  Wim Taymans  <wim@fluendo.com>
19240
19241         * configure.ac:
19242         * gst/gst_private.h:
19243         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19244         (gst_bin_remove_func), (gst_bin_remove),
19245         (gst_bin_get_by_name_recurse_up):
19246         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
19247         (gst_clock_id_compare_func), (gst_clock_id_wait),
19248         (gst_clock_id_wait_async), (gst_clock_init),
19249         (gst_clock_adjust_unlocked), (gst_clock_get_time):
19250         * gst/gstelement.h:
19251         * gst/gstinfo.c: (_gst_debug_init):
19252         * gst/gstobject.h:
19253         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19254         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
19255         * gst/gstpad.h:
19256         Bump version number, we're now 0.9.0
19257         Add future debugging category.
19258         Fix NULL _unref() in _get_by_name_recurse_up
19259         Rearrange gstpad.h.
19260         Update some docs.
19261
19262 2005-03-08  Wim Taymans  <wim@fluendo.com>
19263
19264         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
19265         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
19266         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19267         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
19268         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
19269         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
19270         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
19271         * gst/elements/gstidentity.c: (gst_identity_class_init):
19272         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
19273         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
19274         * gst/elements/gstshaper.c: (gst_shaper_class_init):
19275         * gst/elements/gststatistics.c: (gst_statistics_class_init):
19276         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
19277         (gst_tee_link):
19278         * gst/gstelement.c: (gst_element_class_init),
19279         (gst_element_base_class_init), (gst_element_init),
19280         (gst_element_get_random_pad), (gst_element_wait_state_change),
19281         (gst_element_change_state), (gst_element_dispose),
19282         (gst_element_finalize), (gst_element_set_loop_function):
19283         * gst/gstelement.h:
19284         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
19285         * gst/gstthread.c: (gst_thread_class_init),
19286         (gst_thread_release_children_locks), (gst_thread_change_state):
19287         * gst/schedulers/gstbasicscheduler.c:
19288         (gst_basic_scheduler_loopfunc_wrapper),
19289         (gst_basic_scheduler_chain_wrapper),
19290         (gst_basic_scheduler_src_wrapper),
19291         (gst_basic_scheduler_remove_element):
19292         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
19293         Remove threadsafe properties. Fix elements because GObject
19294         complains when installing a property before declaring a
19295         set/get_property handler.
19296         Rearrange gstelement.h file, use STATE macros for state locks.
19297         Free mutexes in the finalize method instead of dispose.
19298
19299 2005-03-08  Wim Taymans  <wim@fluendo.com>
19300
19301         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19302         * gst/gstthread.c: (gst_thread_release_children_locks):
19303         Added parentage check.
19304         Fix build og GstThread again.
19305
19306 2005-03-08  Wim Taymans  <wim@fluendo.com>
19307
19308         * docs/design/part-MT-refcounting.txt:
19309         * docs/design/part-conventions.txt:
19310         * docs/design/part-gstobject.txt:
19311         * docs/design/part-relations.txt:
19312         * docs/design/part-standards.txt:
19313         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19314         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
19315         (gst_bin_get_by_name), (gst_bin_get_by_interface),
19316         (gst_bin_iterate_all_by_interface):
19317         * gst/gstbuffer.h:
19318         * gst/gstclock.h:
19319         * gst/gstelement.c: (gst_element_class_init),
19320         (gst_element_change_state), (gst_element_set_loop_function):
19321         * gst/gstelement.h:
19322         * gst/gstiterator.c:
19323         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
19324         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
19325         (gst_object_dispatch_properties_changed), (gst_object_set_name),
19326         (gst_object_set_parent), (gst_object_unparent),
19327         (gst_object_check_uniqueness):
19328         * gst/gstobject.h:
19329         Docs updates, clean up some headers.
19330
19331 2005-03-07  Wim Taymans  <wim@fluendo.com>
19332
19333         * check/.cvsignore:
19334         * check/Makefile.am:
19335         * check/gst-libs/.cvsignore:
19336         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
19337         * check/gst/.cvsignore:
19338         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
19339         (START_TEST), (gstbus_suite), (main):
19340         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
19341         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
19342         (gst_data_suite), (main):
19343         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
19344         (add_fold_func), (gstiterator_suite), (main):
19345         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
19346         (thread_name_object), (thread_name_object_default),
19347         (gst_object_name_compare), (gst_object_suite), (main):
19348         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
19349         (gst_pad_suite), (main):
19350         * check/gstcheck.c: (gst_check_log_message_func),
19351         (gst_check_log_critical_func), (gst_check_init):
19352         * check/gstcheck.h:
19353         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19354         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
19355         Added checks.
19356
19357 2005-03-07  Wim Taymans  <wim@fluendo.com>
19358
19359         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19360         (gst_list_iterator_next), (gst_list_iterator_resync),
19361         (gst_list_iterator_free), (gst_iterator_new_list),
19362         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
19363         (gst_iterator_free), (gst_iterator_push), (filter_next),
19364         (filter_resync), (filter_uninit), (filter_free),
19365         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
19366         (gst_iterator_foreach), (find_custom_fold_func),
19367         (gst_iterator_find_custom):
19368         * gst/gstiterator.h:
19369         Added missing files.
19370
19371 2005-03-07  Wim Taymans  <wim@fluendo.com>
19372
19373         * Makefile.am:
19374         * configure.ac:
19375         * docs/design/part-MT-refcounting.txt:
19376         * docs/design/part-conventions.txt:
19377         * docs/design/part-gstobject.txt:
19378         * docs/design/part-relations.txt:
19379         * examples/mixer/mixer.c: (main):
19380         * examples/thread/thread.c: (eos), (main):
19381         * gst/Makefile.am:
19382         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
19383         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
19384         (gst_spider_plug_from_srcpad):
19385         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
19386         (gst_spider_identity_change_state),
19387         (gst_spider_identity_sink_loop_type_finding):
19388         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
19389         * gst/elements/gstidentity.c: (gst_identity_init):
19390         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
19391         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
19392         * gst/elements/gsttypefindelement.c: (free_entry):
19393         * gst/gst.c:
19394         * gst/gst.h:
19395         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
19396         (gst_bin_set_clock_func), (gst_bin_auto_clock),
19397         (gst_bin_set_index), (gst_bin_set_element_sched),
19398         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
19399         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
19400         (gst_bin_iterate_elements), (iterate_child_recurse),
19401         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
19402         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
19403         (compare_interface), (gst_bin_get_by_interface),
19404         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
19405         * gst/gstbin.h:
19406         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
19407         (gst_buffer_default_free), (gst_buffer_default_copy),
19408         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
19409         (gst_buffer_create_sub):
19410         * gst/gstbuffer.h:
19411         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
19412         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
19413         (gst_caps_unref), (gst_static_caps_get),
19414         (gst_caps_remove_and_get_structure), (gst_caps_append),
19415         (gst_caps_append_structure), (gst_caps_remove_structure),
19416         (gst_caps_copy_nth), (gst_caps_set_simple),
19417         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
19418         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
19419         (gst_caps_structure_intersect_field), (gst_caps_intersect),
19420         (gst_caps_structure_subtract_field), (gst_caps_subtract),
19421         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
19422         (gst_caps_structure_figure_out_union),
19423         (gst_caps_switch_structures), (gst_caps_do_simplify),
19424         (gst_caps_replace), (gst_caps_from_string),
19425         (gst_caps_copy_conditional):
19426         * gst/gstcaps.h:
19427         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
19428         (_gst_clock_id_free), (gst_clock_id_unref),
19429         (gst_clock_id_compare_func), (gst_clock_id_wait),
19430         (gst_clock_id_wait_async), (gst_clock_class_init),
19431         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
19432         (gst_clock_get_time), (gst_clock_set_time_adjust),
19433         (gst_clock_set_property), (gst_clock_get_property):
19434         * gst/gstclock.h:
19435         * gst/gstcompat.h:
19436         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
19437         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
19438         * gst/gstdata.h:
19439         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19440         (gst_element_requires_clock), (gst_element_provides_clock),
19441         (gst_element_set_clock), (gst_element_clock_wait),
19442         (gst_element_wait), (gst_element_set_time_delay),
19443         (gst_element_is_indexable), (gst_element_add_pad),
19444         (gst_element_add_ghost_pad), (gst_element_remove_pad),
19445         (pad_compare_name), (gst_element_get_static_pad),
19446         (gst_element_request_pad), (gst_element_get_request_pad),
19447         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
19448         (gst_element_class_get_pad_template_list),
19449         (gst_element_class_get_pad_template), (gst_element_error_func),
19450         (gst_element_get_random_pad), (gst_element_get_event_masks),
19451         (gst_element_send_event), (gst_element_seek),
19452         (gst_element_get_query_types), (gst_element_query),
19453         (gst_element_get_formats), (gst_element_convert),
19454         (gst_element_is_locked_state), (gst_element_set_locked_state),
19455         (gst_element_sync_state_with_parent), (gst_element_change_state),
19456         (gst_element_finalize), (gst_element_yield),
19457         (gst_element_interrupt), (gst_element_set_scheduler),
19458         (gst_element_get_scheduler), (gst_element_set_loop_function):
19459         * gst/gstelement.h:
19460         * gst/gstevent.h:
19461         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
19462         (gst_format_get_by_nick), (gst_format_get_details),
19463         (gst_format_iterate_definitions):
19464         * gst/gstformat.h:
19465         * gst/gstindex.c: (gst_index_gtype_resolver):
19466         * gst/gstinfo.c:
19467         * gst/gstinfo.h:
19468         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
19469         (gst_mem_chunk_free):
19470         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19471         (gst_object_ref), (gst_object_unref), (gst_object_sink),
19472         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
19473         (gst_object_dispatch_properties_changed),
19474         (gst_object_set_name_default), (gst_object_set_name),
19475         (gst_object_get_name), (gst_object_set_name_prefix),
19476         (gst_object_get_name_prefix), (gst_object_set_parent),
19477         (gst_object_get_parent), (gst_object_unparent),
19478         (gst_object_check_uniqueness), (gst_object_save_thyself),
19479         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
19480         (gst_object_set_property), (gst_object_get_property),
19481         (gst_object_get_path_string):
19482         * gst/gstobject.h:
19483         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
19484         (gst_real_pad_init), (gst_real_pad_get_property),
19485         (gst_pad_custom_new), (gst_pad_get_direction),
19486         (gst_pad_set_active), (gst_pad_is_active),
19487         (gst_pad_set_event_function), (gst_pad_is_linked),
19488         (gst_pad_link_free), (gst_pad_link_intersect),
19489         (gst_pad_link_fixate), (gst_pad_set_caps),
19490         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
19491         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
19492         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
19493         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
19494         (gst_pad_get_caps), (gst_pad_peer_get_caps),
19495         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
19496         (gst_pad_realize), (gst_pad_get_allowed_caps),
19497         (gst_real_pad_dispose), (gst_real_pad_finalize),
19498         (gst_pad_collectv), (gst_pad_collect_valist),
19499         (gst_pad_template_dispose), (gst_pad_template_new),
19500         (gst_pad_get_internal_links):
19501         * gst/gstpad.h:
19502         * gst/gstpipeline.c: (gst_pipeline_dispose),
19503         (gst_pipeline_change_state):
19504         * gst/gstpipeline.h:
19505         * gst/gstplugin.c:
19506         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
19507         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
19508         * gst/gstpluginfeature.h:
19509         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
19510         * gst/gstquery.c: (_gst_query_type_initialize),
19511         (gst_query_type_register), (gst_query_type_get_by_nick),
19512         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
19513         * gst/gstquery.h:
19514         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
19515         * gst/gstscheduler.c: (gst_scheduler_add_element),
19516         (gst_scheduler_factory_create):
19517         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19518         (gst_structure_free), (gst_structure_set_name),
19519         (gst_structure_id_set_value), (gst_structure_set_value),
19520         (gst_structure_set_valist), (gst_structure_remove_field),
19521         (gst_structure_remove_fields),
19522         (gst_structure_remove_fields_valist),
19523         (gst_structure_remove_all_fields), (gst_structure_foreach),
19524         (gst_structure_map_in_place),
19525         (gst_caps_structure_fixate_field_nearest_int),
19526         (gst_caps_structure_fixate_field_nearest_double):
19527         * gst/gststructure.h:
19528         * gst/gstsystemclock.c: (gst_system_clock_class_init),
19529         (gst_system_clock_init), (gst_system_clock_dispose),
19530         (gst_system_clock_async_thread),
19531         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
19532         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
19533         * gst/gstsystemclock.h:
19534         * gst/gsttag.c: (gst_tag_list_add_value_internal),
19535         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
19536         * gst/gsttaginterface.c:
19537         * gst/gstthread.c: (gst_thread_dispose),
19538         (gst_thread_release_children_locks), (gst_thread_change_state),
19539         (gst_thread_main_loop):
19540         * gst/gsttrashstack.h:
19541         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
19542         * gst/gsttypes.h:
19543         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19544         (gst_element_request_pad), (gst_element_get_pad_from_template),
19545         (gst_element_request_compatible_pad),
19546         (gst_element_get_compatible_pad_filtered),
19547         (gst_element_get_compatible_pad), (gst_element_state_get_name),
19548         (gst_element_link_pads_filtered), (gst_element_link_filtered),
19549         (gst_element_link_many), (gst_element_link),
19550         (gst_element_link_pads), (gst_element_unlink_pads),
19551         (gst_element_unlink_many), (gst_element_unlink),
19552         (gst_pad_can_link_filtered), (gst_pad_can_link),
19553         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
19554         (gst_object_default_error), (gst_bin_add_many),
19555         (gst_bin_remove_many), (gst_element_populate_std_props),
19556         (gst_element_class_install_std_props), (gst_buffer_merge),
19557         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
19558         (link_fold_func), (gst_pad_proxy_setcaps):
19559         * gst/gstutils.h:
19560         * gst/gstvalue.c: (gst_value_deserialize_string):
19561         * gst/parse/grammar.y:
19562         * gst/schedulers/gstbasicscheduler.c:
19563         (gst_basic_scheduler_cothreaded_chain),
19564         (gst_basic_scheduler_chain_recursive_add),
19565         (gst_basic_scheduler_pad_link):
19566         * gst/schedulers/gstoptimalscheduler.c:
19567         (get_group_schedule_function),
19568         (gst_opt_scheduler_state_transition),
19569         (gst_opt_scheduler_add_element), (element_get_reachables_func):
19570         * libs/gst/bytestream/bytestream.c:
19571         * libs/gst/dataprotocol/dataprotocol.c:
19572         (gst_dp_header_from_buffer):
19573         * po/nb.po:
19574         * po/ru.po:
19575         * tests/threadstate/threadstate2.c: (eos):
19576         * tools/gst-compprep.c: (main):
19577         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
19578         (print_pad_info), (print_children_info):
19579         * tools/gst-launch.c: (idle_func), (main):
19580         * tools/gst-md5sum.c: (idle_func), (main):
19581         * tools/gst-xmlinspect.c: (print_element_info):
19582         First THREADED backport attempt, focusing on adding locks and
19583         making sure the API is threadsafe. Needs more work. More docs
19584         follow this week.
19585
19586 2005-02-24  Andy Wingo  <wingo@pobox.com>
19587
19588         * tests/bench-complexity.scm:
19589         * tests/complexity.gnuplot: New files, good for running complexity
19590         benchmarks.
19591
19592         * tests/Makefile.am:
19593         * tests/complexity.c: New test, sets up N elements, at each level
19594         teeing into M streams per element. Eeeenteresting.
19595
19596         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
19597         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
19598         running bench-mass_elements.scm.
19599
19600         * tests/bench-mass_elements.scm: New script, runs mass_elements
19601         for various numbers of identities, outputting the results to a
19602         file. Requires guile 1.6. Just for testing.
19603
19604 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19605
19606         * gst/schedulers/fairscheduler.c:
19607           compile with debug disabled
19608
19609 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19610
19611         * configure.ac:
19612           hunting season on 0.9 is now OPEN