pkgconfig/: Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2
3         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4         
5         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6         * pkgconfig/gstreamer-check.pc.in:
7           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
8
9 2006-03-21  Edward Hervey  <edward@fluendo.com>
10
11         * gst/gstbuffer.h:
12         * gst/gstevent.h:
13         * gst/gstmessage.h:
14         gst_[buffer|event|message]_ref() macros are replaced by a static
15         inline functions because gcc-4.1 will about if the return value
16         isn't used.
17         * tests/check/gst/gstevent.c: (event_probe):
18         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
19
20 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
21
22         * gst/gstutils.h:
23         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
24         the type' case. (Closes: #335195 for now). In the future, when we
25         depend on GLib 2.10, we could also intern the type name using
26         g_intern_static_string()
27
28 2006-03-20  Wim Taymans  <wim@fluendo.com>
29
30         * gst/gstbin.c: (gst_bin_handle_message_func),
31         (bin_query_max_init), (bin_query_position_fold),
32         (bin_query_position_done), (gst_bin_query):
33         Position query should also take max of all streams.
34
35 2006-03-20  Wim Taymans  <wim@fluendo.com>
36
37         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
38         (gst_fake_src_finalize):
39         Fix leaks in fakesrc.
40
41         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
42         Fix leaks in the testcase.
43
44 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
45
46         * gst/gst_private.h:
47           add win32 specific import decoration(__declspec(dllimport)) 
48           for all extern GstDebugCategory * variables
49         * win32/common/libgstbase.def:
50         * win32/common/libgstcontroller.def:
51         * win32/common/libgstreamer.def:
52           Add some exports, remove empty lines
53         * win32/common/libgstdataprotocol.def:
54         * win32/common/libgstdataprotocol.dsp:
55         * win32/common/libgstnet.def:
56         * win32/common/libgstnet.dsp:
57           new project files and exportation files added
58         
59 2006-03-19  Wim Taymans  <wim@fluendo.com>
60
61         * tests/check/libs/basesrc.c: (eos_event_counter):
62         Use proper return value for probe.
63
64 2006-03-17  Wim Taymans  <wim@fluendo.com>
65
66         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
67         (gst_pad_push):
68         Don't leak buffers, caps and pads on negotiation errors.
69
70 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
71
72         * docs/faq/cvs.xml:
73         * docs/faq/dependencies.xml:
74         * docs/faq/developing.xml:
75         * docs/faq/faq.xml:
76         * docs/faq/general.xml:
77         * docs/faq/getting.xml:
78         * docs/faq/legal.xml:
79         * docs/faq/troubleshooting.xml:
80         * docs/faq/using.xml:
81         Faq review and update.
82
83 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
84
85         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
86         (gst_pad_push):
87         Don't pound the cpu to pieces by checking get_caps when accept_caps
88         is called with the same caps as the pad already has.
89         Use GST_DEBUG_OBJECT when outputting caps change information.
90
91 2006-03-15  Wim Taymans  <wim@fluendo.com>
92
93         * gst/gstclock.c: (gst_clock_class_init):
94         Fix docs.
95
96 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
97
98         * gst/gstbuffer.h:
99         Documentation fix.
100
101         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
102         (gst_pad_accept_caps), (gst_pad_configure_sink),
103         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
104         Make the default acceptcaps behaviour be to check the requested 
105         caps against the gst_pad_get_caps output. 
106
107         Ensure that gst_pad_accept_caps is used to check caps when a pad
108         doesn't have a setcaps function, so that pads automatically refuse 
109         caps that they don't allow in their pad template. (Fixes #332986)
110
111         When a buffer with attached caps is pushed, ensure that the source 
112         pad receives those caps even if the element didn't call
113         gst_pad_set_caps first.
114
115 2006-03-15  Wim Taymans  <wim@fluendo.com>
116
117         * libs/gst/base/gstadapter.c:
118         Add some docs.
119
120 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
121
122         * win32/common/libgstbase.def:
123         * win32/common/libgstcontroller.def:
124         * win32/common/libgstreamer.def:
125           Add a whole bunch of missing functions (#334434).
126
127 2006-03-14  Wim Taymans  <wim@fluendo.com>
128
129         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
130         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
131         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
132         Better debug info when we receive a segment event.
133         Reorganize a bit so we can pass the get_times() results around.
134         Use the segment format when calculating the running time.
135         Don't do QoS is sync is disabled or we have no clock or the
136         element does not want us to sync to the clock.
137         Don't drop buffers if QoS is disabled for now.
138
139 2006-03-14  Wim Taymans  <wim@fluendo.com>
140
141         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
142         Marked the stats property as unimplemented so people don't get
143         wild ideas.
144         Add debug message when regression goes wrong.
145         Added some more docs.
146
147 2006-03-14  Wim Taymans  <wim@fluendo.com>
148
149         * gst/gstsegment.c: (gst_segment_to_stream_time):
150         Return correct return type in case of errors.
151
152 2006-03-14  Wim Taymans  <wim@fluendo.com>
153
154         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
155           Don't segfault on invalid formats.
156
157 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
158
159         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
160           Can't use gst_segment_to_running_time() when the segment
161           is not in GST_TIME_FORMAT (like with filesink, for example).
162           Stops flac encoding pipelines from spewing critical warnings
163           at EOS (#331248).
164           
165 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
166
167         * gst/gstpipeline.c: (gst_pipeline_class_init):
168           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
169
170         * plugins/elements/gsttypefindelement.c:
171         (gst_type_find_element_handle_event):
172           Don't try to typefind empty streams.
173
174 2006-03-14  Wim Taymans  <wim@fluendo.com>
175
176         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
177         (gst_base_sink_do_qos):
178         Separate QoS calculation.
179         Only drop buffers when lateness is bigger than the 
180         duration of the buffer.
181
182 2006-03-13  Wim Taymans  <wim@fluendo.com>
183
184         * gst/gstpipeline.c: (gst_pipeline_set_property),
185         (gst_pipeline_get_property), (do_pipeline_seek),
186         (gst_pipeline_change_state), (gst_pipeline_set_delay),
187         (gst_pipeline_get_delay):
188         Don't deadlock when reading properties.
189
190 2006-03-13  Wim Taymans  <wim@fluendo.com>
191
192         * libs/gst/base/gstbasetransform.c:
193         (gst_base_transform_class_init), (gst_base_transform_init),
194         (gst_base_transform_sink_event),
195         (gst_base_transform_sink_eventfunc),
196         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
197         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
198         (gst_base_transform_set_property),
199         (gst_base_transform_get_property),
200         (gst_base_transform_change_state), (gst_base_transform_update_qos),
201         (gst_base_transform_set_qos_enabled),
202         (gst_base_transform_is_qos_enabled):
203         * libs/gst/base/gstbasetransform.h:
204         Make basetransform virtual method for src events too.
205         Handle QOS in basetransform.
206         API: gst_base_transform_update_qos
207         API: gst_base_transform_set_qos_enabled
208         API: gst_base_transform_is_qos_enabled
209
210 2006-03-13  Wim Taymans  <wim@fluendo.com>
211
212         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
213         (gst_base_sink_do_sync):
214         Small cleanups.
215         Use QOS debug category.
216
217 2006-03-13  Wim Taymans  <wim@fluendo.com>
218
219         * plugins/elements/gstqueue.c:
220         Very small doc update.
221
222 2006-03-13  Wim Taymans  <wim@fluendo.com>
223
224         * gst/gst_private.h:
225         * gst/gstinfo.c: (_gst_debug_init):
226         Added QOS debug category
227
228 2006-03-13  Wim Taymans  <wim@fluendo.com>
229
230         * docs/gst/gstreamer-sections.txt:
231         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
232         * gst/gstbin.h:
233         * gst/gstbus.c: (gst_bus_class_init):
234         * gst/gstbus.h:
235         * gst/gstclock.c:
236         * gst/gstelement.c: (gst_element_set_locked_state):
237         * gst/gstsegment.c:
238         Documentation updates.
239
240         * gst/gstpipeline.c: (gst_pipeline_get_type),
241         (gst_pipeline_class_init), (gst_pipeline_init),
242         (gst_pipeline_dispose), (gst_pipeline_set_property),
243         (gst_pipeline_get_property), (do_pipeline_seek),
244         (gst_pipeline_send_event), (gst_pipeline_change_state),
245         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
246         (gst_pipeline_get_delay):
247         * gst/gstpipeline.h:
248         Added methods for setting the delay.
249         API: gst_pipeline_set_delay
250         API: gst_pipeline_get_delay
251         Add pipeline debug category
252         Various cleanups.
253         Updated docs.
254         Don't reset stream time when seek failed.
255
256 2006-03-13  Wim Taymans  <wim@fluendo.com>
257
258         * docs/design/draft-klass.txt:
259         * docs/design/part-clocks.txt:
260         * docs/design/part-events.txt:
261         * docs/design/part-gstbin.txt:
262         * docs/design/part-gstpipeline.txt:
263         * docs/design/part-messages.txt:
264         * docs/design/part-negotiation.txt:
265         * docs/design/part-overview.txt:
266         * docs/design/part-preroll.txt:
267         * docs/design/part-seeking.txt:
268         * docs/design/part-states.txt:
269         * docs/design/part-streams.txt:
270         Documentation updates.
271
272 2006-03-12  Julien MOUTTE  <julien@moutte.net>
273
274         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
275         us to leak strings...
276
277 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
278
279         * libs/gst/net/gstnettimeprovider.c:
280           fix docs
281         * win32/common/config.h:
282           update
283
284 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
285
286         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
287
288         * configure.ac:
289           Don't check for libgnomeui (leftover from old examples
290           that aren't built or disted any longer) (#334303).
291           
292 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
293
294         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
295         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
296           Emit RESOURCE_NO_SPACE_LEFT error here as well when
297           there's no space left on the device.
298
299 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
300
301         * gst/gstclock.h:
302           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
303           to cast the input to GstClockTime before comparing with
304           another GstClockTime value.
305
306 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
307
308         * configure.ac:
309           back to trunk
310
311 === release 0.10.4 ===
312
313 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
314
315         * configure.ac:
316           releasing 0.10.4, "Light"
317
318 2006-03-10  Michael Smith  <msmith@fluendo.com>
319
320         * libs/gst/dataprotocol/dataprotocol.c:
321           Fix docs for dataprocotol to not get the return types completely
322           wrong for a few functions.
323
324 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
325
326         * docs/gst/gstreamer-sections.txt:
327         * gst/gstpipeline.c: (gst_pipeline_class_init),
328         (gst_pipeline_init), (gst_pipeline_set_property),
329         (gst_pipeline_get_property), (gst_pipeline_change_state),
330         (gst_pipeline_set_auto_flush_bus),
331         (gst_pipeline_get_auto_flush_bus):
332         * gst/gstpipeline.h:
333           Add new API: gst_pipeline_set_auto_flush_bus() and
334           gst_pipeline_get_auto_flush_bus() to disable automatic
335           flushing of the pipeline's GstBus when going from READY
336           to NULL state (#332045).
337
338 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
339
340         * docs/gst/gstreamer-sections.txt:
341         * gst/gsturi.c: (gst_uri_has_protocol):
342         * gst/gsturi.h:
343            Add new API: gst_uri_has_protocol() (#333779).
344
345 2006-03-09  Wim Taymans  <wim@fluendo.com>
346
347         * gst/gstclock.c: (gst_clock_entry_new),
348         (gst_clock_id_compare_func), (gst_clock_id_wait),
349         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
350         (gst_clock_init), (gst_clock_get_internal_time),
351         (gst_clock_set_master), (do_linear_regression),
352         (gst_clock_add_observation), (gst_clock_set_property):
353         * gst/gstclock.h:
354         Review docs.
355         Small cleanups.
356         Fix a possible segfault when the window-size is made smaller.
357         Calculate jitter before performing the clock wait. Ideally
358         the clock implementation should calculate jitter but we need
359         API breakage for that.
360
361         * gst/gstsystemclock.c: (gst_system_clock_init):
362         Docs review.
363         
364         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
365         Remove leftover else
366
367         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
368         (gst_systemclock_suite):
369         Added check to test GST_CLOCK_DIFF.
370
371 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
372
373         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
374         (gst_type_find_helper_get_range):
375           If we are provided with the size, we should implement
376           GstTypeFind::get_length, so that typefind functions who
377           want to can actually peek at the middle of a file.
378
379 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
380
381         * docs/manual/advanced-dataaccess.xml:
382           Add some very very basic error checking.
383
384         * docs/pwg/appendix-checklist.xml:
385           Some updates to the list of things to check when writing an element.
386
387 2006-03-08  Wim Taymans  <wim@fluendo.com>
388
389         * docs/design/part-element-transform.txt:
390         Added some docs about the design of tranform elements.
391
392         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
393         (gst_base_src_loop), (gst_base_src_change_state):
394         Mark buffers with the DISCONT flag.
395
396 2006-03-08  Michael Smith  <msmith@fluendo.com>
397
398         * gst/gstregistry.h:
399         * gst/gstregistryxml.c: (gst_registry_save),
400         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
401         (gst_registry_xml_save_pad_template),
402         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
403         (gst_registry_xml_write_cache):
404           Rewrite registry-saving to avoid race conditions and check for
405           failed writes.
406
407 2006-03-08  Wim Taymans  <wim@fluendo.com>
408
409         * libs/gst/base/gstbasetransform.c:
410         (gst_base_transform_transform_caps),
411         (gst_base_transform_transform_size),
412         (gst_base_transform_prepare_output_buffer),
413         (gst_base_transform_get_unit_size),
414         (gst_base_transform_buffer_alloc),
415         (gst_base_transform_handle_buffer),
416         (gst_base_transform_change_state):
417         Cleanups, separate normal flow from errors, add sensible
418         DEBUG lines.
419         Don't try to renegotiate when allocating an output buffer.
420         Also copy DISCONT buffer flag when copying a buffer.
421         Reset the transform after we finish streaming, not during.
422
423 2006-03-08  Wim Taymans  <wim@fluendo.com>
424
425         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
426         Use last buffer timestamp in qos message.
427
428 2006-03-07  Wim Taymans  <wim@fluendo.com>
429
430         Patch by: Christophe Fergeau
431
432         * docs/pwg/advanced-tagging.xml:
433         * docs/pwg/building-pads.xml:
434           fixes #333416
435
436 2006-03-07  Wim Taymans  <wim@fluendo.com>
437
438         * docs/libs/gstreamer-libs-sections.txt:
439         Added basesink new methods.
440
441         * gst/gstevent.c:
442         * gst/gstevent.h:
443         Docs updates. Flesh out the QoS docs.
444
445         * libs/gst/base/gstadapter.c:
446         Small doc clarification about ownership and flushing.
447
448         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
449         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
450         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
451         (gst_base_sink_get_property), (gst_base_sink_do_sync):
452         * libs/gst/base/gstbasesink.h:
453         API additions: 
454         Added new methods to allow subclass to control max-lateness 
455         and sync.
456         Generate very basic QoS events based on last sync observation.
457         Updated docs, fix typo, added some QoS blurb.
458
459         * libs/gst/base/gstbasesrc.c:
460         Remove obsolete _get_state() calls from docs.
461
462 2006-03-07  Wim Taymans  <wim@fluendo.com>
463
464         * docs/libs/gstreamer-libs-sections.txt:
465         * libs/gst/base/gstbasetransform.h:
466         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
467         Fix docs for GstBaseSrc.
468
469 2006-03-07  Wim Taymans  <wim@fluendo.com>
470
471         * docs/gst/gstreamer-sections.txt:
472         * gst/gstbuffer.h:
473         * gst/gstvalue.c:
474         * libs/gst/base/gstbasetransform.h:
475         Small documentation fixes.
476
477 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
478
479         * gst/gstvalue.c:
480           Document thread-unsafety of gst_value_register_foo_func()
481           when used at the same time as gst_value_foo() (#322628).
482
483 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
484
485         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
486         (gst_push_src_check_get_range):
487           Push sources don't support pull mode by default.
488
489 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
490
491         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
492         (gst_base_src_init), (gst_base_src_pad_check_get_range),
493         (gst_base_src_default_check_get_range):
494         * libs/gst/base/gstbasesrc.h:
495           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
496           provide default implementation, and rename
497           gst_base_src_check_get_range() to
498           gst_base_src_pad_check_get_range() for clarity.
499
500 2006-03-06  Wim Taymans  <wim@fluendo.com>
501
502         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
503         Make property overridable.
504
505 2006-03-06  Wim Taymans  <wim@fluendo.com>
506
507         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
508         (gst_base_sink_init), (gst_base_sink_set_property),
509         (gst_base_sink_get_property), (gst_base_sink_do_sync):
510         * libs/gst/base/gstbasesink.h:
511         API addition: Make max-lateness a property.
512
513 2006-03-06  Wim Taymans  <wim@fluendo.com>
514
515         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
516         (gst_base_sink_do_sync), (gst_base_sink_render_object):
517         Don't ever draw a frame that is >10ms late.
518
519 2006-03-06  Michael Smith  <msmith@fluendo.com>
520
521         * gst/gstmessage.c: (_gst_message_copy):
522           When copying a message, set the parent_refcount of the enclosed
523           structure to point at the copy, not the original message.
524
525 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
526
527         Patch by: Christophe Fergeau
528
529         * gst/gstutils.h:
530           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
531           usable in c++ code (#333417)
532
533 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
534
535         * gst/gstclock.h:
536           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
537
538 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
539
540         * libs/gst/base/gstbasetransform.c:
541         (gst_base_transform_transform_caps):
542           Make sure caps are writable before passing them to
543           gst_caps_append().
544
545 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
546
547         * gst/gsterror.h:
548           Fix some minor docs errors.
549
550 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
551
552           Patch by: Ross Burton <ross at burtonini dot com>
553
554         * gst/gsterror.c: (_gst_resource_errors_init):
555         * gst/gsterror.h:
556           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
557
558 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
559
560         * gst/gst.c:
561         Add a check and output a g_warning when GStreamer is built
562         against GLib 2.6 but running against 2.8 or higher, and vice 
563         versa. (Closes: #323542)
564
565 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
566
567         * gst/parse/parse.l:
568           Commit patch for parse_launch syntax from #331255. Removes 
569           support for quoted strings and mimetypes when writing filtered 
570           caps. See the bug report for more details - I'm pretty sure this
571           obscure feature is not in use by _anyone_ anywhere.
572
573           With this simple change, the size of the gstreamer.so here 
574           drops from 2193KB to 1565KB.
575
576 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
577
578         * plugins/elements/gsttypefindelement.h:
579         * plugins/elements/gsttypefindelement.c:
580         (gst_type_find_element_src_event), (start_typefinding),
581         (stop_typefinding), (gst_type_find_element_handle_event),
582         (gst_type_find_element_chain),
583         (gst_type_find_element_chain_do_typefinding):
584           Use gst_type_find_helper_for_buffer() for chain-based
585           typefinding.
586
587 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
588
589         * plugins/elements/gsttypefindelement.c:
590         (gst_type_find_element_class_init),
591         (gst_type_find_element_set_property),
592         (gst_type_find_element_get_property):
593           Deprecate "maximum" property (not only was it only taken into
594           account for typefinding in push-mode anyway, it also was never
595           actually possible to set it in the first place because the
596           property was registered with the numeric property ID for the
597           "minimum" property). Register "maximum" property correctly,
598           for the sake of future copy'n'pasters. Remove some cruft
599           from property get/set functions.
600
601 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
602
603         * plugins/elements/gsttypefindelement.c:
604         (gst_type_find_element_activate):
605           Use gst_type_find_helper_get_range() here, so we
606           can honour the "minimum" property and also emit
607           the signal with the correct probability of the found caps.
608
609 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
610
611         * docs/libs/gstreamer-libs-sections.txt:
612         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
613         (helper_find_suggest), (gst_type_find_helper_get_range),
614         (gst_type_find_helper):
615         * libs/gst/base/gsttypefindhelper.h:
616           New API: gst_type_find_helper_get_range() (#333042).
617
618 2006-03-02  Michael Smith  <msmith@fluendo.com>
619
620         * gst/gstregistryxml.c: (load_feature):
621           Asserting on a failure to read part of the registry is Not Cool.
622           Just log a warning and return NULL (which is already handled)
623
624 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
625
626         * win32/common/libgstbase.def:
627           added export of gst_type_find_helper_for_buffer
628         * win32/common/libgstbase.def:
629           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
630           gst_ghost_pad_get_target
631
632 2006-02-28  Wim Taymans  <wim@fluendo.com>
633
634         * docs/design/draft-klass.txt:
635         We use Filter now.
636         Added Connector to mark elements that are only used to
637         allow pipeline connections.
638         Moved Debug to extra feature since most of them are 
639         functionally something else.
640
641 2006-02-28  Wim Taymans  <wim@fluendo.com>
642
643         * docs/design/draft-klass.txt:
644         Some updates and clarifications.
645
646 2006-02-28  Wim Taymans  <wim@fluendo.com>
647
648         * docs/design/draft-klass.txt:
649         Proposal for klass field values.
650
651         * docs/design/part-streams.txt:
652         Start of a doc describing stream anatomy.
653
654 2006-02-28  Wim Taymans  <wim@fluendo.com>
655
656         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
657         Help the compiler a bit with type registration.
658         Use existing forward cod path instead of duplicating it when 
659         handling a message.
660         
661         * gst/gstbus.c: (gst_bus_get_type):
662         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
663         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
664         * gst/gstclock.c: (gst_clock_get_type):
665         * gst/gstelement.c: (gst_element_get_type),
666         * gst/gstelementfactory.c: (gst_element_factory_get_type):
667         * gst/gstindexfactory.c: (gst_index_factory_get_type):
668         * gst/gstminiobject.c: (gst_mini_object_get_type):
669         * gst/gstpad.c: (gst_pad_get_type):
670         * gst/gstsegment.c: (gst_segment_get_type):
671         * gst/gststructure.c: (gst_structure_get_type):
672         * gst/gstsystemclock.c: (gst_system_clock_get_type):
673         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
674         * gst/gstvalue.c:
675         Help compiler with type registration.
676
677         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
678         Small doc update.
679
680 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
681
682         * plugins/elements/gsttypefindelement.c:
683         (gst_type_find_element_handle_event):
684           When we get an EOS event and have not found a type yet
685           (most likely because we had not yet accumulated
686           TYPE_FIND_MIN_SIZE of data yet), try to determine the
687           type given the data we have so far. Fixes typefinding
688           for very short streams again, most notably quicktime
689           redirections as used on Apple's trailer site (#331701).
690
691 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
692
693         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
694         (gst_type_find_helper):
695           Try typefinding factories with the highest rank first.
696
697 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
698
699         * docs/libs/gstreamer-libs-docs.sgml:
700         * docs/libs/gstreamer-libs-sections.txt:
701         * libs/gst/base/gsttypefindhelper.c:
702           Add section for typefind helper and add documentation
703           for the old and the new function.
704
705 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
706
707         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
708         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
709         (gst_type_find_helper_for_buffer):
710         * libs/gst/base/gsttypefindhelper.h:
711           New API: gst_type_find_helper_for_buffer() (#332723).
712           
713 2006-02-27  Michael Smith  <msmith@fluendo.com>
714
715         Patch by: Loïc Minier
716
717         * configure.ac:
718         * docs/Makefile.am:
719         * docs/slides/Makefile.am:
720           prevent CVS directories getting disted.
721
722 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
723
724         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
725           Use the REFCOUNTING category for caps refcounting.
726           
727 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
728
729         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
730           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
731
732 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
733
734         * plugins/elements/gsttypefindelement.c:
735         (gst_type_find_element_activate):
736           Use gst_pad_check_pull_range() before _activate_pull()
737           to avoid unnecessary open/close (see #331690).
738
739 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
740
741         * gst/gstutils.c:
742           Docs enhancement: make it crystal clear what the
743           gst_pad_add_*_probe() callbacks should look like.
744
745 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
746
747         * libs/gst/base/gstbasesrc.c:
748           Document how applications can stop recording from
749           live sources (see #330996).
750
751 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
752
753         * tests/check/Makefile.am:
754         * tests/check/libs/basesrc.c: (eos_event_counter),
755         (basesrc_eos_events_pull), (basesrc_eos_events_push),
756         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
757         (gst_basesrc_suite), (main):
758           ... and add some tests for the base source EOS stuff.
759
760 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
761
762         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
763           Test case originally showed the problem fixed below,
764           but was then amended. Add checks back at the place
765           where they used to be.
766
767 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
768
769         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
770         (gst_base_src_init), (gst_base_src_loop),
771         (gst_base_src_activate_push), (gst_base_src_activate_pull),
772         (gst_base_src_change_state):
773         * libs/gst/base/gstbasesrc.h:
774           Don't unconditionally send EOS when going from PAUSED to
775           READY state, esp. make sure we don't send two EOS events
776           in some cases (e.g. one when reaching EOS and one when
777           going from PAUSED to READY). Also, we don't want to send
778           EOS events when operating in pull mode. However, we do
779           want to send an EOS event when shutting down a live
780           source explicitly, for example (fixes #330996).
781           
782 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
783
784         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
785           Update src->read_position after a seek when not using mmap.
786           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
787
788 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
789
790         * gst/Makefile.am:
791         * gst/gstparse.h:
792         * gst/gstutils.c:
793         * gst/gstutils.h:
794         Make things work with --disable-parse as they do with 
795         --disable-load-save - the symbols involved disappear, but the
796         header is still installed and GST_DISABLE_PARSE is included via
797         gstconfig.h
798
799 2006-02-20  Julien MOUTTE  <julien@moutte.net>
800
801         * libs/gst/base/gstbasetransform.c:
802         (gst_base_transform_change_state): Fix a stupid bug. I was 
803         sure I compiled that.
804
805 2006-02-20  Julien MOUTTE  <julien@moutte.net>
806
807         * gst/gstpad.c: (gst_pad_set_blocked_async):
808         * gst/gstutils.c: (gst_pad_add_data_probe),
809         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
810         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
811         (gst_pad_remove_buffer_probe): Make those function act on the
812         ghostpad target when it's a ghostpad. (Closes #331727)
813
814 2006-02-20  Julien MOUTTE  <julien@moutte.net>
815
816         * libs/gst/base/gstbasetransform.c:
817         (gst_base_transform_change_state): Make basetransform reusable.
818         (Closes #331898)
819
820 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
821
822         * docs/random/release:
823         Move the current documentation of how to do a release to the top
824         of the file.
825
826         * gst/gstbin.c: (gst_bin_class_init),
827         (gst_bin_handle_message_func):
828         Allow multiple state-recalculation threads. (Closes #328873)
829
830 2006-02-19  Julien MOUTTE  <julien@moutte.net>
831
832         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
833         * gst/gstpad.c: (gst_pad_set_event_function),
834         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
835         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
836         2 strings. You can't use the STR_NULL macro on that.
837
838 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
839
840         * gst/gstpad.c: (gst_pad_set_event_function),
841         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
842         (gst_pad_set_getcaps_function)
843         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
844           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
845           So now, we can use --gst-debug-level=5 on Windows
846         * win32/common/libgstcontroller.def:
847           Added export of gst_controller_init
848         * win32/vs6/libgstcontroller.dsp:
849           Fixed Release post build configuration
850
851 2006-02-17  Wim Taymans  <wim@fluendo.com>
852
853         * tests/check/gst/gstquery.c: (GST_START_TEST):
854         Added another check.
855
856 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
857
858         * plugins/elements/gsttypefindelement.c: (find_peek):
859           We can do peeks at non-zero offsets, as long as they
860           fall within the buffer we have.
861
862 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
863
864         * tests/check/Makefile.am:
865         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
866         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
867         (parse_suite), (main):
868           Add testsuite for parse launch syntax
869
870 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * plugins/elements/gsttypefindelement.c:
873         (gst_type_find_element_chain):
874           When typefinding is unsuccessful in the chain function, don't
875           error out immediately. Only error out with NO_CAPS_FOUND if
876           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
877           otherwise simply wait for more data so we can try typefinding
878           again with more data later. Also, don't attempt to typefind
879           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
880           this should improve typefinding from network sources where the
881           size of the first buffer can be somewhat random.
882
883 2006-02-14  Wim Taymans  <wim@fluendo.com>
884
885         * docs/gst/gstreamer-sections.txt:
886         * gst/gstpadtemplate.c:
887         * gst/gstpadtemplate.h:
888         Fix padtemplate docs, fixes #328805.
889
890 2006-02-14  Wim Taymans  <wim@fluendo.com>
891
892         * tools/gst-launch.c: (main):
893         NO_PREROLL is not an ERROR so don't send confusing messages
894         to the user.
895
896 2006-02-14  Wim Taymans  <wim@fluendo.com>
897
898         Patch by: Torsten Schoenfeld
899
900         * gst/gstregistry.c: (gst_registry_get_default),
901         (_gst_registry_cleanup):
902         Protect default registry with lock and ref/sink it.
903         Fixes #324818
904
905 2006-02-14  Wim Taymans  <wim@fluendo.com>
906
907         * gst/gstbuffer.c:
908         * gst/gstquery.c: (gst_query_list_add_format),
909         (gst_query_set_formatsv), (gst_query_parse_formats_length),
910         (gst_query_parse_formats_nth):
911         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
912         Docs fixes.
913
914 2006-02-14  Wim Taymans  <wim@fluendo.com>
915
916         * docs/gst/gstreamer-sections.txt:
917         Reworked query docs.
918
919         * gst/gstquery.c: (gst_query_new_formats),
920         (gst_query_list_add_format), (gst_query_set_formats),
921         (gst_query_set_formatsv), (gst_query_parse_formats_length),
922         (gst_query_parse_formats_nth):
923         * gst/gstquery.h:
924         Flesh out formats query, added some new methods.
925         Fix part of #324398.
926
927         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
928         Added query creation tests.
929
930 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
931
932         * gst/gstpad.c: (fixate_value):
933         Add a default fixation for fraction lists.
934
935 2006-02-13  Wim Taymans  <wim@fluendo.com>
936
937         * gst/gsttask.c: (gst_task_init), (gst_task_func),
938         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
939         (gst_task_join):
940         * gst/gsttask.h:
941         Detect and warn for obvious deadlocks. fixes #320340
942         Fix error case where lock was not released.
943
944         * tests/check/Makefile.am:
945         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
946         (task_func), (gst_element_suite), (main):
947         Add task check.
948
949 2006-02-13  Wim Taymans  <wim@fluendo.com>
950
951         * docs/gst/gstreamer-sections.txt:
952         * gst/gstbus.c:
953         Add new functions to docs.
954
955 2006-02-13  Wim Taymans  <wim@fluendo.com>
956
957         * docs/design/part-TODO.txt:
958         Updated TODO list, basesrc supports seeking to non-bytes
959         formats.
960
961         * docs/design/part-element-sink.txt:
962         Update docs.
963
964         * gst/gstbin.c: (bin_replace_message),
965         (gst_bin_handle_message_func):
966         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
967         * gst/gstevent.c: (gst_event_finalize):
968         * gst/gstpad.c: (gst_pad_event_default_dispatch),
969         (gst_pad_send_event):
970         Use shiny new _TYPE_NAME macros.
971
972         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
973         Move debug statement up.
974
975         * gst/gstelement.c: (gst_element_set_locked_state):
976         Add some debugging.
977
978 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
979
980         * docs/gst/gstreamer-sections.txt:
981         * gst/gstmessage.h:
982         * gst/gstquery.h:
983           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
984           macros (#330906). Also, document the already existing
985           GST_QUERY_TYPE macro.
986
987 2006-02-13  Wim Taymans  <wim@fluendo.com>
988
989         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
990         (event_probe), (GST_START_TEST):
991         Only events up to the pipeline EOS are counted, there are
992         some more when going to NULL currently which we don't care
993         about for now.
994
995 2006-02-13  Wim Taymans  <wim@fluendo.com>
996
997         * gst/gstpad.c: (gst_pad_send_event):
998         Correctly check flushing and emit probes. fixes #330125
999
1000 2006-02-10  Andy Wingo  <wingo@pobox.com>
1001
1002         * gst/gstbus.c (gst_bus_class_init): Declare our private data
1003         structure.
1004         (gst_bus_init): Cache the location of the private data in the
1005         instance structure.
1006         (gst_bus_enable_sync_message_emission) 
1007         (gst_bus_disable_sync_message_emission): Implement new public
1008         functions.
1009         (gst_bus_post): Emit the sync-message signal if the user asked for
1010         it. Fixes #330684.
1011
1012         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
1013         location of the bus-private structure.
1014         (gst_bus_enable_sync_message_emission)
1015         (gst_bus_disable_sync_message_emission): API addition
1016
1017 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
1018
1019         Patch by: Vincent Torri
1020
1021         * docs/pwg/building-boiler.xml:
1022         PWG patch from #326800
1023
1024 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1025
1026         * configure.ac:
1027         * docs/Makefile.am:
1028         * docs/design/Makefile.am:
1029           Dist design docs.
1030
1031 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1032
1033         * configure.ac:
1034           back to CVS
1035
1036 === release 0.10.3 ===
1037
1038 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
1039
1040         * configure.ac:
1041           releasing 0.10.3, "Like a virgin"
1042
1043 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1044
1045         * configure.ac:
1046           2nd prerelease of 0.10.3
1047           Bump libtool versioning.
1048
1049 2006-02-07  Andy Wingo  <wingo@pobox.com>
1050
1051         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
1052         update last_stop if we're in TIME format and the timestamp is
1053         valid.
1054
1055         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
1056         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
1057         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
1058         If we get a new newsegment with a different format, adapt
1059         accordingly.
1060
1061         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
1062         of 0. Not a problem, really.
1063
1064         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
1065         warn if sync=true.
1066
1067 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
1068
1069         * configure.ac:
1070           Prelease of 0.10.3
1071
1072 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
1073
1074         * win32/vs7:
1075           project files updated to the default vs7 configuration
1076         * win32/common/libgstbase.def:
1077         * win32/common/libgstreamer.def:
1078           added new symbols,
1079           removed empty lines,
1080           sorted all exported symbols alphabetically
1081         * win32/common/dirent.c:
1082         * win32/common/dirent.h:
1083         * win32/common/gchar.h:
1084           use windows line end.
1085           
1086 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1087
1088         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1089           Send EOS event when stopping.
1090
1091 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1092
1093         * docs/README:
1094           Tell folks what to do if the plugin-foobar.xml file
1095           hasn't been generated for a newly-added plugin.
1096
1097 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1098
1099         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1100         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1101         (gst_collect_pads_start), (gst_collect_pads_stop),
1102         (gst_collect_pads_event): Collectpads now holds a reference
1103         to the GstPad that was added. Indeed we don't want to look
1104         at pads that might just go away with no warning...
1105
1106 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1107
1108         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1109         (gst_collect_pads_start), (gst_collect_pads_stop),
1110         (gst_collect_pads_event), (gst_collect_pads_chain):
1111         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
1112         Mark Nauwelaerts's patch on bug #328491.
1113
1114 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1115
1116         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
1117         (gst_utils_suite):
1118           Add some simple tests for gst_parse_bin_from_description() and
1119           gst_bin_find_unconnected_pad() (#329069).
1120
1121 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1122
1123         * tools/gst-launch.c: (event_loop), (main):
1124           Catch errors during preroll (#320084).
1125
1126 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
1127
1128         * plugins/elements/gsttypefindelement.c:
1129         (gst_type_find_element_activate):
1130           Post TYPE_NOT_FOUND error message when typefinding
1131           is unsuccessful in the activate function as well.
1132
1133 2006-02-02  Wim Taymans  <wim@fluendo.com>
1134
1135         * docs/design/part-element-sink.txt:
1136         Updated doc.
1137
1138 2006-02-02  Wim Taymans  <wim@fluendo.com>
1139
1140         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1141         (gst_base_sink_render_object),
1142         (gst_base_sink_queue_object_unlocked):
1143         Only keep track of prerollable items when we are 
1144         prerolling.
1145         Before rendering after preroll, always check if we
1146         have queued items.
1147         Added some more debugging.
1148
1149 2006-02-02  Wim Taymans  <wim@fluendo.com>
1150
1151         * gst/gstelement.c: (gst_element_continue_state),
1152         (gst_element_set_state_func), (gst_element_change_state):
1153         Fixed #326576, been running this for quite some time with
1154         no regressions at all.
1155
1156 2006-02-02  Wim Taymans  <wim@fluendo.com>
1157
1158         * common/gst.supp:
1159         Added more suppressions
1160
1161 2006-02-02  Wim Taymans  <wim@fluendo.com>
1162
1163         * docs/design/part-element-sink.txt:
1164         Updated document.
1165
1166         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1167         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
1168         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
1169         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1170         (gst_base_sink_do_sync), (gst_base_sink_render_object),
1171         (gst_base_sink_preroll_object),
1172         (gst_base_sink_queue_object_unlocked),
1173         (gst_base_sink_queue_object), (gst_base_sink_event),
1174         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
1175         (gst_base_sink_loop), (gst_base_sink_activate_pull),
1176         (gst_base_sink_get_position), (gst_base_sink_change_state):
1177         * libs/gst/base/gstbasesink.h:
1178         Totally refactored matching the design doc.
1179         Use two segments, one to clip incomming buffers and another to
1180         perform sync.
1181         Handle queueing correctly, bypass the queue when playing.
1182         Make EOS cancelable.
1183         Handle errors correctly when operating in pull based mode.
1184
1185         * tests/check/elements/fakesink.c: (GST_START_TEST),
1186         (fakesink_suite):
1187         Added new check for sinks.
1188
1189 2006-02-02  Wim Taymans  <wim@fluendo.com>
1190
1191         * gst/gstsegment.c: (gst_segment_clip):
1192         No reason to refuse to clip when start == -1
1193
1194 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
1195
1196         * docs/README:
1197         * docs/manual/intro-basics.xml:
1198         * docs/manual/intro-preface.xml:
1199         * docs/manual/manual.xml:
1200         * docs/pwg/advanced-dparams.xml:
1201         * docs/pwg/intro-basics.xml:
1202         * docs/pwg/intro-preface.xml:
1203         * docs/pwg/pwg.xml:
1204           describe dparams (controller) for plugins
1205           unify docs a little more
1206
1207 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
1208
1209         * docs/gst/gstreamer-sections.txt:
1210         * gst/gstutils.c: (element_find_unconnected_pad),
1211         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
1212         * gst/gstutils.h:
1213           Add new API: gst_parse_bin_from_description() and
1214           gst_bin_find_unconnected_pad() (#329069).
1215
1216 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
1217
1218         * docs/manual/README:
1219           uncover a nasty detail of the docs build
1220
1221 2006-01-31  Wim Taymans  <wim@fluendo.com>
1222
1223         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
1224         Don't cache duration messages if we're not going to use or
1225         free them.
1226
1227 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
1228
1229         * docs/manual/advanced-dparams.xml:
1230         * docs/pwg/advanced-dparams.xml:
1231           more dparam docs
1232         * gst/gstindex.c:
1233           fix docs
1234         * libs/gst/controller/lib.c: (gst_controller_init):
1235           init just once
1236
1237 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
1238
1239         * gst/gstelement.c: (gst_element_message_full):
1240           also show file/line/func if no additional debug was given
1241
1242 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
1243         
1244         * win32/vs7/grammar.vcproj:
1245           activate copy of autogenerated files for Release mode
1246
1247 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1248         
1249         * win32/common/libgstreamer.def:
1250           export gst_value_compare
1251
1252 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
1253
1254         * plugins/elements/Makefile.am:
1255         * plugins/elements/gstelements.c:
1256         * plugins/elements/gstfdsink.c: (_do_init),
1257         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
1258         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
1259         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
1260         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
1261         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
1262         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
1263         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
1264         * plugins/elements/gstfdsink.h:
1265         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
1266
1267 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
1268
1269         * docs/manual/advanced-dparams.xml:
1270           describe controller
1271         * docs/manual/advanced-position.xml:
1272         * docs/manual/basics-init.xml:
1273         * docs/manual/manual.xml:
1274         * docs/manual/titlepage.xml:
1275         * docs/pwg/pwg.xml:
1276         * docs/pwg/titlepage.xml:
1277           cleanup xml (more to come)
1278         * libs/gst/controller/gstcontroller.c:
1279           fix typo
1280
1281 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1282         
1283         * win32/vs6/grammar.dsp:
1284           add autogen of gstmarshal.c,h for Release mode
1285                 
1286 2006-01-30  Wim Taymans  <wim@fluendo.com>
1287
1288         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1289         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
1290         (gst_base_sink_handle_object), (gst_base_sink_event),
1291         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
1292         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1293         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
1294         (gst_base_sink_deactivate), (gst_base_sink_activate),
1295         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1296         (gst_base_sink_query), (gst_base_sink_change_state):
1297         Basesink cleanups, remove some old code.
1298         Handle the case where a subclass can preroll in the render
1299         method (mostly audiosinks).
1300         Handle more events.
1301         Remove some locks around variables that are now protected
1302         with the PREROLL_LOCK (clock_id, flushing, ..).
1303         Optimize position query some more, do correct locking.
1304         Remove old code to push queue in state change, this is not
1305         needed anymore since preroll blocks on all prerollable items 
1306         now.
1307         Almost implemented as described in design doc.
1308
1309 2006-01-30  Wim Taymans  <wim@fluendo.com>
1310
1311         * tests/check/gst/gstbin.c: (GST_START_TEST):
1312         Wait for refcount to settle down before checking.
1313
1314 2006-01-30  Wim Taymans  <wim@fluendo.com>
1315
1316         * docs/design/part-element-sink.txt:
1317         Pseudo code overview of desired sink behaviour regarding
1318         preroll.
1319
1320 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1321         * win32/vs6/grammar.dsp:
1322           fix some bugs in Release mode for autogenerated files
1323                 
1324 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1325         * win32/common/libgstbase.def:
1326         * win32/common/libgstreamer.def:
1327           export some new symbols: gst_base_src_set_format,
1328           gst_iterator_next, gst_structure_set_valist
1329
1330 2006-01-29  Julien MOUTTE  <julien@moutte.net>
1331
1332         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1333         Set pad functions unconditionally. Fixes #329105.
1334
1335 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1336         * win32/vs8:
1337           add vs8 project files created by Sergey Scobich
1338
1339 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
1340
1341         * gst/gstutils.c: (gst_element_unlink_pads):
1342         Don't leak pad references.
1343
1344         * tests/check/elements/fakesink.c: (GST_START_TEST):
1345         * tests/check/generic/sinks.c: (GST_START_TEST):
1346         * tests/check/generic/states.c: (GST_START_TEST):
1347         * tests/check/gst/gstbin.c: (GST_START_TEST):
1348         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1349         * tests/check/gst/gstelement.c: (GST_START_TEST):
1350         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1351         * tests/check/gst/gstiterator.c: (GST_START_TEST):
1352         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1353         Fix a bunch of leaks. Make generic/sinks.c
1354         use a bit less cpu by slowing the buffer rate
1355         between fakesrc and fakesink.
1356         
1357 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
1358         * gst/gstcaps.c:
1359         * gst/gstelement.c: (gst_element_send_event):
1360         * gst/gstevent.c:
1361         * gst/gstinfo.c:
1362         * gst/gstiterator.c:
1363         * gst/gstiterator.h:
1364         * gst/gstpad.c: (gst_pad_send_event):
1365         * gst/gststructure.c:
1366         * gst/gsturi.c:
1367         * gst/gstutils.c:
1368         * gst/gstvalue.c:
1369         * libs/gst/base/gstadapter.c:
1370           doc fixes, to link to function, just write gst_cool_function(), don't
1371           prefix with '#'
1372
1373 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1374
1375         * plugins/elements/gsttee.c: (gst_tee_do_push),
1376         (gst_tee_handle_buffer):
1377         Always prefer an actual return value from a src
1378         pad in place of NOT_LINKED. This means we return
1379         WRONG_STATE when all src pads are WRONG_STATE
1380         instead of NOT_LINKED.
1381
1382         Lock when replacing the last message to prevent
1383         racing with the get_property method.
1384
1385         Add debug output
1386
1387 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1388
1389         * tests/check/Makefile.am:
1390         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
1391         (main):
1392         Add a very simple check that should have caught the memleak I fixed
1393         last night (if not for the slice allocator hiding it)
1394
1395 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1396
1397         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1398         (gst_bin_remove_func), (gst_bin_handle_message_func),
1399         (bin_query_duration_fold), (bin_query_generic_fold):
1400         Clean up references to the clock provider when disposed or when
1401         handling a clock-lost message from it.
1402
1403         Unref sinks when performing a query via gst_iterator_fold, as the
1404         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
1405
1406         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
1407         (gst_clock_set_master):
1408         Drop our reference to the master clock, if any, when we are disposed.
1409
1410         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
1411         Chain up in dispose. 
1412
1413 2006-01-26  Wim Taymans  <wim@fluendo.com>
1414
1415         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1416         Add some debugging.
1417
1418 2006-01-26  Julien MOUTTE  <julien@moutte.net>
1419
1420         * plugins/elements/gsttee.c: (gst_tee_do_push),
1421         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
1422         handles pad being NOT_LINKED or in WRONG_STATE.
1423
1424 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1425
1426         * win32/MANIFEST:
1427           more updating
1428
1429 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1430
1431         * win32/MANIFEST:
1432           remove obsolete entry
1433
1434 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1435
1436         * docs/gst/gstreamer-sections.txt:
1437         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
1438         (gst_bin_iterate_sources), (gst_bin_send_event):
1439         * gst/gstbin.h:
1440         * gst/gstelement.c: (gst_element_send_event):
1441         * gst/gstevent.c:
1442         * gst/gstpad.c: (gst_pad_send_event):
1443           added code for downstream events, reviewed docs in gstevent.c
1444
1445 2006-01-25  Julien MOUTTE  <julien@moutte.net>
1446
1447         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1448         We only query position using the clock in the playing state.
1449         Query peer in the other cases.
1450         * win32/common/config.h: Updates.
1451
1452 2006-01-24  Wim Taymans  <wim@fluendo.com>
1453
1454         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1455         A clock entry that is scheduled for the exact time of the
1456         clock is still in time.
1457
1458         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1459         (gst_base_sink_do_sync):
1460         Add some more debug info.
1461
1462 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
1463
1464         * win32/vs7:
1465           Add new vs7 project files and solution.
1466
1467 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
1468
1469         * win32/vs7:
1470           all files removed as they were out-dated.
1471
1472 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1473
1474         * docs/random/release:
1475           update notes
1476         * gst/gstbin.c: (gst_bin_init):
1477         * gst/gstbus.c: (gst_bus_new):
1478         * gst/gstbus.h:
1479         * gst/gstpipeline.c: (gst_pipeline_init):
1480           use gst_bus_new(), improve logging, fix docs
1481         * win32/common/config.h:
1482           update for cvs build
1483
1484 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1485
1486         * autogen.sh:
1487           up required version of automake to 1.7
1488
1489 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
1490
1491         * win32/common/libgstreamer.def:
1492           export gst_buffer_is_metadata_writable
1493
1494 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
1495
1496         * docs/gst/gstreamer-sections.txt:
1497         * gst/gstevent.h:
1498           Add gst_event_replace() (#327001)
1499
1500 2006-01-20  Wim Taymans  <wim@fluendo.com>
1501
1502         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1503         Make it actually compile too..
1504
1505 2006-01-20  Wim Taymans  <wim@fluendo.com>
1506
1507         * gst/gstcaps.c:
1508         Clarify behaviour of _is_equal() when passing NULL parameters.
1509
1510         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1511         (gst_pad_set_caps):
1512         Cleanups. Don't unref NULL caps.
1513         When setting the same caps, protect caps of the pad with
1514         proper lock.
1515         Use full functionality of _is_equal() when comparing caps.
1516
1517 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1518
1519         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1520         Don't loop infinitely if there are no buffers to present. Partially
1521         fixes #327197, but collectpads is just broken for reusing elements
1522         to do multiple encodes atm.
1523
1524 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1525
1526         * tools/gst-inspect.c: (print_element_features):
1527         * tools/gst-xmlinspect.c: (main):
1528         URL_HANDLER is not a plugin feature we can search for in
1529         the registry.
1530
1531 2006-01-19  Edward Hervey  <edward@fluendo.com>
1532
1533         * gst/gstelement.c: (gst_element_pads_activate): 
1534         When activating, do src pads first, then sink pads.
1535         When de-activating, do sink pads first, then src pads.
1536
1537 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1538
1539         * docs/gst/gstreamer-sections.txt:
1540         Add gst_index_add_associationv to the docs
1541
1542 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1543
1544         * gst/gstevent.c:
1545           Fix docs typo
1546
1547         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
1548         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
1549           Do some refactoring. Doesn't actually change functionality,
1550           but makes landing the DRAIN event easier later.
1551
1552 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         * docs/pwg/advanced-scheduling.xml:
1555           Update from 0.9.x to 0.10 API and make example a bit
1556           clearer.
1557
1558 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1559
1560         * docs/gst/gstreamer-sections.txt:
1561         Add gst_buffer_(is|make)_metadata_writable methods.
1562
1563 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1564
1565         * docs/design/part-sparsestreams.txt:
1566         Update sparse streams doc, hopefully for greater clarity
1567
1568 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
1569
1570         * docs/design/part-events.txt:
1571         Remove mention of FILLER events.
1572         Add DRAIN event.
1573
1574         * docs/design/part-sparsestreams.txt:
1575         Write some things about using NEWSEGMENT to keep sparse streams
1576         flowing.
1577
1578 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
1579
1580         * gst/gstbin.c: (gst_bin_dispose):
1581           Guard gst_object_unref call against a NULL object (dispose
1582           can theoretically be called multiple times).
1583           
1584 2006-01-18  Wim Taymans  <wim@fluendo.com>
1585
1586         * gst/gstbin.c: (gst_bin_element_set_state):
1587         * gst/gstclock.c: (gst_clock_id_wait):
1588         Added some more debug info.
1589
1590         * libs/gst/base/gstadapter.c:
1591         Added more docs.
1592
1593         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1594         (gst_base_sink_do_sync), (gst_base_sink_chain):
1595         Added some comments.
1596
1597 2006-01-18  Wim Taymans  <wim@fluendo.com>
1598
1599         * tests/check/Makefile.am:
1600         * tests/check/elements/fakesink.c: (chain_async_buffer),
1601         (chain_async), (chain_async_return), (GST_START_TEST),
1602         (fakesink_suite), (main):
1603         Added fakesink test that checks prerolling and clipping
1604         behaviour.
1605
1606         * tests/check/gst/gstutils.c: (GST_START_TEST):
1607         Make check run faster so that buildbots don't timeout.
1608
1609 2006-01-18  Wim Taymans  <wim@fluendo.com>
1610
1611         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1612         (gst_base_sink_do_sync):
1613         Some cleanups.
1614         When the sink finishes blocking on the preroll buffer, it can
1615         immediatly render it instead of rendering when the next buffer
1616         arrives.
1617
1618 2006-01-18  Wim Taymans  <wim@fluendo.com>
1619
1620         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
1621         (gst_base_sink_get_property), (gst_base_sink_do_sync),
1622         (gst_base_sink_chain):
1623         Small cleanups.
1624         GST_ELEMENT_CLOCK and sync are protected with LOCK.
1625         Don't store _last_stop if the buffer is dropped.
1626
1627 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
1628
1629         * plugins/elements/gsttypefindelement.c:
1630         (gst_type_find_element_class_init):
1631           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
1632           object method handler that sets the caps on the pad and we want
1633           that to happen before we emit the signal (fixes e.g. feeding a
1634           plain text file to decodebin).
1635
1636 2006-01-18  Christian Schaller  <Christian@fluendo.com>
1637
1638         * gst/gstplugin.c: Add MPL and Proprietary as license options
1639
1640 2006-01-18  Andy Wingo  <wingo@pobox.com>
1641
1642         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
1643         symbol was exported before, it appears this was just an oversight.
1644         Fixes #168703.
1645         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
1646
1647         * gst/gstindex.c (gst_index_add_associationv): Changed int in
1648         prototype to gint. OK since this prototype was not in the header.
1649
1650 2006-01-17  Andy Wingo  <wingo@pobox.com>
1651
1652         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
1653         registry while we remove plugins.
1654
1655         * tools/gst-inspect.c (print_element_info): Don't unref the
1656         factory arg, that should be the responsibility of whatever code
1657         received the ref. Fixes a double-free when called from
1658         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
1659         (main): Unref the factory if we have one.
1660         (print_element_list): No change -- relies on the
1661         plugin_feature_list_free to free the list of features.
1662
1663 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
1664
1665         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1666         (gst_buffer_make_metadata_writable):
1667         * gst/gstbuffer.h:
1668         * libs/gst/base/gstbasetransform.c:
1669         (gst_base_transform_prepare_output_buf):
1670         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1671         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1672           Replace gst_buffer_(make|is)_metadata_writable patch now
1673           that the release is out.
1674
1675 2006-01-17  Andy Wingo  <wingo@pobox.com>
1676
1677         * gst/gstregistry.c: Reflow design comment. Update so as to speak
1678         in the present tense without reference to versions.
1679
1680         * gst/gstregistry.c (gst_registry_add_plugin)
1681         (gst_registry_remove_plugin, gst_registry_remove_feature)
1682         (gst_registry_find_feature, gst_registry_get_feature_list)
1683         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
1684         (gst_registry_lookup, gst_registry_scan_path)
1685         (_gst_registry_remove_cache_plugins)
1686         (gst_registry_get_feature_list_by_plugin): Add argument
1687         validation.
1688
1689 === release 0.10.2 ===
1690
1691 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
1692
1693         * configure.ac:
1694           releasing 0.10.2, "If man is five"
1695
1696 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1697
1698         * gst/gstbuffer.c:
1699         * gst/gstbuffer.h:
1700         * libs/gst/base/gstbasetransform.c:
1701         (gst_base_transform_prepare_output_buf):
1702         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1703         * tests/check/gst/gstbuffer.c: (gst_test_suite):
1704           Back out patch until after the release.
1705
1706 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1707
1708         * gst/gstminiobject.c:
1709           Spelling fix in docs.
1710         * ChangeLog - remove conflict indicator
1711
1712 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1713
1714         Reviewed By: Andy Wingo
1715
1716         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1717         (gst_buffer_make_metadata_writable):
1718         * gst/gstbuffer.h:
1719           Add gst_buffer_(is|make)_metadata_writable as analogues of
1720           gst_buffer_(is|make)_writable.
1721
1722         * libs/gst/base/gstbasetransform.c:
1723         (gst_base_transform_prepare_output_buf):
1724         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1725           Use name gst_buffer_(is|make)_metadata_writable functions.
1726
1727         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1728           Test gst_buffer_(is|make)_metadata_writable
1729         
1730           (Closes: #324162)
1731
1732 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1733
1734         * docs/manual/Makefile.am:
1735           don't do parallel make
1736         * configure.ac:
1737           AC_SUBST HOST_CPU
1738         * win32/common/config.h.in:
1739           add generations for HOST_CPU and GST_MAJORMINOR
1740         * win32/common/config.h:
1741           commit generated result
1742
1743 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
1744
1745         * docs/manual/appendix-integration.xml:
1746           Update GNOME integration section to use gst_init_get_option_group()
1747           instead of the old popt stuff (#322911). Also, GNOME applications
1748           should  now use gconf*sink and gconf*src instead of the old gconf
1749           helper lib we had.
1750
1751 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
1752
1753
1754         * docs/gst/gstreamer-docs.sgml:
1755         * docs/gst/gstreamer-sections.txt:
1756         * docs/libs/gstreamer-libs-sections.txt:
1757           add new API entries to the docs
1758         * libs/gst/controller/Makefile.am:
1759         * libs/gst/controller/gstcontroller.c:
1760         * libs/gst/controller/gstcontroller.h:
1761         * libs/gst/controller/gstcontrollerprivate.h:
1762         * libs/gst/controller/gsthelper.c:
1763         * libs/gst/controller/gstinterpolation.c:
1764           move private structs to private header
1765         * po/README:
1766           gstreamer-0.7 -> gstreamer-0.10
1767         * tests/check/libs/struct_i386.h:
1768           remove private structs
1769
1770 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1771
1772         * plugins/indexers/Makefile.am:
1773           Fixes as part of #317048
1774
1775 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1776
1777         * plugins/indexers/Makefile.am:
1778           fix #316086 - compilation when mmap is missing
1779
1780 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
1781
1782         * libs/gst/base/gstbasesink.c:
1783           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
1784           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
1785         * win32/common/config.h:
1786           added some defines GST_MAJORMINOR and HOST_CPU
1787         * win32/common/libgstbase.def:
1788         * win32/common/libgstreamer.def:
1789           added some exported functions.
1790
1791 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1792
1793         * libs/gst/controller/gstcontroller.c:
1794         (gst_controlled_property_set_interpolation_mode),
1795         (gst_controlled_property_new):
1796         * libs/gst/controller/gstcontroller.h:
1797         * libs/gst/controller/gstinterpolation.c:
1798         (interpolate_none_get_string_value_array):
1799           make G_TYPE_STRING controlable
1800
1801 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1802
1803         * tools/README:
1804         * tools/gst-feedback.1.in:
1805         * tools/gst-inspect.1.in:
1806         * tools/gst-launch.1.in:
1807         * tools/gst-md5sum.1.in:
1808         * tools/gst-typefind.1.in:
1809         * tools/gst-xmlinspect.1.in:
1810         * tools/gst-xmllaunch.1.in:
1811           cleanup man-pages, remove reference to gst-register, document env-vars
1812
1813 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
1814
1815         * gst/gstbuffer.c: (gst_buffer_span):
1816           gst_buffer_span should copy the timestamp of the first buffer
1817           if they were both originally overlapping subbuffers of the 
1818           same parent, using the same logic as the 'slow copy' case.
1819
1820 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
1821
1822         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
1823           Need to awaken ALL the pads when we pop a buffer, otherwise
1824           collectpads only works when there is 2 input streams.
1825
1826 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
1827
1828         * docs/random/ensonic/media-device-daemon.txt:
1829           more ideas (dbus)
1830         * gst/gstbuffer.c:
1831           fix doc example, add clarification
1832         * tools/gst-launch.1.in:
1833           add initial info about GST_PLUGIN_PATH, needs more work
1834
1835 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1836
1837         * docs/manual/basics-bins.xml:
1838         * docs/manual/basics-elements.xml:
1839         * docs/manual/intro-basics.xml:
1840           Some more minor docs additions and updates.
1841
1842 2006-01-11  Wim Taymans  <wim@fluendo.com>
1843
1844         * docs/manual/basics-bins.xml:
1845         * docs/manual/basics-elements.xml:
1846         Some small fixes as pointed out by Ser-ver on IRC.
1847
1848 2006-01-10  Edward Hervey  <edward@fluendo.com>
1849
1850         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1851         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1852         the single-segment mode.
1853
1854 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
1855
1856         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1857
1858         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1859         (gst_base_src_perform_seek), (gst_base_src_send_event),
1860         (gst_base_src_set_property), (gst_base_src_get_property),
1861         (gst_base_src_loop), (gst_base_src_start),
1862         (gst_base_src_activate_push):
1863         * libs/gst/base/gstbasesrc.h:
1864           Name (private) union; makes Sun's Forte compiler happy (#324900).
1865
1866 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1867
1868         * README:
1869           gst-register is gone.
1870
1871 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1872
1873         * gst/gstvalue.c: (_gst_value_initialize):
1874           make the G_TYPE_DATE instantiation work if debug is disabled
1875
1876 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
1877
1878         * gst/gstmessage.c: (gst_message_parse_tag),
1879         (gst_message_parse_error), (gst_message_parse_warning):
1880           Don't crash when return location for error/warning debug
1881           string is NULL; add fact that return locations can be
1882           NULL to docs where appropriate.
1883
1884 2006-01-05  Wim Taymans  <wim@fluendo.com>
1885
1886         * gst/gstplugin.c: (gst_plugin_load_file):
1887         Replace strdup by g_strdup.
1888
1889 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1890
1891         * docs/pwg/advanced-types.xml:
1892           fix doc borkage
1893
1894 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1895
1896         submitted by: Abel Cheung
1897
1898         * po/LINGUAS:
1899         * po/zh_TW.po:
1900           Added Chinese (traditional) translation
1901
1902 2006-01-04  Wim Taymans  <wim@fluendo.com>
1903
1904         * docs/manual/basics-pads.xml:
1905         * docs/plugins/Makefile.am:
1906         * docs/plugins/gstreamer-plugins-docs.sgml:
1907         * docs/plugins/gstreamer-plugins-sections.txt:
1908         * docs/pwg/advanced-clock.xml:
1909         * docs/pwg/advanced-scheduling.xml:
1910         * docs/pwg/advanced-types.xml:
1911         * plugins/elements/gstfdsink.c:
1912         * plugins/elements/gstfdsrc.c:
1913         * plugins/elements/gstfdsrc.h:
1914         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1915         * plugins/elements/gstidentity.h:
1916         * plugins/elements/gstqueue.h:
1917         * plugins/elements/gsttee.c:
1918         * plugins/elements/gsttee.h:
1919         * plugins/elements/gsttypefindelement.c:
1920         (gst_type_find_element_class_init):
1921         * plugins/elements/gsttypefindelement.h:
1922         Small updates to various docs.
1923         Added core plugins to docs.
1924
1925 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1926
1927         * common/gst.supp:
1928           add a suppression for liboil's uninitialized variable
1929
1930 2006-01-02  James Livingston  <jrl at ids dot org dot au>
1931
1932         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1933
1934         * gst/gstutils.h:
1935           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1936           macro, so that gcc doesn't complain if the -Wmissing-prototypes
1937           compiler switch is being used (#325429).
1938
1939 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
1940
1941         * gst/gstbin.c: (gst_bin_query):
1942           Disable duration query caching in bins until it gets
1943           fixed (see #324807).
1944
1945 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1946
1947         * tools/gst-inspect.c: (print_element_properties_info):
1948           Handle properties of POINTER and BOXED type.
1949
1950 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1951
1952         * gst/gst.c: (init_post):
1953           Init tags stuff and some other things before loading
1954           any static plugins (there may be other static plugins
1955           than just the GStreamer ones, and they may want to
1956           register their own tags or formats or whatever, and
1957           preferably without segfaulting).
1958
1959         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1960           Print at least a warning in the debug logs if we drop a
1961           query just because we don't know how to adjust the value
1962           in the particular format.
1963
1964 2005-12-24  David Schleef  <ds@schleef.org>
1965
1966         * tools/gstreamer-completion:
1967           Replacement for gst-complete written in sh and sed.  Only
1968           completes names of features, but that's 90% of what I want
1969           it for.  Properties are not available in registry.xml.  (Maybe
1970           they should be...)
1971
1972 === release 0.10.1 ===
1973
1974 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
1975
1976         * configure.ac:
1977           releasing 0.10.1, "Nollaig chridheil"
1978
1979 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
1980
1981         * docs/faq/cvs.xml:
1982           Add missing quote, should be make ERROR_CFLAGS="".
1983
1984 2005-12-20  Wim Taymans  <wim@fluendo.com>
1985
1986         * docs/design/part-trickmodes.txt:
1987         More documentation on trickmodes.
1988
1989 2005-12-20  Edward Hervey  <edward@fluendo.com>
1990
1991         * gst/gstcaps.c: (gst_static_caps_get_type):
1992         * gst/gstcaps.h:
1993           API addition: GST_TYPE_STATIC_CAPS
1994         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1995         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1996         * gst/gstpadtemplate.h:
1997           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1998         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1999         bindings.
2000
2001 2005-12-18  Wim Taymans  <wim@fluendo.com>
2002
2003         * libs/gst/base/gstadapter.c:
2004         * libs/gst/base/gstadapter.h:
2005         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2006         (gst_base_sink_get_position):
2007         * libs/gst/base/gstbasesink.h:
2008         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2009         (gst_base_src_default_query), (gst_base_src_default_do_seek),
2010         (gst_base_src_do_seek), (gst_base_src_perform_seek),
2011         (gst_base_src_send_event), (gst_base_src_update_length),
2012         (gst_base_src_get_range), (gst_base_src_loop),
2013         (gst_base_src_start):
2014         * libs/gst/base/gstbasesrc.h:
2015         * libs/gst/base/gstbasetransform.h:
2016         * libs/gst/base/gstcollectpads.h:
2017         * libs/gst/base/gstpushsrc.c:
2018         * libs/gst/base/gstpushsrc.h:
2019         * libs/gst/dataprotocol/dataprotocol.c:
2020         * libs/gst/dataprotocol/dataprotocol.h:
2021         * libs/gst/net/gstnetclientclock.h:
2022         * libs/gst/net/gstnettimeprovider.h:
2023         Documentation updates.
2024
2025 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2026
2027         * docs/manual/basics-helloworld.xml:
2028           Remove superfluous closing bracket in helloworld example.
2029
2030 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2031
2032         * tools/gst-launch.1.in:
2033           Update gst-launch man page; add a section with useful
2034           environment variables. Fixes #323882.
2035
2036 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
2037
2038         * gst/gst.c:
2039         * gst/gst_private.h:
2040           change some char* into char[]
2041
2042 2005-12-16  Wim Taymans  <wim@fluendo.com>
2043
2044         * gst/gstregistryxml.c: (load_feature):
2045         Cleanups.
2046         Don't use g_object_unref on GstObjects so that we avoid
2047         leaks on unsafe glibs.
2048
2049 2005-12-16  Wim Taymans  <wim@fluendo.com>
2050
2051         * gst/gstbin.c: (gst_bin_recalc_state):
2052         Small doc updates.
2053
2054 2005-12-16  Wim Taymans  <wim@fluendo.com>
2055
2056         * common/check.mak:
2057         Added make forever target for check.
2058
2059 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2060
2061         * gst/gst.c: (init_post):
2062           make the registry cache file HOST_CPU-dependent
2063
2064 2005-12-16  Andy Wingo  <wingo@pobox.com>
2065
2066         * plugins/elements/gstbufferstore.c
2067         (gst_buffer_store_cleared_func): Pay attention to g_list_append
2068         return value.
2069
2070         * tests/check/gst/gstobject.c
2071         (test_fake_object_name_threaded_unique): Pay attention to
2072         g_list_sort return value.
2073
2074 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2075
2076         * tools/gst-feedback-m.m:
2077           Update for 0.9/0.10 (fixes #323870).
2078
2079 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
2080
2081         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
2082           Fix lcopy for mini objects, the mini object needs to be ref'ed.
2083           
2084         * tests/check/gst/gstminiobject.c: (my_foo_init),
2085         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
2086         (test_value_collection), (gst_mini_object_suite):
2087           Add test to ensure refcounts end up as expected when passing
2088           GstMiniObjects through g_object_get() and g_object_set().
2089
2090 2005-12-14  Julien MOUTTE  <julien@moutte.net>
2091
2092         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2093         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
2094         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
2095         of collectpads. This version removes a lot of races without
2096         touching API/ABI. Yay !
2097
2098 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
2099
2100         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
2101           Don't allow activation of a srcpad in pull_range if it has no
2102           getrange function.
2103           Change some debug statements to be a little clearer
2104
2105         * plugins/elements/gsttypefindelement.c:
2106         (gst_type_find_handle_src_query):
2107           Check that we have a peer before executing queries thereupon.
2108
2109         * tests/examples/metadata/read-metadata.c: (message_loop):
2110           Use gst_bus_pop instead of gst_bus_poll when we just want it to
2111           immediately return us any available message with 0 timeout.
2112
2113 2005-12-12  Michael Smith  <msmith@fluendo.com>
2114
2115         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2116           Don't unref factories after calling them.
2117         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
2118         * plugins/elements/gsttypefindelement.c:
2119         (gst_type_find_element_chain):
2120           Free lists of factories after using them. Fixing typefinding memory
2121           leaks.
2122
2123 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2124
2125         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2126         (gst_plugin_feature_load):
2127           more meaningful debug output
2128         * configure.ac:
2129         * tests/Makefile.am:
2130         * tests/old/examples/Makefile.am:
2131           make make distcheck happy again
2132
2133 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2134
2135         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2136           Catch the special case where we are operating chain-based,
2137           but the downstream peer pad has no chain function. Emit a
2138           custom error message in this case instead of letting the
2139           core generate one implying that this is some sort of core
2140           bug. It's not, it just means that whatever got plugged
2141           into the pipeline downstream when we announced the type
2142           can only operate pull-based, while our source can only
2143           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
2144           Error string has not been marked for translation yet, as
2145           it probably needs some more work first.
2146
2147         (gst_type_find_element_get_best_possibility):
2148           Add helper function to find the best of all available
2149           found possibilities that qualify given the min. threshold.
2150
2151         (gst_type_find_element_handle_event):
2152           Fix the case where we get an EOS while still in TYPEFIND
2153           mode (we want to chose the best of all possible types,
2154           not just the first type that happens to be in our unsorted
2155           list of possible types).
2156
2157         (gst_type_find_element_chain):
2158           Make sure we return GST_FLOW_ERROR when we errored out
2159           in stop_typefinding(); also, don't just find the best of
2160           all found type entries and then use the last examined
2161           type entry, but actually use the best entry.
2162
2163 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2164
2165         * tests/examples/typefind/typefind.c: (type_found):
2166         * tests/examples/xml/runxml.c: (xml_loaded):
2167           More gcc4 fixes and a mem leak fix.
2168
2169 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2170
2171         * tests/examples/xml/createxml.c: (object_saved):
2172           gcc 4 fixes
2173
2174 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2175
2176         * tests/Makefile.am:
2177           enable the examples even more
2178
2179 2005-12-12  Andy Wingo  <wingo@pobox.com>
2180
2181         * libs/gst/net/gstnettimeprovider.c
2182         (gst_net_time_provider_class_init, gst_net_time_provider_init)
2183         (gst_net_time_provider_set_property)
2184         (gst_net_time_provider_get_property):
2185         API addition: Export "active" as a GObject property.
2186         (gst_net_time_provider_thread): Only respond to time queries if
2187         the time provider is active.
2188
2189         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
2190         NetTimeProvider, preserving binary compat.
2191
2192 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2193
2194         * tests/examples/controller/audio-example.c: (main):
2195         * tests/examples/launch/Makefile.am:
2196           convert comments again
2197
2198 2005-12-12  Wim Taymans  <wim@fluendo.com>
2199
2200         * libs/gst/base/gstpushsrc.c:
2201         Fix typo.
2202
2203 2005-12-12  Wim Taymans  <wim@fluendo.com>
2204
2205         * docs/libs/gstreamer-libs-sections.txt:
2206         Added new symbol to docs.
2207
2208         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2209         (gst_base_src_init), (gst_base_src_set_format),
2210         (gst_base_src_default_query), (gst_base_src_query),
2211         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
2212         (gst_base_src_perform_seek), (gst_base_src_send_event),
2213         (gst_base_src_default_event), (gst_base_src_event_handler),
2214         (gst_base_src_set_property), (gst_base_src_get_property),
2215         (gst_base_src_wait), (gst_base_src_do_sync),
2216         (gst_base_src_update_length), (gst_base_src_get_range),
2217         (gst_base_src_check_get_range), (gst_base_src_loop),
2218         (gst_base_src_default_negotiate), (gst_base_src_start),
2219         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2220         (gst_base_src_change_state):
2221         * libs/gst/base/gstbasesrc.h:
2222         Implement seeking to other formats than _BYTES.
2223         Implement more seeking methods correctly.
2224         Doc updates.
2225         Added query vmethod.
2226         Added do_seek vmethod to make life easier for subclasses
2227         when seeking.
2228         API addition: gst_base_src_set_format()
2229
2230 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2231
2232         * tests/examples/Makefile.am:
2233           added that too
2234
2235 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2236
2237         * configure.ac:
2238         * docs/random/ensonic/media-device-daemon.txt:
2239         * tests/examples/controller/.cvsignore:
2240         * tests/examples/controller/Makefile.am:
2241         * tests/examples/controller/audio-example.c: (main):
2242         * tests/examples/helloworld/.cvsignore:
2243         * tests/examples/helloworld/Makefile.am:
2244         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
2245         * tests/examples/launch/.cvsignore:
2246         * tests/examples/launch/Makefile.am:
2247         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
2248         * tests/examples/metadata/.cvsignore:
2249         * tests/examples/metadata/Makefile.am:
2250         * tests/examples/metadata/read-metadata.c: (message_loop),
2251         (make_pipeline), (print_tag), (main):
2252         * tests/examples/queue/.cvsignore:
2253         * tests/examples/queue/Makefile.am:
2254         * tests/examples/queue/queue.c: (event_loop), (main):
2255         * tests/examples/typefind/.cvsignore:
2256         * tests/examples/typefind/Makefile.am:
2257         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
2258         (main):
2259         * tests/examples/xml/.cvsignore:
2260         * tests/examples/xml/Makefile.am:
2261         * tests/examples/xml/createxml.c: (object_saved), (main):
2262         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
2263         * tests/old/examples/Makefile.am:
2264         * tests/old/examples/TODO:
2265         * tests/old/examples/controller/.cvsignore:
2266         * tests/old/examples/controller/Makefile.am:
2267         * tests/old/examples/controller/audio-example.c:
2268         * tests/old/examples/helloworld/.cvsignore:
2269         * tests/old/examples/helloworld/Makefile.am:
2270         * tests/old/examples/helloworld/helloworld.c:
2271         * tests/old/examples/launch/.cvsignore:
2272         * tests/old/examples/launch/Makefile.am:
2273         * tests/old/examples/launch/mp3parselaunch.c:
2274         * tests/old/examples/launch/mp3play:
2275         * tests/old/examples/manual/Makefile.am:
2276         * tests/old/examples/metadata/Makefile.am:
2277         * tests/old/examples/metadata/read-metadata.c:
2278         * tests/old/examples/queue/.cvsignore:
2279         * tests/old/examples/queue/Makefile.am:
2280         * tests/old/examples/queue/queue.c:
2281         * tests/old/examples/typefind/.cvsignore:
2282         * tests/old/examples/typefind/Makefile.am:
2283         * tests/old/examples/typefind/typefind.c:
2284         * tests/old/examples/xml/.cvsignore:
2285         * tests/old/examples/xml/Makefile.am:
2286         * tests/old/examples/xml/createxml.c:
2287         * tests/old/examples/xml/runxml.c:
2288           applied some simple fixing to some examples
2289           re-enabled the working examples
2290
2291 2005-12-12  Wim Taymans  <wim@fluendo.com>
2292
2293         * gst/gstsegment.c: (gst_segment_init),
2294         (gst_segment_set_last_stop), (gst_segment_set_seek),
2295         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2296         (gst_segment_to_running_time):
2297         Added more documentation.
2298         Make sure the last_pos value is updated properly.
2299         Make sure to_stream_time and to_running_time don't
2300         operate on wrong values.
2301
2302         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2303         Update check.
2304
2305 2005-12-12  Michael Smith  <msmith@fluendo.com>
2306
2307         * plugins/elements/gsttypefindelement.c: (free_entry),
2308         (gst_type_find_element_chain):
2309           Now that we're not leaking factories, make sure we keep references
2310           to them while we need them.
2311
2312 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2313
2314         * tests/check/gst/struct_i386.h:
2315           ifdef out the XML structs
2316
2317 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2318
2319         * gst/gstvalue.c: (gst_value_transform_double_fraction):
2320           floor is not needed, F is always positive; this obviates the
2321           need for adding -lm when building without libxml
2322
2323 2005-12-12  Wim Taymans  <wim@fluendo.com>
2324
2325         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2326         Take current playback rate into account when reporting
2327         the position.
2328
2329 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2330
2331         * docs/manual/mime-world.fig:
2332           Let's try this again, this time with a file that is
2333           actually in XFig format.
2334
2335 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2336
2337         * docs/manual/mime-world.fig:
2338           Add audioconvert element to diagram so that it
2339           matches the text and the code (fixes #319526).
2340
2341 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2342
2343         * docs/pwg/building-chainfn.xml:
2344         * docs/pwg/building-pads.xml:
2345         * docs/pwg/building-state.xml:
2346         * docs/pwg/other-source.xml:
2347           Update state change stuff for 0.10 (fixes #322969).
2348
2349 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2350
2351         * docs/manual/advanced-dataaccess.xml:
2352         * docs/manual/appendix-checklist.xml:
2353         * docs/manual/appendix-programs.xml:
2354         * docs/manual/basics-pads.xml:
2355         * docs/manual/highlevel-components.xml:
2356         * docs/manual/manual.xml:
2357           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
2358           add converters in front of pipelines; remove curly
2359           brackets for threads stuff, they no longer exist; use
2360           GST_TYPE_FRACTION for framerates; update some pieces of
2361           code to 0.10, but there's plenty more to do.
2362
2363         * docs/manual/appendix-porting.xml:
2364           Expand on asynchroneous state changes; s/0.9/0.10/;
2365           mention disappearance of gst_init_get_popt_table()
2366           (fixes #322916).
2367
2368 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2369
2370         * docs/faq/using.xml:
2371           Spider no longer exists, and neither does gst-launch-ext.
2372           Update examples to use decodebin and playbin and put
2373           converters in front of sinks (fixes #323726).
2374
2375 2005-12-09  Michael Smith  <msmith@fluendo.com>
2376
2377         * plugins/elements/gsttypefindelement.c: (find_peek),
2378         (gst_type_find_element_chain):
2379           Fix leaking element factories in typefinding.
2380           Fix problem where we forgot about a probable type on non-seekable
2381           files, and thus later mis-typefound it.
2382
2383 2005-12-09  Michael Smith  <msmith@fluendo.com>
2384
2385         * common/m4/gst-makecontext.m4:
2386         * common/m4/gst-mcsc.m4:
2387         * configure.ac:
2388         * win32/common/config.h:
2389         * win32/common/config.h.in:
2390           Remove makecontext stuff; not used in 0.10 and causes problems on
2391           HPUX according to bug #322441
2392
2393 2005-12-07  Wim Taymans  <wim@fluendo.com>
2394
2395         * tests/check/Makefile.am:
2396         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
2397         (main):
2398         * tests/check/libs/struct_i386.h:
2399         Added ABI check for libs
2400
2401 2005-12-07  Wim Taymans  <wim@fluendo.com>
2402
2403         * tests/check/Makefile.am:
2404         And add the struct_i386.h to dist.
2405
2406 2005-12-07  Wim Taymans  <wim@fluendo.com>
2407
2408         * tests/check/Makefile.am:
2409         * tests/check/gst/.cvsignore:
2410         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
2411         (main):
2412         * tests/check/gst/struct_i386.h:
2413         Added check for ABI compatibility.
2414
2415 2005-12-07  Wim Taymans  <wim@fluendo.com>
2416
2417         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2418         (gst_fake_src_get_times), (gst_fake_src_create):
2419         Fix broken sync option, fixes #323259
2420
2421 2005-12-07  Wim Taymans  <wim@fluendo.com>
2422
2423         * gst/gstbuffer.c:
2424         Small docs update.
2425
2426         * gst/gstcaps.c: (gst_caps_is_equal):
2427         Don't assert on NULL <--> X. Fixes #323260
2428
2429         * gst/gstminiobject.c: (gst_mini_object_replace):
2430         If we're doing atomic operations, we might just as well use
2431         the proper way to get an atomic pointer.
2432
2433         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2434         Clean up debugging.
2435
2436 2005-12-07  Michael Smith  <msmith@fluendo.com>
2437
2438         * gst/parse/grammar.y:
2439           Remove handling of { } for threads.
2440
2441 2005-12-06  David Schleef  <ds@schleef.org>
2442
2443         * libs/gst/base/gstbasetransform.c: speling fix.
2444
2445 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2446
2447         * docs/libs/tmpl/gstdataprotocol.sgml:
2448         * docs/random/omega/testing/gstobject.c:
2449         * gst/gst.c:
2450         * gst/gstclock.c:
2451         * gst/gstelement.c:
2452         * gst/gstelementfactory.c:
2453         * gst/gsterror.c:
2454         * gst/gstevent.c:
2455         * gst/gstghostpad.c:
2456         * gst/gstinfo.c:
2457         * gst/gstpadtemplate.c:
2458         * gst/gstregistryxml.c:
2459         * gst/gsttaglist.c:
2460         * gst/gsttagsetter.c:
2461         * gst/gsttypefind.c:
2462         * gst/gstvalue.c:
2463         * libs/gst/base/gstbasesrc.c:
2464         * libs/gst/net/gstnetclientclock.c:
2465         * libs/gst/net/gstnettimeprovider.c:
2466         * plugins/elements/gstfakesrc.c:
2467         * plugins/elements/gstfdsrc.c:
2468         * plugins/elements/gstfilesrc.c:
2469         * plugins/elements/gstidentity.c:
2470         * plugins/elements/gstqueue.c:
2471         * plugins/elements/gsttypefindelement.c:
2472         * plugins/indexers/gstfileindex.c:
2473         * plugins/indexers/gstmemindex.c:
2474         * tests/check/gst/gsttag.c:
2475         * tests/old/examples/cutter/cutter.c:
2476         * tests/old/examples/mixer/mixer.c:
2477         * tests/old/examples/xml/runxml.c: (main):
2478         * tests/old/testsuite/caps/normalisation.c:
2479         * tests/old/testsuite/debug/global.c:
2480         * tests/old/testsuite/parse/parse1.c:
2481         * tools/gst-xmlinspect.c:
2482         * win32/common/dirent.c:
2483           expand tabs
2484
2485 === release 0.10.0 ===
2486
2487 2005-12-05   <thomas (at) apestaart (dot) org>
2488
2489         * configure.ac:
2490           releasing 0.10.0, "Maroilles"
2491
2492 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2493
2494         submitted by: Funda Wang <fundawang@linux.net.cn>
2495
2496         * po/LINGUAS:
2497         * po/zh_CN.po:
2498           added Chinese (Traditional) translation
2499
2500 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2501
2502         * docs/gst/gstreamer-sections.txt:
2503         * docs/libs/tmpl/gstdataprotocol.sgml:
2504         * docs/random/thomasvs/TODO:
2505         * gst/gstutils.c:
2506         * gst/gstutils.h:
2507           fix docs
2508
2509 2005-12-05  Andy Wingo  <wingo@pobox.com>
2510
2511         patch by: Wim Taymans <wim@fluendo.com>
2512
2513         * libs/gst/base/gstbasetransform.c
2514         (gst_base_transform_prepare_output_buf)
2515         (gst_base_transform_buffer_alloc):
2516         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
2517         alloc_buffer_and_set_caps.
2518
2519         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
2520         set_caps on the source pad.
2521         (gst_pad_alloc_buffer_and_set_caps): New function, does what
2522         alloc_buffer used to do. Fixes #322874.
2523
2524         * docs/gst/gstreamer-sections.txt: 
2525         * docs/design/part-negotiation.txt: 
2526         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
2527         changes.
2528
2529 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2530
2531         patch by: Sebastien Moutte
2532
2533         * win32/MANIFEST:
2534         * win32/common/config.h.in:
2535         * win32/vs6/libgstcontroller.dsp:
2536           win32 build fixes
2537
2538 2005-12-05  Wim Taymans  <wim@fluendo.com>
2539
2540         * gst/gstcaps.c: (gst_caps_is_equal):
2541         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2542         (gst_fake_src_create):
2543         Back out previous code changes, leave doc updates, file bugs 
2544         instead. 
2545
2546 2005-12-05  Wim Taymans  <wim@fluendo.com>
2547
2548         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2549         (gst_fake_src_get_times), (gst_fake_src_create):
2550         * plugins/elements/gstfakesrc.h:
2551         Fix broken sync code.
2552
2553 2005-12-05  Wim Taymans  <wim@fluendo.com>
2554
2555         * gst/gstcaps.c: (gst_caps_is_equal):
2556         Comparing NULL against !NULL yields different caps, not a
2557         failure.
2558
2559 2005-12-05  Wim Taymans  <wim@fluendo.com>
2560
2561         * gst/gstpipeline.c:
2562         Fix small typo in docs.
2563
2564 2005-12-05  Andy Wingo  <wingo@pobox.com>
2565
2566         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
2567
2568         * gst/gst.c (init_post): remove hard-coded 0.9 location for
2569         registries/plugins with a MAJORMINOR one.
2570         (plugin_desc): Rename library from gstcoreleements to
2571         staticelements. Fixes #323222.
2572
2573 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
2574
2575         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
2576           Change debug category to 'collectpads' from 'collect_pads'
2577           (fixes #323250).
2578
2579 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2580
2581         patch by: Sebastien Moutte
2582
2583         * libs/gst/controller/gstinterpolation.c:
2584           use convert function for uint64/double
2585         * win32/vs6/libgstcontroller.dsp:
2586           link to GLib
2587
2588 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2589
2590         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
2591         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
2592         * gst/gstutils.h:
2593         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2594           add tests that seem to show that the guint64/gdouble conversions
2595           are correct.
2596
2597 2005-12-02  Wim Taymans  <wim@fluendo.com>
2598
2599         * gst/gstregistry.c: (gst_registry_add_path):
2600         * gst/gstregistry.h:
2601         * gst/gstregistryxml.c:
2602         Fix docs again.
2603
2604 2005-12-02  Wim Taymans  <wim@fluendo.com>
2605
2606         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2607         (gst_util_uint64_scale_int):
2608         Small cleanup.
2609
2610         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2611         Add debug log line.
2612
2613         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
2614         Add FIXME.
2615
2616 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2617
2618         * win32/MANIFEST:
2619         * win32/common/config.h:
2620         * win32/vs6/gstreamer.dsw:
2621         * win32/vs6/libgstcoreelements.dsp:
2622         * win32/vs6/libgstelements.dsp:
2623           renamed core elements plugin
2624
2625 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2626
2627         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
2628         (get_candidates):
2629           do piece-wise major/minor comparison so 0.9 < 0.10
2630           also allow .exe extensions for tools
2631
2632 2005-12-02  Michael Smith  <msmith@fluendo.com>
2633
2634         * gst/gst.c:
2635           Escape a % to make gtkdoc happier; bug 322958.
2636
2637 === release 0.9.7 ===
2638
2639 2005-12-01   <thomas (at) apestaart (dot) org>
2640
2641         * configure.ac:
2642           releasing 0.9.7, "My Dog Has No Nose"
2643
2644 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2645
2646         * common/gst-xmlinspect.py:
2647         * configure.ac:
2648         * docs/libs/tmpl/gstdataprotocol.sgml:
2649         * docs/random/release:
2650         * po/af.po:
2651         * po/az.po:
2652         * po/bg.po:
2653         * po/ca.po:
2654         * po/cs.po:
2655         * po/de.po:
2656         * po/en_GB.po:
2657         * po/fr.po:
2658         * po/it.po:
2659         * po/nb.po:
2660         * po/nl.po:
2661         * po/ru.po:
2662         * po/sq.po:
2663         * po/sr.po:
2664         * po/sv.po:
2665         * po/tr.po:
2666         * po/uk.po:
2667         * po/vi.po:
2668         * win32/common/config.h:
2669         * win32/common/config.h.in:
2670         * win32/vs6/gst_inspect.dsp:
2671         * win32/vs6/gst_launch.dsp:
2672         * win32/vs6/libgstbase.dsp:
2673         * win32/vs6/libgstelements.dsp:
2674         * win32/vs6/libgstreamer.dsp:
2675         * win32/vs7/GStreamer.vcproj:
2676         * win32/vs7/gst-inspect.vcproj:
2677         * win32/vs7/gst-launch.vcproj:
2678         * win32/vs7/libgstbase.vcproj:
2679           bump GST_MAJORMINOR to 0.10
2680           reset libtool version
2681
2682 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2683
2684         * po/LINGUAS:
2685         * po/bg.po:
2686           Added Bulgarian translation by (Alexander Shopov)
2687
2688 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2689
2690         * tests/check/gst/gstplugin.c:
2691           fix test
2692
2693 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2694
2695         * common/gst-xmlinspect.py:
2696         * common/gtk-doc-plugins.mak:
2697         * configure.ac:
2698         * docs/Makefile.am:
2699         * docs/gst/Makefile.am:
2700         * docs/gst/gstreamer-docs.sgml:
2701         * docs/gst/gstreamer-sections.txt:
2702         * docs/gst/gstreamer.types:
2703         * docs/gst/gstreamer.types.in:
2704         * docs/plugins/Makefile.am:
2705         * docs/plugins/gstreamer-plugins-docs.sgml:
2706         * docs/plugins/gstreamer-plugins-sections.txt:
2707         * docs/plugins/gstreamer-plugins.types:
2708         * docs/plugins/inspect.stamp:
2709         * docs/plugins/inspect/plugin-coreelements.xml:
2710         * docs/plugins/inspect/plugin-coreindexers.xml:
2711         * docs/plugins/scanobj-build.stamp:
2712         * gstreamer.spec.in:
2713         * plugins/elements/Makefile.am:
2714         * plugins/elements/gstelements.c:
2715         * plugins/elements/gstfakesink.c:
2716         * plugins/elements/gstfakesrc.c:
2717         * plugins/elements/gstfilesink.c:
2718         * plugins/elements/gstfilesrc.c:
2719         * plugins/elements/gstqueue.c:
2720         * plugins/indexers/Makefile.am:
2721         * plugins/indexers/gstindexers.c:
2722           document core plugins in a separate document just like all the
2723           others
2724           rename these plugins to something starting with core
2725
2726 2005-12-01  Andy Wingo  <wingo@pobox.com>
2727
2728         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
2729         padding here before, but it missed the commit.
2730
2731 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2732
2733         * libs/gst/controller/gstinterpolation.c:
2734           whitespace prices have crashed, we should feel free to use some now
2735           use gst_guint64_to_gdouble
2736
2737 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2738
2739         * libs/gst/controller/gstcontroller.c:
2740         * libs/gst/controller/gsthelper.c:
2741         * libs/gst/controller/gstinterpolation.c:
2742         * libs/gst/controller/lib.c:
2743           wrap config.h include
2744
2745 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2746
2747         * docs/gst/gstreamer-sections.txt:
2748           update docs
2749
2750 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2751
2752         * plugins/elements/gstelements.c:
2753         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
2754         (gst_fd_sink__class_init), (gst_fd_sink__init),
2755         (gst_fd_sink__chain), (gst_fd_sink__set_property),
2756         (gst_fd_sink__get_property):
2757         * plugins/elements/gstfdsink.h:
2758         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
2759         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
2760         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
2761         (gst_fd_src_unlock), (gst_fd_src_set_property),
2762         (gst_fd_src_get_property), (gst_fd_src_create),
2763         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
2764         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
2765         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
2766         (gst_fd_src_uri_handler_init):
2767         * plugins/elements/gstfdsrc.h:
2768         * plugins/elements/gstqueue.c: (gst_queue_get_type):
2769           more anal cleanup
2770
2771 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2772
2773         * docs/gst/Makefile.am:
2774         * docs/gst/gstreamer.types.in:
2775         * gst/Makefile.am:
2776           fix the docs build
2777
2778 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2779
2780         * configure.ac:
2781         * gst/Makefile.am:
2782         * gst/gst.c:
2783         * gst/gstplugin.h:
2784         * gst/gstregistry.h:
2785         * tests/benchmarks/complexity.c:
2786         * tests/benchmarks/mass-elements.c:
2787         * tests/check/Makefile.am:
2788         * tools/Makefile.am:
2789         * tools/gst-inspect.c:
2790         * tools/gst-xmlinspect.c:
2791           various fixes to make
2792           --disable-nls --disable-registry --disable-loadsave
2793           --disable-parse --disable-gst-debug
2794           work and get the core .so down to 360444 bytes after stripping
2795
2796 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2797
2798         * Makefile.am:
2799         * configure.ac:
2800           descend into tests
2801         * docs/random/thomasvs/TODO:
2802         * tests/Makefile.am:
2803         * tests/README:
2804           add a README
2805
2806 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2807
2808         * win32/GStreamer.vcproj:
2809         * win32/MANIFEST:
2810         * win32/Makefile:
2811         * win32/Makefile.inspect:
2812         * win32/Makefile.launch:
2813         * win32/Makefile.register:
2814         * win32/README.txt:
2815         * win32/gst-inspect.vcproj:
2816         * win32/gst-launch.vcproj:
2817         * win32/gst-register.vcproj:
2818         * win32/gstelements.vcproj:
2819         * win32/gstgetbits.def:
2820         * win32/gstgetbits.vcproj:
2821         * win32/gstreamer-dbg.def:
2822         * win32/gstreamer.def:
2823         * win32/libgstbase.def:
2824         * win32/libgstbase.vcproj:
2825         * win32/link_oldruntime.c:
2826         * win32/mman.c:
2827         * win32/mman.h:
2828         * win32/mman.inl:
2829         * win32/msvc71.sln:
2830           move even more stuff, win32/ is nice and clean now
2831
2832 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2833
2834         * libs/gst/control/.cvsignore:
2835         * win32/MANIFEST:
2836         * win32/config.h:
2837         * win32/dirent.c:
2838         * win32/dirent.h:
2839         * win32/gstbytestream.def:
2840         * win32/gstbytestream.vcproj:
2841         * win32/gstconfig.h:
2842         * win32/gstenumtypes.c:
2843         * win32/gstenumtypes.h:
2844         * win32/gstoptimalscheduler.vcproj:
2845         * win32/gstversion.h:
2846         * win32/gtchar.h:
2847         * win32/testsuite/bins.vcproj:
2848         * win32/testsuite/bytestream.vcproj:
2849         * win32/testsuite/caps.vcproj:
2850         * win32/testsuite/cleanup.vcproj:
2851         * win32/testsuite/clock.vcproj:
2852         * win32/testsuite/debug.vcproj:
2853         * win32/testsuite/dlopen.vcproj:
2854         * win32/testsuite/dynparams.vcproj:
2855         * win32/testsuite/elements.vcproj:
2856         * win32/testsuite/ghostpads.vcproj:
2857         * win32/testsuite/indexers.vcproj:
2858         * win32/testsuite/negotiation.vcproj:
2859         * win32/testsuite/parse.vcproj:
2860         * win32/testsuite/plugin.vcproj:
2861         * win32/testsuite/refcounting.vcproj:
2862         * win32/testsuite/schedulers.vcproj:
2863         * win32/testsuite/states.vcproj:
2864         * win32/testsuite/tags.vcproj:
2865         * win32/testsuite/threads.vcproj:
2866           remove old win32 stuff that isn't maintained and should be
2867           reorganized
2868
2869 2005-11-30  Andy Wingo  <wingo@pobox.com>
2870
2871         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2872         loading the gst.interfaces python module bork.
2873
2874         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2875         available since GLib 2.2. Fixes #318031.
2876
2877 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2878
2879         * Makefile.am:
2880         * check/.cvsignore:
2881         * check/Makefile.am:
2882         * check/elements/.cvsignore:
2883         * check/elements/fakesrc.c:
2884         * check/elements/fdsrc.c:
2885         * check/elements/identity.c:
2886         * check/generic/.cvsignore:
2887         * check/generic/states.c:
2888         * check/gst-libs/.cvsignore:
2889         * check/gst-libs/controller.c:
2890         * check/gst-libs/gdp.c:
2891         * check/gst/.cvsignore:
2892         * check/gst/capslist.h:
2893         * check/gst/gst.c:
2894         * check/gst/gstbin.c:
2895         * check/gst/gstbuffer.c:
2896         * check/gst/gstbus.c:
2897         * check/gst/gstcaps.c:
2898         * check/gst/gstelement.c:
2899         * check/gst/gstevent.c:
2900         * check/gst/gstghostpad.c:
2901         * check/gst/gstiterator.c:
2902         * check/gst/gstmessage.c:
2903         * check/gst/gstminiobject.c:
2904         * check/gst/gstobject.c:
2905         * check/gst/gstpad.c:
2906         * check/gst/gstpipeline.c:
2907         * check/gst/gstplugin.c:
2908         * check/gst/gstsegment.c:
2909         * check/gst/gststructure.c:
2910         * check/gst/gstsystemclock.c:
2911         * check/gst/gsttag.c:
2912         * check/gst/gstutils.c:
2913         * check/gst/gstvalue.c:
2914         * check/net/.cvsignore:
2915         * check/net/gstnetclientclock.c:
2916         * check/net/gstnettimeprovider.c:
2917         * check/pipelines/.cvsignore:
2918         * check/pipelines/cleanup.c:
2919         * check/pipelines/simple_launch_lines.c:
2920         * check/pipelines/stress.c:
2921         * check/states/.cvsignore:
2922         * check/states/sinks.c:
2923         * configure.ac:
2924         * examples/Makefile.am:
2925         * examples/appreader/.cvsignore:
2926         * examples/appreader/Makefile.am:
2927         * examples/appreader/appreader.c:
2928         * examples/controller/.cvsignore:
2929         * examples/controller/Makefile.am:
2930         * examples/controller/audio-example.c:
2931         * examples/cutter/.cvsignore:
2932         * examples/cutter/Makefile.am:
2933         * examples/cutter/cutter.c:
2934         * examples/cutter/cutter.h:
2935         * examples/events/Makefile.am:
2936         * examples/events/seek.c:
2937         * examples/helloworld/.cvsignore:
2938         * examples/helloworld/Makefile.am:
2939         * examples/helloworld/helloworld.c:
2940         * examples/helloworld2/.cvsignore:
2941         * examples/helloworld2/Makefile.am:
2942         * examples/helloworld2/helloworld2.c:
2943         * examples/launch/.cvsignore:
2944         * examples/launch/Makefile.am:
2945         * examples/launch/mp3parselaunch.c:
2946         * examples/launch/mp3play:
2947         * examples/manual/.cvsignore:
2948         * examples/manual/Makefile.am:
2949         * examples/manual/extract.pl:
2950         * examples/metadata/Makefile.am:
2951         * examples/metadata/read-metadata.c:
2952         * examples/mixer/.cvsignore:
2953         * examples/mixer/Makefile.am:
2954         * examples/mixer/mixer.c:
2955         * examples/mixer/mixer.h:
2956         * examples/pingpong/.cvsignore:
2957         * examples/pingpong/Makefile.am:
2958         * examples/pingpong/pingpong.c:
2959         * examples/plugins/.cvsignore:
2960         * examples/plugins/Makefile.am:
2961         * examples/plugins/example.c:
2962         * examples/plugins/example.h:
2963         * examples/pwg/.cvsignore:
2964         * examples/pwg/Makefile.am:
2965         * examples/pwg/extract.pl:
2966         * examples/queue/.cvsignore:
2967         * examples/queue/Makefile.am:
2968         * examples/queue/queue.c:
2969         * examples/queue2/.cvsignore:
2970         * examples/queue2/Makefile.am:
2971         * examples/queue2/queue2.c:
2972         * examples/queue3/.cvsignore:
2973         * examples/queue3/Makefile.am:
2974         * examples/queue3/queue3.c:
2975         * examples/queue4/.cvsignore:
2976         * examples/queue4/Makefile.am:
2977         * examples/queue4/queue4.c:
2978         * examples/retag/.cvsignore:
2979         * examples/retag/Makefile.am:
2980         * examples/retag/retag.c:
2981         * examples/retag/transcode.c:
2982         * examples/thread/.cvsignore:
2983         * examples/thread/Makefile.am:
2984         * examples/thread/thread.c:
2985         * examples/typefind/.cvsignore:
2986         * examples/typefind/Makefile.am:
2987         * examples/typefind/typefind.c:
2988         * examples/xml/.cvsignore:
2989         * examples/xml/Makefile.am:
2990         * examples/xml/createxml.c:
2991         * examples/xml/runxml.c:
2992         * tests/Makefile.am:
2993         * tests/check/Makefile.am:
2994         * testsuite/.cvsignore:
2995         * testsuite/Makefile.am:
2996         * testsuite/Rules:
2997         * testsuite/caps/.cvsignore:
2998         * testsuite/caps/Makefile.am:
2999         * testsuite/caps/app_fixate.c:
3000         * testsuite/caps/audioscale.c:
3001         * testsuite/caps/caps.c:
3002         * testsuite/caps/caps.h:
3003         * testsuite/caps/caps_strings:
3004         * testsuite/caps/compatibility.c:
3005         * testsuite/caps/deserialize.c:
3006         * testsuite/caps/enumcaps.c:
3007         * testsuite/caps/eratosthenes.c:
3008         * testsuite/caps/filtercaps.c:
3009         * testsuite/caps/fixed.c:
3010         * testsuite/caps/fraction-convert.c:
3011         * testsuite/caps/fraction-multiply-and-zero.c:
3012         * testsuite/caps/intersect2.c:
3013         * testsuite/caps/intersection.c:
3014         * testsuite/caps/normalisation.c:
3015         * testsuite/caps/random.c:
3016         * testsuite/caps/renegotiate.c:
3017         * testsuite/caps/sets.c:
3018         * testsuite/caps/simplify.c:
3019         * testsuite/caps/string-conversions.c:
3020         * testsuite/caps/structure.c:
3021         * testsuite/caps/subtract.c:
3022         * testsuite/caps/union.c:
3023         * testsuite/debug/.cvsignore:
3024         * testsuite/debug/Makefile.am:
3025         * testsuite/debug/category.c:
3026         * testsuite/debug/commandline.c:
3027         * testsuite/debug/global.c:
3028         * testsuite/debug/output.c:
3029         * testsuite/debug/printf_extension.c:
3030         * testsuite/dlopen/.cvsignore:
3031         * testsuite/dlopen/Makefile.am:
3032         * testsuite/dlopen/dlopen_gst.c:
3033         * testsuite/dlopen/loadgst.c:
3034         * testsuite/elements/.cvsignore:
3035         * testsuite/elements/Makefile.am:
3036         * testsuite/elements/gst-inspect-check.in:
3037         * testsuite/elements/struct_i386.h:
3038         * testsuite/elements/struct_size.c:
3039         * testsuite/indexers/.cvsignore:
3040         * testsuite/indexers/Makefile.am:
3041         * testsuite/indexers/cache1.c:
3042         * testsuite/indexers/indexdump.c:
3043         * testsuite/parse/.cvsignore:
3044         * testsuite/parse/Makefile.am:
3045         * testsuite/parse/parse1.c:
3046         * testsuite/parse/parse2.c:
3047         * testsuite/plugin/.cvsignore:
3048         * testsuite/plugin/Makefile.am:
3049         * testsuite/plugin/README:
3050         * testsuite/plugin/dynamic.c:
3051         * testsuite/plugin/linked.c:
3052         * testsuite/plugin/loading.c:
3053         * testsuite/plugin/registry.c:
3054         * testsuite/plugin/static.c:
3055         * testsuite/plugin/static2.c:
3056         * testsuite/plugin/testplugin.c:
3057         * testsuite/plugin/testplugin2.c:
3058         * testsuite/plugin/testplugin2_s.c:
3059         * testsuite/plugin/testplugin_s.c:
3060         * testsuite/refcounting/.cvsignore:
3061         * testsuite/refcounting/Makefile.am:
3062         * testsuite/refcounting/bin.c:
3063         * testsuite/refcounting/element.c:
3064         * testsuite/refcounting/element_pad.c:
3065         * testsuite/refcounting/mainloop.c:
3066         * testsuite/refcounting/mem.c:
3067         * testsuite/refcounting/mem.h:
3068         * testsuite/refcounting/object.c:
3069         * testsuite/refcounting/pad.c:
3070         * testsuite/refcounting/sched.c:
3071         * testsuite/refcounting/thread.c:
3072         * testsuite/states/.cvsignore:
3073         * testsuite/states/Makefile.am:
3074         * testsuite/states/bin.c:
3075         * testsuite/states/locked.c:
3076         * testsuite/states/parent.c:
3077         * testsuite/threads/.cvsignore:
3078         * testsuite/threads/159566.c:
3079         * testsuite/threads/159852.c:
3080         * testsuite/threads/Makefile.am:
3081         * testsuite/threads/queue.c:
3082         * testsuite/threads/signals.c:
3083         * testsuite/threads/staticrec.c:
3084         * testsuite/threads/thread.c:
3085         * testsuite/threads/threadb.c:
3086         * testsuite/threads/threadc.c:
3087         * testsuite/threads/threadd.c:
3088         * testsuite/threads/threade.c:
3089         * testsuite/threads/threadf.c:
3090         * testsuite/threads/threadg.c:
3091         * testsuite/threads/threadh.c:
3092         * testsuite/threads/threadi.c:
3093           move all of these under tests
3094
3095 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3096
3097         * configure.ac:
3098         * tests/Makefile.am:
3099           fix distcheck
3100
3101 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3102
3103         * docs/gst/gstreamer-sections.txt:
3104         * tests/sched/.cvsignore:
3105         * tests/sched/Makefile.am:
3106         * tests/sched/cases/(fs-fs).xml:
3107         * tests/sched/cases/(fs-i-fs).xml:
3108         * tests/sched/cases/(fs-i-i-fs).xml:
3109         * tests/sched/cases/(fs-i-q[i-fs]).xml:
3110         * tests/sched/dynamic-pipeline.c:
3111         * tests/sched/interrupt1.c:
3112         * tests/sched/interrupt2.c:
3113         * tests/sched/interrupt3.c:
3114         * tests/sched/runtestcases:
3115         * tests/sched/runxml.c:
3116         * tests/sched/sched-stress.c:
3117         * tests/sched/sort.c:
3118         * tests/sched/testcases:
3119         * tests/sched/testcases1.tc:
3120         * tests/seeking/.cvsignore:
3121         * tests/seeking/Makefile.am:
3122         * tests/seeking/seeking1.c:
3123         * tests/threadstate/.cvsignore:
3124         * tests/threadstate/Makefile.am:
3125         * tests/threadstate/test1.c:
3126         * tests/threadstate/test2.c:
3127         * tests/threadstate/threadstate1.c:
3128         * tests/threadstate/threadstate2.c:
3129         * tests/threadstate/threadstate3.c:
3130         * tests/threadstate/threadstate4.c:
3131         * tests/threadstate/threadstate5.c:
3132           remove obsolete tests
3133         * configure.ac:
3134         * tests/bench-complexity.scm:
3135         * tests/bench-mass_elements.scm:
3136         * tests/complexity.c:
3137         * tests/complexity.gnuplot:
3138         * tests/instantiate/.cvsignore:
3139         * tests/instantiate/Makefile.am:
3140         * tests/instantiate/caps.c:
3141         * tests/mass_elements.c:
3142         * tests/network-clock-utils.scm:
3143         * tests/network-clock.scm:
3144         * tests/plot-data:
3145         First pass at cleaning up tests/ dir before moving the rest
3146         Combined with CVS surgery
3147
3148 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3149
3150         * po/POTFILES.in:
3151           queue has moved, update
3152
3153 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3154
3155         * docs/gst/gstreamer-sections.txt:
3156           remove double entries from the docs
3157         * gst/gst_private.h:
3158         * gst/gstinfo.c: (_gst_debug_init):
3159           remove the THREAD debug category
3160         * gst/Makefile.am:
3161         * gst/gstqueue.c:
3162         * gst/gstqueue.h:
3163         * docs/gst/gstreamer.types:
3164         * plugins/elements/gstqueue.c: (gst_queue_get_type),
3165         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
3166           completely move queue and fix up debugging categories
3167
3168 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3169
3170         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3171           make initialization portable, using LL is not
3172
3173 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3174
3175         * win32/common/gstconfig.h:
3176           add large padding
3177
3178 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3179
3180         * win32/common/libgstreamer.def:
3181           rename symbols; sort base section
3182
3183 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3184
3185         * gst/gstclock.c: (do_linear_regression):
3186           remove crack non-portable handrolled DEBUG macro
3187
3188 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3189
3190         * docs/random/release:
3191           update notes
3192         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3193         (gst_object_flags_get_type), (register_gst_bin_flags),
3194         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3195         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3196         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3197         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
3198         (gst_caps_flags_get_type), (register_gst_clock_return),
3199         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3200         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3201         (gst_clock_flags_get_type), (register_gst_state),
3202         (gst_state_get_type), (register_gst_state_change_return),
3203         (gst_state_change_return_get_type), (register_gst_state_change),
3204         (gst_state_change_get_type), (register_gst_element_flags),
3205         (gst_element_flags_get_type), (register_gst_core_error),
3206         (gst_core_error_get_type), (register_gst_library_error),
3207         (gst_library_error_get_type), (register_gst_resource_error),
3208         (gst_resource_error_get_type), (register_gst_stream_error),
3209         (gst_stream_error_get_type), (register_gst_event_type_flags),
3210         (gst_event_type_flags_get_type), (register_gst_event_type),
3211         (gst_event_type_get_type), (register_gst_seek_type),
3212         (gst_seek_type_get_type), (register_gst_seek_flags),
3213         (gst_seek_flags_get_type), (register_gst_format),
3214         (gst_format_get_type), (register_gst_index_certainty),
3215         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3216         (gst_index_entry_type_get_type),
3217         (register_gst_index_lookup_method),
3218         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3219         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3220         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3221         (gst_index_flags_get_type), (register_gst_debug_level),
3222         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3223         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3224         (gst_iterator_result_get_type), (register_gst_iterator_item),
3225         (gst_iterator_item_get_type), (register_gst_message_type),
3226         (gst_message_type_get_type), (register_gst_mini_object_flags),
3227         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3228         (gst_pad_link_return_get_type), (register_gst_flow_return),
3229         (gst_flow_return_get_type), (register_gst_activate_mode),
3230         (gst_activate_mode_get_type), (register_gst_pad_direction),
3231         (gst_pad_direction_get_type), (register_gst_pad_flags),
3232         (gst_pad_flags_get_type), (register_gst_pad_presence),
3233         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3234         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3235         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3236         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3237         (gst_plugin_flags_get_type), (register_gst_rank),
3238         (gst_rank_get_type), (register_gst_query_type),
3239         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3240         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3241         (gst_tag_flag_get_type), (register_gst_task_state),
3242         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3243         (gst_alloc_trace_flags_get_type),
3244         (register_gst_type_find_probability),
3245         (gst_type_find_probability_get_type), (register_gst_uri_type),
3246         (gst_uri_type_get_type), (register_gst_parse_error),
3247         (gst_parse_error_get_type):
3248         * win32/common/gstenumtypes.h:
3249         * win32/common/gstversion.h:
3250           update visual studio generated files
3251
3252 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3253
3254         * win32/vs6/libgstbase.dsp:
3255         * win32/vs6/libgstelements.dsp:
3256           update project files for new locations
3257
3258 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3259
3260         * Makefile.am:
3261           remove some files
3262         * README:
3263           reinstate and update
3264         * DEVEL:
3265         * REQUIREMENTS:
3266           removed
3267         * LICENSE:
3268         * docs/random/LICENSE:
3269           moved to random
3270
3271 2005-11-30  Edward Hervey  <edward@fluendo.com>
3272
3273         * gst/gsttypefind.c: (gst_type_find_register):
3274         * gst/gsttypefind.h:
3275         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
3276         (gst_type_find_factory_dispose):
3277         * gst/gsttypefindfactory.h:
3278         Fix memory leak in GstTypeFindFactory.
3279
3280 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3281
3282         * gst/gst.c:
3283         * plugins/elements/Makefile.am:
3284         * plugins/elements/gstelements.c:
3285         * plugins/elements/gstqueue.c:
3286           move queue from core to the elements plugin
3287
3288 2005-11-29  Andy Wingo  <wingo@pobox.com>
3289
3290         * libs/gst/base/gstbasetransform.h: 
3291         * libs/gst/base/gstbasesrc.h: 
3292         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
3293
3294         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
3295         of pointers by which to pad very extensible base classes (like the
3296         ones in libs/gst/base).
3297
3298 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3299
3300         * docs/gst/gstreamer-docs.sgml:
3301         * docs/gst/gstreamer-sections.txt:
3302         * docs/libs/gstreamer-libs-docs.sgml:
3303         * docs/libs/gstreamer-libs-sections.txt:
3304           moving documentation from core to lib
3305
3306 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3307
3308         * check/Makefile.am:
3309         * configure.ac:
3310         * docs/gst/Makefile.am:
3311         * gst/Makefile.am:
3312         * gst/base/.cvsignore:
3313         * gst/base/Makefile.am:
3314         * gst/base/README:
3315         * gst/base/gstadapter.c:
3316         * gst/base/gstadapter.h:
3317         * gst/base/gstbasesink.c:
3318         * gst/base/gstbasesink.h:
3319         * gst/base/gstbasesrc.c:
3320         * gst/base/gstbasesrc.h:
3321         * gst/base/gstbasetransform.c:
3322         * gst/base/gstbasetransform.h:
3323         * gst/base/gstcollectpads.c:
3324         * gst/base/gstcollectpads.h:
3325         * gst/base/gstpushsrc.c:
3326         * gst/base/gstpushsrc.h:
3327         * gst/base/gsttypefindhelper.c:
3328         * gst/base/gsttypefindhelper.h:
3329         * gst/check/Makefile.am:
3330         * gst/check/gstcheck.c:
3331         * gst/check/gstcheck.h:
3332         * gst/net/Makefile.am:
3333         * gst/net/gstnet.h:
3334         * gst/net/gstnetclientclock.c:
3335         * gst/net/gstnetclientclock.h:
3336         * gst/net/gstnettimepacket.c:
3337         * gst/net/gstnettimepacket.h:
3338         * gst/net/gstnettimeprovider.c:
3339         * gst/net/gstnettimeprovider.h:
3340         * libs/gst/Makefile.am:
3341         * libs/gst/base/Makefile.am:
3342         * libs/gst/base/gstbasetransform.c:
3343         * libs/gst/check/Makefile.am:
3344         * plugins/elements/Makefile.am:
3345         * po/POTFILES.in:
3346           CVS surgery + support to move base, check, and net out of gst
3347           and into libs/gst
3348
3349 2005-11-29  Andy Wingo  <wingo@pobox.com>
3350
3351         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
3352
3353         * gst/gststructure.h (struct _GstStructure): Only one pointer of
3354         padding.
3355
3356         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
3357
3358         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
3359
3360         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
3361
3362         * gst/gstobject.h: (struct _GstObject): Only one pointer of
3363         padding; reduces object size by about 30%. We don't expect
3364         anything else to go into gstobject.
3365
3366         * gst/gstminiobject.h (struct _GstMiniObject)
3367         (struct _GstMiniObjectClass): Only one pointer of padding; the
3368         payload is only a pointer and two ints anyway. For the class there
3369         are only two methods as well.
3370         
3371         * gst/gstelement.h (struct _GstElementClass): Removed
3372         the state_changed signal callback, it is not used.
3373
3374 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3375
3376         * docs/gst/gstreamer.types:
3377           fix includes, though they are a little dinky
3378
3379 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3380
3381         * check/Makefile.am:
3382           look in the right place for elements, a lot more chance of
3383           success
3384         * gst/Makefile.am:
3385           remove indexers and elements subdirs
3386         * plugins/Makefile.am:
3387           make indexers conditional
3388
3389 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3390
3391         * Makefile.am:
3392         * configure.ac:
3393         * plugins/elements/Makefile.am:
3394         * plugins/elements/gstcapsfilter.c:
3395         * plugins/elements/gstfilesink.c:
3396         * plugins/elements/gstfilesrc.c:
3397         * plugins/elements/gstidentity.c:
3398         * plugins/indexers/Makefile.am:
3399           do CVS surgery and related build fixery to move elements
3400           and indexers in a new gstreamer/plugins directory, out of the
3401           gst/ directory
3402
3403 2005-11-29  Andy Wingo  <wingo@pobox.com>
3404
3405         * check/Makefile.am:
3406         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3407         * pkgconfig/gstreamer-net.pc.in:
3408         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
3409         #322257.
3410
3411 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3412
3413         * tools/Makefile.am:
3414         * tools/gst-complete.1.in:
3415         * tools/gst-complete.c:
3416         * tools/gst-compprep.1.in:
3417         * tools/gst-compprep.c:
3418           removing -compprep and -complete
3419
3420 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3421
3422         * gst/gstevent.c: (gst_event_new_new_segment),
3423         (gst_event_parse_new_segment):
3424         * gst/gstevent.h:
3425           fix #320529 - clean up new_segment API and structure.
3426           Let's hope everyone was using the methods, and not the structure.
3427
3428 2005-11-29  Edward Hervey  <edward@fluendo.com>
3429
3430         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3431         (gst_base_sink_event), (gst_base_sink_do_sync),
3432         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
3433         Properly handle non GST_FORMAT_TIME segment
3434         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3435         Properly handle non GST_FORMAT_TIME segment
3436         * gst/gstsegment.c:
3437         This function is valid if the accumulator is 0 and the format
3438         is different from the requested format.
3439         
3440 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3441
3442         * docs/gst/gstreamer-sections.txt:
3443         Add gst_query_new_seeking and gst_query_parse_seeking to the
3444         docs.
3445
3446 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3447
3448         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
3449           Treat a pad alloc with new caps the same as if we were not
3450           negotiated, in order to allow a changing upstream output
3451           to produce a new format of data.
3452
3453 2005-11-29  Edward Hervey  <edward@fluendo.com>
3454
3455         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3456         (gst_base_transform_event), (gst_base_transform_eventfunc):
3457         The event virtual method is now properly implemented, with a default
3458         handler
3459         Sub classes should call the parent_class event method. They should
3460         return FALSE if they had a problem handling the given event, or don't
3461         want GstBaseTransform to send that even downstream
3462         * gst/elements/gstidentity.c: (gst_identity_class_init),
3463         (gst_identity_init), (gst_identity_event),
3464         (gst_identity_transform_ip), (gst_identity_set_property),
3465         (gst_identity_get_property):
3466         * gst/elements/gstidentity.h:
3467         Added the single-segment boolean property.
3468         If set to TRUE, it will output a single segment of data, starting from
3469         0, will eat up all incoming newsegment, and modify the timestamp of the
3470         buffers accordingly
3471
3472 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
3473
3474         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
3475           Don't ref NULL target pad (#322751). Improve docs.
3476
3477 2005-11-29  Michael Smith  <msmith@fluendo.com>
3478
3479         * gst/gstregistryxml.c: (load_plugin):
3480           Don't crash if we failed to load a feature from a plugin. 
3481
3482 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3483
3484         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
3485         (GST_START_TEST):
3486           use more check API and less GLib API
3487
3488 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3489
3490         * Makefile.am:
3491           don't run checks if we don't have check
3492         * common/check.mak:
3493           remove the registry when running make torture
3494         * docs/gst/gstreamer-sections.txt:
3495           remove second multiply
3496         * gst/gstqueue.c: (gst_queue_loop):
3497           fix a compile warning when disabling debug
3498
3499 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3500
3501         * gst/gstinfo.h:
3502         Hey! Let's print the pad name if the pointer != NULL instead
3503         of when it == NULL :-)
3504
3505 2005-11-28  Wim Taymans  <wim@fluendo.com>
3506
3507         * check/gst/gstutils.c: (GST_START_TEST):
3508         Updated check, add some scaling accuracy checking code.
3509
3510         * gst/gstutils.c: (gst_util_div128_64),
3511         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
3512         (gst_util_uint64_scale_int):
3513         Fix 6 times faster division code. Optimize for common 
3514         1/1 and less common X/1 cases.
3515
3516 2005-11-28  Wim Taymans  <wim@fluendo.com>
3517
3518         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3519         More checks.
3520
3521         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
3522         (do_linear_regression), (gst_clock_add_observation):
3523         Cleanups.
3524         Release lock when the clock cannot be slaved.
3525         Catch the case where the regression returned an invalid denominator.
3526
3527         * gst/gstutils.c: (gst_util_div128_64_iterate),
3528         (gst_util_div128_64), (gst_util_uint64_scale_int64),
3529         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3530         Add protentially more performant non-iterative 128/64 divide function
3531         that unfortunatly does not work yet.
3532         Shortcut the trivial 0/X = 0 case.
3533         Remove the warnings on overflow.
3534
3535 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3536
3537         * gst/gstplugin.c: (gst_plugin_register_func):
3538           everything causing a plugin not to load should be at least a WARNING
3539
3540 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
3541
3542         * docs/random/ensonic/dparams.txt:
3543           some TODOs for the next dev cycle
3544         * libs/gst/controller/gstcontroller.c:
3545         (gst_controlled_property_set_interpolation_mode),
3546         (gst_controlled_property_new):
3547         * libs/gst/controller/gstcontroller.h:
3548           use base type to assign acccessor functions
3549
3550 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3551
3552         * check/Makefile.am:
3553         Oops, that should have been top_srcdir
3554
3555 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3556
3557         * check/Makefile.am:
3558         * check/elements/fdsrc.c: (GST_START_TEST):
3559         Use a cmdline define to specify the location of a file to use for
3560         testing, to avoid breaking distcheck.
3561
3562 2005-11-28  Andy Wingo  <wingo@pobox.com>
3563
3564         * gst/gstpad.c (fixate_value): Use array functions for arrays.
3565
3566 2005-11-28  Edward Hervey  <edward@fluendo.com>
3567
3568         * tools/gst-launch.c: (main):
3569         Clarify the output strings, makes it easier to translate.
3570         Fixes #322626
3571
3572 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3573
3574         * gst/Makefile.am:
3575           don't try and build net if we don't even have <sys/socket.h>
3576
3577 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
3578
3579         * check/Makefile.am:
3580         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
3581         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
3582           Add tests for fdsrc seekability
3583
3584         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
3585         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
3586         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
3587         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
3588         * gst/elements/gstfdsrc.h:
3589           fdsrc should not be a 'live' source.
3590           Implement seeking on seekable fd's.
3591
3592         * gst/gstquery.c: (gst_query_new_seeking),
3593         (gst_query_parse_seeking):
3594         * gst/gstquery.h:
3595           Implement SEEKING query functions: 
3596             *_new_seeking and *_parse_seeking
3597
3598 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
3599
3600         * gst/gstelement.c: (gst_element_dispose):
3601           don't loop forever
3602
3603         * gst/gstiterator.c:
3604         * gst/gststructure.c:
3605           doc fixes
3606
3607         * libs/gst/controller/gstcontroller.c:
3608         (gst_controlled_property_set_interpolation_mode):
3609         * libs/gst/controller/gstcontroller.h:
3610         * libs/gst/controller/gstinterpolation.c:
3611         (interpolate_none_get_enum_value_array):
3612           support controlling enums
3613
3614 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
3615
3616         * gst/gstvalue.c:
3617           Improve documentation for gst_value_union().
3618
3619         * gst/gstvalue.h:
3620           Change return value for union, intersect and subtract functions
3621           from gint to gboolean.
3622
3623 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
3624
3625         * gst/gstvalue.c: (gst_value_serialize_any_list),
3626         (gst_value_transform_any_list_string),
3627         (gst_value_deserialize_list), (gst_value_deserialize_array),
3628         (gst_value_set_int_range), (gst_value_deserialize_int_range),
3629         (gst_value_set_double_range), (gst_value_deserialize_double_range),
3630         (gst_value_set_fraction_range_full),
3631         (gst_value_deserialize_fraction_range),
3632         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
3633         (gst_value_deserialize_boolean),
3634         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
3635         (gst_value_serialize_float), (gst_value_deserialize_float),
3636         (gst_string_wrap), (gst_value_deserialize_string),
3637         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
3638         (gst_value_union_int_range_int_range),
3639         (gst_value_intersect_int_range_int_range),
3640         (gst_value_intersect_double_range_double_range),
3641         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
3642         (gst_value_subtract_int_range_int_range),
3643         (gst_value_subtract_double_double_range),
3644         (gst_value_subtract_double_range_double_range),
3645         (gst_value_deserialize_fraction):
3646         * gst/gstvalue.h:
3647           Use gint, gdouble and gchar in our API instead of int, double and
3648           char (and make usage in gstvalue.c more consistent).
3649
3650 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3651
3652         * check/Makefile.am:
3653         * libs/gst/controller/Makefile.am:
3654         * libs/gst/dataprotocol/Makefile.am:
3655           fix up Makefile.am and remove GST_ENABLE_NEW
3656
3657 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3658
3659         * configure.ac:
3660         * gst/Makefile.am:
3661         * gst/base/Makefile.am:
3662         * gst/check/Makefile.am:
3663         * gst/elements/Makefile.am:
3664         * gst/net/Makefile.am:
3665           update LDFLAGS use some more
3666
3667 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3668
3669         * common/m4/gst-doc.m4:
3670           Fixes #312589
3671
3672 2005-11-26  Edward Hervey  <edward@fluendo.com>
3673
3674         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3675         This shouldn't issue a g_warning since it returns NULL if it
3676         couldn't find the plugin, and all functions using this behave
3677         properly on a NULL return. Switching to a GST_WARNING.
3678
3679 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
3680
3681         * gst/gstbin.c: (gst_bin_handle_message_func):
3682         Don't leak clock messages.
3683
3684 2005-11-25  Wim Taymans  <wim@fluendo.com>
3685
3686         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3687         (gst_util_uint64_scale_int):
3688         Optimisations, remove unneeded vars.
3689
3690 2005-11-25  Wim Taymans  <wim@fluendo.com>
3691
3692         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3693         Added more checks for the high precision uint64 cases.
3694
3695         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3696         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3697         Implement high precision (guint64 * guint64) / guint64.
3698
3699 2005-11-24  Wim Taymans  <wim@fluendo.com>
3700
3701         * gst/base/gstbasesrc.c: (gst_base_src_query):
3702         Fix wrong percentage query.
3703
3704         * gst/gstutils.c: (gst_util_uint64_scale),
3705         (gst_util_uint64_scale_int):
3706         Add some more common cases that can be handled 
3707         efficiently to _scale.
3708
3709 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3710
3711         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
3712         (gst_mini_object_suite):
3713           don't use check calls from threads; check probably isn't
3714           threadsafe and using a lock to make it threadsafe would
3715           defeat the purpose of this check
3716         * gst/check/gstcheck.c:
3717         * gst/check/gstcheck.h:
3718           use GST_DEBUG some more
3719
3720 2005-11-24  Wim Taymans  <wim@fluendo.com>
3721
3722         * gst/gstutils.c: (gst_util_uint64_scale),
3723         (gst_util_uint64_scale_int):
3724         Chain trivial case to _scale_int.
3725
3726 2005-11-24  Wim Taymans  <wim@fluendo.com>
3727
3728         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3729         Added test for scaling.
3730
3731         * gst/gstclock.h:
3732         Small doc fix.
3733
3734         * gst/gstutils.c: (gst_util_uint64_scale_int):
3735         Implemented high precision scaling code.
3736
3737 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
3738
3739         * gst/gstinfo.h:
3740           do not crash on pad==NULL
3741
3742 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3743
3744         Patch by: Stefan Kost
3745
3746         * common/gtk-doc.mak:
3747         * docs/gst/Makefile.am:
3748         * docs/libs/Makefile.am:
3749           Fix distcheck issues for the libraries docs build
3750           Closes #319599.
3751
3752 2005-11-24  Michael Smith <msmith@fluendo.com>
3753
3754         * docs/manual/basics-helloworld.xml:
3755           Fix bug #315027: memory leak in example code in docs.
3756
3757 2005-11-24  Michael Smith <msmith@fluendo.com>
3758
3759         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3760           Unlock the PREROLL_LOCK in a failure case.
3761
3762 2005-11-24  Wim Taymans  <wim@fluendo.com>
3763
3764         * docs/gst/gstreamer-sections.txt:
3765         * gst/base/gstadapter.h:
3766         * gst/base/gstbasesink.h:
3767         * gst/base/gstbasesrc.h:
3768         * gst/base/gstbasetransform.h:
3769         * gst/base/gstpushsrc.h:
3770         * gst/elements/gstfakesink.h:
3771         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
3772         * gst/elements/gstfakesrc.h:
3773         * gst/elements/gstfilesink.h:
3774         * gst/elements/gstfilesrc.h:
3775         * gst/gst.c:
3776         * gst/gstbin.c:
3777         * gst/gstbuffer.c: (_gst_buffer_copy):
3778         * gst/gstbus.h:
3779         * gst/gstcaps.c:
3780         * gst/gstchildproxy.c:
3781         * gst/gstclock.c:
3782         * gst/gstelement.c:
3783         * gst/gstelementfactory.c:
3784         * gst/gstelementfactory.h:
3785         * gst/gstevent.c:
3786         * gst/gstghostpad.h:
3787         * gst/gstindex.h:
3788         * gst/gstinterface.h:
3789         * gst/gstminiobject.c:
3790         * gst/gstminiobject.h:
3791         * gst/gstpad.c:
3792         * gst/gstpad.h:
3793         * gst/gstpadtemplate.h:
3794         * gst/gstpipeline.h:
3795         * gst/gstpluginfeature.h:
3796         * gst/gstquery.h:
3797         * gst/gstqueue.h:
3798         * gst/gsttaglist.c:
3799         * gst/gsttaglist.h:
3800         * gst/gsttagsetter.c:
3801         * gst/gsttagsetter.h:
3802         * gst/gsttrace.c:
3803         * gst/gsttrace.h:
3804         * gst/gsttypefind.h:
3805         * gst/gsturi.h:
3806         * gst/gstvalue.c:
3807         * gst/net/gstnetclientclock.c:
3808         * gst/net/gstnetclientclock.h:
3809         * gst/net/gstnettimepacket.c:
3810         * gst/net/gstnettimeprovider.c:
3811         * gst/net/gstnettimeprovider.h:
3812         Doc fixes.
3813
3814 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3815
3816         * configure.ac: back to HEAD
3817
3818 === release 0.9.6 ===
3819
3820 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
3821
3822         * configure.ac:
3823           releasing 0.9.6, "Always On Time"
3824
3825 2005-11-23  Wim Taymans  <wim@fluendo.com>
3826
3827         * docs/gst/gstreamer-sections.txt:
3828         * gst/glib-compat.c:
3829         * gst/gsttagsetter.c:
3830         * gst/gstvalue.c:
3831         * gst/net/gstnetclientclock.c:
3832         * gst/net/gstnettimepacket.h:
3833         Doc updates.
3834
3835 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3836
3837         * docs/faq/using.xml:
3838         * docs/libs/tmpl/gstcontrol.sgml:
3839         * docs/manual/advanced-dparams.xml:
3840         * docs/manual/appendix-checklist.xml:
3841         * docs/manual/basics-elements.xml:
3842         * docs/pwg/other-source.xml:
3843         * docs/random/moving-plugins:
3844         * gst/gstpad.c:
3845         * tools/gst-launch.1.in:
3846           remove mentions of sinesrc
3847
3848 2005-11-23  Michael Smith <msmith@fluendo.com>
3849
3850         * docs/gst/gstreamer-sections.txt:
3851           Update for new API and API changes.
3852         * gst/gstobject.h:
3853           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3854         * gst/gstvalue.c:
3855           Documentation typo fix.
3856         * gst/net/gstnettimepacket.c:
3857           Documentation fixes for arguments.
3858
3859 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
3860
3861         * gst/gststructure.c: (gst_structure_get_fraction),
3862         (gst_structure_parse_value),
3863         (gst_structure_fixate_field_nearest_fraction):
3864         * gst/gststructure.h:
3865         * gst/gstutils.c: (gst_util_uint64_scale_int):
3866         * gst/gstutils.h:
3867         * scripts/update-funcnames:
3868         API Changes. 
3869         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3870         Make gst_structure_fixate_field_nearest_fraction take a numerator
3871         and denominator argument instead of a GValue
3872         add gst_structure_get_fraction helper function.
3873
3874 2005-11-23  Wim Taymans  <wim@fluendo.com>
3875
3876         * docs/design/part-TODO.txt:
3877         Update TODO.
3878
3879         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3880         * gst/net/gstnetclientclock.h:
3881         Use parent fields for timeout and window_size.
3882
3883 2005-11-23  Andy Wingo  <wingo@pobox.com>
3884
3885         * check/net/gstnetclientclock.c (test_functioning): Adjust to
3886         rate_num/rate_denom change.
3887
3888         * gst/net/gstnetclientclock.c
3889         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3890         OBJECT_LOCK. Don't call add_observation with the lock.
3891
3892         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3893         fraction.
3894         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3895         rate fraction.
3896         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3897         deal with rate as a fraction whose numerator and denominator are
3898         GstClockTime values.
3899         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3900         master; the other fields are protected by the SLAVE_LOCK.
3901         (do_linear_regression): Note that this must be called with the
3902         SLAVE_LOCK.
3903         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3904         OBJECT_LOCK. Call set_calibration instead of touching the
3905         variables directly.
3906         (gst_clock_set_property, gst_clock_get_property): Protect
3907         master/slave parameters with the SLAVE_LOCK.
3908
3909         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3910         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3911         note that all of the instance variables that add_observation and
3912         the set_master functions use are protected by that lock and not
3913         the OBJECT_LOCK.
3914         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3915
3916         * gst/gstclock.c (gst_clock_add_observation): No longer requires
3917         the caller to take the object lock.
3918
3919 2005-11-23  Wim Taymans  <wim@fluendo.com>
3920
3921         * gst/gsterror.c: (_gst_core_errors_init):
3922         * gst/gsterror.h:
3923         Add error for clock stuff.
3924
3925         * gst/gstpipeline.c: (gst_pipeline_change_state),
3926         (gst_pipeline_set_clock):
3927         Post clock error when clock cannot be used in a pipeline.
3928
3929 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
3930
3931         * docs/gst/gstreamer-sections.txt:
3932           make two symbols from gstinfo private for the docs
3933         * gst/base/gstcollectpads.h:
3934         * gst/gstutils.c:
3935           fix doc typos, update docs
3936
3937 2005-11-22  Wim Taymans  <wim@fluendo.com>
3938
3939         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3940         (gst_base_sink_wait), (gst_base_sink_do_sync),
3941         (gst_base_sink_handle_event):
3942         * gst/base/gstbasesink.h:
3943         No need to store the clock, the parent element class already
3944         has it.
3945
3946         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3947         Updates for clock_set returning a gboolean
3948
3949         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3950         (gst_clock_id_wait_async), (gst_clock_class_init),
3951         (gst_clock_init), (gst_clock_finalize),
3952         (gst_clock_get_internal_time), (gst_clock_get_time),
3953         (gst_clock_slave_callback), (gst_clock_set_master),
3954         (gst_clock_get_master), (do_linear_regression),
3955         (gst_clock_add_observation), (gst_clock_set_property),
3956         (gst_clock_get_property):
3957         * gst/gstclock.h:
3958         Implement master/slave. When setting a clock as a slave, a
3959         periodic timeout is scheduled to sample master and slave times.
3960         Then the slave clock is recalibrated to match offset and rate
3961         of the master clock.
3962         Update logging a bit.
3963         Add flag so that a clock can state that is cannot be slaved to
3964         another clock.
3965
3966         * gst/gstelement.c: (gst_element_set_clock):
3967         * gst/gstelement.h:
3968         The set clock returns a gboolean for when an element cannot
3969         deal with the selected clock in the pipeline. 
3970
3971         * gst/gstpipeline.c: (gst_pipeline_change_state),
3972         (gst_pipeline_set_clock):
3973         * gst/gstpipeline.h:
3974         Handle the case where the selected clock cannot be set on
3975         the pipeline.
3976
3977         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3978         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3979         (gst_net_client_clock_set_property),
3980         (gst_net_client_clock_get_property),
3981         (gst_net_client_clock_observe_times):
3982         * gst/net/gstnetclientclock.h:
3983         Use regression code in GstClock parent, remove duplicated
3984         functionality.
3985
3986 2005-11-22  Michael Smith <msmith@fluendo.com>
3987
3988         * gst/gstutils.c: (gst_util_clock_time_scale):
3989         * gst/gstutils.h:
3990         * docs/gst/gstreamer-sections.txt:
3991           Rename method to have extra underscore.
3992
3993 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3994
3995         * gst/elements/Makefile.am:
3996         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3997         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3998         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3999         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
4000         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
4001         * gst/elements/gstfakesrc.h:
4002         * gst/gstqueue.c: (queue_leaky_get_type):
4003           correctly fix GEnumValues so that nick is the short lowercase
4004           dashed tag
4005         * tools/gst-inspect.c: (print_element_properties_info):
4006           also show the nick, since it's useful to use from parse_launch
4007           syntax
4008           Fixes #322139
4009
4010 2005-11-22  Michael Smith <msmith@fluendo.com>
4011
4012         * gst/gstutils.c: (gst_util_clocktime_scale):
4013         * gst/gstutils.h:
4014         * docs/gst/gstreamer-sections.txt:
4015           Add util method for scaling a clocktime by a fraction. Useful 
4016           implementation is left as an exercise for the reader.
4017
4018 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4019
4020         * gst/gstvalue.c: (gst_value_collect_fraction_range):
4021         If needed, allocate storage in the destination value during
4022         collection.
4023
4024 2005-11-22  Edward Hervey  <edward@fluendo.com>
4025
4026         * docs/gst/gstreamer-sections.txt:
4027         * gst/Makefile.am:
4028         * gst/gst.h:
4029         * gst/gsturitype.c:
4030         * gst/gsturitype.h:
4031         * gst/gstutils.c: (gst_util_set_object_arg):
4032         * tools/gst-compprep.c: (main):
4033         * tools/gst-inspect.c: (print_element_properties_info):
4034         Removed GstURI, closes bug #321061
4035
4036 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4037
4038         * check/gst/gststructure.c: (GST_START_TEST):
4039         * gst/gststructure.c: (gst_structure_parse_value):
4040           Oops, broke automatic string type parsing.
4041           Add a test to catch it in future.
4042
4043 2005-11-22  Andy Wingo  <wingo@pobox.com>
4044
4045         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
4046         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
4047         Actually rename the function implementations. Grr.
4048
4049 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4050
4051         * check/gst/capslist.h:
4052           Comment test cases
4053         * check/gst/gststructure.c: (GST_START_TEST),
4054         (gst_structure_suite):
4055           Test automatic value type detection in gst_structure_from_string.
4056         * gst/gststructure.c: (gst_structure_parse_value):
4057           Add fraction as a type we try and guess automatically in
4058           caps/structure strings.
4059
4060 2005-11-22  Andy Wingo  <wingo@pobox.com>
4061
4062         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
4063
4064         * gst/gsttagsetter.h:
4065         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
4066         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
4067         (gst_tag_setter_add_tag_valist)
4068         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
4069         _add_values, _add_valist, and _add_valist_values. Since this is an
4070         interface the function suffixes should be more explicit so
4071         language binding don't end up with element.add_valist ->
4072         gst_tag_setter_add_valist, for example. Fixes #322069.
4073
4074 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4075
4076         * check/gst/gstcaps.c: (GST_START_TEST):
4077           Extend caps string tests to check that a caps to string
4078           conversion is reversible and produces the same caps.
4079
4080         * gst/gststructure.c: (gst_structure_value_get_generic_type):
4081           Output "fraction" as the generic type fraction range, so caps
4082           serialisation and deserialisation works.
4083         * check/gst/capslist.h:
4084         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4085           Support 'MIN' and 'MAX' for deserialising fractions.
4086
4087 2005-11-22  Andy Wingo  <wingo@pobox.com>
4088
4089         * gst/gstevent.h (gst_event_new_new_segment)
4090         (gst_event_parse_new_segment, gst_event_new_buffer_size)
4091         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
4092         Renamed from *_newsegment, *_buffersize, *_notarget.
4093
4094         * scripts/update-funcnames: New script, performs the changes
4095         listed above.
4096
4097 2005-11-22  Wim Taymans  <wim@fluendo.com>
4098
4099         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4100         Make sure the GstFlowReturn is returned.
4101
4102         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
4103         (gst_bus_add_signal_watch):
4104         * gst/gstbus.h:
4105         add gst_bus_add_signal_watch_full.
4106
4107         * gst/gstplugin.c: (gst_plugin_load_file):
4108         Small style cleanup.
4109
4110 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4111
4112         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
4113           Block the fakesrc srcpad when we send an event, to avoid
4114           contention on the stream_lock causing random test failures.
4115
4116 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4117
4118         * check/gst/gstvalue.c: (GST_START_TEST):
4119         * gst/gstvalue.c: (gst_value_fraction_subtract):
4120           Fix subtraction.
4121
4122 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
4123
4124         * gst/gst.h:
4125           include "gstchildproxy.h"
4126         * gst/gstchildproxy.h:
4127         * libs/gst/controller/gstcontroller.h:
4128           use G_GNUC_NULL_TERMINATED
4129
4130 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4131
4132         * check/gst/capslist.h:
4133         * check/gst/gstcaps.c: (GST_START_TEST):
4134         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4135         * gst/gststructure.c: (gst_structure_parse_range),
4136         (gst_structure_fixate_field_nearest_fraction):
4137         * gst/gststructure.h:
4138         * gst/gstvalue.c: (gst_value_init_fraction_range),
4139         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
4140         (gst_value_collect_fraction_range),
4141         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
4142         (gst_value_set_fraction_range_full),
4143         (gst_value_get_fraction_range_min),
4144         (gst_value_get_fraction_range_max),
4145         (gst_value_serialize_fraction_range),
4146         (gst_value_transform_fraction_range_string),
4147         (gst_value_compare_fraction_range),
4148         (gst_value_deserialize_fraction_range),
4149         (gst_value_intersect_fraction_fraction_range),
4150         (gst_value_intersect_fraction_range_fraction_range),
4151         (gst_value_subtract_fraction_fraction_range),
4152         (gst_value_subtract_fraction_range_fraction),
4153         (gst_value_subtract_fraction_range_fraction_range),
4154         (gst_value_collect_fraction), (gst_value_fraction_multiply),
4155         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
4156         (gst_value_transform_string_fraction), (_gst_value_initialize):
4157         * gst/gstvalue.h:
4158           Implement fraction ranges and extend GstFraction to support
4159           arithmetic subtraction, as well as deserialization from integer
4160           strings such as "100"
4161           Add a testsuite as for int and double range set operations
4162
4163 2005-11-21  Andy Wingo  <wingo@pobox.com>
4164
4165         * gst/gsttaglist.h: 
4166         * gst/gstcaps.h: 
4167         * gst/gststructure.h: Add glib-compat.h.
4168
4169 2005-11-21  Wim Taymans  <wim@fluendo.com>
4170
4171         * gst/gstbin.c: (gst_bin_change_state_func):
4172         Fix for #321595
4173
4174 2005-11-21  Wim Taymans  <wim@fluendo.com>
4175
4176         * gst/gstsegment.h:
4177         And add a nice define too.
4178
4179 2005-11-21  Wim Taymans  <wim@fluendo.com>
4180
4181         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
4182         (gst_segment_new), (gst_segment_free), (gst_segment_init),
4183         (gst_segment_set_duration), (gst_segment_set_last_stop),
4184         (gst_segment_set_seek), (gst_segment_set_newsegment),
4185         (gst_segment_to_stream_time), (gst_segment_to_running_time),
4186         (gst_segment_clip):
4187         * gst/gstsegment.h:
4188         Make binding friendly.
4189
4190 2005-11-21  Andy Wingo  <wingo@pobox.com>
4191
4192         * gst/gsttagsetter.h: 
4193         * gst/gsttaglist.h: 
4194         * gst/gststructure.h: 
4195         * gst/gstcaps.h: 
4196         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
4197         #319940.
4198
4199         * gst/gsterror.c (_gst_core_errors_init):
4200         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
4201         category.
4202
4203         * gst/Makefile.am (gst_headers): Add glib-compat.h.
4204         (noinst_HEADERS): noinst the -private.
4205
4206 2005-11-21  Michael Smith <msmith@fluendo.com>
4207
4208         * gst/gstplugin.h:
4209         * gst/gstregistry.h:
4210           Remove unimplemented declarations for which we can see no sensible
4211           use.
4212
4213 2005-11-21  Andy Wingo  <wingo@pobox.com>
4214
4215         * gst/gst.h: Include glib-compat.h.
4216
4217         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
4218
4219         * gst/glib-compat.c: Include the public and the private header.
4220
4221         * gst/glib-compat-private.h: Copied here from glib-compat.h.
4222
4223         * gst/gstvalue.c: 
4224         * gst/gstpad.c: 
4225         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
4226
4227         * check/gst/gstevent.c (create_custom_events): Check that
4228         FLUSH_STOP is serialized.
4229
4230         * check/elements/identity.c (event_func): 
4231         * check/elements/fakesrc.c (event_func): No stream lock, the core
4232         takes it.
4233
4234         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
4235         stream lock taking, yay.
4236
4237         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
4238         ensure that core takes the stream lock.
4239
4240         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
4241         lock name change.
4242
4243         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
4244         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
4245         it already. For the flush start we do take it though so we get the
4246         right preroll state change messages.
4247
4248         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
4249         the stream lock here, the core does it for us.
4250
4251         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
4252         GST_STREAM_GET_LOCK.
4253         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
4254         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
4255         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
4256         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
4257         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
4258         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
4259
4260         * gst/gstpad.c: Update for stream lock name change.
4261
4262         * gst/base/gstbasesink.c: Update for preroll lock name change.
4263
4264 2005-11-21  Wim Taymans  <wim@fluendo.com>
4265
4266         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
4267         (gst_clock_get_master):
4268         * gst/gstclock.h:
4269         * gst/gstsystemclock.c: (gst_system_clock_init):
4270         Convert Clock flags to object flags.
4271         Added methods to manage master/slave clocks.
4272
4273 2005-11-21  Wim Taymans  <wim@fluendo.com>
4274
4275         * check/gst/gstsegment.c: (GST_START_TEST):
4276         * docs/design/part-TODO.txt:
4277         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4278         (gst_base_sink_event), (gst_base_sink_do_sync),
4279         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4280         (gst_base_sink_query), (gst_base_sink_change_state):
4281         * gst/base/gstbasesink.h:
4282         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4283         (gst_base_src_default_newsegment),
4284         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4285         (gst_base_src_get_range), (gst_base_src_loop),
4286         (gst_base_src_change_state):
4287         * gst/base/gstbasesrc.h:
4288         * gst/base/gstbasetransform.c:
4289         (gst_base_transform_prepare_output_buf),
4290         (gst_base_transform_event), (gst_base_transform_change_state):
4291         * gst/base/gstbasetransform.h:
4292         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4293         (gst_collect_pads_event):
4294         * gst/base/gstcollectpads.h:
4295         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
4296         (gst_fake_src_create):
4297         * gst/elements/gstfakesrc.h:
4298         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4299         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4300         (gst_segment_set_last_stop), (gst_segment_set_seek),
4301         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4302         (gst_segment_to_running_time), (gst_segment_clip):
4303         * gst/gstsegment.h:
4304         More segment updates, replace code in plugins with segment
4305         helper functions.
4306
4307 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4308
4309         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
4310         Don't ignore sscanf results
4311
4312 2005-11-21  Andy Wingo  <wingo@pobox.com>
4313
4314         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
4315
4316         * *.h:
4317         * *.c: Ran scripts/update-macros. Oh yes.
4318
4319         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
4320         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
4321         GST_GET_LOCK, etc.
4322
4323         * scripts/update-macros: New script. Run it on your files to
4324         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
4325         well.
4326
4327 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4328
4329         * docs/gst/Makefile.am:
4330         * docs/gst/gstreamer-docs.sgml:
4331         * docs/gst/gstreamer-sections.txt:
4332         * docs/gst/gstreamer.types:
4333         * gst/gstinfo.h:
4334           more docs fixes, add new api to the docs
4335
4336 2005-11-21  Andy Wingo  <wingo@pobox.com>
4337
4338         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
4339         state_broadcast call.
4340
4341         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
4342
4343 2005-11-21  Julien MOUTTE  <julien@moutte.net>
4344
4345         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
4346         function calls for arrays.
4347
4348 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4349
4350         * docs/random/ensonic/media-device-daemon.txt:
4351           wild idea, can this be done?
4352         * docs/gst/gstreamer-sections.txt:
4353         * gst/gsterror.h:
4354         * gst/gstfilter.c:
4355         * gst/gstfilter.h:
4356         * gst/gstplugin.h:
4357         * gst/gstpluginfeature.c:
4358         * gst/gsttrace.c:
4359         * gst/gstvalue.c:
4360         * gst/gstvalue.h:
4361           doc fixes and additions
4362
4363 2005-11-21  Andy Wingo  <wingo@pobox.com>
4364
4365         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
4366         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
4367         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
4368         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
4369         private to the basesrc implementation.
4370
4371         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
4372         behalf of event function if necessary. It should no longer be
4373         necessary to take the stream lock in pad's event functions. Fixes
4374         #320299.
4375
4376 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4377         * docs/gst/gstreamer-sections.txt:
4378         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
4379         (gst_structure_fixate_field_nearest_double),
4380         (gst_structure_fixate_field_boolean):
4381         * gst/gststructure.h:
4382         * win32/common/libgstreamer.def:
4383         * win32/gstreamer.def:
4384
4385         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
4386         (#322027)
4387
4388 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4389
4390         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
4391         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
4392         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
4393         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
4394         (gst_fdsrc_uri_handler_init):
4395         * gst/elements/gstfdsrc.h:
4396           Port fd:// URI handler from 0.8 to fdsrc
4397
4398 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4399
4400         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
4401         (gst_value_serialize_fourcc):
4402         * gst/gstvalue.h:
4403           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
4404           consistent with our other format defines (#320324).
4405
4406 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4407
4408         * gst/gstvalue.c: (gst_value_is_fixed):
4409           Revert previous commit. Value lists are by definition
4410           not fixed, as they are a list of possible values.
4411
4412 2005-11-21  Andy Wingo  <wingo@pobox.com>
4413
4414         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
4415         during the stable series if we need it. Fixes #319178.
4416
4417         * gst/gstevent.c (gst_event_new_filler): Removed.
4418
4419         * check/gst/gstevent.c: Update comment about filler events.
4420
4421 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4422
4423         * gst/gstvalue.c: (gst_value_is_fixed):
4424           Should handle both value arrays and value lists.
4425
4426 2005-11-21  Andy Wingo  <wingo@pobox.com>
4427
4428         patch by: Alessandro Dessina <alessandro nnva org>
4429
4430         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
4431         functions to access arrays. Fixes #321962.
4432
4433 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4434
4435         * docs/gst/gstreamer.types:
4436           gst_collectpads_get_type => gst_collect_pads_get_type.
4437           
4438         * gst/base/gstbasetransform.c:
4439           Remove unused SIGNAL_HANDOFF enum.
4440
4441 2005-11-21  Andy Wingo  <wingo@pobox.com>
4442
4443         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
4444         the event type (upstream, downstream, serialized). Renamed
4445         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
4446         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
4447         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
4448
4449         * gst/gstevent.c: Update for new CUSTOM event names.
4450
4451         * check/gst/gstevent.c: Update check for new CUSTOM event names.
4452
4453         * gst/gstevent.h:
4454         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
4455         bug #319392.
4456
4457 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4458
4459         * docs/gst/gstreamer-sections.txt:
4460         * win32/common/libgstbase.def:
4461         * win32/libgstbase.def:
4462         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4463         (gst_collect_pads_class_init), (gst_collect_pads_init),
4464         (gst_collect_pads_finalize), (gst_collect_pads_new),
4465         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
4466         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
4467         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
4468         (gst_collect_pads_start), (gst_collect_pads_stop),
4469         (gst_collect_pads_peek), (gst_collect_pads_pop),
4470         (gst_collect_pads_available), (gst_collect_pads_read),
4471         (gst_collect_pads_flush), (gst_collect_pads_event),
4472         (gst_collect_pads_chain):
4473         * gst/base/gstcollectpads.h:
4474           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
4475           unimplemented functions as unimplemented. Add padding to
4476           GstCollectData. (#320766, #320423)
4477
4478 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4479
4480         * gst/gstmessage.c:
4481           Improve docs for DURATION message (usage of duration parameter)
4482           (#320113)
4483
4484 2005-11-20  Wim Taymans  <wim@fluendo.com>
4485
4486         * check/Makefile.am:
4487         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
4488         (main):
4489         * gst/Makefile.am:
4490         * gst/gst.h:
4491         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4492         (gst_segment_set_seek), (gst_segment_set_newsegment),
4493         (gst_segment_to_stream_time), (gst_segment_to_running_time),
4494         (gst_segment_clip):
4495         * gst/gstsegment.h:
4496         Added segment helper structure and methods. Not fully implemented
4497         yet.
4498         Added segment check.
4499
4500 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
4501
4502         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4503           Add a deserialisation test for fractions
4504         * examples/metadata/read-metadata.c: (message_loop),
4505         (make_pipeline), (main):
4506           Fix up metadata reading sample.
4507         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4508           Debug format fix
4509         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4510           Don't try and fixate empty caps
4511         * gst/gst_private.h:
4512           Wrap in G_BEGIN_DECLS/G_END_DECLS
4513         * gst/gstvalue.c: (gst_value_collect_fraction),
4514         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
4515         (gst_value_transform_string_fraction),
4516         (gst_value_compare_fraction):
4517           Add some extra guards to ensure that we don't end up 
4518           with an invalid denominator of 0 in a gstfraction and
4519           that fractions always get reduced.
4520
4521 2005-11-20  Wim Taymans  <wim@fluendo.com>
4522
4523         * docs/gst/gstreamer-sections.txt:
4524         * gst/gstbuffer.h:
4525         * gst/gstelement.c:
4526         * gst/gstformat.c:
4527         * gst/gstformat.h:
4528         * gst/gstindex.h:
4529         * gst/gstquery.c:
4530         * gst/gstquery.h:
4531         * gst/gstvalue.c:
4532         Doc fixes.
4533
4534 2005-11-20  Wim Taymans  <wim@fluendo.com>
4535
4536         * docs/design/part-TODO.txt:
4537         * gst/gstcaps.h:
4538         Make a proper enum of the flag.
4539
4540 2005-11-19  Wim Taymans  <wim@fluendo.com>
4541
4542         * docs/design/part-TODO.txt:
4543         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
4544         (gst_format_to_quark), (gst_format_register):
4545         * gst/gstformat.h:
4546         * gst/gstquery.c: (_gst_query_initialize),
4547         (gst_query_type_get_name), (gst_query_type_to_quark),
4548         (gst_query_type_register):
4549         * gst/gstquery.h:
4550         Add type to quark and type to string conversions.
4551
4552 2005-11-19  Andy Wingo  <wingo@pobox.com>
4553
4554         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
4555         #320097.
4556
4557 2005-11-19  Wim Taymans  <wim@fluendo.com>
4558
4559         * docs/design/part-TODO.txt:
4560         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4561         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
4562         (gst_bin_handle_message_func):
4563         * gst/gstbin.h:
4564         Make message handling overridable.
4565
4566 2005-11-19  Andy Wingo  <wingo@pobox.com>
4567
4568         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
4569
4570         * gst/gstclock.h:
4571         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
4572         be a GstClockTime.
4573         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
4574         is a GstClockTime. Fixes #321710.
4575
4576         * gst/gstclock.h (GstClock): Remove offset property. Add
4577         internal_calibration and external_calibration. Fix padding. Pad
4578         also by GstClockTime so we don't run into problems.
4579
4580         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
4581         (gst_clock_get_rate_offset): Remove.
4582         (gst_clock_set_time_adjust): Remove. Fixes #321712.
4583
4584         * gst/gstutils.h:
4585         * gst/gstutils.c (g_static_rec_cond_wait)
4586         (g_static_rec_cond_timed_wait): Removed, no longer needed.
4587
4588         * gst/gstbin.c: Remove terrible continue_state prototype.
4589
4590         * gst/gstelement.h (gst_element_continue_state): Make public.
4591
4592         * gst/gstelement.h:
4593         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
4594         by continue_state. Fixes #319389.
4595
4596         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
4597         Really fixes #168438. However I don't see anywhere where the
4598         filter function is called... stupid GStreamer...
4599         
4600         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
4601         don't have a dispose function, so it won't get called when the
4602         object is unreffed, but oh well!
4603
4604         * gst/gstindex.c (gst_index_set_filter_full): New API function,
4605         allows a destroy function to be set so user_data can be freed.
4606         Fixes #168438.
4607         (gst_index_set_filter): Call gst_index_set_filter_full.
4608
4609         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
4610
4611         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
4612         string should produce an error, given the lack of a way to
4613         represent NULL strings. Fixes #165650.
4614         
4615         * gst/gstvalue.h: 
4616         * gst/gstvalue.c (gst_value_array_append_value) 
4617         (gst_value_array_prepend_value, gst_value_array_get_size) 
4618         (gst_value_array_get_value): New API, copied from
4619         gst_value_list_*, only operates on arrays.
4620         (gst_value_list_append_value, gst_value_list_prepend_value) 
4621         (gst_value_list_concat, gst_value_list_get_size) 
4622         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
4623
4624         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
4625         init_list, because it works on both.
4626         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
4627         (gst_value_copy_list_or_array): Renamed from copy_list.
4628         (gst_value_free_list_or_array): Renamed from free_list.
4629         (gst_value_collect_list_or_array): Renamed from collect_list.
4630         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
4631         (gst_value_list_or_array_peek_pointer): Renamed from
4632         list_peek_pointer.
4633         (_gst_value_array_value_table, _gst_value_list_value_table):
4634         Update value table functions.
4635         (gst_value_compare_list_or_array): Renamed from compare_list.
4636
4637         * gsttaglist.h: Whoops, foreach function returns void. Also fix
4638         some constness.
4639
4640         * gst/gsttaglist.c:
4641         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
4642         GstTagList*. Fixes #143472.
4643
4644         * gst/gststructure.h: Clarify what the foreach/map functions can
4645         or can't do to their arguments.
4646
4647 2005-11-18  Wim Taymans  <wim@fluendo.com>
4648
4649         * gst/gstclock.c: (gst_clock_set_calibration),
4650         (gst_clock_get_calibration):
4651         Doc and API fixes.
4652         Calibration can be set with internal time equal to current
4653         internal time too.
4654
4655 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4656
4657         * gst/gsterror.c:
4658         * gst/gsterror.h:
4659           document
4660
4661 2005-11-18  Andy Wingo  <wingo@pobox.com>
4662
4663         * configure.ac: 
4664         * pkgconfig/gstreamer-net.pc.in:
4665         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4666         * pkgconfig/Makefile.am: Add net pkgconfig files.
4667
4668 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
4669
4670         * gst/gstcaps.c:
4671         * gst/gstghostpad.c:
4672         * gst/gsttrace.c:
4673         * gst/gstvalue.c:
4674         * gst/gstvalue.h:
4675           docs fixes
4676
4677 2005-11-18  Andy Wingo  <wingo@pobox.com>
4678
4679         * gst/net/gstnetclientclock.c: Turn off debugging.
4680
4681         * check/net/gstnetclientclock.c (test_functioning): Assert that the
4682         times connverge somewhat. Can't make a real test.
4683
4684         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
4685         integer arithmetic. Return the minimum of the domain, which can be
4686         set as "internal" for gst_clock_set_calibration.
4687         (gst_net_client_clock_observe_times): Call _set_calibration.
4688         (gst_net_client_clock_new): Call _set_calibration instead of
4689         rate_offset.
4690
4691         * check/net/gstnetclientclock.c (test_functioning): Use the right
4692         adjustment api.
4693
4694         * gst/gstclock.h:
4695         * gst/gstclock.c (gst_clock_get_calibration) 
4696         (gst_clock_set_calibration): New functions, obsolete the ones I
4697         added yesterday. Doh. Precision issues mean we have to extrapolate
4698         from a point in the more recent past than 1970.
4699         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
4700         obsolete.
4701         (gst_clock_adjust_unlocked): Use the right calibration data.
4702
4703 2005-11-18  Edward Hervey  <edward@fluendo.com>
4704
4705         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
4706         Also reset the ->current_* values in READY->PAUSED
4707
4708 2005-11-18  Andy Wingo  <wingo@pobox.com>
4709
4710         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
4711         Whoops, check the right fd. Also add some debugging.
4712         (gst_net_client_clock_observe_times): Adjust for int64 offset.
4713         (do_linear_regression): Add a crapload of debugging. Subtract off
4714         the minimum values from the input series to discard unneeded bits.
4715         Use only int arithmetic. There is still double arithmetic when
4716         calculating the intercept that needs fixing. Return boolean to
4717         indicate success; FALSE would mean the domain or range is too
4718         great. Still needs fixes.
4719
4720 2005-11-18  Wim Taymans  <wim@fluendo.com>
4721
4722         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4723         For the current position in stream time, we need to subtract
4724         accumulated time.
4725         
4726         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4727         Release lock before calling the callback function of async
4728         entries.
4729
4730 2005-11-18  Andy Wingo  <wingo@pobox.com>
4731
4732         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
4733         Port goes all the way to MAXUINT16.
4734
4735         * gst/net/gstnettimeprovider.c: Make the port range the same as
4736         for the kernel: 0 assigns, otherwise ports are less than
4737         MAXUINT16.
4738
4739         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
4740         port change.
4741
4742         * check/net/gstnetclientclock.c (test_functioning): Add the start
4743         of another test. 
4744
4745 2005-11-18  Wim Taymans  <wim@fluendo.com>
4746
4747         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4748         (gst_bin_remove_func), (bin_bus_handler):
4749         * gst/gstbin.h:
4750         Removing a clock provider from a bin, triggers a clock lost message
4751         so that a new clock will be selected.
4752         Adding a clock to a bin triggers a clock provider message.
4753         Make sure we reselect a clock when we received a clock lost message.
4754         Keep a reference to the element that provided the clock.
4755
4756 2005-11-18  Andy Wingo  <wingo@pobox.com>
4757
4758         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
4759         the clock initially so it produces values around the base time.
4760         (gst_net_client_clock_class_init): Typo fix.
4761         (gst_net_client_clock_thread): Add note on when the socket gets
4762         closed.
4763
4764 2005-11-17  Wim Taymans  <wim@fluendo.com>
4765
4766         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
4767         Free remote and local time arrays.
4768
4769 2005-11-17  Wim Taymans  <wim@fluendo.com>
4770
4771         * gst/net/gstnetclientclock.c: (do_linear_regression),
4772         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
4773         Fix compilation, uninitialized vars and a forgotten continue.
4774
4775 2005-11-17  Andy Wingo  <wingo@pobox.com>
4776
4777         * check/Makefile.am (check_PROGRAMS): 
4778         * check/net/gstnetclientclock.c: Add a most minimal test for the
4779         net client clock. More to come later.
4780
4781         * gst/net/gstnet.h: 
4782         * gst/net/Makefile.am: Add netclientclock.
4783
4784         * gst/net/gstnetclientclock.h:
4785         * gst/net/gstnetclientclock.c: New files, implement an untested
4786         GstClock that takes its time from a network time provider.
4787         Implements the algorithm in network-clock.scm.
4788
4789         * tests/network-clock.scm (*window-size*): Rename from
4790         *queue-length*.
4791         * tests/network-clock.scm (network-time): 
4792         * tests/network-clock-utils.scm (q-push): Update callers.
4793
4794 2005-11-17  Wim Taymans  <wim@fluendo.com>
4795
4796         * gst/gstbin.c: (gst_bin_provide_clock_func),
4797         (gst_bin_sort_iterator_new):
4798         And unref the child too..
4799
4800 2005-11-17  Wim Taymans  <wim@fluendo.com>
4801
4802         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4803         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
4804         Refactor the sort iterator so it can be used while holding the
4805         LOCK too.
4806         Make clock selection select a clock closest to the source.
4807
4808 2005-11-17  Michael Smith <msmith@fluendo.com>
4809
4810         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
4811         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
4812         * gst/gstclock.h:
4813           Anonymous structs are a gcc (and some other compilers) extension, so
4814           don't use them. Since this is only for ABI-compatibility, and our
4815           API/ABI freeze is over in a few days, this whole thing will only
4816           last a few days, so don't bother trying to think up a meaningful
4817           name for the struct.
4818
4819 2005-11-17  Andy Wingo  <wingo@pobox.com>
4820
4821         * gst/gstclock.h (GstClock): Add rate and offset properties,
4822         preserving ABI stability. Add rate/offset accessors. Will file bug
4823         for the freeze break.
4824
4825         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
4826         and offset, trying to keep precision and avoiding
4827         underflow/overflow.
4828         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
4829         functions. Make gst_clock_set_time_adjust obsolete.
4830         (gst_clock_set_time_adjust): Note that this function is obsolete.
4831         Will file bug soon.
4832
4833         * gst/base/gstbasetransform.h: Make the ABI-stability hack
4834         greppable by using GST_PADDING-1+1.
4835
4836 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
4837
4838         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4839
4840         * gst/gstmessage.c: (gst_message_parse_clock_lost):
4841           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4842
4843         * gst/gstpadtemplate.h:
4844         * gst/gstpluginfeature.h:
4845           Don't use c++ style comments in headers (#321638).
4846
4847 2005-11-16  Andy Wingo  <wingo@pobox.com>
4848
4849         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4850         buffer.
4851
4852         * check/net/gstnettimeprovider.c: Check to see that the time
4853         provider actually provides times. Works, yo!
4854
4855 2005-11-16  Wim Taymans  <wim@fluendo.com>
4856
4857         * check/Makefile.am:
4858         Enable more tests.
4859
4860         * check/elements/fakesrc.c: (GST_START_TEST):
4861         Set element to NULL before disposing it.
4862
4863 2005-11-16  Andy Wingo  <wingo@pobox.com>
4864
4865         * gst/net/Makefile.am:
4866         * gst/net/gstnet.h:
4867         * gst/net/gstnettimeprovider.c: 
4868         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4869         provider, include it from gstnet.h, and add it to the build.
4870
4871         * gst/net/gstnettimepacket.h: 
4872         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4873         sending and receiving.
4874
4875 2005-11-16  Wim Taymans  <wim@fluendo.com>
4876
4877         * check/Makefile.am:
4878         Enable valgrind check.
4879
4880         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4881         (gst_fake_src_alloc_buffer):
4882         Fix memleak.
4883
4884 2005-11-16  Wim Taymans  <wim@fluendo.com>
4885
4886         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4887         Call parent finalize too.
4888
4889 2005-11-16  Wim Taymans  <wim@fluendo.com>
4890
4891         * check/Makefile.am:
4892         Enable valgrind check that should work fine now.
4893
4894         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4895         * gst/gstqueue.c: (gst_queue_init):
4896         Fix memleaks in pad allocation.
4897
4898 2005-11-16  Andy Wingo  <wingo@pobox.com>
4899
4900         * gst/net/Makefile.am:
4901         * gst/net/gstnet.h: New part of core to hold network elements and
4902         objects. Put in core because it exposes API that applications want
4903         to use. The library is named libgstnet-tempname right now because
4904         of the existing libgstnet in gst-plugins-base. Solution is
4905         probably to rename the one in plugins-base; will file a bug for
4906         the freeze break.
4907
4908         * gst/net/gstnettimeprovider.c: 
4909         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4910         get_time call over the network.
4911
4912         * configure.ac: 
4913         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4914
4915         * check/Makefile.am:
4916         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4917         get additions shortly.
4918
4919 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4920
4921         * gst/gstpad.c: (gst_pad_new_from_static_template):
4922         * gst/gstpad.h:
4923           add gst_pad_new_from_static_template functions
4924         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4925         (gst_check_setup_sink_pad):
4926         * gst/elements/gsttee.c: (gst_tee_init):
4927           and use them
4928
4929 2005-11-16  Wim Taymans  <wim@fluendo.com>
4930
4931         * gst/gstpad.c: (gst_pad_pause_task):
4932         Removed warning, it's not really an error either.
4933
4934 2005-11-16  Wim Taymans  <wim@fluendo.com>
4935
4936         * gst/base/gstbasetransform.c:
4937         (gst_base_transform_prepare_output_buf),
4938         (gst_base_transform_event):
4939         Check if the caps are NULL, this can happen if the element
4940         is shutting down and the pad caps are set to NULL.
4941
4942 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4943
4944         * gst/elements/gsttee.c: (gst_tee_init):
4945           fix pad template leak in tee
4946
4947 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4948
4949         * gst/glib-compat.c: (g_value_dup_gst_object):
4950         * gst/glib-compat.h:
4951         * gst/gstpad.c: (gst_pad_set_property):
4952           use gst_object_ref when setting the pad template; this will
4953           trigger the pad template leaks on GLib 2.6 and the slaves
4954
4955 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4956
4957         * gst/glib-compat.c: (gst_flags_get_first_value):
4958         * gst/glib-compat.h:
4959         * gst/gstregistryxml.c:
4960           remove functions copied from GLib 2.6
4961
4962 2005-11-16  Michael Smith <msmith@fluendo.com>
4963
4964         * gst/Makefile.am:
4965           Don't link against VALGRIND_LIBS. That was always the wrong thing to
4966           do, but only breaks with newer valgrind versions. We're not a
4967           valgrind tool, we have no link-time dependencies on libcoregrind.
4968
4969 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4970
4971         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4972           some debug changes
4973         * gst/gstmessage.h:
4974           typo fixes
4975
4976 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4977
4978         * gst/base/gstbasesrc.c: (gst_base_src_init):
4979         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4980         * gst/gstqueue.c: (gst_queue_init):
4981         * gst/gstregistryxml.c: (load_feature):
4982           Revert all these unrefs, they don't even pass make check !
4983
4984 2005-11-15  Johan Dahlin  <johan@gnome.org>
4985
4986         * gst/base/gstbasesrc.c: (gst_base_src_init):
4987         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4988         * gst/gstqueue.c: (gst_queue_init): 
4989         Free pad templates, fixes a couple of leaks.
4990
4991 2005-11-15  Daniel Fischer  <dan at f3c dot com>
4992
4993         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4994
4995         * gst/gstpad.c: (gst_pad_get_property):
4996           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4997           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4998           (#321452)
4999
5000 2005-11-15  Wim Taymans  <wim@fluendo.com>
5001
5002         * gst/gstevent.c:
5003         Small doc update.
5004
5005 2005-11-15  Andy Wingo  <wingo@pobox.com>
5006
5007         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
5008
5009         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
5010         using GST_CLOCK_TIME_NONE to disable base time management.
5011         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
5012         time if it was NONE before.
5013         (gst_pipeline_change_state): Only munge the base time if
5014         stream_time != GST_CLOCK_TIME_NONE.
5015
5016         * check/gst/gstpipeline.c (test_base_time): Punt around the
5017         problem of the probe not being called, because that's not the
5018         issue I'm looking at. Add a check that setting stream_time to NONE
5019         disables base time management.
5020         
5021 2005-11-15  Wim Taymans  <wim@fluendo.com>
5022
5023         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5024         segment_stop == -1 at startup.
5025
5026         * gst/base/gstbasetransform.c: (gst_base_transform_event),
5027         (gst_base_transform_change_state):
5028         Init segment values at start.
5029
5030 2005-11-15  Wim Taymans  <wim@fluendo.com>
5031
5032         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5033         0 segment values are 0 in any format.
5034
5035         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5036         * gst/base/gstbasetransform.h:
5037         Parse newsegment correctly in basetransform
5038
5039         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5040         Sync to clock using updated segment values.
5041
5042 2005-11-15  Andy Wingo  <wingo@pobox.com>
5043
5044         * check/gst/gstpipeline.c (test_base_time): Add check that the
5045         base time and stream time are reset correctly.
5046
5047 2005-11-15  Wim Taymans  <wim@fluendo.com>
5048
5049         * docs/design/part-TODO.txt:
5050         Some more TODO items.
5051
5052 2005-11-15  Andy Wingo  <wingo@pobox.com>
5053
5054         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
5055         error if the user selected "no clock" as the clocking method.
5056
5057         * check/gst/gstpipeline.c (test_base_time): New test for buffer
5058         timestamps with live capture.
5059
5060         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
5061         is 0 but we are a live source, timestamp the buffers using the
5062         element's clock.
5063
5064 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
5065
5066         * docs/gst/gstreamer-sections.txt:
5067         * gst/gsterror.c:
5068         * gst/gstghostpad.c:
5069         * gst/gstobject.h:
5070         * gst/gstxml.c:
5071           more section docs
5072
5073 2005-11-14  Wim Taymans  <wim@fluendo.com>
5074
5075         * common/gst.supp:
5076           add suppressions from Wim's Debian machine
5077
5078 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5079
5080         * common/gst.supp:
5081           add suppressions from Andy's AMD64 Ubuntu machine
5082
5083 2005-11-14  Andy Wingo  <wingo@pobox.com>
5084
5085         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
5086         STATE_LOCK not necessary. Fixes #311489.
5087
5088         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
5089         #305291.
5090
5091         * gst/gstindex.c (gst_index_add_object): Note in the docs that
5092         this function is not implemented.
5093
5094 2005-11-14  Julien MOUTTE  <julien@moutte.net>
5095
5096         * gst/base/gstbasetransform.c:
5097         (gst_base_transform_prepare_output_buf):
5098         Ref the source pad caps while we need them.
5099         Fixes (#321386)
5100
5101 2005-11-11  Wim Taymans  <wim@fluendo.com>
5102
5103         * docs/gst/gstreamer-sections.txt:
5104         Added some docs for GstCollectData.
5105
5106         * gst/base/gstadapter.c:
5107         Some small code example fix.
5108
5109         * gst/base/gstcollectpads.c:
5110         * gst/base/gstcollectpads.h:
5111         Document some more.
5112
5113 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5114
5115         * configure.ac: back to HEAD
5116
5117 === release 0.9.5 ===
5118
5119 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
5120
5121         * configure.ac:
5122           releasing 0.9.5, "Bike Lunch Day"
5123
5124 2005-11-11  Wim Taymans  <wim@fluendo.com>
5125
5126         * gst/gstbuffer.c: (_gst_buffer_copy):
5127         Copy more flags.
5128
5129         * gst/gstcaps.c: (gst_caps_is_equal):
5130         Fix some docs.
5131         Make _is_equal fast in the trivial cases.
5132
5133         * gst/gstminiobject.c:
5134         * gst/gstminiobject.h:
5135         More docs. Spifify .h file.
5136
5137         * gst/gstutils.c:
5138         Small doc update.
5139
5140 2005-11-11  Wim Taymans  <wim@fluendo.com>
5141
5142         * gst/base/gstbasetransform.c:
5143         (gst_base_transform_prepare_output_buf),
5144         (gst_base_transform_handle_buffer):
5145         Small cleanups.
5146         If we're processing a buffer and need to allocate an output
5147         buffer, we cannot accept a format change. If we did get a 
5148         format change, we have to alloc a buffer ourselves of the 
5149         right size.
5150
5151 2005-11-11  Wim Taymans  <wim@fluendo.com>
5152
5153         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
5154         While checking the flag for reentrancy in the gstcaps function
5155         is nice to detect recursive invocations, it also makes it 
5156         impossible to call getcaps from multiple threads, which must be
5157         possible. So, checking for recursive calls has to go.
5158
5159 2005-11-11  Michael Smith <msmith@fluendo.com>
5160
5161         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5162           Don't sync on buffers that fall partially outside our current
5163           segment. Prevents an assertion failure/abort playing some files.
5164
5165 2005-11-10  Andy Wingo  <wingo@pobox.com>
5166
5167         * check/gst/gstbin.c (test_message_state_changed_children): Style
5168         fix..
5169
5170         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
5171         gst_bus_poll with the signal watch. Ensures that poll and a signal
5172         watch see the same messages.
5173
5174         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
5175         a poll and a watch at the same time get the same messages.
5176
5177 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5178
5179         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
5180         * gst/gstcaps.c: (gst_caps_intersect):
5181           Don't call gst_caps_do_simplify - it doesn't respect order of caps
5182           and it's not needed.
5183
5184 2005-11-10  Wim Taymans  <wim@fluendo.com>
5185
5186         * docs/design/part-TODO.txt:
5187         Updated todo.
5188
5189 2005-11-10  Wim Taymans  <wim@fluendo.com>
5190
5191         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5192         * gst/base/gstbasesrc.c: (gst_base_src_wait),
5193         (gst_base_src_do_sync), (gst_base_src_get_range):
5194         Implement clock sync in base class.
5195
5196 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5197
5198         patch by: Tim-Philipp Müller <tim at centricular dot net>
5199
5200         * gst/gststructure.c: (gst_structure_parse_field),
5201         (gst_structure_from_string):
5202           Forward-port a 0.8 patch to handle escaped spaces in structure string,
5203           so that gst_parse_launch() can deal with spaces in filtered link
5204           caps (fixes #164479)
5205         * check/gst/capslist.h:
5206         * check/gst/gststructure.c: (GST_START_TEST):
5207           add unit tests for this change
5208
5209 2005-11-10  Wim Taymans  <wim@fluendo.com>
5210
5211         * docs/gst/gstreamer-sections.txt:
5212         * gst/gstelement.c:
5213         * gst/gstelement.h:
5214         Fix docs, move some STATE macros to private.
5215
5216 2005-11-10  Wim Taymans  <wim@fluendo.com>
5217
5218         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5219         Added check for bug #317341
5220
5221         * gst/gstbuffer.c:
5222         * gst/gstbuffer.h:
5223         Some more spiffifying.
5224
5225         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
5226         Call peer linkfunction if we are a source pad. Totally fixes
5227         #317341
5228
5229         * gst/gstpad.c:
5230         Update docs, source pads should call the peer linkfunction
5231         so they can atomically perform the pad link.
5232
5233 2005-11-09  Wim Taymans  <wim@fluendo.com>
5234
5235         * gst/gstbuffer.c:
5236         * gst/gstbuffer.h:
5237         Uber-spiffy-spiffify some more.
5238
5239 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
5240
5241         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
5242         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5243         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5244         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
5245         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
5246         * gst/gstpad.c: (gst_pad_init):
5247           Use GST_DEBUG_FUNCPTR() more extensively.
5248
5249 2005-11-09  Wim Taymans  <wim@fluendo.com>
5250
5251         * gst/gstobject.c: (gst_object_class_init):
5252         * gst/gstobject.h:
5253         Documentation fixes.
5254
5255 2005-11-09  Edward Hervey  <edward@fluendo.com>
5256
5257         * gst/gsttypefindfactory.c:
5258         Fix docs.
5259         
5260 2005-11-09  Edward Hervey  <edward@fluendo.com>
5261
5262         * gst/base/gsttypefindhelper.c:
5263         * gst/gsttypefind.c:
5264         * gst/gsttypefind.h:
5265         Fix docs.
5266
5267 2005-11-09  Wim Taymans  <wim@fluendo.com>
5268
5269         * gst/gstiterator.c:
5270         Fix revision data.
5271
5272         * gst/gsttask.c:
5273         * gst/gsttask.h:
5274         Fix docs.
5275
5276 2005-11-09  Wim Taymans  <wim@fluendo.com>
5277
5278         * gst/gstevent.h:
5279         * gst/gsturi.h:
5280         Fix docs.
5281
5282 2005-11-09  Wim Taymans  <wim@fluendo.com>
5283
5284         * docs/gst/gstreamer-sections.txt:
5285         Moved the message async delivery private lock and cond
5286         to the private section.
5287
5288         * gst/gstmessage.c:
5289         * gst/gstmessage.h:
5290         Fixed docs.
5291
5292 2005-11-09  Edward Hervey  <edward@fluendo.com>
5293
5294         * docs/gst/gstreamer-sections.txt:
5295         * gst/gsturi.c:
5296         * gst/gsturi.h:
5297         Document GstURIHandler
5298
5299 2005-11-09  Wim Taymans  <wim@fluendo.com>
5300
5301         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
5302         (gst_iterator_find_custom):
5303         * gst/gstiterator.h:
5304         Fix iterator docs.
5305
5306 2005-11-09  Wim Taymans  <wim@fluendo.com>
5307
5308         * gst/gstbin.h:
5309         Document another field.
5310
5311         * gst/gststructure.c:
5312         * gst/gststructure.h:
5313         Document.
5314
5315 2005-11-09  Wim Taymans  <wim@fluendo.com>
5316
5317         * gst/gstbin.h:
5318         Documented structs.
5319
5320 2005-11-09  Wim Taymans  <wim@fluendo.com>
5321
5322         * docs/gst/gstreamer-sections.txt:
5323         Added some new macros.
5324
5325         * gst/gstclock.c:
5326         * gst/gstclock.h:
5327         * gst/gstobject.h:
5328         Docs updates.
5329
5330 2005-11-09  Wim Taymans  <wim@fluendo.com>
5331
5332         * docs/design/part-TODO.txt:
5333         Some more items for the TODO
5334
5335         * gst/gstcaps.c:
5336         * gst/gstcaps.h:
5337         Document GstCaps.
5338
5339 2005-11-09  Andy Wingo  <wingo@pobox.com>
5340
5341         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
5342         to work on something else now tho...
5343
5344         * gst/base/gstadapter.c: More adapter docs.
5345
5346         * gst/elements/gstfilesink.c (gst_file_sink_start) 
5347         (gst_file_sink_stop): New functions, replace the state change
5348         handler.
5349         (gst_file_sink_class_init): Hook up the start and stop functions.
5350         (gst_file_sink_base_init): Don't set the state change handler any
5351         more. It was a bit ugly too, being set from here...
5352         (gst_file_sink_get_property, gst_file_sink_set_property):
5353         Cleanups...
5354         (gst_file_sink_set_location): More robust check that doesn't call
5355         GST_STATE. Ugggggg.
5356
5357 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5358
5359         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5360           Hold STREAM_LOCK while pushing newsegment or tag events as well.
5361
5362 2005-11-08  Wim Taymans  <wim@fluendo.com>
5363
5364         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5365         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5366         (gst_base_sink_chain), (gst_base_sink_change_state):
5367         * gst/base/gstbasesink.h:
5368         * gst/base/gstbasesrc.h:
5369         * gst/gstelement.h:
5370         * gst/gstevent.h:
5371         Avoid excessive typechecking in macros.
5372
5373         * gst/gstminiobject.c: (gst_mini_object_get_type),
5374         (gst_mini_object_init), (gst_mini_object_new),
5375         (gst_mini_object_free):
5376         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5377         (gst_object_finalize):
5378         Remove cruft code, optimize alloc_trace.
5379
5380 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5381
5382         * docs/faq/gst-uninstalled:
5383           fix up PS1 for systems that try to reset it
5384
5385 2005-11-07  Wim Taymans  <wim@fluendo.com>
5386
5387         * gst/base/gstbasesrc.c: (gst_base_src_init),
5388         (gst_base_src_get_range):
5389         Set the segment_end to -1 initially. Fixed typefind.
5390
5391 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5392
5393         * gst/base/gstadapter.c:
5394           Debug category should be 'adapter', not 'GstAdapter'.
5395           
5396         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
5397         (gst_collectpads_class_init), (gst_collectpads_init),
5398         (gst_collectpads_peek), (gst_collectpads_pop),
5399         (gst_collectpads_event), (gst_collectpads_chain):
5400           Add debug category and some debugging output. Use boilerplate
5401           macros. Remove some extraneous words from docs.
5402
5403 2005-11-05  Andy Wingo  <wingo@pobox.com>
5404
5405         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
5406         macro.
5407
5408 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5409
5410         * docs/gst/gstreamer-sections.txt:
5411         * gst/gstcaps.h:
5412         * gst/gstinfo.c:
5413         * gst/gstminiobject.h:
5414         * gst/gstobject.h:
5415         * gst/gstutils.h:
5416           more docs added
5417
5418 2005-11-04  Wim Taymans  <wim@fluendo.com>
5419
5420         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5421         Small update to stop at the configured segment_end
5422         position.
5423
5424 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5425
5426         * gst/gstregistry.c:
5427         * gst/gstregistry.h:
5428           added missing docs
5429
5430 2005-11-04  Edward Hervey  <edward@fluendo.com>
5431
5432         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5433         Check if we are doing a segment seek and have arrived at the
5434         end of that segment.
5435
5436 2005-11-04  Wim Taymans  <wim@fluendo.com>
5437
5438         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
5439         Don't leak a mutex unlock in case of an error.
5440
5441         * gst/gstbus.h:
5442         Doc fixes.
5443
5444 2005-11-04  Wim Taymans  <wim@fluendo.com>
5445
5446         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
5447         (gst_bus_post):
5448         Get the context to wake up only once.
5449
5450 2005-11-03  Wim Taymans  <wim@fluendo.com>
5451
5452         * check/states/sinks.c: (GST_START_TEST):
5453         Uncomment fixed check.
5454
5455         * docs/design/part-TODO.txt:
5456         Updated TODO.
5457
5458         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5459         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5460         (gst_base_sink_get_position):
5461         If we are going to PLAYING, post the right pending state
5462         when we post the intermediate paused message.
5463
5464         * gst/gstelement.c: (gst_element_continue_state),
5465         (gst_element_set_state_func), (gst_element_change_state):
5466         Don't post state changes that were between the same state
5467         and were not ASYNC.
5468
5469 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
5470
5471         * docs/gst/gstreamer-sections.txt:
5472         * gst/gstcaps.h:
5473         * gst/gstinfo.c:
5474         * gst/gstminiobject.h:
5475         * gst/gstobject.h:
5476         * gst/gstutils.h:
5477           more docs and doc style fixes
5478
5479 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
5480
5481         * docs/gst/gstreamer-sections.txt:
5482         * gst/gstelement.c:
5483         * gst/gstminiobject.c:
5484         doc fixes
5485
5486 2005-11-03  Andy Wingo  <wingo@pobox.com>
5487
5488         * check/states/sinks.c (test_livesrc_sink): Add checks that the
5489         state-changed messages actually have the right order and the right
5490         values.
5491
5492 2005-11-03  Wim Taymans  <wim@fluendo.com>
5493
5494         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5495         Added some more checks. Specifically the case where NO_PREROLL
5496         elements are in the pipeline.
5497
5498         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5499         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5500         (gst_base_sink_get_position):
5501         Post READY->PAUSED state change messages too.
5502         Fix bug where VOID was posted as pending state...
5503
5504         * gst/gstbin.c: (gst_bin_recalc_state):
5505         use _element_continue_state() to continue the state change.
5506
5507         * gst/gstelement.c: (gst_element_continue_state),
5508         (gst_element_commit_state), (gst_element_set_state_func),
5509         (gst_element_change_state), (gst_element_change_state_func):
5510         Lots of state change cleanups, assign the STATE_RETURN in
5511         a new continue_state() function that also propagates the
5512         last return value from a state change to the app.
5513         Update some debug statements with proper category.
5514
5515 2005-11-03  Wim Taymans  <wim@fluendo.com>
5516
5517         * docs/design/part-events.txt:
5518         * docs/design/part-gstpipeline.txt:
5519         * docs/design/part-messages.txt:
5520         * docs/design/part-overview.txt:
5521         * docs/design/part-seeking.txt:
5522         * docs/design/part-states.txt:
5523         * docs/design/part-trickmodes.txt:
5524         * docs/manual/advanced-position.xml:
5525         Small docs updates.
5526
5527         * gst/gstobject.h:
5528         People think !! is ugly, this looks better.
5529
5530         * gst/gstpad.c: (gst_pad_set_blocked_async):
5531         Remove !! since it's fixed elsewhere now.
5532
5533 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5534
5535         * gst/gstminiobject.h:
5536         * gst/gstobject.h:
5537           Add !! to _FLAG_IS_SET macros to make the result boolean.
5538
5539 2005-11-03  Edward Hervey  <edward@fluendo.com>
5540
5541         * gst/gstpad.c: (gst_pad_set_blocked_async):
5542         comparing a flag and a gboolean rarely returns coherent results...
5543         Added two characters (!!) to make that work correctly.
5544         
5545 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5546
5547         * gst/gstbus.c: (gst_bus_class_init):
5548           Fix some typos.
5549           
5550         * gst/gstqueue.c: (gst_queue_loop):
5551           Don't assume a miniobject that isn't a buffer is an
5552           event (it could be that there is a refcounting
5553           problem somewhere and the pointer is stale and
5554           refers to an already destroyed miniobject).
5555
5556 2005-11-03  Julien MOUTTE  <julien@moutte.net>
5557
5558         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
5559
5560 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5561
5562         * docs/manual/advanced-position.xml:
5563           Update seek example and explanations to current 0.9 API.
5564
5565         * gst/elements/gsttypefindelement.c:
5566         (gst_type_find_element_activate):
5567           Remove FIXME comment now that the found caps
5568           are unreffed.
5569
5570 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5571
5572         * gst/gstregistryxml.c: (load_feature):
5573           Add another GST_STR_NULL instance
5574
5575 2005-11-02  Edward Hervey  <edward@fluendo.com>
5576
5577         * gst/gstpad.c: (handle_pad_block):
5578         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
5579         
5580 2005-11-02  Wim Taymans  <wim@fluendo.com>
5581
5582         * gst/gstbin.c:
5583         Fix typo in docs.
5584
5585         * gst/gstelement.c: (gst_element_commit_state):
5586         Remove unused value.
5587
5588         * gst/gstiterator.c:
5589         Mention that the returned element is reffed in the docs.
5590
5591 2005-11-02  Wim Taymans  <wim@fluendo.com>
5592
5593         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
5594         (gst_pad_push), (gst_pad_push_event):
5595         Unlock blocked pads when they are flushed.
5596
5597 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5598
5599         * docs/README:
5600         * docs/gst/gstreamer-sections.txt:
5601         * gst/gstbin.c:
5602           doc updates
5603         * gst/gstregistry.c: (gst_registry_scan_path_level):
5604           fix for a nasty little missed situation where an installed plug-in
5605           which was in the cache did not get overridden by an uninstalled one
5606           which was earlier in the plugin path because the newly created plugin
5607           for the uninstalled one (not in the registry) didn't get its
5608           ->registered set to TRUE
5609
5610 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5611
5612         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
5613         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
5614         (gst_collectpads_is_active), (gst_collectpads_collect),
5615         (gst_collectpads_collect_range), (gst_collectpads_start),
5616         (gst_collectpads_stop), (gst_collectpads_peek),
5617         (gst_collectpads_pop), (gst_collectpads_available),
5618         (gst_collectpads_read), (gst_collectpads_flush):
5619           Guard public API with assertions.
5620         
5621         * gst/gstpad.c:
5622           Fix docs for gst_pad_set_link_function().
5623
5624 2005-11-02  Johan Dahlin  <johan@gnome.org>
5625
5626         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
5627         Unref found_caps after we used it.
5628
5629 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
5632           Don't try to ref NULL.
5633
5634 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5635
5636         * win32/common/config.h.in:
5637           provide a GST_FUNCTION that just gives a string for now
5638
5639 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5640
5641         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5642         (gst_object_flags_get_type), (register_gst_bin_flags),
5643         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5644         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5645         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5646         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
5647         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5648         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5649         (gst_clock_flags_get_type), (register_gst_state),
5650         (gst_state_get_type), (register_gst_state_change_return),
5651         (gst_state_change_return_get_type), (register_gst_state_change),
5652         (gst_state_change_get_type), (register_gst_element_flags),
5653         (gst_element_flags_get_type), (register_gst_core_error),
5654         (gst_core_error_get_type), (register_gst_library_error),
5655         (gst_library_error_get_type), (register_gst_resource_error),
5656         (gst_resource_error_get_type), (register_gst_stream_error),
5657         (gst_stream_error_get_type), (register_gst_event_type),
5658         (gst_event_type_get_type), (register_gst_seek_type),
5659         (gst_seek_type_get_type), (register_gst_seek_flags),
5660         (gst_seek_flags_get_type), (register_gst_format),
5661         (gst_format_get_type), (register_gst_index_certainty),
5662         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5663         (gst_index_entry_type_get_type),
5664         (register_gst_index_lookup_method),
5665         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5666         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5667         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5668         (gst_index_flags_get_type), (register_gst_debug_level),
5669         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5670         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5671         (gst_iterator_result_get_type), (register_gst_iterator_item),
5672         (gst_iterator_item_get_type), (register_gst_message_type),
5673         (gst_message_type_get_type), (register_gst_mini_object_flags),
5674         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5675         (gst_pad_link_return_get_type), (register_gst_flow_return),
5676         (gst_flow_return_get_type), (register_gst_activate_mode),
5677         (gst_activate_mode_get_type), (register_gst_pad_direction),
5678         (gst_pad_direction_get_type), (register_gst_pad_flags),
5679         (gst_pad_flags_get_type), (register_gst_pad_presence),
5680         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5681         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5682         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5683         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5684         (gst_plugin_flags_get_type), (register_gst_rank),
5685         (gst_rank_get_type), (register_gst_query_type),
5686         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5687         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5688         (gst_tag_flag_get_type), (register_gst_task_state),
5689         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5690         (gst_alloc_trace_flags_get_type),
5691         (register_gst_type_find_probability),
5692         (gst_type_find_probability_get_type), (register_gst_uri_type),
5693         (gst_uri_type_get_type), (register_gst_parse_error),
5694         (gst_parse_error_get_type):
5695         * win32/common/gstversion.h:
5696           update win32 copies
5697
5698 2005-11-01  Luca Ognibene  <luogni@tin.it>
5699
5700         * gst/gst.c:
5701           fix docs. popt is dead, long live GOption.
5702
5703 2005-10-31  Wim Taymans  <wim@fluendo.com>
5704
5705         * gst/gstbuffer.h:
5706         Small doc fix.
5707
5708 2005-10-31  Andy Wingo  <wingo@pobox.com>
5709
5710         * Boo!
5711
5712         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
5713
5714         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
5715         need to serialize property notifications on GLib 2.8. GLib 2.6 has
5716         the possibility of deadlocks here if code calling notify() or
5717         set() has a lock that can be taken in another notify handler (ABBA
5718         with class lock and e.g. python GIL state lock).
5719
5720 2005-10-28  Julien MOUTTE  <julien@moutte.net>
5721
5722         * gst/gstbus.c: Doc updates.
5723
5724 2005-10-28  Wim Taymans  <wim@fluendo.com>
5725
5726         * docs/design/part-TODO.txt:
5727         * gst/gstiterator.c:
5728         * gst/gstsystemclock.c:
5729         * gst/gstsystemclock.h:
5730         Doc updates.
5731
5732 2005-10-28  Edward Hervey  <edward@fluendo.com>
5733
5734         * docs/gst/gstreamer-docs.sgml:
5735         * docs/gst/gstreamer-sections.txt:
5736         the GstURIType documentation page is private, it only defines GstURIType
5737         which should be defined in the GstURIHandler page
5738         
5739 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5740
5741         * gst/gstbin.c: (gst_bin_class_init):
5742         * gst/gstbin.h:
5743         * gst/gstutils.c:
5744         Documentation updates.
5745
5746 2005-10-28  Wim Taymans  <wim@fluendo.com>
5747
5748         * docs/gst/gstreamer-sections.txt:
5749         * gst/gstclock.c:
5750         * gst/gstclock.h:
5751         Documented the clocks.
5752
5753 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
5754
5755         * docs/gst/gstreamer-sections.txt:
5756           move some macros to private sections
5757         * gst/gstminiobject.c:
5758         * gst/gstminiobject.h:
5759           add descriptions provided by ds and some more
5760         * gst/gstpad.h:
5761           mark macro as to be removed
5762
5763 2005-10-28  Wim Taymans  <wim@fluendo.com>
5764
5765         * docs/design/part-TODO.txt:
5766         Add an item to TODO.
5767
5768         * gst/gstiterator.c: (gst_iterator_fold),
5769         (gst_iterator_find_custom):
5770         * gst/gstiterator.h:
5771         Add iterator docs.
5772
5773 2005-10-28  Wim Taymans  <wim@fluendo.com>
5774
5775         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5776         (gst_base_transform_init):
5777         Don't leak class.
5778
5779         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
5780         An EOS event marks the queue as completely filled.
5781
5782 2005-10-27  Wim Taymans  <wim@fluendo.com>
5783
5784         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5785         (gst_base_sink_do_sync), (gst_base_sink_get_position):
5786         Some more debugging.
5787
5788         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
5789         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
5790         (gst_base_transform_event), (gst_base_transform_getrange),
5791         (gst_base_transform_chain):
5792         * gst/base/gstbasetransform.h:
5793         Fix debugging,
5794         Protect transform and concurrent buffer alloc with a new lock.
5795         Try not to break ABI/API.
5796
5797 2005-10-27  Wim Taymans  <wim@fluendo.com>
5798
5799         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5800         (gst_base_src_init), (gst_base_src_query),
5801         (gst_base_src_default_newsegment),
5802         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5803         (gst_base_src_send_event), (gst_base_src_event_handler),
5804         (gst_base_src_pad_get_range), (gst_base_src_loop),
5805         (gst_base_src_unlock), (gst_base_src_default_negotiate),
5806         (gst_base_src_start), (gst_base_src_deactivate),
5807         (gst_base_src_activate_push), (gst_base_src_change_state):
5808         Move some stuff around and cleanup things.
5809
5810 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
5811
5812         * gst/base/gstbasesrc.c: (gst_base_src_query):
5813           Add missing break statements.
5814
5815 2005-10-27  Wim Taymans  <wim@fluendo.com>
5816
5817         * check/gst/gstbin.c: (GST_START_TEST):
5818         An extra refcount is taken in basesrc.
5819
5820         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5821         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5822         (gst_base_src_loop):
5823         Small cleanups, check for flushing after being unlocked from the 
5824         LIVE_LOCK. take refcounts correctly (not yet everywhere).
5825         Don't send out EOS when going to READY.
5826
5827 2005-10-27  Wim Taymans  <wim@fluendo.com>
5828
5829         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5830         (gst_base_sink_get_position):
5831         Some more debug.
5832
5833         * gst/gstbin.c: (message_check), (bin_replace_message),
5834         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5835         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5836         (bin_query_duration_init), (bin_query_duration_fold),
5837         (bin_query_duration_done), (bin_query_generic_fold),
5838         (gst_bin_query):
5839         * tools/gst-launch.c: (main):
5840         Remove old option.
5841
5842 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
5843
5844         * examples/controller/audio-example.c: (main):
5845         * examples/queue/queue.c: (event_loop):
5846         * gst/base/gstbasetransform.h:
5847         * gst/gstelement.c: (gst_element_send_event):
5848         * gst/gstevent.h:
5849         * gst/gstpad.c: (gst_pad_send_event):
5850           fixing examples
5851           fixing docs typos
5852           changing log priority in error situations
5853
5854 2005-10-25  Wim Taymans  <wim@fluendo.com>
5855
5856         * gst/gstbin.c: (message_check), (bin_replace_message),
5857         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5858         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5859         (bin_query_duration_init), (bin_query_duration_fold),
5860         (bin_query_duration_done), (bin_query_generic_fold),
5861         (gst_bin_query):
5862         Some doc and debug updates.
5863         Cache previously requested query DURATION for speed. invalidate
5864         cached duration if element posts a DURATION message.
5865
5866 2005-10-25  Wim Taymans  <wim@fluendo.com>
5867
5868         * docs/design/part-TODO.txt:
5869         Update TODO.
5870
5871         * gst/gstbin.c: (message_check), (bin_replace_message),
5872         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5873         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5874         (bin_query_duration_init), (bin_query_duration_fold),
5875         (bin_query_duration_done), (bin_query_generic_fold),
5876         (gst_bin_query):
5877         Handle SEGMENT_START/DONE messages correctly.
5878         More evolved query algorithm that handles duration queries
5879         correctly.
5880
5881         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5882         (gst_element_get_state_func), (gst_element_abort_state),
5883         (gst_element_commit_state), (gst_element_lost_state):
5884         Some more debugging.
5885
5886         * gst/gstmessage.h:
5887         Added doc.
5888
5889 2005-10-25  Wim Taymans  <wim@fluendo.com>
5890
5891         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5892         Don't use invalid stream_time.
5893
5894         * gst/gstevent.c: (gst_event_new_newsegment):
5895         stream_time in newsegment cannot be undefined.
5896
5897 2005-10-24  Wim Taymans  <wim@fluendo.com>
5898
5899         * gst/gstbus.c:
5900         Doc fix.
5901
5902         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5903         (gst_queue_loop):
5904         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5905
5906 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
5907
5908         * docs/libs/tmpl/gstdparam.sgml:
5909         * docs/libs/tmpl/gstdplinint.sgml:
5910         * docs/libs/tmpl/gstdpman.sgml:
5911         * docs/libs/tmpl/gstdpsmooth.sgml:
5912         * docs/libs/tmpl/gstunitconvert.sgml:
5913           these are obsolete
5914
5915 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5916
5917         * configure.ac:
5918           back to HEAD
5919
5920 === release 0.9.4 ===
5921
5922 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5923
5924         * configure.ac:
5925           releasing 0.9.4, "Tyrannosaurus Rex"
5926
5927 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
5928
5929         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5930         (gst_file_sink_get_current_offset):
5931           Use fseeko() and ftello() if available. When falling back on
5932           lseek() to get the current offset, fflush() first to make sure
5933           everything is up-to-date and we get the right offset.
5934
5935 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5936
5937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5938         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5939         * gst/gsterror.c: (_gst_stream_errors_init):
5940         * gst/gsterror.h:
5941         * gst/gstqueue.c: (gst_queue_loop):
5942         * po/POTFILES.in:
5943           remove prematurely added error category and clean up the instances
5944
5945 2005-10-21  Wim Taymans  <wim@fluendo.com>
5946
5947         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5948         (gst_base_sink_get_position), (gst_base_sink_query),
5949         (gst_base_sink_change_state):
5950         Simply set the right flag when going to playing, that's all
5951         we need to do instead of calling a function inside the object
5952         lock (that could take the lock as well and deadlock)
5953
5954 2005-10-21  Wim Taymans  <wim@fluendo.com>
5955
5956         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5957         (gst_base_src_loop):
5958         Don't warn, the peer element knows what to do best when
5959         the seek failed, it might try something else.
5960
5961 2005-10-21  Wim Taymans  <wim@fluendo.com>
5962
5963         * gst/base/gstbasesrc.c: (gst_base_src_init),
5964         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5965         Fix seeking.
5966
5967 2005-10-21  Wim Taymans  <wim@fluendo.com>
5968
5969         * docs/design/part-segments.txt:
5970         More docs.
5971
5972         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5973         Correctly set caps, even on the subbufer.
5974
5975 2005-10-21  Wim Taymans  <wim@fluendo.com>
5976
5977         * docs/gst/gstreamer-docs.sgml:
5978         * docs/gst/gstreamer-sections.txt:
5979         * gst/gstelement.h:
5980         * gst/gstevent.c:
5981         * gst/gstevent.h:
5982         * gst/gstmessage.h:
5983         * gst/gstpad.h:
5984         * gst/gstparse.h:
5985         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5986         * gst/gsttask.h:
5987         * gst/gstutils.c:
5988         * gst/gstutils.h:
5989         And 2% more doc coverage.
5990
5991 2005-10-21  Andy Wingo  <wingo@pobox.com>
5992
5993         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5994         position reporting.
5995
5996 2005-10-20  Wim Taymans  <wim@fluendo.com>
5997
5998         * gst/gsterror.c: (gst_error_get_message):
5999         * gst/gstparse.h:
6000         * gst/gstquery.h:
6001         * gst/gststructure.c:
6002         * gst/gsttrace.c:
6003         * gst/gstutils.c:
6004         More docs.
6005
6006 2005-10-20  Wim Taymans  <wim@fluendo.com>
6007
6008         * gst/gstbuffer.h:
6009         * gst/gstpad.c:
6010         * gst/gstparse.c:
6011         Another 1% more coverage.
6012
6013 2005-10-20  Wim Taymans  <wim@fluendo.com>
6014
6015         * docs/gst/gstreamer-sections.txt:
6016         * gst/gstelement.c: (gst_element_get_state_func),
6017         (gst_element_abort_state), (gst_element_commit_state),
6018         (gst_element_lost_state):
6019         * gst/gstevent.h:
6020         * gst/gstquery.c: (gst_query_set_position),
6021         (gst_query_parse_position), (gst_query_set_duration),
6022         (gst_query_parse_duration), (gst_query_new_convert):
6023         * gst/gstutils.c:
6024         Yay! 1% more docs coverage.
6025
6026 2005-10-20  Wim Taymans  <wim@fluendo.com>
6027
6028         * gst/gstpad.h:
6029         * gst/gstquery.c: (gst_query_set_position),
6030         (gst_query_parse_position), (gst_query_set_duration),
6031         (gst_query_parse_duration), (gst_query_new_convert):
6032         * gst/gstquery.h:
6033         * gst/gstutils.c: (gst_element_query_convert):
6034         * gst/gstutils.h:
6035         Docs and consistency fixes.
6036
6037 2005-10-20  Wim Taymans  <wim@fluendo.com>
6038
6039         * gst/gsttask.c:
6040         * gst/gsttask.h:
6041         More docs.
6042
6043 2005-10-20  Wim Taymans  <wim@fluendo.com>
6044
6045         * gst/gstbin.c: (message_check), (bin_replace_message),
6046         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6047         (update_degree), (gst_bin_sort_iterator_next),
6048         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
6049         Reworked the message handling a bit, cache the messages instead of
6050         only the senders. alows us to do more in the future.
6051
6052 2005-10-20  Wim Taymans  <wim@fluendo.com>
6053
6054         * docs/design/part-TODO.txt:
6055         Update TODO
6056
6057         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6058         (gst_base_sink_query):
6059         Don't use clock time to report position when in EOS.
6060
6061 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
6062
6063         * tools/gst-inspect.c: (print_interfaces),
6064         (print_element_properties_info), (print_element_info):
6065           Fix interface output with gst-inspect -a; don't print
6066           newlines after double/float properties.
6067
6068 2005-10-20  Wim Taymans  <wim@fluendo.com>
6069
6070         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6071         (gst_base_sink_query):
6072         Speed up current position calculation.
6073
6074         * gst/base/gstbasesrc.c: (gst_base_src_query),
6075         (gst_base_src_default_newsegment):
6076         Correctly set stream position in newsegment.
6077
6078         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
6079         (update_degree), (gst_bin_sort_iterator_next),
6080         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
6081         * gst/gstmessage.c: (gst_message_new_custom):
6082         Clean up debugging info
6083
6084         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6085         (gst_queue_loop), (gst_queue_handle_src_query):
6086         Pause task faster.
6087
6088 2005-10-19  Wim Taymans  <wim@fluendo.com>
6089
6090         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6091         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6092         Fix query handling again.
6093
6094 2005-10-19  Wim Taymans  <wim@fluendo.com>
6095
6096         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6097         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6098         * gst/base/gstbasesrc.c: (gst_base_src_query):
6099         * gst/elements/gstfilesink.c: (gst_file_sink_query):
6100         * gst/elements/gsttypefindelement.c:
6101         (gst_type_find_handle_src_query), (find_element_get_length),
6102         (gst_type_find_element_activate):
6103         API change fix.
6104
6105         * gst/gstquery.c: (gst_query_new_position),
6106         (gst_query_set_position), (gst_query_parse_position),
6107         (gst_query_new_duration), (gst_query_set_duration),
6108         (gst_query_parse_duration), (gst_query_set_segment),
6109         (gst_query_parse_segment):
6110         * gst/gstquery.h:
6111         Bundling query position/duration is not a good idea since duration
6112         does not change much and we don't want to recalculate it for every
6113         position query, so they are separated again..
6114         Base value in segment query is not needed.
6115
6116         * gst/gstqueue.c: (gst_queue_handle_src_query):
6117         * gst/gstutils.c: (gst_element_query_position),
6118         (gst_element_query_duration), (gst_pad_query_position),
6119         (gst_pad_query_duration):
6120         * gst/gstutils.h:
6121         Updates for query API change.
6122         Added some docs here and there.
6123
6124 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6125
6126         * check/gst/gstbin.c: (GST_START_TEST):
6127         * check/gst/gstghostpad.c: (GST_START_TEST):
6128         * check/pipelines/cleanup.c: (GST_START_TEST):
6129           wait on thread to die so we can check refcount correctly
6130
6131 2005-10-18  Wim Taymans  <wim@fluendo.com>
6132
6133         * check/pipelines/stress.c: (GST_START_TEST):
6134         Make check a little more time consuming.
6135
6136 2005-10-18  Wim Taymans  <wim@fluendo.com>
6137
6138         * check/Makefile.am:
6139         * check/pipelines/stress.c: (GST_START_TEST),
6140         (simple_launch_lines_suite), (main):
6141         Small state change torture test.
6142
6143         * docs/design/part-states.txt:
6144         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6145         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
6146         (gst_base_sink_change_state):
6147         Never take state lock from streaming thread, clean up ugly
6148         hacks. Unfortunatly core does not yet support nice ways to
6149         async commit state.
6150         
6151         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
6152         (bin_bus_handler):
6153         Start state recalc if a STATE_DIRTY message is posted, but only
6154         on the toplevel bin.
6155
6156         * gst/gstelement.c: (gst_element_sync_state_with_parent),
6157         (gst_element_get_state_func), (gst_element_abort_state),
6158         (gst_element_commit_state), (gst_element_lost_state),
6159         (gst_element_set_state_func), (gst_element_change_state):
6160         * gst/gstelement.h:
6161         State variables are now protected with the LOCK, the state
6162         lock is only used to serialize _set_state().
6163
6164 2005-10-18  Wim Taymans  <wim@fluendo.com>
6165
6166         * check/gst/gstbin.c: (GST_START_TEST):
6167         * check/gst/gstmessage.c: (GST_START_TEST):
6168         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6169         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
6170         (bin_bus_handler):
6171         * gst/gstelement.c: (gst_element_abort_state),
6172         (gst_element_commit_state), (gst_element_lost_state):
6173         * gst/gstmessage.c: (gst_message_new_state_changed),
6174         (gst_message_new_state_dirty), (gst_message_new_segment_start),
6175         (gst_message_new_segment_done), (gst_message_new_duration),
6176         (gst_message_parse_state_changed),
6177         (gst_message_parse_segment_start),
6178         (gst_message_parse_segment_done), (gst_message_parse_duration):
6179         * gst/gstmessage.h:
6180         * tools/gst-launch.c: (event_loop):
6181         Seriously, this is better than a previous commit as we only need
6182         to notify the fact that an element changed state in a streaming
6183         thread, marking the state of the parents dirty, hence the 
6184         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
6185         message.
6186
6187 2005-10-18  Wim Taymans  <wim@fluendo.com>
6188
6189         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6190         (gst_bin_recalc_func):
6191         * gst/gstelement.c: (gst_element_set_clock),
6192         (gst_element_abort_state), (gst_element_lost_state):
6193         Cleanups, prepare for state change fixes.
6194
6195 2005-10-18  Wim Taymans  <wim@fluendo.com>
6196
6197         * gst/gstbin.h:
6198         * gst/gstelement.c: (gst_element_class_init),
6199         (gst_element_set_state), (gst_element_set_state_func):
6200         * gst/gstelement.h:
6201         Pending ABI changes.
6202         GThreadPool in GstBinClass to monitor async state changes.
6203         state_cookie in GstElement to detect concurrent gst/set state.
6204         set_state is now virtual too in case a very complicated element
6205         has to be constructed.
6206
6207 2005-10-18  Wim Taymans  <wim@fluendo.com>
6208
6209         * check/gst/gstbin.c: (GST_START_TEST):
6210         * check/gst/gstmessage.c: (GST_START_TEST):
6211         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6212         * gst/gstbin.c: (bin_bus_handler):
6213         * gst/gstelement.c: (gst_element_commit_state),
6214         (gst_element_lost_state):
6215         * gst/gstmessage.c: (gst_message_new_state_changed),
6216         (gst_message_new_segment_start), (gst_message_new_segment_done),
6217         (gst_message_new_duration), (gst_message_parse_state_changed),
6218         (gst_message_parse_segment_start),
6219         (gst_message_parse_segment_done), (gst_message_parse_duration):
6220         * gst/gstmessage.h:
6221         * tools/gst-launch.c: (event_loop):
6222         Make messages future proof.
6223         state-change gets a flag if it was a message comming from the
6224         streaming thread.
6225         segment-start/stop can also be specified in other formats.
6226         A message to notify an app that a pipeline changed playback 
6227         duration.
6228         Also fix a GstMessage leak in -launch
6229
6230 2005-10-18  Andy Wingo  <wingo@pobox.com>
6231
6232         * gst/gstelement.c (gst_element_dispose): More helpful message.
6233
6234 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6235
6236         reviewed by: <delete if not using a buddy>
6237
6238         * common/gtk-doc.mak:
6239
6240 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6241
6242         * gst/gstregistry.c: (gst_registry_scan_path_level):
6243           unref a plug-in we get that was already initialized
6244
6245 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
6246
6247         * docs/gst/gstreamer-sections.txt:
6248         * docs/libs/gstreamer-libs-sections.txt:
6249         * gst/gstelement.h:
6250           add new api entries
6251           hide internal macro
6252
6253 2005-10-17  Andy Wingo  <wingo@pobox.com>
6254
6255         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
6256         cleanup.
6257
6258         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
6259
6260         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
6261
6262         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
6263         (gst_element_get_state_func): Better debug message.
6264         (gst_element_commit_state): s/INFO/DEBUG/.
6265         (gst_element_lost_state, gst_element_change_state): 
6266
6267         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
6268         (gst_message_new_custom): s/INFO/LOG/.
6269
6270 2005-10-17  Michael Smith <msmith@fluendo.com>
6271
6272         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6273           Check if end time is valid using end time, not start time.
6274
6275 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
6276
6277         * check/gst-libs/controller.c: (GST_START_TEST),
6278         (gst_controller_suite):
6279         * libs/gst/controller/gstcontroller.c:
6280         (gst_controlled_property_set_interpolation_mode):
6281         * libs/gst/controller/gstcontroller.h:
6282         * libs/gst/controller/gstinterpolation.c:
6283         * testsuite/controller/.cvsignore:
6284         * testsuite/controller/Makefile.am:
6285         * testsuite/controller/interpolator.c:
6286           merge controller testsuites
6287           fix broken tests
6288           remove mem-chunk from docs
6289
6290 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6291
6292         * gst/gstmemchunk.c:
6293         * gst/gstmemchunk.h:
6294         * gst/gsttrashstack.c:
6295         * gst/gsttrashstack.h:
6296           out.  get out.  you're fired.  to the Attic !
6297
6298 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6299
6300         * gst/gstcaps.c: (gst_caps_intersect):
6301           fix signedness issues in a (hopefully) correct way
6302         * gst/gstelement.c: (gst_element_pads_activate):
6303           some debugging
6304         * gst/gstobject.c: (gst_object_set_parent):
6305           some debugging
6306
6307 2005-10-17  Julien MOUTTE  <julien@moutte.net>
6308
6309         * gst/gstvalue.h: Fix prototypes.
6310
6311 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6312
6313         * docs/gst/gstreamer-sections.txt:
6314         * gst/gst.c: (gst_version_string):
6315         * gst/gst.h:
6316         * gst/gstversion.h.in:
6317         * win32/common/libgstreamer.def:
6318           add gst_version_string ()
6319
6320 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6321
6322         * configure.ac:
6323           clean up further
6324         * gst/gst.c: (init_post):
6325         * win32/common/config.h.in:
6326           it's PLUGINDIR now
6327         * gst/gstcaps.c: (gst_caps_intersect):
6328           use gint64, the range could be bigger than a guint
6329
6330 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6331
6332         * gst/gstclock.h:
6333           document potential problem in 2038
6334
6335 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6336
6337         * gst/gstcaps.c: (gst_caps_intersect):
6338           Fix guint j diving under 0
6339
6340 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6341
6342         * configure.ac:
6343         * win32/common/config.h:
6344         * win32/common/config.h.in:
6345           check for process.h, declares getpid() on Windows
6346         * gst/gstinfo.c:
6347           include process.h if we have it
6348         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
6349         * gst/gstmemchunk.h:
6350           fix signedness issues
6351         * win32/common/libgstreamer.def:
6352           fix get_type's
6353
6354 2005-10-16  Julien MOUTTE  <julien@moutte.net>
6355
6356         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
6357         fix. Because of unsigned ints, caps intersection was going nuts and
6358         trying to access structures with G_MAXUINT index. That fixes
6359         videotestsrc ! ffmpegcolorspace ! fakesink
6360         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
6361         consistency.
6362
6363 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6364
6365         * configure.ac:
6366           use the gettext macro
6367         * gst/elements/gstelements.c:
6368         * gst/gst.c:
6369         * gst/indexers/gstindexers.c:
6370           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
6371         * win32/common/config.h:
6372           updated config.h
6373         * win32/common/config.h.in:
6374           add the template to generate config.h
6375         * win32/common/gstenumtypes.c:
6376         * win32/common/gstversion.h:
6377           updated copies
6378
6379 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6380
6381         * gst/gst.c: (gst_version):
6382         * gst/gstversion.h.in:
6383           add the nano
6384
6385 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6386
6387         * gst/gstevent.h:
6388           Oops, add missing closing bracket.
6389
6390 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6391
6392         * configure.ac:
6393           use common m4's for argument checking
6394
6395 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6396
6397         * docs/gst/gstreamer-sections.txt:
6398         * gst/gstevent.h:
6399           Add GST_EVENT_TYPE_NAME() macro.
6400
6401 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6402
6403         * gst/gstinfo.c:
6404         * gst/gstpluginfeature.c:
6405         * gst/gsttask.c:
6406           privatize more symbols
6407
6408 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6409
6410         * configure.ac:
6411           add srcdir, builddir includes to GST_ALL_CFLAGS, since
6412           everything that uses GStreamer API should have the includes
6413
6414 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6415
6416         * docs/gst/gstreamer-sections.txt:
6417         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6418         * gst/gstvalue.h:
6419           give each value a _get_type, removes the DATA exports
6420
6421 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6422
6423         * gst/gst.c:
6424         * gst/gst.h:
6425           remove _gst_registry_auto_load, not used anymore
6426         * gst/gstbin.c: (gst_bin_get_type):
6427         * gst/gstbin.h:
6428         * gst/gstelement.c: (gst_element_get_type):
6429         * gst/gstelement.h:
6430         * gst/gstobject.c: (gst_object_get_type):
6431         * gst/gstobject.h:
6432         * gst/gstpad.c: (gst_pad_get_type):
6433         * gst/gstpad.h:
6434           make _get_type functions similar, fixes data export from library
6435
6436 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6437
6438         * configure.ac:
6439           correctly make conditionals
6440         * gst/elements/Makefile.am:
6441         * gst/elements/gstelements.c:
6442           fix typo causing fdsrc not to build
6443
6444 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6445
6446         * testsuite/Makefile.am:
6447         * testsuite/bytestream/.cvsignore:
6448         * testsuite/bytestream/Makefile.am:
6449         * testsuite/bytestream/filepadsink.c:
6450         * testsuite/bytestream/gstbstest.c:
6451         * testsuite/bytestream/test1.c:
6452         * testsuite/bytestream/testfile1:
6453         * testsuite/caps/normalisation.c:
6454         * testsuite/caps/random.c: (main):
6455         * testsuite/cleanup/.cvsignore:
6456         * testsuite/cleanup/Makefile.am:
6457         * testsuite/cleanup/cleanup1.c:
6458         * testsuite/cleanup/cleanup2.c:
6459         * testsuite/cleanup/cleanup3.c:
6460         * testsuite/cleanup/cleanup4.c:
6461         * testsuite/cleanup/cleanup5.c:
6462         * testsuite/controller/interpolator.c:
6463         * testsuite/debug/printf_extension.c: (main):
6464         * testsuite/elements/tee.c:
6465         * testsuite/negotiation/.cvsignore:
6466         * testsuite/negotiation/Makefile.am:
6467         * testsuite/negotiation/pad_link.c:
6468         * testsuite/pad/Makefile.am:
6469         * testsuite/pad/chainnopull.c:
6470         * testsuite/pad/getnopush.c:
6471         * testsuite/pad/link.c:
6472         * testsuite/refcounting/sched.c: (create_pipeline):
6473         * testsuite/registry/Makefile.am:
6474         * testsuite/registry/gst-print-formats.c:
6475         * testsuite/schedulers/.cvsignore:
6476         * testsuite/schedulers/142183-2.c:
6477         * testsuite/schedulers/142183.c:
6478         * testsuite/schedulers/143777-2.c:
6479         * testsuite/schedulers/143777.c:
6480         * testsuite/schedulers/147713.c:
6481         * testsuite/schedulers/147819.c:
6482         * testsuite/schedulers/147894-2.c:
6483         * testsuite/schedulers/147894.c:
6484         * testsuite/schedulers/Makefile.am:
6485         * testsuite/schedulers/group_link.c:
6486         * testsuite/schedulers/queue_link.c:
6487         * testsuite/schedulers/relink.c:
6488         * testsuite/schedulers/unlink.c:
6489         * testsuite/schedulers/unref.c:
6490         * testsuite/schedulers/useless_iteration.c:
6491         * testsuite/states/bin.c:
6492           clean out/remove some stuff from the testsuite directories
6493
6494 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6495
6496         * configure.ac:
6497           check for some headers
6498         * gst/elements/Makefile.am:
6499         * gst/elements/gstelements.c:
6500           don't compile fdsrc without sys/socket.h
6501         * gst/indexers/Makefile.am:
6502         * gst/indexers/gstindexers.c: (plugin_init):
6503           don't compile fileindex without mmap
6504
6505 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6506
6507         * configure.ac:
6508           reorganize
6509           clean up
6510           document more
6511           remove cruft
6512         * check/Makefile.am:
6513         * docs/gst/Makefile.am:
6514         * examples/helloworld/Makefile.am:
6515         * gst/Makefile.am:
6516         * gst/base/Makefile.am:
6517         * gst/check/Makefile.am:
6518         * gst/elements/Makefile.am:
6519         * gst/indexers/Makefile.am:
6520         * gst/parse/Makefile.am:
6521         * libs/gst/controller/Makefile.am:
6522         * libs/gst/dataprotocol/Makefile.am:
6523         * examples/helloworld/helloworld.c: (event_loop):
6524           compile fixes, though it's not being compiled currently
6525
6526 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6527
6528         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
6529           Add some simple tests for the new taglist date API.
6530
6531 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6532
6533         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
6534         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
6535           Beautify 'last-message' output: print 'none' for buffer timestamps
6536           and durations if none is set; improve alignment with next messages.
6537
6538 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6539
6540         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
6541         * gst/gstpluginfeature.h:
6542         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
6543         * gst/gstregistry.h:
6544         * docs/gst/gstreamer-sections.txt:
6545           Add new API to check plugin feature version requirements.
6546
6547         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
6548           Some basic tests for the above.         
6549
6550 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6551
6552         * gst/gststructure.c: (gst_structure_to_string):
6553           guard against NULL printf - happens when for example
6554           a message structure with GstClock gets serialized
6555
6556 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6557
6558         * gst/base/gstcollectpads.c: (gst_collectpads_event):
6559           Fix presumable copy'n'pasto.
6560
6561 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6562
6563         * gst/elements/gstfakesrc.h:
6564         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
6565         * gst/elements/gsttypefindelement.c:
6566           fix some signedness
6567         * gst/elements/gstfilesink.c: (gst_file_sink_render):
6568           I wonder if this could actually write +2GB files before
6569
6570 2005-10-13  Andy Wingo  <wingo@pobox.com>
6571
6572         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
6573         Fix Timmeke Waymans bug.
6574         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
6575         string of the proper length to gst_caps_from_string. There's a
6576         potential for, before this fix, that this could cause someone
6577         connecting over the network to cause a segfault if the payload is
6578         not NUL-terminated.
6579
6580 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
6581
6582         * docs/design/draft-push-pull.txt:
6583         * docs/design/part-overview.txt:
6584         * docs/random/TODO-pre-0.9:
6585         * docs/random/old/ChangeLog.gstreamer:
6586         * gst/base/gstpushsrc.c:
6587         * gst/gstclock.c:
6588           fixed typos
6589
6590 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6591
6592         * gst/glib-compat.c: (gst_flags_get_first_value):
6593         * gst/glib-compat.h:
6594         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
6595         (gst_value_compare_double), (gst_value_serialize_flags):
6596           GLib 2.6 g_flags_get_first_value has a bug that triggers an
6597           infinite loop
6598
6599 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6600
6601         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6602         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6603           fix up debugging
6604         * tools/gst-launch.c: (event_loop):
6605           print out clock nicely
6606
6607 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6608
6609         * docs/gst/gstreamer-sections.txt:
6610         * gst/gsttaglist.h:
6611         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
6612         (gst_tag_list_get_date_index):
6613           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
6614           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
6615
6616 2005-10-13  Julien MOUTTE  <julien@moutte.net>
6617
6618         * gst/base/gstcollectpads.c: (gst_collectpads_event),
6619         (gst_collectpads_chain):
6620         * gst/base/gstcollectpads.h: Handle newsegment and store informations
6621         in CollectData.
6622
6623 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
6624
6625         * docs/gst/gstreamer-sections.txt:
6626         * gst/gst.c:
6627         * gst/gsterror.h:
6628         * tools/gst-inspect.c: (main):
6629         * tools/gst-launch.c: (main):
6630         * tools/gst-run.c: (main):
6631         * tools/gst-xmlinspect.c: (main):
6632           fix GOption context leaks
6633           doc fixes
6634
6635 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6636
6637         * gst/gstbus.c:
6638           use HAVE_UNISTD_H
6639         * win32/common/config.h:
6640           update config
6641         * win32/vs6/grammar.dsp:
6642         * win32/vs6/libgstelements.dsp:
6643         * win32/vs6/libgstreamer.dsp:
6644           update vs6 files
6645
6646 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6647
6648         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6649         * gst/base/gstbasesrc.c: (gst_base_src_query):
6650           fix more guint64<->gdouble conversions
6651
6652 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6653
6654         * Makefile.am:
6655           add win32-update target
6656         * win32/common/gstconfig.h:
6657         * win32/common/gstenumtypes.c:
6658         * win32/common/gstenumtypes.h:
6659         * win32/common/gstversion.h:
6660           add files that visual studio can't generate
6661
6662 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6663
6664         * Makefile.am:
6665           add a win32-update target
6666         * configure.ac:
6667
6668 2005-10-12  Wim Taymans  <wim@fluendo.com>
6669
6670         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6671         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
6672         * gst/gstelement.c: (gst_element_commit_state),
6673         (gst_element_set_state):
6674         Protect flags with proper lock.
6675         unref provided cached clock in dispose.
6676
6677 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6678
6679         * gst/gst.c:
6680         * gst/gstminiobject.h:
6681         * gst/gstpad.h:
6682         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
6683           removed unused flags from miniobject
6684           doc fixes
6685
6686 2005-10-12  Wim Taymans  <wim@fluendo.com>
6687
6688         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6689         (gst_file_sink_event), (gst_file_sink_render):
6690         Flush before seeking.
6691
6692 2005-10-12  Andy Wingo  <wingo@pobox.com>
6693
6694         * gst/gst.c (gst_init_check): Ignore unknown options, as has
6695         always been the case.
6696
6697 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6698
6699         * check/gst/gstbin.c: (GST_START_TEST):
6700         * docs/gst/gstreamer-sections.txt:
6701         * gst/base/gstbasesink.c: (gst_base_sink_init):
6702         * gst/base/gstbasesrc.c: (gst_base_src_init),
6703         (gst_base_src_get_range), (gst_base_src_check_get_range),
6704         (gst_base_src_start), (gst_base_src_stop):
6705         * gst/base/gstbasesrc.h:
6706         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
6707         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6708         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
6709         (bin_bus_handler):
6710         * gst/gstbin.h:
6711         * gst/gstbuffer.h:
6712         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
6713         * gst/gstbus.h:
6714         * gst/gstelement.c: (gst_element_is_locked_state),
6715         (gst_element_set_locked_state), (gst_element_commit_state),
6716         (gst_element_set_state):
6717         * gst/gstelement.h:
6718         * gst/gstindex.c: (gst_index_init):
6719         * gst/gstindex.h:
6720         * gst/gstminiobject.h:
6721         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
6722         (gst_object_set_parent):
6723         * gst/gstobject.h:
6724         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
6725         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
6726         * gst/gstpad.h:
6727         * gst/gstpadtemplate.h:
6728         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
6729         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6730         * gst/gstpipeline.h:
6731         * gst/indexers/gstfileindex.c: (gst_file_index_load),
6732         (gst_file_index_commit):
6733         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6734         * testsuite/pad/link.c: (gst_test_src_init),
6735         (gst_test_filter_init), (gst_test_sink_init):
6736         * testsuite/states/locked.c: (main):
6737           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
6738           moved bitshift from macro to enum definition
6739
6740 2005-10-12  Wim Taymans  <wim@fluendo.com>
6741
6742         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
6743         * gst/elements/gstfilesink.c: (gst_file_sink_event),
6744         (gst_file_sink_render):
6745         Some more debugging info.
6746
6747 2005-10-12  Wim Taymans  <wim@fluendo.com>
6748
6749         * docs/design/part-states.txt:
6750         * tools/gst-launch.c: (main):
6751         Some doc updates.
6752         Revert non-intentional change.
6753
6754 2005-10-12  Wim Taymans  <wim@fluendo.com>
6755
6756         * check/gst/gstbin.c: (GST_START_TEST):
6757         * check/gst/gstelement.c: (GST_START_TEST):
6758         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
6759         * check/gst/gstghostpad.c: (GST_START_TEST):
6760         * check/gst/gstpipeline.c: (GST_START_TEST):
6761         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6762         * check/states/sinks.c: (GST_START_TEST):
6763         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6764         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6765         (gst_bin_remove_func), (gst_bin_get_state_func),
6766         (gst_bin_recalc_state), (gst_bin_change_state_func),
6767         (bin_bus_handler):
6768         * gst/gstelement.c: (gst_element_get_state_func),
6769         (gst_element_get_state), (gst_element_abort_state),
6770         (gst_element_commit_state), (gst_element_set_state),
6771         (gst_element_change_state), (gst_element_change_state_func):
6772         * gst/gstelement.h:
6773         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
6774         (gst_pipeline_provide_clock_func):
6775         * gst/gstutils.c: (gst_element_link_pads_filtered):
6776         * tools/gst-launch.c: (main):
6777         * tools/gst-typefind.c: (main):
6778         Use GstClockTime in _get_state() instead of GTimeVal.
6779         Remove old code in gstutils.c
6780
6781 2005-10-12  Andy Wingo  <wingo@pobox.com>
6782
6783         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
6784         removed.
6785
6786         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
6787         there is no task. Shouldn't affect any code, as nothing in our
6788         plugins checks this return value.
6789         (gst_pad_stop_task): Also take the stream lock if the pad has no
6790         task. Docs updated.
6791
6792 2005-10-12  Wim Taymans  <wim@fluendo.com>
6793
6794         * gst/gstpad.c: (pre_activate), (post_activate),
6795         (gst_pad_activate_pull), (gst_pad_activate_push):
6796         Cleanup activation code. Reset old state if
6797         activation failed.
6798
6799 2005-10-12  Wim Taymans  <wim@fluendo.com>
6800
6801         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6802         (gst_base_sink_change_state):
6803         No need to prerol after receiving EOS.
6804
6805         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6806         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
6807         * gst/elements/gstidentity.c: (gst_identity_event):
6808         Print events more verbosely.
6809
6810 2005-10-12  Wim Taymans  <wim@fluendo.com>
6811
6812         * check/Makefile.am:
6813         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6814         * check/states/sinks2.c:
6815         Moved sinks2 testcode in sinks check.
6816
6817         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6818         (gst_bin_remove_func), (gst_bin_recalc_state),
6819         (gst_bin_change_state_func), (bin_bus_handler):
6820         Fix potential race condition when _get_state() iterated over an
6821         ASYNC element right before it posted a state completion.
6822
6823         * gst/gstclock.h:
6824         Do proper cast here.
6825
6826         * gst/gstevent.c: (gst_event_new_newsegment),
6827         (gst_event_parse_newsegment):
6828         A playback rate of 0.0 is not allowed.
6829
6830 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6831
6832         * win32/common/config.h:
6833         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6834         (_trewinddir), (_ttelldir), (_tseekdir):
6835         * win32/common/dirent.h:
6836         * win32/common/gtchar.h:
6837         * win32/common/libgstbase.def:
6838         * win32/common/libgstreamer.def:
6839         * win32/vs6/grammar.dsp:
6840         * win32/vs6/gst_inspect.dsp:
6841         * win32/vs6/gst_launch.dsp:
6842         * win32/vs6/gstreamer.dsw:
6843         * win32/vs6/libgstbase.dsp:
6844         * win32/vs6/libgstelements.dsp:
6845         * win32/vs6/libgstreamer.dsp:
6846           Visual Studio 6 project files, and a new common directory.
6847           Phear.
6848
6849 2005-10-11  Wim Taymans  <wim@fluendo.com>
6850
6851         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6852         (gst_base_sink_do_sync), (gst_base_sink_query),
6853         (gst_base_sink_change_state):
6854         * gst/base/gstbasesink.h:
6855         Correctly parse newsegment info.
6856
6857 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6858
6859         * gst/gst.c: (init_post):
6860           split plugin paths correctly
6861
6862 2005-10-11  Wim Taymans  <wim@fluendo.com>
6863
6864         * check/gst/gstevent.c: (GST_START_TEST):
6865         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6866         (gst_base_sink_change_state):
6867         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6868         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6869         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6870         * gst/gstevent.c: (gst_event_new_newsegment),
6871         (gst_event_parse_newsegment):
6872         * gst/gstevent.h:
6873         Added extra flag to newsegment for future API freeze.
6874         Updated check and base elements.
6875
6876 2005-10-11  Julien MOUTTE  <julien@moutte.net>
6877
6878         * gst/base/gstcollectpads.c: (gst_collectpads_init),
6879         (gst_collectpads_add_pad), (gst_collectpads_pop),
6880         (gst_collectpads_event), (gst_collectpads_chain):
6881         * gst/base/gstcollectpads.h: Handle EOS correctly.
6882
6883 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6884
6885         * tools/gst-launch.c: (main):
6886           more null protecting
6887
6888 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6889
6890         * gst/gst-i18n-lib.h:
6891           check for ENABLE_NLS, not GETTEXT_PACKAGE
6892         * gst/gstregistry.c: (gst_registry_add_plugin),
6893         (gst_registry_scan_path_level),
6894         (_gst_registry_remove_cache_plugins):
6895           protect possibly NULL strings
6896         * gst/parse/types.h:
6897           config.h already included before
6898         * tools/gst-inspect.c: (main):
6899           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6900           check for ENABLE_NLS, not GETTEXT_PACKAGE
6901         * tools/gst-launch.c: (main):
6902           check for ENABLE_NLS, not GETTEXT_PACKAGE
6903
6904 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6905
6906         * configure.ac:
6907           if we don't have glib, fail before testing 2.8
6908         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6909           fix a leak, should fix plugins-base testsuite
6910
6911 2005-10-11  Andy Wingo  <wingo@pobox.com>
6912
6913         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6914         take the mode we're going to as an arg. Go head and set the mode
6915         and flushing flags now, so that if the activate function starts a
6916         thread all the flags will be in the right state.
6917         (post_activate): Renamed also. Just handle making sure streaming
6918         finishes for the deactivation case, and setting the deactivated
6919         mode.
6920         (gst_pad_set_active): Complain loudly if deactivation fails.
6921         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6922         (gst_pad_activate_push): Adapt to pre/post_activate changes,
6923         remove the terrible hack.
6924
6925 2005-10-11  Wim Taymans  <wim@fluendo.com>
6926
6927         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6928         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6929         (gst_bin_recalc_state), (gst_bin_change_state_func),
6930         (gst_bin_dispose), (bin_bus_handler):
6931         * gst/gstbin.h:
6932         Prepare to make current EOS message queue more generic.
6933         Fix some typos.
6934
6935         * gst/gstevent.c: (gst_event_new_newsegment),
6936         (gst_event_parse_newsegment):
6937         * gst/gstevent.h:
6938         Rename base to stream_time.
6939
6940         * gst/gstmessage.h:
6941         Fix typo in docs.
6942
6943 2005-10-11  Wim Taymans  <wim@fluendo.com>
6944
6945         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6946         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6947         (gst_bin_change_state_func), (bin_bus_handler):
6948         * gst/gstbin.h:
6949         Work on proper clock selection.
6950
6951 2005-10-11  Edward Hervey  <edward@fluendo.com>
6952
6953         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
6954         * libs/gst/controller/gstcontroller.h:
6955         Added GList* version of _remove_properties() in order to be able to wrap
6956         it in bindings.
6957
6958 2005-10-11  Wim Taymans  <wim@fluendo.com>
6959
6960         * docs/design/part-states.txt:
6961         Some more docs.
6962
6963         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6964         (gst_bin_change_state_func), (bin_bus_handler):
6965         Doc updates. Don't distribute the same clock over and over again.
6966
6967         * gst/gstclock.c:
6968         * gst/gstclock.h:
6969         Doc updates.
6970
6971         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6972         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6973         (gst_pad_send_event):
6974         * gst/gstpad.h:
6975         Make probe emission threadsafe again.
6976         Register quarks and move _get_name() from utils.
6977         Doc updates.
6978
6979         * gst/gstpipeline.c: (gst_pipeline_class_init),
6980         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6981         Only redistribute the clock of it changed.
6982
6983         * gst/gstsystemclock.h:
6984         Doc updates. 
6985
6986         * gst/gstutils.c:
6987         * gst/gstutils.h:
6988         Moved the _flow_get_name() to GstPad.
6989
6990 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6991
6992         * check/gst-libs/gdp.c: (GST_START_TEST):
6993         * check/gst/gstcaps.c: (GST_START_TEST):
6994         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6995         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6996         (gst_dp_packet_from_caps):
6997           fix more valgrind warnings before turning up the heat
6998
6999 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7000
7001         * gst/parse/grammar.y:
7002           some cleanup before the hacking
7003
7004 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7005
7006         * gst/base/gstbasesrc.c: (gst_base_src_query):
7007           use conversions
7008         * gst/gstutils.c: (gst_guint64_to_gdouble),
7009         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
7010         * gst/gstutils.h:
7011           externalize, basesrc uses it
7012           obviously the implementation needs testing
7013
7014 2005-10-10  Wim Taymans  <wim@fluendo.com>
7015
7016         * tests/sched/Makefile.am:
7017         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
7018         (make_pipeline3), (make_pipeline4), (print_elem), (main):
7019
7020 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7021
7022         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
7023           apparently converting from guint64 to double is not implemented
7024           on MSVC
7025
7026 2005-10-10  Wim Taymans  <wim@fluendo.com>
7027
7028         * check/Makefile.am:
7029         * check/generic/states.c: (GST_START_TEST):
7030         * check/gst/gstbin.c: (GST_START_TEST):
7031         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7032         * check/states/sinks.c: (GST_START_TEST):
7033         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
7034         (main):
7035         Check fixes, use API as stated in design docs, remove hacks.
7036
7037         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7038         (gst_base_sink_change_state):
7039         Catch stopping our task while we're shutting down.
7040
7041         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7042         (gst_bin_remove_func), (gst_bin_get_state_func),
7043         (gst_bin_recalc_state), (gst_bin_change_state_func),
7044         (bin_bus_handler):
7045         * gst/gstbin.h:
7046         * gst/gstelement.c: (gst_element_init),
7047         (gst_element_get_state_func), (gst_element_abort_state),
7048         (gst_element_commit_state), (gst_element_lost_state),
7049         (gst_element_set_state), (gst_element_change_state),
7050         (gst_element_change_state_func):
7051         * gst/gstelement.h:
7052         New state change algorithm (see #318116)
7053
7054         * gst/gstpipeline.c: (gst_pipeline_class_init),
7055         (gst_pipeline_init), (gst_pipeline_set_property),
7056         (gst_pipeline_get_property), (do_pipeline_seek),
7057         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7058         * gst/gstpipeline.h:
7059         Remove crude state change hacks.
7060
7061         * gst/gstutils.h:
7062         Remove crude hacks.
7063
7064         * tools/gst-launch.c: (main):
7065         Fixes for state change. Needs some more work to fully use the
7066         new stuff.
7067
7068 2005-10-10  Andy Wingo  <wingo@pobox.com>
7069
7070         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
7071
7072         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
7073         this flag, but it's not even in GLib 2.6. Odd. Hack around the
7074         issue.
7075
7076 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7077
7078         * gst/gstiterator.c: (gst_iterator_new):
7079           Fix my previous commit: GTypes passed to gst_iterator_new()
7080           can be fundamental types.
7081
7082 2005-10-10  Wim Taymans  <wim@fluendo.com>
7083
7084         * gst/gstelement.c: (gst_element_iterate_pad_list),
7085         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
7086         (gst_element_iterate_sink_pads):
7087         Use src/sink pads lists for the respective iterators instead
7088         of filtering.
7089
7090 2005-10-10  Andy Wingo  <wingo@pobox.com>
7091
7092         Merged in popt removal + GOption addition patch from Ronald, bug
7093         #169772.
7094
7095         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
7096         GstElement macros around, remove popt-related symbols, add goption
7097         stuff.
7098
7099         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
7100         
7101         * docs/gst/Makefile.am:
7102         * docs/libs/Makefile.am: No POPT_CFLAGS.
7103         
7104         * examples/manual/Makefile.am:
7105         * docs/manual/basics-init.xml: Doc updates with an example.
7106         
7107         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7108         (gst_init), (parse_one_option), (parse_goption_arg):
7109         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
7110         bit of hand merging and debugging to get the GOption stuff working
7111         tho.
7112         
7113         * tests/Makefile.am:
7114         * tools/Makefile.am:
7115         * tools/gst-inspect.c: (main):
7116         * tools/gst-launch.c: (main):
7117         * tools/gst-run.c: (main):
7118         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
7119
7120 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7121
7122         * gst/gstiterator.c: (gst_iterator_new):
7123           Add assertions to make sure passed GType is likely to really
7124           be a GType (as the compiler won't catch it if the size and
7125           GType arguments get mixed up, see #318447).
7126
7127 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
7128
7129         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7130
7131         * gst/gstbin.c: (gst_bin_iterate_sorted):
7132           Pass GType and size arguments to gst_iterator_new() in the right
7133           order (maybe we should make _new() take the GType as first argument
7134           just like _new_list()?) (#318447).
7135           
7136
7137 2005-10-10  Wim Taymans  <wim@fluendo.com>
7138
7139         * gst/gstelement.c: (gst_element_finalize):
7140         And free the GStaticRecMutex too
7141
7142 2005-10-10  Andy Wingo  <wingo@pobox.com>
7143
7144         * gst/gstelement.c (gst_element_init, gst_element_finalize):
7145         Allocate and free the mutex properly.
7146
7147         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
7148         New macros.
7149         (GstElement): The state_lock is now recursive. Rebuild your
7150         plugins, suckers. Old macros adapted.
7151
7152         * docs/gst/gstreamer-sections.txt: Doc updates.
7153
7154         * gst/gstutils.h:
7155         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
7156         (g_static_rec_cond_wait): Ported from state changes patch, while
7157         we wait on bug #317802 to be solved in a well-distributed GLib.
7158
7159         * gst/gstelement.c (gst_element_change_state_func): Renamed from
7160         gst_element_change_state, variable name changes.
7161         (gst_element_change_state): Split out of gst_element_set_state in
7162         preparation for the state change merge. Doesn't pay attention to
7163         the 'transition' argument.
7164         (gst_element_set_state): Updates, hopefully purely cosmetic.
7165         (gst_element_sync_state_with_parent): MT-safety. Ported from the
7166         state change patch.
7167         (gst_element_get_state_func): Renamed from get_state, cosmetic
7168         changes.
7169
7170 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7171
7172         * gst/elements/gstelements.c:
7173         * win32/GStreamer.vcproj:
7174         * win32/config.h:
7175         * win32/dirent.c: (_tseekdir):
7176         * win32/gst-inspect.vcproj:
7177         * win32/gst-launch.vcproj:
7178         * win32/gstconfig.h:
7179         * win32/gstelements.vcproj:
7180         * win32/gstenumtypes.c: (gst_object_flags_get_type):
7181         * win32/gstreamer.def:
7182         * win32/msvc71.sln:
7183           updates for the win32 build (patch from Sebastien Moutte)
7184
7185 2005-10-10  Andy Wingo  <wingo@pobox.com>
7186
7187         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
7188         gst_bin_get_state, cleaned up (but no logic changes).
7189         (bin_element_is_sink): Comment updates.
7190         (sink_iterator_filter): Remove needless cast.
7191         (gst_bin_iterate_sinks): Doc update.
7192         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
7193         cleaned up (but no logic changes).
7194
7195         * check/states/sinks.c (test_src_sink): Cleanups from the state
7196         change patch.
7197         (test_livesrc_sink): Sync on the state.
7198
7199         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
7200         the state change patch.
7201
7202         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
7203         change patch.
7204
7205         * check/gst/gstbin.c: Merge in some style fixes and additional
7206         checks from Wim's state change patch.
7207
7208 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7209
7210         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7211         (gst_type_find_helper):
7212           Check whether we have the requested data already in our list of
7213           cached buffers before pulling a new buffer; also make the buffer
7214           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
7215
7216 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7217
7218         * gst/gstcaps.c:
7219         * gst/gstevent.c:
7220           doc updates
7221         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7222           don't use long long, it's not portable.  Replacing with
7223           gint64 seems to work; let's hope no skeletons fall out of the closet.
7224
7225 2005-10-10  Andy Wingo  <wingo@pobox.com>
7226
7227         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
7228
7229 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
7230
7231         * docs/gst/gstreamer-sections.txt:
7232         * gst/gstevent.c:
7233         * gst/gstevent.h:
7234         * gst/gstinfo.c:
7235         * gst/gstinfo.h:
7236         * gst/gstmessage.c: (gst_message_parse_state_changed):
7237         * gst/gstpad.c:
7238         * gst/gstpad.h:
7239           more docs, fix compilation
7240
7241 2005-10-09  Philippe Khalaf <burger@speedy.org>
7242         * gst/gstmessage.c:
7243           Fixed a few forgotten variables on previous commit
7244
7245 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
7246
7247         * gst/base/gsttypefindhelper.c: (helper_find_peek):
7248           Fix evil typefind crasher: getrange() might return a short
7249           buffer at the end of a file, but gst_type_find_peek() must
7250           either return the full data as requested or NULL, but
7251           never a short buffer.
7252
7253 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7254
7255         * gst/gstmessage.c: (gst_message_new_state_changed),
7256         (gst_message_parse_state_changed):
7257         * gst/gstmessage.h:
7258           don't use "new", it's a C++ keyword
7259
7260 2005-10-08  Wim Taymans  <wim@fluendo.com>
7261
7262         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
7263         * gst/gstelement.c: (gst_element_post_message):
7264         * gst/gstpipeline.c: (gst_pipeline_change_state):
7265         Small docs and debug updates.
7266
7267 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7268
7269         * docs/gst/gstreamer-sections.txt:
7270         * gst/gstelementfactory.c:
7271         * gst/gstevent.c:
7272         * gst/gsttaglist.c:
7273           more docs
7274
7275 2005-10-08  Wim Taymans  <wim@fluendo.com>
7276
7277         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
7278         (gst_bin_dispose), (bin_bus_handler):
7279         Fix typos, add comments.
7280         Clear EOS list when going to PAUSED from any direction and do it
7281         in a threadsafe way.
7282         Get base time in a threadsafe way too.
7283         Fix confusing debug in the change_state function.
7284         Various other small cleanups.
7285         
7286         * gst/gstelement.c: (gst_element_post_message):
7287         Fix very verbose bus posting code.
7288
7289         * gst/gstpipeline.c: (gst_pipeline_class_init),
7290         (gst_pipeline_set_property), (gst_pipeline_get_property),
7291         (gst_pipeline_change_state):
7292         Small ARG_ -> PROP_ cleanup
7293
7294 2005-10-08  Wim Taymans  <wim@fluendo.com>
7295
7296         * gst/gstbin.c: (is_eos), (bin_bus_handler):
7297         Do a less CPU demanding EOS check because we can.
7298
7299 2005-10-08  Wim Taymans  <wim@fluendo.com>
7300
7301         * libs/gst/dataprotocol/dataprotocol.c:
7302         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7303         (gst_dp_packet_from_event):
7304         * libs/gst/dataprotocol/dataprotocol.h:
7305         * libs/gst/dataprotocol/dp-private.h:
7306         It's about time we bump the version number.
7307         Since event types don't fit in the guint8 anymore describing
7308         the payload type, make payload type 16 bits wide.
7309
7310 2005-10-08  Wim Taymans  <wim@fluendo.com>
7311
7312         * docs/design/part-TODO.txt:
7313         * docs/design/part-clocks.txt:
7314         * docs/design/part-events.txt:
7315         * docs/design/part-gstbin.txt:
7316         * docs/design/part-gstelement.txt:
7317         * docs/design/part-gstpipeline.txt:
7318         * docs/design/part-live-source.txt:
7319         * docs/design/part-messages.txt:
7320         * docs/design/part-overview.txt:
7321         * docs/design/part-states.txt:
7322         Many doc updates.
7323
7324 2005-10-08  Wim Taymans  <wim@fluendo.com>
7325
7326         * gst/gstevent.c:
7327         * gst/gstevent.h:
7328         Fix event quark registration.
7329         Add some space between events so we can insert them in the
7330         right groups.
7331
7332 2005-10-08  Wim Taymans  <wim@fluendo.com>
7333
7334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7335         (gst_base_sink_handle_buffer):
7336         Better log message.
7337
7338         * gst/gstbus.h:
7339         * gst/gstelement.h:
7340         More docs.
7341
7342         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
7343         (gst_queue_set_property), (gst_queue_get_property):
7344         * gst/gstqueue.h:
7345         Remove old unused properties.
7346
7347 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7348         * docs/gst/gstreamer-sections.txt:
7349         * gst/gstmessage.c:
7350         * gst/gstmessage.h:
7351         * gst/gstminiobject.c:
7352         * gst/gstminiobject.h:
7353         * gst/gstobject.h:
7354         * gst/gstpad.h:
7355         * gst/gstutils.h:
7356           lots of new docs and doc fixes
7357
7358 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7359
7360         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
7361         * gst/gstplugin.h:
7362         * gst/gstregistry.c: (gst_registry_lookup_locked),
7363         (gst_registry_scan_path_level):
7364         * gst/gstregistryxml.c: (load_plugin):
7365           Only ever load one plugin for a given plugin basename.
7366           This ensures correct overriding of GST_PLUGIN_PATH over
7367           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
7368           system installed plugins.
7369
7370 2005-10-08  Wim Taymans  <wim@fluendo.com>
7371
7372         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7373         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
7374         Prepare for doing QOS.
7375
7376 2005-10-08  Wim Taymans  <wim@fluendo.com>
7377
7378         * check/gst/gstbin.c: (GST_START_TEST):
7379         * check/pipelines/cleanup.c: (GST_START_TEST):
7380         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7381         Allow new clock message too.
7382
7383 2005-10-08  Wim Taymans  <wim@fluendo.com>
7384
7385         * gst/gstmessage.c: (gst_message_new_error),
7386         (gst_message_new_warning), (gst_message_new_tag),
7387         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7388         (gst_message_new_clock_lost), (gst_message_new_new_clock),
7389         (gst_message_new_segment_start), (gst_message_new_segment_done),
7390         (gst_message_parse_state_changed),
7391         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
7392         (gst_message_parse_new_clock):
7393         * gst/gstmessage.h:
7394         Also carry the clock in question.
7395
7396 2005-10-08  Wim Taymans  <wim@fluendo.com>
7397
7398         * gst/gstmessage.c: (gst_message_new_custom),
7399         (gst_message_new_eos), (gst_message_new_error),
7400         (gst_message_new_warning), (gst_message_new_tag),
7401         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7402         (gst_message_new_new_clock), (gst_message_new_segment_start),
7403         (gst_message_new_segment_done), (gst_message_parse_state_changed),
7404         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
7405         * gst/gstmessage.h:
7406         Clean up.
7407         Added clock related messages.
7408
7409         * gst/gstpipeline.c: (gst_pipeline_change_state):
7410         Post message when the clock changed.
7411
7412         * tools/gst-launch.c: (event_loop):
7413         Print new clock.
7414
7415 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7416
7417         * tools/gst-inspect.c: (print_element_properties_info):
7418           Can't pass NULL strings to g_print() on windows.
7419
7420 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7421
7422         * docs/Makefile.am:
7423         * docs/gst/Makefile.am:
7424         * docs/gst/gstreamer-docs.sgml:
7425         * docs/gst/running.xml:
7426         * docs/version.entities.in:
7427           add a chapter on running GStreamer.
7428           document GST_DEBUG and GST_PLUGIN* env vars
7429
7430 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7431
7432         * Makefile.am:
7433           remove include dir
7434         * configure.ac:
7435           remove PLUGINS_BUILDDIR stuff
7436         * gst/gst.c: (init_post):
7437           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
7438         * idiottest.mak:
7439           remove, it was condescending and not needed
7440
7441 2005-10-08  Wim Taymans  <wim@fluendo.com>
7442
7443         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7444         (gst_base_sink_handle_object), (gst_base_sink_event),
7445         (gst_base_sink_wait), (gst_base_sink_handle_event),
7446         (gst_base_sink_change_state):
7447         * gst/base/gstbasesink.h:
7448         Repost EOS message while going to PLAYING if still EOS.
7449         Make sure that when receiving a FLUSH_START we don't attempt
7450         to sync on the clock anymore.
7451
7452 2005-10-08  Wim Taymans  <wim@fluendo.com>
7453
7454         * tools/gst-launch.c: (event_loop):
7455         Better message printout.
7456
7457 2005-10-08  Wim Taymans  <wim@fluendo.com>
7458
7459         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
7460         (gst_bin_child_proxy_get_children_count):
7461         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7462         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
7463         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
7464         (gst_child_proxy_set_valist):
7465         * gst/parse/grammar.y:
7466         Make ChildProxy threadsafe and fix mem leaks.
7467
7468 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7469
7470         * gst/gst.c: (init_post):
7471           debug the GST_PLUGIN_ env vars
7472
7473 2005-10-08  Wim Taymans  <wim@fluendo.com>
7474
7475         * check/gst/gstbin.c: (GST_START_TEST):
7476         * check/gst/gstmessage.c: (GST_START_TEST):
7477         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7478         * gst/gstelement.c: (gst_element_commit_state),
7479         (gst_element_lost_state):
7480         * gst/gstmessage.c: (gst_message_new_state_changed),
7481         (gst_message_parse_state_changed):
7482         * gst/gstmessage.h:
7483         * tools/gst-launch.c: (event_loop):
7484         Added extra field to STATE_CHANGE message with the pending
7485         state, which will be different from the new state soon.
7486
7487 2005-10-08  Wim Taymans  <wim@fluendo.com>
7488
7489         * gst/gstbus.c: (gst_bus_pop):
7490         * gst/gstclock.c:
7491         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7492         Small cleanups and doc updates.
7493
7494 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7495
7496         * gst/gst.c: (init_pre):
7497         * gst/gstbin.c: (gst_bin_add_func):
7498           log distributing clocks and base time
7499         * gst/gstregistry.c: (gst_registry_add_plugin),
7500         (gst_registry_scan_path_level), (gst_registry_scan_path):
7501           clean up the debugging output a little
7502         * gst/gstutils.c: (gst_element_state_get_name):
7503           warn about a memleak (I've actually seen this be used, though
7504           it was probably a bug)
7505
7506 2005-10-07  Wim Taymans  <wim@fluendo.com>
7507
7508         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7509         (gst_base_src_init), (gst_base_src_default_newsegment),
7510         (gst_base_src_newsegment), (gst_base_src_do_seek),
7511         (gst_base_src_loop), (gst_base_src_start):
7512         * gst/base/gstbasesrc.h:
7513         Make the newsegment event customizable by subclasses.
7514
7515 2005-10-07  Wim Taymans  <wim@fluendo.com>
7516
7517         * gst/gstevent.c: (gst_event_new_buffersize),
7518         (gst_event_parse_buffersize):
7519         * gst/gstevent.h:
7520         New event for future idea.
7521
7522 2005-10-07  Andy Wingo  <wingo@pobox.com>
7523
7524         * gst/gstelement.c (gst_element_post_message): Doc update.
7525
7526         * docs/gst/gstreamer-sections.txt: Update.
7527
7528         * gst/gstmessage.c (gst_message_new_application): Made into a
7529         function like honest API calls.
7530         (gst_message_new_element): New message type.
7531
7532         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
7533
7534         * check/elements/fakesrc.c (test_no_preroll): New check, checks
7535         that setting a live fakesrc to PAUSED returns NO_PREROLL both
7536         times.
7537
7538         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
7539         NO_PREROLL from gst_element_change_state to fall through.
7540
7541 2005-10-07  Wim Taymans  <wim@fluendo.com>
7542
7543         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
7544         (gst_ghost_pad_do_activate_push):
7545         Activating a ghostpad with no internal pad in push mode
7546         is ok.
7547
7548 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7549
7550         * gst/gstobject.h:
7551           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
7552           Fixes compilation on Windows.
7553
7554 2005-10-07  Michael Smith <msmith@fluendo.com>
7555
7556         * tools/gst-inspect.c:
7557           Print out feature and plugin count at the end when printing out
7558           all features.
7559
7560 2005-10-04  Michael Smith <msmith@fluendo.com>
7561
7562         * gst/gsterror.c: (_gst_stream_errors_init):
7563           Add another error string used in a few existing plugins.
7564
7565         * gst/gstplugin.c:
7566         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7567         * tools/gst-inspect.c: (print_element_info):
7568           When a feature disappears from a plugin (and the feature exists in
7569           the cached registry file), things went horribly wrong. This isn't a
7570           complete fix, we should actually be removing the 'missing' features
7571           from the features list when we load the actual plugin. That's not
7572           yet implemented. 
7573
7574 2005-10-04  Johan Dahlin  <johan@gnome.org>
7575
7576         * check/gst/gstiterator.c: (GST_START_TEST):
7577         * gst/gstbin.c: (gst_bin_iterate_elements),
7578         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
7579         * gst/gstelement.c: (gst_element_iterate_pads):
7580         * gst/gstformat.c: (gst_format_iterate_definitions):
7581         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
7582         (gst_iterator_new_list), (gst_iterator_filter):
7583         * gst/gstiterator.h:
7584         * gst/gstquery.c: (gst_query_type_iterate_definitions):
7585         Add a GType to GstIterator, update callsites and tests.
7586
7587 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7588
7589         * gst/gstpad.c: (gst_pad_event_default_dispatch):
7590           give events a chance to be handled by event probes when the pad
7591           is not linked
7592
7593 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7594
7595         * gst/gstevent.c: (gst_event_type_get_name),
7596         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
7597         * gst/gstevent.h:
7598           add string representations for event types
7599
7600 2005-10-06  Wim Taymans  <wim@fluendo.com>
7601
7602         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
7603         Don't use NULL pointers.
7604
7605 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7606
7607         * gst/gst_private.h:
7608         * gst/gstbus.c:
7609         * gst/gstelement.c:
7610         * gst/gstinfo.c:
7611         * gst/gstpluginfeature.c:
7612           widen the debug category in output to fit the biggest one we have
7613           add a bus category and use it
7614           play with the colors
7615           fix up some categories
7616
7617 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7618
7619         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
7620           add push activation of sink ghost pads.
7621           Andye, please verify
7622
7623 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7624
7625         * gst/gstutils.c: (gst_element_link_pads):
7626           fix a bug in the case where neither element has a pad
7627         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7628           add a test for that case
7629
7630 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7631
7632         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
7633           emit have-data before checking for peers.  This allows
7634           for probe handlers to connect elements.  This helps autopluggers.
7635         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
7636         (gst_pad_suite):
7637           add six checks, linked/unlinked with no/true/false probe
7638
7639 2005-10-04  Wim Taymans  <wim@fluendo.com>
7640
7641         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
7642         (gst_fake_sink_event), (gst_fake_sink_preroll),
7643         (gst_fake_sink_render), (gst_fake_sink_change_state):
7644         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
7645         (gst_fake_src_get_property), (gst_fake_src_create),
7646         (gst_fake_src_stop):
7647         * gst/elements/gstidentity.c: (gst_identity_stop):
7648         Protect last_message with lock.
7649
7650 2005-10-04  Edward Hervey  <edward@fluendo.com>
7651
7652         * gst/gstformat.h: 
7653         Added precision in the comments for GST_FORMAT_DEFAULT
7654
7655 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
7656
7657         * tools/gst-launch.c: (main):
7658           Don't try to run erroneous pipelines.
7659
7660 2005-10-04  Julien MOUTTE  <julien@moutte.net>
7661
7662         * gst/gstbus.c: We don't need this header.
7663
7664 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7665
7666         * configure.ac:
7667           back to development
7668
7669 === release 0.9.3 ===
7670
7671 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7672
7673         * README:
7674         * configure.ac:
7675           Releasing 0.9.3, "Unregistered"
7676
7677 2005-10-03  Andy Wingo  <wingo@pobox.com>
7678
7679         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
7680         whereby calling a pad's activatepush() function can start a thread
7681         that starts to push or pull before the pad gets the FLUSHING flag
7682         unset. Hack around it by holding the stream lock until the flag is
7683         set. Need to replace this with a proper solution. Together with
7684         the ghost pad fixes, this fixes mp3 playing/tagreading.
7685
7686         * docs/design/part-gstghostpad.txt: Add a note about activation of
7687         proxy pads outside of ghost pads.
7688
7689         * gst/gstghostpad.c: Implement the ghost pad activation design.
7690
7691 2005-10-02  Andy Wingo  <wingo@pobox.com>
7692
7693         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
7694         It is volatile, after all.
7695
7696         * docs/design/part-gstghostpad.txt: Flesh out activation with
7697         ghost pads.
7698
7699         * gst/base/gstbasesrc.c (gst_base_src_init): Use
7700         GST_DEBUG_FUNCPTR.
7701
7702 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7703
7704         * configure.ac:
7705           Fix (unused) AM_CONDITIONAL tests.
7706
7707 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
7708
7709         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7710
7711         * gst/gstutils.c: (gst_pad_query_convert):
7712           Add assertion that makes sure src_val is >=0, just like
7713           gst_query_new_convert() has. (#315895)
7714
7715 2005-09-30  Edward Hervey  <edward@fluendo.com>
7716
7717         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
7718         Let's not iterate pads we're not interested in, it avoids getting 
7719         sky-high refcounts on sinkpad.
7720
7721 2005-09-30  Wim Taymans  <wim@fluendo.com>
7722
7723         * gst/gstelement.c: (gst_element_set_state),
7724         (gst_element_change_state):
7725         Small tweak, element in ASYNC remains ASYNC.
7726
7727 2005-09-30  Wim Taymans  <wim@fluendo.com>
7728
7729         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7730         Only error is an error.
7731
7732         * gst/gstbin.c: (gst_bin_change_state):
7733         Better debugging.
7734
7735         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
7736         Also call pad_block in pad alloc.
7737
7738         * gst/gstutils.c: (gst_flow_get_name):
7739         Better debugging.
7740
7741 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7742
7743         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7744         (gst_base_src_get_range):
7745           Fix documentation typos. Add some more debug info.
7746
7747 2005-09-29  David Schleef  <ds@schleef.org>
7748
7749         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
7750           more end-user friendly.
7751         * tools/gst-inspect.c: (main): Check if command-line argument is
7752           a file and attempt to load that file as a plugin.
7753
7754 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7755
7756         * check/gst/gstbin.c:
7757         * check/states/sinks.c:
7758           fix tests for the new warning
7759         * check/gst/gstpipeline.c:
7760           add a test for pipeline and bus interaction
7761         * gst/gstelement.c:
7762           elements should be NULL if they get disposed; add a warning if not
7763
7764 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7765
7766         * gst/gstobject.c:
7767           for 2.6 refcounting, make debug log more correct by printing
7768           the actual refcounts at the time of swap (Wim)
7769
7770 2005-09-29  Andy Wingo  <wingo@pobox.com>
7771
7772         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
7773         removes signal watches previously added via
7774         gst_bus_add_signal_watch.
7775         (gst_bus_add_signal_watch): Don't return the source id, just store
7776         it on the bus if there wasn't an id already.
7777
7778         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
7779         add_signal_watch and remove_signal_watch.
7780
7781 2005-09-29  Edward Hervey  <edward@fluendo.com>
7782
7783         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
7784         Better if we actually iterate the list :)
7785
7786 2005-09-29  Wim Taymans  <wim@fluendo.com>
7787
7788         * check/gst/gstbin.c: (GST_START_TEST):
7789         Change for new bus API.
7790
7791         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7792         (send_messages), (GST_START_TEST), (gstbus_suite):
7793         Change for new bus signal API.
7794
7795         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
7796         (gst_bus_source_prepare), (gst_bus_source_check),
7797         (gst_bus_create_watch), (gst_bus_add_watch_full),
7798         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
7799         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
7800         * gst/gstbus.h:
7801         Remove support for multiple GSources operating on different
7802         message types as it is too complex and unneeded when using
7803         signals.
7804         Added support for receiving signals from the bus.
7805
7806 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7807
7808         * docs/libs/tmpl/gstdataprotocol.sgml:
7809         * docs/manual/advanced-dataaccess.xml:
7810         * gst/elements/gstcapsfilter.c:
7811         * gst/gstutils.c:
7812           rename filter-caps to caps property
7813
7814 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7815
7816         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7817           More robust fraction string parsing.
7818
7819         * docs/pwg/appendix-porting.xml:
7820           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
7821
7822 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7823
7824         * gst/gstcaps.c: (gst_caps_do_simplify):
7825           Thou shalt not free a structure and then continue using it
7826           in the next loop iteration.
7827
7828         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
7829         (gst_caps_suite):
7830           Add test case for caps simplification.
7831
7832 2005-09-29  Wim Taymans  <wim@fluendo.com>
7833
7834         * check/gst/gstbin.c: (GST_START_TEST):
7835         Oops.
7836
7837 2005-09-29  Wim Taymans  <wim@fluendo.com>
7838
7839         * check/gst/gstbin.c: (GST_START_TEST):
7840         Add bus to bin.
7841
7842         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7843         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7844         (find_element), (gst_bin_sort_iterator_next),
7845         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7846         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7847         (gst_bin_change_state), (gst_bin_dispose):
7848         A bin does not have a bus, it gets the bus from the parent.
7849
7850         * gst/gstelement.c: (gst_element_requires_clock),
7851         (gst_element_provides_clock), (gst_element_is_indexable),
7852         (gst_element_is_locked_state), (gst_element_change_state),
7853         (gst_element_set_bus_func):
7854         Small cleanups.
7855
7856         * gst/gstpipeline.c: (gst_pipeline_class_init),
7857         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7858         The pipeline provides a bus.
7859
7860 2005-09-28  Johan Dahlin  <johan@gnome.org>
7861
7862         * gst/gstmessage.c (gst_message_parse_state_changed): Use
7863         gst_structure_get_enum instead of gst_structure_get_int
7864
7865         * gst/gststructure.c (gst_structure_get_enum): Impl.
7866
7867         * gst/gststructure.h (gst_structure_get_enum): Add
7868
7869         * docs/gst/gstreamer-sections.txt: Ditto
7870
7871         * gst/gstmessage.c (gst_message_new_state_changed): Use
7872         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7873         which does introspection.
7874         Reviewed by Christian Schaller
7875
7876 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7877
7878         * gst/gstinfo.c: (gst_debug_log_default):
7879           don't do dummy g_strdup()s
7880         * libs/gst/controller/gstcontroller.c:
7881         (on_object_controlled_property_changed),
7882         (gst_controlled_property_new), (gst_controller_new_valist),
7883         (gst_controller_new_list),
7884         (gst_controller_remove_properties_valist), (gst_controller_set),
7885         (gst_controller_get), (gst_controller_sync_values),
7886         (gst_controller_get_value_array), (_gst_controller_class_init),
7887         (gst_controller_get_type):
7888         * libs/gst/controller/gstcontroller.h:
7889         * libs/gst/controller/gstinterpolation.c:
7890         (gst_controlled_property_find_timed_value_node):
7891           convert // to /**/ comments
7892
7893 2005-09-28  Wim Taymans  <wim@fluendo.com>
7894
7895         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7896         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7897         (gst_bus_sync_signal_handler):
7898         * gst/gstbus.h:
7899         Added async-message and sync-message signals to the bus.
7900         Added helper BusFunc to emit signals for all posted messages.
7901
7902         * gst/gstmessage.c: (gst_message_type_get_name),
7903         (gst_message_type_to_quark), (gst_message_get_type):
7904         * gst/gstmessage.h:
7905         Register quarks for message names.
7906
7907 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7908
7909         * docs/libs/gstreamer-libs-sections.txt:
7910         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7911         (gst_controller_new_list):
7912         * libs/gst/controller/gstcontroller.h:
7913           added another constructor for language bindings
7914
7915 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7916
7917         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7918           add another check
7919         * gst/gstbus.c:
7920           add some doc
7921         * gst/gstinfo.c: (_gst_debug_init):
7922           slightly more readable color for refcount debugging
7923
7924 2005-09-28  Wim Taymans  <wim@fluendo.com>
7925
7926         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7927         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7928         (find_element), (gst_bin_sort_iterator_next),
7929         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7930         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7931         (gst_bin_change_state), (gst_bin_dispose):
7932         Small doc fixes. get_clock -> provide_clock.
7933
7934         * gst/gstelement.c: (gst_element_class_init),
7935         (gst_element_provides_clock), (gst_element_provide_clock),
7936         (gst_element_get_clock), (gst_element_commit_state),
7937         (gst_element_lost_state):
7938         * gst/gstelement.h:
7939         Make get/set_clock() symetric. Add provide_clock vmethod since
7940         that is actually what this function does.
7941
7942         * gst/gstpipeline.c: (gst_pipeline_class_init),
7943         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7944         (gst_pipeline_get_clock):
7945         get_clock -> provide_clock.
7946
7947 2005-09-28  Andy Wingo  <wingo@pobox.com>
7948
7949         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7950         lieu of real docs...
7951
7952         * gst/elements/gstfdsrc.c: Cleaned up a bit.
7953
7954 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
7955
7956         * gst/elements/gstcapsfilter.c:
7957         * gst/elements/gstfakesink.c:
7958         * gst/elements/gstfakesrc.c:
7959         * gst/elements/gstfdsink.c:
7960         * gst/elements/gstfdsrc.c:
7961         * gst/elements/gstfilesink.c:
7962         * gst/elements/gstfilesrc.c:
7963         * gst/elements/gstidentity.c:
7964         * gst/elements/gsttee.c:
7965         * gst/elements/gsttypefindelement.c:
7966           Make element details static.
7967
7968 2005-09-28  Wim Taymans  <wim@fluendo.com>
7969
7970         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7971         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7972         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7973         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7974         (gst_bin_change_state), (gst_bin_dispose):
7975         Some documentation updates.
7976         Clean up dispose handlers.
7977
7978         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7979         * gst/gstpad.c: (gst_pad_dispose):
7980         Clean up dispose handler.
7981
7982         * gst/gstpipeline.c: (gst_pipeline_change_state):
7983         Removed spurious UNLOCK.
7984
7985 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
7986
7987         * docs/gst/gstreamer-sections.txt:
7988         * gst/base/gstbasesrc.h:
7989         * gst/gstelement.h:
7990         * gst/gstevent.h:
7991         * gst/gstobject.h:
7992         * gst/gstpad.h:
7993         * gst/gstpipeline.c:
7994         * gst/gstpipeline.h:
7995         * gst/gstutils.h:
7996         * gst/gstxml.h:
7997           added two new functions to the docs
7998                 documents all undocumented GstXXXFlags
7999                 completed some incomplete docs 
8000
8001 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8002
8003         * gst/gstbin.c: (gst_bin_dispose):
8004         * gst/gstelement.c: (gst_element_dispose):
8005           remove now useless and leaky resurrection code in dispose
8006         * gst/base/gstbasesrc.c: (gst_base_src_init):
8007         * gst/gstelementfactory.c: (gst_element_factory_create):
8008         * gst/gstobject.c: (gst_object_set_parent):
8009           add some debugging
8010
8011 2005-09-27  Wim Taymans  <wim@fluendo.com>
8012
8013         * docs/design/part-TODO.txt:
8014         Update TODO.
8015
8016         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8017         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8018         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8019         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8020         (gst_bin_change_state):
8021         * gst/gstelement.h:
8022         Remove element variable, we keep element info in the iterator now.
8023
8024 2005-09-27  Andy Wingo  <wingo@pobox.com>
8025
8026         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
8027         values.
8028
8029 2005-09-27  Wim Taymans  <wim@fluendo.com>
8030
8031         * check/gst/gstbin.c: (GST_START_TEST):
8032         Enable check that works now.
8033
8034         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8035         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8036         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8037         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8038         (gst_bin_change_state):
8039         * gst/gstbin.h:
8040         Redid the state change algorithm using a topological sort algo.
8041         Handles all cases correctly.
8042         Exposed iterator for state change order.
8043
8044         * gst/gstelement.h:
8045         Temp storage for state changes. Need to get rid of this soon.
8046
8047 2005-09-27  Wim Taymans  <wim@fluendo.com>
8048
8049         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
8050         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
8051         (link_fold_func), (gst_pad_proxy_setcaps):
8052         Leak fixes, the fold functions need to unref the passed object and
8053         _get_parent_*() returns ref to parent.
8054
8055 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8056
8057         * check/gst/gstbuffer.c: (test_make_writable):
8058           Plug leak in test case and fix 'make check-valgrind'
8059
8060 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8061
8062         * gst/gstbuffer.c: (gst_subbuffer_init):
8063           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
8064           works correctly in all circumstances (we could have just copied
8065           the parent buffer's readonly flag, but conceptually it seems
8066           cleaner to mark all subbuffers as read-only). (based on patch
8067           by Alessandro Decina, #314710).
8068         
8069         * check/gst/gstbuffer.c: (create_read_only_buffer),
8070         (test_make_writable), (test_subbuffer_make_writable),
8071         (gst_test_suite):
8072           Add some tests for gst_buffer_make_writable().
8073
8074 2005-09-27  Wim Taymans  <wim@fluendo.com>
8075
8076         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
8077         use gst_object_has_ancestor().
8078
8079         * gst/gstobject.c: (gst_object_has_ancestor):
8080         * gst/gstobject.h:
8081         gst_object_has_ancestor() copied from gstbin.c as it is a
8082         usefull function.
8083
8084         * tests/instantiate/create.c: (create_all_elements):
8085         * tests/lat.c: (handoff_src), (handoff_sink):
8086         * tests/sched/runxml.c: (main):
8087         * tests/seeking/seeking1.c: (main):
8088         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8089         (main):
8090         Fix compilation of some tests.
8091
8092 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8093
8094         * gst/gsterror.h:
8095           Remove comment. GST_TYPE_G_ERROR is here to stay,
8096           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
8097           (#316961, #300610).
8098
8099 2005-09-26  Wim Taymans  <wim@fluendo.com>
8100
8101         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8102         Added check that shows error in state change order.
8103
8104 2005-09-26  Wim Taymans  <wim@fluendo.com>
8105
8106         * gst/gstbin.c: (gst_bin_change_state):
8107         Make state change function use 3 queues again, we were
8108         adding elements in the wrong order.
8109
8110         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8111         Some debug info,
8112
8113         * gst/gstpad.c: (gst_pad_dispose):
8114         Added some debug info first.
8115
8116 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
8117
8118         * docs/design/draft-push-pull.txt:
8119         * docs/design/part-events.txt:
8120         * docs/design/part-overview.txt:
8121         * docs/design/part-scheduling.txt:
8122           Replace all _pull_region() with _pull_range()
8123           
8124 2005-09-26  Andy Wingo  <wingo@pobox.com>
8125
8126         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
8127
8128         * check/gst-libs/controller.c: Update for controller api change.
8129
8130         * configure.ac: 
8131         * tests/Makefile.am:
8132         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
8133         over by GLib bug 118439.
8134         
8135         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
8136         routines to a function.
8137
8138         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
8139
8140         * libs/gst/controller/gsthelper.c:
8141         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
8142         (gst_object_sync_values): Renamed from sink_values. Ugh.
8143
8144         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
8145
8146         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
8147         Renamed from controller_key, as it is exported.
8148
8149         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
8150
8151 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8152
8153         * gst/Makefile.am:
8154         * gst/gst.h:
8155         * gst/gstpad.h:
8156         * gst/gstpadtemplate.h:
8157         * gst/gstquery.c:
8158         * gst/gstquery.h:
8159         * gst/gstqueryutils.c:
8160         * gst/gstqueryutils.h:
8161           remove queryutils headers after moving the two used functions
8162           to gstquery.  also fixes build problem for gstsiddec
8163
8164 2005-09-26  Michael Smith <msmith@fluendo.com>
8165
8166         * tools/gst-launch.1.in:
8167         Correct documentation in manpage of debug syntax
8168
8169 2005-09-26  Wim Taymans  <wim@fluendo.com>
8170
8171         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8172         (gst_base_src_is_seekable), (gst_base_src_change_state):
8173         Some more debugging info.
8174
8175 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8176
8177         * docs/gst/gstreamer-sections.txt:
8178         * gst/base/gstbasetransform.h:
8179         * gst/gstindex.h:
8180           added more docs
8181
8182 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8183
8184         * docs/gst/.cvsignore:
8185         * docs/gst/tmpl/.cvsignore:
8186         * docs/gst/tmpl/gstpipeline.sgml:
8187         * docs/gst/tmpl/gstplugin.sgml:
8188         * gst/gstpipeline.c:
8189         * gst/gstplugin.c:
8190         * gst/gstplugin.h:
8191           inlined the last two docs files
8192           removed the tmpl directory from cvs (no more conflicts here!)
8193
8194 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8195
8196         * docs/gst/gstreamer-sections.txt:
8197         * docs/gst/tmpl/.cvsignore:
8198         * docs/gst/tmpl/gstpad.sgml:
8199         * docs/gst/tmpl/gstpadtemplate.sgml:
8200         * gst/Makefile.am:
8201         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8202         (gst_pad_finalize), (gst_pad_set_pad_template):
8203         * gst/gstpad.h:
8204         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8205         (gst_pad_template_class_init), (gst_pad_template_init),
8206         (gst_pad_template_dispose), (name_is_valid),
8207         (gst_static_pad_template_get), (gst_pad_template_new),
8208         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
8209         (gst_pad_template_pad_created):
8210         * gst/gstpadtemplate.h:
8211           inlined two more docs
8212           factored gstpadtemplate out of gstpad
8213
8214 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
8215
8216         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8217         (test_children_state_change_order_semi_sink):
8218           Fix test case: we can't rely on a fixed state change order when
8219           going from READY => PAUSED because the sink might commit its 
8220           new state first when the first buffer created by the source 
8221           reaches the sink before the source has finished its change state.
8222           (Test case still fails at times, see #316856, comment 5 onwards)
8223
8224 2005-09-24  Wim Taymans  <wim@fluendo.com>
8225
8226         * docs/design/part-events.txt:
8227         * docs/design/part-gstbus.txt:
8228         * docs/design/part-gstpipeline.txt:
8229         * docs/design/part-messages.txt:
8230         * docs/design/part-overview.txt:
8231         * docs/design/part-segments.txt:
8232         * gst/gstbin.c:
8233         * gst/gstbuffer.c:
8234         * gst/gstclock.c:
8235         * gst/gstelement.c:
8236         * gst/gstevent.c:
8237         * gst/gstfilter.c:
8238         * gst/gstiterator.c:
8239         Various documentation updates.
8240
8241 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8242
8243         * gst/gstclock.h:
8244           Well, that's embarassing.  Luckily we weren't using
8245           GST_CLOCK_DIFF anywhere.
8246
8247 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8248
8249         * common/gtk-doc.mak:
8250           don't fail on building XML, FC4 slave shows a bunch of doc
8251           missing bits that I don't get
8252         * gst/gstpad.c:
8253         * gst/gstpipeline.c:
8254         * gst/gststructure.c:
8255           some doc updates
8256
8257 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8258
8259         * docs/design/part-gstbin.txt:
8260         * docs/design/part-gstbus.txt:
8261         * gst/gstbus.c:
8262           Add blurb about how the bus goes into flushing mode and
8263           drops all messages when its bin goes from READY into NULL 
8264           state.
8265
8266 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8267
8268         * docs/gst/gstreamer-sections.txt:
8269         * gst/gststructure.c: (gst_structure_get_clock_time):
8270         * gst/gststructure.h:
8271           add a method to get a GstClockTime out of a structure
8272
8273 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8274
8275         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8276         (test_children_state_change_order_semi_sink), (gst_bin_suite):
8277           Added test to check state change order in bins (can still be made
8278           to fail here under heavy disk load; bails out with 'Push on pad
8279           fakesink:sink0, but it was not activated in push mode').
8280
8281         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
8282           Fix state change order when there is only a semi sink (#316856)
8283
8284         * gst/gstbus.c: (gst_bus_class_init):
8285           Use _class_peek_parent(), not _class_ref(); fix docs to say
8286           'default main context' instead of 'mainloop' where that is
8287           what's meant.
8288
8289         * gst/gstelement.c: (gst_element_commit_state),
8290         (gst_element_set_state):
8291           Fix typos in debug messages
8292
8293 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8294
8295         * docs/README:
8296         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
8297         * gst/gstpluginfeature.c:
8298         * gst/gstutils.c:
8299           various doc updates
8300         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8301           change an assert into an error until it gets fixed properly
8302
8303 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
8304
8305         * docs/gst/gstreamer-sections.txt:
8306         * docs/gst/tmpl/.cvsignore:
8307         * docs/gst/tmpl/gstelement.sgml:
8308         * docs/gst/tmpl/gstinfo.sgml:
8309         * docs/gst/tmpl/gstobject.sgml:
8310         * gst/gstelement.c:
8311         * gst/gstelement.h:
8312         * gst/gstinfo.c:
8313         * gst/gstinfo.h:
8314         * gst/gstobject.c: (gst_object_class_init):
8315         * gst/gstobject.h:
8316           inlined 3 more biiiig doc files and added some missing docs on the fly
8317
8318 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8319
8320         * check/gst/.cvsignore:
8321         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
8322         * gst/gstregistryxml.c: (load_plugin),
8323         (gst_registry_xml_save_plugin):
8324           put back source in registry.  add checks for find_plugin.
8325         * testsuite/states/bin.c: (assert_state), (empty_bin),
8326         (test_adding_one_element), (main):
8327         * testsuite/states/locked.c: (main):
8328           some compile/run fixes
8329
8330 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8331
8332         * check/gst/gstvalue.c: (GST_START_TEST):
8333           fix leaks in the test itself
8334
8335 2005-09-22  Wim Taymans  <wim@fluendo.com>
8336
8337         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8338         (gst_base_sink_send_event), (gst_base_sink_peer_query),
8339         (gst_base_sink_query):
8340         Prepare for more accurate position reporting and query
8341         handling.
8342
8343         * gst/gstelement.c: (gst_element_send_event),
8344         (gst_element_set_state):
8345         Add some comment.
8346
8347 2005-09-22  Wim Taymans  <wim@fluendo.com>
8348
8349         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
8350         (gst_query_parse_segment):
8351         * gst/gstquery.h:
8352         More documentation.
8353         Add segment query for future use.
8354
8355 2005-09-22  Wim Taymans  <wim@fluendo.com>
8356
8357         * gst/gstbin.c: (gst_bin_add_func):
8358         Some more debug info.
8359
8360         * gst/gstelement.c: (gst_element_send_event):
8361         Simplify send_event
8362
8363         * gst/gstelement.h:
8364         Don't know how flags got broken.
8365
8366         * gst/gstquery.h:
8367         Added new query.
8368
8369 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8370
8371         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
8372           Add simplistic test suite for GST_TYPE_DATE serialisation and
8373           deserialisation.
8374
8375 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8376
8377         * docs/gst/gstreamer-sections.txt:
8378         * gst/gststructure.c: (gst_structure_set_valist),
8379         (gst_structure_get_date):
8380         * gst/gststructure.h:
8381         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
8382         (gst_date_copy), (gst_value_compare_date),
8383         (gst_value_serialize_date), (gst_value_deserialize_date),
8384         (gst_value_transform_date_string),
8385         (gst_value_transform_string_date), (_gst_value_initialize):
8386         * gst/gstvalue.h:
8387           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
8388           bunch of utility functions along with a hack that checks that
8389           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
8390           is required. Part of the grand scheme in #170777.
8391
8392 2005-09-22  Andy Wingo  <wingo@pobox.com>
8393
8394         * gst/gstconfig.h.in: Psych out gtk-doc.
8395
8396         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
8397
8398         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
8399
8400         * tools/gst-inspect.c (print_element_list): Plug some
8401         inconsequential leaks.
8402
8403         * gst/gstregistry.c (gst_registry_get_default): Doc.
8404
8405         * check/gst/gstplugin.c: 
8406         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
8407         * gst/gstelementfactory.c (gst_element_factory_create): 
8408         * gst/gstindexfactory.c (gst_index_factory_create): Update for
8409         refcount changes.
8410
8411         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
8412         (gst_plugin_feature_load): Doc, don't eat refs.
8413
8414         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
8415         (gst_plugin_list_free): Doc.
8416         (gst_plugin_load_file): Doc updates.
8417
8418         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
8419         accessors returning refcounted objects, return a ref.
8420
8421         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
8422         accessor for caps. IDEMPOTENCE. Oh yes.
8423
8424 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
8425
8426         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8427
8428         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8429         (_gst_debug_register_funcptr):
8430           Add mutex to serialise access to the hash table with
8431           the function pointer => function name string mapping;
8432           make that hash table static scope (#316809).
8433
8434         * gst/registries/.cvsignore:
8435           Remove left-over file.
8436
8437 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8438
8439         * docs/pwg/appendix-porting.xml:
8440           And something about newsegment events and caps-on-buffers to
8441           the porting guide (feel free to improve).
8442
8443 2005-09-21  Andy Wingo  <wingo@pobox.com>
8444
8445         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
8446         data and event probes on the same pad.
8447         (test_buffer_probe_once): Test that removing probes from within
8448         the probe functions works.
8449
8450 2005-09-21  Andy Wingo  <wingo@pobox.com>
8451
8452         * check/gst/gstutils.c: New file.
8453         (test_buffer_probe_n_times): A simple buffer probe test. More to
8454         come, foolios.
8455
8456         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
8457         have-data::buffer, not have-data.
8458         (gst_pad_add_event_probe): Likewise for have-data::event.
8459         (gst_pad_add_data_probe): More docs. The part about 'resolving the
8460         peer' isn't quite right yet though.
8461         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
8462         (gst_pad_remove_data_probe): Change to take the guint handler_id
8463         as their arg, not the function+data, which is more glib-like.
8464
8465         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
8466         the signal emission to indicate if the data is a buffer or an
8467         event.
8468         (gst_pad_get_type): Initialize buffer and event quarks.
8469         (gst_pad_class_init): have-data is now a detailed signal, yes it
8470         is.
8471
8472 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8473
8474         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8475         * gst/gstutils.c: (gst_util_set_value_from_string),
8476         (gst_util_set_object_arg):
8477           Don't put functional code in g_return_if_fail() or
8478           g_return_val_if_fail() statements, otherwise things will 
8479           break when G_DISABLE_CHECKS is defined during compilation.
8480
8481 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8482
8483         * docs/gst/tmpl/.cvsignore:
8484         * docs/gst/tmpl/gstvalue.sgml:
8485         * gst/gstvalue.c:
8486         * gst/gstvalue.h:
8487           inlied another one and added  some obvious docs
8488
8489 2005-09-21  Wim Taymans  <wim@fluendo.com>
8490
8491         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8492         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
8493         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
8494         (gst_fdsrc_get_property), (gst_fdsrc_create):
8495         * gst/elements/gstfdsrc.h:
8496         Properly implement fdsrc. Removed signal and timeout,
8497         better implemented somewhere else.
8498
8499 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8500
8501         * docs/gst/tmpl/.cvsignore:
8502         * docs/gst/tmpl/gstimplementsinterface.sgml:
8503         * gst/gstinterface.c:
8504           inlined more docs
8505
8506 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8507
8508         * docs/gst/gstreamer-sections.txt:
8509         * docs/gst/tmpl/.cvsignore:
8510         * docs/gst/tmpl/gstenumtypes.sgml:
8511           remove obsolete doc file
8512
8513 2005-09-21  David Schleef  <ds@schleef.org>
8514
8515         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
8516         little beer, fix a little leak.
8517
8518 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8519
8520         * docs/gst/gstreamer-docs.sgml:
8521         * docs/gst/gstreamer-sections.txt:
8522         * docs/gst/tmpl/.cvsignore:
8523         * gst/Makefile.am:
8524         * gst/gst.h:
8525         * gst/gstbin.c:
8526         * gst/gstelement.h:
8527         * gst/gstindex.c: (gst_index_class_init):
8528         * gst/gstindex.h:
8529         * gst/gstindexfactory.c: (gst_index_factory_get_type),
8530         (gst_index_factory_class_init), (gst_index_factory_init),
8531         (gst_index_factory_finalize), (gst_index_factory_new),
8532         (gst_index_factory_destroy), (gst_index_factory_find),
8533         (gst_index_factory_create), (gst_index_factory_make):
8534         * gst/gstindexfactory.h:
8535         * gst/gstpluginfeature.c:
8536         * gst/gstpluginfeature.h:
8537         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8538           more docs inlined, splitted gstindex.{c,h}
8539
8540 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8541
8542         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8543           fix a leak
8544
8545 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
8546
8547         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8548           Set sync to FALSE by default.
8549
8550 2005-09-20  Wim Taymans  <wim@fluendo.com>
8551
8552         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8553         (gst_base_sink_init):
8554         Make sync property settable from subclass.
8555
8556         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8557         (gst_fake_sink_change_state):
8558         Set sync to FALSE by default.
8559
8560 2005-09-20  Wim Taymans  <wim@fluendo.com>
8561
8562         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
8563         * tools/gst-launch.c: (main):
8564         The timeout handler should have lower priority than the source
8565         so we don't timeout before popping a message with 0 timeout.
8566         Dump error messages after failed state change.
8567
8568 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
8569
8570         * tools/gst-inspect.c: (print_element_properties_info):
8571           Fix two typos.
8572
8573 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8574
8575         * check/gst/gstevent.c:
8576         * gst/elements/gstfakesink.c:
8577         * gst/elements/gstfakesink.h:
8578           remove the sync property from fakesink.
8579           has the side effect of setting sync TRUE
8580           for fakesink, which is a change.  Anyone who knows how
8581           to fix this nicely in a GObject-y way, feel free.
8582
8583 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8584
8585         * docs/gst/gstreamer-docs.sgml:
8586           remove probe refsection
8587
8588 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8589
8590         * check/Makefile.am:
8591           disable valgrinding the controller test again
8592         * docs/gst/gstreamer-sections.txt:
8593           update for api-changes
8594
8595 2005-09-20  Wim Taymans  <wim@fluendo.com>
8596
8597         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8598         (gst_base_sink_set_property), (gst_base_sink_get_property),
8599         (gst_base_sink_do_sync):
8600         * gst/base/gstbasesink.h:
8601         Added sync property to basesink to disable clock sync.
8602
8603 2005-09-20  Andy Wingo  <wingo@pobox.com>
8604
8605         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
8606         eating the caller's refcount.
8607
8608         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
8609         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
8610         refcount.
8611
8612         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
8613         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
8614         of GLib 2.8 public, so we can know which refcount to check in
8615         tests.
8616
8617         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
8618         (gst_object_init): Only set the gst refcount if we're going ahead
8619         with the refcount hack.
8620
8621 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8622
8623         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8624         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8625           more leaks plumbed, added more debug-logging
8626         * gst/gstmacros.h:
8627           whitespace fix
8628
8629 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8630
8631         * gst/gstmessage.c:
8632           remove include of gstmemchunk.h
8633
8634 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8635
8636         * gst/gstclock.c: (_gst_clock_id_free):
8637           Commit from the Political Party For More Atomic CVS Commits,
8638           so that people don't waste too much of their day fishing
8639           out obvious leaks out of massive commits.
8640           Oh, and fix a pretty damn obvious leak in the memchunk
8641           removal code.
8642
8643 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8644
8645         * check/Makefile.am:
8646         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8647           plug mem-leak, re-add to valgrindable tests
8648
8649 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8650
8651         * gst/gstplugin.h:
8652           unbreak the build for those who have chronic arthritis
8653           and typing "make check" is just too taxing on the hands
8654
8655 2005-09-20  Andy Wingo  <wingo@pobox.com>
8656
8657         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
8658         really want it out, you should fix plugins at the same time.
8659
8660 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
8661
8662         * configure.ac:
8663         * docs/gst/gstreamer-sections.txt:
8664         * gst/gstobject.c:
8665           added missing symbols to api docs
8666           disable ref-count hack if we have glib >= 2.8
8667
8668 2005-09-19  David Schleef  <ds@schleef.org>
8669
8670         * docs/gst/Makefile.am: Ignore a few more internal headers
8671         * docs/gst/gstreamer-docs.sgml: Remove old sections
8672         * docs/gst/gstreamer-sections.txt: Remove old sections
8673         * docs/gst/tmpl/gstobject.sgml: update
8674         * docs/gst/tmpl/gstplugin.sgml: update
8675         * docs/gst/tmpl/gstpluginfeature.sgml: update
8676         * docs/random/ds/0.9-suggested-changes: update.
8677         * gst/Makefile.am: remove memchunk and trashstack, since they're
8678           not used.
8679         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
8680         * gst/gst.h: don't include some headers
8681         * gst/gstchildproxy.c: add gstmarshal.h
8682         * gst/gstclock.c: Don't use memchunks
8683         * gst/gstminiobject.c: Add some docs
8684         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
8685         * gst/gstobject.h: same
8686         * gst/gstplugin.c: include gstmacros.h
8687         * gst/gstplugin.h: don't include gstmacros.h, since it's private
8688         * gst/gstquery.c: don't use memchunks
8689         * gst/gstregistry.c: rename gst_registry_deinit()
8690         * gst/gstregistry.h: same
8691
8692 2005-09-19  David Schleef  <ds@schleef.org>
8693
8694         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
8695         * docs/libs/gstreamer-libs-sections.txt:
8696         * docs/libs/tmpl/gstgetbits.sgml:
8697         * docs/libs/tmpl/gstputbits.sgml:
8698
8699 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
8700
8701         * win32/gstenumtypes.c:
8702         * win32/gstenumtypes.h:
8703           Update.
8704
8705 2005-09-19  Wim Taymans  <wim@fluendo.com>
8706
8707         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
8708         Automatically PAUSE and RESUME a pipeline when a flushing seek
8709         is performed.
8710
8711 2005-09-19  Andy Wingo  <wingo@pobox.com>
8712
8713         * gst/gstregistry.h: Spacing fixen.
8714
8715 2005-09-19  Wim Taymans  <wim@fluendo.com>
8716
8717         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
8718         Handle state change failure more correctly.
8719
8720 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8721
8722         * check/Makefile.am:
8723         * check/pipelines/cleanup.c: (run_pipeline):
8724         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8725         (GST_START_TEST):
8726           enable cleanup again after fixing the leak
8727         * docs/README:
8728           some more info on docs
8729
8730 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8731
8732         * check/Makefile.am:
8733           re-enable tests now that leaks are plugged
8734         * check/gst/gst.c:
8735         * check/gst/gstbin.c:
8736         * check/gst/gstpipeline.c:
8737           add some more tests while fixing leaks
8738         * common/check.mak:
8739           make sure binaries are uptodate when valgrinding/gdbing
8740         * gst/gst.c:
8741         * gst/gstelementfactory.c:
8742           remove a ref too many, and add a FIXME for when we get
8743           round to disposing of classes
8744         * gst/gstplugin.c:
8745           fix the refcounting when loading a plugin from a file and
8746           the code pretends that the pointer is the same even though
8747           of course it can change
8748         * gst/gstpluginfeature.c:
8749           unref plugins marked cached (a bit confusing as a name)
8750           as the docs state should be done
8751           various doc additions to explain refcounting
8752         * gst/gstregistry.c:
8753         * gst/gstregistryxml.c:
8754           debugging
8755
8756 2005-09-19  Wim Taymans  <wim@fluendo.com>
8757
8758         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8759         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8760         (send_messages), (GST_START_TEST), (gstbus_suite):
8761         * check/gst/gstpipeline.c: (GST_START_TEST):
8762         * check/pipelines/cleanup.c: (run_pipeline):
8763         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8764         (GST_START_TEST):
8765         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
8766         (gst_bus_source_check), (gst_bus_source_dispatch),
8767         (gst_bus_create_watch), (gst_bus_add_watch_full),
8768         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
8769         * gst/gstbus.h:
8770         * tools/gst-launch.c: (event_loop):
8771         * tools/gst-md5sum.c: (event_loop):
8772         GstBusHandler -> GstBusFunc, return value has the same meaning as
8773         any other GSource (FALSE == remove source).
8774         _add_watch() and _add_watch_full() now take a MessageType mask to
8775         only handle specific types of messages.
8776         _poll() returns the GstMessage instead of the message type to avoid
8777         race conditions.
8778         _have_pending() takes a MessageType mask now too.
8779         Added testsuite for multiple bus watches.
8780         Fix testsuites and applications for new bus API.
8781
8782 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8783
8784         * check/Makefile.am:
8785           mark a bunch of the tests as to fix until we fix them
8786
8787 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * common/check.mak:
8790           use GST_PLUGIN settings for valgrind tests as well, so we're
8791           valgrinding the correct thing
8792         * gst/gst.c: (init_post):
8793           plug another leak
8794
8795 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8796
8797         * gst/gst.c: (init_post), (gst_deinit):
8798         * gst/gstelementfactory.c: (gst_element_factory_class_init),
8799         (gst_element_factory_finalize), (gst_element_factory_cleanup):
8800         * gst/gstindex.c: (gst_index_factory_class_init),
8801         (gst_index_factory_finalize):
8802         * gst/gstobject.c: (gst_object_dispose):
8803         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8804         (gst_plugin_load_file), (gst_plugin_desc_free):
8805         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
8806         (gst_plugin_feature_finalize):
8807         * gst/gstregistry.c: (gst_registry_class_init),
8808         (gst_registry_init), (gst_registry_finalize),
8809         (gst_registry_get_default), (gst_registry_deinit):
8810         * gst/gstregistry.h:
8811         * gst/gstregistryxml.c: (load_feature), (load_plugin):
8812           various cleanups and memleak plugging.  make valgrind is happy now.
8813
8814 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8815
8816         * common/check.mak:
8817           add a check-valgrind target
8818
8819 2005-09-18  David Schleef  <ds@schleef.org>
8820
8821         * tools/gst-inspect.c: Revert the GOption code.
8822
8823 2005-09-17  David Schleef  <ds@schleef.org>
8824
8825         * check/Makefile.am: Fix environment variables.
8826         * check/gst/gstplugin.c: Fix for API changes.
8827         * tools/gst-inspect.c: Fix for API changes.
8828         * tools/gst-xmlinspect.c: Fix for API changes.
8829         * gst/gstelementfactory.c:
8830         * gst/gstplugin.c:
8831         * gst/gstplugin.h:
8832         * gst/gstpluginfeature.c:
8833         * gst/gstpluginfeature.h:
8834         * gst/gstregistry.c:
8835         * gst/gstregistry.h:
8836         * gst/gstregistryxml.c:
8837         * gst/gsttypefind.c:
8838         * gst/gsttypefindfactory.c:
8839         * gst/indexers/gstfileindex.c:
8840         * gst/indexers/gstmemindex.c:
8841         * gst/schedulers/Makefile.am:
8842           Change registry to keep track of both plugins and features,
8843           removing the feature tracking from plugins themselves.
8844
8845 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8846
8847         * check/Makefile.am:
8848         * tools/gst-register.1.in:
8849           remove gst-register
8850
8851 2005-09-15  David Schleef  <ds@schleef.org>
8852
8853         * check/gst/gstplugin.c:
8854         * gst/gstelementfactory.c:
8855         * gst/gstplugin.c:
8856         * gst/gstpluginfeature.c:
8857         * gst/gstregistry.c:
8858           Getting tired of debugging.  Disabled all the unreffing of
8859           plugins and features, which fixes the segfaults, but of
8860           course leaks like crazy.  At least playbin works.
8861
8862 2005-09-15  David Schleef  <ds@schleef.org>
8863
8864         * check/gst/gstplugin.c: (register_check_elements),
8865         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8866         More testing
8867         * gst/elements/gsttypefindelement.c: Fix refcounting.
8868         * gst/gsttypefind.c:
8869         * gst/gsttypefindfactory.c:
8870         * gst/gsttypefindfactory.h:
8871
8872 2005-09-15  David Schleef  <ds@schleef.org>
8873
8874         * gst/gstindex.c: get refcounting correct.
8875         * gst/gstregistry.c: Handle the case where a feature/plugin is
8876           not found.
8877
8878 2005-09-15  David Schleef  <ds@schleef.org>
8879
8880         * check/Makefile.am:
8881         * check/gst/gstplugin.c: Add test
8882         * gst/gstplugin.c: Fix problems noticed by testsuite
8883         * gst/gstplugin.h:
8884         * gst/gstregistry.c: 
8885         * gst/gstregistry.h:
8886
8887 2005-09-15  David Schleef  <ds@schleef.org>
8888
8889         * gst/gstplugin.c: Implement semi-decent recounting and locking
8890           in plugins and plugin features.
8891         * gst/gstplugin.h:
8892         * gst/gstpluginfeature.c:
8893         * gst/gstpluginfeature.h:
8894         * gst/gstregistry.c:
8895
8896 2005-09-15  Michael Smith <msmith@fluendo.com>
8897
8898         * gst/gstregistry.c: (gst_registry_get_feature_list):
8899           Implement this. Makes oggdemux work; decodebin still broken.
8900
8901 2005-09-14  David Schleef  <ds@schleef.org>
8902
8903         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8904           #316076)
8905         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8906         * gst/check/Makefile.am:
8907         * libs/gst/controller/Makefile.am:
8908         * libs/gst/dataprotocol/Makefile.am:
8909
8910 2005-09-14  David Schleef  <ds@schleef.org>
8911
8912         * configure.ac: Remove getbits library.  Nothing uses it, and
8913           it should be in something like liboil if someone did want
8914           to use it.
8915         * libs/gst/Makefile.am:
8916         * libs/gst/getbits/Makefile.am:
8917         * libs/gst/getbits/gbtest.c:
8918         * libs/gst/getbits/getbits.c:
8919         * libs/gst/getbits/getbits.h:
8920         * libs/gst/getbits/gstgetbits_generic.c:
8921         * libs/gst/getbits/gstgetbits_i386.s:
8922         * libs/gst/getbits/gstgetbits_inl.h:
8923
8924 2005-09-14  David Schleef  <ds@schleef.org>
8925
8926         * gst/Makefile.am: Dist glib-compat.h
8927
8928 2005-09-14  David Schleef  <ds@schleef.org>
8929
8930         * configure.ac: Remove gst/registries, since it's no longer used.
8931         * gst/registries/Makefile.am:
8932         * gst/registries/gstlibxmlregistry.c:
8933         * gst/registries/gstlibxmlregistry.h:
8934         * gst/registries/gstxmlregistry.c:
8935         * gst/registries/gstxmlregistry.h:
8936         * gst/registries/registrytest.c:
8937
8938 2005-09-14  David Schleef  <ds@schleef.org>
8939
8940         * gst/glib-compat.h:
8941         * gst/gstregistryxml.c:
8942           Convergence is near.  Seriously.
8943
8944 2005-09-14  David Schleef  <ds@schleef.org>
8945
8946         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8947         * gst/glib-compat.h:
8948           Attempt #4 to appease the buildbots.
8949
8950 2005-09-14  David Schleef  <ds@schleef.org>
8951
8952         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8953           Attempt #3.
8954
8955 2005-09-14  David Schleef  <ds@schleef.org>
8956
8957         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8958         Attempt #2.
8959
8960 2005-09-14  David Schleef  <ds@schleef.org>
8961
8962         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8963           the new functions.
8964
8965 2005-09-14  David Schleef  <ds@schleef.org>
8966
8967         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8968         * gst/glib-compat.h: Add some functions that are in newer versions
8969           of glib than we care to require.
8970         * gst/gstregistryxml.c: Use them.
8971
8972 2005-09-14  David Schleef  <ds@schleef.org>
8973
8974         * po/POTFILES.in: remove gst-register.c
8975
8976 2005-09-14  David Schleef  <ds@schleef.org>
8977
8978         * docs/gst/gstreamer-docs.sgml:
8979         * docs/gst/gstreamer-sections.txt:
8980         * docs/gst/gstreamer.types:
8981         * docs/gst/tmpl/gstelement.sgml:
8982         * docs/gst/tmpl/gstplugin.sgml:
8983         * docs/gst/tmpl/gstpluginfeature.sgml:
8984           Documentation updates for registry changes.
8985
8986 2005-09-14  David Schleef  <ds@schleef.org>
8987
8988         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8989           because we don't require glib-2.8.
8990
8991 2005-09-14  David Schleef  <ds@schleef.org>
8992
8993         * gst/gstregistryxml.c: Added.  Essentially moved out of the
8994           registries directory.
8995
8996 2005-09-14  David Schleef  <ds@schleef.org>
8997
8998         * check/Makefile.am:
8999         * check/generic/states.c:
9000         * gst/Makefile.am:
9001         * gst/gst.c:
9002         * gst/gst.h:
9003         * gst/gst_private.h:
9004         * gst/gstelementfactory.c:
9005         * gst/gstindex.c:
9006         * gst/gstinfo.c:
9007         * gst/gstplugin.c:
9008         * gst/gstplugin.h:
9009         * gst/gstpluginfeature.c:
9010         * gst/gstpluginfeature.h:
9011         * gst/gstregistry.c:
9012         * gst/gstregistry.h:
9013         * gst/gstregistrypool.c: remove
9014         * gst/gstregistrypool.h: remove
9015         * gst/gsttypefind.c:
9016         * gst/gsttypefindfactory.c:
9017         * gst/gsturi.c:
9018         * tools/Makefile.am:
9019         * tools/gst-compprep.c:
9020         * tools/gst-inspect.c:
9021         * tools/gst-register.c: remove
9022         * tools/gst-xmlinspect.c:
9023           Registry rewrite.  Changes registry from being a file created
9024           by a tool into a simple cache file created automatically by 
9025           libgstreamer.  Removed gst-register (because it's no longer
9026           needed).  Remove registry pools, because we only have one
9027           registry implementation (XML).  Fix up other subsystems as
9028           necessary.
9029
9030 2005-09-13  Michael Smith <msmith@fluendo.com>
9031
9032         * gst/gstconfig.h.in:
9033           Don't Use windows linking attributes for MinGW. Fixes #316157
9034
9035 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9036
9037         * gst/gstutils.c: (set_state_async_thread_func),
9038         (gst_element_set_state_async):
9039           Apparently people think it's better if this function doesn't
9040           try to set the state to whatever state was asked for on the first
9041           call to this function for any object.  Seriously.
9042
9043 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9044
9045         * check/gst/gstpipeline.c: (GST_START_TEST):
9046         * docs/gst/gstreamer-sections.txt:
9047         * gst/gstutils.c: (set_state_async_thread_func),
9048         (gst_element_set_state_async):
9049         * gst/gstutils.h:
9050           add a "gst_element_set_state_async" method that
9051           sets the state and starts a thread to make sure the state
9052           change completes as best as it can
9053
9054 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9055
9056         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9057           codify design+behaviour in testsuite after discussion
9058
9059 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9060
9061         * docs/gst/tmpl/gstelement.sgml:
9062         * docs/manual/appendix-quotes.xml:
9063           add a quote
9064         * gst/gstelement.c: (gst_element_set_state):
9065           add some debug
9066
9067 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
9068
9069         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9070         (gst_base_transform_prepare_output_buf),
9071         (gst_base_transform_handle_buffer):
9072         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
9073         (gst_capsfilter_prepare_buf):
9074           Remove the requirement for sub-classes to call the parent
9075           implementation of prepare_output_buffer with a wrapper function.
9076           
9077         * gst/gsttaglist.h:
9078         * gst/gsttagsetter.h:
9079           Fix #define wrapper
9080
9081 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
9082
9083         * docs/gst/gstreamer-sections.txt:
9084           more doc cleanups
9085
9086 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9087
9088         * docs/gst/gstreamer-sections.txt:
9089         * docs/gst/tmpl/gstelement.sgml:
9090         * docs/gst/tmpl/gstplugin.sgml:
9091         * gst/gstminiobject.c:
9092         * gst/gstvalue.h:
9093           docs now stop throwing warnings
9094
9095 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9096
9097         * docs/gst/gstreamer-sections.txt:
9098         * docs/gst/gstreamer.types:
9099         * docs/gst/tmpl/gstpad.sgml:
9100         * docs/gst/tmpl/gsttypes.sgml:
9101         * gst/base/gstadapter.h:
9102         * gst/base/gstbasesink.h:
9103         * gst/base/gstbasesrc.h:
9104         * gst/gstbin.h:
9105         * gst/gstbuffer.h:
9106         * gst/gstbus.h:
9107         * gst/gstcaps.h:
9108         * gst/gstclock.h:
9109         * gst/gstelement.h:
9110         * gst/gstevent.h:
9111         * gst/gstmessage.h:
9112         * gst/gstpad.h:
9113         * gst/gststructure.c:
9114         * gst/registries/gstlibxmlregistry.h:
9115           various documentation fixes
9116
9117 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9118
9119         * docs/gst/gstreamer-sections.txt:
9120         * docs/gst/tmpl/gstvalue.sgml:
9121           rearrange gstvalue section
9122         * gst/gstutils.c: (gst_element_state_get_name):
9123           NONE -> VOID
9124         * gst/gstvalue.c: (_gst_value_initialize):
9125         * gst/gstvalue.h:
9126           doc updates
9127
9128 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
9129
9130         * check/gst-libs/controller.c:
9131           Header include fix.
9132         * gst/base/gstbasetransform.c:
9133         (gst_base_transform_default_prepare_buf),
9134         (gst_base_transform_handle_buffer):
9135         * gst/base/gstbasetransform.h:
9136           Some more basetransform changes and fixes to enable sub-classes
9137           that modify buffer metadata only.
9138         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9139         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
9140         (gst_capsfilter_prepare_buf):
9141           If the output pad has fixed allowed caps and input buffers 
9142           don't have any, set the fixed caps on outgoing buffers.
9143
9144 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
9145         * check/elements/identity.c: (GST_START_TEST):
9146           Make the error a little clearer when the test fails because
9147           identity made a copy of the buffer.
9148         * docs/gst/gstreamer-sections.txt:
9149           New symbols in gstbasetransform.h
9150         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9151         (gst_base_transform_init), (gst_base_transform_transform_size),
9152         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9153         (gst_base_transform_default_prepare_buf),
9154         (gst_base_transform_get_unit_size),
9155         (gst_base_transform_buffer_alloc),
9156         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9157         (gst_base_transform_change_state),
9158         (gst_base_transform_set_passthrough),
9159         (gst_base_transform_set_in_place),
9160         (gst_base_transform_is_in_place):
9161         * gst/base/gstbasetransform.h:
9162           Change BaseTransform to separate in_place operate from same_caps
9163           output. in_place implies that the element can perform the transform
9164           on incoming buffers in-place, even if the caps on the output are
9165           different.
9166           Sub-class elements can now implement special buffer allocation
9167           methods for outgoing buffers if they wish to.
9168           Big documentation addition.
9169         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
9170         * gst/elements/gstelements.c:
9171           Changes for basetransform modifications.
9172         * gst/elements/Makefile.am:
9173         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
9174           Compile fix. Extra debug output.
9175
9176 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9177
9178         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
9179         (gst_pad_suite):
9180           add tests for valid pad naming
9181         * gst/check/gstcheck.c: (gst_check_log_message_func),
9182         (gst_check_log_critical_func):
9183           add ASSERT_WARNING
9184           remove printing of code, it is fragile when the code contains
9185           % and the line number is enough info
9186         * gst/check/gstcheck.h:
9187         * gst/gstpad.c: (gst_pad_template_new):
9188           fix memleaks
9189
9190 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9191
9192         * configure.ac:
9193           say what CHECK flags we use
9194         * docs/libs/gstreamer-libs.types:
9195         * libs/gst/controller/Makefile.am:
9196         * libs/gst/controller/gst-controller.c:
9197         * libs/gst/controller/gst-controller.h:
9198         * libs/gst/controller/gst-helper.c:
9199         * libs/gst/controller/gst-interpolation.c:
9200         * libs/gst/controller/gstcontroller.c:
9201         * libs/gst/controller/gsthelper.c:
9202         * libs/gst/controller/gstinterpolation.c:
9203         * tools/gst-inspect.c: (print_plugin_info):
9204           we don't use dashes in header names
9205
9206 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9207
9208         * check/Makefile.am:
9209         * check/gst/.cvsignore:
9210         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
9211         (gst_pipeline_suite), (main):
9212           adding a test for pipelines and state changes
9213         * gst/gstutils.c: (get_state_func):
9214           add some debugging
9215         * gstreamer.spec.in:
9216           fix up spec file
9217
9218 2005-09-08  Michael Smith <msmith@fluendo.com>
9219
9220         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
9221         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
9222         (gst_file_src_is_seekable), (gst_file_src_get_size),
9223         (gst_file_src_start):
9224         * gst/elements/gstfilesrc.h:
9225           Various fixes for unseekable, unmmapable, and non-normal files, so
9226           that fallback to read() rather than mmap() works.
9227         * gst/gstevent.c: (gst_event_new_newsegment):
9228           Allow newsegment events with segment_start == segment_end, as will
9229           correctly happen if you use filesrc on a zero-size file, for
9230           example.
9231
9232 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9233
9234         * gst/gstplugin.c: (gst_plugin_load_file):
9235           Call g_module_close when we don't load the module
9236
9237         * gst/registries/gstlibxmlregistry.c:
9238         (gst_xml_registry_get_property):
9239           Port leak fix from 0.8
9240
9241 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9242
9243         * docs/gst/gstreamer-docs.sgml:
9244         * docs/gst/tmpl/.cvsignore:
9245         * docs/gst/tmpl/gsttrace.sgml:
9246         * docs/gst/tmpl/gsttrashstack.sgml:
9247         * gst/Makefile.am:
9248         * gst/gst.h:
9249         * gst/gstelement.h:
9250         * gst/gstevent.h:
9251         * gst/gstmessage.c:
9252         * gst/gstmessage.h:
9253         * gst/gsttag.c:
9254         * gst/gsttag.h:
9255         * gst/gsttaginterface.c:
9256         * gst/gsttaginterface.h:
9257         * gst/gsttaglist.c:
9258         * gst/gsttaglist.h:
9259         * gst/gsttagsetter.c:
9260         * gst/gsttagsetter.h:
9261         * gst/gsttrace.c:
9262         * gst/gsttrace.h:
9263         * gst/gsttrashstack.c:
9264           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
9265           inlined docs for gsttrace, gsttrashstack
9266
9267 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9268
9269         * gst/Makefile.am:
9270         * gst/elements/gstbufferstore.h:
9271         * gst/elements/gsttypefindelement.c:
9272         * gst/elements/gsttypefindelement.h:
9273         * gst/gst.h:
9274         * gst/gsttypefind.c:
9275         * gst/gsttypefind.h:
9276         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
9277         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
9278         (gst_type_find_factory_dispose),
9279         (gst_type_find_factory_unload_thyself),
9280         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
9281         (gst_type_find_factory_get_caps),
9282         (gst_type_find_factory_get_extensions),
9283         (gst_type_find_factory_call_function):
9284         * gst/gsttypefindfactory.h:
9285         * gst/registries/gstlibxmlregistry.c:
9286         * gst/registries/gstxmlregistry.c:
9287           splitted gsttypefind into gsttypefind, gsttypefindfactory
9288
9289 2005-09-07  Andy Wingo  <wingo@pobox.com>
9290
9291         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
9292         condition whereby the pad's task function is entered before the
9293         pad_mode variable was set.
9294
9295 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9296
9297         * gst/gstpad.c: (gst_pad_alloc_buffer):
9298           Catch misbehaving pad_alloc functions that don't
9299           set up caps and do it for them.
9300
9301 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9302
9303         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9304           test for pipe!=NULL
9305         * docs/gst/tmpl/.cvsignore:
9306         * docs/gst/tmpl/gstmemchunk.sgml:
9307         * docs/gst/tmpl/gstparse.sgml:
9308         * docs/gst/tmpl/gsttaglist.sgml:
9309         * docs/gst/tmpl/gsttagsetter.sgml:
9310         * docs/gst/tmpl/gsttypefind.sgml:
9311         * docs/gst/tmpl/gsttypefindfactory.sgml:
9312         * gst/gstmemchunk.c:
9313         * gst/gstparse.c:
9314         * gst/gsttag.c:
9315         * gst/gsttaginterface.c:
9316         * gst/gsttypefind.c:
9317         * gst/gsttypefind.h:
9318           inlined more docs
9319
9320 === release 0.9.2 ===
9321
9322 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9323
9324         * NEWS:
9325         * RELEASE:
9326         * configure.ac:
9327           releasing 0.9.2, "South"
9328
9329 2005-09-05  Andy Wingo  <wingo@pobox.com>
9330
9331         * gst/registries/gstxmlregistry.h:
9332         * gst/registries/gstxmlregistry.c: Um... resurrect...
9333         
9334         * gst/registries/gstxmlregistry.h:
9335         * gst/registries/gstxmlregistry.c: and update to newer API.
9336         Incidentally they should be a bit faster now that they don't have
9337         to parse the caps.
9338         
9339 2005-09-05  Andy Wingo  <wingo@pobox.com>
9340
9341         * gst/registries/gstxmlregistry.h:
9342         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
9343         replaced by the libxml registry a while back
9344
9345 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9346
9347         * docs/gst/tmpl/gstplugin.sgml:
9348         * gst/elements/gstelements.c:
9349         * gst/gst.c:
9350         * gst/gstplugin.c: (gst_plugin_register_func),
9351         (gst_plugin_desc_copy), (gst_plugin_desc_free),
9352         (gst_plugin_get_source):
9353         * gst/gstplugin.h:
9354         * gst/registries/gstlibxmlregistry.c: (load_plugin),
9355         (gst_xml_registry_save_plugin):
9356         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
9357         (gst_xml_registry_save_plugin):
9358         * tools/gst-inspect.c: (print_plugin_info):
9359           add a "source" plugin description field, to represent the source
9360           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
9361           will set it to PACKAGE, which is automake's idea of the name of
9362           the source project.
9363
9364 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9365
9366         * Makefile.am:
9367         * autogen.sh:
9368         * configure.ac:
9369         * docs/Makefile.am:
9370         * docs/faq/Makefile.am:
9371         * docs/gst/tmpl/gstelement.sgml:
9372         * docs/gst/tmpl/gsttypes.sgml:
9373         * docs/htmlinstall.mak:
9374         * docs/manual/Makefile.am:
9375         * docs/pwg/Makefile.am:
9376           reorganize doc build a little
9377           split out docbook and gtk-doc stuff
9378           have two separate --enable's and enable them through autogen
9379           but disable by default in configure (to be similar to other
9380           projects)
9381         * gstreamer.spec.in:
9382           clean up docs install
9383         * po/af.po:
9384         * po/az.po:
9385         * po/ca.po:
9386         * po/cs.po:
9387         * po/de.po:
9388         * po/en_GB.po:
9389         * po/fr.po:
9390         * po/it.po:
9391         * po/nb.po:
9392         * po/nl.po:
9393         * po/ru.po:
9394         * po/sq.po:
9395         * po/sr.po:
9396         * po/sv.po:
9397         * po/tr.po:
9398         * po/uk.po:
9399         * po/vi.po:
9400           translation updates
9401
9402 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
9403
9404         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
9405           Add comment.
9406           
9407         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9408         (gst_fake_sink_change_state):
9409           Make state change function thread-safe.
9410           
9411         * gst/gstpad.c: (gst_pad_alloc_buffer):
9412           Set offset on generic buffer allocated by fallback.
9413
9414 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
9415
9416         * docs/gst/gstreamer-sections.txt:
9417         * docs/gst/tmpl/gstelement.sgml:
9418         * gst/gstpad.c:
9419         * libs/gst/controller/gst-controller.c:
9420         (gst_controlled_property_set_interpolation_mode),
9421         (gst_controlled_property_new),
9422         (gst_controller_find_controlled_property):
9423          run the wingo-magic script against the docs
9424
9425 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9426
9427         * docs/gst/gstreamer-docs.sgml:
9428         * docs/gst/gstreamer-sections.txt:
9429         * docs/gst/tmpl/.cvsignore:
9430         * docs/gst/tmpl/gstelementdetails.sgml:
9431         * docs/gst/tmpl/gstelementfactory.sgml:
9432         * gst/gst.c:
9433         * gst/gstbus.c:
9434         * gst/gstelementfactory.c:
9435         * gst/gstelementfactory.h:
9436           merged elementdetails docs into elementfactory docs
9437           inlined both
9438
9439 2005-09-02  Andy Wingo  <wingo@pobox.com>
9440
9441         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
9442         consider this enum an enum and not a flags.
9443
9444 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9445
9446         * docs/gst/gstreamer-docs.sgml:
9447         * docs/gst/tmpl/.cvsignore:
9448         * docs/gst/tmpl/gstghostpad.sgml:
9449         * docs/gst/tmpl/gstiterator.sgml:
9450         * docs/gst/tmpl/gstmacros.sgml:
9451         * docs/gst/tmpl/gstrealpad.sgml:
9452         * docs/gst/tmpl/gstregistry.sgml:
9453         * docs/gst/tmpl/gstregistrypool.sgml:
9454         * docs/gst/tmpl/gststructure.sgml:
9455         * docs/gst/tmpl/gstsystemclock.sgml:
9456         * docs/gst/tmpl/gsttrace.sgml:
9457         * gst/gstghostpad.c:
9458         * gst/gstmacros.h:
9459         * gst/gstmemchunk.c:
9460         * gst/gstmemchunk.h:
9461         * gst/gstqueue.c:
9462         * gst/gstregistry.c:
9463         * gst/gstregistrypool.c:
9464         * gst/gststructure.c:
9465         * gst/gstsystemclock.c:
9466           more docs inlined
9467
9468 2005-09-02  Andy Wingo  <wingo@pobox.com>
9469
9470         * gst/gstelement.h (GstState): Renamed from GstElementState,
9471         changed to be a normal enum instead of flags.
9472         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
9473         munged to be GST_STATE_CHANGE_*.
9474         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
9475         work with the new state representation.
9476         (GstStateChange): New enumeration of possible state transitions.
9477         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
9478         (GstElementClass::change_state): Pass the GstStateChange along as
9479         an argument. Helps language bindings, so they don't have to use
9480         tricky lock-needing macros like GST_STATE_CHANGE ().
9481
9482         * scripts/update-states (file): New script. Run it on a file to
9483         update it for state naming and API changes. Updates files in
9484         place.
9485
9486         * All files updated for the new API.
9487
9488 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9489
9490         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
9491         * gst/gstutils.c: (gst_util_set_value_from_string),
9492         (gst_util_set_object_arg):
9493           fix a bunch of unchecked return values
9494         * tools/gst-complete.c: (main):
9495         * gstreamer.spec.in:
9496           clean up a little
9497
9498 2005-09-01  Wim Taymans  <wim@fluendo.com>
9499
9500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9501         (gst_base_sink_event), (gst_base_sink_do_sync),
9502         (gst_base_sink_handle_event):
9503         * gst/base/gstbasesink.h:
9504         Handle newsegments more correctly.
9505
9506         * gst/gstbus.c:
9507         Fix docs.
9508
9509         * gst/gstevent.c: (gst_event_new_newsegment):
9510         A newsegment cannot have a start_time of -1
9511
9512 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
9513
9514         * win32/gstenumtypes.c:
9515         * win32/gstenumtypes.h:
9516           Update
9517
9518 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9519
9520         * libs/gst/controller/gst-controller.c:
9521         (gst_controlled_property_set_interpolation_mode),
9522         (gst_controlled_property_new):
9523          fixed boolean again
9524
9525 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9526
9527         * docs/faq/gst-uninstalled:
9528           add -good
9529         * gst/gstevent.c:
9530         * gst/gstevent.h:
9531           remove wrong docs
9532         * gst/gstutils.c: (gst_element_link_filtered):
9533         * gst/gstutils.h:
9534           add gst_element_link_filtered
9535
9536 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9537
9538         * docs/gst/gstreamer-docs.sgml:
9539         * docs/gst/gstreamer-sections.txt:
9540         * docs/gst/tmpl/.cvsignore:
9541         * docs/gst/tmpl/gsterror.sgml:
9542         * docs/gst/tmpl/gstfilter.sgml:
9543         * docs/gst/tmpl/gsturihandler.sgml:
9544         * docs/gst/tmpl/gsturitype.sgml:
9545         * docs/gst/tmpl/gstutils.sgml:
9546         * docs/gst/tmpl/gstxml.sgml:
9547         * gst/gsterror.c:
9548         * gst/gsterror.h:
9549         * gst/gstfilter.c:
9550         * gst/gsturi.c:
9551         * gst/gsturitype.c:
9552         * gst/gstutils.c:
9553         * gst/gstxml.c:
9554           inlined more docs, fixed double id-ref
9555
9556 2005-08-31  Wim Taymans  <wim@fluendo.com>
9557
9558         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9559         (gst_base_transform_handle_buffer):
9560         Passthrough elements don't need the caps as they don't care.
9561
9562 2005-08-31  Wim Taymans  <wim@fluendo.com>
9563
9564         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9565         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
9566         Don't leak refcounts on buffers.
9567
9568 2005-08-31  Wim Taymans  <wim@fluendo.com>
9569
9570         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
9571         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
9572         (gst_base_transform_chain), (gst_base_transform_change_state):
9573         * gst/base/gstbasetransform.h:
9574         Handle the case where we are not negotiated more gracefully.
9575
9576 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
9577
9578         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
9579         (gst_file_src_map_region):
9580           Set READONLY flag on mmap'ed buffers, otherwise
9581           gst_buffer_make_writable() won't work properly (#314708).
9582
9583 2005-08-31  Wim Taymans  <wim@fluendo.com>
9584
9585         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
9586         passthrough elements can even do inplace on non writable
9587         buffers (as they don't touch them).
9588
9589 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9590
9591         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9592         (gst_test_mono_source_set_property),
9593         (gst_test_mono_source_class_init), (GST_START_TEST),
9594         (gst_controller_suite):
9595           more tests (hehe I have the most)
9596         * gst/gstbus.c:
9597           describe popping messages whenusing mulltiple sources
9598         * libs/gst/controller/gst-controller.c:
9599         (gst_controlled_property_set_interpolation_mode),
9600         (gst_controlled_property_new):
9601         * libs/gst/controller/gst-controller.h:
9602         * libs/gst/controller/gst-interpolation.c:
9603           implement boolean properties
9604
9605 2005-08-31  Wim Taymans  <wim@fluendo.com>
9606
9607         * gst/gstminiobject.c: (gst_mini_object_ref):
9608         Cannot assert that the refcount has to be positive
9609         since a disposed object can be resurrected.
9610
9611 2005-08-31  Wim Taymans  <wim@fluendo.com>
9612
9613         * gst/gstpad.c: (gst_pad_init):
9614         Revert change, need to first fix badly behaving 
9615         apps.
9616
9617 2005-08-30  Wim Taymans  <wim@fluendo.com>
9618
9619         * check/elements/fakesrc.c: (setup_fakesrc):
9620         * check/elements/identity.c: (setup_identity):
9621         Activate pads before using them.
9622
9623 2005-08-30  Wim Taymans  <wim@fluendo.com>
9624
9625         * gst/base/gstadapter.c: (gst_adapter_flush):
9626         Flushing out 0 bytes is ok for this function.
9627
9628         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9629         no newsegment gives a warning and sets the start/stop to 
9630         invalid.
9631
9632         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
9633         (gst_base_transform_set_passthrough):
9634         Some debug info.
9635
9636         * gst/gstminiobject.c: (gst_mini_object_ref):
9637         Check refcount here too.
9638
9639         * gst/gstpad.c: (gst_pad_init):
9640         Pads are initially flushing and refusing data.
9641
9642         * gst/gstutils.c: (gst_element_link_pads_filtered):
9643         When adding a capsfilter element make sure it has the
9644         same state as the parent bin.
9645
9646 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9647
9648         * docs/gst/tmpl/.cvsignore:
9649         * docs/gst/tmpl/gstformat.sgml:
9650         * docs/gst/tmpl/gstversion.sgml:
9651         * gst/gstbus.h:
9652         * gst/gstformat.c:
9653         * gst/gstformat.h:
9654         * gst/gstversion.h.in:
9655           more docs and two more inlined
9656
9657 2005-08-30  Wim Taymans  <wim@fluendo.com>
9658
9659         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
9660         Don't sync to clock.
9661
9662 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9663
9664         * docs/gst/gstreamer-sections.txt:
9665           ultral33t func10ns deserve to appear in the docs actually
9666         * docs/gst/tmpl/.cvsignore:
9667         * docs/gst/tmpl/gstcompat.sgml:
9668         * docs/gst/tmpl/gstconfig.sgml:
9669         * gst/check/gstcheck.c:
9670         * gst/gstcompat.h:
9671         * gst/gstconfig.h.in:
9672           inlined more docs
9673
9674 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9675
9676         * docs/gst/tmpl/.cvsignore:
9677         * docs/gst/tmpl/gstquery.sgml:
9678         * docs/gst/tmpl/gstutils.sgml:
9679         * gst/gstquery.c:
9680         * gst/gstquery.h:
9681           inlined and extended docs
9682
9683 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9684
9685         * check/gst-libs/controller.c: (GST_START_TEST),
9686         (gst_controller_suite):
9687           more tests
9688         * docs/gst/tmpl/gstutils.sgml:
9689         * docs/libs/gstreamer-libs-sections.txt:
9690         * docs/libs/tmpl/gstdataprotocol.sgml:
9691           include path fixes
9692         * examples/controller/audio-example.c: (main):
9693           controller example works now
9694         * gst/gstclock.h:
9695           doc fixes
9696         * tools/gst-inspect.c: (print_element_properties_info):
9697           show param spec flags
9698
9699 2005-08-29  Andy Wingo  <wingo@pobox.com>
9700
9701         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
9702
9703 2005-08-28  Andy Wingo  <wingo@pobox.com>
9704
9705         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
9706         as having two arguments instead of just one. Allows superclasses
9707         to access information on subclasses -- see the terrible for() loop
9708         in gtype.c:g_type_create_instance for the reason why. All callers
9709         changed.
9710
9711 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9712
9713         * docs/design/part-messages.txt:
9714           update info
9715         * docs/gst/tmpl/.cvsignore:
9716         * docs/gst/tmpl/gstcaps.sgml:
9717         * docs/gst/tmpl/gstclock.sgml:
9718         * gst/gstbus.c:
9719         * gst/gstcaps.c:
9720         * gst/gstcaps.h:
9721         * gst/gstclock.c:
9722         * gst/gstclock.h:
9723         * gst/gstmessage.c:
9724           added descriptions for bus and message
9725           inline caps and clock docs
9726
9727 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9728
9729         * gst/gstmessage.c:
9730         * gst/gstmessage.h:
9731           doc fixes
9732
9733 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9734
9735         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9736           fix div-by-zero
9737
9738 2005-08-26  Andy Wingo  <wingo@pobox.com>
9739
9740         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
9741         element_set_state's return val.
9742         (test_2_elements): Add test that's been disabled for months.
9743
9744         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
9745         can-activate-pull properties.
9746
9747         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
9748         can-activate-pull properties. Implement is_seekable so fakesrc can
9749         operate in pull mode.
9750
9751         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
9752         properties.
9753         (gst_base_sink_activate, gst_base_sink_activate_pull)
9754         (gst_base_sink_activate_push): Make activation mode choosing work.
9755         Cleanups.
9756         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
9757         is right. Make pull mode work. Post an eos before pausing in pull
9758         mode.
9759         (gst_base_sink_change_state): Pay attention to the core's
9760         change_state() return val.
9761         
9762         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
9763         has-getrange properties. Cleanups.
9764         
9765         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
9766         has_getrange and replace with can_activate_pull and
9767         can_activate_push.
9768
9769         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
9770         locking comments. Remove has_loop, has_chain and replace with
9771         can_activate_pull and can_activate_push.
9772
9773 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
9774
9775         * configure.ac:
9776         * examples/Makefile.am:
9777         * examples/metadata/Makefile.am:
9778         * examples/metadata/read-metadata.c: (message_loop),
9779         (have_pad_handler), (make_pipeline), (print_tag), (main):
9780           Add metadata reading example that loops over a list of filenames,
9781           dumping any tags found.
9782
9783         * gst/gstbus.c: (gst_bus_dispose):
9784         * gst/gstelement.c: (gst_element_dispose):
9785           Release a few potentially-held references in dispose.
9786
9787 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9788
9789         * docs/gst/tmpl/gstminiobject.sgml:
9790           do *not* add tmpl/*.sgml files to CVS!
9791
9792 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9793
9794         * libs/gst/bytestream/.cvsignore:
9795         * libs/gst/bytestream/Makefile.am:
9796         * libs/gst/bytestream/adapter.c:
9797         * libs/gst/bytestream/adapter.h:
9798         * libs/gst/bytestream/bytestream.c:
9799         * libs/gst/bytestream/bytestream.h:
9800         * libs/gst/bytestream/filepad.c:
9801         * libs/gst/bytestream/filepad.h:
9802           removing obsolete files
9803
9804 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9805
9806         * docs/gst/gstreamer-docs.sgml:
9807         * docs/libs/gstreamer-libs-docs.sgml:
9808           disabed additional index entries again, as this makes docs-gen just
9809           slow and they aren't useful yet
9810         * docs/libs/gstreamer-libs-sections.txt:
9811           little -section.txt cleanup for libs
9812
9813 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9814
9815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9816         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
9817           fix up some debugging
9818         (gst_base_transform_get_unit_size),
9819         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9820         (gst_base_transform_handle_buffer):
9821         * gst/base/gstbasetransform.h:
9822           handle and store timed NEWSEGMENT events so that subclasses that
9823           calculate time by counting samples have a segment_start time they
9824           need to add to their timestamps - see audioresample
9825
9826 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9827
9828         * gst/gstbin.h:
9829           removed ';' from the end of macro defs
9830         * docs/gst/gstreamer-docs.sgml:
9831         * docs/gst/gstreamer-sections.txt:
9832         * docs/gst/tmpl/.cvsignore:
9833         * gst/gstbus.h:
9834         * gst/gstelement.c: (gst_element_class_init),
9835         (gst_element_set_state), (activate_pads),
9836         (gst_element_save_thyself):
9837         * gst/gstevent.c: (gst_event_new_newsegment):
9838         * gst/gstevent.h:
9839         * gst/gstiterator.c:
9840         * gst/gstiterator.h:
9841         * gst/gstpad.c:
9842         * gst/gstprobe.h:
9843         * gst/gstutils.c: (gst_pad_query_convert):
9844         * gst/gstutils.h:
9845           fixed parameter name mismatches between source, header and docs
9846           added some more docs, resolved the last batch of unused elements in
9847           docs (now someone needs to doc them)
9848
9849 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9850
9851         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9852         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9853           don't walk through the plugins backwards.  Where is all this
9854           reversed logic coming from ?
9855
9856 2005-08-25  Wim Taymans  <wim@fluendo.com>
9857
9858         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9859         (gst_base_transform_transform_size),
9860         (gst_base_transform_configure_caps),
9861         (gst_base_transform_get_unit_size),
9862         (gst_base_transform_buffer_alloc),
9863         (gst_base_transform_change_state):
9864         * gst/base/gstbasetransform.h:
9865         Cache caps unit_size.
9866         Make sure we cannot negotiate up and downstream at the
9867         same time.
9868
9869 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9870
9871         * gst/gst.c: (init_pre), (init_post):
9872           register the installed plugin path after the env var
9873         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9874         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9875           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9876           directories, so the tests can prefer uninstalled over installed
9877
9878 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9879
9880         * gst/base/gstbasetransform.h:
9881           comment
9882         * gst/gstpad.c:
9883           add to docs
9884
9885 2005-08-25  Wim Taymans  <wim@fluendo.com>
9886
9887         * gst/gstbin.c: (bin_bus_handler):
9888         Be a bit more conservative about the posted message.
9889         
9890         * gst/gstbus.c: (gst_bus_post):
9891         Some cleanups, warn wrong return values.
9892
9893 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
9894
9895         * check/gst/gstbin.c: (GST_START_TEST):
9896         * gst/gstbin.c: (bin_bus_handler):
9897         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9898         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9899         (gst_message_new_warning), (gst_message_new_tag),
9900         (gst_message_new_state_changed), (gst_message_new_segment_start),
9901         (gst_message_new_segment_done), (gst_message_new_custom):
9902         * gst/gstmessage.h:
9903         * tools/gst-launch.c: (event_loop):
9904         * tools/gst-md5sum.c: (event_loop):
9905           Revert unpopular change for GST_MESSAGE_SRC to GObject.
9906
9907 2005-08-25  Wim Taymans  <wim@fluendo.com>
9908
9909         * check/generic/states.c: (GST_START_TEST):
9910         Cleanup can be done at the end.
9911
9912         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9913         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9914         (gst_task_get_state), (gst_task_start), (gst_task_pause):
9915         Oh boy.. Thanks for finding this, Thomas. 
9916
9917 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9918
9919         * docs/gst/gstreamer.types:
9920           added missing types
9921
9922 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9923
9924         * docs/gst/gstreamer-docs.sgml:
9925         * docs/gst/gstreamer-sections.txt:
9926         * docs/gst/tmpl/.cvsignore:
9927         * gst/gstbin.c:
9928         * gst/gstiterator.c:
9929         * gst/gstutils.c:
9930         * gst/registries/gstxmlregistry.h:
9931           added missing classes and symbols (123 more to go)
9932           removed removed symbols from section file
9933           fixed many doc-comments
9934
9935 2005-08-24  Wim Taymans  <wim@fluendo.com>
9936
9937         * check/generic/states.c: (GST_START_TEST):
9938         Make sure all tasks are stopped.
9939
9940         * check/gst/gstbin.c: (GST_START_TEST):
9941         Unref after usage for proper valgrinding.
9942
9943         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9944         Really wait for the task to stop before destroying the
9945         mutex.
9946
9947         * gst/gstqueue.c: (gst_queue_sink_activate_push),
9948         (gst_queue_src_activate_push):
9949         Small cleanups. Don't stop the task when we did not start
9950         it.
9951
9952         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9953         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9954         (gst_task_get_state), (gst_task_start), (gst_task_pause),
9955         (gst_task_join):
9956         * gst/gsttask.h:
9957         Protect the stream lock with the object lock.
9958         Disallow setting the stream lock when running.
9959         Add cleanup_all to wait for the threadpool to finish.
9960         Remove code to autoallocate a mutex if none was provided.
9961         Add _join() to wait for a task to stop.
9962         Protect the thread pool with a global lock.
9963
9964 2005-08-24  Wim Taymans  <wim@fluendo.com>
9965
9966         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9967         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9968         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9969         * gst/base/gstbasesink.h:
9970         Handle newsegment events correctly.
9971         Drop buffers out of the segment range.
9972
9973 2005-08-22  Andy Wingo  <wingo@pobox.com>
9974
9975         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9976         macro, implements an interface and gstimplementsinterface for a
9977         new type.
9978
9979 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9980
9981         * check/Makefile.am:
9982         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9983           add a test that does a bunch of state changes on elements
9984           needs some fixing for valgrind
9985         * check/states/sinks.c: (gst_object_suite):
9986           whitespace
9987         * gst/gstcaps.h:
9988           add prototype for gst_caps_is_equal_fixed
9989         * gst/gstplugin.c:
9990         * gst/gstregistrypool.c:
9991           doc fixes
9992
9993 2005-08-24  Andy Wingo  <wingo@pobox.com>
9994
9995         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9996         convert a negative value. Doesn't make much sense. Mostly this is
9997         here to force callers to ensure -1 maps to -1.
9998
9999 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10000
10001         * docs/pwg/advanced-types.xml:
10002           Well done to Michael for catching my deliberate introduction
10003           of this spelling mistake. 
10004         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
10005         * gst/gstelement.h:
10006           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
10007           unlink pads before removing the element from the bin.
10008
10009 2005-08-24  Andy Wingo  <wingo@pobox.com>
10010
10011         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
10012         the same thing as GST_DEBUG=*:4.
10013         (parse_debug_level, parse_debug_category): New helper parsers.
10014
10015 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10016
10017         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10018         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
10019         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
10020         (gst_base_transform_buffer_alloc),
10021         (gst_base_transform_handle_buffer):
10022           use gboolean return values and pointers to size so we can use the
10023           full GST_BUFFER_SIZE range (guint) for buffer sizes
10024           use GstPadDirection for transform_caps
10025         * gst/base/gstbasetransform.h:
10026           rename get_size to get_unit_size since that's what it is
10027         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
10028           use GstPadDirection for transform_caps
10029         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10030         * gst/gstutils.h:
10031           cleanup and debugging
10032
10033 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10034
10035         * gst/gstelement.c: (gst_element_class_init),
10036         (gst_element_set_state), (activate_pads),
10037         (gst_element_save_thyself):
10038         * tools/gst-compprep.c: (main):
10039         * tools/gst-inspect.c: (print_element_properties_info):
10040         * tools/gst-xmlinspect.c: (print_element_properties):
10041           Fixed long standing mem-leak
10042
10043 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10044
10045         * check/gst/gstbin.c: (GST_START_TEST):
10046         * gst/gstbin.c: (bin_bus_handler):
10047         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10048         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10049         (gst_message_new_warning), (gst_message_new_tag),
10050         (gst_message_new_state_changed), (gst_message_new_segment_start),
10051         (gst_message_new_segment_done), (gst_message_new_custom):
10052         * gst/gstmessage.h:
10053         * tools/gst-launch.c: (event_loop):
10054         * tools/gst-md5sum.c: (event_loop):
10055           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
10056           that applications can sensibly post custom messages with references
10057           to their own objects.
10058
10059 2005-08-24  Andy Wingo  <wingo@pobox.com>
10060
10061         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
10062         already.
10063
10064 2005-08-24  Wim Taymans  <wim@fluendo.com>
10065
10066         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10067         (gst_base_transform_transform_caps),
10068         (gst_base_transform_transform_size),
10069         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10070         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10071         (gst_base_transform_handle_buffer):
10072         * gst/base/gstbasetransform.h:
10073         Many fixes and new features added by Thomas. Can now also do
10074         transforms with variable sizes and a custom fixate_caps function.
10075
10076 2005-08-24  Wim Taymans  <wim@fluendo.com>
10077
10078         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10079         Some debugging.
10080
10081         * gst/gstclock.h:
10082         Cast to ClockTime before formatting to time.
10083
10084         * gst/gstutils.h:
10085         Cleanups.
10086
10087 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10088
10089         * check/gst-libs/controller.c: (GST_START_TEST),
10090         (gst_controller_suite):
10091         * docs/gst/tmpl/gstcaps.sgml:
10092         * docs/gst/tmpl/gstghostpad.sgml:
10093         * docs/gst/tmpl/gstquery.sgml:
10094         * docs/gst/tmpl/gstutils.sgml:
10095         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
10096         (gst_object_sink_values), (gst_object_get_value_arrays),
10097         (gst_object_get_value_array):
10098           gracefully handle helper method calls to objects that are not beeing
10099           controlled, added test case for that          
10100
10101 2005-08-23  Wim Taymans  <wim@fluendo.com>
10102
10103         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
10104         (gst_event_new_newsegment), (gst_event_parse_newsegment),
10105         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
10106         (gst_event_parse_qos), (gst_event_new_seek),
10107         (gst_event_parse_seek):
10108         * gst/gstevent.h:
10109         Some more debugging output and doc cleanups.
10110
10111         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10112         Fix possible deadlock.
10113
10114 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10115
10116         * docs/gst/gstreamer-docs.sgml:
10117         * docs/gst/gstreamer-sections.txt:
10118         * docs/gst/gstreamer.types:
10119         * docs/gst/tmpl/.cvsignore:
10120         * gst/gstbin.h:
10121         * gst/gstbus.c:
10122         * gst/gstelement.c:
10123         * gst/gstevent.h:
10124           added 100 symbols from gstreamer-unused.txt to the right sections
10125           fixed more broken comments
10126           added GstBus to docs
10127
10128 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10129
10130         * docs/gst/gstreamer-sections.txt:
10131         * docs/gst/tmpl/.cvsignore:
10132         * docs/gst/tmpl/gstbin.sgml:
10133         * docs/gst/tmpl/gstbuffer.sgml:
10134         * gst/base/gstbasesrc.c:
10135         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
10136         * gst/gstbuffer.c:
10137         * gst/gstbuffer.h:
10138         * tools/gst-launch.1.in:
10139           inlined more doc comments, added missing comments and fixed comments
10140           fixed typos
10141
10142 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10143
10144         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10145           some debugging
10146         * gst/gstcaps.h:
10147           whitespace fixes
10148         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
10149           more debugging
10150         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
10151         * gst/gststructure.h:
10152           add a fixate function for booleans; add a FIXME that these func
10153           names should probably be gst_structure_fixate_*
10154
10155 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10156
10157         * docs/gst/gstreamer-docs.sgml:
10158         * docs/gst/gstreamer-sections.txt:
10159         * gst/Makefile.am:
10160         * gst/gstbin.c: (gst_bin_get_type),
10161         (gst_bin_child_proxy_get_child_by_index),
10162         (gst_bin_child_proxy_get_children_count),
10163         (gst_bin_child_proxy_init):
10164         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10165         (gst_child_proxy_get_child_by_index),
10166         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
10167         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
10168         (gst_child_proxy_get), (gst_child_proxy_set_property),
10169         (gst_child_proxy_set_valist), (gst_child_proxy_set),
10170         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
10171         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
10172         * gst/gstchildproxy.h:
10173         * gst/parse/grammar.y:
10174         * tools/gst-inspect.c: (print_interfaces),
10175         (print_element_properties_info), (print_element_info):
10176           ported gstchildproxy over from 0.8
10177           ported gst-inspect fixes and enhancements over from 0.8
10178
10179 2005-08-22  Wim Taymans  <wim@fluendo.com>
10180
10181         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10182         (gst_base_transform_handle_buffer):
10183         Also call the transform function if we have ANY caps.
10184
10185         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
10186         Fix debug info.
10187
10188 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10189
10190         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
10191           Don't pretend to handle seek events if the source is not seekable
10192
10193 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10194
10195         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10196           Remove extra parameter to debug output
10197
10198         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10199         (gst_base_src_do_seek), (gst_base_src_activate_push):
10200           Fix seek event handling.
10201
10202         * gst/gstpipeline.c: (gst_pipeline_change_state):
10203         * gst/gstqueue.c: (gst_queue_handle_sink_event),
10204         (gst_queue_src_activate_push):
10205           Don't start the src pad task on FLUSH_STOP if the pad
10206           isn't linked.
10207           Debug changes.
10208
10209 2005-08-22  Wim Taymans  <wim@fluendo.com>
10210
10211         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10212         Added check for gst_static_caps_get() refcounting.
10213
10214 2005-08-22  Wim Taymans  <wim@fluendo.com>
10215
10216         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
10217         Make _static_caps_get() refcounting sane.
10218         
10219         * gst/gstelement.c: (gst_element_set_state):
10220         Add g_return_val_if_fail() to protect against segfaults.
10221
10222 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
10223
10224         * docs/gst/tmpl/gstevent.sgml:
10225         * gst/gstevent.c:
10226         * gst/gstevent.h:
10227           inlined remaining docs, added missing doc comments
10228
10229 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10230
10231         * check/gst/gstbin.c: (GST_START_TEST):
10232           since we don't know when preroll is done, use refcount range
10233           check for the sink
10234         * gst/check/gstcheck.h:
10235           add macro for checking refcount range
10236
10237 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10238
10239         * check/Makefile.am:
10240           clean up environment for when registry gets built versus
10241           when actual tests are run; valgrind seems to not report
10242           leaks if GST_PLUGIN_PATH is set to some specific values
10243         * check/gst/gstbin.c: (GST_START_TEST):
10244           add more refcounting checks; maybe this exposes a
10245           preroll lock bug ?
10246         * common/check.mak:
10247         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10248         * gst/check/gstcheck.h:
10249         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
10250         (gst_bin_change_state):
10251         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
10252           add/fix debugging/whitespace
10253
10254 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10255
10256         * check/gst/gstevent.c: (event_probe), (test_event),
10257         (GST_START_TEST):
10258          Er, don't call gst_bin_watch_for_state_change you idiot.
10259
10260 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10261
10262         * check/Makefile.am:
10263           Use CHECK_CFLAGS and CHECK_LIBS
10264         * check/gst/gstevent.c: (event_probe), (test_event),
10265         (GST_START_TEST):
10266           Don't leak events.
10267         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10268         (gst_base_src_start), (gst_base_src_stop),
10269         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10270         (gst_base_src_change_state):
10271           Sprinkle gst_base_src_stop liberally around error paths to fix
10272           problems reusing a source after failed state changes.
10273         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10274         (helper_find_suggest), (gst_type_find_helper):
10275           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
10276         * gst/gstevent.h:
10277         * docs/gst/tmpl/gstevent.sgml:
10278           Migrate part of the docs from the SGML file. Wait for ensonic to
10279           tell me how I did it wrong ;)
10280         * tools/gst-typefind.c: (main):
10281           Extra robustness to state changes between files.
10282
10283 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10284
10285         * check/Makefile.am:
10286           don't valgrind the controller test - it's leaking - Stefan, HELP
10287         * gst/check/gstcheck.c: (gst_check_message_error),
10288         (gst_check_chain_func), (gst_check_setup_element),
10289         (gst_check_teardown_element), (gst_check_setup_src_pad),
10290         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10291         (gst_check_teardown_sink_pad):
10292         * gst/check/gstcheck.h:
10293           add a bunch of methods to set up elements, and src and sink pads
10294         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
10295         * check/elements/identity.c: (setup_identity), (cleanup_identity),
10296         (GST_START_TEST):
10297           use them
10298         * gst/gstmessage.c:
10299         * gst/gsttag.h:
10300           whitespace/doc fixes
10301
10302 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10303
10304         * gst/gstelement.h:
10305           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
10306           be handled by the application and not always printed as well
10307
10308 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10309
10310         * check/Makefile.am:
10311           set GST_TOOLS_DIR
10312         * gst/check/gstcheck.c: (gst_check_message_error):
10313         * gst/check/gstcheck.h:
10314           add a fail_unless_equals_int
10315           add fail_unless for error messages
10316
10317 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10318
10319         * check/Makefile.am:
10320         * check/gst.supp:
10321         * common/Makefile.am:
10322         * common/check.mak:
10323         * common/gst.supp:
10324           factor out some of the common stuff so we can use it
10325
10326 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10327
10328         * check/Makefile.am:
10329         * check/gst/gstiterator.c: (GST_START_TEST):
10330         * check/gst/gstsystemclock.c: (GST_START_TEST),
10331         (gst_systemclock_suite):
10332         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10333         * gst/gstclock.c:
10334           valgrind more tests
10335
10336 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10337
10338         * check/elements/.cvsignore:
10339         * check/elements/gstfakesrc.c:
10340           rename to name of element
10341         * check/elements/identity.c: (chain_func), (event_func),
10342         (setup_identity), (cleanup_identity), (GST_START_TEST),
10343         (identity_suite), (main):
10344           add a test for identity
10345         * check/Makefile.am:
10346         * pkgconfig/Makefile.am:
10347         * pkgconfig/gstreamer-check.pc.in:
10348         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10349         * gst/check:
10350         * gst/Makefile.am:
10351         * configure.ac:
10352           move the check stuff to a library that gets installed
10353         * check/gst-libs/controller.c: (GST_START_TEST):
10354         * check/gst-libs/gdp.c:
10355         * check/gst/gst.c: (GST_START_TEST):
10356         * check/gst/gstbin.c:
10357         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10358         * check/gst/gstbus.c:
10359         * check/gst/gstcaps.c: (GST_START_TEST):
10360         * check/gst/gstelement.c:
10361         * check/gst/gstghostpad.c:
10362         * check/gst/gstiterator.c:
10363         * check/gst/gstmessage.c:
10364         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
10365         * check/gst/gstobject.c:
10366         * check/gst/gstpad.c: (GST_START_TEST):
10367         * check/gst/gststructure.c: (GST_START_TEST):
10368         * check/gst/gstsystemclock.c: (GST_START_TEST),
10369         (gst_systemclock_suite):
10370         * check/gst/gsttag.c: (gst_tag_suite):
10371         * check/gst/gstvalue.c:
10372         * check/pipelines/cleanup.c:
10373         * check/pipelines/simple_launch_lines.c:
10374         * check/states/sinks.c:
10375           change include statement
10376
10377         * docs/gst/gstreamer-sections.txt:
10378         * docs/gst/tmpl/gstpad.sgml:
10379           document more pad stuff
10380         * gst/gstminiobject.c: (gst_mini_object_ref),
10381         (gst_mini_object_unref):
10382           debug refcounting
10383
10384 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
10385
10386         * docs/gst/tmpl/gst.sgml:
10387         * gst/gst.c:
10388           eliminate another tmpl file, fix spelling in the long-description
10389
10390 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10391
10392         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10393         (test_event), (timediff), (gstevents_suite):
10394           Should fix build on 64-bit arch's
10395
10396 2005-08-18  Andy Wingo  <wingo@pobox.com>
10397
10398         Make sure that when a pipeline goes to PLAYING, that data has
10399         actually hit the sink.
10400
10401         * check/states/sinks.c (test_sink): A sink that doesn't get any
10402         data shouldn't return SUCCESS for going to either PLAYING or
10403         PAUSED. Test also the return values on the way back down.
10404
10405         * gst/gstelement.c (gst_element_set_state): When changing the
10406         state of an element currently changing state asynchronously, go to
10407         lost-state after commiting the pending state. Makes future calls
10408         to get_state continue to return ASYNC.
10409
10410         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
10411         ASYNC when going to PLAYING if we still don't have preroll, as can
10412         happen with live sources.
10413
10414 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10415
10416         * docs/pwg/advanced-types.xml:
10417           Hack long paragraph into 2 chunks as a workaround for buggy
10418           jadetex version in sid and breezy that loops infinitely and
10419           eats all RAM.
10420
10421 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10422
10423         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10424         (test_event), (timediff), (gstevents_suite):
10425           Provide more error margin in clock measurements to allow for 
10426           g_get_current_time inaccuracies.
10427
10428 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10429
10430         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10431         (test_event), (timediff), (gstevents_suite):
10432            Fix error message output so I might be able to tell why the
10433            test works here but fails on the build farm.
10434
10435 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10436
10437         * check/Makefile.am:
10438         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10439         (test_event), (timediff), (gstevents_suite), (main):
10440           I wrote a test!
10441
10442         * docs/design/part-seeking.txt:
10443           Spelling correction
10444
10445         * docs/gst/tmpl/gstevent.sgml:
10446         * docs/gst/tmpl/gstfakesrc.sgml:
10447           Docs updates.
10448
10449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10450           Treat a buffer-without-newsegment the same as a receiving 
10451           a newsegment not in time format, and disable syncing to the clock
10452           with a warning.
10453
10454         * gst/gstbus.c: (gst_bus_set_sync_handler):
10455           Assert if anyone tries to replace the existing sync_handler for bus, 
10456           as only the owner should be setting it.
10457
10458         * gst/gstevent.h:
10459           Have a fixed set of custom event enums with events identified by
10460           their structure name (as in 0.8), rather than a free-for-all
10461           allowing collisions between enum values from different plugins.
10462
10463         * gst/gstpad.c: (gst_pad_class_init):
10464           Docs change.
10465           
10466         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10467           Handle out-of-band downstream events from the sending thread.
10468
10469 2005-08-17  Andy Wingo  <wingo@pobox.com>
10470
10471         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
10472         play-timeout==0 to mean no timeout at all. In that case, don't
10473         bother with a get_state or a warning, just return directly, even
10474         if it's ASYNC.
10475
10476         * gst/base/gstbasetransform.c: Debug changes.
10477
10478         * gst/gstutils.h:
10479         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
10480         ensure bins post state change messages. A bit of a hack but I can't
10481         think of a way to avoid it.
10482
10483         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
10484
10485 2005-08-16  Andy Wingo  <wingo@pobox.com>
10486
10487         * gst/base/gstadapter.h:
10488         * gst/base/gstadapter.c (gst_adapter_take): New function, like
10489         peek() but you own the data. Not terribly efficient atm.
10490
10491 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10492
10493         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
10494         (gst_element_found_tags):
10495         * gst/gstutils.h:
10496           Add two utility functions for tag handling.
10497
10498 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10499
10500         * docs/manual/advanced-dataaccess.xml:
10501         * docs/manual/basics-helloworld.xml:
10502           Fix docs to use _bin_add() before _link(), which fixes the examples
10503           with recent core versions (reported by Madhan Raj M
10504           <raj_madan@rediffmail.com>, #313199).
10505
10506 2005-08-16  Wim Taymans  <wim@fluendo.com>
10507
10508         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10509         Added subtract checks.
10510
10511         * docs/design/part-events.txt:
10512         Some more docs about newsegment
10513
10514         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10515         Fix FIXME
10516
10517         * gst/gstcaps.c: (gst_caps_to_string):
10518         Add comments, cleanups.
10519         
10520         * gst/gstelement.c: (gst_element_save_thyself):
10521         cleanups
10522         
10523         * gst/gstvalue.c: (gst_value_collect_int_range),
10524         (gst_string_unwrap), (gst_value_union_int_int_range),
10525         (gst_value_union_int_range_int_range),
10526         (gst_value_intersect_int_int_range),
10527         (gst_value_intersect_int_range_int_range),
10528         (gst_value_intersect_double_double_range),
10529         (gst_value_intersect_double_range_double_range),
10530         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
10531         (gst_value_subtract_int_range_int),
10532         (gst_value_subtract_double_range_double),
10533         (gst_value_subtract_double_range_double_range),
10534         (gst_value_subtract_from_list), (gst_value_subtract_list),
10535         (gst_value_can_compare), (gst_value_compare_fraction):
10536         Cleanups, add comments, remove unneeded asserts.
10537
10538 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10539
10540         * tools/gst-launch.c: (event_loop):
10541           don't convert NULL structures to strings
10542
10543 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
10544
10545         * docs/gst/gstreamer-sections.txt:
10546           made some defines private
10547         * docs/gst/tmpl/gstconfig.sgml:
10548         * docs/gst/tmpl/gstqueue.sgml:
10549         * docs/gst/tmpl/gsttaglist.sgml:
10550         * docs/gst/tmpl/gsttypes.sgml:
10551         * docs/gst/tmpl/gstutils.sgml:
10552         * docs/pwg/appendix-porting.xml:
10553         * gst/base/gstbasesink.h:
10554         * gst/base/gstbasesrc.c:
10555         * gst/base/gstbasesrc.h:
10556         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
10557         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
10558         * gst/gstelement.c: (gst_element_class_init):
10559         * gst/gstpad.c: (gst_pad_class_init):
10560         * gst/gstqueue.c: (gst_queue_class_init):
10561         * gst/gstxml.c: (gst_xml_class_init):
10562           documented all undocumented signal inline
10563         * libs/gst/controller/gst-controller.h:
10564           added padding
10565
10566 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10567
10568         * docs/pwg/appendix-porting.xml:
10569           Document _set_link_function -> _set_setcaps_function.
10570
10571 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10572
10573         * check/Makefile.am:
10574           add a .check target for running the check
10575         * check/gst-libs/controller.c: (GST_START_TEST):
10576           cosmetic fixups
10577         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10578           complete checks for gstbuffer; would be nice if I could get the
10579           gcov stuff to work so I can see if I actually completed gstbuffer.c
10580         * check/gstcheck.h:
10581           add ASSERT_BUFFER_REFCOUNT
10582
10583 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
10584
10585         * docs/gst/gstreamer-sections.txt:
10586         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10587         * gst/gsttag.h:
10588           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
10589           spew out a warning if a tag that is already registered
10590           is re-registered, unless it is re-registered with a 
10591           different type (#308438).
10592
10593 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
10594
10595         * docs/pwg/appendix-porting.xml:
10596         * docs/pwg/building-state.xml:
10597           Add some paragraphs about state changes in 0.9 to the PWG
10598           and the porting guide, in particular about the new meaning
10599           of GST_STATE_PAUSED and how to write state change functions
10600           with concurrent access by multiple threads in mind.
10601
10602 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
10603
10604         * docs/gst/gstreamer-docs.sgml:
10605         * docs/libs/gstreamer-libs-docs.sgml:
10606           added deprecation and since indexes
10607         * libs/gst/controller/gst-controller.c:
10608         * libs/gst/controller/gst-helper.c:
10609           added since tags
10610
10611
10612 2005-08-11  Wim Taymans  <wim@fluendo.com>
10613
10614         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
10615         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
10616         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
10617         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
10618         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
10619         (gst_ghost_pad_set_target):
10620         Actually implement (re)setting the target on a ghostpad
10621         as described in the docs.
10622
10623 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10624
10625         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
10626           Check whether GST_DEBUG_NO_COLOR environment variable is
10627           set and disable coloured debug output if that is the case.
10628
10629 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10630
10631         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10632         (gst_type_find_helper):
10633           The memory returned by gst_type_find_peek() needs to
10634           stay valid until the end of a typefind function, and
10635           typefind functions may keep results from different 
10636           offsets around, so we can't just unref the buffer from
10637           the previous _peek(), but have to save all buffers 
10638           returned by _peek() until typefinding is done and only
10639           free them then.
10640
10641 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
10642
10643         * docs/gst/gstreamer-sections.txt:
10644         * gst/gstutils.h:
10645           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
10646
10647 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10648
10649         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10650           Fix a pretty good memleak.
10651
10652 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10653
10654         * gst/gstiterator.h:
10655           Fix wrong include and 'make distcheck'.
10656
10657 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10658
10659         * gst/gstbin.c: (bin_bus_handler):
10660           Use gst_element_post_message() instead.
10661
10662 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10663
10664         * gst/base/gstadapter.h:
10665         * gst/base/gstbasesink.h:
10666         * gst/base/gstbasesrc.h:
10667         * gst/base/gstbasetransform.h:
10668         * gst/base/gstcollectpads.h:
10669         * gst/base/gstpushsrc.h:
10670         * gst/gstiterator.h:
10671           Add padding to our base elements' class and instance structs and
10672           to GstIterator (you will need to rebuild all plugins and apps!)
10673
10674 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10675
10676         * gst/gstbin.c: (bin_bus_handler):
10677           Make default message forwarding from child->bus to bin->bus
10678           threadsafe and make it not emit warnings if the parent has no bus.
10679
10680 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10681
10682         * gst/gstelement.c: (activate_pads):
10683           On paused->ready, set pad->caps to NULL, as is the documented
10684           behaviour in this state change. Fixes playback of series of
10685           media files when visualization is enabled in Totem.
10686
10687 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10688
10689         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10690           Allow NULL as filter-caps (which means "any").
10691
10692 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10693
10694         * docs/libs/gstreamer-libs-sections.txt:
10695         * libs/gst/controller/gst-controller.c:
10696         * libs/gst/controller/gst-controller.h:
10697         * libs/gst/controller/gst-helper.c:
10698           adding more entries to the docs and fix small doc-bugs
10699
10700 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10701
10702         * docs/gst/gstreamer-docs.sgml:
10703         * docs/gst/gstreamer-sections.txt:
10704         * docs/gst/gstreamer.types:
10705         * docs/gst/tmpl/gstbasesink.sgml:
10706         * docs/gst/tmpl/gstbasesrc.sgml:
10707         * docs/gst/tmpl/gstbasetransform.sgml:
10708         * docs/gst/tmpl/gstfakesrc.sgml:
10709         * gst/base/gstcollectpads.c:
10710         * gst/base/gstcollectpads.h:
10711         * libs/gst/controller/gst-controller.c:
10712         * libs/gst/controller/gst-controller.h:
10713         * libs/gst/controller/gst-helper.c:
10714         * libs/gst/controller/gst-interpolation.c:
10715         * libs/gst/controller/lib.c:
10716           added long/short desc for controller docs
10717           added collectpads base class docs
10718           added correct includes to base-class docs
10719
10720 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10721
10722         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10723         (gst_test_mono_source_set_property),
10724         (gst_test_mono_source_class_init), (GST_START_TEST),
10725         (gst_controller_suite):
10726         * docs/gst/gstreamer-docs.sgml:
10727         * docs/gst/gstreamer-sections.txt:
10728         * docs/gst/gstreamer.types:
10729         * docs/libs/gstreamer-libs-docs.sgml:
10730         * docs/libs/gstreamer-libs-sections.txt:
10731         * gst/base/gstadapter.c:
10732         * libs/gst/controller/gst-controller.c:
10733         (gst_controlled_property_new), (gst_controlled_property_free),
10734         (gst_controller_new_valist),
10735         (gst_controller_remove_properties_valist),
10736         (gst_controller_sink_values), (_gst_controller_finalize):
10737         * libs/gst/controller/gst-controller.h:
10738         * libs/gst/controller/gst-helper.c:
10739         (gst_object_control_properties), (gst_object_uncontrol_properties),
10740         (gst_object_get_controller), (gst_object_set_controller),
10741         (gst_object_sink_values), (gst_object_get_value_arrays),
10742         (gst_object_get_value_array):
10743           more tests (and fixes) for the controller
10744           more docs for the controller
10745           integrated companies docs for the adapter 
10746
10747 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10748
10749         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
10750         (GST_START_TEST), (fakesrc_suite):
10751           add tests for sizetype
10752
10753 2005-08-04  Andy Wingo  <wingo@pobox.com>
10754
10755         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
10756         fixes buffer_alloc proxying among other things.
10757
10758         * gst/base/gstbasetransform.c:
10759         * gst/base/gstbasetransform.h:
10760         Revert patch to gstbasetransform from 7-28 removing
10761         delay_configure.
10762
10763         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
10764         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
10765         Semantics changed, should return not the size of the output buffer
10766         but the byte size of a buffer with a given caps.
10767
10768         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
10769         debug object.
10770         (gst_base_transform_configure_caps): Don't set out_size here: (in,
10771         out) are not the pad caps until setcaps finishes.
10772         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
10773         not-in-place case as well. Deal with changing from in-place to
10774         not-in-place within calling pad_alloc_buffer. Still a bit
10775         concerned about the overhead here...
10776
10777 2005-08-03  Andy Wingo  <wingo@pobox.com>
10778
10779         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
10780         fixating is an error.
10781
10782 2005-08-04  Edward Hervey  <edward@fluendo.com>
10783
10784         * gst/base/gstadapter.h: 
10785         Added gst_adapter_get_type() to the header
10786
10787 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10788
10789         * check/Makefile.am:
10790         * check/gst-libs/controller.c:
10791         * libs/gst/controller/gst-controller.c:
10792         (gst_controller_new_valist):
10793           added check test suite for the controller
10794         * gst/base/gstpushsrc.c:
10795           fixed a doc typo
10796
10797 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10798
10799         * docs/gst/Makefile.am:
10800         * docs/gst/gstreamer-docs.sgml:
10801         * docs/gst/gstreamer-sections.txt:
10802         * docs/gst/gstreamer.types:
10803         * docs/gst/tmpl/gstfakesrc.sgml:
10804         * gst/base/README:
10805         * gst/base/gstbasesink.c:
10806         * gst/base/gstbasesink.h:
10807         * gst/base/gstbasesrc.c:
10808         * gst/base/gstbasesrc.h:
10809         * gst/base/gstbasetransform.c:
10810         * gst/base/gstpushsrc.c:
10811         * gst/base/gstpushsrc.h:
10812           add short/long description docs to base classes
10813           add pushsrc to the docs
10814           remove consolidated doc fragments
10815
10816 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10817
10818         * configure.ac:
10819         * docs/libs/Makefile.am:
10820         * docs/libs/gstreamer-libs-docs.sgml:
10821         * docs/libs/gstreamer-libs-sections.txt:
10822         * docs/libs/gstreamer-libs.types:
10823         * examples/Makefile.am:
10824         * examples/controller/.cvsignore:
10825         * examples/controller/Makefile.am:
10826         * examples/controller/audio-example.c: (main):
10827         * libs/gst/Makefile.am:
10828         * libs/gst/controller/.cvsignore:
10829         * libs/gst/controller/Makefile.am:
10830         * libs/gst/controller/gst-controller.c:
10831         (on_object_controlled_property_changed), (gst_timed_value_compare),
10832         (gst_timed_value_find),
10833         (gst_controlled_property_set_interpolation_mode),
10834         (gst_controlled_property_new), (gst_controlled_property_free),
10835         (gst_controller_find_controlled_property),
10836         (gst_controller_new_valist), (gst_controller_new),
10837         (gst_controller_remove_properties_valist),
10838         (gst_controller_remove_properties), (gst_controller_set),
10839         (gst_controller_set_from_list), (gst_controller_unset),
10840         (gst_controller_get), (gst_controller_get_all),
10841         (gst_controller_sink_values), (gst_controller_get_value_arrays),
10842         (gst_controller_get_value_array),
10843         (gst_controller_set_interpolation_mode),
10844         (_gst_controller_finalize), (_gst_controller_init),
10845         (_gst_controller_class_init), (gst_controller_get_type):
10846         * libs/gst/controller/gst-controller.h:
10847         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10848         (g_object_uncontrol_properties), (g_object_get_controller),
10849         (g_object_set_controller), (g_object_sink_values),
10850         (g_object_get_value_arrays), (g_object_get_value_array):
10851         * libs/gst/controller/gst-interpolation.c:
10852         (gst_controlled_property_find_timed_value_node),
10853         (interpolate_none_get), (interpolate_trigger_get),
10854         (interpolate_trigger_get_value_array):
10855         * libs/gst/controller/lib.c: (gst_controller_init):
10856         * pkgconfig/Makefile.am:
10857         * pkgconfig/gstreamer-control-uninstalled.pc.in:
10858         * pkgconfig/gstreamer-control.pc.in:
10859         * testsuite/Makefile.am:
10860         * testsuite/controller/.cvsignore:
10861         * testsuite/controller/Makefile.am:
10862         * testsuite/controller/interpolator.c: (main):
10863           added controller code
10864           removed dparam pc files
10865
10866 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10867         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10868         (gst_collectpads_stop):
10869           Broadcast the condition when shutting down, to make sure we wake all
10870           threads up. Shut down pads on finalize, for safety.
10871
10872 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10873         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10874         (gst_base_transform_handle_buffer),
10875         (gst_base_transform_change_state):
10876           Handle PAUSED->READY->PAUSED transition after negotiation
10877           occurred already.
10878         * gst/gstmessage.c: (gst_message_init):
10879           Extra piece of debug for new messages.
10880
10881 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
10882
10883         * configure.ac:
10884         * docs/gst/tmpl/gstbasesrc.sgml:
10885         * docs/gst/tmpl/gstelement.sgml:
10886         * docs/gst/tmpl/gstevent.sgml:
10887         * docs/gst/tmpl/gstfakesrc.sgml:
10888         * docs/gst/tmpl/gstformat.sgml:
10889         * docs/gst/tmpl/gstghostpad.sgml:
10890         * docs/gst/tmpl/gstpad.sgml:
10891         * docs/gst/tmpl/gstquery.sgml:
10892         * docs/gst/tmpl/gststructure.sgml:
10893         * docs/gst/tmpl/gsttaglist.sgml:
10894         * docs/gst/tmpl/gstvalue.sgml:
10895         * docs/libs/gstreamer-libs-docs.sgml:
10896         * docs/libs/gstreamer-libs-sections.txt:
10897         * docs/libs/gstreamer-libs.types:
10898         * libs/gst/Makefile.am:
10899         * libs/gst/control/.cvsignore:
10900         * libs/gst/control/Makefile.am:
10901         * libs/gst/control/control.c:
10902         * libs/gst/control/control.h:
10903         * libs/gst/control/dparam.c:
10904         * libs/gst/control/dparam.h:
10905         * libs/gst/control/dparam_smooth.c:
10906         * libs/gst/control/dparam_smooth.h:
10907         * libs/gst/control/dparamcommon.h:
10908         * libs/gst/control/dparammanager.c:
10909         * libs/gst/control/dparammanager.h:
10910         * libs/gst/control/dplinearinterp.c:
10911         * libs/gst/control/dplinearinterp.h:
10912         * libs/gst/control/unitconvert.c:
10913         * libs/gst/control/unitconvert.h:
10914         * testsuite/Makefile.am:
10915         * testsuite/dynparams/.cvsignore:
10916         * testsuite/dynparams/Makefile.am:
10917         * testsuite/dynparams/dparamstest.c:
10918         * tools/Makefile.am:
10919         * tools/gst-inspect.c: (print_element_info), (main):
10920         * tools/gst-xmlinspect.c: (print_element_info), (main):
10921           deactivate and remove dparams (libgstcontrol)
10922
10923 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10924
10925         * gst/elements/gsttypefindelement.c:
10926         (gst_type_find_element_have_type), (gst_type_find_element_init),
10927         (stop_typefinding), (gst_type_find_element_handle_event),
10928         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10929         * gst/elements/gsttypefindelement.h:
10930           Set caps on all outgoing buffers, not just the first one.
10931
10932 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10933
10934         * gst/elements/gsttypefindelement.c:
10935         (gst_type_find_element_have_type),
10936         (gst_type_find_element_check_set_buffer_caps),
10937         (gst_type_find_element_init), (stop_typefinding),
10938         (gst_type_find_element_handle_event),
10939         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10940         * gst/elements/gsttypefindelement.h:
10941           Set caps on first outgoing buffer when we've found the type.
10942
10943 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10944
10945         * docs/gst/gstreamer-docs.sgml:
10946         * docs/gst/gstreamer-sections.txt:
10947         * docs/gst/tmpl/gstscheduler.sgml:
10948         * docs/gst/tmpl/gstschedulerfactory.sgml:
10949           Remove some old cruft from docs.
10950
10951 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
10952
10953         * gst/gstpad.h:
10954           Fix inline docs for GstPadLinkReturn.
10955           
10956         * gst/gststructure.c: (gst_structure_has_name):
10957         * gst/gststructure.h:
10958         * docs/gst/gstreamer-sections.txt:
10959           New API: gst_structure_has_name().
10960
10961 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
10962
10963         * configure.ac:
10964           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10965           and _LARGEFILE_SOURCE in config.h as required. Do not 
10966           export those flags in our .pc files any longer (#142209).
10967
10968           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10969
10970         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10971         (gst_file_sink_do_seek), (gst_file_sink_event),
10972         (gst_file_sink_get_current_offset), (gst_file_sink_render):
10973           Redo seek/tell calls with large file support in mind; add some
10974           debugging messages; add log message that tells us when large
10975           file support is unavailable or not enabled for some reason.
10976
10977         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10978           Add log message that tells us when large file support 
10979           is unavailable or not enabled for some reason.
10980
10981 2005-07-29  Wim Taymans  <wim@fluendo.com>
10982
10983         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10984         Added test for removing an element with ghostpad from a bin.
10985         Fixed test as current implementation does the right thing.
10986
10987         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10988         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10989         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10990         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10991         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10992         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10993         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10994         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10995         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10996         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10997         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10998         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10999         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11000         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
11001         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
11002         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11003         * gst/gstghostpad.h:
11004         Clean up ghostpads, remove properties for internal stuff.
11005         Make threadsafe.
11006         Fix refcounting.
11007         Prepare for switching targets, not all use cases work yet.
11008
11009 2005-07-29  Wim Taymans  <wim@fluendo.com>
11010
11011         * docs/design/part-gstghostpad.txt:
11012         Small update.
11013
11014         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11015         (gst_bin_remove_func):
11016         Unlinking pads while holding the bin LOCK is not a good
11017         idea.
11018
11019         * gst/gstpad.c: (gst_pad_class_init),
11020         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
11021         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
11022         No prob setting template after creating the pad.
11023
11024 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
11025
11026         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
11027         (gst_bus_peek), (gst_bus_source_dispatch),
11028         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
11029         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
11030           gst_bus_poll may be called from other threads. Handle
11031           this nicely by not making poll_data disappear off the
11032           stack once gst_bus_poll returns.
11033           gst_bus_peek now increments the refcount on the returned
11034           message.
11035
11036 2005-07-29  Wim Taymans  <wim@fluendo.com>
11037
11038         * docs/design/part-gstghostpad.txt:
11039         Overview of current GhostPad datastructures and use
11040         cases for changing the target.
11041
11042 2005-07-28  Wim Taymans  <wim@fluendo.com>
11043
11044         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11045         Added checks for hierarchy consistency whan adding linked
11046         elements to bins.
11047
11048         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11049         Added check to test element scheduling without bin/pipeline.
11050
11051         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11052         First add elements to bin, then link.
11053         
11054         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11055         (gst_bin_remove_func):
11056         Unlink pads from elements added/removed from bin to maintain
11057         hierarchy consistency.
11058
11059 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11060
11061         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11062         (gst_base_transform_handle_buffer):
11063         * gst/base/gstbasetransform.h:
11064           Remove broken delay_configure (fixes renegotiation of software
11065           scaling pipelines); remove some leftover printf()s.
11066
11067 2005-07-28  Wim Taymans  <wim@fluendo.com>
11068
11069         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11070         Added some more tests for wrong hierarchy
11071
11072         * docs/design/part-overview.txt:
11073         Some updates.
11074
11075         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
11076         Cleanups.
11077
11078         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
11079         (gst_element_dispose):
11080         Some more cleanups.
11081
11082         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11083         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
11084         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11085         (gst_pad_set_caps), (gst_pad_send_event):
11086         Check for correct hierarchy when linking pads. Moving to
11087         strict requirement for ghostpads when linking elements in
11088         different bins.
11089
11090         * gst/gstpad.h:
11091         Clean ups. Added WRONG_HIERARCHY return value.
11092
11093 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11094
11095         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11096           Better debug if no transform is possible.
11097
11098 2005-07-27  Wim Taymans  <wim@fluendo.com>
11099
11100         * docs/random/wtay/network-transp:
11101         Some old doc I had.
11102
11103 2005-07-27  Wim Taymans  <wim@fluendo.com>
11104
11105         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11106         (gst_dp_event_from_packet):
11107         Fix serialization of seek events.
11108
11109 2005-07-27  Wim Taymans  <wim@fluendo.com>
11110
11111         * check/gst-libs/gdp.c: (GST_START_TEST):
11112         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11113         Fix compilation and fix event serialization.
11114
11115 2005-07-27  Wim Taymans  <wim@fluendo.com>
11116
11117         * CHANGES-0.9:
11118         * docs/design/part-TODO.txt:
11119         * docs/design/part-events.txt:
11120         Some docs updates
11121
11122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11123         (gst_base_sink_event), (gst_base_sink_do_sync),
11124         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11125         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11126         (gst_base_src_do_seek), (gst_base_src_event_handler),
11127         (gst_base_src_loop):
11128         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11129         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11130         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11131         (gst_base_transform_event), (gst_base_transform_handle_buffer),
11132         (gst_base_transform_set_passthrough),
11133         (gst_base_transform_is_passthrough):
11134         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11135         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11136         Event updates.
11137
11138         * gst/gstbuffer.h:
11139         Use faster casts.
11140
11141         * gst/gstelement.c: (gst_element_seek):
11142         * gst/gstelement.h:
11143         Update gst_element_seek.
11144
11145         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
11146         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
11147         (gst_event_new_flush_start), (gst_event_new_flush_stop),
11148         (gst_event_new_eos), (gst_event_new_newsegment),
11149         (gst_event_parse_newsegment), (gst_event_new_tag),
11150         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
11151         (gst_event_parse_qos), (gst_event_new_seek),
11152         (gst_event_parse_seek), (gst_event_new_navigation):
11153         * gst/gstevent.h:
11154         Make GstEvent use GstStructure. Add parsing code, make sure the
11155         API is sufficiently generic.
11156         Mark possible directions of events and serialization.
11157
11158         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
11159         (_gst_message_copy), (gst_message_new_segment_start),
11160         (gst_message_new_segment_done), (gst_message_new_custom),
11161         (gst_message_parse_segment_start),
11162         (gst_message_parse_segment_done):
11163         Small cleanups.
11164
11165         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11166         (gst_pad_set_caps), (gst_pad_send_event):
11167         Update for new events. 
11168         Catch events sent in wrong directions.
11169
11170         * gst/gstqueue.c: (gst_queue_link_src),
11171         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11172         (gst_queue_handle_src_query):
11173         Event updates.
11174
11175         * gst/gsttag.c:
11176         * gst/gsttag.h:
11177         Remove event code from this file.
11178
11179         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11180         (gst_dp_event_from_packet):
11181         Event updates.
11182
11183 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11184
11185         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
11186         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11187         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
11188           Make debugging actually useful.
11189
11190 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11191
11192         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
11193         (gst_pad_fixate_caps):
11194           Implement default fixation once again, so that gst_pad_fixate()
11195           actually does anything at all. This probably needs to be some
11196           sort of a last resort, and use profile-based fixation first, but
11197           since that doesn't exist yet, this is the best we have. Fixes
11198           visualization in Totem.
11199
11200 2005-07-22  Wim Taymans  <wim@fluendo.com>
11201
11202         * docs/design/part-events.txt:
11203         Small update.
11204
11205         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11206         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
11207         (gst_base_sink_activate_pull):
11208         Some more comments.
11209
11210         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
11211         (gst_fake_src_create):
11212         Fix handoff marshall.
11213
11214         * gst/elements/gstidentity.c: (gst_identity_class_init),
11215         (gst_identity_transform_ip):
11216         We're a real inplace element.
11217
11218         * gst/gstbus.c: (gst_bus_post):
11219         Added some comments.
11220
11221         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
11222         * tests/muxing/case1.c: (main):
11223         * tests/sched/dynamic-pipeline.c: (main):
11224         * tests/sched/interrupt1.c: (main):
11225         * tests/sched/interrupt2.c: (main):
11226         * tests/sched/interrupt3.c: (main):
11227         * tests/sched/runxml.c: (main):
11228         * tests/sched/sched-stress.c: (main):
11229         * tests/seeking/seeking1.c: (event_received), (main):
11230         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11231         (main):
11232         * tests/threadstate/threadstate3.c: (main):
11233         * tests/threadstate/threadstate4.c: (main):
11234         * tests/threadstate/threadstate5.c: (main):
11235         Fix the tests.
11236
11237 2005-07-21  Wim Taymans  <wim@fluendo.com>
11238
11239         * docs/design/part-seeking.txt:
11240         Some small additions.
11241
11242         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11243         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11244         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11245         * gst/base/gstbasesink.h:
11246         discont values are gint64, handle the math correctly.
11247
11248         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11249         Make the basesrc report error if the source pad is not linked.
11250
11251         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
11252         (gst_queue_loop), (gst_queue_handle_src_query),
11253         (gst_queue_src_activate_push):
11254         Make queue collect data even if the srcpad is not linked.
11255         Start pushing out data as soon as it is linked.
11256
11257         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
11258         * gst/gstutils.h:
11259         Added gst_flow_get_name() to ease error reporting.
11260
11261 2005-07-20  Wim Taymans  <wim@fluendo.com>
11262
11263         * gst/gstmessage.c: (gst_message_new_segment_start),
11264         (gst_message_new_segment_done), (gst_message_parse_segment_start),
11265         (gst_message_parse_segment_done):
11266         * gst/gstmessage.h:
11267         Added a bunch of messages for advanced seeking.
11268
11269         * gst/parse/grammar.y:
11270         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
11271         (gst_dpman_state_changed):
11272         Fix some new-pad -> pad-added signals
11273
11274 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11275
11276         * docs/manual/appendix-porting.xml:
11277         * docs/pwg/appendix-porting.xml:
11278           Document new-pad/state-change signal renames and the FixedList
11279           type rename.
11280
11281 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11282
11283         * docs/manual/advanced-autoplugging.xml:
11284         * docs/manual/basics-helloworld.xml:
11285         * docs/manual/basics-pads.xml:
11286         * docs/random/ds/0.9-suggested-changes:
11287         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
11288         * gst/gstelement.h:
11289         * gst/gstevent.h:
11290         * gst/gstformat.h:
11291         * gst/gstquery.h:
11292         * gst/gststructure.c: (gst_structure_value_get_generic_type),
11293         (gst_structure_parse_array), (gst_structure_parse_value):
11294         * gst/gstvalue.c: (gst_type_is_fixed),
11295         (gst_value_list_prepend_value), (gst_value_list_append_value),
11296         (gst_value_list_get_size), (gst_value_list_get_value),
11297         (gst_value_transform_array_string), (gst_value_serialize_array),
11298         (gst_value_deserialize_array), (gst_value_intersect_array),
11299         (gst_value_is_fixed), (_gst_value_initialize):
11300         * gst/gstvalue.h:
11301           GstElement::new-pad -> pad-added, GstElement::state-change ->
11302           state-changed, GstValueFixedList -> GstValueArray, add format and
11303           flags as their own arguments in gst_element_seek() (should improve
11304           "bindeability"), remove function generators since they don't work
11305           under a whole bunch of compilers (they were deprecated already
11306           anyway).
11307
11308 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11309
11310         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11311         (_gst_debug_register_funcptr):
11312         * gst/gstinfo.h:
11313           Fix illegal cast on some platforms (#309253).
11314
11315 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11316
11317         * gst/gstmessage.c: (gst_message_new_custom):
11318         * gst/gstmessage.h:
11319           Add _new_custom, make _new_application a macro to _new_custom.
11320
11321 2005-07-20  Wim Taymans  <wim@fluendo.com>
11322
11323         * gst/base/gstbasesrc.c: (gst_base_src_init),
11324         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
11325         * gst/base/gstbasesrc.h:
11326         Add a gboolean to decide when to push out a discont.
11327
11328         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11329         (gst_queue_loop), (gst_queue_handle_src_query),
11330         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
11331         (gst_queue_set_property), (gst_queue_get_property):
11332         Some cleanups.
11333
11334         * tests/threadstate/threadstate1.c: (main):
11335         Make a thread test compile and run... very silly..
11336
11337
11338 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11339
11340         * docs/manual/appendix-porting.xml:
11341           Mention removal of libgstgconf-0.9.la and existence of gconf
11342           elements.
11343
11344 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11345
11346         * docs/pwg/advanced-clock.xml:
11347         * docs/pwg/appendix-porting.xml:
11348         * docs/pwg/intro-preface.xml:
11349         * docs/pwg/other-base.xml:
11350         * docs/pwg/other-manager.xml:
11351         * docs/pwg/other-nton.xml:
11352         * docs/pwg/other-ntoone.xml:
11353         * docs/pwg/other-oneton.xml:
11354         * docs/pwg/pwg.xml:
11355           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
11356           demuxer), remove n-to-n (was never written), fix some code examples
11357           and links and update the porting section to include all this.
11358
11359 2005-07-19  Wim Taymans  <wim@fluendo.com>
11360
11361         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
11362         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
11363         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
11364         (gst_queue_src_activate_push), (gst_queue_change_state),
11365         (gst_queue_get_property):
11366         * gst/gstqueue.h:
11367         Propagate GstFlowReturn more intelligently upstream and output
11368         an ERROR/EOS when streaming stopped due to fatal error.
11369
11370 2005-07-19  Wim Taymans  <wim@fluendo.com>
11371
11372         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11373         Don't block forever for the state change to complete, the
11374         pipeline already did with a sensible timeout.
11375
11376 2005-07-19  Wim Taymans  <wim@fluendo.com>
11377
11378         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11379         Make sure we never call the create function is we
11380         got deactivated.
11381
11382 2005-07-19  Andy Wingo  <wingo@pobox.com>
11383
11384         * gst/parse/parse.l: Attempt to solve bug #172815.
11385
11386 2005-07-19  Wim Taymans  <wim@fluendo.com>
11387
11388         * docs/design/part-clocks.txt:
11389         * docs/design/part-events.txt:
11390         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
11391         Small docs updates.
11392         Only update the seeking values when we are not
11393         busy streaming.
11394
11395 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11396
11397         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11398           Oops, ignore the result of gst_pad_push_event here.
11399
11400 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11401
11402         * gst/base/gstbasesrc.c: (gst_base_src_loop),
11403         (gst_base_src_activate_push):
11404           Send discont event from the loop function, as pads
11405           aren't activated yet in the activate_push handler.
11406
11407         * gst/gstbin.c: (bin_bus_handler):
11408           Don't leak element name.
11409
11410 2005-07-18  Andy Wingo  <wingo@pobox.com>
11411
11412         * configure.ac: Use AS_LIBTOOL_TAGS.
11413
11414 2005-07-18  Wim Taymans  <wim@fluendo.com>
11415
11416         * docs/gst/gstreamer.types:
11417         Remove deleted types.
11418
11419 2005-07-18  Wim Taymans  <wim@fluendo.com>
11420
11421         * check/elements/gstfakesrc.c: (GST_START_TEST):
11422         * configure.ac:
11423         * gst/Makefile.am:
11424         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11425         (init_popt_callback):
11426         * gst/gst.h:
11427         * gst/gst_private.h:
11428         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
11429         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
11430         * gst/gstbin.h:
11431         * gst/gstbus.h:
11432         * gst/gstconfig.h.in:
11433         * gst/gstelement.c: (gst_element_class_init),
11434         (gst_element_set_base_time), (gst_element_get_base_time),
11435         (iterator_fold_with_resync), (gst_element_change_state),
11436         (gst_element_dispose), (gst_element_get_bus):
11437         * gst/gstelement.h:
11438         * gst/gstelementfactory.h:
11439         * gst/gsterror.c: (_gst_core_errors_init):
11440         * gst/gsterror.h:
11441         * gst/gstevent.h:
11442         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11443         * gst/gstindex.c:
11444         * gst/gstinfo.c: (_gst_debug_init):
11445         * gst/gstmessage.c: (_gst_message_copy):
11446         * gst/gstmessage.h:
11447         * gst/gstminiobject.h:
11448         * gst/gstobject.c:
11449         * gst/gstobject.h:
11450         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11451         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
11452         * gst/gstpad.h:
11453         * gst/gstparse.h:
11454         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11455         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11456         (gst_pipeline_get_last_stream_time):
11457         * gst/gstpipeline.h:
11458         * gst/gstpluginfeature.h:
11459         * gst/gstquery.h:
11460         * gst/gstscheduler.c:
11461         * gst/gstscheduler.h:
11462         * gst/gststructure.h:
11463         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11464         (gst_task_finalize), (gst_task_func), (gst_task_create),
11465         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
11466         (gst_task_stop), (gst_task_pause):
11467         * gst/gsttask.h:
11468         * gst/gsttypefind.h:
11469         * gst/gsttypes.h:
11470         * gst/registries/gstlibxmlregistry.c: (load_feature),
11471         (gst_xml_registry_load), (gst_xml_registry_save_feature):
11472         * gst/registries/gstxmlregistry.c:
11473         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
11474         * gst/schedulers/threadscheduler.c:
11475         * libs/gst/control/dparammanager.h:
11476         * tools/gst-inspect.c: (print_element_list),
11477         (print_plugin_features), (print_element_features):
11478         * tools/gst-xmlinspect.c: (print_element_list),
11479         (print_plugin_info), (main):
11480         Removed plugable schedulers.
11481         Removed Scheduler/Manager from elements.
11482         Removed gsttypes.h, rearranged includes.
11483         Removed dependency pad<->element, element<>pipeline, and
11484         various others,  fix includes.
11485         implement gst_pad_get_parent() with gst_object_get_parent()
11486         Make GstTask sefcontained.
11487         Fix _get_state() on GstBin, it did not return ASYNC with a 0
11488         timeout.
11489         Fix endless loop in iterator_fold_with_resync.
11490
11491
11492 2005-07-18  Wim Taymans  <wim@fluendo.com>
11493
11494         * gst/Makefile.am:
11495         * gst/gstarch.h:
11496         Remove old file.
11497
11498 2005-07-18  Wim Taymans  <wim@fluendo.com>
11499
11500         * gst/Makefile.am:
11501         No more cothreads.h
11502
11503 2005-07-18  Wim Taymans  <wim@fluendo.com>
11504
11505         * gst/cothreads.c:
11506         * gst/cothreads.h:
11507         Let's remove these.
11508
11509 2005-07-18  Wim Taymans  <wim@fluendo.com>
11510
11511         * docs/design/part-dynamic.txt:
11512         * docs/design/part-events.txt:
11513         * docs/design/part-seeking.txt:
11514         Some more docs in the works.
11515
11516         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11517         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
11518         (gst_base_transform_setcaps), (gst_base_transform_get_size),
11519         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11520         (gst_base_transform_handle_buffer),
11521         (gst_base_transform_sink_activate_push),
11522         (gst_base_transform_src_activate_pull),
11523         (gst_base_transform_set_passthrough),
11524         (gst_base_transform_is_passthrough):
11525         Refcounting fixes.
11526
11527         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
11528         Cleanups.
11529
11530         * gst/gstevent.c: (gst_event_finalize):
11531         Set SRC to NULL.
11532
11533         * gst/gstutils.c: (gst_element_unlink),
11534         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
11535         (gst_pad_proxy_setcaps):
11536         * gst/gstutils.h:
11537         Add _get_parent_element() to get a pads parent as an element.
11538
11539 2005-07-18  Wim Taymans  <wim@fluendo.com>
11540
11541         * check/gst/gstbin.c: (GST_START_TEST):
11542         Remove bogus test.
11543
11544 2005-07-18  Wim Taymans  <wim@fluendo.com>
11545
11546         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11547         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11548         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11549         (gst_base_sink_event), (gst_base_sink_do_sync),
11550         (gst_base_sink_chain), (gst_base_sink_loop),
11551         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
11552         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11553         Refcounting fixes.
11554         Fix logic for returning ASYNC when not prerolled.
11555
11556 2005-07-18  Wim Taymans  <wim@fluendo.com>
11557
11558         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11559         Fix nasty refcount bug.
11560
11561 2005-07-16 Philippe Khalaf <burger@speedy.org>
11562
11563         * gst/elements/gstfdsrc.c:
11564         * gst/elements/gstfdsrc.h:
11565         * gst/elements/gstelements.c:
11566         * gst/elements/Makefile.am:
11567         Ported fdsrc to 0.9.
11568
11569 2005-07-16  Wim Taymans  <wim@fluendo.com>
11570
11571         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11572         (gst_base_sink_do_sync):
11573         Fix compile error.
11574
11575 2005-07-16  Wim Taymans  <wim@fluendo.com>
11576
11577         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11578         (gst_base_sink_event), (gst_base_sink_get_times),
11579         (gst_base_sink_do_sync), (gst_base_sink_change_state):
11580         * gst/base/gstbasesink.h:
11581         Store and use discont values when syncing buffers as described
11582         in design docs.
11583         
11584         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11585         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
11586         (gst_base_src_activate_push):
11587         Push discont event when starting.
11588
11589         * gst/elements/gstidentity.c: (gst_identity_transform):
11590         Small cleanups.
11591
11592         * gst/gstbin.c: (gst_bin_change_state):
11593         Small cleanups in base_time  distribution.
11594
11595         * gst/gstelement.c: (gst_element_set_base_time),
11596         (gst_element_get_base_time), (gst_element_change_state):
11597         * gst/gstelement.h:
11598         Added methods for the base_time of the element.
11599         Some MT fixes.
11600
11601         * gst/gstpipeline.c: (gst_pipeline_send_event),
11602         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11603         (gst_pipeline_get_last_stream_time):
11604         * gst/gstpipeline.h:
11605         MT fixes.
11606         Handle seeking as described in design doc, remove stream_time
11607         hack.
11608         Cleanups clock and stream_time selection code. Added accessors
11609         for the stream_time.
11610         
11611
11612 2005-07-16  Andy Wingo  <wingo@pobox.com>
11613
11614         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
11615         (#305291).
11616
11617 2005-07-16  Wim Taymans  <wim@fluendo.com>
11618
11619         * check/gst/gstbin.c: (GST_START_TEST):
11620         Make elements silent as the deep_notify refs the
11621         parent, which might make the test fail.
11622
11623         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11624         Don't hold the lock for too long.
11625
11626 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
11627
11628         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11629           Don't unref the caps we passed to gst_caps_make_writable() after
11630           passing them. gst_caps_make_writable() will do that for us.
11631
11632 2005-07-15  Andy Wingo  <wingo@pobox.com>
11633
11634         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
11635         (#157311).
11636
11637         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
11638         own marshalling function for the handoff signal. Properly type the
11639         buffer as a buffer. Fixes some warnings. Should do a more general
11640         solution.
11641         (gst_identity_class_init): Plug into the right marshaller.
11642
11643 2005-07-15  Wim Taymans  <wim@fluendo.com>
11644
11645         * docs/design/part-TODO.txt:
11646         * docs/design/part-clocks.txt:
11647         * docs/design/part-element-sink.txt:
11648         * docs/design/part-events.txt:
11649         * docs/design/part-gstpipeline.txt:
11650         Updated docs, mostly DISCONT related.
11651
11652 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
11653
11654         * docs/pwg/building-pads.xml:
11655           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
11656
11657 2005-07-15  Andy Wingo  <wingo@pobox.com>
11658
11659         * tools/gst-typefind.c: Update, add copyright block.
11660
11661         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
11662         Normalize and truncate caps before fixation.
11663
11664         * gst/gstcaps.h:
11665         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
11666         discards all but the first structure from its argument.
11667
11668 2005-07-15  Wim Taymans  <wim@fluendo.com>
11669
11670         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11671         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
11672         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11673         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11674         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
11675         (gst_base_transform_chain), (gst_base_transform_change_state),
11676         (gst_base_transform_set_passthrough),
11677         (gst_base_transform_is_passthrough):
11678         * gst/base/gstbasetransform.h:
11679         Make passthrough work using the bufferpools.
11680         Changed API a bit, subclasses have to write into a buffer
11681         provided by the base class.
11682         More debug info in nego functions.
11683         
11684         * gst/elements/gstidentity.c: (gst_identity_init),
11685         (gst_identity_transform):
11686         Port to new base class.
11687
11688 2005-07-15  Wim Taymans  <wim@fluendo.com>
11689
11690         * gst/gstmessage.c: (gst_message_new_state_changed):
11691         * tools/gst-launch.c: (event_loop), (main):
11692         Totally dump messages in -launch with the -m option.
11693         Fix message name for State messages,
11694
11695 2005-07-14  Wim Taymans  <wim@fluendo.com>
11696
11697         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11698         Post error messages on errors.
11699
11700 2005-07-14  Wim Taymans  <wim@fluendo.com>
11701
11702         * gst/gstcaps.c: (gst_caps_do_simplify):
11703         Remove debug info.
11704
11705         * gst/gsterror.h:
11706         Define error for stream stopped.
11707
11708         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11709         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
11710         Do proper return values.
11711
11712         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11713         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
11714         (gst_pad_get_range):
11715         Better return values.
11716
11717         * gst/gstpad.h:
11718         Reorganise return values, add macro to check for fatal errors.
11719
11720         * gst/gstqueue.c: (gst_queue_chain):
11721         Return proper GstFlowReturn values,
11722
11723 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11724
11725         * docs/gst/gstreamer-sections.txt:
11726         * docs/gst/gstreamer.types:
11727         * docs/gst/tmpl/gst.sgml:
11728         * docs/gst/tmpl/gstbasesink.sgml:
11729         * docs/gst/tmpl/gstbasesrc.sgml:
11730         * docs/gst/tmpl/gstbasetransform.sgml:
11731         * docs/gst/tmpl/gstbin.sgml:
11732         * docs/gst/tmpl/gstbuffer.sgml:
11733         * docs/gst/tmpl/gstcaps.sgml:
11734         * docs/gst/tmpl/gstclock.sgml:
11735         * docs/gst/tmpl/gstcompat.sgml:
11736         * docs/gst/tmpl/gstconfig.sgml:
11737         * docs/gst/tmpl/gstelement.sgml:
11738         * docs/gst/tmpl/gstelementdetails.sgml:
11739         * docs/gst/tmpl/gstelementfactory.sgml:
11740         * docs/gst/tmpl/gstenumtypes.sgml:
11741         * docs/gst/tmpl/gsterror.sgml:
11742         * docs/gst/tmpl/gstevent.sgml:
11743         * docs/gst/tmpl/gstfakesink.sgml:
11744         * docs/gst/tmpl/gstfakesrc.sgml:
11745         * docs/gst/tmpl/gstfilesink.sgml:
11746         * docs/gst/tmpl/gstfilesrc.sgml:
11747         * docs/gst/tmpl/gstfilter.sgml:
11748         * docs/gst/tmpl/gstformat.sgml:
11749         * docs/gst/tmpl/gstghostpad.sgml:
11750         * docs/gst/tmpl/gstimplementsinterface.sgml:
11751         * docs/gst/tmpl/gstindex.sgml:
11752         * docs/gst/tmpl/gstindexfactory.sgml:
11753         * docs/gst/tmpl/gstinfo.sgml:
11754         * docs/gst/tmpl/gstiterator.sgml:
11755         * docs/gst/tmpl/gstmacros.sgml:
11756         * docs/gst/tmpl/gstmemchunk.sgml:
11757         * docs/gst/tmpl/gstminiobject.sgml:
11758         * docs/gst/tmpl/gstobject.sgml:
11759         * docs/gst/tmpl/gstpad.sgml:
11760         * docs/gst/tmpl/gstpadtemplate.sgml:
11761         * docs/gst/tmpl/gstparse.sgml:
11762         * docs/gst/tmpl/gstpipeline.sgml:
11763         * docs/gst/tmpl/gstplugin.sgml:
11764         * docs/gst/tmpl/gstpluginfeature.sgml:
11765         * docs/gst/tmpl/gstquery.sgml:
11766         * docs/gst/tmpl/gstqueue.sgml:
11767         * docs/gst/tmpl/gstregistry.sgml:
11768         * docs/gst/tmpl/gstregistrypool.sgml:
11769         * docs/gst/tmpl/gstscheduler.sgml:
11770         * docs/gst/tmpl/gstschedulerfactory.sgml:
11771         * docs/gst/tmpl/gststructure.sgml:
11772         * docs/gst/tmpl/gstsystemclock.sgml:
11773         * docs/gst/tmpl/gsttaglist.sgml:
11774         * docs/gst/tmpl/gsttagsetter.sgml:
11775         * docs/gst/tmpl/gsttrace.sgml:
11776         * docs/gst/tmpl/gsttrashstack.sgml:
11777         * docs/gst/tmpl/gsttypefind.sgml:
11778         * docs/gst/tmpl/gsttypefindfactory.sgml:
11779         * docs/gst/tmpl/gsttypes.sgml:
11780         * docs/gst/tmpl/gsturihandler.sgml:
11781         * docs/gst/tmpl/gsturitype.sgml:
11782         * docs/gst/tmpl/gstutils.sgml:
11783         * docs/gst/tmpl/gstvalue.sgml:
11784         * docs/gst/tmpl/gstversion.sgml:
11785         * docs/gst/tmpl/gstxml.sgml:
11786         * docs/libs/tmpl/gstcontrol.sgml:
11787         * docs/libs/tmpl/gstdataprotocol.sgml:
11788         * docs/libs/tmpl/gstdparam.sgml:
11789         * docs/libs/tmpl/gstdplinint.sgml:
11790         * docs/libs/tmpl/gstdpman.sgml:
11791         * docs/libs/tmpl/gstdpsmooth.sgml:
11792         * docs/libs/tmpl/gstgetbits.sgml:
11793         * docs/libs/tmpl/gstunitconvert.sgml:
11794         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
11795         (gst_push_src_base_init), (gst_push_src_class_init),
11796         (gst_push_src_init), (gst_push_src_create):
11797         * gst/base/gstpushsrc.h:
11798         * gst/elements/gstelements.c:
11799         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
11800         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
11801         (gst_fake_sink_init), (gst_fake_sink_set_property),
11802         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
11803         (gst_fake_sink_event), (gst_fake_sink_preroll),
11804         (gst_fake_sink_render), (gst_fake_sink_change_state):
11805         * gst/elements/gstfakesink.h:
11806         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11807         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11808         (gst_fake_src_base_init), (gst_fake_src_class_init),
11809         (gst_fake_src_init), (gst_fake_src_event_handler),
11810         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
11811         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
11812         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
11813         (gst_fake_src_create_buffer), (gst_fake_src_create),
11814         (gst_fake_src_start), (gst_fake_src_stop):
11815         * gst/elements/gstfakesrc.h:
11816         * gst/elements/gstfilesink.c: (_do_init),
11817         (gst_file_sink_base_init), (gst_file_sink_class_init),
11818         (gst_file_sink_init), (gst_file_sink_dispose),
11819         (gst_file_sink_set_location), (gst_file_sink_set_property),
11820         (gst_file_sink_get_property), (gst_file_sink_open_file),
11821         (gst_file_sink_close_file), (gst_file_sink_query),
11822         (gst_file_sink_event), (gst_file_sink_render),
11823         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
11824         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
11825         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
11826         * gst/elements/gstfilesink.h:
11827         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
11828         (gst_file_src_class_init), (gst_file_src_init),
11829         (gst_file_src_finalize), (gst_file_src_set_location),
11830         (gst_file_src_set_property), (gst_file_src_get_property),
11831         (gst_file_src_map_region), (gst_file_src_map_small_region),
11832         (gst_file_src_create_mmap), (gst_file_src_create_read),
11833         (gst_file_src_create), (gst_file_src_is_seekable),
11834         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
11835         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
11836         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
11837         (gst_file_src_uri_handler_init):
11838         * gst/elements/gstfilesrc.h:
11839           more autistic cleanliness in functions/names/defines
11840
11841 2005-07-13  Andy Wingo  <wingo@pobox.com>
11842
11843         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11844         source couldn't negotiate.
11845
11846         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11847         connections again.
11848
11849         * gst/gstutils.h:
11850         * gst/gstutils.c (gst_element_link_pads_filtered): New old
11851         function. I am channeling Hades. Put your boots on suckers!!!
11852
11853 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11854
11855         * testsuite/caps/Makefile.am:
11856         * testsuite/caps/value_compare.c:
11857         * testsuite/caps/value_intersect.c:
11858         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11859           move two testsuite apps over to the check dir
11860
11861 2005-07-12  Wim Taymans  <wim@fluendo.com>
11862
11863         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11864         Added more debug info in the negotiate process.
11865
11866         * gst/gstmessage.h:
11867         Prepare for segment playback.
11868
11869         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11870         Better debugging.
11871
11872         * gst/gstutils.c:
11873         Some more docs.
11874
11875         * tools/gst-launch.c: (main):
11876         NULL pipeline on errors.
11877
11878 2005-07-12  Andy Wingo  <wingo@pobox.com>
11879
11880         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11881         not it comes from a malloc region. Make sure our copy gets freed.
11882
11883 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11884
11885         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11886         * check/gst/gstmessage.c: (GST_START_TEST):
11887         * check/gst/gststructure.c: (GST_START_TEST),
11888         (gst_structure_suite), (main):
11889           more testing
11890         * gst/gstelement.c: (gst_element_message_full):
11891           clean up GError and debug string now that they get copied
11892         * gst/gstmessage.c: (gst_message_new_error),
11893         (gst_message_new_warning), (gst_message_parse_error),
11894         (gst_message_parse_warning):
11895           use GST_TYPE_G_ERROR for structure_new, and take copies of
11896           arguments, so that we don't mess up refcounting
11897
11898 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11899
11900         * check/Makefile.am:
11901           add per-test valgrind targets
11902         * check/gst-libs/gdp.c: (GST_START_TEST),
11903         (gst_data_protocol_suite), (main):
11904           clean up
11905
11906 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11907
11908         * check/Makefile.am:
11909           instate more valgrindable tests
11910         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11911         (GST_START_TEST), (fakesrc_suite):
11912         * check/gst/gstpad.c: (GST_START_TEST):
11913         * check/gst/gststructure.c: (GST_START_TEST):
11914           fix test leaks
11915         * docs/gst/tmpl/gstminiobject.sgml:
11916         * gst/gstpad.c: (gst_pad_finalize):
11917           fix the static mutex leak
11918
11919 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11920
11921         * check/Makefile.am:
11922           add two more tests for valgrinding
11923         * check/gst/gstvalue.c: (GST_START_TEST):
11924           test refcount of deserialized buffer, found a leak
11925         * docs/gst/gstreamer-docs.sgml:
11926         * docs/gst/gstreamer-sections.txt:
11927         * docs/gst/gstreamer.types:
11928         * docs/gst/tmpl/gstminiobject.sgml:
11929           add miniobject to docs
11930         * gst/gstminiobject.c:
11931           add some docs
11932         * gst/gstvalue.c: (gst_value_deserialize_buffer),
11933         (gst_string_unwrap):
11934           fix a hard-to-find invalid write for one of the tests
11935           fix a leak for deserialized buffers
11936
11937 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11938
11939         * docs/pwg/advanced-events.xml:
11940         * docs/pwg/advanced-request.xml:
11941         * docs/pwg/advanced-scheduling.xml:
11942         * docs/pwg/appendix-porting.xml:
11943         * docs/pwg/building-boiler.xml:
11944         * docs/pwg/intro-preface.xml:
11945         * docs/pwg/other-ntoone.xml:
11946           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11947           of example code and explanation for pad activation, loop() and
11948           getrange() functions and a bit more. Remove old comments pointing
11949           to loop-functions.
11950         * examples/pwg/Makefile.am:
11951           Add loop/getrange examples.
11952
11953 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11954
11955         * configure.ac:
11956           check for valgrind binary + some fixes
11957         * check/gst.supp:
11958           valgrind suppressions for the tests
11959         * check/Makefile.am:
11960           add a valgrind: target that valgrinds the unit tests
11961         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11962         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11963         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11964         * check/gst/gstghostpad.c:
11965           added some cleanup
11966         * check/gst/gstdata.c:
11967           removed
11968         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11969         (thread_unref), (gst_mini_object_suite), (main):
11970           added
11971         * gst/gst.c: (gst_deinit):
11972         * gst/gst.h:
11973           add a method to clean up.
11974         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11975         (gst_system_clock_obtain):
11976           allow for disposing the system clock.
11977         * tools/gst-launch.c: (main):
11978           deinit
11979
11980 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11981
11982         * docs/gst/tmpl/gstbasesrc.sgml:
11983         * docs/gst/tmpl/gstfakesrc.sgml:
11984         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11985         (gst_base_src_init), (gst_base_src_set_property),
11986         (gst_base_src_get_property), (gst_base_src_get_range),
11987         (gst_base_src_start):
11988         * gst/base/gstbasesrc.h:
11989           add num-buffers property
11990         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11991         (gst_fakesrc_init), (gst_fakesrc_set_property),
11992         (gst_fakesrc_get_property), (gst_fakesrc_create),
11993         (gst_fakesrc_start):
11994           remove num-buffers property
11995
11996 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11997
11998         * docs/gst/gstreamer-sections.txt:
11999         * docs/gst/tmpl/gstbasesink.sgml:
12000         * docs/gst/tmpl/gstbasesrc.sgml:
12001         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12002         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12003         (gst_base_sink_finalize), (gst_base_sink_set_clock),
12004         (gst_base_sink_set_property), (gst_base_sink_get_property),
12005         (gst_base_sink_handle_object), (gst_base_sink_event),
12006         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12007         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
12008         (gst_base_sink_loop), (gst_base_sink_deactivate),
12009         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
12010         (gst_base_sink_change_state):
12011         * gst/base/gstbasesink.h:
12012         * gst/base/gstbasesrc.h:
12013         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
12014         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12015         (gst_filesink_init):
12016           more macro splitting
12017
12018 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12019
12020         * gst/gstelement.c: (gst_element_get_bus):
12021           add debug
12022         * tools/gst-launch.c: (check_intr), (event_loop):
12023           fix bus leaks
12024
12025 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12026
12027         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12028           fix a caps leak
12029
12030 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12031
12032         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12033         (gst_base_src_finalize):
12034           add finalize method and clean up properly
12035         * gst/gstpipeline.c: (gst_pipeline_dispose):
12036           add debug
12037
12038 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12039
12040         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
12041         (gst_bin_suite):
12042           add more things to check
12043         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12044         * gst/gstelement.c:
12045           more debug
12046
12047 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12048
12049         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12050         (GST_START_TEST), (fakesrc_suite):
12051         * check/gst-libs/gdp.c: (GST_START_TEST):
12052         * check/gst/gst.c: (GST_START_TEST):
12053         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12054         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12055         * check/gst/gstbus.c: (GST_START_TEST):
12056         * check/gst/gstcaps.c: (GST_START_TEST):
12057         * check/gst/gstdata.c: (GST_START_TEST):
12058         * check/gst/gstelement.c: (GST_START_TEST):
12059         * check/gst/gstghostpad.c: (GST_START_TEST):
12060         * check/gst/gstiterator.c: (GST_START_TEST):
12061         * check/gst/gstmessage.c: (GST_START_TEST):
12062         * check/gst/gstobject.c: (GST_START_TEST):
12063         * check/gst/gstpad.c: (GST_START_TEST):
12064         * check/gst/gststructure.c: (GST_START_TEST):
12065         * check/gst/gstsystemclock.c: (GST_START_TEST),
12066         (gst_systemclock_suite):
12067         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12068         * check/gst/gstvalue.c: (GST_START_TEST):
12069         * check/pipelines/cleanup.c: (GST_START_TEST):
12070         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12071         * check/states/sinks.c: (GST_START_TEST):
12072         * check/gstcheck.c: (gst_check_init):
12073         * check/gstcheck.h:
12074           add debugging category
12075           use GST_START_TEST now, so we add a debug line
12076
12077 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12078
12079         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
12080           add test for state change message on a bin
12081         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
12082           add another test
12083         * gst/gstbin.c: (gst_bin_init):
12084         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
12085         * gst/gstelement.c: (gst_element_post_message),
12086         (gst_element_set_state):
12087         * gst/gstelementfactory.c: (gst_element_factory_create):
12088         * gst/gstmessage.c: (gst_message_new):
12089         * gst/gstscheduler.c:
12090           various debugging additions and cleanups
12091
12092 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12093
12094         * check/Makefile.am:
12095         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
12096         (main):
12097           adding tests for elements
12098         * gst/gstelement.c: (gst_element_dispose):
12099
12100 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12101
12102         * gst/registries/gstlibxmlregistry.c: (load_feature):
12103           plug more leaks.  A simple gst_init() now is leakfree, yay.
12104
12105 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12106
12107         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
12108         (gst_xml_registry_load):
12109           plug another memleak
12110
12111 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12112
12113         * configure.ac:
12114           use GST_SET_ERROR_CFLAGS
12115         * docs/faq/cvs.xml:
12116           change to ERROR_CFLAGS
12117
12118 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12119
12120         * configure.ac:
12121           make GST_ERROR_CFLAGS overridable and re-enable Werror
12122         * docs/faq/cvs.xml:
12123           add a note about error CFLAGS
12124         * docs/gst/tmpl/gstfakesrc.sgml:
12125         * gst/elements/gstfakesrc.c:
12126           comment out some unused code
12127         * gst/gst.c: (split_and_iterate):
12128         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
12129         (load_feature):
12130           plug some memleaks
12131
12132 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12133
12134         * common/Makefile.am:
12135         * common/gtk-doc.mak:
12136         * docs/gst/Makefile.am:
12137           factor out gtk-doc.mak
12138
12139 2005-07-07  Wim Taymans  <wim@fluendo.com>
12140
12141         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
12142         (gst_thread_scheduler_dispose):
12143         Unlock the STREAM_LOCK completely.
12144
12145 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12146
12147         * check/Makefile.am:
12148         * check/elements/.cvsignore:
12149         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12150         (START_TEST), (fakesrc_suite), (main):
12151         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12152         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12153         (gst_fakesrc_create), (gst_fakesrc_start):
12154         * gst/elements/gstfakesrc.h:
12155           adding a first element test
12156
12157 2005-07-07  Andy Wingo  <wingo@pobox.com>
12158
12159         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
12160         debug message.
12161
12162 2005-07-07  Wim Taymans  <wim@fluendo.com>
12163
12164         * gst/gstquery.c:
12165         * gst/gstquery.h:
12166         Remove old types
12167
12168 2005-07-07  Wim Taymans  <wim@fluendo.com>
12169
12170         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12171         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
12172         Allow subclasses to implement their own negotiation.
12173
12174 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12175
12176         * docs/design/part-gstbin.txt:
12177         * docs/design/part-gstpipeline.txt:
12178           Update design notes to reflect the movement of
12179           responsibility for bus handling from GstPipeline to
12180           GstBin
12181
12182 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12183
12184         * configure.ac:
12185           Remove unnecessary queue2/3/4 examples.
12186
12187 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12188
12189         * examples/Makefile.am:
12190         * examples/helloworld/helloworld.c: (event_loop), (main):
12191         * examples/queue/queue.c: (event_loop), (main):
12192         * examples/queue2/queue2.c: (main):
12193           Update a couple of the examples to work again.
12194
12195         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12196         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
12197          Spelling corrections and extra debug.
12198         
12199         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
12200         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
12201         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
12202         * gst/gstbin.h:
12203         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12204         (gst_pipeline_change_state):
12205         * gst/gstpipeline.h:
12206           Move the bus handler for children to the GstBin, and create a
12207           separate bus for receiving messages from children to the one the
12208           bus sends 'upwards' on.
12209
12210 2005-07-06  Wim Taymans  <wim@fluendo.com>
12211
12212         * gst/base/README:
12213         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12214         (gst_base_sink_handle_object), (gst_base_sink_loop),
12215         (gst_base_sink_change_state):
12216         * gst/base/gstbasesink.h:
12217         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12218         (gst_base_src_init), (gst_base_src_setcaps),
12219         (gst_base_src_getcaps), (gst_base_src_loop),
12220         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
12221         (gst_base_src_start), (gst_base_src_change_state):
12222         * gst/base/gstbasesrc.h:
12223         Make basesrc negotiate.
12224         Handle the case where preroll fails in basesink.
12225         Update README.
12226
12227 2005-07-06  Wim Taymans  <wim@fluendo.com>
12228
12229         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
12230         Implement the fixate function.
12231         Clean up acceptcaps.
12232
12233 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12234
12235         * docs/pwg/building-filterfactory.xml:
12236         * docs/pwg/pwg.xml:
12237           Remove never-written filter-factory chapter; I'll add the various
12238           base classes to part 4 ("other element types") later on.
12239
12240 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12241
12242         * docs/pwg/advanced-negotiation.xml:
12243         * docs/pwg/building-boiler.xml:
12244         * docs/pwg/building-pads.xml:
12245         * docs/pwg/pwg.xml:
12246         * examples/pwg/Makefile.am:
12247           Add a chapter on caps negotiation, simplify the original code
12248           samples a bit w.r.t. caps negotiation, add link to the advanced
12249           section. Add a bunch of examples showing different use cases of
12250           different types of caps negotiation. Upstream renegotiation isn't
12251           fully documented yet since nobody knows how that works.
12252
12253 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12254
12255         * check/gst/gstpad.c:
12256         * check/gstcheck.c:
12257         * gst/gstpad.c: (gst_pad_get_internal_links_default):
12258           if pad has no parent, return NULL as list of internal links
12259
12260 2005-07-05  Andy Wingo  <wingo@pobox.com>
12261
12262         * gst/elements/gstfilesrc.c:
12263         * gst/elements/gstfakesrc.c: 
12264         * gst/base/gstpushsrc.c:
12265         * gst/base/gstbasesrc.h: 
12266         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
12267         
12268 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
12269
12270         * Makefile.am:
12271           better report generation target (lcov needs a patch)
12272
12273 2005-07-05  Andy Wingo  <wingo@pobox.com>
12274
12275         * gst/elements, testsuite: Null if we got it...
12276
12277 2005-07-05  Wim Taymans  <wim@fluendo.com>
12278
12279         * configure.ac:
12280         * libs/gst/dataprotocol/Makefile.am:
12281         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
12282         * libs/gst/dataprotocol/dataprotocol.h:
12283         * pkgconfig/Makefile.am:
12284         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
12285         * pkgconfig/gstreamer-dataprotocol.pc.in:
12286         Ported dataprotol to 0.9. 
12287         Added pkgconfig files.
12288
12289 2005-07-05  Andy Wingo  <wingo@pobox.com>
12290
12291         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
12292         Default to returning TRUE for the case when tranform_caps returns
12293         a fixed caps, like for identity or volume.
12294
12295         * check/gst/gstbus.c (pound_bus_with_messages): 
12296         * check/gst/gstmessage.c (START_TEST): 
12297         * check/pipelines/simple_launch_lines.c (got_handoff): Application
12298         message API change.
12299
12300         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
12301         logic weaks here: always run transform_caps, trying passthrough
12302         operation only if the original caps intersects with the transform.
12303
12304         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
12305         source and sink caps.
12306
12307         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
12308         Intersect the peer caps with the pad template before going into
12309         transform_caps.
12310         (gst_base_transform_transform_caps): More debugging.
12311
12312         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
12313         src argument.
12314
12315 2005-07-04  Edward Hervey  <edward@fluendo.com>
12316
12317         * gst/gstutils.c:
12318         * gst/gstutils.h:
12319         (gst_pad_add_*_probe): now returns the signal id for better wrapping
12320         in bindings.
12321
12322 2005-07-04  Andy Wingo  <wingo@pobox.com>
12323
12324         * check/gst/gstpad.c: Only set explicit caps on pads.
12325
12326 2005-07-01  Andy Wingo  <wingo@pobox.com>
12327
12328         * tests/network-clock.scm: Commentary update.
12329
12330         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
12331         Didn't really make sense, not implementable with basetransform,
12332         etc.
12333         (gst_identity_transform): Unref inbuf via make_writable. Feeble
12334         attempt at implementing the sync property, needs an unlock method.
12335
12336         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
12337         New func, by default returns the same caps (the identity
12338         transformation).
12339         (gst_base_transform_getcaps): Uses transform_caps to return
12340         something sensible.
12341         (gst_base_transform_setcaps): Complicated logic to get caps on
12342         both pads, even if they are different, and to call set_caps once
12343         for every time both pads get their caps set.
12344         (gst_base_transform_handle_buffer): Give the ref to the transform
12345         function. Allows in-place modification of the buffer.
12346
12347         * gst/base/gstbasetransform.h (transform_caps): New class method.
12348         Given caps on one side, what can I do on the other.
12349         (set_caps): Take two caps, one for each side of the element.
12350
12351         * gst/gstpad.h:
12352         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
12353         caps in place. This is safe because we can check the mutability of
12354         the caps, and a good idea because fixate functions are just called
12355         as a matter of last resort. (Not actually implemented.)
12356         (gst_pad_set_caps): If the caps we're setting is actually the same
12357         as the existing pad caps, just update the pointer without calling
12358         setcaps. Assert that caps is either NULL or fixed, as per the
12359         docs.
12360
12361         * gst/gstghostpad.c: Update for fixate changes.
12362
12363 2005-07-02  Andy Wingo  <wingo@pobox.com>
12364
12365         * gst/gstcaps.c:
12366         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
12367         two refcounts makes it immutable, which is enough. Doc more.
12368
12369 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
12370
12371         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
12372           Put the mini_object into GValue as a mini_object,
12373           not a gpointer, since that's how we declared
12374           the signal.
12375
12376 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12377
12378         * examples/pwg/Makefile.am:
12379           Fix buildbot again.
12380
12381 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12382
12383         * docs/pwg/building-testapp.xml:
12384           Add extra check.
12385         * examples/pwg/Makefile.am:
12386           Fix buildbot.
12387
12388 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12389
12390         * configure.ac:
12391         * examples/Makefile.am:
12392         * examples/pwg/Makefile.am:
12393         * examples/pwg/extract.pl:
12394           Enable building the PWG examples.
12395         * docs/pwg/advanced-interfaces.xml:
12396           Add URI interface stub.
12397         * docs/pwg/advanced-types.xml:
12398         * docs/pwg/other-autoplugger.xml:
12399         * docs/pwg/appendix-porting.xml:
12400         * docs/pwg/pwg.xml:
12401           Add porting guide (mostly stubs), remove autoplugging (see ADM).
12402         * docs/pwg/building-boiler.xml:
12403         * docs/pwg/building-chainfn.xml:
12404         * docs/pwg/building-pads.xml:
12405         * docs/pwg/building-props.xml:
12406         * docs/pwg/building-state.xml:
12407         * docs/pwg/building-testapp.xml:
12408           Update the building-*.xml parts for 0.9 changes. All examples
12409           code blocks compile in examples/pwg/*.
12410
12411 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12412
12413         * docs/manual/advanced-autoplugging.xml:
12414         * docs/manual/appendix-checklist.xml:
12415         * docs/manual/appendix-integration.xml:
12416         * docs/manual/highlevel-components.xml:
12417           Fix playbin/decodebin examples, update docs a bit, mention bus
12418           instead of signals in various places, mention kmplayer and
12419           kaffeine since they have a working GStreamer backend in the KDE
12420           section.
12421
12422 2005-06-30  Wim Taymans  <wim@fluendo.com>
12423
12424         * CHANGES-0.9:
12425         * docs/design/draft-ghostpads.txt:
12426         * docs/design/draft-push-pull.txt:
12427         * docs/design/draft-query.txt:
12428         * docs/design/part-TODO.txt:
12429         * docs/design/part-query.txt:
12430         Added CHANGES-0.9 doc, updated status of other docs.
12431         
12432         * gst/gstquery.h:
12433         Remove "hmm" macro
12434
12435 2005-06-30  Wim Taymans  <wim@fluendo.com>
12436
12437         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12438         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12439         (gst_base_sink_change_state):
12440         * gst/base/gstbasesink.h:
12441         Some tweaks, only EOS and a buffer complete a preroll.
12442
12443 2005-06-30  Andy Wingo  <wingo@pobox.com>
12444
12445         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
12446         activate_push down to the internal pad as well.
12447
12448 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
12449
12450         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12451
12452         * gst/gsttaginterface.c:
12453           Some documentation fixes (#307394 and #307397).
12454
12455 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
12456
12457         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12458
12459         * gst/gstvalue.c: (gst_value_intersect_list):
12460           Fix memleak (#309125).
12461
12462 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12463
12464         * docs/manual/advanced-dataaccess.xml:
12465           Fix fakesrc example to compile; doesn't work, bug somewhere...?
12466         * docs/manual/basics-pads.xml:
12467           Add reference for filtered caps to above chapter.
12468
12469 2005-06-30  Wim Taymans  <wim@fluendo.com>
12470
12471         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
12472         (gst_bin_change_state):
12473         Probes are gone.
12474         Lame attempt at making the state change function a bit
12475         more readable.
12476
12477 2005-06-30  Wim Taymans  <wim@fluendo.com>
12478
12479         * docs/design/part-clocks.txt:
12480         * docs/design/part-element-sink.txt:
12481         * docs/design/part-events.txt:
12482         * docs/design/part-preroll.txt:
12483         * docs/design/part-states.txt:
12484         Some more tweeks and additions to the docs.
12485
12486 2005-06-30  Wim Taymans  <wim@fluendo.com>
12487
12488         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12489         (default_have_data), (gst_pad_class_init), (gst_pad_init),
12490         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12491         (gst_pad_check_pull_range), (gst_pad_get_range),
12492         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
12493         * gst/gstpad.h:
12494         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
12495         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12496         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12497         (gst_pad_remove_buffer_probe):
12498         Removed atomic operations, use existing LOCK.
12499         Move exception handling out of main code path.
12500
12501 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12502
12503         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12504         (silly_return_true_function), (gst_pad_class_init),
12505         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12506         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
12507         (gst_pad_send_event):
12508           Fix accumulator, add default value by using _emitv() instead
12509           of _emit() for signal emission.
12510
12511 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12512
12513         * docs/manual/advanced-dataaccess.xml:
12514         * examples/manual/Makefile.am:
12515           Add probe example.
12516         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
12517           Make work (??).
12518
12519 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
12520
12521         * gst/elements/gstfilesink.c: (gst_filesink_render):
12522           Simplify code so that we don't have to handle short
12523           writes and return GST_FLOW_ERROR if an error occured.
12524
12525 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12526
12527         * docs/gst/gstreamer-docs.sgml:
12528           Remove probes more.
12529
12530 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12531
12532         * docs/gst/gstreamer-sections.txt:
12533         * docs/gst/tmpl/gstpad.sgml:
12534         * docs/gst/tmpl/gstprobe.sgml:
12535         * gst/Makefile.am:
12536         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12537         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
12538         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12539         (gst_pad_push_event), (gst_pad_send_event):
12540         * gst/gstpad.h:
12541         * gst/gstutils.c: (gst_pad_add_data_probe),
12542         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12543         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12544         (gst_pad_remove_buffer_probe):
12545         * gst/gstutils.h:
12546           Remove old probes, add new g-signal-based probes and some utility
12547           functions.
12548
12549 2005-06-29  Edward Hervey  <edward@fluendo.com>
12550
12551         * gst/gstelementfactory.c:
12552         * gst/gstutils.h:
12553         * gst/gstutils.c:
12554         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
12555         the definition to the header file.
12556
12557 2005-06-29  Andy Wingo  <wingo@pobox.com>
12558
12559         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
12560         plugins from the source directory.
12561
12562 2005-06-29  Wim Taymans  <wim@fluendo.com>
12563
12564         * docs/gst/tmpl/gstbuffer.sgml:
12565         * docs/gst/tmpl/gstclock.sgml:
12566         Some fixings for blantently wrong text.
12567
12568 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12569
12570         * check/Makefile.am:
12571         * gst/gst.c: (add_path_func), (init_pre):
12572         * gst/gstregistry.c: (gst_registry_add_path):
12573           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
12574           only scan the GST_PLUGIN_PATH locations, and not add
12575           system locations
12576
12577 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12578
12579         * docs/gst/gstreamer-sections.txt:
12580         * docs/gst/tmpl/gstbasesrc.sgml:
12581         * gst/gstelement.c:
12582         * gst/gstelement.h:
12583         * gst/gstevent.c:
12584         * gst/gstutils.c:
12585           doc fixes
12586
12587 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12588
12589         * docs/manual/advanced-autoplugging.xml:
12590           Fix autoplugging example.
12591
12592 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12593
12594         * docs/manual/advanced-autoplugging.xml:
12595         * docs/manual/mime-world.fig:
12596           Try to get autoplugging working, fix type detection. Fix text
12597           in hello-world image.
12598
12599 2005-06-29  Wim Taymans  <wim@fluendo.com>
12600
12601         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12602         (gst_base_sink_change_state):
12603         Small debug line.
12604
12605         * gst/gstclock.h:
12606         map SIGNAL and BROADCAST to the right function.
12607
12608         * gst/gstobject.h:
12609         Remove redundant braces.
12610
12611         * gst/gstpad.c: (gst_pad_set_caps):
12612         Don't call setcaps function when reseting caps to NULL.
12613
12614         * gst/gstsystemclock.c: (gst_system_clock_dispose),
12615         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
12616         (gst_system_clock_id_unschedule):
12617         Use BROADCAST as this is what we do.
12618
12619 2005-06-29  Wim Taymans  <wim@fluendo.com>
12620
12621         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12622         We are actually prerolling before commiting the state
12623         change. 
12624
12625 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12626
12627         * docs/manual/advanced-clocks.xml:
12628         * docs/manual/advanced-interfaces.xml:
12629         * docs/manual/advanced-metadata.xml:
12630         * docs/manual/advanced-position.xml:
12631         * docs/manual/advanced-schedulers.xml:
12632         * docs/manual/advanced-threads.xml:
12633         * docs/manual/appendix-porting.xml:
12634         * docs/manual/basics-bins.xml:
12635         * docs/manual/basics-bus.xml:
12636         * docs/manual/basics-elements.xml:
12637         * docs/manual/basics-helloworld.xml:
12638         * docs/manual/basics-pads.xml:
12639         * docs/manual/highlevel-components.xml:
12640         * docs/manual/manual.xml:
12641         * docs/manual/thread.fig:
12642           Update (until threads/scheduling) Application Development Manual;
12643           remove GstThread, add GstBus, add simple porting checklist, add
12644           documentation for tag writing, clocks, make all examples until this
12645           part compile and run.
12646         * examples/manual/Makefile.am:
12647           Update from changes to Application Development Manual; add bus
12648           example, remove thread example.
12649
12650 2005-06-28  Wim Taymans  <wim@fluendo.com>
12651
12652         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
12653         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
12654         (gst_bus_source_dispatch):
12655         Add debugging messages.
12656         Make internal methods static.
12657         Handle the case where the bus is flushed in the handler.
12658         
12659         * gst/gstelement.c: (gst_element_get_bus):
12660         Fix refcount in _get_bus();
12661
12662         * gst/gstpipeline.c: (gst_pipeline_change_state),
12663         (gst_pipeline_get_clock_func):
12664         Clock refcounting fixes.
12665         Handle the case where preroll timed out more gracefully.
12666         
12667         * gst/gstsystemclock.c: (gst_system_clock_dispose):
12668         Clean up the internal thread in dispose. This is needed
12669         for subclasses that actually get disposed.
12670         
12671         * gst/schedulers/threadscheduler.c:
12672         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12673         (gst_thread_scheduler_dispose):
12674         Free thread pool in dispose.
12675
12676 2005-06-28  Andy Wingo  <wingo@pobox.com>
12677
12678         * tests/network-clock-utils.scm (debug, print-event): New utils.
12679
12680         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
12681         (*packet-loss*): Unified loss probability.
12682         (network-time): Report out-of-band events.
12683
12684         * tests/plot-data: Add support for out-of-band events. Hack it
12685         into this script instead of passing it down the pipe; should fix
12686         this later.
12687
12688 2005-06-28  Wim Taymans  <wim@fluendo.com>
12689
12690         * docs/gst/gstreamer.types:
12691         * docs/gst/tmpl/gstbasesrc.sgml:
12692         * docs/gst/tmpl/gstpad.sgml:
12693         Docs fixes.
12694
12695 2005-06-28  Wim Taymans  <wim@fluendo.com>
12696
12697         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12698         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
12699         (gst_proxy_pad_do_fixatecaps):
12700         Correctly proxy the check_pull_range function.
12701
12702 2005-06-28  Andy Wingo  <wingo@pobox.com>
12703
12704         * tests/network-clock.scm: Removed need for slib.
12705         
12706 2005-06-28  Wim Taymans  <wim@fluendo.com>
12707
12708         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
12709         (gst_basesink_preroll_queue_flush):
12710         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
12711         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
12712         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12713         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12714         (gst_proxy_pad_set_property):
12715         * gst/gstpad.c:
12716         * gst/gstpad.h:
12717         * gst/gstqueue.c: (gst_queue_init):
12718         The deprecated pad loop function is removed now.
12719
12720 2005-06-28  Andy Wingo  <wingo@pobox.com>
12721
12722         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
12723         New parameters, simulate network packet loss.
12724
12725         * tests/network-clock-utils.scm: Initialize the RNG.
12726
12727 2005-06-28  Wim Taymans  <wim@fluendo.com>
12728
12729         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
12730         (gst_basesink_event), (gst_basesink_deactivate):
12731         Flushing the preroll queue always needs to unlock the waiters.
12732
12733 2005-06-28  Edward Hervey  <edward@fluendo.com>
12734
12735         * gst/gstpipeline.c: (gst_pipeline_send_event): 
12736         Wheen a seek was successful on a pipeline, set the stream_time to the
12737         seek offset in order to have a synchronized stream_time.
12738
12739 2005-06-28  Wim Taymans  <wim@fluendo.com>
12740
12741         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12742         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12743         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
12744         (gst_proxy_pad_do_fixatecaps):
12745         Call wrapper function instead of just calling the function
12746         pointers. This takes care of any locking and whatmore.
12747
12748 2005-06-28  Wim Taymans  <wim@fluendo.com>
12749
12750         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
12751         (gst_pad_pull_range):
12752         * gst/gstpad.h:
12753         CONNECTED -> LINKED.
12754
12755 2005-06-28  Andy Wingo  <wingo@pobox.com>
12756
12757         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
12758         source-munging commit!!!
12759
12760         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
12761         (gst_object_sink): Take gpointer arguments, not GstObject --
12762         avoids casts. Like GLib.
12763
12764         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
12765         activate.
12766
12767 2005-06-27  Andy Wingo  <wingo@pobox.com>
12768
12769         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
12770         remaining buffer.
12771
12772         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
12773         returns a sorted copy of the trace list.
12774         (gst_alloc_trace_print_live): New API, only prints traces with
12775         live objects. Sort the list.
12776         (gst_alloc_trace_print_all): Sort the list.
12777         (gst_alloc_trace_print): Align columns.
12778
12779         * gst/elements/gstttypefindelement.c:
12780         * gst/elements/gsttee.c:
12781         * gst/base/gstbasesrc.c:
12782         * gst/base/gstbasesink.c:
12783         * gst/base/gstbasetransform.c:
12784         * gst/gstqueue.c: Adapt for pad activation changes.
12785
12786         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
12787         sched.
12788         (gst_pipeline_dispose): Drop ref on sched.
12789
12790         * gst/gstpad.c (gst_pad_init): Set the default activate func.
12791         (gst_pad_activate_default): Push mode by default.
12792         (pre_activate_switch, post_activate_switch): New stubs, things to
12793         do before and after switching activation modes on pads.
12794         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
12795         the pad's activate function to choose which mode to activate.
12796         Shortcut on deactivation and call the right function directly.
12797         (gst_pad_activate_pull): New API, (de)activates a pad in pull
12798         mode.
12799         (gst_pad_activate_push): New API, same for push mode.
12800         (gst_pad_set_activate_function) 
12801         (gst_pad_set_activatepull_function) 
12802         (gst_pad_set_activatepush_function): Setters for new API.
12803
12804         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
12805         Trace all miniobjects.
12806         (gst_mini_object_make_writable): Unref the arg if we copy, like
12807         gst_caps_make_writable.
12808
12809         * gst/gstmessage.c (_gst_message_initialize): No trace init.
12810
12811         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
12812         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
12813         Adapt for new pad API.
12814
12815         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
12816
12817         * gst/gstelement.h:
12818         * gst/gstelement.c (gst_element_iterate_src_pads) 
12819         (gst_element_iterate_sink_pads): New API functions.
12820         
12821         * gst/gstelement.c (iterator_fold_with_resync): New utility,
12822         should fold into gstiterator.c in some form.
12823         (gst_element_pads_activate): Simplified via use of fold and
12824         delegation of decisions to gstpad->activate.
12825
12826         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
12827         help in debugging.
12828
12829         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
12830         class once in init, like gstmessage. Didn't run into this issue
12831         but it seems correct. Don't initialize a trace, gstminiobject does
12832         that.
12833
12834         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
12835         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
12836         to the bus.
12837         (assert_live_count): New util function, uses alloc traces to check
12838         cleanup.
12839
12840         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12841         To be modified when unlink drops the internal pad.
12842
12843 2005-06-27  Wim Taymans  <wim@fluendo.com>
12844
12845         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12846         (gst_bin_change_state):
12847         Cleanup the get_state() function a little, make sure it
12848         iterates the same set of elements.
12849         Added stub iterate_state_order().
12850
12851 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12852
12853         * docs/gst/gstreamer-docs.sgml:
12854         * docs/gst/gstreamer-sections.txt:
12855         * docs/gst/gstreamer.types:
12856         * docs/gst/tmpl/gstbasesink.sgml:
12857         * docs/gst/tmpl/gstbasesrc.sgml:
12858         * docs/gst/tmpl/gstbasetransform.sgml:
12859         * docs/gst/tmpl/gstelement.sgml:
12860         * docs/gst/tmpl/gstiterator.sgml:
12861         * gst/base/gstbasesrc.c:
12862         * gst/base/gstbasesrc.h:
12863         * gst/base/gstbasetransform.h:
12864         * gst/gstelement.c:
12865         * gst/gstiterator.h:
12866           adding basetransform and iterator docs
12867
12868 2005-06-27  Andy Wingo  <wingo@pobox.com>
12869
12870         * docs/design/part-activation.txt: Notes on how activation should
12871         work -- not quite implemented yet.
12872
12873 2005-06-25  Wim Taymans  <wim@fluendo.com>
12874
12875         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12876         At least get the chain function correct, needs more
12877         fixing.
12878
12879 2005-06-25  Wim Taymans  <wim@fluendo.com>
12880
12881         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12882         (gst_basesink_handle_object), (gst_basesink_event),
12883         (gst_basesink_do_sync), (gst_basesink_handle_event),
12884         (gst_basesink_change_state):
12885         * gst/gsttask.h:
12886         Right, two problems here: ghostpads don't take locks and
12887         glib _rec_mutex_lock_full() with depth==0 still locks.
12888         Catch illegal locking and g_warn them.
12889
12890 2005-06-25  Wim Taymans  <wim@fluendo.com>
12891
12892         * check/states/sinks.c: (START_TEST), (gst_object_suite):
12893         Have to check for completion now...
12894
12895 2005-06-25  Wim Taymans  <wim@fluendo.com>
12896
12897         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12898         (gst_basesink_handle_object), (gst_basesink_event),
12899         (gst_basesink_do_sync), (gst_basesink_handle_event),
12900         (gst_basesink_change_state):
12901         * gst/gstpad.h:
12902         Unlock STREAM_LOCK whatever the recursion was.
12903
12904 2005-06-25  Wim Taymans  <wim@fluendo.com>
12905
12906         * gst/base/gstbasesink.c: (gst_basesink_set_property),
12907         (gst_basesink_preroll_queue_empty),
12908         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12909         (gst_basesink_event), (gst_basesink_do_sync),
12910         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12911         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12912         (gst_basesink_change_state):
12913         Reworked the base sink, handle event and buffer serialisation
12914         correctly and removed possible deadlock.
12915         Handle EOS correctly.
12916
12917 2005-06-25  Wim Taymans  <wim@fluendo.com>
12918
12919         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12920         (gst_pipeline_change_state):
12921         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12922         Allow elements to post EOS in the state change function.
12923         Fix up -launch, make it exit the poll loop when the
12924         pipeline actually changed state.
12925         Fix up warning parsing in -launch.
12926
12927 2005-06-25  Wim Taymans  <wim@fluendo.com>
12928
12929         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12930         (gst_tee_sink_activate):
12931         Core takes STREAM_LOCK for us now.
12932
12933 2005-06-25  Wim Taymans  <wim@fluendo.com>
12934
12935         * gst/gstelement.c: (gst_element_get_state_func),
12936         (gst_element_set_state):
12937         * gst/gstelement.h:
12938         * gst/gstmessage.c: (gst_message_parse_error),
12939         (gst_message_parse_warning):
12940         Keep track of current target state while performing a state
12941         change so that subclasses can do something interesting.
12942         Fix parsing of warning/error messages when GError is NULL.
12943
12944 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12945
12946         * docs/gst/Makefile.am:
12947         * docs/gst/gstreamer-docs.sgml:
12948         * docs/gst/gstreamer-sections.txt:
12949         * docs/gst/gstreamer.types:
12950         * docs/gst/tmpl/gstbasesink.sgml:
12951         * docs/gst/tmpl/gstbasesrc.sgml:
12952         * docs/gst/tmpl/gstbin.sgml:
12953         * docs/gst/tmpl/gstcompat.sgml:
12954         * docs/gst/tmpl/gstfakesink.sgml:
12955         * docs/gst/tmpl/gstfakesrc.sgml:
12956         * docs/gst/tmpl/gstfilesink.sgml:
12957         * docs/gst/tmpl/gstfilesrc.sgml:
12958         * docs/gst/tmpl/gstindex.sgml:
12959         * docs/manual/appendix-quotes.xml:
12960         * gst/base/gstbasesrc.h:
12961         * gst/elements/gstfakesrc.h:
12962         * gst/gstmessage.h:
12963           start pulling in base classes and elements in our docs
12964
12965 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
12966
12967         * docs/gst/Makefile.am:
12968         * docs/libs/Makefile.am:
12969           fixed make distcheck with gtk-doc 1.3
12970
12971 2005-06-23  Wim Taymans  <wim@fluendo.com>
12972
12973         * gst/gstelement.c: (gst_element_get_state_func),
12974         (gst_element_set_state), (gst_element_change_state):
12975         When the state did not change, also report NO_PREROLL
12976         when it matters.
12977
12978 2005-06-23  Wim Taymans  <wim@fluendo.com>
12979
12980         * gst/gstpad.c: (gst_pad_event_default):
12981         * gst/gstqueue.c: (gst_queue_loop):
12982         No unsafe task pausing please.
12983
12984 2005-06-23  Wim Taymans  <wim@fluendo.com>
12985
12986         * gst/schedulers/threadscheduler.c:
12987         (gst_thread_scheduler_task_start),
12988         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12989         Ref the task before pushing it on the threadpool. This
12990         makes sure that we have a ref when the threadfunction is
12991         actually called.
12992
12993 2005-06-23  Andy Wingo  <wingo@pobox.com>
12994
12995         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12996         offset is greater than the file's size.
12997
12998         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12999         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
13000         * gst/gstobject.c (gst_object_class_init): Make the class lock
13001         recursive. Wim won't let me drop deep_notify. Decodebin works
13002         again, whoopdy doo.
13003
13004         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
13005         internal pad, and hacks accordingly. Doesn't do it on the target
13006         pad because we change its caps. Probably catches all cases of
13007         interest tho.
13008         (gst_ghost_pad_set_property): Connect to notify::caps as
13009         appropritate.
13010
13011         * tests/network-clock.scm (plot-simulation): Pipe data to the
13012         elite python skript.
13013
13014         * tests/network-clock-utils.scm (define-parameter): New macro,
13015         defines a parameter that can be set via the command line.
13016         (set-parameter!, parse-parameter-arguments): Command line args
13017         parser.
13018
13019         * tests/plot-data: Simple matplotlib-based plotter, takes input on
13020         stdin.
13021
13022 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
13023
13024         * gst/elements/gsttypefindelement.c:
13025         (gst_type_find_element_handle_event):
13026           Don't restart typefinding on a discont.
13027         * gst/gstelement.c: (gst_element_set_state):
13028           Debug spelling fix.
13029         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
13030           Allow changing mode of an active pad.
13031           Debug output fixes.
13032         * gst/registries/gstlibxmlregistry.c: (load_feature):
13033           Don't cast a static pad template to a normal pad template.
13034
13035 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13036
13037         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13038         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13039           remove gst_strtoll completely, since it didn't actually do
13040           anything more than what g_ascii_strtoull already does.
13041           check for range errors when deserializing
13042           do a cast for the unsigned cases; but further fixing needs
13043           a decision on what the interpretation of "(int)" and
13044           deserialization should be for values that fall outside the
13045           type's boundaries (ie, refuse, or interpret as casting)
13046
13047 2005-06-23  Wim Taymans  <wim@fluendo.com>
13048
13049         * check/Makefile.am:
13050         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
13051         * docs/design/part-live-source.txt:
13052         * docs/design/part-states.txt:
13053         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13054         (gst_basesrc_set_live), (gst_basesrc_is_live),
13055         (gst_basesrc_get_range), (gst_basesrc_activate),
13056         (gst_basesrc_change_state):
13057         * gst/base/gstbasesrc.h:
13058         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13059         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13060         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
13061         * gst/gstelement.c: (gst_element_get_state_func),
13062         (gst_element_set_state):
13063         * gst/gstelement.h:
13064         * gst/gsttypes.h:
13065         * tools/gst-launch.c: (event_loop), (main):
13066         Added support for live sources and other elements that
13067         cannot do preroll.
13068         Updated design docs, added live-source design doc.
13069         Implemented live source functionality in basesrc
13070         Fix error condition in _bin_get_state()
13071         Implement live source handling in -launch.
13072         Added check for live sources.
13073         Fixed case in GstBin where elements were changed state
13074         multiple times.
13075
13076
13077 2005-06-23  Andy Wingo  <wingo@pobox.com>
13078
13079         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
13080         borken refcounting.
13081
13082         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
13083         gst_caps_replace takes care of this for us.
13084
13085         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
13086         gst_pad_set_caps on the target, not just its setcaps() function.
13087
13088         * tests/network-clock.scm: 
13089         * tests/network-clock-utils.scm: A network clock simulator.
13090         Something of an algorithmic testbed before doing something in C.
13091
13092 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13093
13094         * check/Makefile.am:
13095         * check/gst/capslist.h:
13096           copy over from 0.8, and add two with bitmasks specified with
13097           (int) 0xFF...
13098         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13099           add test to parse everything from capslist.h
13100         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
13101         (main):
13102           add test for structure deserialization
13103         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13104           add tests for deserialization of strings to int types
13105         * gst/gststructure.c: (gst_structure_nth_field_name):
13106         * gst/gststructure.h:
13107           add a way to get the name of a field referenced by index
13108         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13109           instead of checking if the resulting long long lies between
13110           min and max, we check if the long long would fit into
13111           a number of bytes for the final type.
13112           This fixes cases where a string represents 2^32 - 1, which
13113           when cast to int would be the (valid) -1, but is bigger than
13114           G_MAXINT
13115
13116 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13117
13118         * gst/parse/grammar.y:
13119           add a log line for type deserialization
13120
13121 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13122
13123         * check/gst/gstvalue.c: (START_TEST):
13124         * gst/gstvalue.c: (gst_value_deserialize):
13125           return long long, not int, so gint64 deserialization actually
13126           works.  Is there any flag that makes the compiler check this ?
13127           Fixes #308559
13128
13129 2005-06-22  Wim Taymans  <wim@fluendo.com>
13130
13131         * gst/gstbuffer.h:
13132         Added convenience macros for setting buffers in GValue.
13133
13134 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13135
13136         * check/gst/.cvsignore:
13137         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13138           add a test deserializing int64, and comment part out because
13139           it fails, yay !
13140
13141 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13142
13143         * check/Makefile.am:
13144         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
13145         * testsuite/Makefile.am:
13146         * testsuite/caps/Makefile.am:
13147         * testsuite/caps/value_serialize.c:
13148         * testsuite/test_gst_init.c:
13149           move a value_serialize test over
13150
13151 2005-06-20  Wim Taymans  <wim@fluendo.com>
13152
13153         * gst/gstpad.c:
13154         Small doc updates.
13155         
13156         * gst/gstvalue.c: (gst_value_compare_buffer),
13157         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
13158         (gst_value_compare_flags), (gst_value_serialize_flags),
13159         (gst_value_deserialize_flags), (_gst_value_initialize):
13160         Fix serialisation of buffers, they are not boxed types anymore
13161
13162 2005-06-20  Wim Taymans  <wim@fluendo.com>
13163
13164         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13165         Testcase to show error in buffer-on-caps serialisation.
13166
13167 2005-06-20  Andy Wingo  <wingo@pobox.com>
13168
13169         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
13170         will be adding to later.
13171
13172         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
13173         if its socks fill with rocks.
13174         (gst_system_clock_obtain): Set the name on object construction.
13175         Avoid double-checked locking.
13176
13177 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
13178
13179         * gst/gsturi.c: (gst_element_make_from_uri):
13180           Fix potential endless loop.
13181
13182 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13183
13184         * check/Makefile.am:
13185           add gsttag
13186         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
13187         (main):
13188           move over from testsuite dir and clean up
13189         * configure.ac:
13190         * gst/gsttag.c:
13191         * testsuite/Makefile.am:
13192         * testsuite/tags/.cvsignore:
13193         * testsuite/tags/Makefile.am:
13194         * testsuite/tags/merge.c:
13195           remove testsuite/tags
13196
13197 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13198
13199         * docs/gst/gstreamer-sections.txt:
13200         * docs/gst/tmpl/gstenumtypes.sgml:
13201         * win32/gstenumtypes.c:
13202           clean up documentation build a little
13203
13204 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13205
13206         * check/gstcheck.h:
13207           add macros for checking refcounts on objects and caps
13208         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
13209           add some more unit tests
13210         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13211         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
13212           fix leaked refcounts (I hope :)) so unittest works
13213         * gst/gstpad.h:
13214           whitespace removal
13215
13216 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13217
13218         * configure.ac: back to HEAD
13219
13220 === release 0.9.1 ===
13221
13222 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13223
13224         * NEWS:
13225         * RELEASE:
13226           updated
13227
13228 2005-06-17  Andy Wingo  <wingo@pobox.com>
13229
13230         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
13231         assert; it's always possible that the pad gets deactivated in
13232         between the checks in gstpad.c and the implementation. Rely on
13233         finish_preroll() to return a FLUSHING or similar instead of on the
13234         assert.
13235         
13236         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
13237         clock and post an EOS message if we come out of finish_preroll in
13238         the playing state.
13239
13240 2005-06-16  David Schleef  <ds@schleef.org>
13241
13242         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13243         (gst_capsfilter_set_property): Allow NULL as possible value
13244         for filter_caps property, indicating GST_CAPS_ANY.
13245
13246 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13247
13248         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
13249           fix debug output
13250         * gst/schedulers/Makefile.am:
13251           use libgst prefix
13252         * gstreamer.spec.in:
13253           fix spec for it
13254
13255 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13256
13257         * gstreamer.spec.in:
13258           clean up
13259
13260 2005-06-08  Andy Wingo  <wingo@pobox.com>
13261
13262         * gst/gstutils.c: RPAD fixes all around.
13263         (gst_element_link_pads): Refcounting fixes.
13264
13265         * tools/gst-inspect.c:
13266         * tools/gst-xmlinspect.c:
13267         * parse/grammar.y:
13268         * gst/base/gsttypefindhelper.c:
13269         * gst/base/gstbasesink.c:
13270         * gst/gstqueue.c: RPAD fixes.
13271
13272         * gst/gstghostpad.h:
13273         * gst/gstghostpad.c: New ghost pad implementation as full proxy
13274         pads. The tricky thing is they provide both source and sink
13275         interfaces, since they proxy the internal pad for the external
13276         pad, and vice versa. Implement with lower-level ProxyPad objects,
13277         with the interior proxy pad as a child of the exterior ghost pad.
13278         Should write a doc on this.
13279         
13280         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
13281         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
13282         gst_object API.
13283         
13284         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
13285         pads are real pads. No ghost pads in this file. Not documenting
13286         the myriad s/RPAD/PAD/ and REALIZE fixes.
13287         (gst_pad_class_init): Add properties for "direction" and
13288         "template". Both are construct-only, so they can't change during
13289         the life of the pad. Fixes properly deriving from GstPad.
13290         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
13291         derived objects, just set properties when creating the objects via
13292         g_object_new.
13293         (gst_pad_get_parent): Implement as a function, return NULL if the
13294         parent is not an element.
13295         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
13296         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
13297         
13298         * gst/gstobject.c (gst_object_class_init): Make name a construct
13299         property. Don't set it in the object init.
13300
13301         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
13302         with UNKNOWN direction.
13303         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
13304         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
13305         (gst_element_remove_pad): Remove ghost-pad special cases.
13306         (gst_element_pads_activate): Remove rpad cruft.
13307
13308         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
13309         catch the pad's-parent-not-an-element case.
13310
13311         * gst/gst.h: Include gstghostpad.h.
13312
13313         * gst/gst.c (init_post): No more real, ghost pads.
13314
13315         * gst/Makefile.am: Add gstghostpad.[ch].
13316
13317         * check/Makefile.am:
13318         * check/gst/gstbin.c:
13319         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
13320         into a bin creates ghost pads, and that the refcounts are right.
13321         Partly moved from gstbin.c.
13322
13323 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13324
13325         * check/gst-libs/.cvsignore:
13326         * check/gst/.cvsignore:
13327         * check/pipelines/.cvsignore:
13328           ignore more
13329         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
13330         (START_TEST), (cleanup_suite), (main):
13331           add some tests related to cleanup after running pipelines
13332
13333 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13334
13335         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
13336           add a testsuite for GstBuffer
13337
13338 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13339
13340         * gst/gstminiobject.h:
13341           add defines for accessing the refcount
13342
13343 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
13344
13345         * Makefile.am: added support for html unit test coverage reports
13346
13347 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
13348
13349         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13350           Free existing caps if the capsfilter changes. Add a FIXME about
13351           setting those caps on the pads.
13352
13353         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
13354           Before adding a ghost pad to a parent bin, check that there isn't
13355           already one for the element on the bin. Prevents infinite recursion
13356           when using decodebin in parse pipelines. Andy says he'll rewrite the
13357           way this works anyway, so ignore the hack.
13358
13359 2005-06-02  Andy Wingo  <wingo@pobox.com>
13360
13361         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
13362         file size, pass it on to the type find helper.
13363
13364         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
13365         segment_start and segment_end properly according to the seek
13366         method. Segment_end is still a bit flaky because offset can be
13367         negative for CUR and END cases, but it takes -1 as an "unset"
13368         value.
13369
13370 2005-06-02  Wim Taymans  <wim@fluendo.com>
13371
13372         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
13373         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
13374         (gst_basesink_activate):
13375         * gst/base/gstbasesink.h:
13376         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13377         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13378         (gst_pad_query), (gst_pad_start_task):
13379         * gst/gstpad.h:
13380         * gst/gstqueue.c: (gst_queue_bufferalloc),
13381         (gst_queue_handle_sink_event), (gst_queue_chain):
13382         Bufferalloc: return GstFlowReturn to more accuratly report
13383         why allocation failed.
13384
13385 2005-06-02  Wim Taymans  <wim@fluendo.com>
13386
13387         * gst/gstpipeline.c: (gst_pipeline_send_event):
13388         Take snapshot of state without blocking.
13389
13390 2005-06-02  Wim Taymans  <wim@fluendo.com>
13391
13392         * docs/design/part-TODO.txt:
13393         * docs/design/part-caps.txt:
13394         * docs/design/part-clocks.txt:
13395         * docs/design/part-negotiation.txt:
13396         * docs/design/part-preroll.txt:
13397         Small doc updates 
13398
13399 2005-05-30  Wim Taymans  <wim@fluendo.com>
13400
13401         * gst/elements/gstidentity.c: (gst_identity_event),
13402         (gst_identity_transform), (gst_identity_get_property):
13403         Protect last_message property as it is accessed from
13404         multiple threads.
13405
13406 2005-05-30  Wim Taymans  <wim@fluendo.com>
13407
13408         * gst/gstelement.c: (gst_element_init),
13409         (gst_element_pads_activate), (gst_element_change_state):
13410         Slicker pad activation code.
13411
13412 2005-05-30  Wim Taymans  <wim@fluendo.com>
13413
13414         * gst/Makefile.am:
13415         * gst/gstelement.h:
13416         * gst/gstelementfactory.h:
13417         * gst/gsttypes.h:
13418         Move elementfactory methods to separate .h file.
13419
13420 2005-05-30  Wim Taymans  <wim@fluendo.com>
13421
13422         * docs/design/part-overview.txt:
13423         * gst/gstsystemclock.h:
13424         Small typo fixes, doc updates.
13425
13426 2005-05-30  Wim Taymans  <wim@fluendo.com>
13427
13428         * gst/gst.c: (gst_init_get_popt_table), (init_post),
13429         (init_popt_callback):
13430         Remove cpu-opt flag.
13431
13432 2005-05-30  Wim Taymans  <wim@fluendo.com>
13433
13434         * gst/gstbuffer.c: (gst_subbuffer_finalize),
13435         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
13436         * gst/gstbuffer.h:
13437         Avoid typechecking in places where not needed.
13438         Added accessor for malloc_data.
13439
13440 2005-05-30  Wim Taymans  <wim@fluendo.com>
13441
13442         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
13443         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
13444         (gst_pad_configure_sink), (gst_pad_configure_src),
13445         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
13446         (gst_pad_start_task):
13447         Propagate errors from _set_caps() in configure_src/sink
13448         functions instead of returning TRUE.
13449         FLUSH events can travel up and downstream
13450
13451
13452 2005-05-30  Wim Taymans  <wim@fluendo.com>
13453
13454         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13455         (gst_basesink_activate):
13456         Handle EOS in preroll.
13457
13458 2005-05-30  Wim Taymans  <wim@fluendo.com>
13459
13460         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13461         (gst_queue_loop), (gst_queue_handle_src_event):
13462         Remove old pieces of code
13463         Flushing the queue in an upstream event is a very bad idea.
13464
13465 2005-05-26  Andy Wingo  <wingo@pobox.com>
13466
13467         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
13468         gst_value_set_mini_object so as to add a ref on the object (which
13469         will be removed when the value is unset).
13470
13471         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
13472         arg type in ::handoff.
13473
13474         * gst/gstelement.c (gst_element_change_state): Also deactivate
13475         pads in READY->NULL, just in case the element didn't make it to
13476         PAUSED. Wingo tested, Wim approved.
13477
13478 2005-05-26  Wim Taymans  <wim@fluendo.com>
13479
13480         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13481         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13482         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
13483         A flushing pad cannot be used to alloc_buffer from.
13484
13485 2005-05-26  Wim Taymans  <wim@fluendo.com>
13486
13487         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
13488         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
13489         (gst_bus_source_dispatch), (gst_bus_source_finalize),
13490         (gst_bus_create_watch), (gst_bus_add_watch_full):
13491         * gst/gstbus.h:
13492         Implement a real GSource and use g_main_context_wakeup() to
13493         signal new messages instead of the socketpair.
13494
13495 2005-05-25  Wim Taymans  <wim@fluendo.com>
13496
13497         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
13498         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
13499         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13500         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13501         (gst_pad_send_event), (gst_pad_start_task):
13502         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
13503         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13504         (gst_queue_sink_activate), (gst_queue_src_activate),
13505         (gst_queue_change_state):
13506         * gst/gstqueue.h:
13507         Fix state changes for non sinks. We now change sinks, then elements
13508         with unconnected srcpads, then the rest.
13509         More efficient queue unlocking in flush and state changes.
13510         Set the pad activate mode even if it does not have an activate
13511         function.
13512
13513 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13514
13515         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
13516           Don't go in pull mode for non-seekable sources.
13517         * gst/elements/gsttypefindelement.h:
13518         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13519         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
13520         (free_entry), (stop_typefinding),
13521         (gst_type_find_element_handle_event), (find_peek),
13522         (gst_type_find_element_chain), (do_pull_typefind),
13523         (gst_type_find_element_change_state):
13524           Allow typefinding (w/o seeking) in push-mode, simplified version
13525           of what was in 0.8.
13526         * gst/gstutils.c: (gst_buffer_join):
13527         * gst/gstutils.h:
13528           gst_buffer_join() from 0.8.
13529
13530 2005-05-25  Wim Taymans  <wim@fluendo.com>
13531
13532         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13533         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13534         (gst_pad_send_event), (gst_pad_start_task):
13535         Disable attempt at mode switching until it is figured out.
13536
13537 2005-05-25  Wim Taymans  <wim@fluendo.com>
13538
13539         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
13540         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13541         (gst_basesink_finish_preroll), (gst_basesink_chain),
13542         (gst_basesink_loop), (gst_basesink_activate),
13543         (gst_basesink_change_state):
13544         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
13545         (gst_basesrc_get_range), (gst_basesrc_loop),
13546         (gst_basesrc_activate):
13547         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13548         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13549         (gst_real_pad_init), (gst_real_pad_set_property),
13550         (gst_real_pad_get_property), (gst_pad_set_active),
13551         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
13552         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
13553         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
13554         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
13555         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13556         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
13557         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
13558         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13559         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
13560         (gst_pad_stop_task):
13561         * gst/gstpad.h:
13562         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13563         (gst_queue_loop), (gst_queue_src_activate):
13564         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
13565         (gst_task_get_state):
13566         * gst/gsttask.h:
13567         * gst/schedulers/threadscheduler.c:
13568         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
13569         Implement gst_pad_pause/start/stop_task(), take STREAM lock
13570         in task function.
13571         Remove ACTIVE pad flag, use FLUSHING everywhere
13572         Added _pad_chain(), _pad_get_range() to call chain/getrange 
13573         functions.
13574         Add locks around IS_FLUSHING when reading.
13575         Take STREAM lock in chain(), get_range() functions so plugins
13576         don't need to take it anymore.
13577         
13578
13579
13580 2005-05-25  Wim Taymans  <wim@fluendo.com>
13581
13582         * tools/gst-launch.c: (event_loop):
13583         Unref message after using its contents instead of
13584         before.
13585
13586 2005-05-24  Wim Taymans  <wim@fluendo.com>
13587
13588         * docs/design/draft-ghostpads.txt:
13589         * docs/design/draft-push-pull.txt:
13590         * docs/design/draft-query.txt:
13591         * docs/design/part-overview.txt:
13592         Docs updates, added general overview doc.
13593
13594 2005-05-21  David Schleef  <ds@schleef.org>
13595
13596         * docs/gst/tmpl/old/GstBin.sgml:
13597         * docs/gst/tmpl/old/GstBuffer.sgml:
13598         * docs/gst/tmpl/old/GstCaps.sgml:
13599         * docs/gst/tmpl/old/GstClock.sgml:
13600         * docs/gst/tmpl/old/GstCompat.sgml:
13601         * docs/gst/tmpl/old/GstData.sgml:
13602         * docs/gst/tmpl/old/GstElement.sgml:
13603         * docs/gst/tmpl/old/GstEvent.sgml:
13604         * docs/gst/tmpl/old/GstIndex.sgml:
13605         * docs/gst/tmpl/old/GstStructure.sgml:
13606         * docs/gst/tmpl/old/GstTag.sgml:
13607         * docs/gst/tmpl/old/cothreads.sgml:
13608         * docs/gst/tmpl/old/cothreads_compat.sgml:
13609         * docs/gst/tmpl/old/gettext.sgml:
13610         * docs/gst/tmpl/old/gobject2gtk.sgml:
13611         * docs/gst/tmpl/old/grammar.tab.sgml:
13612         * docs/gst/tmpl/old/gst-i18n-app.sgml:
13613         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
13614         * docs/gst/tmpl/old/gst_private.sgml:
13615         * docs/gst/tmpl/old/gstaggregator.sgml:
13616         * docs/gst/tmpl/old/gstarch.sgml:
13617         * docs/gst/tmpl/old/gstatomic_impl.sgml:
13618         * docs/gst/tmpl/old/gstbufferstore.sgml:
13619         * docs/gst/tmpl/old/gstdata_private.sgml:
13620         * docs/gst/tmpl/old/gstdisksink.sgml:
13621         * docs/gst/tmpl/old/gstdisksrc.sgml:
13622         * docs/gst/tmpl/old/gstelementfactory.sgml:
13623         * docs/gst/tmpl/old/gstextratypes.sgml:
13624         * docs/gst/tmpl/old/gstfakesink.sgml:
13625         * docs/gst/tmpl/old/gstfakesrc.sgml:
13626         * docs/gst/tmpl/old/gstfdsink.sgml:
13627         * docs/gst/tmpl/old/gstfdsrc.sgml:
13628         * docs/gst/tmpl/old/gstfilesink.sgml:
13629         * docs/gst/tmpl/old/gstfilesrc.sgml:
13630         * docs/gst/tmpl/old/gsthttpsrc.sgml:
13631         * docs/gst/tmpl/old/gstidentity.sgml:
13632         * docs/gst/tmpl/old/gstindexfactory.sgml:
13633         * docs/gst/tmpl/old/gstmarshal.sgml:
13634         * docs/gst/tmpl/old/gstmd5sink.sgml:
13635         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
13636         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
13637         * docs/gst/tmpl/old/gstpadtemplate.sgml:
13638         * docs/gst/tmpl/old/gstpipefilter.sgml:
13639         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
13640         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
13641         * docs/gst/tmpl/old/gstshaper.sgml:
13642         * docs/gst/tmpl/old/gstspider.sgml:
13643         * docs/gst/tmpl/old/gstspideridentity.sgml:
13644         * docs/gst/tmpl/old/gststatistics.sgml:
13645         * docs/gst/tmpl/old/gsttee.sgml:
13646         * docs/gst/tmpl/old/gsttimecache.sgml:
13647         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
13648         * docs/gst/tmpl/old/gstxmlregistry.sgml:
13649         * docs/gst/tmpl/old/gthread-cothreads.sgml:
13650         * docs/gst/tmpl/old/types.sgml:
13651           I didn't intend to add these or check them in.
13652
13653 2005-05-19  David Schleef  <ds@schleef.org>
13654
13655         * configure.ac: Use -no-common everywhere.  In a sane world, it
13656           would be the default in libtool, because without it, you can't
13657           build DLLs on Windows.
13658         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
13659         * docs/gst/gstreamer-sections.txt:
13660         * docs/gst/tmpl/gstcpu.sgml:
13661         * docs/gst/tmpl/gstdata.sgml:
13662         * docs/gst/tmpl/gstthread.sgml:
13663
13664 2005-05-19  David Schleef  <ds@schleef.org>
13665
13666         * gst/gstminiobject.c: (gst_value_set_mini_object),
13667         (gst_value_take_mini_object), (gst_value_get_mini_object):
13668         * gst/gstminiobject.h: Add GValue set/get functions.
13669
13670 2005-05-19  Wim Taymans  <wim@fluendo.com>
13671
13672         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
13673         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
13674         (gst_subbuffer_init), (gst_buffer_is_span_fast):
13675         * gst/gstbuffer.h:
13676         * gst/gstbus.c: (gst_bus_post):
13677         * gst/gstelement.c: (gst_element_get_random_pad):
13678         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
13679         Make subbufer unref the parent in finalize.
13680         some more debugging info.
13681
13682
13683 2005-05-19  Wim Taymans  <wim@fluendo.com>
13684
13685         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13686         (gst_basesink_init), (gst_basesink_finalize),
13687         (gst_basesink_activate), (gst_basesink_change_state):
13688         Don't free preroll queue too early.
13689
13690 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13691
13692         * gst/Makefile.am:
13693         * gst/ROADMAP:
13694           Hi, I'm outdated. Please shoot me.
13695
13696 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13697
13698         * gst/gstpipeline.c: (gst_pipeline_send_event):
13699           Do not access variables after they have been deleted.
13700
13701 2005-05-19  Wim Taymans  <wim@fluendo.com>
13702
13703         * tools/gst-inspect.c: (print_plugin_features):
13704         A plugin feature does unfortunatly not use the
13705         object name yet...
13706
13707 2005-05-18  Wim Taymans  <wim@fluendo.com>
13708
13709         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
13710         Port _span() functions to new subbuffers.
13711
13712 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13713
13714         * gst/gstbin.c: (gst_bin_add_func):
13715           Fix clock settery in bins when adding kids after the clock has
13716           been selected.
13717
13718 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13719
13720         * gst/elements/gstidentity.c: (gst_identity_class_init):
13721           Workaround until signals support GstMiniObject.
13722
13723 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13724
13725         * gst/gstbuffer.c:
13726         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
13727
13728 2005-05-18  Wim Taymans  <wim@fluendo.com>
13729
13730         * gst/base/Makefile.am:
13731         * gst/base/gstadapter.c: (gst_adapter_base_init),
13732         (gst_adapter_class_init), (gst_adapter_init),
13733         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
13734         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
13735         (gst_adapter_flush), (gst_adapter_available),
13736         (gst_adapter_available_fast):
13737         * gst/base/gstadapter.h:
13738         Ported and added adapter to the base classes.
13739
13740 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13741
13742         * gst/gst.c:
13743         * gst/gstmessage.c:
13744           Make sure the class is reffed/unreffed once before threads can be
13745           used.  Fixes #304551.
13746
13747 2005-05-17  Wim Taymans  <wim@fluendo.com>
13748
13749         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
13750         (gst_basesink_chain_unlocked), (gst_basesink_activate):
13751         * gst/gstminiobject.c: (gst_mini_object_get_type),
13752         (gst_mini_object_free):
13753         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
13754         (gst_pad_push), (gst_pad_push_event):
13755         * gst/gstqueue.c: (gst_queue_change_state):
13756         Don't queue buffers in basesink when we are flushing.
13757         Unref buffer when flushing in basesink.
13758         Flush queue when going to READY
13759         Unref buffer when _push() returns an error.
13760         Don't free MiniObject instance when refcount is incremented
13761         in _finalize() so that we can recover objects.
13762
13763 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13764
13765         * docs/manual/advanced-schedulers.xml:
13766         * docs/manual/appendix-checklist.xml:
13767         * docs/pwg/advanced-clock.xml:
13768         * docs/pwg/advanced-interfaces.xml:
13769         * docs/pwg/advanced-request.xml:
13770         * docs/pwg/advanced-types.xml:
13771         * docs/pwg/intro-preface.xml:
13772         * examples/plugins/example.c: (gst_example_get_type),
13773         (gst_example_class_init), (gst_example_chain),
13774         (gst_example_set_property), (gst_example_get_property),
13775         (gst_example_change_state), (plugin_init):
13776         * examples/plugins/example.h:
13777           small doc fixes
13778
13779 2005-05-17  Wim Taymans  <wim@fluendo.com>
13780
13781         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
13782         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
13783         * gst/gstqueue.c: (gst_queue_change_state):
13784         Clear queue when going to READY.
13785         Remove IN_SETCAPS flag too.
13786
13787 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
13788
13789         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
13790           Remove implicit cast from gboolean to GstElementStateReturn;
13791           make sure we still return failure in paused => ready case if
13792           the parent class fails to change state and our own stop 
13793           vfunc succeeds.
13794
13795 2005-05-17  Wim Taymans  <wim@fluendo.com>
13796
13797         * tools/gst-launch.c: (event_loop):
13798         Message was unreffed too soon.
13799
13800 2005-05-16  Andy Wingo  <wingo@pobox.com>
13801
13802         * gst/gstbin.c (sink_iterator_filter): Err... um...
13803
13804         * check/gst/gstbin.c (test_ghost_pads): New test for the
13805         ghosting-if-elements-not-in-same-bin behavior.
13806
13807 2005-05-16  David Schleef  <ds@schleef.org>
13808
13809         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
13810         accessing refcount directly.
13811
13812 2005-05-15  David Schleef  <ds@schleef.org>
13813
13814         * check/Makefile.am: remove GstData checks
13815         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
13816         * gst/Makefile.am: add miniobject, remove data
13817         * gst/gst.h: add miniobject, remove data
13818         * gst/gstdata.c: remove
13819         * gst/gstdata.h: remove
13820         * gst/gstdata_private.h: remove
13821         * gst/gsttypes.h: remove GstEvent and GstMessage
13822         * gst/gstelement.c: (gst_element_post_message): fix for API changes
13823         * gst/gstmarshal.list: change BOXED -> OBJECT
13824
13825         Implement GstMiniObject.
13826         * gst/gstminiobject.c:
13827         * gst/gstminiobject.h:
13828
13829         Modify to be subclasses of GstMiniObject.
13830         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
13831         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
13832         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
13833         (gst_subbuffer_get_type), (gst_subbuffer_init),
13834         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
13835         (gst_buffer_span):
13836         * gst/gstbuffer.h:
13837         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
13838         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
13839         (_gst_event_copy), (gst_event_new):
13840         * gst/gstevent.h:
13841         * gst/gstmessage.c: (_gst_message_initialize),
13842         (gst_message_get_type), (gst_message_class_init),
13843         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13844         (gst_message_new), (gst_message_new_error),
13845         (gst_message_new_warning), (gst_message_new_tag),
13846         (gst_message_new_state_changed), (gst_message_new_application):
13847         * gst/gstmessage.h:
13848         * gst/gstprobe.c: (gst_probe_perform),
13849         (gst_probe_dispatcher_dispatch):
13850         * gst/gstprobe.h:
13851         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13852         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13853         (_gst_query_copy), (gst_query_new):
13854
13855         Update elements for GstData -> GstMiniObject changes
13856         * gst/gstquery.h:
13857         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13858         (gst_queue_chain), (gst_queue_loop):
13859         * gst/elements/gstbufferstore.c:
13860         (gst_buffer_store_add_buffer_func),
13861         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13862         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13863         (gst_fakesink_render):
13864         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13865         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13866         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13867         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13868         (gst_filesrc_create_read):
13869         * gst/elements/gstidentity.c: (gst_identity_class_init):
13870         * gst/elements/gsttypefindelement.c:
13871         (gst_type_find_element_src_event), (free_entry_buffers),
13872         (gst_type_find_element_handle_event):
13873         * libs/gst/dataprotocol/dataprotocol.c:
13874         (gst_dp_header_from_buffer):
13875         * libs/gst/dataprotocol/dataprotocol.h:
13876         * libs/gst/dataprotocol/dp-private.h:
13877
13878 2005-05-15  David Schleef  <ds@schleef.org>
13879
13880         * gst/elements/gstelements.c: Don't include headers that were
13881         just removed.
13882
13883 2005-05-15  David Schleef  <ds@schleef.org>
13884
13885         * gst/elements/Makefile.am: Remove some elements that don't
13886         need to be in the core (or even exist at all).
13887         * gst/elements/gstaggregator.c:
13888         * gst/elements/gstaggregator.h:
13889         * gst/elements/gstmd5sink.c:
13890         * gst/elements/gstmd5sink.h:
13891         * gst/elements/gstmultifilesrc.c:
13892         * gst/elements/gstmultifilesrc.h:
13893         * gst/elements/gstpipefilter.c:
13894         * gst/elements/gstpipefilter.h:
13895         * gst/elements/gstshaper.c:
13896         * gst/elements/gstshaper.h:
13897         * gst/elements/gststatistics.c:
13898         * gst/elements/gststatistics.h:
13899         * po/POTFILES.in: Remove above files.
13900
13901 2005-05-14  Andy Wingo  <wingo@pobox.com>
13902
13903         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13904         so as to get the refs right.
13905         (sink_iterator_filter): New function, wraps bin_element_is_sink,
13906         unreffing objects that don't pass the filter.
13907
13908         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13909         gst_element_set_bus.
13910         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13911         normal cases, this will destroy the bus.
13912
13913         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13914         object.
13915
13916         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13917         has no sinks.
13918
13919 2005-05-13  Andy Wingo  <wingo@pobox.com>
13920
13921         * gst/gstutils.c (gst_element_link_pads): Instead of calling
13922         gst_pad_link, call pad_link_maybe_ghosting,
13923         (pad_link_maybe_ghosting): Links pads, making sure that the
13924         elements being linked are in the same bin.
13925         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13926         Helpers for pad_link_maybe_ghosting.
13927
13928 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13929
13930         * configure.ac:
13931           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13932
13933 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13934
13935         * docs/design/part-element-source.txt:
13936           Mention GstPushSrc
13937
13938 2005-05-12  Wim Taymans  <wim@fluendo.com>
13939
13940         * gst/base/gstbasesink.c: (gst_basesink_init),
13941         (gst_basesink_activate):
13942         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13943         (gst_basesrc_is_seekable):
13944         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13945         (bin_element_is_sink), (gst_bin_change_state):
13946         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13947         * gst/gstelement.h:
13948         Identify sinks by their flag to avoid overly complicated
13949         checks (fow now).
13950         Do state changes even for elements not reachable from the
13951         sinks.
13952         BaseSink is a sink now :)
13953         Some more debugging info in the basesrc.
13954
13955
13956 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13957
13958         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13959           Implement _query on a bin, similar to _send_event.
13960
13961 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13962
13963         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13964           Discont event offset format should be GST_FORMAT_BYTES,
13965           not GST_FORMAT_TIME.
13966
13967 2005-05-12  Wim Taymans  <wim@fluendo.com>
13968
13969         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13970         Same fix as Ronald's but without the signal. 
13971
13972 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13973
13974         * gst/gstutils.c: (gst_element_query_position):
13975           No, an element is not a pad.
13976
13977 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13978
13979         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13980         (gst_bin_get_state):
13981           If a child is removed from a bin while we remove the child from
13982           the bin and while we're retrieving its state, signal this to the
13983           get_state function so we abort the wait (instead of waiting for
13984           a timeout) and can immediately re-iterate over all other elements.
13985
13986 2005-05-12  Wim Taymans  <wim@fluendo.com>
13987
13988         * gst/base/Makefile.am:
13989         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13990         (gst_basesrc_start):
13991         * gst/base/gstbasesrc.h:
13992         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13993         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13994         (gst_pushsrc_init), (gst_pushsrc_create):
13995         * gst/base/gstpushsrc.h:
13996         Added is_seekable to BaseSrc
13997         Added simple PushSrc.
13998
13999 2005-05-11  Wim Taymans  <wim@fluendo.com>
14000
14001         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14002         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14003         (gst_element_link_pads), (gst_element_query_position),
14004         (gst_element_query_convert), (intersect_caps_func),
14005         (gst_pad_query_position), (gst_pad_query_convert):
14006         Fix refcounting in utils function.
14007         No point in trying to activate a pad when it's added, it could
14008         be added from the state change function and then we deadlock, the
14009         element has to decide what to do.
14010
14011 2005-05-10  Andy Wingo  <wingo@pobox.com>
14012
14013         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
14014         *all* the arguments.
14015
14016         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
14017         stream lock if it's a FLUSH_DONE; normal flushes don't get the
14018         lock (according to the docs -- if this is wrong change the docs).
14019
14020         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
14021         flush messages in the NULL state.
14022
14023         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
14024         message immediately and return.
14025         (gst_bus_set_flushing): New function. If a bus is flushing, it
14026         flushes out any queued messages and immediately unrefs new
14027         messages. This is so when an element goes to NULL, all of the
14028         unhandled messages coming from it can be freed, and their
14029         references to the element dropped. In other words: message source
14030         ref considered harmful :P
14031
14032         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
14033         we're finished with it.
14034
14035         * gst/gstmessage.c (gst_message_new_state_changed): 
14036
14037 2005-05-10  Wim Taymans  <wim@fluendo.com>
14038
14039         * gst/gstvalue.c: (gst_value_compare_flags),
14040         (gst_value_serialize_flags), (gst_value_deserialize_flags),
14041         (_gst_value_initialize):
14042         Added flags serialize/deserialize/compare code.
14043
14044 2005-05-09  Andy Wingo  <wingo@pobox.com>
14045
14046         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
14047         Intersect the peer's caps with our caps.
14048
14049 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14050
14051         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14052         * gst/elements/gsttypefindelement.c: (find_peek):
14053           Handle negative offsets better. Fixes decodebin.
14054
14055 2005-05-09  Wim Taymans  <wim@fluendo.com>
14056
14057         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
14058         (gst_base_transform_event):
14059         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
14060         Implement accept_caps.
14061         Fix silly lock/unlock mismatch in base class.
14062
14063 2005-05-09  Wim Taymans  <wim@fluendo.com>
14064
14065         * docs/design/draft-push-pull.txt:
14066         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
14067         * gst/elements/gstfilesink.c: (gst_filesink_init),
14068         (gst_filesink_query):
14069         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14070         (gst_type_find_handle_src_query), (find_element_get_length):
14071         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
14072         * gst/gstelement.h:
14073         * gst/gstmessage.c:
14074         * gst/gstmessage.h:
14075         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
14076         (gst_real_pad_get_caps_unlocked),
14077         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
14078         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14079         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
14080         (gst_real_pad_dispose), (gst_real_pad_finalize),
14081         (gst_pad_load_and_link), (gst_pad_save_thyself),
14082         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
14083         (gst_pad_check_pull_range), (gst_pad_pull_range),
14084         (gst_pad_template_get_type), (gst_pad_template_class_init),
14085         (gst_pad_template_init), (gst_pad_template_dispose),
14086         (name_is_valid), (gst_static_pad_template_get),
14087         (gst_pad_template_new), (gst_static_pad_template_get_caps),
14088         (gst_pad_template_get_caps), (gst_pad_set_element_private),
14089         (gst_pad_get_element_private), (gst_pad_start_task),
14090         (gst_pad_pause_task), (gst_pad_stop_task),
14091         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
14092         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
14093         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
14094         (gst_ghost_pad_new):
14095         * gst/gstpad.h:
14096         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
14097         (gst_query_new_position), (gst_query_set_position),
14098         (gst_query_parse_position), (gst_query_new_convert),
14099         (gst_query_set_convert), (gst_query_parse_convert):
14100         * gst/gstquery.h:
14101         * gst/gstqueryutils.c:
14102         * gst/gstqueryutils.h:
14103         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14104         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14105         (gst_queue_handle_src_query):
14106         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14107         (gst_element_query_position), (gst_element_query_convert),
14108         (intersect_caps_func), (gst_pad_query_position),
14109         (gst_pad_query_convert):
14110         * gst/gstutils.h:
14111         * tools/gst-inspect.c: (print_pad_info):
14112         * tools/gst-xmlinspect.c: (print_element_info):
14113         Remove old query functions. Ported old code.
14114         Added position/convert helper functions to gstutils.
14115         Reordered gstpad.c code, grouping relevant things.
14116         Remove gst_message_new(), always need to speficy a specific
14117         message.
14118
14119
14120 2005-05-09  Andy Wingo  <wingo@pobox.com>
14121
14122         * gst/gstiterator.h: Add some includes.
14123
14124         * gst/gstqueryutils.h: Include more headers.
14125
14126         * gst/gstpad.h:
14127         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
14128         some uses of gst_pad_query.
14129
14130         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
14131         NULL out parameters.
14132         (gst_query_new_position): New proc, allocates a new position
14133         query.
14134
14135         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
14136         gstqueryutils.c to the build.
14137
14138         * gst/gststructure.c (gst_structure_set_valist): Implement with
14139         the generic G_VALUE_COLLECT.
14140         
14141 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
14142
14143         * gst/Makefile.am: (gst_headers):
14144         Added gstqueryutils.h to the list of headers to install, that was
14145         a 'nachty' move wingo :)
14146
14147 2005-05-06  Andy Wingo  <wingo@pobox.com>
14148
14149         * gst/gstquery.h
14150         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
14151         GstData, init a memchunk.
14152         (standard_definitions): Add a few query types, deprecate a few.
14153         (gst_query_get_type): New proc.
14154         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
14155         implementation.
14156         (gst_query_new_application, gst_query_get_structure): New public
14157         procs.
14158
14159         * docs/design/draft-query.txt: Removed LINKS from the query types,
14160         because all the rest can be dispatched to other pads -- seemed
14161         ugly to have a query that couldn't be dispatched. internal_links
14162         is fine as a pad method.
14163
14164         * gst/gstpad.h: Add query2 as a pad method, add the new functions
14165         in gstpad.c, but maintain binary compatibility for the moment.
14166         Will fix before 0.9 is out.
14167
14168         * gst/gstqueryutils.c: 
14169         * gst/gstqueryutils.h: New files, implement 3 methods for each
14170         query type: parse_query, parse_response, and set. Probably need an
14171         allocator as well.
14172
14173         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
14174
14175         * gst/elements/gstfilesink.c (gst_filesink_query2):
14176         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
14177         query_types, and formats methods.
14178
14179         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
14180         (gst_pad_set_query2_function): New functions.
14181         (gst_real_pad_init): Set query2_default as the default query2
14182         function. Basically just dispatches to internally linked pads.
14183
14184         Needs review!
14185         
14186         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
14187         without using the atomic operations. Only one thread can possibly
14188         be accessing the data at this point. Changed so as to avoid
14189         gst_atomic operations.
14190
14191 2005-05-06  Wim Taymans  <wim@fluendo.com>
14192
14193         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
14194         Also set caps if we use the fallback buffer alloc.
14195
14196 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
14197
14198         * docs/gst/Makefile.am:
14199         * docs/gst/gstreamer-docs.sgml:
14200         * docs/gst/gstreamer-sections.txt:
14201         * docs/gst/tmpl/gstatomic.sgml:
14202         * docs/gst/tmpl/gstmemchunk.sgml:
14203         * testsuite/elements/struct_i386.h:
14204         * win32/GStreamer.vcproj:
14205         * win32/Makefile:
14206           Purge GstAtomic stuff from docs and win32 makefiles as well
14207
14208 2005-05-06  Wim Taymans  <wim@fluendo.com>
14209
14210         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
14211         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
14212         * gst/gstpad.c: (gst_pad_peer_get_caps):
14213         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14214         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14215         (gst_queue_src_activate), (gst_queue_change_state):
14216         * gst/gstqueue.h:
14217         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14218         (intersect_caps_func):
14219         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
14220         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
14221         Some fixes for the peer_get_caps() change.
14222
14223 2005-05-06  Wim Taymans  <wim@fluendo.com>
14224
14225         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14226         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
14227         (gst_basesink_activate):
14228         Actually do something with error codes returned from the push
14229         functions.
14230
14231 2005-05-06  Wim Taymans  <wim@fluendo.com>
14232
14233         * docs/design/part-element-sink.txt:
14234         * docs/design/part-element-source.txt:
14235         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14236         (gst_basesink_event), (gst_basesink_activate):
14237         * gst/base/gstbasesink.h:
14238         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
14239         (gst_basesrc_activate):
14240         * gst/base/gstbasesrc.h:
14241         * gst/gstelement.c: (gst_element_pads_activate):
14242         Some more documentation.
14243         Fixed scheduling decision in _pads_activate().
14244
14245 2005-05-05  Andy Wingo  <wingo@pobox.com>
14246
14247         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
14248         the test suite.
14249
14250 2005-05-05  Wim Taymans  <wim@fluendo.com>
14251
14252         * gst/base/Makefile.am:
14253         * gst/base/gstbasesink.h:
14254         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14255         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
14256         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
14257         (gst_collectpads_class_init), (gst_collectpads_init),
14258         (gst_collectpads_finalize), (gst_collectpads_new),
14259         (gst_collectpads_set_function), (gst_collectpads_add_pad),
14260         (find_pad), (gst_collectpads_remove_pad),
14261         (gst_collectpads_is_active), (gst_collectpads_collect),
14262         (gst_collectpads_collect_range), (gst_collectpads_start),
14263         (gst_collectpads_stop), (gst_collectpads_peek),
14264         (gst_collectpads_pop), (gst_collectpads_available),
14265         (gst_collectpads_read), (gst_collectpads_flush),
14266         (gst_collectpads_chain):
14267         * gst/base/gstcollectpads.h:
14268         * gst/elements/Makefile.am:
14269         * gst/elements/gstelements.c:
14270         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14271         (gst_fakesink_get_times), (gst_fakesink_event),
14272         (gst_fakesink_preroll), (gst_fakesink_render):
14273         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14274         (gst_filesink_init), (gst_filesink_set_location),
14275         (gst_filesink_open_file), (gst_filesink_close_file),
14276         (gst_filesink_pad_query), (gst_filesink_event),
14277         (gst_filesink_render), (gst_filesink_change_state):
14278         * gst/elements/gstfilesink.h:
14279         Added object to help in making collect pad based elements.
14280         Ported filesink.
14281         Make event function in sink baseclass return gboolean.
14282
14283 2005-05-05  Wim Taymans  <wim@fluendo.com>
14284
14285         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
14286         (gst_bin_get_by_name):
14287         * gst/gstbuffer.h:
14288         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
14289         (gst_clock_finalize):
14290         * gst/gstdata.c: (gst_data_replace):
14291         * gst/gstdata.h:
14292         * gst/gstelement.c: (gst_element_request_pad),
14293         (gst_element_pads_activate):
14294         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14295         (gst_object_unref):
14296         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14297         (gst_pad_set_checkgetrange_function),
14298         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
14299         (gst_pad_check_pull_range), (gst_pad_pull_range),
14300         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14301         (gst_pad_pause_task), (gst_pad_stop_task):
14302         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14303         (gst_element_request_pad), (gst_pad_proxy_getcaps):
14304         Fix name lookup in GstBin.
14305         Added _data_replace() function and _buffer_replace()
14306         Use finalize method to clean up clock.
14307         Fix refcounting on request pads.
14308         Fix pad schedule mode error.
14309         Some more object refcounting debug info,
14310
14311
14312 2005-05-04  Andy Wingo <wingo@pobox.com>
14313
14314         * check/Makefile.am:
14315         * docs/gst/tmpl/gstatomic.sgml:
14316         * docs/gst/tmpl/gstplugin.sgml:
14317         * gst/base/gstbasesink.c: (gst_basesink_activate):
14318         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
14319         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
14320         (gst_basesrc_query), (gst_basesrc_set_property),
14321         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
14322         (gst_basesrc_activate):
14323         * gst/base/gstbasesrc.h:
14324         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
14325         (gst_base_transform_src_activate):
14326         * gst/elements/gstelements.c:
14327         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14328         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14329         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14330         * gst/elements/gsttypefindelement.c: (find_element_get_length),
14331         (gst_type_find_element_checkgetrange),
14332         (gst_type_find_element_activate):
14333         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
14334         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
14335         (gst_caps_load_thyself):
14336         * gst/gstelement.c: (gst_element_pads_activate),
14337         (gst_element_save_thyself), (gst_element_restore_thyself):
14338         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
14339         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
14340         * gst/gstpad.h:
14341         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
14342         (gst_xml_parse_file), (gst_xml_parse_memory),
14343         (gst_xml_get_element), (gst_xml_make_element):
14344         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14345         (_file_index_id_save_xml), (gst_file_index_commit):
14346         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
14347         (read_enum), (load_pad_template), (load_feature), (load_plugin),
14348         (load_paths):
14349         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
14350         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
14351         * tools/gst-complete.c: (main):
14352         * tools/gst-compprep.c: (main):
14353         * tools/gst-inspect.c: (print_element_properties_info):
14354         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
14355         * tools/gst-xmlinspect.c: (print_element_properties):
14356         GCC 4 fixen.
14357         
14358 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14359
14360         * gst/gstplugin.c: (gst_plugin_check_module),
14361         (gst_plugin_check_file), (gst_plugin_load_file):
14362             apply patch from #172526 to make register work on MacOSX
14363
14364 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14365
14366         * docs/gst/tmpl/gstconfig.sgml:
14367         * gst/gstconfig.h.in:
14368           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
14369         * testsuite/debug/printf_extension.c: (main):
14370           Do not use GST_PTR_FORMAT on pointers to types with
14371           sizeof < sizeof(gpointer).  Fixes test on 64-bit
14372         * testsuite/elements/property.h:
14373           use correct printf format
14374
14375 2005-05-02  Wim Taymans  <wim@fluendo.com>
14376
14377         * docs/design/draft-push-pull.txt:
14378         * docs/design/draft-query.txt:
14379         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
14380         (gst_basesrc_start):
14381         Added draft for new query API.
14382         Added draft for better selecting scheduling methods.
14383         Make basesrc ignore length if the subclass does not support
14384         it.
14385
14386 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14387
14388         * gst/Makefile.am:
14389           possible fixes for automake-1.5 - _LIBADD is reserved
14390
14391 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14392
14393         * docs/faq/Makefile.am:
14394         * docs/manual/Makefile.am:
14395         * docs/manuals.mak:
14396         * docs/pwg/Makefile.am:
14397         * gst/Makefile.am:
14398           possible fixes for automake-1.5
14399
14400 2005-04-28  Wim Taymans  <wim@fluendo.com>
14401
14402         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14403         (gst_basesink_pad_getcaps), (gst_basesink_init),
14404         (gst_basesink_do_sync):
14405         * gst/gstclock.c: (gst_clock_entry_new):
14406         * gst/gstevent.c: (gst_event_discont_get_value):
14407         * gst/gstpipeline.c: (pipeline_bus_handler),
14408         (gst_pipeline_change_state):
14409         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14410         Better debugging of clocking info.
14411         Allow NULL values when getting discont values.
14412
14413 2005-04-27  Wim Taymans  <wim@fluendo.com>
14414
14415         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14416         * check/gst/gstpad.c: (gst_pad_suite):
14417         Increase timeout for checks.
14418
14419 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14420
14421         * check/Makefile.am:
14422           fix the broken rule for cleanup.  Apparently this rule is
14423           only needed on FC2, so maybe this warrants further autotool
14424           inspection.
14425
14426 2005-04-26  Wim Taymans  <wim@fluendo.com>
14427
14428         * gst/gsttrashstack.h:
14429         Ooohh. a nasty one! After having a failed pop() from the stack,
14430         it's possible that the stack is empty. In that case, don't
14431         follow the NULL pointer.
14432
14433 2005-04-25  Wim Taymans  <wim@fluendo.com>
14434
14435         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14436         (gst_pad_set_checkgetrange_function),
14437         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
14438         (gst_pad_check_pull_range), (gst_pad_pull_range),
14439         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14440         (gst_pad_pause_task), (gst_pad_stop_task):
14441         * gst/gstplugin.c: (gst_plugin_load):
14442         * gst/gstplugin.h:
14443         Remove gst_library_load as it does more harm than good with
14444         the new g_module flags.
14445         Revert bogus caps template check in pad linking, pad caps
14446         are important when linking not the template, which is more
14447         general than the current caps.
14448
14449 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14450
14451         * gst/autoplug/.cvsignore:
14452         * gst/autoplug/Makefile.am:
14453         * gst/autoplug/gstsearchfuncs.c:
14454         * gst/autoplug/gstsearchfuncs.h:
14455         * gst/autoplug/gstspider.c:
14456         * gst/autoplug/gstspider.h:
14457         * gst/autoplug/gstspideridentity.c:
14458         * gst/autoplug/gstspideridentity.h:
14459         * gst/autoplug/spidertest.c:
14460           Die, spider, die.
14461
14462 2005-04-25  Wim Taymans  <wim@fluendo.com>
14463
14464         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14465         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14466         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
14467         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
14468         * gst/gstpad.h:
14469         Added stubs for unimplemented functions. 
14470
14471 2005-04-24  David Schleef  <ds@schleef.org>
14472
14473         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
14474         please fix.
14475
14476 2005-04-24  David Schleef  <ds@schleef.org>
14477
14478         Convert everything from GstAtomicInt to g_atomic_int_*, and
14479         remove gstatomic.
14480         * gst/Makefile.am:
14481         * gst/gstatomic.c:
14482         * gst/gstatomic.h:
14483         * gst/gstatomic_impl.h:
14484         * gst/gstbuffer.c:
14485         * gst/gstcaps.c:
14486         * gst/gstcaps.h:
14487         * gst/gstclock.c:
14488         * gst/gstclock.h:
14489         * gst/gstdata.c:
14490         * gst/gstdata.h:
14491         * gst/gstdata_private.h:
14492         * gst/gstevent.c:
14493         * gst/gstinfo.c:
14494         * gst/gstinfo.h:
14495         * gst/gstmessage.c:
14496         * gst/gstobject.c:
14497         * gst/gstobject.h:
14498         * gst/gststructure.c:
14499         * gst/gststructure.h:
14500         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
14501         * gst/gstutils.h:
14502
14503 2005-04-24  David Schleef  <ds@schleef.org>
14504
14505         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
14506         make the regressions tests work.  Remove some code that is no
14507         longer true.
14508         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
14509         Disable warning for pads without templates.
14510
14511 2005-04-24  David Schleef  <ds@schleef.org>
14512
14513         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
14514         functions that handle filtered links.
14515         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
14516         removed functions.
14517         * gst/gstutils.c: Fix/remove utility functions that handle
14518         filtered caps.
14519         * gst/gstutils.h:
14520         * gst/gstvalue.c: Add serialization/deserialization of caps
14521         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
14522         requires fixing so that the filter caps notation creates
14523         a capsfilter element and sets the filter_caps property.  I
14524         think everyone probably wants to keep the shorthand notation.
14525         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
14526         * docs/gst/tmpl/gstpad.sgml:
14527
14528         * gst/elements/gstelements.c: Register capsfilter element.
14529         * gst/Makefile.am: fix spacing
14530         * docs/random/ds/0.9-suggested-changes: random
14531
14532 2005-04-23  David Schleef  <ds@schleef.org>
14533
14534         * gst/elements/Makefile.am:
14535         * gst/elements/gstcapsfilter.c: New element that acts like an
14536         identity, but filters caps.  Will eventually replace filtered
14537         caps in pad linking.
14538         * gst/gstutils.c: (gst_element_create_all_pads): New function
14539         to create all the ALWAYS pads that are registered with an
14540         element class.  This functionality should eventually be
14541         merged in with GstElement initialization.
14542         * gst/gstutils.h:
14543         * testsuite/trigger/README: part of trigger test code that should
14544         have been checked in a long time ago.
14545
14546 2005-04-23  David Schleef  <ds@schleef.org>
14547
14548         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
14549         needed with new versions of libtool (nobody will confirm this),
14550         and hard to carry around.
14551         * gst/autoplug/Makefile.am:
14552         * gst/base/Makefile.am:
14553         * gst/elements/Makefile.am:
14554         * gst/indexers/Makefile.am:
14555         * gst/schedulers/Makefile.am:
14556         * libs/gst/bytestream/Makefile.am:
14557         * libs/gst/control/Makefile.am:
14558         * libs/gst/dataprotocol/Makefile.am:
14559         * libs/gst/getbits/Makefile.am:
14560
14561 2005-04-21  Wim Taymans  <wim@fluendo.com>
14562
14563         * docs/design/draft-push-pull.txt:
14564         * docs/design/part-MT-refcounting.txt:
14565         * docs/design/part-TODO.txt:
14566         * docs/design/part-caps.txt:
14567         * docs/design/part-events.txt:
14568         * docs/design/part-gstbus.txt:
14569         * docs/design/part-gstpipeline.txt:
14570         * docs/design/part-messages.txt:
14571         * docs/design/part-push-pull.txt:
14572         * docs/design/part-query.txt:
14573         Some more docs.
14574
14575 2005-04-21  Wim Taymans  <wim@fluendo.com>
14576
14577         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
14578         (gst_message_new), (gst_message_new_error),
14579         (gst_message_new_warning), (gst_message_new_tag),
14580         (gst_message_new_state_changed), (gst_message_new_application),
14581         (gst_message_get_structure):
14582         * gst/gstmessage.h:
14583         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14584         (gst_structure_copy_conditional):
14585         Use parent refcount in GstMessage to ensure GstStructure
14586         consistency.
14587         Cleaned up headers a bit.
14588         
14589
14590 2005-04-20  Wim Taymans  <wim@fluendo.com>
14591
14592         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14593         (gst_basesink_pad_getcaps), (gst_basesink_init),
14594         (gst_basesink_chain_unlocked):
14595         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
14596         (gst_type_find_helper):
14597         * gst/elements/gsttypefindelement.c:
14598         (gst_type_find_element_have_type), (gst_type_find_element_init),
14599         (stop_typefinding), (gst_type_find_element_handle_event),
14600         (find_suggest), (gst_type_find_element_chain),
14601         (gst_type_find_element_checkgetrange),
14602         (gst_type_find_element_getrange), (do_typefind),
14603         (gst_type_find_element_activate):
14604         * gst/gstbuffer.c: (_gst_buffer_sub_free),
14605         (gst_buffer_default_free), (gst_buffer_default_copy),
14606         (gst_buffer_set_caps):
14607         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
14608         (gst_caps_replace):
14609         * gst/gstmessage.c: (gst_message_new),
14610         (gst_message_new_state_changed):
14611         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14612         (gst_pad_set_checkgetrange_function),
14613         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
14614         (gst_pad_set_caps), (gst_pad_check_pull_range),
14615         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
14616         * gst/gstpad.h:
14617         * gst/gsttypefind.c: (gst_type_find_register):
14618         Make gst_caps_replace() work like other _replace() functions.
14619         Use _caps_replace() where possible.
14620         Make sure _message_new() initialises its field.
14621         Add gst_static_pad_template_get_caps()
14622
14623
14624 2005-04-18  Andy Wingo  <wingo@pobox.com>
14625
14626         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
14627         on the peer, not the pad. I think that was a typo. Pass an extra
14628         arg to see if random access is possible. Activate the pads as
14629         PULL_RANGE if possible.
14630
14631         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
14632
14633         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
14634         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
14635         to PROP_....
14636
14637 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14638
14639         * docs/faq/using.xml:
14640           Add note on gstreamer-properties (#154996).
14641
14642 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14643
14644         * docs/random/bbb/optional-properties:
14645           Some analysis on optional properties.
14646
14647 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14648
14649         * docs/gst/tmpl/gstelementfactory.sgml:
14650         * gst/gstelement.h:
14651         * gst/gstelementfactory.c: (gst_element_factory_init),
14652         (gst_element_factory_cleanup), (gst_element_register),
14653         (__gst_element_factory_add_static_pad_template),
14654         (gst_element_factory_get_static_pad_templates),
14655         (gst_element_factory_can_src_caps),
14656         (gst_element_factory_can_sink_caps):
14657         * gst/registries/Makefile.am:
14658         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
14659         (gst_xml_registry_class_init), (gst_xml_registry_init),
14660         (gst_xml_registry_new), (gst_xml_registry_set_property),
14661         (gst_xml_registry_get_property), (get_time), (make_dir),
14662         (gst_xml_registry_get_perms_func),
14663         (plugin_times_older_than_recurse), (plugin_times_older_than),
14664         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
14665         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
14666         (add_to_char_array), (read_string), (read_uint), (read_enum),
14667         (load_pad_template), (load_feature), (load_plugin), (load_paths),
14668         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
14669         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
14670         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
14671         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
14672         (gst_xml_registry_rebuild):
14673         * gst/registries/gstlibxmlregistry.h:
14674         * tools/gst-compprep.c: (main):
14675         * tools/gst-inspect.c: (print_pad_templates_info):
14676         * tools/gst-xmlinspect.c: (print_element_info):
14677           Use libxml2 for registry parsing, use staticpadtemplates in
14678           elementfactories. Makes gst_init() +/- 10x faster.
14679
14680 2005-04-12  Wim Taymans  <wim@fluendo.com>
14681
14682         * gst/base/Makefile.am:
14683         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14684         (gst_basesink_pad_getcaps), (gst_basesink_init),
14685         (gst_basesink_event), (gst_basesink_change_state):
14686         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14687         (gst_basesrc_init), (gst_basesrc_query),
14688         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14689         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14690         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14691         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14692         (gst_basesrc_stop), (gst_basesrc_activate),
14693         (gst_basesrc_change_state):
14694         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14695         (helper_find_suggest), (gst_type_find_helper):
14696         * gst/base/gsttypefindhelper.h:
14697         * gst/elements/Makefile.am:
14698         * gst/elements/gstelements.c:
14699         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14700         (gst_fakesink_get_times), (gst_fakesink_event),
14701         (gst_fakesink_preroll), (gst_fakesink_render):
14702         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14703         (gst_fakesrc_init), (gst_fakesrc_event_handler),
14704         (gst_fakesrc_get_property), (gst_fakesrc_create),
14705         (gst_fakesrc_start), (gst_fakesrc_stop):
14706         * gst/elements/gstfakesrc.h:
14707         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
14708         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14709         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14710         (gst_filesrc_create_read), (gst_filesrc_create),
14711         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
14712         (gst_filesrc_start):
14713         * gst/elements/gsttypefindelement.c:
14714         (gst_type_find_element_have_type), (gst_type_find_element_init),
14715         (start_typefinding), (stop_typefinding), (push_buffer_store),
14716         (gst_type_find_element_handle_event),
14717         (gst_type_find_element_chain),
14718         (gst_type_find_element_checkgetrange),
14719         (gst_type_find_element_getrange), (do_typefind),
14720         (gst_type_find_element_activate),
14721         (gst_type_find_element_change_state):
14722         * gst/elements/gsttypefindelement.h:
14723         * gst/gstpipeline.c: (pipeline_bus_handler):
14724         Added typefind helper.
14725         Small preroll fix in the base sink.
14726         Disable typefind code in basesrc.
14727         Crude port of typefindelement.
14728         Fakesrc cleanups.
14729
14730
14731 2005-04-11  Wim Taymans  <wim@fluendo.com>
14732
14733         * check/gst/gstbus.c: (gstbus_suite):
14734         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
14735         * check/gstcheck.h:
14736           Fix up the timeout so that the test does not fail.
14737
14738 2005-04-06  Wim Taymans  <wim@fluendo.com>
14739
14740         * gst/base/README:
14741         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14742         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
14743         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14744         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14745         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14746         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14747         (gst_basesrc_stop), (gst_basesrc_activate),
14748         (gst_basesrc_change_state), (basesrc_find_peek),
14749         (basesrc_find_suggest), (gst_basesrc_type_find):
14750         * gst/base/gstbasesrc.h:
14751         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
14752         (gst_filesrc_class_init), (gst_filesrc_init),
14753         (gst_filesrc_finalize), (gst_filesrc_set_location),
14754         (gst_filesrc_set_property), (gst_filesrc_get_property),
14755         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14756         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14757         (gst_filesrc_create_read), (gst_filesrc_create),
14758         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
14759         * gst/elements/gstfilesrc.h:
14760         * gst/gstelement.c: (gst_element_get_state_func),
14761         (gst_element_lost_state), (gst_element_pads_activate):
14762         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14763         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14764         (gst_pad_pull_range):
14765         * gst/gstpad.h:
14766         More work on the generic source base class, implement seeking,
14767         query.
14768         Make filesrc extend the base source class.
14769         Added gst_pad_set_checkgetrange_function to GstPad.
14770
14771 2005-04-06  Andy Wingo  <wingo@pobox.com>
14772
14773         * pkgconfig/gstreamer-base.pc.in:
14774         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
14775
14776         * pkgconfig/Makefile.am:
14777         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
14778
14779 2005-04-04  Wim Taymans  <wim@fluendo.com>
14780
14781         * gst/base/Makefile.am:
14782         * gst/base/README:
14783         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14784         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14785         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14786         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
14787         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14788         (gst_basesrc_base_init), (gst_basesrc_class_init),
14789         (gst_basesrc_init), (gst_basesrc_get_formats),
14790         (gst_basesrc_get_query_types), (gst_basesrc_query),
14791         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
14792         (gst_basesrc_set_property), (gst_basesrc_get_property),
14793         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
14794         (gst_basesrc_loop), (gst_basesrc_activate),
14795         (gst_basesrc_change_state):
14796         * gst/base/gstbasesrc.h:
14797         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
14798         (gst_fakesrc_class_init), (gst_fakesrc_init),
14799         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
14800         (gst_fakesrc_get_property), (gst_fakesrc_create):
14801         * gst/elements/gstfakesrc.h:
14802         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
14803         (gst_filesrc_open_file), (gst_filesrc_loop),
14804         (gst_filesrc_activate), (filesrc_find_peek),
14805         (gst_filesrc_type_find):
14806         Made base source class, make fakesrc extend it.
14807         Add comments to basesink class.
14808         Some filesrc cleanup.
14809
14810 2005-03-31  David Schleef  <ds@schleef.org>
14811
14812         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
14813         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
14814         expected to link against libgstreamer.
14815         * gst/base/Makefile.am: link against libgstreamer
14816         * gst/elements/Makefile.am: same
14817
14818 2005-03-31  Andy Wingo  <wingo@pobox.com>
14819
14820         * tests/instantiate/Makefile.am:
14821         * tests/instantiate/caps.c: Add test to test speed of caps copy
14822         and free.
14823
14824         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
14825         GMemChunk to be fair.
14826
14827         * gst/gsttrashstack.h: Remove warning about using the fallback
14828         trash stack implementation, it's still faster than malloc.
14829
14830 2005-03-30  Andy Wingo  <wingo@pobox.com>
14831
14832         * tests/complexity.c: Add a copyright.
14833
14834 2005-03-31  Wim Taymans  <wim@fluendo.com>
14835
14836         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
14837         (gst_base_transform_class_init), (gst_base_transform_init),
14838         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14839         (gst_base_transform_get_property),
14840         (gst_base_transform_sink_activate),
14841         (gst_base_transform_src_activate),
14842         (gst_base_transform_change_state):
14843         * gst/base/gstbasetransform.h:
14844         * gst/elements/gstidentity.c: (gst_identity_class_init),
14845         (gst_identity_event), (gst_identity_check_perfect),
14846         (gst_identity_transform), (gst_identity_start),
14847         (gst_identity_stop):
14848         Added start/stop methods to transform base class so subclasses 
14849         don't need to deal with state changes even.
14850
14851 2005-03-31  Wim Taymans  <wim@fluendo.com>
14852
14853         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14854         (gst_event_new_discontinuous), (gst_event_discont_get_value):
14855         * gst/gstevent.h:
14856         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14857         (gst_pad_pull_range):
14858         Added rate to the discont event to prepare for variable speed
14859         and reverse playback.
14860
14861 2005-03-29  David Schleef  <ds@schleef.org>
14862
14863         * configure.ac:
14864         * testsuite/trigger/Makefile.am:
14865         * testsuite/trigger/trigger.c: A little example program to show
14866         how trigger-based elements can work.
14867
14868 2005-03-29  Wim Taymans  <wim@fluendo.com>
14869
14870         * gst/base/Makefile.am:
14871         * gst/base/README:
14872         * gst/base/gstbasesink.c: (gst_basesink_get_type),
14873         (gst_basesink_base_init), (gst_basesink_class_init),
14874         (gst_basesink_pad_getcaps), (gst_basesink_init),
14875         (gst_basesink_activate), (gst_basesink_change_state):
14876         * gst/base/gstbasesink.h:
14877         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14878         (gst_base_transform_base_init), (gst_base_transform_finalize),
14879         (gst_base_transform_class_init), (gst_base_transform_init),
14880         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14881         (gst_base_transform_event), (gst_base_transform_getrange),
14882         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14883         (gst_base_transform_set_property),
14884         (gst_base_transform_get_property),
14885         (gst_base_transform_sink_activate),
14886         (gst_base_transform_src_activate),
14887         (gst_base_transform_change_state):
14888         * gst/base/gstbasetransform.h:
14889         * gst/elements/gstidentity.c: (gst_identity_finalize),
14890         (gst_identity_class_init), (gst_identity_init),
14891         (gst_identity_event), (gst_identity_check_perfect),
14892         (gst_identity_transform), (gst_identity_set_property),
14893         (gst_identity_get_property), (gst_identity_change_state):
14894         * gst/elements/gstidentity.h:
14895         * gst/gstelement.c: (gst_element_get_state_func),
14896         (gst_element_lost_state), (gst_element_pads_activate):
14897         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14898         (gst_pad_check_pull_range), (gst_pad_pull_range):
14899         * gst/gstpad.h:
14900         Simplify pad activation.
14901         Added function to check if pull_range can be performed.
14902         Error out when pulling inactive or flushing pads.
14903         Removed const from refcounted types as it does not make sense.
14904         Simplify pad templates in basesink
14905         Added base class for simple 1-to-1 transforms.
14906         Make identity subclass the base transform.
14907
14908 2005-03-29  Andy Wingo  <wingo@pobox.com>
14909
14910         * docs/libs/gstreamer-libs-overrides.txt: 
14911         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14912         really don't understand what's going on, but like whatever. I want
14913         green buildbot!
14914
14915         * docs/gst/Makefile.am:
14916         * docs/libs/Makefile.am: Dist the overrides files.
14917
14918         * check/Makefile.am (clean-local): Remove .libs directories.
14919
14920         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14921         elements to EXTRA_DIST, so po/ files are happy.
14922
14923         * po/POTFILES.in: Er, remove it here.
14924
14925         * po/POTFILES: Remove gstspider.c.
14926
14927         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14928
14929         * docs/libs/gstreamer-libs-docs.sgml: 
14930         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14931         bytestream.
14932
14933         * tests/complexity.c (main): Set the length of the preroll queue
14934         on the sinks to prevent a lockup.
14935
14936         * libs/gst/dataprotocol/Makefile.am: 
14937         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14938         the same as the one in check/gst-libs/gdp.c.
14939
14940         * po/, docs/gst/: Commit automatic changes to docs and po files.
14941
14942         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14943         the versioned libgstbase.
14944
14945         * check/Makefile.am: Depend on an unversioned gst-register, seems
14946         to make autoconf happier.
14947
14948         * gst/base/Makefile.am: Make libgstbase a versioned lib.
14949
14950 2005-03-28  Wim Taymans  <wim@fluendo.com>
14951
14952         * configure.ac:
14953         * docs/design/part-gstelement.txt:
14954         * docs/design/part-negotiation.txt:
14955         * docs/design/part-preroll.txt:
14956         * docs/design/part-scheduling.txt:
14957         * docs/design/part-states.txt:
14958         * gst/Makefile.am:
14959         * gst/base/Makefile.am:
14960         * gst/base/README:
14961         * gst/base/gstbasesink.c: (gst_basesink_get_template),
14962         (gst_basesink_base_init), (gst_basesink_class_init),
14963         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14964         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14965         (gst_basesink_set_pad_functions),
14966         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14967         (gst_basesink_set_property), (gst_basesink_get_property),
14968         (gst_base_sink_get_template), (gst_base_sink_get_caps),
14969         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14970         (gst_basesink_preroll_queue_push),
14971         (gst_basesink_preroll_queue_empty),
14972         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14973         (gst_basesink_event), (gst_basesink_get_times),
14974         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14975         (gst_basesink_chain_unlocked), (gst_basesink_chain),
14976         (gst_basesink_loop), (gst_basesink_activate),
14977         (gst_basesink_change_state):
14978         * gst/base/gstbasesink.h:
14979         * gst/elements/Makefile.am:
14980         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14981         (gst_fakesink_class_init), (gst_fakesink_init),
14982         (gst_fakesink_set_property), (gst_fakesink_get_property),
14983         (gst_fakesink_get_times), (gst_fakesink_event),
14984         (gst_fakesink_preroll), (gst_fakesink_render),
14985         (gst_fakesink_change_state):
14986         * gst/elements/gstfakesink.h:
14987         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14988         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14989         * gst/gstelement.c: (gst_element_add_pad),
14990         (gst_element_get_state_func), (gst_element_abort_state),
14991         (gst_element_commit_state), (gst_element_lost_state),
14992         (gst_element_set_state), (gst_element_pads_activate):
14993         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14994         * gst/gstpipeline.c: (gst_pipeline_send_event),
14995         (gst_pipeline_change_state):
14996         Added state change code.
14997         Added/updated docs.
14998         Added sink base class, make fakesink extend the base class.
14999         Small cleanups in GstPipeline.
15000
15001 2005-03-26  David Schleef  <ds@schleef.org>
15002
15003         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
15004         is broken and should be implemented in a different library.
15005         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
15006         * gst/gst.h: remove gstcpu.h
15007         * gst/gstcpu.c: remove
15008         * gst/gstcpu.h: remove
15009         * gst/Makefile.am.future: Remove this file.  It's ancient.
15010
15011 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15012
15013         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15014         (gst_bin_send_event):
15015           Add default event/set_manager handlers. The set_manager handler
15016           takes care that the manager is distributed over kids that were
15017           already in the bin before the manager was set. The event handler
15018           is a utility virtual function that sends the event over all sinks,
15019           so that gst_element_send_event (bin, event); has the expected
15020           behaviour.
15021         * gst/gstpad.c: (gst_pad_event_default):
15022           Re-install default event handling for discontinuities, so that
15023           seeking works without requiring hacks in applications or extra
15024           code in sinks.
15025         * gst/gstpipeline.c: (gst_pipeline_class_init),
15026         (gst_pipeline_send_event):
15027           Half hack, half utility: set a pipeline to PAUSED for seek events,
15028           since that is the only way we can guarantee a/v sync. Means that
15029           you can do gst_element_seek (pipeline, method, pos); on a pipeline
15030           and it "just works".
15031
15032 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15033
15034         * gst/gstpipeline.c: (gst_pipeline_use_clock):
15035           Lock/unlock mismatch.
15036
15037 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15038
15039         * docs/faq/gst-uninstalled:
15040           add gst-plugins-base
15041         * docs/gst/Makefile.am:
15042           don't error out until docs are fixed
15043         * docs/gst/gstreamer.types:
15044           remove thread
15045
15046 2005-03-22  Wim Taymans  <wim@fluendo.com>
15047
15048         * check/Makefile.am:
15049         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
15050         * gst/gststructure.c: (gst_structure_set_valist),
15051         (gst_structure_copy_conditional):
15052         Activated more tests.
15053         Added message test.
15054         Added G_TYPE_POINTER to GstStructure.
15055         
15056
15057 2005-03-22  Wim Taymans  <wim@fluendo.com>
15058
15059         * docs/design/part-TODO.txt:
15060         * docs/design/part-events.txt:
15061         * docs/design/part-gstbin.txt:
15062         * docs/design/part-gstbus.txt:
15063         * docs/design/part-gstpipeline.txt:
15064         * docs/design/part-messages.txt:
15065         * gst/gstbus.c:
15066         * gst/gstmessage.c:
15067         Docs updates
15068
15069 2005-03-21  Wim Taymans  <wim@fluendo.com>
15070
15071         * gst/gstbus.c: (gst_bus_post):
15072         Fix copy-and-paste error.
15073
15074 2005-03-21  Wim Taymans  <wim@fluendo.com>
15075
15076         * check/Makefile.am:
15077         * gst/Makefile.am:
15078         * gst/elements/Makefile.am:
15079         * gst/elements/gstelements.c:
15080         * gst/elements/gstfakesink.c: (gst_fakesink_init),
15081         (gst_fakesink_event), (gst_fakesink_chain):
15082         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15083         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
15084         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
15085         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
15086         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15087         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
15088         (gst_fakesrc_loop), (gst_fakesrc_activate),
15089         (gst_fakesrc_change_state):
15090         * gst/elements/gstfakesrc.h:
15091         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
15092         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
15093         (gst_filesrc_open_file), (gst_filesrc_loop),
15094         (gst_filesrc_activate), (gst_filesrc_change_state),
15095         (filesrc_find_peek), (filesrc_find_suggest),
15096         (gst_filesrc_type_find):
15097         * gst/elements/gstidentity.c: (gst_identity_finalize),
15098         (gst_identity_class_init), (gst_identity_init),
15099         (gst_identity_proxy_getcaps), (identity_queue_push),
15100         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
15101         (gst_identity_getrange), (gst_identity_chain),
15102         (gst_identity_sink_loop), (gst_identity_src_loop),
15103         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
15104         (gst_identity_set_property), (gst_identity_get_property),
15105         (gst_identity_change_state):
15106         * gst/elements/gstidentity.h:
15107         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
15108         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
15109         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
15110         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
15111         (gst_tee_sink_activate):
15112         * gst/elements/gsttee.h:
15113         * gst/gst.c: (gst_register_core_elements), (init_post):
15114         * gst/gst.h:
15115         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
15116         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
15117         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
15118         (gst_bin_change_state):
15119         * gst/gstbin.h:
15120         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
15121         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
15122         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
15123         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
15124         (gst_bus_set_sync_handler), (gst_bus_create_watch),
15125         (bus_watch_callback), (bus_watch_destroy),
15126         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
15127         (poll_timeout), (gst_bus_poll):
15128         * gst/gstbus.h:
15129         * gst/gstcaps.h:
15130         * gst/gstdata.h:
15131         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15132         (gst_element_post_message), (gst_element_message_full),
15133         (gst_element_get_state_func), (gst_element_get_state),
15134         (gst_element_abort_state), (gst_element_commit_state),
15135         (gst_element_lost_state), (gst_element_set_state),
15136         (gst_element_pads_activate), (gst_element_change_state),
15137         (gst_element_dispose), (gst_element_set_manager_func),
15138         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
15139         (gst_element_set_manager), (gst_element_get_manager),
15140         (gst_element_set_bus), (gst_element_get_bus),
15141         (gst_element_set_scheduler), (gst_element_get_scheduler):
15142         * gst/gstelement.h:
15143         * gst/gstevent.c: (gst_event_new_segment_seek),
15144         (gst_event_new_flush):
15145         * gst/gstevent.h:
15146         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
15147         (_gst_message_free), (gst_message_get_type), (gst_message_new),
15148         (gst_message_new_eos), (gst_message_new_error),
15149         (gst_message_new_warning), (gst_message_new_tag),
15150         (gst_message_new_state_changed), (gst_message_new_application),
15151         (gst_message_get_structure), (gst_message_parse_tag),
15152         (gst_message_parse_state_changed), (gst_message_parse_error),
15153         (gst_message_parse_warning):
15154         * gst/gstmessage.h:
15155         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
15156         (gst_real_pad_set_property), (gst_pad_set_active),
15157         (gst_pad_is_active), (gst_pad_set_blocked_async),
15158         (gst_pad_set_blocked), (gst_pad_is_blocked),
15159         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
15160         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
15161         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
15162         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
15163         (gst_pad_link_filtered), (gst_pad_relink_filtered),
15164         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
15165         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
15166         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
15167         (gst_pad_set_caps), (gst_pad_configure_sink),
15168         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
15169         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
15170         (gst_real_pad_dispose), (gst_real_pad_finalize),
15171         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
15172         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15173         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
15174         * gst/gstpad.h:
15175         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
15176         (pipeline_bus_handler), (gst_pipeline_change_state),
15177         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
15178         * gst/gstpipeline.h:
15179         * gst/gstprobe.h:
15180         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15181         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
15182         (gst_queue_link_src), (gst_queue_bufferalloc),
15183         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15184         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
15185         (gst_queue_loop), (gst_queue_handle_src_event),
15186         (gst_queue_handle_src_query), (gst_queue_src_activate),
15187         (gst_queue_change_state):
15188         * gst/gstqueue.h:
15189         * gst/gstscheduler.c: (gst_scheduler_init),
15190         (gst_scheduler_dispose), (gst_scheduler_create_task),
15191         (gst_scheduler_factory_create):
15192         * gst/gstscheduler.h:
15193         * gst/gststructure.c: (gst_structure_get_type),
15194         (gst_structure_copy_conditional):
15195         * gst/gststructure.h:
15196         * gst/gsttaginterface.h:
15197         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15198         (gst_task_init), (gst_task_dispose), (gst_task_create),
15199         (gst_task_get_state), (gst_task_start), (gst_task_stop),
15200         (gst_task_pause):
15201         * gst/gsttask.h:
15202         * gst/gstthread.c:
15203         * gst/gstthread.h:
15204         * gst/gsttypes.h:
15205         * gst/schedulers/Makefile.am:
15206         * gst/schedulers/cothreads_compat.h:
15207         * gst/schedulers/entryscheduler.c:
15208         * gst/schedulers/faircothreads.c:
15209         * gst/schedulers/faircothreads.h:
15210         * gst/schedulers/fairscheduler.c:
15211         * gst/schedulers/gstbasicscheduler.c:
15212         * gst/schedulers/gstoptimalscheduler.c:
15213         * gst/schedulers/gthread-cothreads.h:
15214         * gst/schedulers/threadscheduler.c:
15215         (gst_thread_scheduler_task_get_type),
15216         (gst_thread_scheduler_task_class_init),
15217         (gst_thread_scheduler_task_init),
15218         (gst_thread_scheduler_task_start),
15219         (gst_thread_scheduler_task_stop),
15220         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
15221         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15222         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
15223         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
15224         (plugin_init):
15225         * libs/gst/Makefile.am:
15226         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
15227         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
15228         (gst_file_pad_parent_set):
15229         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15230         (gst_dp_event_from_packet):
15231         * tests/complexity.c: (main):
15232         * tests/mass_elements.c: (main):
15233         * testsuite/states/locked.c: (message_received), (main):
15234         * testsuite/states/parent.c: (main):
15235         * tools/gst-inspect.c: (print_element_flag_info),
15236         (print_implementation_info), (print_pad_info):
15237         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
15238         (main):
15239         * tools/gst-md5sum.c: (event_loop), (main):
15240         * tools/gst-typefind.c: (main):
15241         * tools/gst-xmlinspect.c: (print_element_info):
15242         Next big merge.
15243         Added GstBus for mainloop integration.
15244         Added GstMessage for sending notifications on the bus.
15245         Added GstTask as an abstraction for pipeline entry points.
15246         Removed GstThread.
15247         Removed Schedulers.
15248         Simplified GstQueue for multithreaded core.
15249         Made _link threadsafe, removed old capsnego.
15250         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
15251         Added pad blocking functions.
15252         Reworked scheduling functions in GstPad to prepare for
15253         scheduling updates soon.
15254         Moved events out of data stream.
15255         Simplified GstEvent types.
15256         Added return values to push/pull.
15257         Removed clocking from GstElement.
15258         Added prototypes for state change function for next merge.
15259         Removed iterate from bins and state change management.
15260         Fixed some elements, disabled others for now.
15261         Fixed -inspect and -launch.
15262         Added check for GstBus.
15263
15264 2005-03-10  Wim Taymans  <wim@fluendo.com>
15265
15266         * docs/design/part-MT-refcounting.txt:
15267         * docs/design/part-clocks.txt:
15268         * docs/design/part-gstelement.txt:
15269         * docs/design/part-gstobject.txt:
15270         * docs/design/part-standards.txt:
15271         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15272         (gst_bin_remove_func), (gst_bin_remove):
15273         * gst/gstbin.h:
15274         * gst/gstbuffer.c:
15275         * gst/gstcaps.h:
15276         * testsuite/clock/clock1.c: (main):
15277         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
15278         (main):
15279         * testsuite/dlopen/loadgst.c: (do_test):
15280         * testsuite/refcounting/bin.c: (add_remove_test1),
15281         (add_remove_test2), (main):
15282         * testsuite/refcounting/element.c: (main):
15283         * testsuite/refcounting/element_pad.c: (main):
15284         * testsuite/refcounting/pad.c: (main):
15285         * tools/gst-launch.c: (sigint_handler_sighandler):
15286         * tools/gst-typefind.c: (main):
15287         Doc updates.
15288         Added doc about clock.
15289         removed gst_bin_iterate_recurse_up(), marked methods
15290         for removal.
15291         Fix more testsuites.
15292
15293 2005-03-09  Wim Taymans  <wim@fluendo.com>
15294
15295         * gst/gstpad.c: (gst_pad_get_direction),
15296         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
15297         (gst_pad_collect_valist):
15298         * testsuite/bins/interface.c: (main):
15299         * testsuite/caps/audioscale.c: (test_caps):
15300         * testsuite/caps/caps.c: (test1), (test2), (test3):
15301         * testsuite/caps/deserialize.c: (main):
15302         * testsuite/caps/enumcaps.c: (main):
15303         * testsuite/caps/filtercaps.c: (main):
15304         * testsuite/caps/intersect2.c: (main):
15305         * testsuite/caps/random.c: (main):
15306         * testsuite/caps/renegotiate.c: (my_fixate), (main):
15307         * testsuite/caps/sets.c: (check_caps):
15308         * testsuite/caps/simplify.c: (check_caps), (main):
15309         * testsuite/caps/subtract.c: (check_caps):
15310         Fix _pad_get_direction wrt ghostpads.
15311         Fix caps testsuite.
15312
15313 2005-03-09  Wim Taymans  <wim@fluendo.com>
15314
15315         * check/Makefile.am:
15316         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
15317         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
15318         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
15319         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
15320         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
15321         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
15322         (gst_bin_remove), (gst_bin_iterate_recurse_up),
15323         (bin_element_is_sink), (gst_bin_iterate_sinks),
15324         (gst_bin_iterate_all_by_interface):
15325         * gst/gstbin.h:
15326         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
15327         (gst_element_change_state), (gst_element_dispose),
15328         (gst_element_finalize), (gst_element_set_loop_function):
15329         * gst/gstelement.h:
15330         * gst/gstiterator.c: (find_custom_fold_func):
15331         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15332         (gst_pad_collectv), (gst_pad_collect_valist),
15333         (gst_pad_template_new):
15334         * gst/gstpipeline.c: (gst_pipeline_class_init),
15335         (gst_pipeline_dispose), (gst_pipeline_set_property),
15336         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
15337         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
15338         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
15339         * gst/gstutils.h:
15340         * gst/schedulers/entryscheduler.c:
15341         * gst/schedulers/gstbasicscheduler.c:
15342         (gst_basic_scheduler_cothreaded_chain),
15343         (gst_basic_scheduler_chain_add_element):
15344         * testsuite/bins/interface.c: (main):
15345         Added GstBin test.
15346         Added GstSystemClock test.
15347         Implemented clock distribution code in GstBin.
15348         Implemented iterate sinks method for future use.
15349         Rearranged gstelement.h
15350         Fix GstIterator comparison bug.
15351         Moved some code to GstPipeline, mostly clocking related.
15352
15353 2005-03-09  Wim Taymans  <wim@fluendo.com>
15354
15355         * configure.ac:
15356         * gst/gst_private.h:
15357         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15358         (gst_bin_remove_func), (gst_bin_remove),
15359         (gst_bin_get_by_name_recurse_up):
15360         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
15361         (gst_clock_id_compare_func), (gst_clock_id_wait),
15362         (gst_clock_id_wait_async), (gst_clock_init),
15363         (gst_clock_adjust_unlocked), (gst_clock_get_time):
15364         * gst/gstelement.h:
15365         * gst/gstinfo.c: (_gst_debug_init):
15366         * gst/gstobject.h:
15367         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15368         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
15369         * gst/gstpad.h:
15370         Bump version number, we're now 0.9.0
15371         Add future debugging category.
15372         Fix NULL _unref() in _get_by_name_recurse_up
15373         Rearrange gstpad.h.
15374         Update some docs.
15375
15376 2005-03-08  Wim Taymans  <wim@fluendo.com>
15377
15378         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
15379         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
15380         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15381         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
15382         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
15383         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
15384         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
15385         * gst/elements/gstidentity.c: (gst_identity_class_init):
15386         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
15387         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
15388         * gst/elements/gstshaper.c: (gst_shaper_class_init):
15389         * gst/elements/gststatistics.c: (gst_statistics_class_init):
15390         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
15391         (gst_tee_link):
15392         * gst/gstelement.c: (gst_element_class_init),
15393         (gst_element_base_class_init), (gst_element_init),
15394         (gst_element_get_random_pad), (gst_element_wait_state_change),
15395         (gst_element_change_state), (gst_element_dispose),
15396         (gst_element_finalize), (gst_element_set_loop_function):
15397         * gst/gstelement.h:
15398         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
15399         * gst/gstthread.c: (gst_thread_class_init),
15400         (gst_thread_release_children_locks), (gst_thread_change_state):
15401         * gst/schedulers/gstbasicscheduler.c:
15402         (gst_basic_scheduler_loopfunc_wrapper),
15403         (gst_basic_scheduler_chain_wrapper),
15404         (gst_basic_scheduler_src_wrapper),
15405         (gst_basic_scheduler_remove_element):
15406         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
15407         Remove threadsafe properties. Fix elements because GObject
15408         complains when installing a property before declaring a
15409         set/get_property handler.
15410         Rearrange gstelement.h file, use STATE macros for state locks.
15411         Free mutexes in the finalize method instead of dispose.
15412
15413 2005-03-08  Wim Taymans  <wim@fluendo.com>
15414
15415         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15416         * gst/gstthread.c: (gst_thread_release_children_locks):
15417         Added parentage check.
15418         Fix build og GstThread again.
15419
15420 2005-03-08  Wim Taymans  <wim@fluendo.com>
15421
15422         * docs/design/part-MT-refcounting.txt:
15423         * docs/design/part-conventions.txt:
15424         * docs/design/part-gstobject.txt:
15425         * docs/design/part-relations.txt:
15426         * docs/design/part-standards.txt:
15427         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15428         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
15429         (gst_bin_get_by_name), (gst_bin_get_by_interface),
15430         (gst_bin_iterate_all_by_interface):
15431         * gst/gstbuffer.h:
15432         * gst/gstclock.h:
15433         * gst/gstelement.c: (gst_element_class_init),
15434         (gst_element_change_state), (gst_element_set_loop_function):
15435         * gst/gstelement.h:
15436         * gst/gstiterator.c:
15437         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
15438         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
15439         (gst_object_dispatch_properties_changed), (gst_object_set_name),
15440         (gst_object_set_parent), (gst_object_unparent),
15441         (gst_object_check_uniqueness):
15442         * gst/gstobject.h:
15443         Docs updates, clean up some headers.
15444
15445 2005-03-07  Wim Taymans  <wim@fluendo.com>
15446
15447         * check/.cvsignore:
15448         * check/Makefile.am:
15449         * check/gst-libs/.cvsignore:
15450         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
15451         * check/gst/.cvsignore:
15452         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
15453         (START_TEST), (gstbus_suite), (main):
15454         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
15455         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
15456         (gst_data_suite), (main):
15457         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
15458         (add_fold_func), (gstiterator_suite), (main):
15459         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
15460         (thread_name_object), (thread_name_object_default),
15461         (gst_object_name_compare), (gst_object_suite), (main):
15462         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
15463         (gst_pad_suite), (main):
15464         * check/gstcheck.c: (gst_check_log_message_func),
15465         (gst_check_log_critical_func), (gst_check_init):
15466         * check/gstcheck.h:
15467         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15468         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
15469         Added checks.
15470
15471 2005-03-07  Wim Taymans  <wim@fluendo.com>
15472
15473         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15474         (gst_list_iterator_next), (gst_list_iterator_resync),
15475         (gst_list_iterator_free), (gst_iterator_new_list),
15476         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
15477         (gst_iterator_free), (gst_iterator_push), (filter_next),
15478         (filter_resync), (filter_uninit), (filter_free),
15479         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
15480         (gst_iterator_foreach), (find_custom_fold_func),
15481         (gst_iterator_find_custom):
15482         * gst/gstiterator.h:
15483         Added missing files.
15484
15485 2005-03-07  Wim Taymans  <wim@fluendo.com>
15486
15487         * Makefile.am:
15488         * configure.ac:
15489         * docs/design/part-MT-refcounting.txt:
15490         * docs/design/part-conventions.txt:
15491         * docs/design/part-gstobject.txt:
15492         * docs/design/part-relations.txt:
15493         * examples/mixer/mixer.c: (main):
15494         * examples/thread/thread.c: (eos), (main):
15495         * gst/Makefile.am:
15496         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
15497         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
15498         (gst_spider_plug_from_srcpad):
15499         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
15500         (gst_spider_identity_change_state),
15501         (gst_spider_identity_sink_loop_type_finding):
15502         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
15503         * gst/elements/gstidentity.c: (gst_identity_init):
15504         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
15505         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
15506         * gst/elements/gsttypefindelement.c: (free_entry):
15507         * gst/gst.c:
15508         * gst/gst.h:
15509         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
15510         (gst_bin_set_clock_func), (gst_bin_auto_clock),
15511         (gst_bin_set_index), (gst_bin_set_element_sched),
15512         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
15513         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
15514         (gst_bin_iterate_elements), (iterate_child_recurse),
15515         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
15516         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
15517         (compare_interface), (gst_bin_get_by_interface),
15518         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
15519         * gst/gstbin.h:
15520         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
15521         (gst_buffer_default_free), (gst_buffer_default_copy),
15522         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
15523         (gst_buffer_create_sub):
15524         * gst/gstbuffer.h:
15525         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
15526         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
15527         (gst_caps_unref), (gst_static_caps_get),
15528         (gst_caps_remove_and_get_structure), (gst_caps_append),
15529         (gst_caps_append_structure), (gst_caps_remove_structure),
15530         (gst_caps_copy_nth), (gst_caps_set_simple),
15531         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
15532         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
15533         (gst_caps_structure_intersect_field), (gst_caps_intersect),
15534         (gst_caps_structure_subtract_field), (gst_caps_subtract),
15535         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
15536         (gst_caps_structure_figure_out_union),
15537         (gst_caps_switch_structures), (gst_caps_do_simplify),
15538         (gst_caps_replace), (gst_caps_from_string),
15539         (gst_caps_copy_conditional):
15540         * gst/gstcaps.h:
15541         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
15542         (_gst_clock_id_free), (gst_clock_id_unref),
15543         (gst_clock_id_compare_func), (gst_clock_id_wait),
15544         (gst_clock_id_wait_async), (gst_clock_class_init),
15545         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
15546         (gst_clock_get_time), (gst_clock_set_time_adjust),
15547         (gst_clock_set_property), (gst_clock_get_property):
15548         * gst/gstclock.h:
15549         * gst/gstcompat.h:
15550         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
15551         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
15552         * gst/gstdata.h:
15553         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15554         (gst_element_requires_clock), (gst_element_provides_clock),
15555         (gst_element_set_clock), (gst_element_clock_wait),
15556         (gst_element_wait), (gst_element_set_time_delay),
15557         (gst_element_is_indexable), (gst_element_add_pad),
15558         (gst_element_add_ghost_pad), (gst_element_remove_pad),
15559         (pad_compare_name), (gst_element_get_static_pad),
15560         (gst_element_request_pad), (gst_element_get_request_pad),
15561         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
15562         (gst_element_class_get_pad_template_list),
15563         (gst_element_class_get_pad_template), (gst_element_error_func),
15564         (gst_element_get_random_pad), (gst_element_get_event_masks),
15565         (gst_element_send_event), (gst_element_seek),
15566         (gst_element_get_query_types), (gst_element_query),
15567         (gst_element_get_formats), (gst_element_convert),
15568         (gst_element_is_locked_state), (gst_element_set_locked_state),
15569         (gst_element_sync_state_with_parent), (gst_element_change_state),
15570         (gst_element_finalize), (gst_element_yield),
15571         (gst_element_interrupt), (gst_element_set_scheduler),
15572         (gst_element_get_scheduler), (gst_element_set_loop_function):
15573         * gst/gstelement.h:
15574         * gst/gstevent.h:
15575         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
15576         (gst_format_get_by_nick), (gst_format_get_details),
15577         (gst_format_iterate_definitions):
15578         * gst/gstformat.h:
15579         * gst/gstindex.c: (gst_index_gtype_resolver):
15580         * gst/gstinfo.c:
15581         * gst/gstinfo.h:
15582         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
15583         (gst_mem_chunk_free):
15584         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15585         (gst_object_ref), (gst_object_unref), (gst_object_sink),
15586         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
15587         (gst_object_dispatch_properties_changed),
15588         (gst_object_set_name_default), (gst_object_set_name),
15589         (gst_object_get_name), (gst_object_set_name_prefix),
15590         (gst_object_get_name_prefix), (gst_object_set_parent),
15591         (gst_object_get_parent), (gst_object_unparent),
15592         (gst_object_check_uniqueness), (gst_object_save_thyself),
15593         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
15594         (gst_object_set_property), (gst_object_get_property),
15595         (gst_object_get_path_string):
15596         * gst/gstobject.h:
15597         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15598         (gst_real_pad_init), (gst_real_pad_get_property),
15599         (gst_pad_custom_new), (gst_pad_get_direction),
15600         (gst_pad_set_active), (gst_pad_is_active),
15601         (gst_pad_set_event_function), (gst_pad_is_linked),
15602         (gst_pad_link_free), (gst_pad_link_intersect),
15603         (gst_pad_link_fixate), (gst_pad_set_caps),
15604         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
15605         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
15606         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
15607         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
15608         (gst_pad_get_caps), (gst_pad_peer_get_caps),
15609         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
15610         (gst_pad_realize), (gst_pad_get_allowed_caps),
15611         (gst_real_pad_dispose), (gst_real_pad_finalize),
15612         (gst_pad_collectv), (gst_pad_collect_valist),
15613         (gst_pad_template_dispose), (gst_pad_template_new),
15614         (gst_pad_get_internal_links):
15615         * gst/gstpad.h:
15616         * gst/gstpipeline.c: (gst_pipeline_dispose),
15617         (gst_pipeline_change_state):
15618         * gst/gstpipeline.h:
15619         * gst/gstplugin.c:
15620         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
15621         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
15622         * gst/gstpluginfeature.h:
15623         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
15624         * gst/gstquery.c: (_gst_query_type_initialize),
15625         (gst_query_type_register), (gst_query_type_get_by_nick),
15626         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
15627         * gst/gstquery.h:
15628         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
15629         * gst/gstscheduler.c: (gst_scheduler_add_element),
15630         (gst_scheduler_factory_create):
15631         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15632         (gst_structure_free), (gst_structure_set_name),
15633         (gst_structure_id_set_value), (gst_structure_set_value),
15634         (gst_structure_set_valist), (gst_structure_remove_field),
15635         (gst_structure_remove_fields),
15636         (gst_structure_remove_fields_valist),
15637         (gst_structure_remove_all_fields), (gst_structure_foreach),
15638         (gst_structure_map_in_place),
15639         (gst_caps_structure_fixate_field_nearest_int),
15640         (gst_caps_structure_fixate_field_nearest_double):
15641         * gst/gststructure.h:
15642         * gst/gstsystemclock.c: (gst_system_clock_class_init),
15643         (gst_system_clock_init), (gst_system_clock_dispose),
15644         (gst_system_clock_async_thread),
15645         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
15646         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
15647         * gst/gstsystemclock.h:
15648         * gst/gsttag.c: (gst_tag_list_add_value_internal),
15649         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
15650         * gst/gsttaginterface.c:
15651         * gst/gstthread.c: (gst_thread_dispose),
15652         (gst_thread_release_children_locks), (gst_thread_change_state),
15653         (gst_thread_main_loop):
15654         * gst/gsttrashstack.h:
15655         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
15656         * gst/gsttypes.h:
15657         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15658         (gst_element_request_pad), (gst_element_get_pad_from_template),
15659         (gst_element_request_compatible_pad),
15660         (gst_element_get_compatible_pad_filtered),
15661         (gst_element_get_compatible_pad), (gst_element_state_get_name),
15662         (gst_element_link_pads_filtered), (gst_element_link_filtered),
15663         (gst_element_link_many), (gst_element_link),
15664         (gst_element_link_pads), (gst_element_unlink_pads),
15665         (gst_element_unlink_many), (gst_element_unlink),
15666         (gst_pad_can_link_filtered), (gst_pad_can_link),
15667         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
15668         (gst_object_default_error), (gst_bin_add_many),
15669         (gst_bin_remove_many), (gst_element_populate_std_props),
15670         (gst_element_class_install_std_props), (gst_buffer_merge),
15671         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
15672         (link_fold_func), (gst_pad_proxy_setcaps):
15673         * gst/gstutils.h:
15674         * gst/gstvalue.c: (gst_value_deserialize_string):
15675         * gst/parse/grammar.y:
15676         * gst/schedulers/gstbasicscheduler.c:
15677         (gst_basic_scheduler_cothreaded_chain),
15678         (gst_basic_scheduler_chain_recursive_add),
15679         (gst_basic_scheduler_pad_link):
15680         * gst/schedulers/gstoptimalscheduler.c:
15681         (get_group_schedule_function),
15682         (gst_opt_scheduler_state_transition),
15683         (gst_opt_scheduler_add_element), (element_get_reachables_func):
15684         * libs/gst/bytestream/bytestream.c:
15685         * libs/gst/dataprotocol/dataprotocol.c:
15686         (gst_dp_header_from_buffer):
15687         * po/nb.po:
15688         * po/ru.po:
15689         * tests/threadstate/threadstate2.c: (eos):
15690         * tools/gst-compprep.c: (main):
15691         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
15692         (print_pad_info), (print_children_info):
15693         * tools/gst-launch.c: (idle_func), (main):
15694         * tools/gst-md5sum.c: (idle_func), (main):
15695         * tools/gst-xmlinspect.c: (print_element_info):
15696         First THREADED backport attempt, focusing on adding locks and
15697         making sure the API is threadsafe. Needs more work. More docs
15698         follow this week.
15699
15700 2005-02-24  Andy Wingo  <wingo@pobox.com>
15701
15702         * tests/bench-complexity.scm:
15703         * tests/complexity.gnuplot: New files, good for running complexity
15704         benchmarks.
15705
15706         * tests/Makefile.am:
15707         * tests/complexity.c: New test, sets up N elements, at each level
15708         teeing into M streams per element. Eeeenteresting.
15709
15710         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
15711         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
15712         running bench-mass_elements.scm.
15713
15714         * tests/bench-mass_elements.scm: New script, runs mass_elements
15715         for various numbers of identities, outputting the results to a
15716         file. Requires guile 1.6. Just for testing.
15717
15718 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15719
15720         * gst/schedulers/fairscheduler.c:
15721           compile with debug disabled
15722
15723 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15724
15725         * configure.ac:
15726           hunting season on 0.9 is now OPEN