gst/: gst_[buffer|event|message]_ref() macros are replaced by a static inline functio...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-03-21  Edward Hervey  <edward@fluendo.com>
2
3         * gst/gstbuffer.h:
4         * gst/gstevent.h:
5         * gst/gstmessage.h:
6         gst_[buffer|event|message]_ref() macros are replaced by a static
7         inline functions because gcc-4.1 will about if the return value
8         isn't used.
9         * tests/check/gst/gstevent.c: (event_probe):
10         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
11
12 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
13
14         * gst/gstutils.h:
15         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16         the type' case. (Closes: #335195 for now). In the future, when we
17         depend on GLib 2.10, we could also intern the type name using
18         g_intern_static_string()
19
20 2006-03-20  Wim Taymans  <wim@fluendo.com>
21
22         * gst/gstbin.c: (gst_bin_handle_message_func),
23         (bin_query_max_init), (bin_query_position_fold),
24         (bin_query_position_done), (gst_bin_query):
25         Position query should also take max of all streams.
26
27 2006-03-20  Wim Taymans  <wim@fluendo.com>
28
29         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
30         (gst_fake_src_finalize):
31         Fix leaks in fakesrc.
32
33         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
34         Fix leaks in the testcase.
35
36 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
37
38         * gst/gst_private.h:
39           add win32 specific import decoration(__declspec(dllimport)) 
40           for all extern GstDebugCategory * variables
41         * win32/common/libgstbase.def:
42         * win32/common/libgstcontroller.def:
43         * win32/common/libgstreamer.def:
44           Add some exports, remove empty lines
45         * win32/common/libgstdataprotocol.def:
46         * win32/common/libgstdataprotocol.dsp:
47         * win32/common/libgstnet.def:
48         * win32/common/libgstnet.dsp:
49           new project files and exportation files added
50         
51 2006-03-19  Wim Taymans  <wim@fluendo.com>
52
53         * tests/check/libs/basesrc.c: (eos_event_counter):
54         Use proper return value for probe.
55
56 2006-03-17  Wim Taymans  <wim@fluendo.com>
57
58         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
59         (gst_pad_push):
60         Don't leak buffers, caps and pads on negotiation errors.
61
62 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
63
64         * docs/faq/cvs.xml:
65         * docs/faq/dependencies.xml:
66         * docs/faq/developing.xml:
67         * docs/faq/faq.xml:
68         * docs/faq/general.xml:
69         * docs/faq/getting.xml:
70         * docs/faq/legal.xml:
71         * docs/faq/troubleshooting.xml:
72         * docs/faq/using.xml:
73         Faq review and update.
74
75 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
76
77         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
78         (gst_pad_push):
79         Don't pound the cpu to pieces by checking get_caps when accept_caps
80         is called with the same caps as the pad already has.
81         Use GST_DEBUG_OBJECT when outputting caps change information.
82
83 2006-03-15  Wim Taymans  <wim@fluendo.com>
84
85         * gst/gstclock.c: (gst_clock_class_init):
86         Fix docs.
87
88 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
89
90         * gst/gstbuffer.h:
91         Documentation fix.
92
93         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
94         (gst_pad_accept_caps), (gst_pad_configure_sink),
95         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
96         Make the default acceptcaps behaviour be to check the requested 
97         caps against the gst_pad_get_caps output. 
98
99         Ensure that gst_pad_accept_caps is used to check caps when a pad
100         doesn't have a setcaps function, so that pads automatically refuse 
101         caps that they don't allow in their pad template. (Fixes #332986)
102
103         When a buffer with attached caps is pushed, ensure that the source 
104         pad receives those caps even if the element didn't call
105         gst_pad_set_caps first.
106
107 2006-03-15  Wim Taymans  <wim@fluendo.com>
108
109         * libs/gst/base/gstadapter.c:
110         Add some docs.
111
112 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
113
114         * win32/common/libgstbase.def:
115         * win32/common/libgstcontroller.def:
116         * win32/common/libgstreamer.def:
117           Add a whole bunch of missing functions (#334434).
118
119 2006-03-14  Wim Taymans  <wim@fluendo.com>
120
121         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
122         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
123         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
124         Better debug info when we receive a segment event.
125         Reorganize a bit so we can pass the get_times() results around.
126         Use the segment format when calculating the running time.
127         Don't do QoS is sync is disabled or we have no clock or the
128         element does not want us to sync to the clock.
129         Don't drop buffers if QoS is disabled for now.
130
131 2006-03-14  Wim Taymans  <wim@fluendo.com>
132
133         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
134         Marked the stats property as unimplemented so people don't get
135         wild ideas.
136         Add debug message when regression goes wrong.
137         Added some more docs.
138
139 2006-03-14  Wim Taymans  <wim@fluendo.com>
140
141         * gst/gstsegment.c: (gst_segment_to_stream_time):
142         Return correct return type in case of errors.
143
144 2006-03-14  Wim Taymans  <wim@fluendo.com>
145
146         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
147           Don't segfault on invalid formats.
148
149 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
150
151         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
152           Can't use gst_segment_to_running_time() when the segment
153           is not in GST_TIME_FORMAT (like with filesink, for example).
154           Stops flac encoding pipelines from spewing critical warnings
155           at EOS (#331248).
156           
157 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
158
159         * gst/gstpipeline.c: (gst_pipeline_class_init):
160           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
161
162         * plugins/elements/gsttypefindelement.c:
163         (gst_type_find_element_handle_event):
164           Don't try to typefind empty streams.
165
166 2006-03-14  Wim Taymans  <wim@fluendo.com>
167
168         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
169         (gst_base_sink_do_qos):
170         Separate QoS calculation.
171         Only drop buffers when lateness is bigger than the 
172         duration of the buffer.
173
174 2006-03-13  Wim Taymans  <wim@fluendo.com>
175
176         * gst/gstpipeline.c: (gst_pipeline_set_property),
177         (gst_pipeline_get_property), (do_pipeline_seek),
178         (gst_pipeline_change_state), (gst_pipeline_set_delay),
179         (gst_pipeline_get_delay):
180         Don't deadlock when reading properties.
181
182 2006-03-13  Wim Taymans  <wim@fluendo.com>
183
184         * libs/gst/base/gstbasetransform.c:
185         (gst_base_transform_class_init), (gst_base_transform_init),
186         (gst_base_transform_sink_event),
187         (gst_base_transform_sink_eventfunc),
188         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
189         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
190         (gst_base_transform_set_property),
191         (gst_base_transform_get_property),
192         (gst_base_transform_change_state), (gst_base_transform_update_qos),
193         (gst_base_transform_set_qos_enabled),
194         (gst_base_transform_is_qos_enabled):
195         * libs/gst/base/gstbasetransform.h:
196         Make basetransform virtual method for src events too.
197         Handle QOS in basetransform.
198         API: gst_base_transform_update_qos
199         API: gst_base_transform_set_qos_enabled
200         API: gst_base_transform_is_qos_enabled
201
202 2006-03-13  Wim Taymans  <wim@fluendo.com>
203
204         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
205         (gst_base_sink_do_sync):
206         Small cleanups.
207         Use QOS debug category.
208
209 2006-03-13  Wim Taymans  <wim@fluendo.com>
210
211         * plugins/elements/gstqueue.c:
212         Very small doc update.
213
214 2006-03-13  Wim Taymans  <wim@fluendo.com>
215
216         * gst/gst_private.h:
217         * gst/gstinfo.c: (_gst_debug_init):
218         Added QOS debug category
219
220 2006-03-13  Wim Taymans  <wim@fluendo.com>
221
222         * docs/gst/gstreamer-sections.txt:
223         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
224         * gst/gstbin.h:
225         * gst/gstbus.c: (gst_bus_class_init):
226         * gst/gstbus.h:
227         * gst/gstclock.c:
228         * gst/gstelement.c: (gst_element_set_locked_state):
229         * gst/gstsegment.c:
230         Documentation updates.
231
232         * gst/gstpipeline.c: (gst_pipeline_get_type),
233         (gst_pipeline_class_init), (gst_pipeline_init),
234         (gst_pipeline_dispose), (gst_pipeline_set_property),
235         (gst_pipeline_get_property), (do_pipeline_seek),
236         (gst_pipeline_send_event), (gst_pipeline_change_state),
237         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
238         (gst_pipeline_get_delay):
239         * gst/gstpipeline.h:
240         Added methods for setting the delay.
241         API: gst_pipeline_set_delay
242         API: gst_pipeline_get_delay
243         Add pipeline debug category
244         Various cleanups.
245         Updated docs.
246         Don't reset stream time when seek failed.
247
248 2006-03-13  Wim Taymans  <wim@fluendo.com>
249
250         * docs/design/draft-klass.txt:
251         * docs/design/part-clocks.txt:
252         * docs/design/part-events.txt:
253         * docs/design/part-gstbin.txt:
254         * docs/design/part-gstpipeline.txt:
255         * docs/design/part-messages.txt:
256         * docs/design/part-negotiation.txt:
257         * docs/design/part-overview.txt:
258         * docs/design/part-preroll.txt:
259         * docs/design/part-seeking.txt:
260         * docs/design/part-states.txt:
261         * docs/design/part-streams.txt:
262         Documentation updates.
263
264 2006-03-12  Julien MOUTTE  <julien@moutte.net>
265
266         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
267         us to leak strings...
268
269 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
270
271         * libs/gst/net/gstnettimeprovider.c:
272           fix docs
273         * win32/common/config.h:
274           update
275
276 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
277
278         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
279
280         * configure.ac:
281           Don't check for libgnomeui (leftover from old examples
282           that aren't built or disted any longer) (#334303).
283           
284 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
285
286         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
287         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
288           Emit RESOURCE_NO_SPACE_LEFT error here as well when
289           there's no space left on the device.
290
291 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
292
293         * gst/gstclock.h:
294           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
295           to cast the input to GstClockTime before comparing with
296           another GstClockTime value.
297
298 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
299
300         * configure.ac:
301           back to trunk
302
303 === release 0.10.4 ===
304
305 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
306
307         * configure.ac:
308           releasing 0.10.4, "Light"
309
310 2006-03-10  Michael Smith  <msmith@fluendo.com>
311
312         * libs/gst/dataprotocol/dataprotocol.c:
313           Fix docs for dataprocotol to not get the return types completely
314           wrong for a few functions.
315
316 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
317
318         * docs/gst/gstreamer-sections.txt:
319         * gst/gstpipeline.c: (gst_pipeline_class_init),
320         (gst_pipeline_init), (gst_pipeline_set_property),
321         (gst_pipeline_get_property), (gst_pipeline_change_state),
322         (gst_pipeline_set_auto_flush_bus),
323         (gst_pipeline_get_auto_flush_bus):
324         * gst/gstpipeline.h:
325           Add new API: gst_pipeline_set_auto_flush_bus() and
326           gst_pipeline_get_auto_flush_bus() to disable automatic
327           flushing of the pipeline's GstBus when going from READY
328           to NULL state (#332045).
329
330 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
331
332         * docs/gst/gstreamer-sections.txt:
333         * gst/gsturi.c: (gst_uri_has_protocol):
334         * gst/gsturi.h:
335            Add new API: gst_uri_has_protocol() (#333779).
336
337 2006-03-09  Wim Taymans  <wim@fluendo.com>
338
339         * gst/gstclock.c: (gst_clock_entry_new),
340         (gst_clock_id_compare_func), (gst_clock_id_wait),
341         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
342         (gst_clock_init), (gst_clock_get_internal_time),
343         (gst_clock_set_master), (do_linear_regression),
344         (gst_clock_add_observation), (gst_clock_set_property):
345         * gst/gstclock.h:
346         Review docs.
347         Small cleanups.
348         Fix a possible segfault when the window-size is made smaller.
349         Calculate jitter before performing the clock wait. Ideally
350         the clock implementation should calculate jitter but we need
351         API breakage for that.
352
353         * gst/gstsystemclock.c: (gst_system_clock_init):
354         Docs review.
355         
356         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
357         Remove leftover else
358
359         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
360         (gst_systemclock_suite):
361         Added check to test GST_CLOCK_DIFF.
362
363 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
364
365         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
366         (gst_type_find_helper_get_range):
367           If we are provided with the size, we should implement
368           GstTypeFind::get_length, so that typefind functions who
369           want to can actually peek at the middle of a file.
370
371 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
372
373         * docs/manual/advanced-dataaccess.xml:
374           Add some very very basic error checking.
375
376         * docs/pwg/appendix-checklist.xml:
377           Some updates to the list of things to check when writing an element.
378
379 2006-03-08  Wim Taymans  <wim@fluendo.com>
380
381         * docs/design/part-element-transform.txt:
382         Added some docs about the design of tranform elements.
383
384         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
385         (gst_base_src_loop), (gst_base_src_change_state):
386         Mark buffers with the DISCONT flag.
387
388 2006-03-08  Michael Smith  <msmith@fluendo.com>
389
390         * gst/gstregistry.h:
391         * gst/gstregistryxml.c: (gst_registry_save),
392         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
393         (gst_registry_xml_save_pad_template),
394         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
395         (gst_registry_xml_write_cache):
396           Rewrite registry-saving to avoid race conditions and check for
397           failed writes.
398
399 2006-03-08  Wim Taymans  <wim@fluendo.com>
400
401         * libs/gst/base/gstbasetransform.c:
402         (gst_base_transform_transform_caps),
403         (gst_base_transform_transform_size),
404         (gst_base_transform_prepare_output_buffer),
405         (gst_base_transform_get_unit_size),
406         (gst_base_transform_buffer_alloc),
407         (gst_base_transform_handle_buffer),
408         (gst_base_transform_change_state):
409         Cleanups, separate normal flow from errors, add sensible
410         DEBUG lines.
411         Don't try to renegotiate when allocating an output buffer.
412         Also copy DISCONT buffer flag when copying a buffer.
413         Reset the transform after we finish streaming, not during.
414
415 2006-03-08  Wim Taymans  <wim@fluendo.com>
416
417         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
418         Use last buffer timestamp in qos message.
419
420 2006-03-07  Wim Taymans  <wim@fluendo.com>
421
422         Patch by: Christophe Fergeau
423
424         * docs/pwg/advanced-tagging.xml:
425         * docs/pwg/building-pads.xml:
426           fixes #333416
427
428 2006-03-07  Wim Taymans  <wim@fluendo.com>
429
430         * docs/libs/gstreamer-libs-sections.txt:
431         Added basesink new methods.
432
433         * gst/gstevent.c:
434         * gst/gstevent.h:
435         Docs updates. Flesh out the QoS docs.
436
437         * libs/gst/base/gstadapter.c:
438         Small doc clarification about ownership and flushing.
439
440         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
441         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
442         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
443         (gst_base_sink_get_property), (gst_base_sink_do_sync):
444         * libs/gst/base/gstbasesink.h:
445         API additions: 
446         Added new methods to allow subclass to control max-lateness 
447         and sync.
448         Generate very basic QoS events based on last sync observation.
449         Updated docs, fix typo, added some QoS blurb.
450
451         * libs/gst/base/gstbasesrc.c:
452         Remove obsolete _get_state() calls from docs.
453
454 2006-03-07  Wim Taymans  <wim@fluendo.com>
455
456         * docs/libs/gstreamer-libs-sections.txt:
457         * libs/gst/base/gstbasetransform.h:
458         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
459         Fix docs for GstBaseSrc.
460
461 2006-03-07  Wim Taymans  <wim@fluendo.com>
462
463         * docs/gst/gstreamer-sections.txt:
464         * gst/gstbuffer.h:
465         * gst/gstvalue.c:
466         * libs/gst/base/gstbasetransform.h:
467         Small documentation fixes.
468
469 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
470
471         * gst/gstvalue.c:
472           Document thread-unsafety of gst_value_register_foo_func()
473           when used at the same time as gst_value_foo() (#322628).
474
475 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
476
477         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
478         (gst_push_src_check_get_range):
479           Push sources don't support pull mode by default.
480
481 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
482
483         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
484         (gst_base_src_init), (gst_base_src_pad_check_get_range),
485         (gst_base_src_default_check_get_range):
486         * libs/gst/base/gstbasesrc.h:
487           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
488           provide default implementation, and rename
489           gst_base_src_check_get_range() to
490           gst_base_src_pad_check_get_range() for clarity.
491
492 2006-03-06  Wim Taymans  <wim@fluendo.com>
493
494         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
495         Make property overridable.
496
497 2006-03-06  Wim Taymans  <wim@fluendo.com>
498
499         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
500         (gst_base_sink_init), (gst_base_sink_set_property),
501         (gst_base_sink_get_property), (gst_base_sink_do_sync):
502         * libs/gst/base/gstbasesink.h:
503         API addition: Make max-lateness a property.
504
505 2006-03-06  Wim Taymans  <wim@fluendo.com>
506
507         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
508         (gst_base_sink_do_sync), (gst_base_sink_render_object):
509         Don't ever draw a frame that is >10ms late.
510
511 2006-03-06  Michael Smith  <msmith@fluendo.com>
512
513         * gst/gstmessage.c: (_gst_message_copy):
514           When copying a message, set the parent_refcount of the enclosed
515           structure to point at the copy, not the original message.
516
517 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
518
519         Patch by: Christophe Fergeau
520
521         * gst/gstutils.h:
522           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
523           usable in c++ code (#333417)
524
525 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
526
527         * gst/gstclock.h:
528           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
529
530 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
531
532         * libs/gst/base/gstbasetransform.c:
533         (gst_base_transform_transform_caps):
534           Make sure caps are writable before passing them to
535           gst_caps_append().
536
537 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
538
539         * gst/gsterror.h:
540           Fix some minor docs errors.
541
542 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
543
544           Patch by: Ross Burton <ross at burtonini dot com>
545
546         * gst/gsterror.c: (_gst_resource_errors_init):
547         * gst/gsterror.h:
548           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
549
550 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
551
552         * gst/gst.c:
553         Add a check and output a g_warning when GStreamer is built
554         against GLib 2.6 but running against 2.8 or higher, and vice 
555         versa. (Closes: #323542)
556
557 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
558
559         * gst/parse/parse.l:
560           Commit patch for parse_launch syntax from #331255. Removes 
561           support for quoted strings and mimetypes when writing filtered 
562           caps. See the bug report for more details - I'm pretty sure this
563           obscure feature is not in use by _anyone_ anywhere.
564
565           With this simple change, the size of the gstreamer.so here 
566           drops from 2193KB to 1565KB.
567
568 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
569
570         * plugins/elements/gsttypefindelement.h:
571         * plugins/elements/gsttypefindelement.c:
572         (gst_type_find_element_src_event), (start_typefinding),
573         (stop_typefinding), (gst_type_find_element_handle_event),
574         (gst_type_find_element_chain),
575         (gst_type_find_element_chain_do_typefinding):
576           Use gst_type_find_helper_for_buffer() for chain-based
577           typefinding.
578
579 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
580
581         * plugins/elements/gsttypefindelement.c:
582         (gst_type_find_element_class_init),
583         (gst_type_find_element_set_property),
584         (gst_type_find_element_get_property):
585           Deprecate "maximum" property (not only was it only taken into
586           account for typefinding in push-mode anyway, it also was never
587           actually possible to set it in the first place because the
588           property was registered with the numeric property ID for the
589           "minimum" property). Register "maximum" property correctly,
590           for the sake of future copy'n'pasters. Remove some cruft
591           from property get/set functions.
592
593 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
594
595         * plugins/elements/gsttypefindelement.c:
596         (gst_type_find_element_activate):
597           Use gst_type_find_helper_get_range() here, so we
598           can honour the "minimum" property and also emit
599           the signal with the correct probability of the found caps.
600
601 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
602
603         * docs/libs/gstreamer-libs-sections.txt:
604         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
605         (helper_find_suggest), (gst_type_find_helper_get_range),
606         (gst_type_find_helper):
607         * libs/gst/base/gsttypefindhelper.h:
608           New API: gst_type_find_helper_get_range() (#333042).
609
610 2006-03-02  Michael Smith  <msmith@fluendo.com>
611
612         * gst/gstregistryxml.c: (load_feature):
613           Asserting on a failure to read part of the registry is Not Cool.
614           Just log a warning and return NULL (which is already handled)
615
616 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
617
618         * win32/common/libgstbase.def:
619           added export of gst_type_find_helper_for_buffer
620         * win32/common/libgstbase.def:
621           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
622           gst_ghost_pad_get_target
623
624 2006-02-28  Wim Taymans  <wim@fluendo.com>
625
626         * docs/design/draft-klass.txt:
627         We use Filter now.
628         Added Connector to mark elements that are only used to
629         allow pipeline connections.
630         Moved Debug to extra feature since most of them are 
631         functionally something else.
632
633 2006-02-28  Wim Taymans  <wim@fluendo.com>
634
635         * docs/design/draft-klass.txt:
636         Some updates and clarifications.
637
638 2006-02-28  Wim Taymans  <wim@fluendo.com>
639
640         * docs/design/draft-klass.txt:
641         Proposal for klass field values.
642
643         * docs/design/part-streams.txt:
644         Start of a doc describing stream anatomy.
645
646 2006-02-28  Wim Taymans  <wim@fluendo.com>
647
648         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
649         Help the compiler a bit with type registration.
650         Use existing forward cod path instead of duplicating it when 
651         handling a message.
652         
653         * gst/gstbus.c: (gst_bus_get_type):
654         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
655         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
656         * gst/gstclock.c: (gst_clock_get_type):
657         * gst/gstelement.c: (gst_element_get_type),
658         * gst/gstelementfactory.c: (gst_element_factory_get_type):
659         * gst/gstindexfactory.c: (gst_index_factory_get_type):
660         * gst/gstminiobject.c: (gst_mini_object_get_type):
661         * gst/gstpad.c: (gst_pad_get_type):
662         * gst/gstsegment.c: (gst_segment_get_type):
663         * gst/gststructure.c: (gst_structure_get_type):
664         * gst/gstsystemclock.c: (gst_system_clock_get_type):
665         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
666         * gst/gstvalue.c:
667         Help compiler with type registration.
668
669         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
670         Small doc update.
671
672 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
673
674         * plugins/elements/gsttypefindelement.c:
675         (gst_type_find_element_handle_event):
676           When we get an EOS event and have not found a type yet
677           (most likely because we had not yet accumulated
678           TYPE_FIND_MIN_SIZE of data yet), try to determine the
679           type given the data we have so far. Fixes typefinding
680           for very short streams again, most notably quicktime
681           redirections as used on Apple's trailer site (#331701).
682
683 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
684
685         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
686         (gst_type_find_helper):
687           Try typefinding factories with the highest rank first.
688
689 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
690
691         * docs/libs/gstreamer-libs-docs.sgml:
692         * docs/libs/gstreamer-libs-sections.txt:
693         * libs/gst/base/gsttypefindhelper.c:
694           Add section for typefind helper and add documentation
695           for the old and the new function.
696
697 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
698
699         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
700         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
701         (gst_type_find_helper_for_buffer):
702         * libs/gst/base/gsttypefindhelper.h:
703           New API: gst_type_find_helper_for_buffer() (#332723).
704           
705 2006-02-27  Michael Smith  <msmith@fluendo.com>
706
707         Patch by: Loïc Minier
708
709         * configure.ac:
710         * docs/Makefile.am:
711         * docs/slides/Makefile.am:
712           prevent CVS directories getting disted.
713
714 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
715
716         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
717           Use the REFCOUNTING category for caps refcounting.
718           
719 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
720
721         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
722           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
723
724 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
725
726         * plugins/elements/gsttypefindelement.c:
727         (gst_type_find_element_activate):
728           Use gst_pad_check_pull_range() before _activate_pull()
729           to avoid unnecessary open/close (see #331690).
730
731 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
732
733         * gst/gstutils.c:
734           Docs enhancement: make it crystal clear what the
735           gst_pad_add_*_probe() callbacks should look like.
736
737 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
738
739         * libs/gst/base/gstbasesrc.c:
740           Document how applications can stop recording from
741           live sources (see #330996).
742
743 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
744
745         * tests/check/Makefile.am:
746         * tests/check/libs/basesrc.c: (eos_event_counter),
747         (basesrc_eos_events_pull), (basesrc_eos_events_push),
748         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
749         (gst_basesrc_suite), (main):
750           ... and add some tests for the base source EOS stuff.
751
752 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
753
754         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
755           Test case originally showed the problem fixed below,
756           but was then amended. Add checks back at the place
757           where they used to be.
758
759 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
760
761         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
762         (gst_base_src_init), (gst_base_src_loop),
763         (gst_base_src_activate_push), (gst_base_src_activate_pull),
764         (gst_base_src_change_state):
765         * libs/gst/base/gstbasesrc.h:
766           Don't unconditionally send EOS when going from PAUSED to
767           READY state, esp. make sure we don't send two EOS events
768           in some cases (e.g. one when reaching EOS and one when
769           going from PAUSED to READY). Also, we don't want to send
770           EOS events when operating in pull mode. However, we do
771           want to send an EOS event when shutting down a live
772           source explicitly, for example (fixes #330996).
773           
774 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
775
776         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
777           Update src->read_position after a seek when not using mmap.
778           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
779
780 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
781
782         * gst/Makefile.am:
783         * gst/gstparse.h:
784         * gst/gstutils.c:
785         * gst/gstutils.h:
786         Make things work with --disable-parse as they do with 
787         --disable-load-save - the symbols involved disappear, but the
788         header is still installed and GST_DISABLE_PARSE is included via
789         gstconfig.h
790
791 2006-02-20  Julien MOUTTE  <julien@moutte.net>
792
793         * libs/gst/base/gstbasetransform.c:
794         (gst_base_transform_change_state): Fix a stupid bug. I was 
795         sure I compiled that.
796
797 2006-02-20  Julien MOUTTE  <julien@moutte.net>
798
799         * gst/gstpad.c: (gst_pad_set_blocked_async):
800         * gst/gstutils.c: (gst_pad_add_data_probe),
801         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
802         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
803         (gst_pad_remove_buffer_probe): Make those function act on the
804         ghostpad target when it's a ghostpad. (Closes #331727)
805
806 2006-02-20  Julien MOUTTE  <julien@moutte.net>
807
808         * libs/gst/base/gstbasetransform.c:
809         (gst_base_transform_change_state): Make basetransform reusable.
810         (Closes #331898)
811
812 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
813
814         * docs/random/release:
815         Move the current documentation of how to do a release to the top
816         of the file.
817
818         * gst/gstbin.c: (gst_bin_class_init),
819         (gst_bin_handle_message_func):
820         Allow multiple state-recalculation threads. (Closes #328873)
821
822 2006-02-19  Julien MOUTTE  <julien@moutte.net>
823
824         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
825         * gst/gstpad.c: (gst_pad_set_event_function),
826         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
827         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
828         2 strings. You can't use the STR_NULL macro on that.
829
830 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
831
832         * gst/gstpad.c: (gst_pad_set_event_function),
833         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
834         (gst_pad_set_getcaps_function)
835         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
836           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
837           So now, we can use --gst-debug-level=5 on Windows
838         * win32/common/libgstcontroller.def:
839           Added export of gst_controller_init
840         * win32/vs6/libgstcontroller.dsp:
841           Fixed Release post build configuration
842
843 2006-02-17  Wim Taymans  <wim@fluendo.com>
844
845         * tests/check/gst/gstquery.c: (GST_START_TEST):
846         Added another check.
847
848 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
849
850         * plugins/elements/gsttypefindelement.c: (find_peek):
851           We can do peeks at non-zero offsets, as long as they
852           fall within the buffer we have.
853
854 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
855
856         * tests/check/Makefile.am:
857         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
858         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
859         (parse_suite), (main):
860           Add testsuite for parse launch syntax
861
862 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
863
864         * plugins/elements/gsttypefindelement.c:
865         (gst_type_find_element_chain):
866           When typefinding is unsuccessful in the chain function, don't
867           error out immediately. Only error out with NO_CAPS_FOUND if
868           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
869           otherwise simply wait for more data so we can try typefinding
870           again with more data later. Also, don't attempt to typefind
871           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
872           this should improve typefinding from network sources where the
873           size of the first buffer can be somewhat random.
874
875 2006-02-14  Wim Taymans  <wim@fluendo.com>
876
877         * docs/gst/gstreamer-sections.txt:
878         * gst/gstpadtemplate.c:
879         * gst/gstpadtemplate.h:
880         Fix padtemplate docs, fixes #328805.
881
882 2006-02-14  Wim Taymans  <wim@fluendo.com>
883
884         * tools/gst-launch.c: (main):
885         NO_PREROLL is not an ERROR so don't send confusing messages
886         to the user.
887
888 2006-02-14  Wim Taymans  <wim@fluendo.com>
889
890         Patch by: Torsten Schoenfeld
891
892         * gst/gstregistry.c: (gst_registry_get_default),
893         (_gst_registry_cleanup):
894         Protect default registry with lock and ref/sink it.
895         Fixes #324818
896
897 2006-02-14  Wim Taymans  <wim@fluendo.com>
898
899         * gst/gstbuffer.c:
900         * gst/gstquery.c: (gst_query_list_add_format),
901         (gst_query_set_formatsv), (gst_query_parse_formats_length),
902         (gst_query_parse_formats_nth):
903         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
904         Docs fixes.
905
906 2006-02-14  Wim Taymans  <wim@fluendo.com>
907
908         * docs/gst/gstreamer-sections.txt:
909         Reworked query docs.
910
911         * gst/gstquery.c: (gst_query_new_formats),
912         (gst_query_list_add_format), (gst_query_set_formats),
913         (gst_query_set_formatsv), (gst_query_parse_formats_length),
914         (gst_query_parse_formats_nth):
915         * gst/gstquery.h:
916         Flesh out formats query, added some new methods.
917         Fix part of #324398.
918
919         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
920         Added query creation tests.
921
922 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
923
924         * gst/gstpad.c: (fixate_value):
925         Add a default fixation for fraction lists.
926
927 2006-02-13  Wim Taymans  <wim@fluendo.com>
928
929         * gst/gsttask.c: (gst_task_init), (gst_task_func),
930         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
931         (gst_task_join):
932         * gst/gsttask.h:
933         Detect and warn for obvious deadlocks. fixes #320340
934         Fix error case where lock was not released.
935
936         * tests/check/Makefile.am:
937         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
938         (task_func), (gst_element_suite), (main):
939         Add task check.
940
941 2006-02-13  Wim Taymans  <wim@fluendo.com>
942
943         * docs/gst/gstreamer-sections.txt:
944         * gst/gstbus.c:
945         Add new functions to docs.
946
947 2006-02-13  Wim Taymans  <wim@fluendo.com>
948
949         * docs/design/part-TODO.txt:
950         Updated TODO list, basesrc supports seeking to non-bytes
951         formats.
952
953         * docs/design/part-element-sink.txt:
954         Update docs.
955
956         * gst/gstbin.c: (bin_replace_message),
957         (gst_bin_handle_message_func):
958         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
959         * gst/gstevent.c: (gst_event_finalize):
960         * gst/gstpad.c: (gst_pad_event_default_dispatch),
961         (gst_pad_send_event):
962         Use shiny new _TYPE_NAME macros.
963
964         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
965         Move debug statement up.
966
967         * gst/gstelement.c: (gst_element_set_locked_state):
968         Add some debugging.
969
970 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
971
972         * docs/gst/gstreamer-sections.txt:
973         * gst/gstmessage.h:
974         * gst/gstquery.h:
975           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
976           macros (#330906). Also, document the already existing
977           GST_QUERY_TYPE macro.
978
979 2006-02-13  Wim Taymans  <wim@fluendo.com>
980
981         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
982         (event_probe), (GST_START_TEST):
983         Only events up to the pipeline EOS are counted, there are
984         some more when going to NULL currently which we don't care
985         about for now.
986
987 2006-02-13  Wim Taymans  <wim@fluendo.com>
988
989         * gst/gstpad.c: (gst_pad_send_event):
990         Correctly check flushing and emit probes. fixes #330125
991
992 2006-02-10  Andy Wingo  <wingo@pobox.com>
993
994         * gst/gstbus.c (gst_bus_class_init): Declare our private data
995         structure.
996         (gst_bus_init): Cache the location of the private data in the
997         instance structure.
998         (gst_bus_enable_sync_message_emission) 
999         (gst_bus_disable_sync_message_emission): Implement new public
1000         functions.
1001         (gst_bus_post): Emit the sync-message signal if the user asked for
1002         it. Fixes #330684.
1003
1004         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
1005         location of the bus-private structure.
1006         (gst_bus_enable_sync_message_emission)
1007         (gst_bus_disable_sync_message_emission): API addition
1008
1009 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
1010
1011         Patch by: Vincent Torri
1012
1013         * docs/pwg/building-boiler.xml:
1014         PWG patch from #326800
1015
1016 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1017
1018         * configure.ac:
1019         * docs/Makefile.am:
1020         * docs/design/Makefile.am:
1021           Dist design docs.
1022
1023 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1024
1025         * configure.ac:
1026           back to CVS
1027
1028 === release 0.10.3 ===
1029
1030 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
1031
1032         * configure.ac:
1033           releasing 0.10.3, "Like a virgin"
1034
1035 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1036
1037         * configure.ac:
1038           2nd prerelease of 0.10.3
1039           Bump libtool versioning.
1040
1041 2006-02-07  Andy Wingo  <wingo@pobox.com>
1042
1043         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
1044         update last_stop if we're in TIME format and the timestamp is
1045         valid.
1046
1047         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
1048         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
1049         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
1050         If we get a new newsegment with a different format, adapt
1051         accordingly.
1052
1053         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
1054         of 0. Not a problem, really.
1055
1056         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
1057         warn if sync=true.
1058
1059 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
1060
1061         * configure.ac:
1062           Prelease of 0.10.3
1063
1064 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
1065
1066         * win32/vs7:
1067           project files updated to the default vs7 configuration
1068         * win32/common/libgstbase.def:
1069         * win32/common/libgstreamer.def:
1070           added new symbols,
1071           removed empty lines,
1072           sorted all exported symbols alphabetically
1073         * win32/common/dirent.c:
1074         * win32/common/dirent.h:
1075         * win32/common/gchar.h:
1076           use windows line end.
1077           
1078 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1079
1080         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1081           Send EOS event when stopping.
1082
1083 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1084
1085         * docs/README:
1086           Tell folks what to do if the plugin-foobar.xml file
1087           hasn't been generated for a newly-added plugin.
1088
1089 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1090
1091         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1092         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1093         (gst_collect_pads_start), (gst_collect_pads_stop),
1094         (gst_collect_pads_event): Collectpads now holds a reference
1095         to the GstPad that was added. Indeed we don't want to look
1096         at pads that might just go away with no warning...
1097
1098 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1099
1100         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1101         (gst_collect_pads_start), (gst_collect_pads_stop),
1102         (gst_collect_pads_event), (gst_collect_pads_chain):
1103         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
1104         Mark Nauwelaerts's patch on bug #328491.
1105
1106 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1107
1108         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
1109         (gst_utils_suite):
1110           Add some simple tests for gst_parse_bin_from_description() and
1111           gst_bin_find_unconnected_pad() (#329069).
1112
1113 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1114
1115         * tools/gst-launch.c: (event_loop), (main):
1116           Catch errors during preroll (#320084).
1117
1118 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
1119
1120         * plugins/elements/gsttypefindelement.c:
1121         (gst_type_find_element_activate):
1122           Post TYPE_NOT_FOUND error message when typefinding
1123           is unsuccessful in the activate function as well.
1124
1125 2006-02-02  Wim Taymans  <wim@fluendo.com>
1126
1127         * docs/design/part-element-sink.txt:
1128         Updated doc.
1129
1130 2006-02-02  Wim Taymans  <wim@fluendo.com>
1131
1132         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1133         (gst_base_sink_render_object),
1134         (gst_base_sink_queue_object_unlocked):
1135         Only keep track of prerollable items when we are 
1136         prerolling.
1137         Before rendering after preroll, always check if we
1138         have queued items.
1139         Added some more debugging.
1140
1141 2006-02-02  Wim Taymans  <wim@fluendo.com>
1142
1143         * gst/gstelement.c: (gst_element_continue_state),
1144         (gst_element_set_state_func), (gst_element_change_state):
1145         Fixed #326576, been running this for quite some time with
1146         no regressions at all.
1147
1148 2006-02-02  Wim Taymans  <wim@fluendo.com>
1149
1150         * common/gst.supp:
1151         Added more suppressions
1152
1153 2006-02-02  Wim Taymans  <wim@fluendo.com>
1154
1155         * docs/design/part-element-sink.txt:
1156         Updated document.
1157
1158         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1159         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
1160         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
1161         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1162         (gst_base_sink_do_sync), (gst_base_sink_render_object),
1163         (gst_base_sink_preroll_object),
1164         (gst_base_sink_queue_object_unlocked),
1165         (gst_base_sink_queue_object), (gst_base_sink_event),
1166         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
1167         (gst_base_sink_loop), (gst_base_sink_activate_pull),
1168         (gst_base_sink_get_position), (gst_base_sink_change_state):
1169         * libs/gst/base/gstbasesink.h:
1170         Totally refactored matching the design doc.
1171         Use two segments, one to clip incomming buffers and another to
1172         perform sync.
1173         Handle queueing correctly, bypass the queue when playing.
1174         Make EOS cancelable.
1175         Handle errors correctly when operating in pull based mode.
1176
1177         * tests/check/elements/fakesink.c: (GST_START_TEST),
1178         (fakesink_suite):
1179         Added new check for sinks.
1180
1181 2006-02-02  Wim Taymans  <wim@fluendo.com>
1182
1183         * gst/gstsegment.c: (gst_segment_clip):
1184         No reason to refuse to clip when start == -1
1185
1186 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
1187
1188         * docs/README:
1189         * docs/manual/intro-basics.xml:
1190         * docs/manual/intro-preface.xml:
1191         * docs/manual/manual.xml:
1192         * docs/pwg/advanced-dparams.xml:
1193         * docs/pwg/intro-basics.xml:
1194         * docs/pwg/intro-preface.xml:
1195         * docs/pwg/pwg.xml:
1196           describe dparams (controller) for plugins
1197           unify docs a little more
1198
1199 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
1200
1201         * docs/gst/gstreamer-sections.txt:
1202         * gst/gstutils.c: (element_find_unconnected_pad),
1203         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
1204         * gst/gstutils.h:
1205           Add new API: gst_parse_bin_from_description() and
1206           gst_bin_find_unconnected_pad() (#329069).
1207
1208 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
1209
1210         * docs/manual/README:
1211           uncover a nasty detail of the docs build
1212
1213 2006-01-31  Wim Taymans  <wim@fluendo.com>
1214
1215         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
1216         Don't cache duration messages if we're not going to use or
1217         free them.
1218
1219 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
1220
1221         * docs/manual/advanced-dparams.xml:
1222         * docs/pwg/advanced-dparams.xml:
1223           more dparam docs
1224         * gst/gstindex.c:
1225           fix docs
1226         * libs/gst/controller/lib.c: (gst_controller_init):
1227           init just once
1228
1229 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
1230
1231         * gst/gstelement.c: (gst_element_message_full):
1232           also show file/line/func if no additional debug was given
1233
1234 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
1235         
1236         * win32/vs7/grammar.vcproj:
1237           activate copy of autogenerated files for Release mode
1238
1239 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1240         
1241         * win32/common/libgstreamer.def:
1242           export gst_value_compare
1243
1244 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
1245
1246         * plugins/elements/Makefile.am:
1247         * plugins/elements/gstelements.c:
1248         * plugins/elements/gstfdsink.c: (_do_init),
1249         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
1250         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
1251         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
1252         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
1253         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
1254         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
1255         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
1256         * plugins/elements/gstfdsink.h:
1257         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
1258
1259 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
1260
1261         * docs/manual/advanced-dparams.xml:
1262           describe controller
1263         * docs/manual/advanced-position.xml:
1264         * docs/manual/basics-init.xml:
1265         * docs/manual/manual.xml:
1266         * docs/manual/titlepage.xml:
1267         * docs/pwg/pwg.xml:
1268         * docs/pwg/titlepage.xml:
1269           cleanup xml (more to come)
1270         * libs/gst/controller/gstcontroller.c:
1271           fix typo
1272
1273 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1274         
1275         * win32/vs6/grammar.dsp:
1276           add autogen of gstmarshal.c,h for Release mode
1277                 
1278 2006-01-30  Wim Taymans  <wim@fluendo.com>
1279
1280         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1281         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
1282         (gst_base_sink_handle_object), (gst_base_sink_event),
1283         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
1284         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1285         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
1286         (gst_base_sink_deactivate), (gst_base_sink_activate),
1287         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1288         (gst_base_sink_query), (gst_base_sink_change_state):
1289         Basesink cleanups, remove some old code.
1290         Handle the case where a subclass can preroll in the render
1291         method (mostly audiosinks).
1292         Handle more events.
1293         Remove some locks around variables that are now protected
1294         with the PREROLL_LOCK (clock_id, flushing, ..).
1295         Optimize position query some more, do correct locking.
1296         Remove old code to push queue in state change, this is not
1297         needed anymore since preroll blocks on all prerollable items 
1298         now.
1299         Almost implemented as described in design doc.
1300
1301 2006-01-30  Wim Taymans  <wim@fluendo.com>
1302
1303         * tests/check/gst/gstbin.c: (GST_START_TEST):
1304         Wait for refcount to settle down before checking.
1305
1306 2006-01-30  Wim Taymans  <wim@fluendo.com>
1307
1308         * docs/design/part-element-sink.txt:
1309         Pseudo code overview of desired sink behaviour regarding
1310         preroll.
1311
1312 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1313         * win32/vs6/grammar.dsp:
1314           fix some bugs in Release mode for autogenerated files
1315                 
1316 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1317         * win32/common/libgstbase.def:
1318         * win32/common/libgstreamer.def:
1319           export some new symbols: gst_base_src_set_format,
1320           gst_iterator_next, gst_structure_set_valist
1321
1322 2006-01-29  Julien MOUTTE  <julien@moutte.net>
1323
1324         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1325         Set pad functions unconditionally. Fixes #329105.
1326
1327 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1328         * win32/vs8:
1329           add vs8 project files created by Sergey Scobich
1330
1331 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
1332
1333         * gst/gstutils.c: (gst_element_unlink_pads):
1334         Don't leak pad references.
1335
1336         * tests/check/elements/fakesink.c: (GST_START_TEST):
1337         * tests/check/generic/sinks.c: (GST_START_TEST):
1338         * tests/check/generic/states.c: (GST_START_TEST):
1339         * tests/check/gst/gstbin.c: (GST_START_TEST):
1340         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1341         * tests/check/gst/gstelement.c: (GST_START_TEST):
1342         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1343         * tests/check/gst/gstiterator.c: (GST_START_TEST):
1344         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1345         Fix a bunch of leaks. Make generic/sinks.c
1346         use a bit less cpu by slowing the buffer rate
1347         between fakesrc and fakesink.
1348         
1349 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
1350         * gst/gstcaps.c:
1351         * gst/gstelement.c: (gst_element_send_event):
1352         * gst/gstevent.c:
1353         * gst/gstinfo.c:
1354         * gst/gstiterator.c:
1355         * gst/gstiterator.h:
1356         * gst/gstpad.c: (gst_pad_send_event):
1357         * gst/gststructure.c:
1358         * gst/gsturi.c:
1359         * gst/gstutils.c:
1360         * gst/gstvalue.c:
1361         * libs/gst/base/gstadapter.c:
1362           doc fixes, to link to function, just write gst_cool_function(), don't
1363           prefix with '#'
1364
1365 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1366
1367         * plugins/elements/gsttee.c: (gst_tee_do_push),
1368         (gst_tee_handle_buffer):
1369         Always prefer an actual return value from a src
1370         pad in place of NOT_LINKED. This means we return
1371         WRONG_STATE when all src pads are WRONG_STATE
1372         instead of NOT_LINKED.
1373
1374         Lock when replacing the last message to prevent
1375         racing with the get_property method.
1376
1377         Add debug output
1378
1379 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1380
1381         * tests/check/Makefile.am:
1382         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
1383         (main):
1384         Add a very simple check that should have caught the memleak I fixed
1385         last night (if not for the slice allocator hiding it)
1386
1387 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1388
1389         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1390         (gst_bin_remove_func), (gst_bin_handle_message_func),
1391         (bin_query_duration_fold), (bin_query_generic_fold):
1392         Clean up references to the clock provider when disposed or when
1393         handling a clock-lost message from it.
1394
1395         Unref sinks when performing a query via gst_iterator_fold, as the
1396         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
1397
1398         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
1399         (gst_clock_set_master):
1400         Drop our reference to the master clock, if any, when we are disposed.
1401
1402         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
1403         Chain up in dispose. 
1404
1405 2006-01-26  Wim Taymans  <wim@fluendo.com>
1406
1407         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1408         Add some debugging.
1409
1410 2006-01-26  Julien MOUTTE  <julien@moutte.net>
1411
1412         * plugins/elements/gsttee.c: (gst_tee_do_push),
1413         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
1414         handles pad being NOT_LINKED or in WRONG_STATE.
1415
1416 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1417
1418         * win32/MANIFEST:
1419           more updating
1420
1421 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1422
1423         * win32/MANIFEST:
1424           remove obsolete entry
1425
1426 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1427
1428         * docs/gst/gstreamer-sections.txt:
1429         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
1430         (gst_bin_iterate_sources), (gst_bin_send_event):
1431         * gst/gstbin.h:
1432         * gst/gstelement.c: (gst_element_send_event):
1433         * gst/gstevent.c:
1434         * gst/gstpad.c: (gst_pad_send_event):
1435           added code for downstream events, reviewed docs in gstevent.c
1436
1437 2006-01-25  Julien MOUTTE  <julien@moutte.net>
1438
1439         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1440         We only query position using the clock in the playing state.
1441         Query peer in the other cases.
1442         * win32/common/config.h: Updates.
1443
1444 2006-01-24  Wim Taymans  <wim@fluendo.com>
1445
1446         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1447         A clock entry that is scheduled for the exact time of the
1448         clock is still in time.
1449
1450         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1451         (gst_base_sink_do_sync):
1452         Add some more debug info.
1453
1454 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
1455
1456         * win32/vs7:
1457           Add new vs7 project files and solution.
1458
1459 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
1460
1461         * win32/vs7:
1462           all files removed as they were out-dated.
1463
1464 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1465
1466         * docs/random/release:
1467           update notes
1468         * gst/gstbin.c: (gst_bin_init):
1469         * gst/gstbus.c: (gst_bus_new):
1470         * gst/gstbus.h:
1471         * gst/gstpipeline.c: (gst_pipeline_init):
1472           use gst_bus_new(), improve logging, fix docs
1473         * win32/common/config.h:
1474           update for cvs build
1475
1476 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1477
1478         * autogen.sh:
1479           up required version of automake to 1.7
1480
1481 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
1482
1483         * win32/common/libgstreamer.def:
1484           export gst_buffer_is_metadata_writable
1485
1486 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
1487
1488         * docs/gst/gstreamer-sections.txt:
1489         * gst/gstevent.h:
1490           Add gst_event_replace() (#327001)
1491
1492 2006-01-20  Wim Taymans  <wim@fluendo.com>
1493
1494         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1495         Make it actually compile too..
1496
1497 2006-01-20  Wim Taymans  <wim@fluendo.com>
1498
1499         * gst/gstcaps.c:
1500         Clarify behaviour of _is_equal() when passing NULL parameters.
1501
1502         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1503         (gst_pad_set_caps):
1504         Cleanups. Don't unref NULL caps.
1505         When setting the same caps, protect caps of the pad with
1506         proper lock.
1507         Use full functionality of _is_equal() when comparing caps.
1508
1509 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1510
1511         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1512         Don't loop infinitely if there are no buffers to present. Partially
1513         fixes #327197, but collectpads is just broken for reusing elements
1514         to do multiple encodes atm.
1515
1516 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1517
1518         * tools/gst-inspect.c: (print_element_features):
1519         * tools/gst-xmlinspect.c: (main):
1520         URL_HANDLER is not a plugin feature we can search for in
1521         the registry.
1522
1523 2006-01-19  Edward Hervey  <edward@fluendo.com>
1524
1525         * gst/gstelement.c: (gst_element_pads_activate): 
1526         When activating, do src pads first, then sink pads.
1527         When de-activating, do sink pads first, then src pads.
1528
1529 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1530
1531         * docs/gst/gstreamer-sections.txt:
1532         Add gst_index_add_associationv to the docs
1533
1534 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1535
1536         * gst/gstevent.c:
1537           Fix docs typo
1538
1539         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
1540         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
1541           Do some refactoring. Doesn't actually change functionality,
1542           but makes landing the DRAIN event easier later.
1543
1544 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
1545
1546         * docs/pwg/advanced-scheduling.xml:
1547           Update from 0.9.x to 0.10 API and make example a bit
1548           clearer.
1549
1550 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1551
1552         * docs/gst/gstreamer-sections.txt:
1553         Add gst_buffer_(is|make)_metadata_writable methods.
1554
1555 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1556
1557         * docs/design/part-sparsestreams.txt:
1558         Update sparse streams doc, hopefully for greater clarity
1559
1560 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
1561
1562         * docs/design/part-events.txt:
1563         Remove mention of FILLER events.
1564         Add DRAIN event.
1565
1566         * docs/design/part-sparsestreams.txt:
1567         Write some things about using NEWSEGMENT to keep sparse streams
1568         flowing.
1569
1570 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
1571
1572         * gst/gstbin.c: (gst_bin_dispose):
1573           Guard gst_object_unref call against a NULL object (dispose
1574           can theoretically be called multiple times).
1575           
1576 2006-01-18  Wim Taymans  <wim@fluendo.com>
1577
1578         * gst/gstbin.c: (gst_bin_element_set_state):
1579         * gst/gstclock.c: (gst_clock_id_wait):
1580         Added some more debug info.
1581
1582         * libs/gst/base/gstadapter.c:
1583         Added more docs.
1584
1585         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1586         (gst_base_sink_do_sync), (gst_base_sink_chain):
1587         Added some comments.
1588
1589 2006-01-18  Wim Taymans  <wim@fluendo.com>
1590
1591         * tests/check/Makefile.am:
1592         * tests/check/elements/fakesink.c: (chain_async_buffer),
1593         (chain_async), (chain_async_return), (GST_START_TEST),
1594         (fakesink_suite), (main):
1595         Added fakesink test that checks prerolling and clipping
1596         behaviour.
1597
1598         * tests/check/gst/gstutils.c: (GST_START_TEST):
1599         Make check run faster so that buildbots don't timeout.
1600
1601 2006-01-18  Wim Taymans  <wim@fluendo.com>
1602
1603         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1604         (gst_base_sink_do_sync):
1605         Some cleanups.
1606         When the sink finishes blocking on the preroll buffer, it can
1607         immediatly render it instead of rendering when the next buffer
1608         arrives.
1609
1610 2006-01-18  Wim Taymans  <wim@fluendo.com>
1611
1612         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
1613         (gst_base_sink_get_property), (gst_base_sink_do_sync),
1614         (gst_base_sink_chain):
1615         Small cleanups.
1616         GST_ELEMENT_CLOCK and sync are protected with LOCK.
1617         Don't store _last_stop if the buffer is dropped.
1618
1619 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
1620
1621         * plugins/elements/gsttypefindelement.c:
1622         (gst_type_find_element_class_init):
1623           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
1624           object method handler that sets the caps on the pad and we want
1625           that to happen before we emit the signal (fixes e.g. feeding a
1626           plain text file to decodebin).
1627
1628 2006-01-18  Christian Schaller  <Christian@fluendo.com>
1629
1630         * gst/gstplugin.c: Add MPL and Proprietary as license options
1631
1632 2006-01-18  Andy Wingo  <wingo@pobox.com>
1633
1634         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
1635         symbol was exported before, it appears this was just an oversight.
1636         Fixes #168703.
1637         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
1638
1639         * gst/gstindex.c (gst_index_add_associationv): Changed int in
1640         prototype to gint. OK since this prototype was not in the header.
1641
1642 2006-01-17  Andy Wingo  <wingo@pobox.com>
1643
1644         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
1645         registry while we remove plugins.
1646
1647         * tools/gst-inspect.c (print_element_info): Don't unref the
1648         factory arg, that should be the responsibility of whatever code
1649         received the ref. Fixes a double-free when called from
1650         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
1651         (main): Unref the factory if we have one.
1652         (print_element_list): No change -- relies on the
1653         plugin_feature_list_free to free the list of features.
1654
1655 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
1656
1657         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1658         (gst_buffer_make_metadata_writable):
1659         * gst/gstbuffer.h:
1660         * libs/gst/base/gstbasetransform.c:
1661         (gst_base_transform_prepare_output_buf):
1662         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1663         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1664           Replace gst_buffer_(make|is)_metadata_writable patch now
1665           that the release is out.
1666
1667 2006-01-17  Andy Wingo  <wingo@pobox.com>
1668
1669         * gst/gstregistry.c: Reflow design comment. Update so as to speak
1670         in the present tense without reference to versions.
1671
1672         * gst/gstregistry.c (gst_registry_add_plugin)
1673         (gst_registry_remove_plugin, gst_registry_remove_feature)
1674         (gst_registry_find_feature, gst_registry_get_feature_list)
1675         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
1676         (gst_registry_lookup, gst_registry_scan_path)
1677         (_gst_registry_remove_cache_plugins)
1678         (gst_registry_get_feature_list_by_plugin): Add argument
1679         validation.
1680
1681 === release 0.10.2 ===
1682
1683 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
1684
1685         * configure.ac:
1686           releasing 0.10.2, "If man is five"
1687
1688 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1689
1690         * gst/gstbuffer.c:
1691         * gst/gstbuffer.h:
1692         * libs/gst/base/gstbasetransform.c:
1693         (gst_base_transform_prepare_output_buf):
1694         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1695         * tests/check/gst/gstbuffer.c: (gst_test_suite):
1696           Back out patch until after the release.
1697
1698 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1699
1700         * gst/gstminiobject.c:
1701           Spelling fix in docs.
1702         * ChangeLog - remove conflict indicator
1703
1704 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1705
1706         Reviewed By: Andy Wingo
1707
1708         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1709         (gst_buffer_make_metadata_writable):
1710         * gst/gstbuffer.h:
1711           Add gst_buffer_(is|make)_metadata_writable as analogues of
1712           gst_buffer_(is|make)_writable.
1713
1714         * libs/gst/base/gstbasetransform.c:
1715         (gst_base_transform_prepare_output_buf):
1716         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1717           Use name gst_buffer_(is|make)_metadata_writable functions.
1718
1719         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1720           Test gst_buffer_(is|make)_metadata_writable
1721         
1722           (Closes: #324162)
1723
1724 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1725
1726         * docs/manual/Makefile.am:
1727           don't do parallel make
1728         * configure.ac:
1729           AC_SUBST HOST_CPU
1730         * win32/common/config.h.in:
1731           add generations for HOST_CPU and GST_MAJORMINOR
1732         * win32/common/config.h:
1733           commit generated result
1734
1735 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
1736
1737         * docs/manual/appendix-integration.xml:
1738           Update GNOME integration section to use gst_init_get_option_group()
1739           instead of the old popt stuff (#322911). Also, GNOME applications
1740           should  now use gconf*sink and gconf*src instead of the old gconf
1741           helper lib we had.
1742
1743 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
1744
1745
1746         * docs/gst/gstreamer-docs.sgml:
1747         * docs/gst/gstreamer-sections.txt:
1748         * docs/libs/gstreamer-libs-sections.txt:
1749           add new API entries to the docs
1750         * libs/gst/controller/Makefile.am:
1751         * libs/gst/controller/gstcontroller.c:
1752         * libs/gst/controller/gstcontroller.h:
1753         * libs/gst/controller/gstcontrollerprivate.h:
1754         * libs/gst/controller/gsthelper.c:
1755         * libs/gst/controller/gstinterpolation.c:
1756           move private structs to private header
1757         * po/README:
1758           gstreamer-0.7 -> gstreamer-0.10
1759         * tests/check/libs/struct_i386.h:
1760           remove private structs
1761
1762 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1763
1764         * plugins/indexers/Makefile.am:
1765           Fixes as part of #317048
1766
1767 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1768
1769         * plugins/indexers/Makefile.am:
1770           fix #316086 - compilation when mmap is missing
1771
1772 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
1773
1774         * libs/gst/base/gstbasesink.c:
1775           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
1776           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
1777         * win32/common/config.h:
1778           added some defines GST_MAJORMINOR and HOST_CPU
1779         * win32/common/libgstbase.def:
1780         * win32/common/libgstreamer.def:
1781           added some exported functions.
1782
1783 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1784
1785         * libs/gst/controller/gstcontroller.c:
1786         (gst_controlled_property_set_interpolation_mode),
1787         (gst_controlled_property_new):
1788         * libs/gst/controller/gstcontroller.h:
1789         * libs/gst/controller/gstinterpolation.c:
1790         (interpolate_none_get_string_value_array):
1791           make G_TYPE_STRING controlable
1792
1793 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1794
1795         * tools/README:
1796         * tools/gst-feedback.1.in:
1797         * tools/gst-inspect.1.in:
1798         * tools/gst-launch.1.in:
1799         * tools/gst-md5sum.1.in:
1800         * tools/gst-typefind.1.in:
1801         * tools/gst-xmlinspect.1.in:
1802         * tools/gst-xmllaunch.1.in:
1803           cleanup man-pages, remove reference to gst-register, document env-vars
1804
1805 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
1806
1807         * gst/gstbuffer.c: (gst_buffer_span):
1808           gst_buffer_span should copy the timestamp of the first buffer
1809           if they were both originally overlapping subbuffers of the 
1810           same parent, using the same logic as the 'slow copy' case.
1811
1812 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
1813
1814         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
1815           Need to awaken ALL the pads when we pop a buffer, otherwise
1816           collectpads only works when there is 2 input streams.
1817
1818 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
1819
1820         * docs/random/ensonic/media-device-daemon.txt:
1821           more ideas (dbus)
1822         * gst/gstbuffer.c:
1823           fix doc example, add clarification
1824         * tools/gst-launch.1.in:
1825           add initial info about GST_PLUGIN_PATH, needs more work
1826
1827 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1828
1829         * docs/manual/basics-bins.xml:
1830         * docs/manual/basics-elements.xml:
1831         * docs/manual/intro-basics.xml:
1832           Some more minor docs additions and updates.
1833
1834 2006-01-11  Wim Taymans  <wim@fluendo.com>
1835
1836         * docs/manual/basics-bins.xml:
1837         * docs/manual/basics-elements.xml:
1838         Some small fixes as pointed out by Ser-ver on IRC.
1839
1840 2006-01-10  Edward Hervey  <edward@fluendo.com>
1841
1842         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1843         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1844         the single-segment mode.
1845
1846 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
1847
1848         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1849
1850         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1851         (gst_base_src_perform_seek), (gst_base_src_send_event),
1852         (gst_base_src_set_property), (gst_base_src_get_property),
1853         (gst_base_src_loop), (gst_base_src_start),
1854         (gst_base_src_activate_push):
1855         * libs/gst/base/gstbasesrc.h:
1856           Name (private) union; makes Sun's Forte compiler happy (#324900).
1857
1858 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1859
1860         * README:
1861           gst-register is gone.
1862
1863 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1864
1865         * gst/gstvalue.c: (_gst_value_initialize):
1866           make the G_TYPE_DATE instantiation work if debug is disabled
1867
1868 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
1869
1870         * gst/gstmessage.c: (gst_message_parse_tag),
1871         (gst_message_parse_error), (gst_message_parse_warning):
1872           Don't crash when return location for error/warning debug
1873           string is NULL; add fact that return locations can be
1874           NULL to docs where appropriate.
1875
1876 2006-01-05  Wim Taymans  <wim@fluendo.com>
1877
1878         * gst/gstplugin.c: (gst_plugin_load_file):
1879         Replace strdup by g_strdup.
1880
1881 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1882
1883         * docs/pwg/advanced-types.xml:
1884           fix doc borkage
1885
1886 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1887
1888         submitted by: Abel Cheung
1889
1890         * po/LINGUAS:
1891         * po/zh_TW.po:
1892           Added Chinese (traditional) translation
1893
1894 2006-01-04  Wim Taymans  <wim@fluendo.com>
1895
1896         * docs/manual/basics-pads.xml:
1897         * docs/plugins/Makefile.am:
1898         * docs/plugins/gstreamer-plugins-docs.sgml:
1899         * docs/plugins/gstreamer-plugins-sections.txt:
1900         * docs/pwg/advanced-clock.xml:
1901         * docs/pwg/advanced-scheduling.xml:
1902         * docs/pwg/advanced-types.xml:
1903         * plugins/elements/gstfdsink.c:
1904         * plugins/elements/gstfdsrc.c:
1905         * plugins/elements/gstfdsrc.h:
1906         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1907         * plugins/elements/gstidentity.h:
1908         * plugins/elements/gstqueue.h:
1909         * plugins/elements/gsttee.c:
1910         * plugins/elements/gsttee.h:
1911         * plugins/elements/gsttypefindelement.c:
1912         (gst_type_find_element_class_init):
1913         * plugins/elements/gsttypefindelement.h:
1914         Small updates to various docs.
1915         Added core plugins to docs.
1916
1917 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1918
1919         * common/gst.supp:
1920           add a suppression for liboil's uninitialized variable
1921
1922 2006-01-02  James Livingston  <jrl at ids dot org dot au>
1923
1924         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1925
1926         * gst/gstutils.h:
1927           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1928           macro, so that gcc doesn't complain if the -Wmissing-prototypes
1929           compiler switch is being used (#325429).
1930
1931 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
1932
1933         * gst/gstbin.c: (gst_bin_query):
1934           Disable duration query caching in bins until it gets
1935           fixed (see #324807).
1936
1937 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1938
1939         * tools/gst-inspect.c: (print_element_properties_info):
1940           Handle properties of POINTER and BOXED type.
1941
1942 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1943
1944         * gst/gst.c: (init_post):
1945           Init tags stuff and some other things before loading
1946           any static plugins (there may be other static plugins
1947           than just the GStreamer ones, and they may want to
1948           register their own tags or formats or whatever, and
1949           preferably without segfaulting).
1950
1951         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1952           Print at least a warning in the debug logs if we drop a
1953           query just because we don't know how to adjust the value
1954           in the particular format.
1955
1956 2005-12-24  David Schleef  <ds@schleef.org>
1957
1958         * tools/gstreamer-completion:
1959           Replacement for gst-complete written in sh and sed.  Only
1960           completes names of features, but that's 90% of what I want
1961           it for.  Properties are not available in registry.xml.  (Maybe
1962           they should be...)
1963
1964 === release 0.10.1 ===
1965
1966 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
1967
1968         * configure.ac:
1969           releasing 0.10.1, "Nollaig chridheil"
1970
1971 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
1972
1973         * docs/faq/cvs.xml:
1974           Add missing quote, should be make ERROR_CFLAGS="".
1975
1976 2005-12-20  Wim Taymans  <wim@fluendo.com>
1977
1978         * docs/design/part-trickmodes.txt:
1979         More documentation on trickmodes.
1980
1981 2005-12-20  Edward Hervey  <edward@fluendo.com>
1982
1983         * gst/gstcaps.c: (gst_static_caps_get_type):
1984         * gst/gstcaps.h:
1985           API addition: GST_TYPE_STATIC_CAPS
1986         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1987         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1988         * gst/gstpadtemplate.h:
1989           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1990         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1991         bindings.
1992
1993 2005-12-18  Wim Taymans  <wim@fluendo.com>
1994
1995         * libs/gst/base/gstadapter.c:
1996         * libs/gst/base/gstadapter.h:
1997         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1998         (gst_base_sink_get_position):
1999         * libs/gst/base/gstbasesink.h:
2000         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2001         (gst_base_src_default_query), (gst_base_src_default_do_seek),
2002         (gst_base_src_do_seek), (gst_base_src_perform_seek),
2003         (gst_base_src_send_event), (gst_base_src_update_length),
2004         (gst_base_src_get_range), (gst_base_src_loop),
2005         (gst_base_src_start):
2006         * libs/gst/base/gstbasesrc.h:
2007         * libs/gst/base/gstbasetransform.h:
2008         * libs/gst/base/gstcollectpads.h:
2009         * libs/gst/base/gstpushsrc.c:
2010         * libs/gst/base/gstpushsrc.h:
2011         * libs/gst/dataprotocol/dataprotocol.c:
2012         * libs/gst/dataprotocol/dataprotocol.h:
2013         * libs/gst/net/gstnetclientclock.h:
2014         * libs/gst/net/gstnettimeprovider.h:
2015         Documentation updates.
2016
2017 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2018
2019         * docs/manual/basics-helloworld.xml:
2020           Remove superfluous closing bracket in helloworld example.
2021
2022 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2023
2024         * tools/gst-launch.1.in:
2025           Update gst-launch man page; add a section with useful
2026           environment variables. Fixes #323882.
2027
2028 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
2029
2030         * gst/gst.c:
2031         * gst/gst_private.h:
2032           change some char* into char[]
2033
2034 2005-12-16  Wim Taymans  <wim@fluendo.com>
2035
2036         * gst/gstregistryxml.c: (load_feature):
2037         Cleanups.
2038         Don't use g_object_unref on GstObjects so that we avoid
2039         leaks on unsafe glibs.
2040
2041 2005-12-16  Wim Taymans  <wim@fluendo.com>
2042
2043         * gst/gstbin.c: (gst_bin_recalc_state):
2044         Small doc updates.
2045
2046 2005-12-16  Wim Taymans  <wim@fluendo.com>
2047
2048         * common/check.mak:
2049         Added make forever target for check.
2050
2051 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2052
2053         * gst/gst.c: (init_post):
2054           make the registry cache file HOST_CPU-dependent
2055
2056 2005-12-16  Andy Wingo  <wingo@pobox.com>
2057
2058         * plugins/elements/gstbufferstore.c
2059         (gst_buffer_store_cleared_func): Pay attention to g_list_append
2060         return value.
2061
2062         * tests/check/gst/gstobject.c
2063         (test_fake_object_name_threaded_unique): Pay attention to
2064         g_list_sort return value.
2065
2066 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2067
2068         * tools/gst-feedback-m.m:
2069           Update for 0.9/0.10 (fixes #323870).
2070
2071 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
2072
2073         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
2074           Fix lcopy for mini objects, the mini object needs to be ref'ed.
2075           
2076         * tests/check/gst/gstminiobject.c: (my_foo_init),
2077         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
2078         (test_value_collection), (gst_mini_object_suite):
2079           Add test to ensure refcounts end up as expected when passing
2080           GstMiniObjects through g_object_get() and g_object_set().
2081
2082 2005-12-14  Julien MOUTTE  <julien@moutte.net>
2083
2084         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2085         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
2086         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
2087         of collectpads. This version removes a lot of races without
2088         touching API/ABI. Yay !
2089
2090 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
2091
2092         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
2093           Don't allow activation of a srcpad in pull_range if it has no
2094           getrange function.
2095           Change some debug statements to be a little clearer
2096
2097         * plugins/elements/gsttypefindelement.c:
2098         (gst_type_find_handle_src_query):
2099           Check that we have a peer before executing queries thereupon.
2100
2101         * tests/examples/metadata/read-metadata.c: (message_loop):
2102           Use gst_bus_pop instead of gst_bus_poll when we just want it to
2103           immediately return us any available message with 0 timeout.
2104
2105 2005-12-12  Michael Smith  <msmith@fluendo.com>
2106
2107         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2108           Don't unref factories after calling them.
2109         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
2110         * plugins/elements/gsttypefindelement.c:
2111         (gst_type_find_element_chain):
2112           Free lists of factories after using them. Fixing typefinding memory
2113           leaks.
2114
2115 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2116
2117         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2118         (gst_plugin_feature_load):
2119           more meaningful debug output
2120         * configure.ac:
2121         * tests/Makefile.am:
2122         * tests/old/examples/Makefile.am:
2123           make make distcheck happy again
2124
2125 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2126
2127         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2128           Catch the special case where we are operating chain-based,
2129           but the downstream peer pad has no chain function. Emit a
2130           custom error message in this case instead of letting the
2131           core generate one implying that this is some sort of core
2132           bug. It's not, it just means that whatever got plugged
2133           into the pipeline downstream when we announced the type
2134           can only operate pull-based, while our source can only
2135           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
2136           Error string has not been marked for translation yet, as
2137           it probably needs some more work first.
2138
2139         (gst_type_find_element_get_best_possibility):
2140           Add helper function to find the best of all available
2141           found possibilities that qualify given the min. threshold.
2142
2143         (gst_type_find_element_handle_event):
2144           Fix the case where we get an EOS while still in TYPEFIND
2145           mode (we want to chose the best of all possible types,
2146           not just the first type that happens to be in our unsorted
2147           list of possible types).
2148
2149         (gst_type_find_element_chain):
2150           Make sure we return GST_FLOW_ERROR when we errored out
2151           in stop_typefinding(); also, don't just find the best of
2152           all found type entries and then use the last examined
2153           type entry, but actually use the best entry.
2154
2155 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2156
2157         * tests/examples/typefind/typefind.c: (type_found):
2158         * tests/examples/xml/runxml.c: (xml_loaded):
2159           More gcc4 fixes and a mem leak fix.
2160
2161 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2162
2163         * tests/examples/xml/createxml.c: (object_saved):
2164           gcc 4 fixes
2165
2166 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2167
2168         * tests/Makefile.am:
2169           enable the examples even more
2170
2171 2005-12-12  Andy Wingo  <wingo@pobox.com>
2172
2173         * libs/gst/net/gstnettimeprovider.c
2174         (gst_net_time_provider_class_init, gst_net_time_provider_init)
2175         (gst_net_time_provider_set_property)
2176         (gst_net_time_provider_get_property):
2177         API addition: Export "active" as a GObject property.
2178         (gst_net_time_provider_thread): Only respond to time queries if
2179         the time provider is active.
2180
2181         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
2182         NetTimeProvider, preserving binary compat.
2183
2184 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2185
2186         * tests/examples/controller/audio-example.c: (main):
2187         * tests/examples/launch/Makefile.am:
2188           convert comments again
2189
2190 2005-12-12  Wim Taymans  <wim@fluendo.com>
2191
2192         * libs/gst/base/gstpushsrc.c:
2193         Fix typo.
2194
2195 2005-12-12  Wim Taymans  <wim@fluendo.com>
2196
2197         * docs/libs/gstreamer-libs-sections.txt:
2198         Added new symbol to docs.
2199
2200         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2201         (gst_base_src_init), (gst_base_src_set_format),
2202         (gst_base_src_default_query), (gst_base_src_query),
2203         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
2204         (gst_base_src_perform_seek), (gst_base_src_send_event),
2205         (gst_base_src_default_event), (gst_base_src_event_handler),
2206         (gst_base_src_set_property), (gst_base_src_get_property),
2207         (gst_base_src_wait), (gst_base_src_do_sync),
2208         (gst_base_src_update_length), (gst_base_src_get_range),
2209         (gst_base_src_check_get_range), (gst_base_src_loop),
2210         (gst_base_src_default_negotiate), (gst_base_src_start),
2211         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2212         (gst_base_src_change_state):
2213         * libs/gst/base/gstbasesrc.h:
2214         Implement seeking to other formats than _BYTES.
2215         Implement more seeking methods correctly.
2216         Doc updates.
2217         Added query vmethod.
2218         Added do_seek vmethod to make life easier for subclasses
2219         when seeking.
2220         API addition: gst_base_src_set_format()
2221
2222 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2223
2224         * tests/examples/Makefile.am:
2225           added that too
2226
2227 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2228
2229         * configure.ac:
2230         * docs/random/ensonic/media-device-daemon.txt:
2231         * tests/examples/controller/.cvsignore:
2232         * tests/examples/controller/Makefile.am:
2233         * tests/examples/controller/audio-example.c: (main):
2234         * tests/examples/helloworld/.cvsignore:
2235         * tests/examples/helloworld/Makefile.am:
2236         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
2237         * tests/examples/launch/.cvsignore:
2238         * tests/examples/launch/Makefile.am:
2239         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
2240         * tests/examples/metadata/.cvsignore:
2241         * tests/examples/metadata/Makefile.am:
2242         * tests/examples/metadata/read-metadata.c: (message_loop),
2243         (make_pipeline), (print_tag), (main):
2244         * tests/examples/queue/.cvsignore:
2245         * tests/examples/queue/Makefile.am:
2246         * tests/examples/queue/queue.c: (event_loop), (main):
2247         * tests/examples/typefind/.cvsignore:
2248         * tests/examples/typefind/Makefile.am:
2249         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
2250         (main):
2251         * tests/examples/xml/.cvsignore:
2252         * tests/examples/xml/Makefile.am:
2253         * tests/examples/xml/createxml.c: (object_saved), (main):
2254         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
2255         * tests/old/examples/Makefile.am:
2256         * tests/old/examples/TODO:
2257         * tests/old/examples/controller/.cvsignore:
2258         * tests/old/examples/controller/Makefile.am:
2259         * tests/old/examples/controller/audio-example.c:
2260         * tests/old/examples/helloworld/.cvsignore:
2261         * tests/old/examples/helloworld/Makefile.am:
2262         * tests/old/examples/helloworld/helloworld.c:
2263         * tests/old/examples/launch/.cvsignore:
2264         * tests/old/examples/launch/Makefile.am:
2265         * tests/old/examples/launch/mp3parselaunch.c:
2266         * tests/old/examples/launch/mp3play:
2267         * tests/old/examples/manual/Makefile.am:
2268         * tests/old/examples/metadata/Makefile.am:
2269         * tests/old/examples/metadata/read-metadata.c:
2270         * tests/old/examples/queue/.cvsignore:
2271         * tests/old/examples/queue/Makefile.am:
2272         * tests/old/examples/queue/queue.c:
2273         * tests/old/examples/typefind/.cvsignore:
2274         * tests/old/examples/typefind/Makefile.am:
2275         * tests/old/examples/typefind/typefind.c:
2276         * tests/old/examples/xml/.cvsignore:
2277         * tests/old/examples/xml/Makefile.am:
2278         * tests/old/examples/xml/createxml.c:
2279         * tests/old/examples/xml/runxml.c:
2280           applied some simple fixing to some examples
2281           re-enabled the working examples
2282
2283 2005-12-12  Wim Taymans  <wim@fluendo.com>
2284
2285         * gst/gstsegment.c: (gst_segment_init),
2286         (gst_segment_set_last_stop), (gst_segment_set_seek),
2287         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2288         (gst_segment_to_running_time):
2289         Added more documentation.
2290         Make sure the last_pos value is updated properly.
2291         Make sure to_stream_time and to_running_time don't
2292         operate on wrong values.
2293
2294         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2295         Update check.
2296
2297 2005-12-12  Michael Smith  <msmith@fluendo.com>
2298
2299         * plugins/elements/gsttypefindelement.c: (free_entry),
2300         (gst_type_find_element_chain):
2301           Now that we're not leaking factories, make sure we keep references
2302           to them while we need them.
2303
2304 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2305
2306         * tests/check/gst/struct_i386.h:
2307           ifdef out the XML structs
2308
2309 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2310
2311         * gst/gstvalue.c: (gst_value_transform_double_fraction):
2312           floor is not needed, F is always positive; this obviates the
2313           need for adding -lm when building without libxml
2314
2315 2005-12-12  Wim Taymans  <wim@fluendo.com>
2316
2317         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2318         Take current playback rate into account when reporting
2319         the position.
2320
2321 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2322
2323         * docs/manual/mime-world.fig:
2324           Let's try this again, this time with a file that is
2325           actually in XFig format.
2326
2327 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2328
2329         * docs/manual/mime-world.fig:
2330           Add audioconvert element to diagram so that it
2331           matches the text and the code (fixes #319526).
2332
2333 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2334
2335         * docs/pwg/building-chainfn.xml:
2336         * docs/pwg/building-pads.xml:
2337         * docs/pwg/building-state.xml:
2338         * docs/pwg/other-source.xml:
2339           Update state change stuff for 0.10 (fixes #322969).
2340
2341 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2342
2343         * docs/manual/advanced-dataaccess.xml:
2344         * docs/manual/appendix-checklist.xml:
2345         * docs/manual/appendix-programs.xml:
2346         * docs/manual/basics-pads.xml:
2347         * docs/manual/highlevel-components.xml:
2348         * docs/manual/manual.xml:
2349           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
2350           add converters in front of pipelines; remove curly
2351           brackets for threads stuff, they no longer exist; use
2352           GST_TYPE_FRACTION for framerates; update some pieces of
2353           code to 0.10, but there's plenty more to do.
2354
2355         * docs/manual/appendix-porting.xml:
2356           Expand on asynchroneous state changes; s/0.9/0.10/;
2357           mention disappearance of gst_init_get_popt_table()
2358           (fixes #322916).
2359
2360 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2361
2362         * docs/faq/using.xml:
2363           Spider no longer exists, and neither does gst-launch-ext.
2364           Update examples to use decodebin and playbin and put
2365           converters in front of sinks (fixes #323726).
2366
2367 2005-12-09  Michael Smith  <msmith@fluendo.com>
2368
2369         * plugins/elements/gsttypefindelement.c: (find_peek),
2370         (gst_type_find_element_chain):
2371           Fix leaking element factories in typefinding.
2372           Fix problem where we forgot about a probable type on non-seekable
2373           files, and thus later mis-typefound it.
2374
2375 2005-12-09  Michael Smith  <msmith@fluendo.com>
2376
2377         * common/m4/gst-makecontext.m4:
2378         * common/m4/gst-mcsc.m4:
2379         * configure.ac:
2380         * win32/common/config.h:
2381         * win32/common/config.h.in:
2382           Remove makecontext stuff; not used in 0.10 and causes problems on
2383           HPUX according to bug #322441
2384
2385 2005-12-07  Wim Taymans  <wim@fluendo.com>
2386
2387         * tests/check/Makefile.am:
2388         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
2389         (main):
2390         * tests/check/libs/struct_i386.h:
2391         Added ABI check for libs
2392
2393 2005-12-07  Wim Taymans  <wim@fluendo.com>
2394
2395         * tests/check/Makefile.am:
2396         And add the struct_i386.h to dist.
2397
2398 2005-12-07  Wim Taymans  <wim@fluendo.com>
2399
2400         * tests/check/Makefile.am:
2401         * tests/check/gst/.cvsignore:
2402         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
2403         (main):
2404         * tests/check/gst/struct_i386.h:
2405         Added check for ABI compatibility.
2406
2407 2005-12-07  Wim Taymans  <wim@fluendo.com>
2408
2409         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2410         (gst_fake_src_get_times), (gst_fake_src_create):
2411         Fix broken sync option, fixes #323259
2412
2413 2005-12-07  Wim Taymans  <wim@fluendo.com>
2414
2415         * gst/gstbuffer.c:
2416         Small docs update.
2417
2418         * gst/gstcaps.c: (gst_caps_is_equal):
2419         Don't assert on NULL <--> X. Fixes #323260
2420
2421         * gst/gstminiobject.c: (gst_mini_object_replace):
2422         If we're doing atomic operations, we might just as well use
2423         the proper way to get an atomic pointer.
2424
2425         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2426         Clean up debugging.
2427
2428 2005-12-07  Michael Smith  <msmith@fluendo.com>
2429
2430         * gst/parse/grammar.y:
2431           Remove handling of { } for threads.
2432
2433 2005-12-06  David Schleef  <ds@schleef.org>
2434
2435         * libs/gst/base/gstbasetransform.c: speling fix.
2436
2437 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2438
2439         * docs/libs/tmpl/gstdataprotocol.sgml:
2440         * docs/random/omega/testing/gstobject.c:
2441         * gst/gst.c:
2442         * gst/gstclock.c:
2443         * gst/gstelement.c:
2444         * gst/gstelementfactory.c:
2445         * gst/gsterror.c:
2446         * gst/gstevent.c:
2447         * gst/gstghostpad.c:
2448         * gst/gstinfo.c:
2449         * gst/gstpadtemplate.c:
2450         * gst/gstregistryxml.c:
2451         * gst/gsttaglist.c:
2452         * gst/gsttagsetter.c:
2453         * gst/gsttypefind.c:
2454         * gst/gstvalue.c:
2455         * libs/gst/base/gstbasesrc.c:
2456         * libs/gst/net/gstnetclientclock.c:
2457         * libs/gst/net/gstnettimeprovider.c:
2458         * plugins/elements/gstfakesrc.c:
2459         * plugins/elements/gstfdsrc.c:
2460         * plugins/elements/gstfilesrc.c:
2461         * plugins/elements/gstidentity.c:
2462         * plugins/elements/gstqueue.c:
2463         * plugins/elements/gsttypefindelement.c:
2464         * plugins/indexers/gstfileindex.c:
2465         * plugins/indexers/gstmemindex.c:
2466         * tests/check/gst/gsttag.c:
2467         * tests/old/examples/cutter/cutter.c:
2468         * tests/old/examples/mixer/mixer.c:
2469         * tests/old/examples/xml/runxml.c: (main):
2470         * tests/old/testsuite/caps/normalisation.c:
2471         * tests/old/testsuite/debug/global.c:
2472         * tests/old/testsuite/parse/parse1.c:
2473         * tools/gst-xmlinspect.c:
2474         * win32/common/dirent.c:
2475           expand tabs
2476
2477 === release 0.10.0 ===
2478
2479 2005-12-05   <thomas (at) apestaart (dot) org>
2480
2481         * configure.ac:
2482           releasing 0.10.0, "Maroilles"
2483
2484 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2485
2486         submitted by: Funda Wang <fundawang@linux.net.cn>
2487
2488         * po/LINGUAS:
2489         * po/zh_CN.po:
2490           added Chinese (Traditional) translation
2491
2492 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2493
2494         * docs/gst/gstreamer-sections.txt:
2495         * docs/libs/tmpl/gstdataprotocol.sgml:
2496         * docs/random/thomasvs/TODO:
2497         * gst/gstutils.c:
2498         * gst/gstutils.h:
2499           fix docs
2500
2501 2005-12-05  Andy Wingo  <wingo@pobox.com>
2502
2503         patch by: Wim Taymans <wim@fluendo.com>
2504
2505         * libs/gst/base/gstbasetransform.c
2506         (gst_base_transform_prepare_output_buf)
2507         (gst_base_transform_buffer_alloc):
2508         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
2509         alloc_buffer_and_set_caps.
2510
2511         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
2512         set_caps on the source pad.
2513         (gst_pad_alloc_buffer_and_set_caps): New function, does what
2514         alloc_buffer used to do. Fixes #322874.
2515
2516         * docs/gst/gstreamer-sections.txt: 
2517         * docs/design/part-negotiation.txt: 
2518         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
2519         changes.
2520
2521 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2522
2523         patch by: Sebastien Moutte
2524
2525         * win32/MANIFEST:
2526         * win32/common/config.h.in:
2527         * win32/vs6/libgstcontroller.dsp:
2528           win32 build fixes
2529
2530 2005-12-05  Wim Taymans  <wim@fluendo.com>
2531
2532         * gst/gstcaps.c: (gst_caps_is_equal):
2533         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2534         (gst_fake_src_create):
2535         Back out previous code changes, leave doc updates, file bugs 
2536         instead. 
2537
2538 2005-12-05  Wim Taymans  <wim@fluendo.com>
2539
2540         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2541         (gst_fake_src_get_times), (gst_fake_src_create):
2542         * plugins/elements/gstfakesrc.h:
2543         Fix broken sync code.
2544
2545 2005-12-05  Wim Taymans  <wim@fluendo.com>
2546
2547         * gst/gstcaps.c: (gst_caps_is_equal):
2548         Comparing NULL against !NULL yields different caps, not a
2549         failure.
2550
2551 2005-12-05  Wim Taymans  <wim@fluendo.com>
2552
2553         * gst/gstpipeline.c:
2554         Fix small typo in docs.
2555
2556 2005-12-05  Andy Wingo  <wingo@pobox.com>
2557
2558         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
2559
2560         * gst/gst.c (init_post): remove hard-coded 0.9 location for
2561         registries/plugins with a MAJORMINOR one.
2562         (plugin_desc): Rename library from gstcoreleements to
2563         staticelements. Fixes #323222.
2564
2565 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
2566
2567         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
2568           Change debug category to 'collectpads' from 'collect_pads'
2569           (fixes #323250).
2570
2571 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2572
2573         patch by: Sebastien Moutte
2574
2575         * libs/gst/controller/gstinterpolation.c:
2576           use convert function for uint64/double
2577         * win32/vs6/libgstcontroller.dsp:
2578           link to GLib
2579
2580 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2581
2582         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
2583         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
2584         * gst/gstutils.h:
2585         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2586           add tests that seem to show that the guint64/gdouble conversions
2587           are correct.
2588
2589 2005-12-02  Wim Taymans  <wim@fluendo.com>
2590
2591         * gst/gstregistry.c: (gst_registry_add_path):
2592         * gst/gstregistry.h:
2593         * gst/gstregistryxml.c:
2594         Fix docs again.
2595
2596 2005-12-02  Wim Taymans  <wim@fluendo.com>
2597
2598         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2599         (gst_util_uint64_scale_int):
2600         Small cleanup.
2601
2602         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2603         Add debug log line.
2604
2605         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
2606         Add FIXME.
2607
2608 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2609
2610         * win32/MANIFEST:
2611         * win32/common/config.h:
2612         * win32/vs6/gstreamer.dsw:
2613         * win32/vs6/libgstcoreelements.dsp:
2614         * win32/vs6/libgstelements.dsp:
2615           renamed core elements plugin
2616
2617 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2618
2619         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
2620         (get_candidates):
2621           do piece-wise major/minor comparison so 0.9 < 0.10
2622           also allow .exe extensions for tools
2623
2624 2005-12-02  Michael Smith  <msmith@fluendo.com>
2625
2626         * gst/gst.c:
2627           Escape a % to make gtkdoc happier; bug 322958.
2628
2629 === release 0.9.7 ===
2630
2631 2005-12-01   <thomas (at) apestaart (dot) org>
2632
2633         * configure.ac:
2634           releasing 0.9.7, "My Dog Has No Nose"
2635
2636 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2637
2638         * common/gst-xmlinspect.py:
2639         * configure.ac:
2640         * docs/libs/tmpl/gstdataprotocol.sgml:
2641         * docs/random/release:
2642         * po/af.po:
2643         * po/az.po:
2644         * po/bg.po:
2645         * po/ca.po:
2646         * po/cs.po:
2647         * po/de.po:
2648         * po/en_GB.po:
2649         * po/fr.po:
2650         * po/it.po:
2651         * po/nb.po:
2652         * po/nl.po:
2653         * po/ru.po:
2654         * po/sq.po:
2655         * po/sr.po:
2656         * po/sv.po:
2657         * po/tr.po:
2658         * po/uk.po:
2659         * po/vi.po:
2660         * win32/common/config.h:
2661         * win32/common/config.h.in:
2662         * win32/vs6/gst_inspect.dsp:
2663         * win32/vs6/gst_launch.dsp:
2664         * win32/vs6/libgstbase.dsp:
2665         * win32/vs6/libgstelements.dsp:
2666         * win32/vs6/libgstreamer.dsp:
2667         * win32/vs7/GStreamer.vcproj:
2668         * win32/vs7/gst-inspect.vcproj:
2669         * win32/vs7/gst-launch.vcproj:
2670         * win32/vs7/libgstbase.vcproj:
2671           bump GST_MAJORMINOR to 0.10
2672           reset libtool version
2673
2674 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2675
2676         * po/LINGUAS:
2677         * po/bg.po:
2678           Added Bulgarian translation by (Alexander Shopov)
2679
2680 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2681
2682         * tests/check/gst/gstplugin.c:
2683           fix test
2684
2685 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2686
2687         * common/gst-xmlinspect.py:
2688         * common/gtk-doc-plugins.mak:
2689         * configure.ac:
2690         * docs/Makefile.am:
2691         * docs/gst/Makefile.am:
2692         * docs/gst/gstreamer-docs.sgml:
2693         * docs/gst/gstreamer-sections.txt:
2694         * docs/gst/gstreamer.types:
2695         * docs/gst/gstreamer.types.in:
2696         * docs/plugins/Makefile.am:
2697         * docs/plugins/gstreamer-plugins-docs.sgml:
2698         * docs/plugins/gstreamer-plugins-sections.txt:
2699         * docs/plugins/gstreamer-plugins.types:
2700         * docs/plugins/inspect.stamp:
2701         * docs/plugins/inspect/plugin-coreelements.xml:
2702         * docs/plugins/inspect/plugin-coreindexers.xml:
2703         * docs/plugins/scanobj-build.stamp:
2704         * gstreamer.spec.in:
2705         * plugins/elements/Makefile.am:
2706         * plugins/elements/gstelements.c:
2707         * plugins/elements/gstfakesink.c:
2708         * plugins/elements/gstfakesrc.c:
2709         * plugins/elements/gstfilesink.c:
2710         * plugins/elements/gstfilesrc.c:
2711         * plugins/elements/gstqueue.c:
2712         * plugins/indexers/Makefile.am:
2713         * plugins/indexers/gstindexers.c:
2714           document core plugins in a separate document just like all the
2715           others
2716           rename these plugins to something starting with core
2717
2718 2005-12-01  Andy Wingo  <wingo@pobox.com>
2719
2720         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
2721         padding here before, but it missed the commit.
2722
2723 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2724
2725         * libs/gst/controller/gstinterpolation.c:
2726           whitespace prices have crashed, we should feel free to use some now
2727           use gst_guint64_to_gdouble
2728
2729 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2730
2731         * libs/gst/controller/gstcontroller.c:
2732         * libs/gst/controller/gsthelper.c:
2733         * libs/gst/controller/gstinterpolation.c:
2734         * libs/gst/controller/lib.c:
2735           wrap config.h include
2736
2737 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2738
2739         * docs/gst/gstreamer-sections.txt:
2740           update docs
2741
2742 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2743
2744         * plugins/elements/gstelements.c:
2745         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
2746         (gst_fd_sink__class_init), (gst_fd_sink__init),
2747         (gst_fd_sink__chain), (gst_fd_sink__set_property),
2748         (gst_fd_sink__get_property):
2749         * plugins/elements/gstfdsink.h:
2750         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
2751         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
2752         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
2753         (gst_fd_src_unlock), (gst_fd_src_set_property),
2754         (gst_fd_src_get_property), (gst_fd_src_create),
2755         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
2756         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
2757         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
2758         (gst_fd_src_uri_handler_init):
2759         * plugins/elements/gstfdsrc.h:
2760         * plugins/elements/gstqueue.c: (gst_queue_get_type):
2761           more anal cleanup
2762
2763 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2764
2765         * docs/gst/Makefile.am:
2766         * docs/gst/gstreamer.types.in:
2767         * gst/Makefile.am:
2768           fix the docs build
2769
2770 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2771
2772         * configure.ac:
2773         * gst/Makefile.am:
2774         * gst/gst.c:
2775         * gst/gstplugin.h:
2776         * gst/gstregistry.h:
2777         * tests/benchmarks/complexity.c:
2778         * tests/benchmarks/mass-elements.c:
2779         * tests/check/Makefile.am:
2780         * tools/Makefile.am:
2781         * tools/gst-inspect.c:
2782         * tools/gst-xmlinspect.c:
2783           various fixes to make
2784           --disable-nls --disable-registry --disable-loadsave
2785           --disable-parse --disable-gst-debug
2786           work and get the core .so down to 360444 bytes after stripping
2787
2788 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2789
2790         * Makefile.am:
2791         * configure.ac:
2792           descend into tests
2793         * docs/random/thomasvs/TODO:
2794         * tests/Makefile.am:
2795         * tests/README:
2796           add a README
2797
2798 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2799
2800         * win32/GStreamer.vcproj:
2801         * win32/MANIFEST:
2802         * win32/Makefile:
2803         * win32/Makefile.inspect:
2804         * win32/Makefile.launch:
2805         * win32/Makefile.register:
2806         * win32/README.txt:
2807         * win32/gst-inspect.vcproj:
2808         * win32/gst-launch.vcproj:
2809         * win32/gst-register.vcproj:
2810         * win32/gstelements.vcproj:
2811         * win32/gstgetbits.def:
2812         * win32/gstgetbits.vcproj:
2813         * win32/gstreamer-dbg.def:
2814         * win32/gstreamer.def:
2815         * win32/libgstbase.def:
2816         * win32/libgstbase.vcproj:
2817         * win32/link_oldruntime.c:
2818         * win32/mman.c:
2819         * win32/mman.h:
2820         * win32/mman.inl:
2821         * win32/msvc71.sln:
2822           move even more stuff, win32/ is nice and clean now
2823
2824 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2825
2826         * libs/gst/control/.cvsignore:
2827         * win32/MANIFEST:
2828         * win32/config.h:
2829         * win32/dirent.c:
2830         * win32/dirent.h:
2831         * win32/gstbytestream.def:
2832         * win32/gstbytestream.vcproj:
2833         * win32/gstconfig.h:
2834         * win32/gstenumtypes.c:
2835         * win32/gstenumtypes.h:
2836         * win32/gstoptimalscheduler.vcproj:
2837         * win32/gstversion.h:
2838         * win32/gtchar.h:
2839         * win32/testsuite/bins.vcproj:
2840         * win32/testsuite/bytestream.vcproj:
2841         * win32/testsuite/caps.vcproj:
2842         * win32/testsuite/cleanup.vcproj:
2843         * win32/testsuite/clock.vcproj:
2844         * win32/testsuite/debug.vcproj:
2845         * win32/testsuite/dlopen.vcproj:
2846         * win32/testsuite/dynparams.vcproj:
2847         * win32/testsuite/elements.vcproj:
2848         * win32/testsuite/ghostpads.vcproj:
2849         * win32/testsuite/indexers.vcproj:
2850         * win32/testsuite/negotiation.vcproj:
2851         * win32/testsuite/parse.vcproj:
2852         * win32/testsuite/plugin.vcproj:
2853         * win32/testsuite/refcounting.vcproj:
2854         * win32/testsuite/schedulers.vcproj:
2855         * win32/testsuite/states.vcproj:
2856         * win32/testsuite/tags.vcproj:
2857         * win32/testsuite/threads.vcproj:
2858           remove old win32 stuff that isn't maintained and should be
2859           reorganized
2860
2861 2005-11-30  Andy Wingo  <wingo@pobox.com>
2862
2863         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2864         loading the gst.interfaces python module bork.
2865
2866         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2867         available since GLib 2.2. Fixes #318031.
2868
2869 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2870
2871         * Makefile.am:
2872         * check/.cvsignore:
2873         * check/Makefile.am:
2874         * check/elements/.cvsignore:
2875         * check/elements/fakesrc.c:
2876         * check/elements/fdsrc.c:
2877         * check/elements/identity.c:
2878         * check/generic/.cvsignore:
2879         * check/generic/states.c:
2880         * check/gst-libs/.cvsignore:
2881         * check/gst-libs/controller.c:
2882         * check/gst-libs/gdp.c:
2883         * check/gst/.cvsignore:
2884         * check/gst/capslist.h:
2885         * check/gst/gst.c:
2886         * check/gst/gstbin.c:
2887         * check/gst/gstbuffer.c:
2888         * check/gst/gstbus.c:
2889         * check/gst/gstcaps.c:
2890         * check/gst/gstelement.c:
2891         * check/gst/gstevent.c:
2892         * check/gst/gstghostpad.c:
2893         * check/gst/gstiterator.c:
2894         * check/gst/gstmessage.c:
2895         * check/gst/gstminiobject.c:
2896         * check/gst/gstobject.c:
2897         * check/gst/gstpad.c:
2898         * check/gst/gstpipeline.c:
2899         * check/gst/gstplugin.c:
2900         * check/gst/gstsegment.c:
2901         * check/gst/gststructure.c:
2902         * check/gst/gstsystemclock.c:
2903         * check/gst/gsttag.c:
2904         * check/gst/gstutils.c:
2905         * check/gst/gstvalue.c:
2906         * check/net/.cvsignore:
2907         * check/net/gstnetclientclock.c:
2908         * check/net/gstnettimeprovider.c:
2909         * check/pipelines/.cvsignore:
2910         * check/pipelines/cleanup.c:
2911         * check/pipelines/simple_launch_lines.c:
2912         * check/pipelines/stress.c:
2913         * check/states/.cvsignore:
2914         * check/states/sinks.c:
2915         * configure.ac:
2916         * examples/Makefile.am:
2917         * examples/appreader/.cvsignore:
2918         * examples/appreader/Makefile.am:
2919         * examples/appreader/appreader.c:
2920         * examples/controller/.cvsignore:
2921         * examples/controller/Makefile.am:
2922         * examples/controller/audio-example.c:
2923         * examples/cutter/.cvsignore:
2924         * examples/cutter/Makefile.am:
2925         * examples/cutter/cutter.c:
2926         * examples/cutter/cutter.h:
2927         * examples/events/Makefile.am:
2928         * examples/events/seek.c:
2929         * examples/helloworld/.cvsignore:
2930         * examples/helloworld/Makefile.am:
2931         * examples/helloworld/helloworld.c:
2932         * examples/helloworld2/.cvsignore:
2933         * examples/helloworld2/Makefile.am:
2934         * examples/helloworld2/helloworld2.c:
2935         * examples/launch/.cvsignore:
2936         * examples/launch/Makefile.am:
2937         * examples/launch/mp3parselaunch.c:
2938         * examples/launch/mp3play:
2939         * examples/manual/.cvsignore:
2940         * examples/manual/Makefile.am:
2941         * examples/manual/extract.pl:
2942         * examples/metadata/Makefile.am:
2943         * examples/metadata/read-metadata.c:
2944         * examples/mixer/.cvsignore:
2945         * examples/mixer/Makefile.am:
2946         * examples/mixer/mixer.c:
2947         * examples/mixer/mixer.h:
2948         * examples/pingpong/.cvsignore:
2949         * examples/pingpong/Makefile.am:
2950         * examples/pingpong/pingpong.c:
2951         * examples/plugins/.cvsignore:
2952         * examples/plugins/Makefile.am:
2953         * examples/plugins/example.c:
2954         * examples/plugins/example.h:
2955         * examples/pwg/.cvsignore:
2956         * examples/pwg/Makefile.am:
2957         * examples/pwg/extract.pl:
2958         * examples/queue/.cvsignore:
2959         * examples/queue/Makefile.am:
2960         * examples/queue/queue.c:
2961         * examples/queue2/.cvsignore:
2962         * examples/queue2/Makefile.am:
2963         * examples/queue2/queue2.c:
2964         * examples/queue3/.cvsignore:
2965         * examples/queue3/Makefile.am:
2966         * examples/queue3/queue3.c:
2967         * examples/queue4/.cvsignore:
2968         * examples/queue4/Makefile.am:
2969         * examples/queue4/queue4.c:
2970         * examples/retag/.cvsignore:
2971         * examples/retag/Makefile.am:
2972         * examples/retag/retag.c:
2973         * examples/retag/transcode.c:
2974         * examples/thread/.cvsignore:
2975         * examples/thread/Makefile.am:
2976         * examples/thread/thread.c:
2977         * examples/typefind/.cvsignore:
2978         * examples/typefind/Makefile.am:
2979         * examples/typefind/typefind.c:
2980         * examples/xml/.cvsignore:
2981         * examples/xml/Makefile.am:
2982         * examples/xml/createxml.c:
2983         * examples/xml/runxml.c:
2984         * tests/Makefile.am:
2985         * tests/check/Makefile.am:
2986         * testsuite/.cvsignore:
2987         * testsuite/Makefile.am:
2988         * testsuite/Rules:
2989         * testsuite/caps/.cvsignore:
2990         * testsuite/caps/Makefile.am:
2991         * testsuite/caps/app_fixate.c:
2992         * testsuite/caps/audioscale.c:
2993         * testsuite/caps/caps.c:
2994         * testsuite/caps/caps.h:
2995         * testsuite/caps/caps_strings:
2996         * testsuite/caps/compatibility.c:
2997         * testsuite/caps/deserialize.c:
2998         * testsuite/caps/enumcaps.c:
2999         * testsuite/caps/eratosthenes.c:
3000         * testsuite/caps/filtercaps.c:
3001         * testsuite/caps/fixed.c:
3002         * testsuite/caps/fraction-convert.c:
3003         * testsuite/caps/fraction-multiply-and-zero.c:
3004         * testsuite/caps/intersect2.c:
3005         * testsuite/caps/intersection.c:
3006         * testsuite/caps/normalisation.c:
3007         * testsuite/caps/random.c:
3008         * testsuite/caps/renegotiate.c:
3009         * testsuite/caps/sets.c:
3010         * testsuite/caps/simplify.c:
3011         * testsuite/caps/string-conversions.c:
3012         * testsuite/caps/structure.c:
3013         * testsuite/caps/subtract.c:
3014         * testsuite/caps/union.c:
3015         * testsuite/debug/.cvsignore:
3016         * testsuite/debug/Makefile.am:
3017         * testsuite/debug/category.c:
3018         * testsuite/debug/commandline.c:
3019         * testsuite/debug/global.c:
3020         * testsuite/debug/output.c:
3021         * testsuite/debug/printf_extension.c:
3022         * testsuite/dlopen/.cvsignore:
3023         * testsuite/dlopen/Makefile.am:
3024         * testsuite/dlopen/dlopen_gst.c:
3025         * testsuite/dlopen/loadgst.c:
3026         * testsuite/elements/.cvsignore:
3027         * testsuite/elements/Makefile.am:
3028         * testsuite/elements/gst-inspect-check.in:
3029         * testsuite/elements/struct_i386.h:
3030         * testsuite/elements/struct_size.c:
3031         * testsuite/indexers/.cvsignore:
3032         * testsuite/indexers/Makefile.am:
3033         * testsuite/indexers/cache1.c:
3034         * testsuite/indexers/indexdump.c:
3035         * testsuite/parse/.cvsignore:
3036         * testsuite/parse/Makefile.am:
3037         * testsuite/parse/parse1.c:
3038         * testsuite/parse/parse2.c:
3039         * testsuite/plugin/.cvsignore:
3040         * testsuite/plugin/Makefile.am:
3041         * testsuite/plugin/README:
3042         * testsuite/plugin/dynamic.c:
3043         * testsuite/plugin/linked.c:
3044         * testsuite/plugin/loading.c:
3045         * testsuite/plugin/registry.c:
3046         * testsuite/plugin/static.c:
3047         * testsuite/plugin/static2.c:
3048         * testsuite/plugin/testplugin.c:
3049         * testsuite/plugin/testplugin2.c:
3050         * testsuite/plugin/testplugin2_s.c:
3051         * testsuite/plugin/testplugin_s.c:
3052         * testsuite/refcounting/.cvsignore:
3053         * testsuite/refcounting/Makefile.am:
3054         * testsuite/refcounting/bin.c:
3055         * testsuite/refcounting/element.c:
3056         * testsuite/refcounting/element_pad.c:
3057         * testsuite/refcounting/mainloop.c:
3058         * testsuite/refcounting/mem.c:
3059         * testsuite/refcounting/mem.h:
3060         * testsuite/refcounting/object.c:
3061         * testsuite/refcounting/pad.c:
3062         * testsuite/refcounting/sched.c:
3063         * testsuite/refcounting/thread.c:
3064         * testsuite/states/.cvsignore:
3065         * testsuite/states/Makefile.am:
3066         * testsuite/states/bin.c:
3067         * testsuite/states/locked.c:
3068         * testsuite/states/parent.c:
3069         * testsuite/threads/.cvsignore:
3070         * testsuite/threads/159566.c:
3071         * testsuite/threads/159852.c:
3072         * testsuite/threads/Makefile.am:
3073         * testsuite/threads/queue.c:
3074         * testsuite/threads/signals.c:
3075         * testsuite/threads/staticrec.c:
3076         * testsuite/threads/thread.c:
3077         * testsuite/threads/threadb.c:
3078         * testsuite/threads/threadc.c:
3079         * testsuite/threads/threadd.c:
3080         * testsuite/threads/threade.c:
3081         * testsuite/threads/threadf.c:
3082         * testsuite/threads/threadg.c:
3083         * testsuite/threads/threadh.c:
3084         * testsuite/threads/threadi.c:
3085           move all of these under tests
3086
3087 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3088
3089         * configure.ac:
3090         * tests/Makefile.am:
3091           fix distcheck
3092
3093 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3094
3095         * docs/gst/gstreamer-sections.txt:
3096         * tests/sched/.cvsignore:
3097         * tests/sched/Makefile.am:
3098         * tests/sched/cases/(fs-fs).xml:
3099         * tests/sched/cases/(fs-i-fs).xml:
3100         * tests/sched/cases/(fs-i-i-fs).xml:
3101         * tests/sched/cases/(fs-i-q[i-fs]).xml:
3102         * tests/sched/dynamic-pipeline.c:
3103         * tests/sched/interrupt1.c:
3104         * tests/sched/interrupt2.c:
3105         * tests/sched/interrupt3.c:
3106         * tests/sched/runtestcases:
3107         * tests/sched/runxml.c:
3108         * tests/sched/sched-stress.c:
3109         * tests/sched/sort.c:
3110         * tests/sched/testcases:
3111         * tests/sched/testcases1.tc:
3112         * tests/seeking/.cvsignore:
3113         * tests/seeking/Makefile.am:
3114         * tests/seeking/seeking1.c:
3115         * tests/threadstate/.cvsignore:
3116         * tests/threadstate/Makefile.am:
3117         * tests/threadstate/test1.c:
3118         * tests/threadstate/test2.c:
3119         * tests/threadstate/threadstate1.c:
3120         * tests/threadstate/threadstate2.c:
3121         * tests/threadstate/threadstate3.c:
3122         * tests/threadstate/threadstate4.c:
3123         * tests/threadstate/threadstate5.c:
3124           remove obsolete tests
3125         * configure.ac:
3126         * tests/bench-complexity.scm:
3127         * tests/bench-mass_elements.scm:
3128         * tests/complexity.c:
3129         * tests/complexity.gnuplot:
3130         * tests/instantiate/.cvsignore:
3131         * tests/instantiate/Makefile.am:
3132         * tests/instantiate/caps.c:
3133         * tests/mass_elements.c:
3134         * tests/network-clock-utils.scm:
3135         * tests/network-clock.scm:
3136         * tests/plot-data:
3137         First pass at cleaning up tests/ dir before moving the rest
3138         Combined with CVS surgery
3139
3140 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3141
3142         * po/POTFILES.in:
3143           queue has moved, update
3144
3145 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3146
3147         * docs/gst/gstreamer-sections.txt:
3148           remove double entries from the docs
3149         * gst/gst_private.h:
3150         * gst/gstinfo.c: (_gst_debug_init):
3151           remove the THREAD debug category
3152         * gst/Makefile.am:
3153         * gst/gstqueue.c:
3154         * gst/gstqueue.h:
3155         * docs/gst/gstreamer.types:
3156         * plugins/elements/gstqueue.c: (gst_queue_get_type),
3157         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
3158           completely move queue and fix up debugging categories
3159
3160 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3161
3162         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3163           make initialization portable, using LL is not
3164
3165 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3166
3167         * win32/common/gstconfig.h:
3168           add large padding
3169
3170 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3171
3172         * win32/common/libgstreamer.def:
3173           rename symbols; sort base section
3174
3175 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3176
3177         * gst/gstclock.c: (do_linear_regression):
3178           remove crack non-portable handrolled DEBUG macro
3179
3180 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3181
3182         * docs/random/release:
3183           update notes
3184         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3185         (gst_object_flags_get_type), (register_gst_bin_flags),
3186         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3187         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3188         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3189         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
3190         (gst_caps_flags_get_type), (register_gst_clock_return),
3191         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3192         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3193         (gst_clock_flags_get_type), (register_gst_state),
3194         (gst_state_get_type), (register_gst_state_change_return),
3195         (gst_state_change_return_get_type), (register_gst_state_change),
3196         (gst_state_change_get_type), (register_gst_element_flags),
3197         (gst_element_flags_get_type), (register_gst_core_error),
3198         (gst_core_error_get_type), (register_gst_library_error),
3199         (gst_library_error_get_type), (register_gst_resource_error),
3200         (gst_resource_error_get_type), (register_gst_stream_error),
3201         (gst_stream_error_get_type), (register_gst_event_type_flags),
3202         (gst_event_type_flags_get_type), (register_gst_event_type),
3203         (gst_event_type_get_type), (register_gst_seek_type),
3204         (gst_seek_type_get_type), (register_gst_seek_flags),
3205         (gst_seek_flags_get_type), (register_gst_format),
3206         (gst_format_get_type), (register_gst_index_certainty),
3207         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3208         (gst_index_entry_type_get_type),
3209         (register_gst_index_lookup_method),
3210         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3211         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3212         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3213         (gst_index_flags_get_type), (register_gst_debug_level),
3214         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3215         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3216         (gst_iterator_result_get_type), (register_gst_iterator_item),
3217         (gst_iterator_item_get_type), (register_gst_message_type),
3218         (gst_message_type_get_type), (register_gst_mini_object_flags),
3219         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3220         (gst_pad_link_return_get_type), (register_gst_flow_return),
3221         (gst_flow_return_get_type), (register_gst_activate_mode),
3222         (gst_activate_mode_get_type), (register_gst_pad_direction),
3223         (gst_pad_direction_get_type), (register_gst_pad_flags),
3224         (gst_pad_flags_get_type), (register_gst_pad_presence),
3225         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3226         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3227         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3228         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3229         (gst_plugin_flags_get_type), (register_gst_rank),
3230         (gst_rank_get_type), (register_gst_query_type),
3231         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3232         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3233         (gst_tag_flag_get_type), (register_gst_task_state),
3234         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3235         (gst_alloc_trace_flags_get_type),
3236         (register_gst_type_find_probability),
3237         (gst_type_find_probability_get_type), (register_gst_uri_type),
3238         (gst_uri_type_get_type), (register_gst_parse_error),
3239         (gst_parse_error_get_type):
3240         * win32/common/gstenumtypes.h:
3241         * win32/common/gstversion.h:
3242           update visual studio generated files
3243
3244 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3245
3246         * win32/vs6/libgstbase.dsp:
3247         * win32/vs6/libgstelements.dsp:
3248           update project files for new locations
3249
3250 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3251
3252         * Makefile.am:
3253           remove some files
3254         * README:
3255           reinstate and update
3256         * DEVEL:
3257         * REQUIREMENTS:
3258           removed
3259         * LICENSE:
3260         * docs/random/LICENSE:
3261           moved to random
3262
3263 2005-11-30  Edward Hervey  <edward@fluendo.com>
3264
3265         * gst/gsttypefind.c: (gst_type_find_register):
3266         * gst/gsttypefind.h:
3267         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
3268         (gst_type_find_factory_dispose):
3269         * gst/gsttypefindfactory.h:
3270         Fix memory leak in GstTypeFindFactory.
3271
3272 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3273
3274         * gst/gst.c:
3275         * plugins/elements/Makefile.am:
3276         * plugins/elements/gstelements.c:
3277         * plugins/elements/gstqueue.c:
3278           move queue from core to the elements plugin
3279
3280 2005-11-29  Andy Wingo  <wingo@pobox.com>
3281
3282         * libs/gst/base/gstbasetransform.h: 
3283         * libs/gst/base/gstbasesrc.h: 
3284         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
3285
3286         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
3287         of pointers by which to pad very extensible base classes (like the
3288         ones in libs/gst/base).
3289
3290 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3291
3292         * docs/gst/gstreamer-docs.sgml:
3293         * docs/gst/gstreamer-sections.txt:
3294         * docs/libs/gstreamer-libs-docs.sgml:
3295         * docs/libs/gstreamer-libs-sections.txt:
3296           moving documentation from core to lib
3297
3298 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3299
3300         * check/Makefile.am:
3301         * configure.ac:
3302         * docs/gst/Makefile.am:
3303         * gst/Makefile.am:
3304         * gst/base/.cvsignore:
3305         * gst/base/Makefile.am:
3306         * gst/base/README:
3307         * gst/base/gstadapter.c:
3308         * gst/base/gstadapter.h:
3309         * gst/base/gstbasesink.c:
3310         * gst/base/gstbasesink.h:
3311         * gst/base/gstbasesrc.c:
3312         * gst/base/gstbasesrc.h:
3313         * gst/base/gstbasetransform.c:
3314         * gst/base/gstbasetransform.h:
3315         * gst/base/gstcollectpads.c:
3316         * gst/base/gstcollectpads.h:
3317         * gst/base/gstpushsrc.c:
3318         * gst/base/gstpushsrc.h:
3319         * gst/base/gsttypefindhelper.c:
3320         * gst/base/gsttypefindhelper.h:
3321         * gst/check/Makefile.am:
3322         * gst/check/gstcheck.c:
3323         * gst/check/gstcheck.h:
3324         * gst/net/Makefile.am:
3325         * gst/net/gstnet.h:
3326         * gst/net/gstnetclientclock.c:
3327         * gst/net/gstnetclientclock.h:
3328         * gst/net/gstnettimepacket.c:
3329         * gst/net/gstnettimepacket.h:
3330         * gst/net/gstnettimeprovider.c:
3331         * gst/net/gstnettimeprovider.h:
3332         * libs/gst/Makefile.am:
3333         * libs/gst/base/Makefile.am:
3334         * libs/gst/base/gstbasetransform.c:
3335         * libs/gst/check/Makefile.am:
3336         * plugins/elements/Makefile.am:
3337         * po/POTFILES.in:
3338           CVS surgery + support to move base, check, and net out of gst
3339           and into libs/gst
3340
3341 2005-11-29  Andy Wingo  <wingo@pobox.com>
3342
3343         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
3344
3345         * gst/gststructure.h (struct _GstStructure): Only one pointer of
3346         padding.
3347
3348         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
3349
3350         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
3351
3352         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
3353
3354         * gst/gstobject.h: (struct _GstObject): Only one pointer of
3355         padding; reduces object size by about 30%. We don't expect
3356         anything else to go into gstobject.
3357
3358         * gst/gstminiobject.h (struct _GstMiniObject)
3359         (struct _GstMiniObjectClass): Only one pointer of padding; the
3360         payload is only a pointer and two ints anyway. For the class there
3361         are only two methods as well.
3362         
3363         * gst/gstelement.h (struct _GstElementClass): Removed
3364         the state_changed signal callback, it is not used.
3365
3366 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3367
3368         * docs/gst/gstreamer.types:
3369           fix includes, though they are a little dinky
3370
3371 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3372
3373         * check/Makefile.am:
3374           look in the right place for elements, a lot more chance of
3375           success
3376         * gst/Makefile.am:
3377           remove indexers and elements subdirs
3378         * plugins/Makefile.am:
3379           make indexers conditional
3380
3381 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3382
3383         * Makefile.am:
3384         * configure.ac:
3385         * plugins/elements/Makefile.am:
3386         * plugins/elements/gstcapsfilter.c:
3387         * plugins/elements/gstfilesink.c:
3388         * plugins/elements/gstfilesrc.c:
3389         * plugins/elements/gstidentity.c:
3390         * plugins/indexers/Makefile.am:
3391           do CVS surgery and related build fixery to move elements
3392           and indexers in a new gstreamer/plugins directory, out of the
3393           gst/ directory
3394
3395 2005-11-29  Andy Wingo  <wingo@pobox.com>
3396
3397         * check/Makefile.am:
3398         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3399         * pkgconfig/gstreamer-net.pc.in:
3400         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
3401         #322257.
3402
3403 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3404
3405         * tools/Makefile.am:
3406         * tools/gst-complete.1.in:
3407         * tools/gst-complete.c:
3408         * tools/gst-compprep.1.in:
3409         * tools/gst-compprep.c:
3410           removing -compprep and -complete
3411
3412 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3413
3414         * gst/gstevent.c: (gst_event_new_new_segment),
3415         (gst_event_parse_new_segment):
3416         * gst/gstevent.h:
3417           fix #320529 - clean up new_segment API and structure.
3418           Let's hope everyone was using the methods, and not the structure.
3419
3420 2005-11-29  Edward Hervey  <edward@fluendo.com>
3421
3422         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3423         (gst_base_sink_event), (gst_base_sink_do_sync),
3424         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
3425         Properly handle non GST_FORMAT_TIME segment
3426         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3427         Properly handle non GST_FORMAT_TIME segment
3428         * gst/gstsegment.c:
3429         This function is valid if the accumulator is 0 and the format
3430         is different from the requested format.
3431         
3432 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3433
3434         * docs/gst/gstreamer-sections.txt:
3435         Add gst_query_new_seeking and gst_query_parse_seeking to the
3436         docs.
3437
3438 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3439
3440         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
3441           Treat a pad alloc with new caps the same as if we were not
3442           negotiated, in order to allow a changing upstream output
3443           to produce a new format of data.
3444
3445 2005-11-29  Edward Hervey  <edward@fluendo.com>
3446
3447         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3448         (gst_base_transform_event), (gst_base_transform_eventfunc):
3449         The event virtual method is now properly implemented, with a default
3450         handler
3451         Sub classes should call the parent_class event method. They should
3452         return FALSE if they had a problem handling the given event, or don't
3453         want GstBaseTransform to send that even downstream
3454         * gst/elements/gstidentity.c: (gst_identity_class_init),
3455         (gst_identity_init), (gst_identity_event),
3456         (gst_identity_transform_ip), (gst_identity_set_property),
3457         (gst_identity_get_property):
3458         * gst/elements/gstidentity.h:
3459         Added the single-segment boolean property.
3460         If set to TRUE, it will output a single segment of data, starting from
3461         0, will eat up all incoming newsegment, and modify the timestamp of the
3462         buffers accordingly
3463
3464 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
3465
3466         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
3467           Don't ref NULL target pad (#322751). Improve docs.
3468
3469 2005-11-29  Michael Smith  <msmith@fluendo.com>
3470
3471         * gst/gstregistryxml.c: (load_plugin):
3472           Don't crash if we failed to load a feature from a plugin. 
3473
3474 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3475
3476         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
3477         (GST_START_TEST):
3478           use more check API and less GLib API
3479
3480 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3481
3482         * Makefile.am:
3483           don't run checks if we don't have check
3484         * common/check.mak:
3485           remove the registry when running make torture
3486         * docs/gst/gstreamer-sections.txt:
3487           remove second multiply
3488         * gst/gstqueue.c: (gst_queue_loop):
3489           fix a compile warning when disabling debug
3490
3491 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3492
3493         * gst/gstinfo.h:
3494         Hey! Let's print the pad name if the pointer != NULL instead
3495         of when it == NULL :-)
3496
3497 2005-11-28  Wim Taymans  <wim@fluendo.com>
3498
3499         * check/gst/gstutils.c: (GST_START_TEST):
3500         Updated check, add some scaling accuracy checking code.
3501
3502         * gst/gstutils.c: (gst_util_div128_64),
3503         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
3504         (gst_util_uint64_scale_int):
3505         Fix 6 times faster division code. Optimize for common 
3506         1/1 and less common X/1 cases.
3507
3508 2005-11-28  Wim Taymans  <wim@fluendo.com>
3509
3510         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3511         More checks.
3512
3513         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
3514         (do_linear_regression), (gst_clock_add_observation):
3515         Cleanups.
3516         Release lock when the clock cannot be slaved.
3517         Catch the case where the regression returned an invalid denominator.
3518
3519         * gst/gstutils.c: (gst_util_div128_64_iterate),
3520         (gst_util_div128_64), (gst_util_uint64_scale_int64),
3521         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3522         Add protentially more performant non-iterative 128/64 divide function
3523         that unfortunatly does not work yet.
3524         Shortcut the trivial 0/X = 0 case.
3525         Remove the warnings on overflow.
3526
3527 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3528
3529         * gst/gstplugin.c: (gst_plugin_register_func):
3530           everything causing a plugin not to load should be at least a WARNING
3531
3532 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
3533
3534         * docs/random/ensonic/dparams.txt:
3535           some TODOs for the next dev cycle
3536         * libs/gst/controller/gstcontroller.c:
3537         (gst_controlled_property_set_interpolation_mode),
3538         (gst_controlled_property_new):
3539         * libs/gst/controller/gstcontroller.h:
3540           use base type to assign acccessor functions
3541
3542 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3543
3544         * check/Makefile.am:
3545         Oops, that should have been top_srcdir
3546
3547 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3548
3549         * check/Makefile.am:
3550         * check/elements/fdsrc.c: (GST_START_TEST):
3551         Use a cmdline define to specify the location of a file to use for
3552         testing, to avoid breaking distcheck.
3553
3554 2005-11-28  Andy Wingo  <wingo@pobox.com>
3555
3556         * gst/gstpad.c (fixate_value): Use array functions for arrays.
3557
3558 2005-11-28  Edward Hervey  <edward@fluendo.com>
3559
3560         * tools/gst-launch.c: (main):
3561         Clarify the output strings, makes it easier to translate.
3562         Fixes #322626
3563
3564 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3565
3566         * gst/Makefile.am:
3567           don't try and build net if we don't even have <sys/socket.h>
3568
3569 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
3570
3571         * check/Makefile.am:
3572         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
3573         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
3574           Add tests for fdsrc seekability
3575
3576         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
3577         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
3578         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
3579         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
3580         * gst/elements/gstfdsrc.h:
3581           fdsrc should not be a 'live' source.
3582           Implement seeking on seekable fd's.
3583
3584         * gst/gstquery.c: (gst_query_new_seeking),
3585         (gst_query_parse_seeking):
3586         * gst/gstquery.h:
3587           Implement SEEKING query functions: 
3588             *_new_seeking and *_parse_seeking
3589
3590 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
3591
3592         * gst/gstelement.c: (gst_element_dispose):
3593           don't loop forever
3594
3595         * gst/gstiterator.c:
3596         * gst/gststructure.c:
3597           doc fixes
3598
3599         * libs/gst/controller/gstcontroller.c:
3600         (gst_controlled_property_set_interpolation_mode):
3601         * libs/gst/controller/gstcontroller.h:
3602         * libs/gst/controller/gstinterpolation.c:
3603         (interpolate_none_get_enum_value_array):
3604           support controlling enums
3605
3606 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
3607
3608         * gst/gstvalue.c:
3609           Improve documentation for gst_value_union().
3610
3611         * gst/gstvalue.h:
3612           Change return value for union, intersect and subtract functions
3613           from gint to gboolean.
3614
3615 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
3616
3617         * gst/gstvalue.c: (gst_value_serialize_any_list),
3618         (gst_value_transform_any_list_string),
3619         (gst_value_deserialize_list), (gst_value_deserialize_array),
3620         (gst_value_set_int_range), (gst_value_deserialize_int_range),
3621         (gst_value_set_double_range), (gst_value_deserialize_double_range),
3622         (gst_value_set_fraction_range_full),
3623         (gst_value_deserialize_fraction_range),
3624         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
3625         (gst_value_deserialize_boolean),
3626         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
3627         (gst_value_serialize_float), (gst_value_deserialize_float),
3628         (gst_string_wrap), (gst_value_deserialize_string),
3629         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
3630         (gst_value_union_int_range_int_range),
3631         (gst_value_intersect_int_range_int_range),
3632         (gst_value_intersect_double_range_double_range),
3633         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
3634         (gst_value_subtract_int_range_int_range),
3635         (gst_value_subtract_double_double_range),
3636         (gst_value_subtract_double_range_double_range),
3637         (gst_value_deserialize_fraction):
3638         * gst/gstvalue.h:
3639           Use gint, gdouble and gchar in our API instead of int, double and
3640           char (and make usage in gstvalue.c more consistent).
3641
3642 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3643
3644         * check/Makefile.am:
3645         * libs/gst/controller/Makefile.am:
3646         * libs/gst/dataprotocol/Makefile.am:
3647           fix up Makefile.am and remove GST_ENABLE_NEW
3648
3649 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3650
3651         * configure.ac:
3652         * gst/Makefile.am:
3653         * gst/base/Makefile.am:
3654         * gst/check/Makefile.am:
3655         * gst/elements/Makefile.am:
3656         * gst/net/Makefile.am:
3657           update LDFLAGS use some more
3658
3659 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3660
3661         * common/m4/gst-doc.m4:
3662           Fixes #312589
3663
3664 2005-11-26  Edward Hervey  <edward@fluendo.com>
3665
3666         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3667         This shouldn't issue a g_warning since it returns NULL if it
3668         couldn't find the plugin, and all functions using this behave
3669         properly on a NULL return. Switching to a GST_WARNING.
3670
3671 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
3672
3673         * gst/gstbin.c: (gst_bin_handle_message_func):
3674         Don't leak clock messages.
3675
3676 2005-11-25  Wim Taymans  <wim@fluendo.com>
3677
3678         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3679         (gst_util_uint64_scale_int):
3680         Optimisations, remove unneeded vars.
3681
3682 2005-11-25  Wim Taymans  <wim@fluendo.com>
3683
3684         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3685         Added more checks for the high precision uint64 cases.
3686
3687         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3688         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3689         Implement high precision (guint64 * guint64) / guint64.
3690
3691 2005-11-24  Wim Taymans  <wim@fluendo.com>
3692
3693         * gst/base/gstbasesrc.c: (gst_base_src_query):
3694         Fix wrong percentage query.
3695
3696         * gst/gstutils.c: (gst_util_uint64_scale),
3697         (gst_util_uint64_scale_int):
3698         Add some more common cases that can be handled 
3699         efficiently to _scale.
3700
3701 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3702
3703         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
3704         (gst_mini_object_suite):
3705           don't use check calls from threads; check probably isn't
3706           threadsafe and using a lock to make it threadsafe would
3707           defeat the purpose of this check
3708         * gst/check/gstcheck.c:
3709         * gst/check/gstcheck.h:
3710           use GST_DEBUG some more
3711
3712 2005-11-24  Wim Taymans  <wim@fluendo.com>
3713
3714         * gst/gstutils.c: (gst_util_uint64_scale),
3715         (gst_util_uint64_scale_int):
3716         Chain trivial case to _scale_int.
3717
3718 2005-11-24  Wim Taymans  <wim@fluendo.com>
3719
3720         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3721         Added test for scaling.
3722
3723         * gst/gstclock.h:
3724         Small doc fix.
3725
3726         * gst/gstutils.c: (gst_util_uint64_scale_int):
3727         Implemented high precision scaling code.
3728
3729 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
3730
3731         * gst/gstinfo.h:
3732           do not crash on pad==NULL
3733
3734 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3735
3736         Patch by: Stefan Kost
3737
3738         * common/gtk-doc.mak:
3739         * docs/gst/Makefile.am:
3740         * docs/libs/Makefile.am:
3741           Fix distcheck issues for the libraries docs build
3742           Closes #319599.
3743
3744 2005-11-24  Michael Smith <msmith@fluendo.com>
3745
3746         * docs/manual/basics-helloworld.xml:
3747           Fix bug #315027: memory leak in example code in docs.
3748
3749 2005-11-24  Michael Smith <msmith@fluendo.com>
3750
3751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3752           Unlock the PREROLL_LOCK in a failure case.
3753
3754 2005-11-24  Wim Taymans  <wim@fluendo.com>
3755
3756         * docs/gst/gstreamer-sections.txt:
3757         * gst/base/gstadapter.h:
3758         * gst/base/gstbasesink.h:
3759         * gst/base/gstbasesrc.h:
3760         * gst/base/gstbasetransform.h:
3761         * gst/base/gstpushsrc.h:
3762         * gst/elements/gstfakesink.h:
3763         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
3764         * gst/elements/gstfakesrc.h:
3765         * gst/elements/gstfilesink.h:
3766         * gst/elements/gstfilesrc.h:
3767         * gst/gst.c:
3768         * gst/gstbin.c:
3769         * gst/gstbuffer.c: (_gst_buffer_copy):
3770         * gst/gstbus.h:
3771         * gst/gstcaps.c:
3772         * gst/gstchildproxy.c:
3773         * gst/gstclock.c:
3774         * gst/gstelement.c:
3775         * gst/gstelementfactory.c:
3776         * gst/gstelementfactory.h:
3777         * gst/gstevent.c:
3778         * gst/gstghostpad.h:
3779         * gst/gstindex.h:
3780         * gst/gstinterface.h:
3781         * gst/gstminiobject.c:
3782         * gst/gstminiobject.h:
3783         * gst/gstpad.c:
3784         * gst/gstpad.h:
3785         * gst/gstpadtemplate.h:
3786         * gst/gstpipeline.h:
3787         * gst/gstpluginfeature.h:
3788         * gst/gstquery.h:
3789         * gst/gstqueue.h:
3790         * gst/gsttaglist.c:
3791         * gst/gsttaglist.h:
3792         * gst/gsttagsetter.c:
3793         * gst/gsttagsetter.h:
3794         * gst/gsttrace.c:
3795         * gst/gsttrace.h:
3796         * gst/gsttypefind.h:
3797         * gst/gsturi.h:
3798         * gst/gstvalue.c:
3799         * gst/net/gstnetclientclock.c:
3800         * gst/net/gstnetclientclock.h:
3801         * gst/net/gstnettimepacket.c:
3802         * gst/net/gstnettimeprovider.c:
3803         * gst/net/gstnettimeprovider.h:
3804         Doc fixes.
3805
3806 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3807
3808         * configure.ac: back to HEAD
3809
3810 === release 0.9.6 ===
3811
3812 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
3813
3814         * configure.ac:
3815           releasing 0.9.6, "Always On Time"
3816
3817 2005-11-23  Wim Taymans  <wim@fluendo.com>
3818
3819         * docs/gst/gstreamer-sections.txt:
3820         * gst/glib-compat.c:
3821         * gst/gsttagsetter.c:
3822         * gst/gstvalue.c:
3823         * gst/net/gstnetclientclock.c:
3824         * gst/net/gstnettimepacket.h:
3825         Doc updates.
3826
3827 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3828
3829         * docs/faq/using.xml:
3830         * docs/libs/tmpl/gstcontrol.sgml:
3831         * docs/manual/advanced-dparams.xml:
3832         * docs/manual/appendix-checklist.xml:
3833         * docs/manual/basics-elements.xml:
3834         * docs/pwg/other-source.xml:
3835         * docs/random/moving-plugins:
3836         * gst/gstpad.c:
3837         * tools/gst-launch.1.in:
3838           remove mentions of sinesrc
3839
3840 2005-11-23  Michael Smith <msmith@fluendo.com>
3841
3842         * docs/gst/gstreamer-sections.txt:
3843           Update for new API and API changes.
3844         * gst/gstobject.h:
3845           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3846         * gst/gstvalue.c:
3847           Documentation typo fix.
3848         * gst/net/gstnettimepacket.c:
3849           Documentation fixes for arguments.
3850
3851 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
3852
3853         * gst/gststructure.c: (gst_structure_get_fraction),
3854         (gst_structure_parse_value),
3855         (gst_structure_fixate_field_nearest_fraction):
3856         * gst/gststructure.h:
3857         * gst/gstutils.c: (gst_util_uint64_scale_int):
3858         * gst/gstutils.h:
3859         * scripts/update-funcnames:
3860         API Changes. 
3861         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3862         Make gst_structure_fixate_field_nearest_fraction take a numerator
3863         and denominator argument instead of a GValue
3864         add gst_structure_get_fraction helper function.
3865
3866 2005-11-23  Wim Taymans  <wim@fluendo.com>
3867
3868         * docs/design/part-TODO.txt:
3869         Update TODO.
3870
3871         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3872         * gst/net/gstnetclientclock.h:
3873         Use parent fields for timeout and window_size.
3874
3875 2005-11-23  Andy Wingo  <wingo@pobox.com>
3876
3877         * check/net/gstnetclientclock.c (test_functioning): Adjust to
3878         rate_num/rate_denom change.
3879
3880         * gst/net/gstnetclientclock.c
3881         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3882         OBJECT_LOCK. Don't call add_observation with the lock.
3883
3884         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3885         fraction.
3886         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3887         rate fraction.
3888         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3889         deal with rate as a fraction whose numerator and denominator are
3890         GstClockTime values.
3891         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3892         master; the other fields are protected by the SLAVE_LOCK.
3893         (do_linear_regression): Note that this must be called with the
3894         SLAVE_LOCK.
3895         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3896         OBJECT_LOCK. Call set_calibration instead of touching the
3897         variables directly.
3898         (gst_clock_set_property, gst_clock_get_property): Protect
3899         master/slave parameters with the SLAVE_LOCK.
3900
3901         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3902         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3903         note that all of the instance variables that add_observation and
3904         the set_master functions use are protected by that lock and not
3905         the OBJECT_LOCK.
3906         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3907
3908         * gst/gstclock.c (gst_clock_add_observation): No longer requires
3909         the caller to take the object lock.
3910
3911 2005-11-23  Wim Taymans  <wim@fluendo.com>
3912
3913         * gst/gsterror.c: (_gst_core_errors_init):
3914         * gst/gsterror.h:
3915         Add error for clock stuff.
3916
3917         * gst/gstpipeline.c: (gst_pipeline_change_state),
3918         (gst_pipeline_set_clock):
3919         Post clock error when clock cannot be used in a pipeline.
3920
3921 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
3922
3923         * docs/gst/gstreamer-sections.txt:
3924           make two symbols from gstinfo private for the docs
3925         * gst/base/gstcollectpads.h:
3926         * gst/gstutils.c:
3927           fix doc typos, update docs
3928
3929 2005-11-22  Wim Taymans  <wim@fluendo.com>
3930
3931         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3932         (gst_base_sink_wait), (gst_base_sink_do_sync),
3933         (gst_base_sink_handle_event):
3934         * gst/base/gstbasesink.h:
3935         No need to store the clock, the parent element class already
3936         has it.
3937
3938         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3939         Updates for clock_set returning a gboolean
3940
3941         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3942         (gst_clock_id_wait_async), (gst_clock_class_init),
3943         (gst_clock_init), (gst_clock_finalize),
3944         (gst_clock_get_internal_time), (gst_clock_get_time),
3945         (gst_clock_slave_callback), (gst_clock_set_master),
3946         (gst_clock_get_master), (do_linear_regression),
3947         (gst_clock_add_observation), (gst_clock_set_property),
3948         (gst_clock_get_property):
3949         * gst/gstclock.h:
3950         Implement master/slave. When setting a clock as a slave, a
3951         periodic timeout is scheduled to sample master and slave times.
3952         Then the slave clock is recalibrated to match offset and rate
3953         of the master clock.
3954         Update logging a bit.
3955         Add flag so that a clock can state that is cannot be slaved to
3956         another clock.
3957
3958         * gst/gstelement.c: (gst_element_set_clock):
3959         * gst/gstelement.h:
3960         The set clock returns a gboolean for when an element cannot
3961         deal with the selected clock in the pipeline. 
3962
3963         * gst/gstpipeline.c: (gst_pipeline_change_state),
3964         (gst_pipeline_set_clock):
3965         * gst/gstpipeline.h:
3966         Handle the case where the selected clock cannot be set on
3967         the pipeline.
3968
3969         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3970         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3971         (gst_net_client_clock_set_property),
3972         (gst_net_client_clock_get_property),
3973         (gst_net_client_clock_observe_times):
3974         * gst/net/gstnetclientclock.h:
3975         Use regression code in GstClock parent, remove duplicated
3976         functionality.
3977
3978 2005-11-22  Michael Smith <msmith@fluendo.com>
3979
3980         * gst/gstutils.c: (gst_util_clock_time_scale):
3981         * gst/gstutils.h:
3982         * docs/gst/gstreamer-sections.txt:
3983           Rename method to have extra underscore.
3984
3985 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3986
3987         * gst/elements/Makefile.am:
3988         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3989         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3990         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3991         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3992         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3993         * gst/elements/gstfakesrc.h:
3994         * gst/gstqueue.c: (queue_leaky_get_type):
3995           correctly fix GEnumValues so that nick is the short lowercase
3996           dashed tag
3997         * tools/gst-inspect.c: (print_element_properties_info):
3998           also show the nick, since it's useful to use from parse_launch
3999           syntax
4000           Fixes #322139
4001
4002 2005-11-22  Michael Smith <msmith@fluendo.com>
4003
4004         * gst/gstutils.c: (gst_util_clocktime_scale):
4005         * gst/gstutils.h:
4006         * docs/gst/gstreamer-sections.txt:
4007           Add util method for scaling a clocktime by a fraction. Useful 
4008           implementation is left as an exercise for the reader.
4009
4010 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4011
4012         * gst/gstvalue.c: (gst_value_collect_fraction_range):
4013         If needed, allocate storage in the destination value during
4014         collection.
4015
4016 2005-11-22  Edward Hervey  <edward@fluendo.com>
4017
4018         * docs/gst/gstreamer-sections.txt:
4019         * gst/Makefile.am:
4020         * gst/gst.h:
4021         * gst/gsturitype.c:
4022         * gst/gsturitype.h:
4023         * gst/gstutils.c: (gst_util_set_object_arg):
4024         * tools/gst-compprep.c: (main):
4025         * tools/gst-inspect.c: (print_element_properties_info):
4026         Removed GstURI, closes bug #321061
4027
4028 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4029
4030         * check/gst/gststructure.c: (GST_START_TEST):
4031         * gst/gststructure.c: (gst_structure_parse_value):
4032           Oops, broke automatic string type parsing.
4033           Add a test to catch it in future.
4034
4035 2005-11-22  Andy Wingo  <wingo@pobox.com>
4036
4037         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
4038         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
4039         Actually rename the function implementations. Grr.
4040
4041 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4042
4043         * check/gst/capslist.h:
4044           Comment test cases
4045         * check/gst/gststructure.c: (GST_START_TEST),
4046         (gst_structure_suite):
4047           Test automatic value type detection in gst_structure_from_string.
4048         * gst/gststructure.c: (gst_structure_parse_value):
4049           Add fraction as a type we try and guess automatically in
4050           caps/structure strings.
4051
4052 2005-11-22  Andy Wingo  <wingo@pobox.com>
4053
4054         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
4055
4056         * gst/gsttagsetter.h:
4057         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
4058         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
4059         (gst_tag_setter_add_tag_valist)
4060         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
4061         _add_values, _add_valist, and _add_valist_values. Since this is an
4062         interface the function suffixes should be more explicit so
4063         language binding don't end up with element.add_valist ->
4064         gst_tag_setter_add_valist, for example. Fixes #322069.
4065
4066 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4067
4068         * check/gst/gstcaps.c: (GST_START_TEST):
4069           Extend caps string tests to check that a caps to string
4070           conversion is reversible and produces the same caps.
4071
4072         * gst/gststructure.c: (gst_structure_value_get_generic_type):
4073           Output "fraction" as the generic type fraction range, so caps
4074           serialisation and deserialisation works.
4075         * check/gst/capslist.h:
4076         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4077           Support 'MIN' and 'MAX' for deserialising fractions.
4078
4079 2005-11-22  Andy Wingo  <wingo@pobox.com>
4080
4081         * gst/gstevent.h (gst_event_new_new_segment)
4082         (gst_event_parse_new_segment, gst_event_new_buffer_size)
4083         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
4084         Renamed from *_newsegment, *_buffersize, *_notarget.
4085
4086         * scripts/update-funcnames: New script, performs the changes
4087         listed above.
4088
4089 2005-11-22  Wim Taymans  <wim@fluendo.com>
4090
4091         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4092         Make sure the GstFlowReturn is returned.
4093
4094         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
4095         (gst_bus_add_signal_watch):
4096         * gst/gstbus.h:
4097         add gst_bus_add_signal_watch_full.
4098
4099         * gst/gstplugin.c: (gst_plugin_load_file):
4100         Small style cleanup.
4101
4102 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4103
4104         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
4105           Block the fakesrc srcpad when we send an event, to avoid
4106           contention on the stream_lock causing random test failures.
4107
4108 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4109
4110         * check/gst/gstvalue.c: (GST_START_TEST):
4111         * gst/gstvalue.c: (gst_value_fraction_subtract):
4112           Fix subtraction.
4113
4114 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
4115
4116         * gst/gst.h:
4117           include "gstchildproxy.h"
4118         * gst/gstchildproxy.h:
4119         * libs/gst/controller/gstcontroller.h:
4120           use G_GNUC_NULL_TERMINATED
4121
4122 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4123
4124         * check/gst/capslist.h:
4125         * check/gst/gstcaps.c: (GST_START_TEST):
4126         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4127         * gst/gststructure.c: (gst_structure_parse_range),
4128         (gst_structure_fixate_field_nearest_fraction):
4129         * gst/gststructure.h:
4130         * gst/gstvalue.c: (gst_value_init_fraction_range),
4131         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
4132         (gst_value_collect_fraction_range),
4133         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
4134         (gst_value_set_fraction_range_full),
4135         (gst_value_get_fraction_range_min),
4136         (gst_value_get_fraction_range_max),
4137         (gst_value_serialize_fraction_range),
4138         (gst_value_transform_fraction_range_string),
4139         (gst_value_compare_fraction_range),
4140         (gst_value_deserialize_fraction_range),
4141         (gst_value_intersect_fraction_fraction_range),
4142         (gst_value_intersect_fraction_range_fraction_range),
4143         (gst_value_subtract_fraction_fraction_range),
4144         (gst_value_subtract_fraction_range_fraction),
4145         (gst_value_subtract_fraction_range_fraction_range),
4146         (gst_value_collect_fraction), (gst_value_fraction_multiply),
4147         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
4148         (gst_value_transform_string_fraction), (_gst_value_initialize):
4149         * gst/gstvalue.h:
4150           Implement fraction ranges and extend GstFraction to support
4151           arithmetic subtraction, as well as deserialization from integer
4152           strings such as "100"
4153           Add a testsuite as for int and double range set operations
4154
4155 2005-11-21  Andy Wingo  <wingo@pobox.com>
4156
4157         * gst/gsttaglist.h: 
4158         * gst/gstcaps.h: 
4159         * gst/gststructure.h: Add glib-compat.h.
4160
4161 2005-11-21  Wim Taymans  <wim@fluendo.com>
4162
4163         * gst/gstbin.c: (gst_bin_change_state_func):
4164         Fix for #321595
4165
4166 2005-11-21  Wim Taymans  <wim@fluendo.com>
4167
4168         * gst/gstsegment.h:
4169         And add a nice define too.
4170
4171 2005-11-21  Wim Taymans  <wim@fluendo.com>
4172
4173         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
4174         (gst_segment_new), (gst_segment_free), (gst_segment_init),
4175         (gst_segment_set_duration), (gst_segment_set_last_stop),
4176         (gst_segment_set_seek), (gst_segment_set_newsegment),
4177         (gst_segment_to_stream_time), (gst_segment_to_running_time),
4178         (gst_segment_clip):
4179         * gst/gstsegment.h:
4180         Make binding friendly.
4181
4182 2005-11-21  Andy Wingo  <wingo@pobox.com>
4183
4184         * gst/gsttagsetter.h: 
4185         * gst/gsttaglist.h: 
4186         * gst/gststructure.h: 
4187         * gst/gstcaps.h: 
4188         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
4189         #319940.
4190
4191         * gst/gsterror.c (_gst_core_errors_init):
4192         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
4193         category.
4194
4195         * gst/Makefile.am (gst_headers): Add glib-compat.h.
4196         (noinst_HEADERS): noinst the -private.
4197
4198 2005-11-21  Michael Smith <msmith@fluendo.com>
4199
4200         * gst/gstplugin.h:
4201         * gst/gstregistry.h:
4202           Remove unimplemented declarations for which we can see no sensible
4203           use.
4204
4205 2005-11-21  Andy Wingo  <wingo@pobox.com>
4206
4207         * gst/gst.h: Include glib-compat.h.
4208
4209         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
4210
4211         * gst/glib-compat.c: Include the public and the private header.
4212
4213         * gst/glib-compat-private.h: Copied here from glib-compat.h.
4214
4215         * gst/gstvalue.c: 
4216         * gst/gstpad.c: 
4217         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
4218
4219         * check/gst/gstevent.c (create_custom_events): Check that
4220         FLUSH_STOP is serialized.
4221
4222         * check/elements/identity.c (event_func): 
4223         * check/elements/fakesrc.c (event_func): No stream lock, the core
4224         takes it.
4225
4226         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
4227         stream lock taking, yay.
4228
4229         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
4230         ensure that core takes the stream lock.
4231
4232         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
4233         lock name change.
4234
4235         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
4236         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
4237         it already. For the flush start we do take it though so we get the
4238         right preroll state change messages.
4239
4240         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
4241         the stream lock here, the core does it for us.
4242
4243         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
4244         GST_STREAM_GET_LOCK.
4245         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
4246         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
4247         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
4248         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
4249         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
4250         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
4251
4252         * gst/gstpad.c: Update for stream lock name change.
4253
4254         * gst/base/gstbasesink.c: Update for preroll lock name change.
4255
4256 2005-11-21  Wim Taymans  <wim@fluendo.com>
4257
4258         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
4259         (gst_clock_get_master):
4260         * gst/gstclock.h:
4261         * gst/gstsystemclock.c: (gst_system_clock_init):
4262         Convert Clock flags to object flags.
4263         Added methods to manage master/slave clocks.
4264
4265 2005-11-21  Wim Taymans  <wim@fluendo.com>
4266
4267         * check/gst/gstsegment.c: (GST_START_TEST):
4268         * docs/design/part-TODO.txt:
4269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4270         (gst_base_sink_event), (gst_base_sink_do_sync),
4271         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4272         (gst_base_sink_query), (gst_base_sink_change_state):
4273         * gst/base/gstbasesink.h:
4274         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4275         (gst_base_src_default_newsegment),
4276         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4277         (gst_base_src_get_range), (gst_base_src_loop),
4278         (gst_base_src_change_state):
4279         * gst/base/gstbasesrc.h:
4280         * gst/base/gstbasetransform.c:
4281         (gst_base_transform_prepare_output_buf),
4282         (gst_base_transform_event), (gst_base_transform_change_state):
4283         * gst/base/gstbasetransform.h:
4284         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4285         (gst_collect_pads_event):
4286         * gst/base/gstcollectpads.h:
4287         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
4288         (gst_fake_src_create):
4289         * gst/elements/gstfakesrc.h:
4290         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4291         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4292         (gst_segment_set_last_stop), (gst_segment_set_seek),
4293         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4294         (gst_segment_to_running_time), (gst_segment_clip):
4295         * gst/gstsegment.h:
4296         More segment updates, replace code in plugins with segment
4297         helper functions.
4298
4299 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4300
4301         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
4302         Don't ignore sscanf results
4303
4304 2005-11-21  Andy Wingo  <wingo@pobox.com>
4305
4306         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
4307
4308         * *.h:
4309         * *.c: Ran scripts/update-macros. Oh yes.
4310
4311         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
4312         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
4313         GST_GET_LOCK, etc.
4314
4315         * scripts/update-macros: New script. Run it on your files to
4316         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
4317         well.
4318
4319 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4320
4321         * docs/gst/Makefile.am:
4322         * docs/gst/gstreamer-docs.sgml:
4323         * docs/gst/gstreamer-sections.txt:
4324         * docs/gst/gstreamer.types:
4325         * gst/gstinfo.h:
4326           more docs fixes, add new api to the docs
4327
4328 2005-11-21  Andy Wingo  <wingo@pobox.com>
4329
4330         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
4331         state_broadcast call.
4332
4333         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
4334
4335 2005-11-21  Julien MOUTTE  <julien@moutte.net>
4336
4337         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
4338         function calls for arrays.
4339
4340 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4341
4342         * docs/random/ensonic/media-device-daemon.txt:
4343           wild idea, can this be done?
4344         * docs/gst/gstreamer-sections.txt:
4345         * gst/gsterror.h:
4346         * gst/gstfilter.c:
4347         * gst/gstfilter.h:
4348         * gst/gstplugin.h:
4349         * gst/gstpluginfeature.c:
4350         * gst/gsttrace.c:
4351         * gst/gstvalue.c:
4352         * gst/gstvalue.h:
4353           doc fixes and additions
4354
4355 2005-11-21  Andy Wingo  <wingo@pobox.com>
4356
4357         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
4358         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
4359         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
4360         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
4361         private to the basesrc implementation.
4362
4363         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
4364         behalf of event function if necessary. It should no longer be
4365         necessary to take the stream lock in pad's event functions. Fixes
4366         #320299.
4367
4368 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4369         * docs/gst/gstreamer-sections.txt:
4370         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
4371         (gst_structure_fixate_field_nearest_double),
4372         (gst_structure_fixate_field_boolean):
4373         * gst/gststructure.h:
4374         * win32/common/libgstreamer.def:
4375         * win32/gstreamer.def:
4376
4377         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
4378         (#322027)
4379
4380 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4381
4382         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
4383         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
4384         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
4385         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
4386         (gst_fdsrc_uri_handler_init):
4387         * gst/elements/gstfdsrc.h:
4388           Port fd:// URI handler from 0.8 to fdsrc
4389
4390 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4391
4392         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
4393         (gst_value_serialize_fourcc):
4394         * gst/gstvalue.h:
4395           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
4396           consistent with our other format defines (#320324).
4397
4398 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4399
4400         * gst/gstvalue.c: (gst_value_is_fixed):
4401           Revert previous commit. Value lists are by definition
4402           not fixed, as they are a list of possible values.
4403
4404 2005-11-21  Andy Wingo  <wingo@pobox.com>
4405
4406         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
4407         during the stable series if we need it. Fixes #319178.
4408
4409         * gst/gstevent.c (gst_event_new_filler): Removed.
4410
4411         * check/gst/gstevent.c: Update comment about filler events.
4412
4413 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4414
4415         * gst/gstvalue.c: (gst_value_is_fixed):
4416           Should handle both value arrays and value lists.
4417
4418 2005-11-21  Andy Wingo  <wingo@pobox.com>
4419
4420         patch by: Alessandro Dessina <alessandro nnva org>
4421
4422         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
4423         functions to access arrays. Fixes #321962.
4424
4425 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4426
4427         * docs/gst/gstreamer.types:
4428           gst_collectpads_get_type => gst_collect_pads_get_type.
4429           
4430         * gst/base/gstbasetransform.c:
4431           Remove unused SIGNAL_HANDOFF enum.
4432
4433 2005-11-21  Andy Wingo  <wingo@pobox.com>
4434
4435         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
4436         the event type (upstream, downstream, serialized). Renamed
4437         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
4438         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
4439         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
4440
4441         * gst/gstevent.c: Update for new CUSTOM event names.
4442
4443         * check/gst/gstevent.c: Update check for new CUSTOM event names.
4444
4445         * gst/gstevent.h:
4446         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
4447         bug #319392.
4448
4449 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4450
4451         * docs/gst/gstreamer-sections.txt:
4452         * win32/common/libgstbase.def:
4453         * win32/libgstbase.def:
4454         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4455         (gst_collect_pads_class_init), (gst_collect_pads_init),
4456         (gst_collect_pads_finalize), (gst_collect_pads_new),
4457         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
4458         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
4459         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
4460         (gst_collect_pads_start), (gst_collect_pads_stop),
4461         (gst_collect_pads_peek), (gst_collect_pads_pop),
4462         (gst_collect_pads_available), (gst_collect_pads_read),
4463         (gst_collect_pads_flush), (gst_collect_pads_event),
4464         (gst_collect_pads_chain):
4465         * gst/base/gstcollectpads.h:
4466           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
4467           unimplemented functions as unimplemented. Add padding to
4468           GstCollectData. (#320766, #320423)
4469
4470 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4471
4472         * gst/gstmessage.c:
4473           Improve docs for DURATION message (usage of duration parameter)
4474           (#320113)
4475
4476 2005-11-20  Wim Taymans  <wim@fluendo.com>
4477
4478         * check/Makefile.am:
4479         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
4480         (main):
4481         * gst/Makefile.am:
4482         * gst/gst.h:
4483         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4484         (gst_segment_set_seek), (gst_segment_set_newsegment),
4485         (gst_segment_to_stream_time), (gst_segment_to_running_time),
4486         (gst_segment_clip):
4487         * gst/gstsegment.h:
4488         Added segment helper structure and methods. Not fully implemented
4489         yet.
4490         Added segment check.
4491
4492 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
4493
4494         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4495           Add a deserialisation test for fractions
4496         * examples/metadata/read-metadata.c: (message_loop),
4497         (make_pipeline), (main):
4498           Fix up metadata reading sample.
4499         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4500           Debug format fix
4501         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4502           Don't try and fixate empty caps
4503         * gst/gst_private.h:
4504           Wrap in G_BEGIN_DECLS/G_END_DECLS
4505         * gst/gstvalue.c: (gst_value_collect_fraction),
4506         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
4507         (gst_value_transform_string_fraction),
4508         (gst_value_compare_fraction):
4509           Add some extra guards to ensure that we don't end up 
4510           with an invalid denominator of 0 in a gstfraction and
4511           that fractions always get reduced.
4512
4513 2005-11-20  Wim Taymans  <wim@fluendo.com>
4514
4515         * docs/gst/gstreamer-sections.txt:
4516         * gst/gstbuffer.h:
4517         * gst/gstelement.c:
4518         * gst/gstformat.c:
4519         * gst/gstformat.h:
4520         * gst/gstindex.h:
4521         * gst/gstquery.c:
4522         * gst/gstquery.h:
4523         * gst/gstvalue.c:
4524         Doc fixes.
4525
4526 2005-11-20  Wim Taymans  <wim@fluendo.com>
4527
4528         * docs/design/part-TODO.txt:
4529         * gst/gstcaps.h:
4530         Make a proper enum of the flag.
4531
4532 2005-11-19  Wim Taymans  <wim@fluendo.com>
4533
4534         * docs/design/part-TODO.txt:
4535         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
4536         (gst_format_to_quark), (gst_format_register):
4537         * gst/gstformat.h:
4538         * gst/gstquery.c: (_gst_query_initialize),
4539         (gst_query_type_get_name), (gst_query_type_to_quark),
4540         (gst_query_type_register):
4541         * gst/gstquery.h:
4542         Add type to quark and type to string conversions.
4543
4544 2005-11-19  Andy Wingo  <wingo@pobox.com>
4545
4546         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
4547         #320097.
4548
4549 2005-11-19  Wim Taymans  <wim@fluendo.com>
4550
4551         * docs/design/part-TODO.txt:
4552         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4553         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
4554         (gst_bin_handle_message_func):
4555         * gst/gstbin.h:
4556         Make message handling overridable.
4557
4558 2005-11-19  Andy Wingo  <wingo@pobox.com>
4559
4560         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
4561
4562         * gst/gstclock.h:
4563         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
4564         be a GstClockTime.
4565         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
4566         is a GstClockTime. Fixes #321710.
4567
4568         * gst/gstclock.h (GstClock): Remove offset property. Add
4569         internal_calibration and external_calibration. Fix padding. Pad
4570         also by GstClockTime so we don't run into problems.
4571
4572         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
4573         (gst_clock_get_rate_offset): Remove.
4574         (gst_clock_set_time_adjust): Remove. Fixes #321712.
4575
4576         * gst/gstutils.h:
4577         * gst/gstutils.c (g_static_rec_cond_wait)
4578         (g_static_rec_cond_timed_wait): Removed, no longer needed.
4579
4580         * gst/gstbin.c: Remove terrible continue_state prototype.
4581
4582         * gst/gstelement.h (gst_element_continue_state): Make public.
4583
4584         * gst/gstelement.h:
4585         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
4586         by continue_state. Fixes #319389.
4587
4588         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
4589         Really fixes #168438. However I don't see anywhere where the
4590         filter function is called... stupid GStreamer...
4591         
4592         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
4593         don't have a dispose function, so it won't get called when the
4594         object is unreffed, but oh well!
4595
4596         * gst/gstindex.c (gst_index_set_filter_full): New API function,
4597         allows a destroy function to be set so user_data can be freed.
4598         Fixes #168438.
4599         (gst_index_set_filter): Call gst_index_set_filter_full.
4600
4601         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
4602
4603         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
4604         string should produce an error, given the lack of a way to
4605         represent NULL strings. Fixes #165650.
4606         
4607         * gst/gstvalue.h: 
4608         * gst/gstvalue.c (gst_value_array_append_value) 
4609         (gst_value_array_prepend_value, gst_value_array_get_size) 
4610         (gst_value_array_get_value): New API, copied from
4611         gst_value_list_*, only operates on arrays.
4612         (gst_value_list_append_value, gst_value_list_prepend_value) 
4613         (gst_value_list_concat, gst_value_list_get_size) 
4614         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
4615
4616         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
4617         init_list, because it works on both.
4618         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
4619         (gst_value_copy_list_or_array): Renamed from copy_list.
4620         (gst_value_free_list_or_array): Renamed from free_list.
4621         (gst_value_collect_list_or_array): Renamed from collect_list.
4622         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
4623         (gst_value_list_or_array_peek_pointer): Renamed from
4624         list_peek_pointer.
4625         (_gst_value_array_value_table, _gst_value_list_value_table):
4626         Update value table functions.
4627         (gst_value_compare_list_or_array): Renamed from compare_list.
4628
4629         * gsttaglist.h: Whoops, foreach function returns void. Also fix
4630         some constness.
4631
4632         * gst/gsttaglist.c:
4633         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
4634         GstTagList*. Fixes #143472.
4635
4636         * gst/gststructure.h: Clarify what the foreach/map functions can
4637         or can't do to their arguments.
4638
4639 2005-11-18  Wim Taymans  <wim@fluendo.com>
4640
4641         * gst/gstclock.c: (gst_clock_set_calibration),
4642         (gst_clock_get_calibration):
4643         Doc and API fixes.
4644         Calibration can be set with internal time equal to current
4645         internal time too.
4646
4647 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4648
4649         * gst/gsterror.c:
4650         * gst/gsterror.h:
4651           document
4652
4653 2005-11-18  Andy Wingo  <wingo@pobox.com>
4654
4655         * configure.ac: 
4656         * pkgconfig/gstreamer-net.pc.in:
4657         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4658         * pkgconfig/Makefile.am: Add net pkgconfig files.
4659
4660 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
4661
4662         * gst/gstcaps.c:
4663         * gst/gstghostpad.c:
4664         * gst/gsttrace.c:
4665         * gst/gstvalue.c:
4666         * gst/gstvalue.h:
4667           docs fixes
4668
4669 2005-11-18  Andy Wingo  <wingo@pobox.com>
4670
4671         * gst/net/gstnetclientclock.c: Turn off debugging.
4672
4673         * check/net/gstnetclientclock.c (test_functioning): Assert that the
4674         times connverge somewhat. Can't make a real test.
4675
4676         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
4677         integer arithmetic. Return the minimum of the domain, which can be
4678         set as "internal" for gst_clock_set_calibration.
4679         (gst_net_client_clock_observe_times): Call _set_calibration.
4680         (gst_net_client_clock_new): Call _set_calibration instead of
4681         rate_offset.
4682
4683         * check/net/gstnetclientclock.c (test_functioning): Use the right
4684         adjustment api.
4685
4686         * gst/gstclock.h:
4687         * gst/gstclock.c (gst_clock_get_calibration) 
4688         (gst_clock_set_calibration): New functions, obsolete the ones I
4689         added yesterday. Doh. Precision issues mean we have to extrapolate
4690         from a point in the more recent past than 1970.
4691         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
4692         obsolete.
4693         (gst_clock_adjust_unlocked): Use the right calibration data.
4694
4695 2005-11-18  Edward Hervey  <edward@fluendo.com>
4696
4697         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
4698         Also reset the ->current_* values in READY->PAUSED
4699
4700 2005-11-18  Andy Wingo  <wingo@pobox.com>
4701
4702         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
4703         Whoops, check the right fd. Also add some debugging.
4704         (gst_net_client_clock_observe_times): Adjust for int64 offset.
4705         (do_linear_regression): Add a crapload of debugging. Subtract off
4706         the minimum values from the input series to discard unneeded bits.
4707         Use only int arithmetic. There is still double arithmetic when
4708         calculating the intercept that needs fixing. Return boolean to
4709         indicate success; FALSE would mean the domain or range is too
4710         great. Still needs fixes.
4711
4712 2005-11-18  Wim Taymans  <wim@fluendo.com>
4713
4714         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4715         For the current position in stream time, we need to subtract
4716         accumulated time.
4717         
4718         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4719         Release lock before calling the callback function of async
4720         entries.
4721
4722 2005-11-18  Andy Wingo  <wingo@pobox.com>
4723
4724         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
4725         Port goes all the way to MAXUINT16.
4726
4727         * gst/net/gstnettimeprovider.c: Make the port range the same as
4728         for the kernel: 0 assigns, otherwise ports are less than
4729         MAXUINT16.
4730
4731         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
4732         port change.
4733
4734         * check/net/gstnetclientclock.c (test_functioning): Add the start
4735         of another test. 
4736
4737 2005-11-18  Wim Taymans  <wim@fluendo.com>
4738
4739         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4740         (gst_bin_remove_func), (bin_bus_handler):
4741         * gst/gstbin.h:
4742         Removing a clock provider from a bin, triggers a clock lost message
4743         so that a new clock will be selected.
4744         Adding a clock to a bin triggers a clock provider message.
4745         Make sure we reselect a clock when we received a clock lost message.
4746         Keep a reference to the element that provided the clock.
4747
4748 2005-11-18  Andy Wingo  <wingo@pobox.com>
4749
4750         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
4751         the clock initially so it produces values around the base time.
4752         (gst_net_client_clock_class_init): Typo fix.
4753         (gst_net_client_clock_thread): Add note on when the socket gets
4754         closed.
4755
4756 2005-11-17  Wim Taymans  <wim@fluendo.com>
4757
4758         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
4759         Free remote and local time arrays.
4760
4761 2005-11-17  Wim Taymans  <wim@fluendo.com>
4762
4763         * gst/net/gstnetclientclock.c: (do_linear_regression),
4764         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
4765         Fix compilation, uninitialized vars and a forgotten continue.
4766
4767 2005-11-17  Andy Wingo  <wingo@pobox.com>
4768
4769         * check/Makefile.am (check_PROGRAMS): 
4770         * check/net/gstnetclientclock.c: Add a most minimal test for the
4771         net client clock. More to come later.
4772
4773         * gst/net/gstnet.h: 
4774         * gst/net/Makefile.am: Add netclientclock.
4775
4776         * gst/net/gstnetclientclock.h:
4777         * gst/net/gstnetclientclock.c: New files, implement an untested
4778         GstClock that takes its time from a network time provider.
4779         Implements the algorithm in network-clock.scm.
4780
4781         * tests/network-clock.scm (*window-size*): Rename from
4782         *queue-length*.
4783         * tests/network-clock.scm (network-time): 
4784         * tests/network-clock-utils.scm (q-push): Update callers.
4785
4786 2005-11-17  Wim Taymans  <wim@fluendo.com>
4787
4788         * gst/gstbin.c: (gst_bin_provide_clock_func),
4789         (gst_bin_sort_iterator_new):
4790         And unref the child too..
4791
4792 2005-11-17  Wim Taymans  <wim@fluendo.com>
4793
4794         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4795         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
4796         Refactor the sort iterator so it can be used while holding the
4797         LOCK too.
4798         Make clock selection select a clock closest to the source.
4799
4800 2005-11-17  Michael Smith <msmith@fluendo.com>
4801
4802         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
4803         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
4804         * gst/gstclock.h:
4805           Anonymous structs are a gcc (and some other compilers) extension, so
4806           don't use them. Since this is only for ABI-compatibility, and our
4807           API/ABI freeze is over in a few days, this whole thing will only
4808           last a few days, so don't bother trying to think up a meaningful
4809           name for the struct.
4810
4811 2005-11-17  Andy Wingo  <wingo@pobox.com>
4812
4813         * gst/gstclock.h (GstClock): Add rate and offset properties,
4814         preserving ABI stability. Add rate/offset accessors. Will file bug
4815         for the freeze break.
4816
4817         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
4818         and offset, trying to keep precision and avoiding
4819         underflow/overflow.
4820         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
4821         functions. Make gst_clock_set_time_adjust obsolete.
4822         (gst_clock_set_time_adjust): Note that this function is obsolete.
4823         Will file bug soon.
4824
4825         * gst/base/gstbasetransform.h: Make the ABI-stability hack
4826         greppable by using GST_PADDING-1+1.
4827
4828 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
4829
4830         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         * gst/gstmessage.c: (gst_message_parse_clock_lost):
4833           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4834
4835         * gst/gstpadtemplate.h:
4836         * gst/gstpluginfeature.h:
4837           Don't use c++ style comments in headers (#321638).
4838
4839 2005-11-16  Andy Wingo  <wingo@pobox.com>
4840
4841         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4842         buffer.
4843
4844         * check/net/gstnettimeprovider.c: Check to see that the time
4845         provider actually provides times. Works, yo!
4846
4847 2005-11-16  Wim Taymans  <wim@fluendo.com>
4848
4849         * check/Makefile.am:
4850         Enable more tests.
4851
4852         * check/elements/fakesrc.c: (GST_START_TEST):
4853         Set element to NULL before disposing it.
4854
4855 2005-11-16  Andy Wingo  <wingo@pobox.com>
4856
4857         * gst/net/Makefile.am:
4858         * gst/net/gstnet.h:
4859         * gst/net/gstnettimeprovider.c: 
4860         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4861         provider, include it from gstnet.h, and add it to the build.
4862
4863         * gst/net/gstnettimepacket.h: 
4864         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4865         sending and receiving.
4866
4867 2005-11-16  Wim Taymans  <wim@fluendo.com>
4868
4869         * check/Makefile.am:
4870         Enable valgrind check.
4871
4872         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4873         (gst_fake_src_alloc_buffer):
4874         Fix memleak.
4875
4876 2005-11-16  Wim Taymans  <wim@fluendo.com>
4877
4878         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4879         Call parent finalize too.
4880
4881 2005-11-16  Wim Taymans  <wim@fluendo.com>
4882
4883         * check/Makefile.am:
4884         Enable valgrind check that should work fine now.
4885
4886         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4887         * gst/gstqueue.c: (gst_queue_init):
4888         Fix memleaks in pad allocation.
4889
4890 2005-11-16  Andy Wingo  <wingo@pobox.com>
4891
4892         * gst/net/Makefile.am:
4893         * gst/net/gstnet.h: New part of core to hold network elements and
4894         objects. Put in core because it exposes API that applications want
4895         to use. The library is named libgstnet-tempname right now because
4896         of the existing libgstnet in gst-plugins-base. Solution is
4897         probably to rename the one in plugins-base; will file a bug for
4898         the freeze break.
4899
4900         * gst/net/gstnettimeprovider.c: 
4901         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4902         get_time call over the network.
4903
4904         * configure.ac: 
4905         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4906
4907         * check/Makefile.am:
4908         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4909         get additions shortly.
4910
4911 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4912
4913         * gst/gstpad.c: (gst_pad_new_from_static_template):
4914         * gst/gstpad.h:
4915           add gst_pad_new_from_static_template functions
4916         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4917         (gst_check_setup_sink_pad):
4918         * gst/elements/gsttee.c: (gst_tee_init):
4919           and use them
4920
4921 2005-11-16  Wim Taymans  <wim@fluendo.com>
4922
4923         * gst/gstpad.c: (gst_pad_pause_task):
4924         Removed warning, it's not really an error either.
4925
4926 2005-11-16  Wim Taymans  <wim@fluendo.com>
4927
4928         * gst/base/gstbasetransform.c:
4929         (gst_base_transform_prepare_output_buf),
4930         (gst_base_transform_event):
4931         Check if the caps are NULL, this can happen if the element
4932         is shutting down and the pad caps are set to NULL.
4933
4934 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4935
4936         * gst/elements/gsttee.c: (gst_tee_init):
4937           fix pad template leak in tee
4938
4939 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4940
4941         * gst/glib-compat.c: (g_value_dup_gst_object):
4942         * gst/glib-compat.h:
4943         * gst/gstpad.c: (gst_pad_set_property):
4944           use gst_object_ref when setting the pad template; this will
4945           trigger the pad template leaks on GLib 2.6 and the slaves
4946
4947 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4948
4949         * gst/glib-compat.c: (gst_flags_get_first_value):
4950         * gst/glib-compat.h:
4951         * gst/gstregistryxml.c:
4952           remove functions copied from GLib 2.6
4953
4954 2005-11-16  Michael Smith <msmith@fluendo.com>
4955
4956         * gst/Makefile.am:
4957           Don't link against VALGRIND_LIBS. That was always the wrong thing to
4958           do, but only breaks with newer valgrind versions. We're not a
4959           valgrind tool, we have no link-time dependencies on libcoregrind.
4960
4961 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4962
4963         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4964           some debug changes
4965         * gst/gstmessage.h:
4966           typo fixes
4967
4968 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4969
4970         * gst/base/gstbasesrc.c: (gst_base_src_init):
4971         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4972         * gst/gstqueue.c: (gst_queue_init):
4973         * gst/gstregistryxml.c: (load_feature):
4974           Revert all these unrefs, they don't even pass make check !
4975
4976 2005-11-15  Johan Dahlin  <johan@gnome.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         Free pad templates, fixes a couple of leaks.
4982
4983 2005-11-15  Daniel Fischer  <dan at f3c dot com>
4984
4985         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4986
4987         * gst/gstpad.c: (gst_pad_get_property):
4988           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4989           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4990           (#321452)
4991
4992 2005-11-15  Wim Taymans  <wim@fluendo.com>
4993
4994         * gst/gstevent.c:
4995         Small doc update.
4996
4997 2005-11-15  Andy Wingo  <wingo@pobox.com>
4998
4999         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
5000
5001         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
5002         using GST_CLOCK_TIME_NONE to disable base time management.
5003         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
5004         time if it was NONE before.
5005         (gst_pipeline_change_state): Only munge the base time if
5006         stream_time != GST_CLOCK_TIME_NONE.
5007
5008         * check/gst/gstpipeline.c (test_base_time): Punt around the
5009         problem of the probe not being called, because that's not the
5010         issue I'm looking at. Add a check that setting stream_time to NONE
5011         disables base time management.
5012         
5013 2005-11-15  Wim Taymans  <wim@fluendo.com>
5014
5015         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5016         segment_stop == -1 at startup.
5017
5018         * gst/base/gstbasetransform.c: (gst_base_transform_event),
5019         (gst_base_transform_change_state):
5020         Init segment values at start.
5021
5022 2005-11-15  Wim Taymans  <wim@fluendo.com>
5023
5024         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5025         0 segment values are 0 in any format.
5026
5027         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5028         * gst/base/gstbasetransform.h:
5029         Parse newsegment correctly in basetransform
5030
5031         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5032         Sync to clock using updated segment values.
5033
5034 2005-11-15  Andy Wingo  <wingo@pobox.com>
5035
5036         * check/gst/gstpipeline.c (test_base_time): Add check that the
5037         base time and stream time are reset correctly.
5038
5039 2005-11-15  Wim Taymans  <wim@fluendo.com>
5040
5041         * docs/design/part-TODO.txt:
5042         Some more TODO items.
5043
5044 2005-11-15  Andy Wingo  <wingo@pobox.com>
5045
5046         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
5047         error if the user selected "no clock" as the clocking method.
5048
5049         * check/gst/gstpipeline.c (test_base_time): New test for buffer
5050         timestamps with live capture.
5051
5052         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
5053         is 0 but we are a live source, timestamp the buffers using the
5054         element's clock.
5055
5056 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
5057
5058         * docs/gst/gstreamer-sections.txt:
5059         * gst/gsterror.c:
5060         * gst/gstghostpad.c:
5061         * gst/gstobject.h:
5062         * gst/gstxml.c:
5063           more section docs
5064
5065 2005-11-14  Wim Taymans  <wim@fluendo.com>
5066
5067         * common/gst.supp:
5068           add suppressions from Wim's Debian machine
5069
5070 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5071
5072         * common/gst.supp:
5073           add suppressions from Andy's AMD64 Ubuntu machine
5074
5075 2005-11-14  Andy Wingo  <wingo@pobox.com>
5076
5077         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
5078         STATE_LOCK not necessary. Fixes #311489.
5079
5080         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
5081         #305291.
5082
5083         * gst/gstindex.c (gst_index_add_object): Note in the docs that
5084         this function is not implemented.
5085
5086 2005-11-14  Julien MOUTTE  <julien@moutte.net>
5087
5088         * gst/base/gstbasetransform.c:
5089         (gst_base_transform_prepare_output_buf):
5090         Ref the source pad caps while we need them.
5091         Fixes (#321386)
5092
5093 2005-11-11  Wim Taymans  <wim@fluendo.com>
5094
5095         * docs/gst/gstreamer-sections.txt:
5096         Added some docs for GstCollectData.
5097
5098         * gst/base/gstadapter.c:
5099         Some small code example fix.
5100
5101         * gst/base/gstcollectpads.c:
5102         * gst/base/gstcollectpads.h:
5103         Document some more.
5104
5105 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5106
5107         * configure.ac: back to HEAD
5108
5109 === release 0.9.5 ===
5110
5111 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
5112
5113         * configure.ac:
5114           releasing 0.9.5, "Bike Lunch Day"
5115
5116 2005-11-11  Wim Taymans  <wim@fluendo.com>
5117
5118         * gst/gstbuffer.c: (_gst_buffer_copy):
5119         Copy more flags.
5120
5121         * gst/gstcaps.c: (gst_caps_is_equal):
5122         Fix some docs.
5123         Make _is_equal fast in the trivial cases.
5124
5125         * gst/gstminiobject.c:
5126         * gst/gstminiobject.h:
5127         More docs. Spifify .h file.
5128
5129         * gst/gstutils.c:
5130         Small doc update.
5131
5132 2005-11-11  Wim Taymans  <wim@fluendo.com>
5133
5134         * gst/base/gstbasetransform.c:
5135         (gst_base_transform_prepare_output_buf),
5136         (gst_base_transform_handle_buffer):
5137         Small cleanups.
5138         If we're processing a buffer and need to allocate an output
5139         buffer, we cannot accept a format change. If we did get a 
5140         format change, we have to alloc a buffer ourselves of the 
5141         right size.
5142
5143 2005-11-11  Wim Taymans  <wim@fluendo.com>
5144
5145         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
5146         While checking the flag for reentrancy in the gstcaps function
5147         is nice to detect recursive invocations, it also makes it 
5148         impossible to call getcaps from multiple threads, which must be
5149         possible. So, checking for recursive calls has to go.
5150
5151 2005-11-11  Michael Smith <msmith@fluendo.com>
5152
5153         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5154           Don't sync on buffers that fall partially outside our current
5155           segment. Prevents an assertion failure/abort playing some files.
5156
5157 2005-11-10  Andy Wingo  <wingo@pobox.com>
5158
5159         * check/gst/gstbin.c (test_message_state_changed_children): Style
5160         fix..
5161
5162         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
5163         gst_bus_poll with the signal watch. Ensures that poll and a signal
5164         watch see the same messages.
5165
5166         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
5167         a poll and a watch at the same time get the same messages.
5168
5169 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5170
5171         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
5172         * gst/gstcaps.c: (gst_caps_intersect):
5173           Don't call gst_caps_do_simplify - it doesn't respect order of caps
5174           and it's not needed.
5175
5176 2005-11-10  Wim Taymans  <wim@fluendo.com>
5177
5178         * docs/design/part-TODO.txt:
5179         Updated todo.
5180
5181 2005-11-10  Wim Taymans  <wim@fluendo.com>
5182
5183         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5184         * gst/base/gstbasesrc.c: (gst_base_src_wait),
5185         (gst_base_src_do_sync), (gst_base_src_get_range):
5186         Implement clock sync in base class.
5187
5188 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5189
5190         patch by: Tim-Philipp Müller <tim at centricular dot net>
5191
5192         * gst/gststructure.c: (gst_structure_parse_field),
5193         (gst_structure_from_string):
5194           Forward-port a 0.8 patch to handle escaped spaces in structure string,
5195           so that gst_parse_launch() can deal with spaces in filtered link
5196           caps (fixes #164479)
5197         * check/gst/capslist.h:
5198         * check/gst/gststructure.c: (GST_START_TEST):
5199           add unit tests for this change
5200
5201 2005-11-10  Wim Taymans  <wim@fluendo.com>
5202
5203         * docs/gst/gstreamer-sections.txt:
5204         * gst/gstelement.c:
5205         * gst/gstelement.h:
5206         Fix docs, move some STATE macros to private.
5207
5208 2005-11-10  Wim Taymans  <wim@fluendo.com>
5209
5210         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5211         Added check for bug #317341
5212
5213         * gst/gstbuffer.c:
5214         * gst/gstbuffer.h:
5215         Some more spiffifying.
5216
5217         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
5218         Call peer linkfunction if we are a source pad. Totally fixes
5219         #317341
5220
5221         * gst/gstpad.c:
5222         Update docs, source pads should call the peer linkfunction
5223         so they can atomically perform the pad link.
5224
5225 2005-11-09  Wim Taymans  <wim@fluendo.com>
5226
5227         * gst/gstbuffer.c:
5228         * gst/gstbuffer.h:
5229         Uber-spiffy-spiffify some more.
5230
5231 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
5232
5233         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
5234         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5235         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5236         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
5237         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
5238         * gst/gstpad.c: (gst_pad_init):
5239           Use GST_DEBUG_FUNCPTR() more extensively.
5240
5241 2005-11-09  Wim Taymans  <wim@fluendo.com>
5242
5243         * gst/gstobject.c: (gst_object_class_init):
5244         * gst/gstobject.h:
5245         Documentation fixes.
5246
5247 2005-11-09  Edward Hervey  <edward@fluendo.com>
5248
5249         * gst/gsttypefindfactory.c:
5250         Fix docs.
5251         
5252 2005-11-09  Edward Hervey  <edward@fluendo.com>
5253
5254         * gst/base/gsttypefindhelper.c:
5255         * gst/gsttypefind.c:
5256         * gst/gsttypefind.h:
5257         Fix docs.
5258
5259 2005-11-09  Wim Taymans  <wim@fluendo.com>
5260
5261         * gst/gstiterator.c:
5262         Fix revision data.
5263
5264         * gst/gsttask.c:
5265         * gst/gsttask.h:
5266         Fix docs.
5267
5268 2005-11-09  Wim Taymans  <wim@fluendo.com>
5269
5270         * gst/gstevent.h:
5271         * gst/gsturi.h:
5272         Fix docs.
5273
5274 2005-11-09  Wim Taymans  <wim@fluendo.com>
5275
5276         * docs/gst/gstreamer-sections.txt:
5277         Moved the message async delivery private lock and cond
5278         to the private section.
5279
5280         * gst/gstmessage.c:
5281         * gst/gstmessage.h:
5282         Fixed docs.
5283
5284 2005-11-09  Edward Hervey  <edward@fluendo.com>
5285
5286         * docs/gst/gstreamer-sections.txt:
5287         * gst/gsturi.c:
5288         * gst/gsturi.h:
5289         Document GstURIHandler
5290
5291 2005-11-09  Wim Taymans  <wim@fluendo.com>
5292
5293         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
5294         (gst_iterator_find_custom):
5295         * gst/gstiterator.h:
5296         Fix iterator docs.
5297
5298 2005-11-09  Wim Taymans  <wim@fluendo.com>
5299
5300         * gst/gstbin.h:
5301         Document another field.
5302
5303         * gst/gststructure.c:
5304         * gst/gststructure.h:
5305         Document.
5306
5307 2005-11-09  Wim Taymans  <wim@fluendo.com>
5308
5309         * gst/gstbin.h:
5310         Documented structs.
5311
5312 2005-11-09  Wim Taymans  <wim@fluendo.com>
5313
5314         * docs/gst/gstreamer-sections.txt:
5315         Added some new macros.
5316
5317         * gst/gstclock.c:
5318         * gst/gstclock.h:
5319         * gst/gstobject.h:
5320         Docs updates.
5321
5322 2005-11-09  Wim Taymans  <wim@fluendo.com>
5323
5324         * docs/design/part-TODO.txt:
5325         Some more items for the TODO
5326
5327         * gst/gstcaps.c:
5328         * gst/gstcaps.h:
5329         Document GstCaps.
5330
5331 2005-11-09  Andy Wingo  <wingo@pobox.com>
5332
5333         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
5334         to work on something else now tho...
5335
5336         * gst/base/gstadapter.c: More adapter docs.
5337
5338         * gst/elements/gstfilesink.c (gst_file_sink_start) 
5339         (gst_file_sink_stop): New functions, replace the state change
5340         handler.
5341         (gst_file_sink_class_init): Hook up the start and stop functions.
5342         (gst_file_sink_base_init): Don't set the state change handler any
5343         more. It was a bit ugly too, being set from here...
5344         (gst_file_sink_get_property, gst_file_sink_set_property):
5345         Cleanups...
5346         (gst_file_sink_set_location): More robust check that doesn't call
5347         GST_STATE. Ugggggg.
5348
5349 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5350
5351         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5352           Hold STREAM_LOCK while pushing newsegment or tag events as well.
5353
5354 2005-11-08  Wim Taymans  <wim@fluendo.com>
5355
5356         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5357         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5358         (gst_base_sink_chain), (gst_base_sink_change_state):
5359         * gst/base/gstbasesink.h:
5360         * gst/base/gstbasesrc.h:
5361         * gst/gstelement.h:
5362         * gst/gstevent.h:
5363         Avoid excessive typechecking in macros.
5364
5365         * gst/gstminiobject.c: (gst_mini_object_get_type),
5366         (gst_mini_object_init), (gst_mini_object_new),
5367         (gst_mini_object_free):
5368         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5369         (gst_object_finalize):
5370         Remove cruft code, optimize alloc_trace.
5371
5372 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5373
5374         * docs/faq/gst-uninstalled:
5375           fix up PS1 for systems that try to reset it
5376
5377 2005-11-07  Wim Taymans  <wim@fluendo.com>
5378
5379         * gst/base/gstbasesrc.c: (gst_base_src_init),
5380         (gst_base_src_get_range):
5381         Set the segment_end to -1 initially. Fixed typefind.
5382
5383 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5384
5385         * gst/base/gstadapter.c:
5386           Debug category should be 'adapter', not 'GstAdapter'.
5387           
5388         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
5389         (gst_collectpads_class_init), (gst_collectpads_init),
5390         (gst_collectpads_peek), (gst_collectpads_pop),
5391         (gst_collectpads_event), (gst_collectpads_chain):
5392           Add debug category and some debugging output. Use boilerplate
5393           macros. Remove some extraneous words from docs.
5394
5395 2005-11-05  Andy Wingo  <wingo@pobox.com>
5396
5397         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
5398         macro.
5399
5400 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5401
5402         * docs/gst/gstreamer-sections.txt:
5403         * gst/gstcaps.h:
5404         * gst/gstinfo.c:
5405         * gst/gstminiobject.h:
5406         * gst/gstobject.h:
5407         * gst/gstutils.h:
5408           more docs added
5409
5410 2005-11-04  Wim Taymans  <wim@fluendo.com>
5411
5412         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5413         Small update to stop at the configured segment_end
5414         position.
5415
5416 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5417
5418         * gst/gstregistry.c:
5419         * gst/gstregistry.h:
5420           added missing docs
5421
5422 2005-11-04  Edward Hervey  <edward@fluendo.com>
5423
5424         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5425         Check if we are doing a segment seek and have arrived at the
5426         end of that segment.
5427
5428 2005-11-04  Wim Taymans  <wim@fluendo.com>
5429
5430         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
5431         Don't leak a mutex unlock in case of an error.
5432
5433         * gst/gstbus.h:
5434         Doc fixes.
5435
5436 2005-11-04  Wim Taymans  <wim@fluendo.com>
5437
5438         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
5439         (gst_bus_post):
5440         Get the context to wake up only once.
5441
5442 2005-11-03  Wim Taymans  <wim@fluendo.com>
5443
5444         * check/states/sinks.c: (GST_START_TEST):
5445         Uncomment fixed check.
5446
5447         * docs/design/part-TODO.txt:
5448         Updated TODO.
5449
5450         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5451         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5452         (gst_base_sink_get_position):
5453         If we are going to PLAYING, post the right pending state
5454         when we post the intermediate paused message.
5455
5456         * gst/gstelement.c: (gst_element_continue_state),
5457         (gst_element_set_state_func), (gst_element_change_state):
5458         Don't post state changes that were between the same state
5459         and were not ASYNC.
5460
5461 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
5462
5463         * docs/gst/gstreamer-sections.txt:
5464         * gst/gstcaps.h:
5465         * gst/gstinfo.c:
5466         * gst/gstminiobject.h:
5467         * gst/gstobject.h:
5468         * gst/gstutils.h:
5469           more docs and doc style fixes
5470
5471 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
5472
5473         * docs/gst/gstreamer-sections.txt:
5474         * gst/gstelement.c:
5475         * gst/gstminiobject.c:
5476         doc fixes
5477
5478 2005-11-03  Andy Wingo  <wingo@pobox.com>
5479
5480         * check/states/sinks.c (test_livesrc_sink): Add checks that the
5481         state-changed messages actually have the right order and the right
5482         values.
5483
5484 2005-11-03  Wim Taymans  <wim@fluendo.com>
5485
5486         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5487         Added some more checks. Specifically the case where NO_PREROLL
5488         elements are in the pipeline.
5489
5490         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5491         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5492         (gst_base_sink_get_position):
5493         Post READY->PAUSED state change messages too.
5494         Fix bug where VOID was posted as pending state...
5495
5496         * gst/gstbin.c: (gst_bin_recalc_state):
5497         use _element_continue_state() to continue the state change.
5498
5499         * gst/gstelement.c: (gst_element_continue_state),
5500         (gst_element_commit_state), (gst_element_set_state_func),
5501         (gst_element_change_state), (gst_element_change_state_func):
5502         Lots of state change cleanups, assign the STATE_RETURN in
5503         a new continue_state() function that also propagates the
5504         last return value from a state change to the app.
5505         Update some debug statements with proper category.
5506
5507 2005-11-03  Wim Taymans  <wim@fluendo.com>
5508
5509         * docs/design/part-events.txt:
5510         * docs/design/part-gstpipeline.txt:
5511         * docs/design/part-messages.txt:
5512         * docs/design/part-overview.txt:
5513         * docs/design/part-seeking.txt:
5514         * docs/design/part-states.txt:
5515         * docs/design/part-trickmodes.txt:
5516         * docs/manual/advanced-position.xml:
5517         Small docs updates.
5518
5519         * gst/gstobject.h:
5520         People think !! is ugly, this looks better.
5521
5522         * gst/gstpad.c: (gst_pad_set_blocked_async):
5523         Remove !! since it's fixed elsewhere now.
5524
5525 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5526
5527         * gst/gstminiobject.h:
5528         * gst/gstobject.h:
5529           Add !! to _FLAG_IS_SET macros to make the result boolean.
5530
5531 2005-11-03  Edward Hervey  <edward@fluendo.com>
5532
5533         * gst/gstpad.c: (gst_pad_set_blocked_async):
5534         comparing a flag and a gboolean rarely returns coherent results...
5535         Added two characters (!!) to make that work correctly.
5536         
5537 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5538
5539         * gst/gstbus.c: (gst_bus_class_init):
5540           Fix some typos.
5541           
5542         * gst/gstqueue.c: (gst_queue_loop):
5543           Don't assume a miniobject that isn't a buffer is an
5544           event (it could be that there is a refcounting
5545           problem somewhere and the pointer is stale and
5546           refers to an already destroyed miniobject).
5547
5548 2005-11-03  Julien MOUTTE  <julien@moutte.net>
5549
5550         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
5551
5552 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5553
5554         * docs/manual/advanced-position.xml:
5555           Update seek example and explanations to current 0.9 API.
5556
5557         * gst/elements/gsttypefindelement.c:
5558         (gst_type_find_element_activate):
5559           Remove FIXME comment now that the found caps
5560           are unreffed.
5561
5562 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5563
5564         * gst/gstregistryxml.c: (load_feature):
5565           Add another GST_STR_NULL instance
5566
5567 2005-11-02  Edward Hervey  <edward@fluendo.com>
5568
5569         * gst/gstpad.c: (handle_pad_block):
5570         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
5571         
5572 2005-11-02  Wim Taymans  <wim@fluendo.com>
5573
5574         * gst/gstbin.c:
5575         Fix typo in docs.
5576
5577         * gst/gstelement.c: (gst_element_commit_state):
5578         Remove unused value.
5579
5580         * gst/gstiterator.c:
5581         Mention that the returned element is reffed in the docs.
5582
5583 2005-11-02  Wim Taymans  <wim@fluendo.com>
5584
5585         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
5586         (gst_pad_push), (gst_pad_push_event):
5587         Unlock blocked pads when they are flushed.
5588
5589 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5590
5591         * docs/README:
5592         * docs/gst/gstreamer-sections.txt:
5593         * gst/gstbin.c:
5594           doc updates
5595         * gst/gstregistry.c: (gst_registry_scan_path_level):
5596           fix for a nasty little missed situation where an installed plug-in
5597           which was in the cache did not get overridden by an uninstalled one
5598           which was earlier in the plugin path because the newly created plugin
5599           for the uninstalled one (not in the registry) didn't get its
5600           ->registered set to TRUE
5601
5602 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5603
5604         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
5605         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
5606         (gst_collectpads_is_active), (gst_collectpads_collect),
5607         (gst_collectpads_collect_range), (gst_collectpads_start),
5608         (gst_collectpads_stop), (gst_collectpads_peek),
5609         (gst_collectpads_pop), (gst_collectpads_available),
5610         (gst_collectpads_read), (gst_collectpads_flush):
5611           Guard public API with assertions.
5612         
5613         * gst/gstpad.c:
5614           Fix docs for gst_pad_set_link_function().
5615
5616 2005-11-02  Johan Dahlin  <johan@gnome.org>
5617
5618         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
5619         Unref found_caps after we used it.
5620
5621 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5622
5623         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
5624           Don't try to ref NULL.
5625
5626 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5627
5628         * win32/common/config.h.in:
5629           provide a GST_FUNCTION that just gives a string for now
5630
5631 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5632
5633         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5634         (gst_object_flags_get_type), (register_gst_bin_flags),
5635         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5636         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5637         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5638         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
5639         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5640         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5641         (gst_clock_flags_get_type), (register_gst_state),
5642         (gst_state_get_type), (register_gst_state_change_return),
5643         (gst_state_change_return_get_type), (register_gst_state_change),
5644         (gst_state_change_get_type), (register_gst_element_flags),
5645         (gst_element_flags_get_type), (register_gst_core_error),
5646         (gst_core_error_get_type), (register_gst_library_error),
5647         (gst_library_error_get_type), (register_gst_resource_error),
5648         (gst_resource_error_get_type), (register_gst_stream_error),
5649         (gst_stream_error_get_type), (register_gst_event_type),
5650         (gst_event_type_get_type), (register_gst_seek_type),
5651         (gst_seek_type_get_type), (register_gst_seek_flags),
5652         (gst_seek_flags_get_type), (register_gst_format),
5653         (gst_format_get_type), (register_gst_index_certainty),
5654         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5655         (gst_index_entry_type_get_type),
5656         (register_gst_index_lookup_method),
5657         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5658         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5659         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5660         (gst_index_flags_get_type), (register_gst_debug_level),
5661         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5662         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5663         (gst_iterator_result_get_type), (register_gst_iterator_item),
5664         (gst_iterator_item_get_type), (register_gst_message_type),
5665         (gst_message_type_get_type), (register_gst_mini_object_flags),
5666         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5667         (gst_pad_link_return_get_type), (register_gst_flow_return),
5668         (gst_flow_return_get_type), (register_gst_activate_mode),
5669         (gst_activate_mode_get_type), (register_gst_pad_direction),
5670         (gst_pad_direction_get_type), (register_gst_pad_flags),
5671         (gst_pad_flags_get_type), (register_gst_pad_presence),
5672         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5673         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5674         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5675         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5676         (gst_plugin_flags_get_type), (register_gst_rank),
5677         (gst_rank_get_type), (register_gst_query_type),
5678         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5679         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5680         (gst_tag_flag_get_type), (register_gst_task_state),
5681         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5682         (gst_alloc_trace_flags_get_type),
5683         (register_gst_type_find_probability),
5684         (gst_type_find_probability_get_type), (register_gst_uri_type),
5685         (gst_uri_type_get_type), (register_gst_parse_error),
5686         (gst_parse_error_get_type):
5687         * win32/common/gstversion.h:
5688           update win32 copies
5689
5690 2005-11-01  Luca Ognibene  <luogni@tin.it>
5691
5692         * gst/gst.c:
5693           fix docs. popt is dead, long live GOption.
5694
5695 2005-10-31  Wim Taymans  <wim@fluendo.com>
5696
5697         * gst/gstbuffer.h:
5698         Small doc fix.
5699
5700 2005-10-31  Andy Wingo  <wingo@pobox.com>
5701
5702         * Boo!
5703
5704         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
5705
5706         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
5707         need to serialize property notifications on GLib 2.8. GLib 2.6 has
5708         the possibility of deadlocks here if code calling notify() or
5709         set() has a lock that can be taken in another notify handler (ABBA
5710         with class lock and e.g. python GIL state lock).
5711
5712 2005-10-28  Julien MOUTTE  <julien@moutte.net>
5713
5714         * gst/gstbus.c: Doc updates.
5715
5716 2005-10-28  Wim Taymans  <wim@fluendo.com>
5717
5718         * docs/design/part-TODO.txt:
5719         * gst/gstiterator.c:
5720         * gst/gstsystemclock.c:
5721         * gst/gstsystemclock.h:
5722         Doc updates.
5723
5724 2005-10-28  Edward Hervey  <edward@fluendo.com>
5725
5726         * docs/gst/gstreamer-docs.sgml:
5727         * docs/gst/gstreamer-sections.txt:
5728         the GstURIType documentation page is private, it only defines GstURIType
5729         which should be defined in the GstURIHandler page
5730         
5731 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5732
5733         * gst/gstbin.c: (gst_bin_class_init):
5734         * gst/gstbin.h:
5735         * gst/gstutils.c:
5736         Documentation updates.
5737
5738 2005-10-28  Wim Taymans  <wim@fluendo.com>
5739
5740         * docs/gst/gstreamer-sections.txt:
5741         * gst/gstclock.c:
5742         * gst/gstclock.h:
5743         Documented the clocks.
5744
5745 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
5746
5747         * docs/gst/gstreamer-sections.txt:
5748           move some macros to private sections
5749         * gst/gstminiobject.c:
5750         * gst/gstminiobject.h:
5751           add descriptions provided by ds and some more
5752         * gst/gstpad.h:
5753           mark macro as to be removed
5754
5755 2005-10-28  Wim Taymans  <wim@fluendo.com>
5756
5757         * docs/design/part-TODO.txt:
5758         Add an item to TODO.
5759
5760         * gst/gstiterator.c: (gst_iterator_fold),
5761         (gst_iterator_find_custom):
5762         * gst/gstiterator.h:
5763         Add iterator docs.
5764
5765 2005-10-28  Wim Taymans  <wim@fluendo.com>
5766
5767         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5768         (gst_base_transform_init):
5769         Don't leak class.
5770
5771         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
5772         An EOS event marks the queue as completely filled.
5773
5774 2005-10-27  Wim Taymans  <wim@fluendo.com>
5775
5776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5777         (gst_base_sink_do_sync), (gst_base_sink_get_position):
5778         Some more debugging.
5779
5780         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
5781         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
5782         (gst_base_transform_event), (gst_base_transform_getrange),
5783         (gst_base_transform_chain):
5784         * gst/base/gstbasetransform.h:
5785         Fix debugging,
5786         Protect transform and concurrent buffer alloc with a new lock.
5787         Try not to break ABI/API.
5788
5789 2005-10-27  Wim Taymans  <wim@fluendo.com>
5790
5791         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5792         (gst_base_src_init), (gst_base_src_query),
5793         (gst_base_src_default_newsegment),
5794         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5795         (gst_base_src_send_event), (gst_base_src_event_handler),
5796         (gst_base_src_pad_get_range), (gst_base_src_loop),
5797         (gst_base_src_unlock), (gst_base_src_default_negotiate),
5798         (gst_base_src_start), (gst_base_src_deactivate),
5799         (gst_base_src_activate_push), (gst_base_src_change_state):
5800         Move some stuff around and cleanup things.
5801
5802 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
5803
5804         * gst/base/gstbasesrc.c: (gst_base_src_query):
5805           Add missing break statements.
5806
5807 2005-10-27  Wim Taymans  <wim@fluendo.com>
5808
5809         * check/gst/gstbin.c: (GST_START_TEST):
5810         An extra refcount is taken in basesrc.
5811
5812         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5813         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5814         (gst_base_src_loop):
5815         Small cleanups, check for flushing after being unlocked from the 
5816         LIVE_LOCK. take refcounts correctly (not yet everywhere).
5817         Don't send out EOS when going to READY.
5818
5819 2005-10-27  Wim Taymans  <wim@fluendo.com>
5820
5821         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5822         (gst_base_sink_get_position):
5823         Some more debug.
5824
5825         * gst/gstbin.c: (message_check), (bin_replace_message),
5826         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5827         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5828         (bin_query_duration_init), (bin_query_duration_fold),
5829         (bin_query_duration_done), (bin_query_generic_fold),
5830         (gst_bin_query):
5831         * tools/gst-launch.c: (main):
5832         Remove old option.
5833
5834 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
5835
5836         * examples/controller/audio-example.c: (main):
5837         * examples/queue/queue.c: (event_loop):
5838         * gst/base/gstbasetransform.h:
5839         * gst/gstelement.c: (gst_element_send_event):
5840         * gst/gstevent.h:
5841         * gst/gstpad.c: (gst_pad_send_event):
5842           fixing examples
5843           fixing docs typos
5844           changing log priority in error situations
5845
5846 2005-10-25  Wim Taymans  <wim@fluendo.com>
5847
5848         * gst/gstbin.c: (message_check), (bin_replace_message),
5849         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5850         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5851         (bin_query_duration_init), (bin_query_duration_fold),
5852         (bin_query_duration_done), (bin_query_generic_fold),
5853         (gst_bin_query):
5854         Some doc and debug updates.
5855         Cache previously requested query DURATION for speed. invalidate
5856         cached duration if element posts a DURATION message.
5857
5858 2005-10-25  Wim Taymans  <wim@fluendo.com>
5859
5860         * docs/design/part-TODO.txt:
5861         Update TODO.
5862
5863         * gst/gstbin.c: (message_check), (bin_replace_message),
5864         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5865         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5866         (bin_query_duration_init), (bin_query_duration_fold),
5867         (bin_query_duration_done), (bin_query_generic_fold),
5868         (gst_bin_query):
5869         Handle SEGMENT_START/DONE messages correctly.
5870         More evolved query algorithm that handles duration queries
5871         correctly.
5872
5873         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5874         (gst_element_get_state_func), (gst_element_abort_state),
5875         (gst_element_commit_state), (gst_element_lost_state):
5876         Some more debugging.
5877
5878         * gst/gstmessage.h:
5879         Added doc.
5880
5881 2005-10-25  Wim Taymans  <wim@fluendo.com>
5882
5883         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5884         Don't use invalid stream_time.
5885
5886         * gst/gstevent.c: (gst_event_new_newsegment):
5887         stream_time in newsegment cannot be undefined.
5888
5889 2005-10-24  Wim Taymans  <wim@fluendo.com>
5890
5891         * gst/gstbus.c:
5892         Doc fix.
5893
5894         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5895         (gst_queue_loop):
5896         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5897
5898 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
5899
5900         * docs/libs/tmpl/gstdparam.sgml:
5901         * docs/libs/tmpl/gstdplinint.sgml:
5902         * docs/libs/tmpl/gstdpman.sgml:
5903         * docs/libs/tmpl/gstdpsmooth.sgml:
5904         * docs/libs/tmpl/gstunitconvert.sgml:
5905           these are obsolete
5906
5907 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5908
5909         * configure.ac:
5910           back to HEAD
5911
5912 === release 0.9.4 ===
5913
5914 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * configure.ac:
5917           releasing 0.9.4, "Tyrannosaurus Rex"
5918
5919 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
5920
5921         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5922         (gst_file_sink_get_current_offset):
5923           Use fseeko() and ftello() if available. When falling back on
5924           lseek() to get the current offset, fflush() first to make sure
5925           everything is up-to-date and we get the right offset.
5926
5927 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5928
5929         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5930         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5931         * gst/gsterror.c: (_gst_stream_errors_init):
5932         * gst/gsterror.h:
5933         * gst/gstqueue.c: (gst_queue_loop):
5934         * po/POTFILES.in:
5935           remove prematurely added error category and clean up the instances
5936
5937 2005-10-21  Wim Taymans  <wim@fluendo.com>
5938
5939         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5940         (gst_base_sink_get_position), (gst_base_sink_query),
5941         (gst_base_sink_change_state):
5942         Simply set the right flag when going to playing, that's all
5943         we need to do instead of calling a function inside the object
5944         lock (that could take the lock as well and deadlock)
5945
5946 2005-10-21  Wim Taymans  <wim@fluendo.com>
5947
5948         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5949         (gst_base_src_loop):
5950         Don't warn, the peer element knows what to do best when
5951         the seek failed, it might try something else.
5952
5953 2005-10-21  Wim Taymans  <wim@fluendo.com>
5954
5955         * gst/base/gstbasesrc.c: (gst_base_src_init),
5956         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5957         Fix seeking.
5958
5959 2005-10-21  Wim Taymans  <wim@fluendo.com>
5960
5961         * docs/design/part-segments.txt:
5962         More docs.
5963
5964         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5965         Correctly set caps, even on the subbufer.
5966
5967 2005-10-21  Wim Taymans  <wim@fluendo.com>
5968
5969         * docs/gst/gstreamer-docs.sgml:
5970         * docs/gst/gstreamer-sections.txt:
5971         * gst/gstelement.h:
5972         * gst/gstevent.c:
5973         * gst/gstevent.h:
5974         * gst/gstmessage.h:
5975         * gst/gstpad.h:
5976         * gst/gstparse.h:
5977         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5978         * gst/gsttask.h:
5979         * gst/gstutils.c:
5980         * gst/gstutils.h:
5981         And 2% more doc coverage.
5982
5983 2005-10-21  Andy Wingo  <wingo@pobox.com>
5984
5985         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5986         position reporting.
5987
5988 2005-10-20  Wim Taymans  <wim@fluendo.com>
5989
5990         * gst/gsterror.c: (gst_error_get_message):
5991         * gst/gstparse.h:
5992         * gst/gstquery.h:
5993         * gst/gststructure.c:
5994         * gst/gsttrace.c:
5995         * gst/gstutils.c:
5996         More docs.
5997
5998 2005-10-20  Wim Taymans  <wim@fluendo.com>
5999
6000         * gst/gstbuffer.h:
6001         * gst/gstpad.c:
6002         * gst/gstparse.c:
6003         Another 1% more coverage.
6004
6005 2005-10-20  Wim Taymans  <wim@fluendo.com>
6006
6007         * docs/gst/gstreamer-sections.txt:
6008         * gst/gstelement.c: (gst_element_get_state_func),
6009         (gst_element_abort_state), (gst_element_commit_state),
6010         (gst_element_lost_state):
6011         * gst/gstevent.h:
6012         * gst/gstquery.c: (gst_query_set_position),
6013         (gst_query_parse_position), (gst_query_set_duration),
6014         (gst_query_parse_duration), (gst_query_new_convert):
6015         * gst/gstutils.c:
6016         Yay! 1% more docs coverage.
6017
6018 2005-10-20  Wim Taymans  <wim@fluendo.com>
6019
6020         * gst/gstpad.h:
6021         * gst/gstquery.c: (gst_query_set_position),
6022         (gst_query_parse_position), (gst_query_set_duration),
6023         (gst_query_parse_duration), (gst_query_new_convert):
6024         * gst/gstquery.h:
6025         * gst/gstutils.c: (gst_element_query_convert):
6026         * gst/gstutils.h:
6027         Docs and consistency fixes.
6028
6029 2005-10-20  Wim Taymans  <wim@fluendo.com>
6030
6031         * gst/gsttask.c:
6032         * gst/gsttask.h:
6033         More docs.
6034
6035 2005-10-20  Wim Taymans  <wim@fluendo.com>
6036
6037         * gst/gstbin.c: (message_check), (bin_replace_message),
6038         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6039         (update_degree), (gst_bin_sort_iterator_next),
6040         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
6041         Reworked the message handling a bit, cache the messages instead of
6042         only the senders. alows us to do more in the future.
6043
6044 2005-10-20  Wim Taymans  <wim@fluendo.com>
6045
6046         * docs/design/part-TODO.txt:
6047         Update TODO
6048
6049         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6050         (gst_base_sink_query):
6051         Don't use clock time to report position when in EOS.
6052
6053 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
6054
6055         * tools/gst-inspect.c: (print_interfaces),
6056         (print_element_properties_info), (print_element_info):
6057           Fix interface output with gst-inspect -a; don't print
6058           newlines after double/float properties.
6059
6060 2005-10-20  Wim Taymans  <wim@fluendo.com>
6061
6062         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6063         (gst_base_sink_query):
6064         Speed up current position calculation.
6065
6066         * gst/base/gstbasesrc.c: (gst_base_src_query),
6067         (gst_base_src_default_newsegment):
6068         Correctly set stream position in newsegment.
6069
6070         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
6071         (update_degree), (gst_bin_sort_iterator_next),
6072         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
6073         * gst/gstmessage.c: (gst_message_new_custom):
6074         Clean up debugging info
6075
6076         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6077         (gst_queue_loop), (gst_queue_handle_src_query):
6078         Pause task faster.
6079
6080 2005-10-19  Wim Taymans  <wim@fluendo.com>
6081
6082         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6083         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6084         Fix query handling again.
6085
6086 2005-10-19  Wim Taymans  <wim@fluendo.com>
6087
6088         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6089         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6090         * gst/base/gstbasesrc.c: (gst_base_src_query):
6091         * gst/elements/gstfilesink.c: (gst_file_sink_query):
6092         * gst/elements/gsttypefindelement.c:
6093         (gst_type_find_handle_src_query), (find_element_get_length),
6094         (gst_type_find_element_activate):
6095         API change fix.
6096
6097         * gst/gstquery.c: (gst_query_new_position),
6098         (gst_query_set_position), (gst_query_parse_position),
6099         (gst_query_new_duration), (gst_query_set_duration),
6100         (gst_query_parse_duration), (gst_query_set_segment),
6101         (gst_query_parse_segment):
6102         * gst/gstquery.h:
6103         Bundling query position/duration is not a good idea since duration
6104         does not change much and we don't want to recalculate it for every
6105         position query, so they are separated again..
6106         Base value in segment query is not needed.
6107
6108         * gst/gstqueue.c: (gst_queue_handle_src_query):
6109         * gst/gstutils.c: (gst_element_query_position),
6110         (gst_element_query_duration), (gst_pad_query_position),
6111         (gst_pad_query_duration):
6112         * gst/gstutils.h:
6113         Updates for query API change.
6114         Added some docs here and there.
6115
6116 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6117
6118         * check/gst/gstbin.c: (GST_START_TEST):
6119         * check/gst/gstghostpad.c: (GST_START_TEST):
6120         * check/pipelines/cleanup.c: (GST_START_TEST):
6121           wait on thread to die so we can check refcount correctly
6122
6123 2005-10-18  Wim Taymans  <wim@fluendo.com>
6124
6125         * check/pipelines/stress.c: (GST_START_TEST):
6126         Make check a little more time consuming.
6127
6128 2005-10-18  Wim Taymans  <wim@fluendo.com>
6129
6130         * check/Makefile.am:
6131         * check/pipelines/stress.c: (GST_START_TEST),
6132         (simple_launch_lines_suite), (main):
6133         Small state change torture test.
6134
6135         * docs/design/part-states.txt:
6136         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6137         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
6138         (gst_base_sink_change_state):
6139         Never take state lock from streaming thread, clean up ugly
6140         hacks. Unfortunatly core does not yet support nice ways to
6141         async commit state.
6142         
6143         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
6144         (bin_bus_handler):
6145         Start state recalc if a STATE_DIRTY message is posted, but only
6146         on the toplevel bin.
6147
6148         * gst/gstelement.c: (gst_element_sync_state_with_parent),
6149         (gst_element_get_state_func), (gst_element_abort_state),
6150         (gst_element_commit_state), (gst_element_lost_state),
6151         (gst_element_set_state_func), (gst_element_change_state):
6152         * gst/gstelement.h:
6153         State variables are now protected with the LOCK, the state
6154         lock is only used to serialize _set_state().
6155
6156 2005-10-18  Wim Taymans  <wim@fluendo.com>
6157
6158         * check/gst/gstbin.c: (GST_START_TEST):
6159         * check/gst/gstmessage.c: (GST_START_TEST):
6160         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6161         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
6162         (bin_bus_handler):
6163         * gst/gstelement.c: (gst_element_abort_state),
6164         (gst_element_commit_state), (gst_element_lost_state):
6165         * gst/gstmessage.c: (gst_message_new_state_changed),
6166         (gst_message_new_state_dirty), (gst_message_new_segment_start),
6167         (gst_message_new_segment_done), (gst_message_new_duration),
6168         (gst_message_parse_state_changed),
6169         (gst_message_parse_segment_start),
6170         (gst_message_parse_segment_done), (gst_message_parse_duration):
6171         * gst/gstmessage.h:
6172         * tools/gst-launch.c: (event_loop):
6173         Seriously, this is better than a previous commit as we only need
6174         to notify the fact that an element changed state in a streaming
6175         thread, marking the state of the parents dirty, hence the 
6176         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
6177         message.
6178
6179 2005-10-18  Wim Taymans  <wim@fluendo.com>
6180
6181         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6182         (gst_bin_recalc_func):
6183         * gst/gstelement.c: (gst_element_set_clock),
6184         (gst_element_abort_state), (gst_element_lost_state):
6185         Cleanups, prepare for state change fixes.
6186
6187 2005-10-18  Wim Taymans  <wim@fluendo.com>
6188
6189         * gst/gstbin.h:
6190         * gst/gstelement.c: (gst_element_class_init),
6191         (gst_element_set_state), (gst_element_set_state_func):
6192         * gst/gstelement.h:
6193         Pending ABI changes.
6194         GThreadPool in GstBinClass to monitor async state changes.
6195         state_cookie in GstElement to detect concurrent gst/set state.
6196         set_state is now virtual too in case a very complicated element
6197         has to be constructed.
6198
6199 2005-10-18  Wim Taymans  <wim@fluendo.com>
6200
6201         * check/gst/gstbin.c: (GST_START_TEST):
6202         * check/gst/gstmessage.c: (GST_START_TEST):
6203         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6204         * gst/gstbin.c: (bin_bus_handler):
6205         * gst/gstelement.c: (gst_element_commit_state),
6206         (gst_element_lost_state):
6207         * gst/gstmessage.c: (gst_message_new_state_changed),
6208         (gst_message_new_segment_start), (gst_message_new_segment_done),
6209         (gst_message_new_duration), (gst_message_parse_state_changed),
6210         (gst_message_parse_segment_start),
6211         (gst_message_parse_segment_done), (gst_message_parse_duration):
6212         * gst/gstmessage.h:
6213         * tools/gst-launch.c: (event_loop):
6214         Make messages future proof.
6215         state-change gets a flag if it was a message comming from the
6216         streaming thread.
6217         segment-start/stop can also be specified in other formats.
6218         A message to notify an app that a pipeline changed playback 
6219         duration.
6220         Also fix a GstMessage leak in -launch
6221
6222 2005-10-18  Andy Wingo  <wingo@pobox.com>
6223
6224         * gst/gstelement.c (gst_element_dispose): More helpful message.
6225
6226 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6227
6228         reviewed by: <delete if not using a buddy>
6229
6230         * common/gtk-doc.mak:
6231
6232 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6233
6234         * gst/gstregistry.c: (gst_registry_scan_path_level):
6235           unref a plug-in we get that was already initialized
6236
6237 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
6238
6239         * docs/gst/gstreamer-sections.txt:
6240         * docs/libs/gstreamer-libs-sections.txt:
6241         * gst/gstelement.h:
6242           add new api entries
6243           hide internal macro
6244
6245 2005-10-17  Andy Wingo  <wingo@pobox.com>
6246
6247         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
6248         cleanup.
6249
6250         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
6251
6252         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
6253
6254         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
6255         (gst_element_get_state_func): Better debug message.
6256         (gst_element_commit_state): s/INFO/DEBUG/.
6257         (gst_element_lost_state, gst_element_change_state): 
6258
6259         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
6260         (gst_message_new_custom): s/INFO/LOG/.
6261
6262 2005-10-17  Michael Smith <msmith@fluendo.com>
6263
6264         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6265           Check if end time is valid using end time, not start time.
6266
6267 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
6268
6269         * check/gst-libs/controller.c: (GST_START_TEST),
6270         (gst_controller_suite):
6271         * libs/gst/controller/gstcontroller.c:
6272         (gst_controlled_property_set_interpolation_mode):
6273         * libs/gst/controller/gstcontroller.h:
6274         * libs/gst/controller/gstinterpolation.c:
6275         * testsuite/controller/.cvsignore:
6276         * testsuite/controller/Makefile.am:
6277         * testsuite/controller/interpolator.c:
6278           merge controller testsuites
6279           fix broken tests
6280           remove mem-chunk from docs
6281
6282 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6283
6284         * gst/gstmemchunk.c:
6285         * gst/gstmemchunk.h:
6286         * gst/gsttrashstack.c:
6287         * gst/gsttrashstack.h:
6288           out.  get out.  you're fired.  to the Attic !
6289
6290 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6291
6292         * gst/gstcaps.c: (gst_caps_intersect):
6293           fix signedness issues in a (hopefully) correct way
6294         * gst/gstelement.c: (gst_element_pads_activate):
6295           some debugging
6296         * gst/gstobject.c: (gst_object_set_parent):
6297           some debugging
6298
6299 2005-10-17  Julien MOUTTE  <julien@moutte.net>
6300
6301         * gst/gstvalue.h: Fix prototypes.
6302
6303 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6304
6305         * docs/gst/gstreamer-sections.txt:
6306         * gst/gst.c: (gst_version_string):
6307         * gst/gst.h:
6308         * gst/gstversion.h.in:
6309         * win32/common/libgstreamer.def:
6310           add gst_version_string ()
6311
6312 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6313
6314         * configure.ac:
6315           clean up further
6316         * gst/gst.c: (init_post):
6317         * win32/common/config.h.in:
6318           it's PLUGINDIR now
6319         * gst/gstcaps.c: (gst_caps_intersect):
6320           use gint64, the range could be bigger than a guint
6321
6322 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6323
6324         * gst/gstclock.h:
6325           document potential problem in 2038
6326
6327 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6328
6329         * gst/gstcaps.c: (gst_caps_intersect):
6330           Fix guint j diving under 0
6331
6332 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6333
6334         * configure.ac:
6335         * win32/common/config.h:
6336         * win32/common/config.h.in:
6337           check for process.h, declares getpid() on Windows
6338         * gst/gstinfo.c:
6339           include process.h if we have it
6340         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
6341         * gst/gstmemchunk.h:
6342           fix signedness issues
6343         * win32/common/libgstreamer.def:
6344           fix get_type's
6345
6346 2005-10-16  Julien MOUTTE  <julien@moutte.net>
6347
6348         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
6349         fix. Because of unsigned ints, caps intersection was going nuts and
6350         trying to access structures with G_MAXUINT index. That fixes
6351         videotestsrc ! ffmpegcolorspace ! fakesink
6352         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
6353         consistency.
6354
6355 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6356
6357         * configure.ac:
6358           use the gettext macro
6359         * gst/elements/gstelements.c:
6360         * gst/gst.c:
6361         * gst/indexers/gstindexers.c:
6362           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
6363         * win32/common/config.h:
6364           updated config.h
6365         * win32/common/config.h.in:
6366           add the template to generate config.h
6367         * win32/common/gstenumtypes.c:
6368         * win32/common/gstversion.h:
6369           updated copies
6370
6371 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6372
6373         * gst/gst.c: (gst_version):
6374         * gst/gstversion.h.in:
6375           add the nano
6376
6377 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6378
6379         * gst/gstevent.h:
6380           Oops, add missing closing bracket.
6381
6382 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6383
6384         * configure.ac:
6385           use common m4's for argument checking
6386
6387 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6388
6389         * docs/gst/gstreamer-sections.txt:
6390         * gst/gstevent.h:
6391           Add GST_EVENT_TYPE_NAME() macro.
6392
6393 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6394
6395         * gst/gstinfo.c:
6396         * gst/gstpluginfeature.c:
6397         * gst/gsttask.c:
6398           privatize more symbols
6399
6400 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6401
6402         * configure.ac:
6403           add srcdir, builddir includes to GST_ALL_CFLAGS, since
6404           everything that uses GStreamer API should have the includes
6405
6406 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6407
6408         * docs/gst/gstreamer-sections.txt:
6409         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6410         * gst/gstvalue.h:
6411           give each value a _get_type, removes the DATA exports
6412
6413 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6414
6415         * gst/gst.c:
6416         * gst/gst.h:
6417           remove _gst_registry_auto_load, not used anymore
6418         * gst/gstbin.c: (gst_bin_get_type):
6419         * gst/gstbin.h:
6420         * gst/gstelement.c: (gst_element_get_type):
6421         * gst/gstelement.h:
6422         * gst/gstobject.c: (gst_object_get_type):
6423         * gst/gstobject.h:
6424         * gst/gstpad.c: (gst_pad_get_type):
6425         * gst/gstpad.h:
6426           make _get_type functions similar, fixes data export from library
6427
6428 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6429
6430         * configure.ac:
6431           correctly make conditionals
6432         * gst/elements/Makefile.am:
6433         * gst/elements/gstelements.c:
6434           fix typo causing fdsrc not to build
6435
6436 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6437
6438         * testsuite/Makefile.am:
6439         * testsuite/bytestream/.cvsignore:
6440         * testsuite/bytestream/Makefile.am:
6441         * testsuite/bytestream/filepadsink.c:
6442         * testsuite/bytestream/gstbstest.c:
6443         * testsuite/bytestream/test1.c:
6444         * testsuite/bytestream/testfile1:
6445         * testsuite/caps/normalisation.c:
6446         * testsuite/caps/random.c: (main):
6447         * testsuite/cleanup/.cvsignore:
6448         * testsuite/cleanup/Makefile.am:
6449         * testsuite/cleanup/cleanup1.c:
6450         * testsuite/cleanup/cleanup2.c:
6451         * testsuite/cleanup/cleanup3.c:
6452         * testsuite/cleanup/cleanup4.c:
6453         * testsuite/cleanup/cleanup5.c:
6454         * testsuite/controller/interpolator.c:
6455         * testsuite/debug/printf_extension.c: (main):
6456         * testsuite/elements/tee.c:
6457         * testsuite/negotiation/.cvsignore:
6458         * testsuite/negotiation/Makefile.am:
6459         * testsuite/negotiation/pad_link.c:
6460         * testsuite/pad/Makefile.am:
6461         * testsuite/pad/chainnopull.c:
6462         * testsuite/pad/getnopush.c:
6463         * testsuite/pad/link.c:
6464         * testsuite/refcounting/sched.c: (create_pipeline):
6465         * testsuite/registry/Makefile.am:
6466         * testsuite/registry/gst-print-formats.c:
6467         * testsuite/schedulers/.cvsignore:
6468         * testsuite/schedulers/142183-2.c:
6469         * testsuite/schedulers/142183.c:
6470         * testsuite/schedulers/143777-2.c:
6471         * testsuite/schedulers/143777.c:
6472         * testsuite/schedulers/147713.c:
6473         * testsuite/schedulers/147819.c:
6474         * testsuite/schedulers/147894-2.c:
6475         * testsuite/schedulers/147894.c:
6476         * testsuite/schedulers/Makefile.am:
6477         * testsuite/schedulers/group_link.c:
6478         * testsuite/schedulers/queue_link.c:
6479         * testsuite/schedulers/relink.c:
6480         * testsuite/schedulers/unlink.c:
6481         * testsuite/schedulers/unref.c:
6482         * testsuite/schedulers/useless_iteration.c:
6483         * testsuite/states/bin.c:
6484           clean out/remove some stuff from the testsuite directories
6485
6486 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6487
6488         * configure.ac:
6489           check for some headers
6490         * gst/elements/Makefile.am:
6491         * gst/elements/gstelements.c:
6492           don't compile fdsrc without sys/socket.h
6493         * gst/indexers/Makefile.am:
6494         * gst/indexers/gstindexers.c: (plugin_init):
6495           don't compile fileindex without mmap
6496
6497 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6498
6499         * configure.ac:
6500           reorganize
6501           clean up
6502           document more
6503           remove cruft
6504         * check/Makefile.am:
6505         * docs/gst/Makefile.am:
6506         * examples/helloworld/Makefile.am:
6507         * gst/Makefile.am:
6508         * gst/base/Makefile.am:
6509         * gst/check/Makefile.am:
6510         * gst/elements/Makefile.am:
6511         * gst/indexers/Makefile.am:
6512         * gst/parse/Makefile.am:
6513         * libs/gst/controller/Makefile.am:
6514         * libs/gst/dataprotocol/Makefile.am:
6515         * examples/helloworld/helloworld.c: (event_loop):
6516           compile fixes, though it's not being compiled currently
6517
6518 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6519
6520         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
6521           Add some simple tests for the new taglist date API.
6522
6523 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6524
6525         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
6526         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
6527           Beautify 'last-message' output: print 'none' for buffer timestamps
6528           and durations if none is set; improve alignment with next messages.
6529
6530 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6531
6532         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
6533         * gst/gstpluginfeature.h:
6534         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
6535         * gst/gstregistry.h:
6536         * docs/gst/gstreamer-sections.txt:
6537           Add new API to check plugin feature version requirements.
6538
6539         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
6540           Some basic tests for the above.         
6541
6542 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6543
6544         * gst/gststructure.c: (gst_structure_to_string):
6545           guard against NULL printf - happens when for example
6546           a message structure with GstClock gets serialized
6547
6548 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6549
6550         * gst/base/gstcollectpads.c: (gst_collectpads_event):
6551           Fix presumable copy'n'pasto.
6552
6553 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6554
6555         * gst/elements/gstfakesrc.h:
6556         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
6557         * gst/elements/gsttypefindelement.c:
6558           fix some signedness
6559         * gst/elements/gstfilesink.c: (gst_file_sink_render):
6560           I wonder if this could actually write +2GB files before
6561
6562 2005-10-13  Andy Wingo  <wingo@pobox.com>
6563
6564         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
6565         Fix Timmeke Waymans bug.
6566         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
6567         string of the proper length to gst_caps_from_string. There's a
6568         potential for, before this fix, that this could cause someone
6569         connecting over the network to cause a segfault if the payload is
6570         not NUL-terminated.
6571
6572 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
6573
6574         * docs/design/draft-push-pull.txt:
6575         * docs/design/part-overview.txt:
6576         * docs/random/TODO-pre-0.9:
6577         * docs/random/old/ChangeLog.gstreamer:
6578         * gst/base/gstpushsrc.c:
6579         * gst/gstclock.c:
6580           fixed typos
6581
6582 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6583
6584         * gst/glib-compat.c: (gst_flags_get_first_value):
6585         * gst/glib-compat.h:
6586         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
6587         (gst_value_compare_double), (gst_value_serialize_flags):
6588           GLib 2.6 g_flags_get_first_value has a bug that triggers an
6589           infinite loop
6590
6591 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6594         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6595           fix up debugging
6596         * tools/gst-launch.c: (event_loop):
6597           print out clock nicely
6598
6599 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6600
6601         * docs/gst/gstreamer-sections.txt:
6602         * gst/gsttaglist.h:
6603         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
6604         (gst_tag_list_get_date_index):
6605           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
6606           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
6607
6608 2005-10-13  Julien MOUTTE  <julien@moutte.net>
6609
6610         * gst/base/gstcollectpads.c: (gst_collectpads_event),
6611         (gst_collectpads_chain):
6612         * gst/base/gstcollectpads.h: Handle newsegment and store informations
6613         in CollectData.
6614
6615 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
6616
6617         * docs/gst/gstreamer-sections.txt:
6618         * gst/gst.c:
6619         * gst/gsterror.h:
6620         * tools/gst-inspect.c: (main):
6621         * tools/gst-launch.c: (main):
6622         * tools/gst-run.c: (main):
6623         * tools/gst-xmlinspect.c: (main):
6624           fix GOption context leaks
6625           doc fixes
6626
6627 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6628
6629         * gst/gstbus.c:
6630           use HAVE_UNISTD_H
6631         * win32/common/config.h:
6632           update config
6633         * win32/vs6/grammar.dsp:
6634         * win32/vs6/libgstelements.dsp:
6635         * win32/vs6/libgstreamer.dsp:
6636           update vs6 files
6637
6638 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6639
6640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6641         * gst/base/gstbasesrc.c: (gst_base_src_query):
6642           fix more guint64<->gdouble conversions
6643
6644 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6645
6646         * Makefile.am:
6647           add win32-update target
6648         * win32/common/gstconfig.h:
6649         * win32/common/gstenumtypes.c:
6650         * win32/common/gstenumtypes.h:
6651         * win32/common/gstversion.h:
6652           add files that visual studio can't generate
6653
6654 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6655
6656         * Makefile.am:
6657           add a win32-update target
6658         * configure.ac:
6659
6660 2005-10-12  Wim Taymans  <wim@fluendo.com>
6661
6662         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6663         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
6664         * gst/gstelement.c: (gst_element_commit_state),
6665         (gst_element_set_state):
6666         Protect flags with proper lock.
6667         unref provided cached clock in dispose.
6668
6669 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6670
6671         * gst/gst.c:
6672         * gst/gstminiobject.h:
6673         * gst/gstpad.h:
6674         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
6675           removed unused flags from miniobject
6676           doc fixes
6677
6678 2005-10-12  Wim Taymans  <wim@fluendo.com>
6679
6680         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6681         (gst_file_sink_event), (gst_file_sink_render):
6682         Flush before seeking.
6683
6684 2005-10-12  Andy Wingo  <wingo@pobox.com>
6685
6686         * gst/gst.c (gst_init_check): Ignore unknown options, as has
6687         always been the case.
6688
6689 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6690
6691         * check/gst/gstbin.c: (GST_START_TEST):
6692         * docs/gst/gstreamer-sections.txt:
6693         * gst/base/gstbasesink.c: (gst_base_sink_init):
6694         * gst/base/gstbasesrc.c: (gst_base_src_init),
6695         (gst_base_src_get_range), (gst_base_src_check_get_range),
6696         (gst_base_src_start), (gst_base_src_stop):
6697         * gst/base/gstbasesrc.h:
6698         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
6699         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6700         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
6701         (bin_bus_handler):
6702         * gst/gstbin.h:
6703         * gst/gstbuffer.h:
6704         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
6705         * gst/gstbus.h:
6706         * gst/gstelement.c: (gst_element_is_locked_state),
6707         (gst_element_set_locked_state), (gst_element_commit_state),
6708         (gst_element_set_state):
6709         * gst/gstelement.h:
6710         * gst/gstindex.c: (gst_index_init):
6711         * gst/gstindex.h:
6712         * gst/gstminiobject.h:
6713         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
6714         (gst_object_set_parent):
6715         * gst/gstobject.h:
6716         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
6717         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
6718         * gst/gstpad.h:
6719         * gst/gstpadtemplate.h:
6720         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
6721         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6722         * gst/gstpipeline.h:
6723         * gst/indexers/gstfileindex.c: (gst_file_index_load),
6724         (gst_file_index_commit):
6725         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6726         * testsuite/pad/link.c: (gst_test_src_init),
6727         (gst_test_filter_init), (gst_test_sink_init):
6728         * testsuite/states/locked.c: (main):
6729           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
6730           moved bitshift from macro to enum definition
6731
6732 2005-10-12  Wim Taymans  <wim@fluendo.com>
6733
6734         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
6735         * gst/elements/gstfilesink.c: (gst_file_sink_event),
6736         (gst_file_sink_render):
6737         Some more debugging info.
6738
6739 2005-10-12  Wim Taymans  <wim@fluendo.com>
6740
6741         * docs/design/part-states.txt:
6742         * tools/gst-launch.c: (main):
6743         Some doc updates.
6744         Revert non-intentional change.
6745
6746 2005-10-12  Wim Taymans  <wim@fluendo.com>
6747
6748         * check/gst/gstbin.c: (GST_START_TEST):
6749         * check/gst/gstelement.c: (GST_START_TEST):
6750         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
6751         * check/gst/gstghostpad.c: (GST_START_TEST):
6752         * check/gst/gstpipeline.c: (GST_START_TEST):
6753         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6754         * check/states/sinks.c: (GST_START_TEST):
6755         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6756         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6757         (gst_bin_remove_func), (gst_bin_get_state_func),
6758         (gst_bin_recalc_state), (gst_bin_change_state_func),
6759         (bin_bus_handler):
6760         * gst/gstelement.c: (gst_element_get_state_func),
6761         (gst_element_get_state), (gst_element_abort_state),
6762         (gst_element_commit_state), (gst_element_set_state),
6763         (gst_element_change_state), (gst_element_change_state_func):
6764         * gst/gstelement.h:
6765         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
6766         (gst_pipeline_provide_clock_func):
6767         * gst/gstutils.c: (gst_element_link_pads_filtered):
6768         * tools/gst-launch.c: (main):
6769         * tools/gst-typefind.c: (main):
6770         Use GstClockTime in _get_state() instead of GTimeVal.
6771         Remove old code in gstutils.c
6772
6773 2005-10-12  Andy Wingo  <wingo@pobox.com>
6774
6775         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
6776         removed.
6777
6778         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
6779         there is no task. Shouldn't affect any code, as nothing in our
6780         plugins checks this return value.
6781         (gst_pad_stop_task): Also take the stream lock if the pad has no
6782         task. Docs updated.
6783
6784 2005-10-12  Wim Taymans  <wim@fluendo.com>
6785
6786         * gst/gstpad.c: (pre_activate), (post_activate),
6787         (gst_pad_activate_pull), (gst_pad_activate_push):
6788         Cleanup activation code. Reset old state if
6789         activation failed.
6790
6791 2005-10-12  Wim Taymans  <wim@fluendo.com>
6792
6793         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6794         (gst_base_sink_change_state):
6795         No need to prerol after receiving EOS.
6796
6797         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6798         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
6799         * gst/elements/gstidentity.c: (gst_identity_event):
6800         Print events more verbosely.
6801
6802 2005-10-12  Wim Taymans  <wim@fluendo.com>
6803
6804         * check/Makefile.am:
6805         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6806         * check/states/sinks2.c:
6807         Moved sinks2 testcode in sinks check.
6808
6809         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6810         (gst_bin_remove_func), (gst_bin_recalc_state),
6811         (gst_bin_change_state_func), (bin_bus_handler):
6812         Fix potential race condition when _get_state() iterated over an
6813         ASYNC element right before it posted a state completion.
6814
6815         * gst/gstclock.h:
6816         Do proper cast here.
6817
6818         * gst/gstevent.c: (gst_event_new_newsegment),
6819         (gst_event_parse_newsegment):
6820         A playback rate of 0.0 is not allowed.
6821
6822 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6823
6824         * win32/common/config.h:
6825         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6826         (_trewinddir), (_ttelldir), (_tseekdir):
6827         * win32/common/dirent.h:
6828         * win32/common/gtchar.h:
6829         * win32/common/libgstbase.def:
6830         * win32/common/libgstreamer.def:
6831         * win32/vs6/grammar.dsp:
6832         * win32/vs6/gst_inspect.dsp:
6833         * win32/vs6/gst_launch.dsp:
6834         * win32/vs6/gstreamer.dsw:
6835         * win32/vs6/libgstbase.dsp:
6836         * win32/vs6/libgstelements.dsp:
6837         * win32/vs6/libgstreamer.dsp:
6838           Visual Studio 6 project files, and a new common directory.
6839           Phear.
6840
6841 2005-10-11  Wim Taymans  <wim@fluendo.com>
6842
6843         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6844         (gst_base_sink_do_sync), (gst_base_sink_query),
6845         (gst_base_sink_change_state):
6846         * gst/base/gstbasesink.h:
6847         Correctly parse newsegment info.
6848
6849 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6850
6851         * gst/gst.c: (init_post):
6852           split plugin paths correctly
6853
6854 2005-10-11  Wim Taymans  <wim@fluendo.com>
6855
6856         * check/gst/gstevent.c: (GST_START_TEST):
6857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6858         (gst_base_sink_change_state):
6859         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6860         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6861         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6862         * gst/gstevent.c: (gst_event_new_newsegment),
6863         (gst_event_parse_newsegment):
6864         * gst/gstevent.h:
6865         Added extra flag to newsegment for future API freeze.
6866         Updated check and base elements.
6867
6868 2005-10-11  Julien MOUTTE  <julien@moutte.net>
6869
6870         * gst/base/gstcollectpads.c: (gst_collectpads_init),
6871         (gst_collectpads_add_pad), (gst_collectpads_pop),
6872         (gst_collectpads_event), (gst_collectpads_chain):
6873         * gst/base/gstcollectpads.h: Handle EOS correctly.
6874
6875 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6876
6877         * tools/gst-launch.c: (main):
6878           more null protecting
6879
6880 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6881
6882         * gst/gst-i18n-lib.h:
6883           check for ENABLE_NLS, not GETTEXT_PACKAGE
6884         * gst/gstregistry.c: (gst_registry_add_plugin),
6885         (gst_registry_scan_path_level),
6886         (_gst_registry_remove_cache_plugins):
6887           protect possibly NULL strings
6888         * gst/parse/types.h:
6889           config.h already included before
6890         * tools/gst-inspect.c: (main):
6891           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6892           check for ENABLE_NLS, not GETTEXT_PACKAGE
6893         * tools/gst-launch.c: (main):
6894           check for ENABLE_NLS, not GETTEXT_PACKAGE
6895
6896 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6897
6898         * configure.ac:
6899           if we don't have glib, fail before testing 2.8
6900         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6901           fix a leak, should fix plugins-base testsuite
6902
6903 2005-10-11  Andy Wingo  <wingo@pobox.com>
6904
6905         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6906         take the mode we're going to as an arg. Go head and set the mode
6907         and flushing flags now, so that if the activate function starts a
6908         thread all the flags will be in the right state.
6909         (post_activate): Renamed also. Just handle making sure streaming
6910         finishes for the deactivation case, and setting the deactivated
6911         mode.
6912         (gst_pad_set_active): Complain loudly if deactivation fails.
6913         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6914         (gst_pad_activate_push): Adapt to pre/post_activate changes,
6915         remove the terrible hack.
6916
6917 2005-10-11  Wim Taymans  <wim@fluendo.com>
6918
6919         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6920         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6921         (gst_bin_recalc_state), (gst_bin_change_state_func),
6922         (gst_bin_dispose), (bin_bus_handler):
6923         * gst/gstbin.h:
6924         Prepare to make current EOS message queue more generic.
6925         Fix some typos.
6926
6927         * gst/gstevent.c: (gst_event_new_newsegment),
6928         (gst_event_parse_newsegment):
6929         * gst/gstevent.h:
6930         Rename base to stream_time.
6931
6932         * gst/gstmessage.h:
6933         Fix typo in docs.
6934
6935 2005-10-11  Wim Taymans  <wim@fluendo.com>
6936
6937         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6938         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6939         (gst_bin_change_state_func), (bin_bus_handler):
6940         * gst/gstbin.h:
6941         Work on proper clock selection.
6942
6943 2005-10-11  Edward Hervey  <edward@fluendo.com>
6944
6945         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
6946         * libs/gst/controller/gstcontroller.h:
6947         Added GList* version of _remove_properties() in order to be able to wrap
6948         it in bindings.
6949
6950 2005-10-11  Wim Taymans  <wim@fluendo.com>
6951
6952         * docs/design/part-states.txt:
6953         Some more docs.
6954
6955         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6956         (gst_bin_change_state_func), (bin_bus_handler):
6957         Doc updates. Don't distribute the same clock over and over again.
6958
6959         * gst/gstclock.c:
6960         * gst/gstclock.h:
6961         Doc updates.
6962
6963         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6964         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6965         (gst_pad_send_event):
6966         * gst/gstpad.h:
6967         Make probe emission threadsafe again.
6968         Register quarks and move _get_name() from utils.
6969         Doc updates.
6970
6971         * gst/gstpipeline.c: (gst_pipeline_class_init),
6972         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6973         Only redistribute the clock of it changed.
6974
6975         * gst/gstsystemclock.h:
6976         Doc updates. 
6977
6978         * gst/gstutils.c:
6979         * gst/gstutils.h:
6980         Moved the _flow_get_name() to GstPad.
6981
6982 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6983
6984         * check/gst-libs/gdp.c: (GST_START_TEST):
6985         * check/gst/gstcaps.c: (GST_START_TEST):
6986         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6987         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6988         (gst_dp_packet_from_caps):
6989           fix more valgrind warnings before turning up the heat
6990
6991 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6992
6993         * gst/parse/grammar.y:
6994           some cleanup before the hacking
6995
6996 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6997
6998         * gst/base/gstbasesrc.c: (gst_base_src_query):
6999           use conversions
7000         * gst/gstutils.c: (gst_guint64_to_gdouble),
7001         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
7002         * gst/gstutils.h:
7003           externalize, basesrc uses it
7004           obviously the implementation needs testing
7005
7006 2005-10-10  Wim Taymans  <wim@fluendo.com>
7007
7008         * tests/sched/Makefile.am:
7009         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
7010         (make_pipeline3), (make_pipeline4), (print_elem), (main):
7011
7012 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7013
7014         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
7015           apparently converting from guint64 to double is not implemented
7016           on MSVC
7017
7018 2005-10-10  Wim Taymans  <wim@fluendo.com>
7019
7020         * check/Makefile.am:
7021         * check/generic/states.c: (GST_START_TEST):
7022         * check/gst/gstbin.c: (GST_START_TEST):
7023         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7024         * check/states/sinks.c: (GST_START_TEST):
7025         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
7026         (main):
7027         Check fixes, use API as stated in design docs, remove hacks.
7028
7029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7030         (gst_base_sink_change_state):
7031         Catch stopping our task while we're shutting down.
7032
7033         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7034         (gst_bin_remove_func), (gst_bin_get_state_func),
7035         (gst_bin_recalc_state), (gst_bin_change_state_func),
7036         (bin_bus_handler):
7037         * gst/gstbin.h:
7038         * gst/gstelement.c: (gst_element_init),
7039         (gst_element_get_state_func), (gst_element_abort_state),
7040         (gst_element_commit_state), (gst_element_lost_state),
7041         (gst_element_set_state), (gst_element_change_state),
7042         (gst_element_change_state_func):
7043         * gst/gstelement.h:
7044         New state change algorithm (see #318116)
7045
7046         * gst/gstpipeline.c: (gst_pipeline_class_init),
7047         (gst_pipeline_init), (gst_pipeline_set_property),
7048         (gst_pipeline_get_property), (do_pipeline_seek),
7049         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7050         * gst/gstpipeline.h:
7051         Remove crude state change hacks.
7052
7053         * gst/gstutils.h:
7054         Remove crude hacks.
7055
7056         * tools/gst-launch.c: (main):
7057         Fixes for state change. Needs some more work to fully use the
7058         new stuff.
7059
7060 2005-10-10  Andy Wingo  <wingo@pobox.com>
7061
7062         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
7063
7064         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
7065         this flag, but it's not even in GLib 2.6. Odd. Hack around the
7066         issue.
7067
7068 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7069
7070         * gst/gstiterator.c: (gst_iterator_new):
7071           Fix my previous commit: GTypes passed to gst_iterator_new()
7072           can be fundamental types.
7073
7074 2005-10-10  Wim Taymans  <wim@fluendo.com>
7075
7076         * gst/gstelement.c: (gst_element_iterate_pad_list),
7077         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
7078         (gst_element_iterate_sink_pads):
7079         Use src/sink pads lists for the respective iterators instead
7080         of filtering.
7081
7082 2005-10-10  Andy Wingo  <wingo@pobox.com>
7083
7084         Merged in popt removal + GOption addition patch from Ronald, bug
7085         #169772.
7086
7087         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
7088         GstElement macros around, remove popt-related symbols, add goption
7089         stuff.
7090
7091         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
7092         
7093         * docs/gst/Makefile.am:
7094         * docs/libs/Makefile.am: No POPT_CFLAGS.
7095         
7096         * examples/manual/Makefile.am:
7097         * docs/manual/basics-init.xml: Doc updates with an example.
7098         
7099         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7100         (gst_init), (parse_one_option), (parse_goption_arg):
7101         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
7102         bit of hand merging and debugging to get the GOption stuff working
7103         tho.
7104         
7105         * tests/Makefile.am:
7106         * tools/Makefile.am:
7107         * tools/gst-inspect.c: (main):
7108         * tools/gst-launch.c: (main):
7109         * tools/gst-run.c: (main):
7110         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
7111
7112 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7113
7114         * gst/gstiterator.c: (gst_iterator_new):
7115           Add assertions to make sure passed GType is likely to really
7116           be a GType (as the compiler won't catch it if the size and
7117           GType arguments get mixed up, see #318447).
7118
7119 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
7120
7121         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7122
7123         * gst/gstbin.c: (gst_bin_iterate_sorted):
7124           Pass GType and size arguments to gst_iterator_new() in the right
7125           order (maybe we should make _new() take the GType as first argument
7126           just like _new_list()?) (#318447).
7127           
7128
7129 2005-10-10  Wim Taymans  <wim@fluendo.com>
7130
7131         * gst/gstelement.c: (gst_element_finalize):
7132         And free the GStaticRecMutex too
7133
7134 2005-10-10  Andy Wingo  <wingo@pobox.com>
7135
7136         * gst/gstelement.c (gst_element_init, gst_element_finalize):
7137         Allocate and free the mutex properly.
7138
7139         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
7140         New macros.
7141         (GstElement): The state_lock is now recursive. Rebuild your
7142         plugins, suckers. Old macros adapted.
7143
7144         * docs/gst/gstreamer-sections.txt: Doc updates.
7145
7146         * gst/gstutils.h:
7147         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
7148         (g_static_rec_cond_wait): Ported from state changes patch, while
7149         we wait on bug #317802 to be solved in a well-distributed GLib.
7150
7151         * gst/gstelement.c (gst_element_change_state_func): Renamed from
7152         gst_element_change_state, variable name changes.
7153         (gst_element_change_state): Split out of gst_element_set_state in
7154         preparation for the state change merge. Doesn't pay attention to
7155         the 'transition' argument.
7156         (gst_element_set_state): Updates, hopefully purely cosmetic.
7157         (gst_element_sync_state_with_parent): MT-safety. Ported from the
7158         state change patch.
7159         (gst_element_get_state_func): Renamed from get_state, cosmetic
7160         changes.
7161
7162 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         * gst/elements/gstelements.c:
7165         * win32/GStreamer.vcproj:
7166         * win32/config.h:
7167         * win32/dirent.c: (_tseekdir):
7168         * win32/gst-inspect.vcproj:
7169         * win32/gst-launch.vcproj:
7170         * win32/gstconfig.h:
7171         * win32/gstelements.vcproj:
7172         * win32/gstenumtypes.c: (gst_object_flags_get_type):
7173         * win32/gstreamer.def:
7174         * win32/msvc71.sln:
7175           updates for the win32 build (patch from Sebastien Moutte)
7176
7177 2005-10-10  Andy Wingo  <wingo@pobox.com>
7178
7179         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
7180         gst_bin_get_state, cleaned up (but no logic changes).
7181         (bin_element_is_sink): Comment updates.
7182         (sink_iterator_filter): Remove needless cast.
7183         (gst_bin_iterate_sinks): Doc update.
7184         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
7185         cleaned up (but no logic changes).
7186
7187         * check/states/sinks.c (test_src_sink): Cleanups from the state
7188         change patch.
7189         (test_livesrc_sink): Sync on the state.
7190
7191         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
7192         the state change patch.
7193
7194         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
7195         change patch.
7196
7197         * check/gst/gstbin.c: Merge in some style fixes and additional
7198         checks from Wim's state change patch.
7199
7200 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7201
7202         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7203         (gst_type_find_helper):
7204           Check whether we have the requested data already in our list of
7205           cached buffers before pulling a new buffer; also make the buffer
7206           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
7207
7208 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7209
7210         * gst/gstcaps.c:
7211         * gst/gstevent.c:
7212           doc updates
7213         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7214           don't use long long, it's not portable.  Replacing with
7215           gint64 seems to work; let's hope no skeletons fall out of the closet.
7216
7217 2005-10-10  Andy Wingo  <wingo@pobox.com>
7218
7219         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
7220
7221 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
7222
7223         * docs/gst/gstreamer-sections.txt:
7224         * gst/gstevent.c:
7225         * gst/gstevent.h:
7226         * gst/gstinfo.c:
7227         * gst/gstinfo.h:
7228         * gst/gstmessage.c: (gst_message_parse_state_changed):
7229         * gst/gstpad.c:
7230         * gst/gstpad.h:
7231           more docs, fix compilation
7232
7233 2005-10-09  Philippe Khalaf <burger@speedy.org>
7234         * gst/gstmessage.c:
7235           Fixed a few forgotten variables on previous commit
7236
7237 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
7238
7239         * gst/base/gsttypefindhelper.c: (helper_find_peek):
7240           Fix evil typefind crasher: getrange() might return a short
7241           buffer at the end of a file, but gst_type_find_peek() must
7242           either return the full data as requested or NULL, but
7243           never a short buffer.
7244
7245 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7246
7247         * gst/gstmessage.c: (gst_message_new_state_changed),
7248         (gst_message_parse_state_changed):
7249         * gst/gstmessage.h:
7250           don't use "new", it's a C++ keyword
7251
7252 2005-10-08  Wim Taymans  <wim@fluendo.com>
7253
7254         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
7255         * gst/gstelement.c: (gst_element_post_message):
7256         * gst/gstpipeline.c: (gst_pipeline_change_state):
7257         Small docs and debug updates.
7258
7259 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7260
7261         * docs/gst/gstreamer-sections.txt:
7262         * gst/gstelementfactory.c:
7263         * gst/gstevent.c:
7264         * gst/gsttaglist.c:
7265           more docs
7266
7267 2005-10-08  Wim Taymans  <wim@fluendo.com>
7268
7269         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
7270         (gst_bin_dispose), (bin_bus_handler):
7271         Fix typos, add comments.
7272         Clear EOS list when going to PAUSED from any direction and do it
7273         in a threadsafe way.
7274         Get base time in a threadsafe way too.
7275         Fix confusing debug in the change_state function.
7276         Various other small cleanups.
7277         
7278         * gst/gstelement.c: (gst_element_post_message):
7279         Fix very verbose bus posting code.
7280
7281         * gst/gstpipeline.c: (gst_pipeline_class_init),
7282         (gst_pipeline_set_property), (gst_pipeline_get_property),
7283         (gst_pipeline_change_state):
7284         Small ARG_ -> PROP_ cleanup
7285
7286 2005-10-08  Wim Taymans  <wim@fluendo.com>
7287
7288         * gst/gstbin.c: (is_eos), (bin_bus_handler):
7289         Do a less CPU demanding EOS check because we can.
7290
7291 2005-10-08  Wim Taymans  <wim@fluendo.com>
7292
7293         * libs/gst/dataprotocol/dataprotocol.c:
7294         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7295         (gst_dp_packet_from_event):
7296         * libs/gst/dataprotocol/dataprotocol.h:
7297         * libs/gst/dataprotocol/dp-private.h:
7298         It's about time we bump the version number.
7299         Since event types don't fit in the guint8 anymore describing
7300         the payload type, make payload type 16 bits wide.
7301
7302 2005-10-08  Wim Taymans  <wim@fluendo.com>
7303
7304         * docs/design/part-TODO.txt:
7305         * docs/design/part-clocks.txt:
7306         * docs/design/part-events.txt:
7307         * docs/design/part-gstbin.txt:
7308         * docs/design/part-gstelement.txt:
7309         * docs/design/part-gstpipeline.txt:
7310         * docs/design/part-live-source.txt:
7311         * docs/design/part-messages.txt:
7312         * docs/design/part-overview.txt:
7313         * docs/design/part-states.txt:
7314         Many doc updates.
7315
7316 2005-10-08  Wim Taymans  <wim@fluendo.com>
7317
7318         * gst/gstevent.c:
7319         * gst/gstevent.h:
7320         Fix event quark registration.
7321         Add some space between events so we can insert them in the
7322         right groups.
7323
7324 2005-10-08  Wim Taymans  <wim@fluendo.com>
7325
7326         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7327         (gst_base_sink_handle_buffer):
7328         Better log message.
7329
7330         * gst/gstbus.h:
7331         * gst/gstelement.h:
7332         More docs.
7333
7334         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
7335         (gst_queue_set_property), (gst_queue_get_property):
7336         * gst/gstqueue.h:
7337         Remove old unused properties.
7338
7339 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7340         * docs/gst/gstreamer-sections.txt:
7341         * gst/gstmessage.c:
7342         * gst/gstmessage.h:
7343         * gst/gstminiobject.c:
7344         * gst/gstminiobject.h:
7345         * gst/gstobject.h:
7346         * gst/gstpad.h:
7347         * gst/gstutils.h:
7348           lots of new docs and doc fixes
7349
7350 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7351
7352         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
7353         * gst/gstplugin.h:
7354         * gst/gstregistry.c: (gst_registry_lookup_locked),
7355         (gst_registry_scan_path_level):
7356         * gst/gstregistryxml.c: (load_plugin):
7357           Only ever load one plugin for a given plugin basename.
7358           This ensures correct overriding of GST_PLUGIN_PATH over
7359           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
7360           system installed plugins.
7361
7362 2005-10-08  Wim Taymans  <wim@fluendo.com>
7363
7364         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7365         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
7366         Prepare for doing QOS.
7367
7368 2005-10-08  Wim Taymans  <wim@fluendo.com>
7369
7370         * check/gst/gstbin.c: (GST_START_TEST):
7371         * check/pipelines/cleanup.c: (GST_START_TEST):
7372         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7373         Allow new clock message too.
7374
7375 2005-10-08  Wim Taymans  <wim@fluendo.com>
7376
7377         * gst/gstmessage.c: (gst_message_new_error),
7378         (gst_message_new_warning), (gst_message_new_tag),
7379         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7380         (gst_message_new_clock_lost), (gst_message_new_new_clock),
7381         (gst_message_new_segment_start), (gst_message_new_segment_done),
7382         (gst_message_parse_state_changed),
7383         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
7384         (gst_message_parse_new_clock):
7385         * gst/gstmessage.h:
7386         Also carry the clock in question.
7387
7388 2005-10-08  Wim Taymans  <wim@fluendo.com>
7389
7390         * gst/gstmessage.c: (gst_message_new_custom),
7391         (gst_message_new_eos), (gst_message_new_error),
7392         (gst_message_new_warning), (gst_message_new_tag),
7393         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7394         (gst_message_new_new_clock), (gst_message_new_segment_start),
7395         (gst_message_new_segment_done), (gst_message_parse_state_changed),
7396         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
7397         * gst/gstmessage.h:
7398         Clean up.
7399         Added clock related messages.
7400
7401         * gst/gstpipeline.c: (gst_pipeline_change_state):
7402         Post message when the clock changed.
7403
7404         * tools/gst-launch.c: (event_loop):
7405         Print new clock.
7406
7407 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7408
7409         * tools/gst-inspect.c: (print_element_properties_info):
7410           Can't pass NULL strings to g_print() on windows.
7411
7412 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7413
7414         * docs/Makefile.am:
7415         * docs/gst/Makefile.am:
7416         * docs/gst/gstreamer-docs.sgml:
7417         * docs/gst/running.xml:
7418         * docs/version.entities.in:
7419           add a chapter on running GStreamer.
7420           document GST_DEBUG and GST_PLUGIN* env vars
7421
7422 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7423
7424         * Makefile.am:
7425           remove include dir
7426         * configure.ac:
7427           remove PLUGINS_BUILDDIR stuff
7428         * gst/gst.c: (init_post):
7429           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
7430         * idiottest.mak:
7431           remove, it was condescending and not needed
7432
7433 2005-10-08  Wim Taymans  <wim@fluendo.com>
7434
7435         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7436         (gst_base_sink_handle_object), (gst_base_sink_event),
7437         (gst_base_sink_wait), (gst_base_sink_handle_event),
7438         (gst_base_sink_change_state):
7439         * gst/base/gstbasesink.h:
7440         Repost EOS message while going to PLAYING if still EOS.
7441         Make sure that when receiving a FLUSH_START we don't attempt
7442         to sync on the clock anymore.
7443
7444 2005-10-08  Wim Taymans  <wim@fluendo.com>
7445
7446         * tools/gst-launch.c: (event_loop):
7447         Better message printout.
7448
7449 2005-10-08  Wim Taymans  <wim@fluendo.com>
7450
7451         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
7452         (gst_bin_child_proxy_get_children_count):
7453         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7454         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
7455         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
7456         (gst_child_proxy_set_valist):
7457         * gst/parse/grammar.y:
7458         Make ChildProxy threadsafe and fix mem leaks.
7459
7460 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * gst/gst.c: (init_post):
7463           debug the GST_PLUGIN_ env vars
7464
7465 2005-10-08  Wim Taymans  <wim@fluendo.com>
7466
7467         * check/gst/gstbin.c: (GST_START_TEST):
7468         * check/gst/gstmessage.c: (GST_START_TEST):
7469         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7470         * gst/gstelement.c: (gst_element_commit_state),
7471         (gst_element_lost_state):
7472         * gst/gstmessage.c: (gst_message_new_state_changed),
7473         (gst_message_parse_state_changed):
7474         * gst/gstmessage.h:
7475         * tools/gst-launch.c: (event_loop):
7476         Added extra field to STATE_CHANGE message with the pending
7477         state, which will be different from the new state soon.
7478
7479 2005-10-08  Wim Taymans  <wim@fluendo.com>
7480
7481         * gst/gstbus.c: (gst_bus_pop):
7482         * gst/gstclock.c:
7483         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7484         Small cleanups and doc updates.
7485
7486 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7487
7488         * gst/gst.c: (init_pre):
7489         * gst/gstbin.c: (gst_bin_add_func):
7490           log distributing clocks and base time
7491         * gst/gstregistry.c: (gst_registry_add_plugin),
7492         (gst_registry_scan_path_level), (gst_registry_scan_path):
7493           clean up the debugging output a little
7494         * gst/gstutils.c: (gst_element_state_get_name):
7495           warn about a memleak (I've actually seen this be used, though
7496           it was probably a bug)
7497
7498 2005-10-07  Wim Taymans  <wim@fluendo.com>
7499
7500         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7501         (gst_base_src_init), (gst_base_src_default_newsegment),
7502         (gst_base_src_newsegment), (gst_base_src_do_seek),
7503         (gst_base_src_loop), (gst_base_src_start):
7504         * gst/base/gstbasesrc.h:
7505         Make the newsegment event customizable by subclasses.
7506
7507 2005-10-07  Wim Taymans  <wim@fluendo.com>
7508
7509         * gst/gstevent.c: (gst_event_new_buffersize),
7510         (gst_event_parse_buffersize):
7511         * gst/gstevent.h:
7512         New event for future idea.
7513
7514 2005-10-07  Andy Wingo  <wingo@pobox.com>
7515
7516         * gst/gstelement.c (gst_element_post_message): Doc update.
7517
7518         * docs/gst/gstreamer-sections.txt: Update.
7519
7520         * gst/gstmessage.c (gst_message_new_application): Made into a
7521         function like honest API calls.
7522         (gst_message_new_element): New message type.
7523
7524         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
7525
7526         * check/elements/fakesrc.c (test_no_preroll): New check, checks
7527         that setting a live fakesrc to PAUSED returns NO_PREROLL both
7528         times.
7529
7530         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
7531         NO_PREROLL from gst_element_change_state to fall through.
7532
7533 2005-10-07  Wim Taymans  <wim@fluendo.com>
7534
7535         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
7536         (gst_ghost_pad_do_activate_push):
7537         Activating a ghostpad with no internal pad in push mode
7538         is ok.
7539
7540 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7541
7542         * gst/gstobject.h:
7543           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
7544           Fixes compilation on Windows.
7545
7546 2005-10-07  Michael Smith <msmith@fluendo.com>
7547
7548         * tools/gst-inspect.c:
7549           Print out feature and plugin count at the end when printing out
7550           all features.
7551
7552 2005-10-04  Michael Smith <msmith@fluendo.com>
7553
7554         * gst/gsterror.c: (_gst_stream_errors_init):
7555           Add another error string used in a few existing plugins.
7556
7557         * gst/gstplugin.c:
7558         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7559         * tools/gst-inspect.c: (print_element_info):
7560           When a feature disappears from a plugin (and the feature exists in
7561           the cached registry file), things went horribly wrong. This isn't a
7562           complete fix, we should actually be removing the 'missing' features
7563           from the features list when we load the actual plugin. That's not
7564           yet implemented. 
7565
7566 2005-10-04  Johan Dahlin  <johan@gnome.org>
7567
7568         * check/gst/gstiterator.c: (GST_START_TEST):
7569         * gst/gstbin.c: (gst_bin_iterate_elements),
7570         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
7571         * gst/gstelement.c: (gst_element_iterate_pads):
7572         * gst/gstformat.c: (gst_format_iterate_definitions):
7573         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
7574         (gst_iterator_new_list), (gst_iterator_filter):
7575         * gst/gstiterator.h:
7576         * gst/gstquery.c: (gst_query_type_iterate_definitions):
7577         Add a GType to GstIterator, update callsites and tests.
7578
7579 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7580
7581         * gst/gstpad.c: (gst_pad_event_default_dispatch):
7582           give events a chance to be handled by event probes when the pad
7583           is not linked
7584
7585 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7586
7587         * gst/gstevent.c: (gst_event_type_get_name),
7588         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
7589         * gst/gstevent.h:
7590           add string representations for event types
7591
7592 2005-10-06  Wim Taymans  <wim@fluendo.com>
7593
7594         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
7595         Don't use NULL pointers.
7596
7597 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7598
7599         * gst/gst_private.h:
7600         * gst/gstbus.c:
7601         * gst/gstelement.c:
7602         * gst/gstinfo.c:
7603         * gst/gstpluginfeature.c:
7604           widen the debug category in output to fit the biggest one we have
7605           add a bus category and use it
7606           play with the colors
7607           fix up some categories
7608
7609 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7610
7611         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
7612           add push activation of sink ghost pads.
7613           Andye, please verify
7614
7615 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7616
7617         * gst/gstutils.c: (gst_element_link_pads):
7618           fix a bug in the case where neither element has a pad
7619         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7620           add a test for that case
7621
7622 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7623
7624         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
7625           emit have-data before checking for peers.  This allows
7626           for probe handlers to connect elements.  This helps autopluggers.
7627         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
7628         (gst_pad_suite):
7629           add six checks, linked/unlinked with no/true/false probe
7630
7631 2005-10-04  Wim Taymans  <wim@fluendo.com>
7632
7633         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
7634         (gst_fake_sink_event), (gst_fake_sink_preroll),
7635         (gst_fake_sink_render), (gst_fake_sink_change_state):
7636         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
7637         (gst_fake_src_get_property), (gst_fake_src_create),
7638         (gst_fake_src_stop):
7639         * gst/elements/gstidentity.c: (gst_identity_stop):
7640         Protect last_message with lock.
7641
7642 2005-10-04  Edward Hervey  <edward@fluendo.com>
7643
7644         * gst/gstformat.h: 
7645         Added precision in the comments for GST_FORMAT_DEFAULT
7646
7647 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
7648
7649         * tools/gst-launch.c: (main):
7650           Don't try to run erroneous pipelines.
7651
7652 2005-10-04  Julien MOUTTE  <julien@moutte.net>
7653
7654         * gst/gstbus.c: We don't need this header.
7655
7656 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7657
7658         * configure.ac:
7659           back to development
7660
7661 === release 0.9.3 ===
7662
7663 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         * README:
7666         * configure.ac:
7667           Releasing 0.9.3, "Unregistered"
7668
7669 2005-10-03  Andy Wingo  <wingo@pobox.com>
7670
7671         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
7672         whereby calling a pad's activatepush() function can start a thread
7673         that starts to push or pull before the pad gets the FLUSHING flag
7674         unset. Hack around it by holding the stream lock until the flag is
7675         set. Need to replace this with a proper solution. Together with
7676         the ghost pad fixes, this fixes mp3 playing/tagreading.
7677
7678         * docs/design/part-gstghostpad.txt: Add a note about activation of
7679         proxy pads outside of ghost pads.
7680
7681         * gst/gstghostpad.c: Implement the ghost pad activation design.
7682
7683 2005-10-02  Andy Wingo  <wingo@pobox.com>
7684
7685         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
7686         It is volatile, after all.
7687
7688         * docs/design/part-gstghostpad.txt: Flesh out activation with
7689         ghost pads.
7690
7691         * gst/base/gstbasesrc.c (gst_base_src_init): Use
7692         GST_DEBUG_FUNCPTR.
7693
7694 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7695
7696         * configure.ac:
7697           Fix (unused) AM_CONDITIONAL tests.
7698
7699 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
7700
7701         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7702
7703         * gst/gstutils.c: (gst_pad_query_convert):
7704           Add assertion that makes sure src_val is >=0, just like
7705           gst_query_new_convert() has. (#315895)
7706
7707 2005-09-30  Edward Hervey  <edward@fluendo.com>
7708
7709         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
7710         Let's not iterate pads we're not interested in, it avoids getting 
7711         sky-high refcounts on sinkpad.
7712
7713 2005-09-30  Wim Taymans  <wim@fluendo.com>
7714
7715         * gst/gstelement.c: (gst_element_set_state),
7716         (gst_element_change_state):
7717         Small tweak, element in ASYNC remains ASYNC.
7718
7719 2005-09-30  Wim Taymans  <wim@fluendo.com>
7720
7721         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7722         Only error is an error.
7723
7724         * gst/gstbin.c: (gst_bin_change_state):
7725         Better debugging.
7726
7727         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
7728         Also call pad_block in pad alloc.
7729
7730         * gst/gstutils.c: (gst_flow_get_name):
7731         Better debugging.
7732
7733 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7734
7735         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7736         (gst_base_src_get_range):
7737           Fix documentation typos. Add some more debug info.
7738
7739 2005-09-29  David Schleef  <ds@schleef.org>
7740
7741         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
7742           more end-user friendly.
7743         * tools/gst-inspect.c: (main): Check if command-line argument is
7744           a file and attempt to load that file as a plugin.
7745
7746 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7747
7748         * check/gst/gstbin.c:
7749         * check/states/sinks.c:
7750           fix tests for the new warning
7751         * check/gst/gstpipeline.c:
7752           add a test for pipeline and bus interaction
7753         * gst/gstelement.c:
7754           elements should be NULL if they get disposed; add a warning if not
7755
7756 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7757
7758         * gst/gstobject.c:
7759           for 2.6 refcounting, make debug log more correct by printing
7760           the actual refcounts at the time of swap (Wim)
7761
7762 2005-09-29  Andy Wingo  <wingo@pobox.com>
7763
7764         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
7765         removes signal watches previously added via
7766         gst_bus_add_signal_watch.
7767         (gst_bus_add_signal_watch): Don't return the source id, just store
7768         it on the bus if there wasn't an id already.
7769
7770         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
7771         add_signal_watch and remove_signal_watch.
7772
7773 2005-09-29  Edward Hervey  <edward@fluendo.com>
7774
7775         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
7776         Better if we actually iterate the list :)
7777
7778 2005-09-29  Wim Taymans  <wim@fluendo.com>
7779
7780         * check/gst/gstbin.c: (GST_START_TEST):
7781         Change for new bus API.
7782
7783         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7784         (send_messages), (GST_START_TEST), (gstbus_suite):
7785         Change for new bus signal API.
7786
7787         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
7788         (gst_bus_source_prepare), (gst_bus_source_check),
7789         (gst_bus_create_watch), (gst_bus_add_watch_full),
7790         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
7791         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
7792         * gst/gstbus.h:
7793         Remove support for multiple GSources operating on different
7794         message types as it is too complex and unneeded when using
7795         signals.
7796         Added support for receiving signals from the bus.
7797
7798 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7799
7800         * docs/libs/tmpl/gstdataprotocol.sgml:
7801         * docs/manual/advanced-dataaccess.xml:
7802         * gst/elements/gstcapsfilter.c:
7803         * gst/gstutils.c:
7804           rename filter-caps to caps property
7805
7806 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7807
7808         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7809           More robust fraction string parsing.
7810
7811         * docs/pwg/appendix-porting.xml:
7812           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
7813
7814 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7815
7816         * gst/gstcaps.c: (gst_caps_do_simplify):
7817           Thou shalt not free a structure and then continue using it
7818           in the next loop iteration.
7819
7820         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
7821         (gst_caps_suite):
7822           Add test case for caps simplification.
7823
7824 2005-09-29  Wim Taymans  <wim@fluendo.com>
7825
7826         * check/gst/gstbin.c: (GST_START_TEST):
7827         Oops.
7828
7829 2005-09-29  Wim Taymans  <wim@fluendo.com>
7830
7831         * check/gst/gstbin.c: (GST_START_TEST):
7832         Add bus to bin.
7833
7834         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7835         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7836         (find_element), (gst_bin_sort_iterator_next),
7837         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7838         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7839         (gst_bin_change_state), (gst_bin_dispose):
7840         A bin does not have a bus, it gets the bus from the parent.
7841
7842         * gst/gstelement.c: (gst_element_requires_clock),
7843         (gst_element_provides_clock), (gst_element_is_indexable),
7844         (gst_element_is_locked_state), (gst_element_change_state),
7845         (gst_element_set_bus_func):
7846         Small cleanups.
7847
7848         * gst/gstpipeline.c: (gst_pipeline_class_init),
7849         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7850         The pipeline provides a bus.
7851
7852 2005-09-28  Johan Dahlin  <johan@gnome.org>
7853
7854         * gst/gstmessage.c (gst_message_parse_state_changed): Use
7855         gst_structure_get_enum instead of gst_structure_get_int
7856
7857         * gst/gststructure.c (gst_structure_get_enum): Impl.
7858
7859         * gst/gststructure.h (gst_structure_get_enum): Add
7860
7861         * docs/gst/gstreamer-sections.txt: Ditto
7862
7863         * gst/gstmessage.c (gst_message_new_state_changed): Use
7864         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7865         which does introspection.
7866         Reviewed by Christian Schaller
7867
7868 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7869
7870         * gst/gstinfo.c: (gst_debug_log_default):
7871           don't do dummy g_strdup()s
7872         * libs/gst/controller/gstcontroller.c:
7873         (on_object_controlled_property_changed),
7874         (gst_controlled_property_new), (gst_controller_new_valist),
7875         (gst_controller_new_list),
7876         (gst_controller_remove_properties_valist), (gst_controller_set),
7877         (gst_controller_get), (gst_controller_sync_values),
7878         (gst_controller_get_value_array), (_gst_controller_class_init),
7879         (gst_controller_get_type):
7880         * libs/gst/controller/gstcontroller.h:
7881         * libs/gst/controller/gstinterpolation.c:
7882         (gst_controlled_property_find_timed_value_node):
7883           convert // to /**/ comments
7884
7885 2005-09-28  Wim Taymans  <wim@fluendo.com>
7886
7887         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7888         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7889         (gst_bus_sync_signal_handler):
7890         * gst/gstbus.h:
7891         Added async-message and sync-message signals to the bus.
7892         Added helper BusFunc to emit signals for all posted messages.
7893
7894         * gst/gstmessage.c: (gst_message_type_get_name),
7895         (gst_message_type_to_quark), (gst_message_get_type):
7896         * gst/gstmessage.h:
7897         Register quarks for message names.
7898
7899 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7900
7901         * docs/libs/gstreamer-libs-sections.txt:
7902         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7903         (gst_controller_new_list):
7904         * libs/gst/controller/gstcontroller.h:
7905           added another constructor for language bindings
7906
7907 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7908
7909         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7910           add another check
7911         * gst/gstbus.c:
7912           add some doc
7913         * gst/gstinfo.c: (_gst_debug_init):
7914           slightly more readable color for refcount debugging
7915
7916 2005-09-28  Wim Taymans  <wim@fluendo.com>
7917
7918         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7919         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7920         (find_element), (gst_bin_sort_iterator_next),
7921         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7922         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7923         (gst_bin_change_state), (gst_bin_dispose):
7924         Small doc fixes. get_clock -> provide_clock.
7925
7926         * gst/gstelement.c: (gst_element_class_init),
7927         (gst_element_provides_clock), (gst_element_provide_clock),
7928         (gst_element_get_clock), (gst_element_commit_state),
7929         (gst_element_lost_state):
7930         * gst/gstelement.h:
7931         Make get/set_clock() symetric. Add provide_clock vmethod since
7932         that is actually what this function does.
7933
7934         * gst/gstpipeline.c: (gst_pipeline_class_init),
7935         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7936         (gst_pipeline_get_clock):
7937         get_clock -> provide_clock.
7938
7939 2005-09-28  Andy Wingo  <wingo@pobox.com>
7940
7941         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7942         lieu of real docs...
7943
7944         * gst/elements/gstfdsrc.c: Cleaned up a bit.
7945
7946 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
7947
7948         * gst/elements/gstcapsfilter.c:
7949         * gst/elements/gstfakesink.c:
7950         * gst/elements/gstfakesrc.c:
7951         * gst/elements/gstfdsink.c:
7952         * gst/elements/gstfdsrc.c:
7953         * gst/elements/gstfilesink.c:
7954         * gst/elements/gstfilesrc.c:
7955         * gst/elements/gstidentity.c:
7956         * gst/elements/gsttee.c:
7957         * gst/elements/gsttypefindelement.c:
7958           Make element details static.
7959
7960 2005-09-28  Wim Taymans  <wim@fluendo.com>
7961
7962         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7963         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7964         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7965         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7966         (gst_bin_change_state), (gst_bin_dispose):
7967         Some documentation updates.
7968         Clean up dispose handlers.
7969
7970         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7971         * gst/gstpad.c: (gst_pad_dispose):
7972         Clean up dispose handler.
7973
7974         * gst/gstpipeline.c: (gst_pipeline_change_state):
7975         Removed spurious UNLOCK.
7976
7977 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
7978
7979         * docs/gst/gstreamer-sections.txt:
7980         * gst/base/gstbasesrc.h:
7981         * gst/gstelement.h:
7982         * gst/gstevent.h:
7983         * gst/gstobject.h:
7984         * gst/gstpad.h:
7985         * gst/gstpipeline.c:
7986         * gst/gstpipeline.h:
7987         * gst/gstutils.h:
7988         * gst/gstxml.h:
7989           added two new functions to the docs
7990                 documents all undocumented GstXXXFlags
7991                 completed some incomplete docs 
7992
7993 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7994
7995         * gst/gstbin.c: (gst_bin_dispose):
7996         * gst/gstelement.c: (gst_element_dispose):
7997           remove now useless and leaky resurrection code in dispose
7998         * gst/base/gstbasesrc.c: (gst_base_src_init):
7999         * gst/gstelementfactory.c: (gst_element_factory_create):
8000         * gst/gstobject.c: (gst_object_set_parent):
8001           add some debugging
8002
8003 2005-09-27  Wim Taymans  <wim@fluendo.com>
8004
8005         * docs/design/part-TODO.txt:
8006         Update TODO.
8007
8008         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8009         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8010         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8011         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8012         (gst_bin_change_state):
8013         * gst/gstelement.h:
8014         Remove element variable, we keep element info in the iterator now.
8015
8016 2005-09-27  Andy Wingo  <wingo@pobox.com>
8017
8018         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
8019         values.
8020
8021 2005-09-27  Wim Taymans  <wim@fluendo.com>
8022
8023         * check/gst/gstbin.c: (GST_START_TEST):
8024         Enable check that works now.
8025
8026         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8027         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8028         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8029         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8030         (gst_bin_change_state):
8031         * gst/gstbin.h:
8032         Redid the state change algorithm using a topological sort algo.
8033         Handles all cases correctly.
8034         Exposed iterator for state change order.
8035
8036         * gst/gstelement.h:
8037         Temp storage for state changes. Need to get rid of this soon.
8038
8039 2005-09-27  Wim Taymans  <wim@fluendo.com>
8040
8041         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
8042         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
8043         (link_fold_func), (gst_pad_proxy_setcaps):
8044         Leak fixes, the fold functions need to unref the passed object and
8045         _get_parent_*() returns ref to parent.
8046
8047 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8048
8049         * check/gst/gstbuffer.c: (test_make_writable):
8050           Plug leak in test case and fix 'make check-valgrind'
8051
8052 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8053
8054         * gst/gstbuffer.c: (gst_subbuffer_init):
8055           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
8056           works correctly in all circumstances (we could have just copied
8057           the parent buffer's readonly flag, but conceptually it seems
8058           cleaner to mark all subbuffers as read-only). (based on patch
8059           by Alessandro Decina, #314710).
8060         
8061         * check/gst/gstbuffer.c: (create_read_only_buffer),
8062         (test_make_writable), (test_subbuffer_make_writable),
8063         (gst_test_suite):
8064           Add some tests for gst_buffer_make_writable().
8065
8066 2005-09-27  Wim Taymans  <wim@fluendo.com>
8067
8068         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
8069         use gst_object_has_ancestor().
8070
8071         * gst/gstobject.c: (gst_object_has_ancestor):
8072         * gst/gstobject.h:
8073         gst_object_has_ancestor() copied from gstbin.c as it is a
8074         usefull function.
8075
8076         * tests/instantiate/create.c: (create_all_elements):
8077         * tests/lat.c: (handoff_src), (handoff_sink):
8078         * tests/sched/runxml.c: (main):
8079         * tests/seeking/seeking1.c: (main):
8080         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8081         (main):
8082         Fix compilation of some tests.
8083
8084 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8085
8086         * gst/gsterror.h:
8087           Remove comment. GST_TYPE_G_ERROR is here to stay,
8088           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
8089           (#316961, #300610).
8090
8091 2005-09-26  Wim Taymans  <wim@fluendo.com>
8092
8093         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8094         Added check that shows error in state change order.
8095
8096 2005-09-26  Wim Taymans  <wim@fluendo.com>
8097
8098         * gst/gstbin.c: (gst_bin_change_state):
8099         Make state change function use 3 queues again, we were
8100         adding elements in the wrong order.
8101
8102         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8103         Some debug info,
8104
8105         * gst/gstpad.c: (gst_pad_dispose):
8106         Added some debug info first.
8107
8108 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
8109
8110         * docs/design/draft-push-pull.txt:
8111         * docs/design/part-events.txt:
8112         * docs/design/part-overview.txt:
8113         * docs/design/part-scheduling.txt:
8114           Replace all _pull_region() with _pull_range()
8115           
8116 2005-09-26  Andy Wingo  <wingo@pobox.com>
8117
8118         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
8119
8120         * check/gst-libs/controller.c: Update for controller api change.
8121
8122         * configure.ac: 
8123         * tests/Makefile.am:
8124         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
8125         over by GLib bug 118439.
8126         
8127         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
8128         routines to a function.
8129
8130         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
8131
8132         * libs/gst/controller/gsthelper.c:
8133         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
8134         (gst_object_sync_values): Renamed from sink_values. Ugh.
8135
8136         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
8137
8138         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
8139         Renamed from controller_key, as it is exported.
8140
8141         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
8142
8143 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8144
8145         * gst/Makefile.am:
8146         * gst/gst.h:
8147         * gst/gstpad.h:
8148         * gst/gstpadtemplate.h:
8149         * gst/gstquery.c:
8150         * gst/gstquery.h:
8151         * gst/gstqueryutils.c:
8152         * gst/gstqueryutils.h:
8153           remove queryutils headers after moving the two used functions
8154           to gstquery.  also fixes build problem for gstsiddec
8155
8156 2005-09-26  Michael Smith <msmith@fluendo.com>
8157
8158         * tools/gst-launch.1.in:
8159         Correct documentation in manpage of debug syntax
8160
8161 2005-09-26  Wim Taymans  <wim@fluendo.com>
8162
8163         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8164         (gst_base_src_is_seekable), (gst_base_src_change_state):
8165         Some more debugging info.
8166
8167 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8168
8169         * docs/gst/gstreamer-sections.txt:
8170         * gst/base/gstbasetransform.h:
8171         * gst/gstindex.h:
8172           added more docs
8173
8174 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8175
8176         * docs/gst/.cvsignore:
8177         * docs/gst/tmpl/.cvsignore:
8178         * docs/gst/tmpl/gstpipeline.sgml:
8179         * docs/gst/tmpl/gstplugin.sgml:
8180         * gst/gstpipeline.c:
8181         * gst/gstplugin.c:
8182         * gst/gstplugin.h:
8183           inlined the last two docs files
8184           removed the tmpl directory from cvs (no more conflicts here!)
8185
8186 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8187
8188         * docs/gst/gstreamer-sections.txt:
8189         * docs/gst/tmpl/.cvsignore:
8190         * docs/gst/tmpl/gstpad.sgml:
8191         * docs/gst/tmpl/gstpadtemplate.sgml:
8192         * gst/Makefile.am:
8193         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8194         (gst_pad_finalize), (gst_pad_set_pad_template):
8195         * gst/gstpad.h:
8196         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8197         (gst_pad_template_class_init), (gst_pad_template_init),
8198         (gst_pad_template_dispose), (name_is_valid),
8199         (gst_static_pad_template_get), (gst_pad_template_new),
8200         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
8201         (gst_pad_template_pad_created):
8202         * gst/gstpadtemplate.h:
8203           inlined two more docs
8204           factored gstpadtemplate out of gstpad
8205
8206 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
8207
8208         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8209         (test_children_state_change_order_semi_sink):
8210           Fix test case: we can't rely on a fixed state change order when
8211           going from READY => PAUSED because the sink might commit its 
8212           new state first when the first buffer created by the source 
8213           reaches the sink before the source has finished its change state.
8214           (Test case still fails at times, see #316856, comment 5 onwards)
8215
8216 2005-09-24  Wim Taymans  <wim@fluendo.com>
8217
8218         * docs/design/part-events.txt:
8219         * docs/design/part-gstbus.txt:
8220         * docs/design/part-gstpipeline.txt:
8221         * docs/design/part-messages.txt:
8222         * docs/design/part-overview.txt:
8223         * docs/design/part-segments.txt:
8224         * gst/gstbin.c:
8225         * gst/gstbuffer.c:
8226         * gst/gstclock.c:
8227         * gst/gstelement.c:
8228         * gst/gstevent.c:
8229         * gst/gstfilter.c:
8230         * gst/gstiterator.c:
8231         Various documentation updates.
8232
8233 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8234
8235         * gst/gstclock.h:
8236           Well, that's embarassing.  Luckily we weren't using
8237           GST_CLOCK_DIFF anywhere.
8238
8239 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8240
8241         * common/gtk-doc.mak:
8242           don't fail on building XML, FC4 slave shows a bunch of doc
8243           missing bits that I don't get
8244         * gst/gstpad.c:
8245         * gst/gstpipeline.c:
8246         * gst/gststructure.c:
8247           some doc updates
8248
8249 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8250
8251         * docs/design/part-gstbin.txt:
8252         * docs/design/part-gstbus.txt:
8253         * gst/gstbus.c:
8254           Add blurb about how the bus goes into flushing mode and
8255           drops all messages when its bin goes from READY into NULL 
8256           state.
8257
8258 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8259
8260         * docs/gst/gstreamer-sections.txt:
8261         * gst/gststructure.c: (gst_structure_get_clock_time):
8262         * gst/gststructure.h:
8263           add a method to get a GstClockTime out of a structure
8264
8265 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8266
8267         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8268         (test_children_state_change_order_semi_sink), (gst_bin_suite):
8269           Added test to check state change order in bins (can still be made
8270           to fail here under heavy disk load; bails out with 'Push on pad
8271           fakesink:sink0, but it was not activated in push mode').
8272
8273         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
8274           Fix state change order when there is only a semi sink (#316856)
8275
8276         * gst/gstbus.c: (gst_bus_class_init):
8277           Use _class_peek_parent(), not _class_ref(); fix docs to say
8278           'default main context' instead of 'mainloop' where that is
8279           what's meant.
8280
8281         * gst/gstelement.c: (gst_element_commit_state),
8282         (gst_element_set_state):
8283           Fix typos in debug messages
8284
8285 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8286
8287         * docs/README:
8288         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
8289         * gst/gstpluginfeature.c:
8290         * gst/gstutils.c:
8291           various doc updates
8292         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8293           change an assert into an error until it gets fixed properly
8294
8295 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
8296
8297         * docs/gst/gstreamer-sections.txt:
8298         * docs/gst/tmpl/.cvsignore:
8299         * docs/gst/tmpl/gstelement.sgml:
8300         * docs/gst/tmpl/gstinfo.sgml:
8301         * docs/gst/tmpl/gstobject.sgml:
8302         * gst/gstelement.c:
8303         * gst/gstelement.h:
8304         * gst/gstinfo.c:
8305         * gst/gstinfo.h:
8306         * gst/gstobject.c: (gst_object_class_init):
8307         * gst/gstobject.h:
8308           inlined 3 more biiiig doc files and added some missing docs on the fly
8309
8310 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8311
8312         * check/gst/.cvsignore:
8313         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
8314         * gst/gstregistryxml.c: (load_plugin),
8315         (gst_registry_xml_save_plugin):
8316           put back source in registry.  add checks for find_plugin.
8317         * testsuite/states/bin.c: (assert_state), (empty_bin),
8318         (test_adding_one_element), (main):
8319         * testsuite/states/locked.c: (main):
8320           some compile/run fixes
8321
8322 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8323
8324         * check/gst/gstvalue.c: (GST_START_TEST):
8325           fix leaks in the test itself
8326
8327 2005-09-22  Wim Taymans  <wim@fluendo.com>
8328
8329         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8330         (gst_base_sink_send_event), (gst_base_sink_peer_query),
8331         (gst_base_sink_query):
8332         Prepare for more accurate position reporting and query
8333         handling.
8334
8335         * gst/gstelement.c: (gst_element_send_event),
8336         (gst_element_set_state):
8337         Add some comment.
8338
8339 2005-09-22  Wim Taymans  <wim@fluendo.com>
8340
8341         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
8342         (gst_query_parse_segment):
8343         * gst/gstquery.h:
8344         More documentation.
8345         Add segment query for future use.
8346
8347 2005-09-22  Wim Taymans  <wim@fluendo.com>
8348
8349         * gst/gstbin.c: (gst_bin_add_func):
8350         Some more debug info.
8351
8352         * gst/gstelement.c: (gst_element_send_event):
8353         Simplify send_event
8354
8355         * gst/gstelement.h:
8356         Don't know how flags got broken.
8357
8358         * gst/gstquery.h:
8359         Added new query.
8360
8361 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8362
8363         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
8364           Add simplistic test suite for GST_TYPE_DATE serialisation and
8365           deserialisation.
8366
8367 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8368
8369         * docs/gst/gstreamer-sections.txt:
8370         * gst/gststructure.c: (gst_structure_set_valist),
8371         (gst_structure_get_date):
8372         * gst/gststructure.h:
8373         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
8374         (gst_date_copy), (gst_value_compare_date),
8375         (gst_value_serialize_date), (gst_value_deserialize_date),
8376         (gst_value_transform_date_string),
8377         (gst_value_transform_string_date), (_gst_value_initialize):
8378         * gst/gstvalue.h:
8379           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
8380           bunch of utility functions along with a hack that checks that
8381           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
8382           is required. Part of the grand scheme in #170777.
8383
8384 2005-09-22  Andy Wingo  <wingo@pobox.com>
8385
8386         * gst/gstconfig.h.in: Psych out gtk-doc.
8387
8388         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
8389
8390         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
8391
8392         * tools/gst-inspect.c (print_element_list): Plug some
8393         inconsequential leaks.
8394
8395         * gst/gstregistry.c (gst_registry_get_default): Doc.
8396
8397         * check/gst/gstplugin.c: 
8398         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
8399         * gst/gstelementfactory.c (gst_element_factory_create): 
8400         * gst/gstindexfactory.c (gst_index_factory_create): Update for
8401         refcount changes.
8402
8403         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
8404         (gst_plugin_feature_load): Doc, don't eat refs.
8405
8406         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
8407         (gst_plugin_list_free): Doc.
8408         (gst_plugin_load_file): Doc updates.
8409
8410         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
8411         accessors returning refcounted objects, return a ref.
8412
8413         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
8414         accessor for caps. IDEMPOTENCE. Oh yes.
8415
8416 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
8417
8418         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8419
8420         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8421         (_gst_debug_register_funcptr):
8422           Add mutex to serialise access to the hash table with
8423           the function pointer => function name string mapping;
8424           make that hash table static scope (#316809).
8425
8426         * gst/registries/.cvsignore:
8427           Remove left-over file.
8428
8429 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8430
8431         * docs/pwg/appendix-porting.xml:
8432           And something about newsegment events and caps-on-buffers to
8433           the porting guide (feel free to improve).
8434
8435 2005-09-21  Andy Wingo  <wingo@pobox.com>
8436
8437         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
8438         data and event probes on the same pad.
8439         (test_buffer_probe_once): Test that removing probes from within
8440         the probe functions works.
8441
8442 2005-09-21  Andy Wingo  <wingo@pobox.com>
8443
8444         * check/gst/gstutils.c: New file.
8445         (test_buffer_probe_n_times): A simple buffer probe test. More to
8446         come, foolios.
8447
8448         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
8449         have-data::buffer, not have-data.
8450         (gst_pad_add_event_probe): Likewise for have-data::event.
8451         (gst_pad_add_data_probe): More docs. The part about 'resolving the
8452         peer' isn't quite right yet though.
8453         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
8454         (gst_pad_remove_data_probe): Change to take the guint handler_id
8455         as their arg, not the function+data, which is more glib-like.
8456
8457         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
8458         the signal emission to indicate if the data is a buffer or an
8459         event.
8460         (gst_pad_get_type): Initialize buffer and event quarks.
8461         (gst_pad_class_init): have-data is now a detailed signal, yes it
8462         is.
8463
8464 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8465
8466         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8467         * gst/gstutils.c: (gst_util_set_value_from_string),
8468         (gst_util_set_object_arg):
8469           Don't put functional code in g_return_if_fail() or
8470           g_return_val_if_fail() statements, otherwise things will 
8471           break when G_DISABLE_CHECKS is defined during compilation.
8472
8473 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8474
8475         * docs/gst/tmpl/.cvsignore:
8476         * docs/gst/tmpl/gstvalue.sgml:
8477         * gst/gstvalue.c:
8478         * gst/gstvalue.h:
8479           inlied another one and added  some obvious docs
8480
8481 2005-09-21  Wim Taymans  <wim@fluendo.com>
8482
8483         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8484         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
8485         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
8486         (gst_fdsrc_get_property), (gst_fdsrc_create):
8487         * gst/elements/gstfdsrc.h:
8488         Properly implement fdsrc. Removed signal and timeout,
8489         better implemented somewhere else.
8490
8491 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8492
8493         * docs/gst/tmpl/.cvsignore:
8494         * docs/gst/tmpl/gstimplementsinterface.sgml:
8495         * gst/gstinterface.c:
8496           inlined more docs
8497
8498 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8499
8500         * docs/gst/gstreamer-sections.txt:
8501         * docs/gst/tmpl/.cvsignore:
8502         * docs/gst/tmpl/gstenumtypes.sgml:
8503           remove obsolete doc file
8504
8505 2005-09-21  David Schleef  <ds@schleef.org>
8506
8507         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
8508         little beer, fix a little leak.
8509
8510 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8511
8512         * docs/gst/gstreamer-docs.sgml:
8513         * docs/gst/gstreamer-sections.txt:
8514         * docs/gst/tmpl/.cvsignore:
8515         * gst/Makefile.am:
8516         * gst/gst.h:
8517         * gst/gstbin.c:
8518         * gst/gstelement.h:
8519         * gst/gstindex.c: (gst_index_class_init):
8520         * gst/gstindex.h:
8521         * gst/gstindexfactory.c: (gst_index_factory_get_type),
8522         (gst_index_factory_class_init), (gst_index_factory_init),
8523         (gst_index_factory_finalize), (gst_index_factory_new),
8524         (gst_index_factory_destroy), (gst_index_factory_find),
8525         (gst_index_factory_create), (gst_index_factory_make):
8526         * gst/gstindexfactory.h:
8527         * gst/gstpluginfeature.c:
8528         * gst/gstpluginfeature.h:
8529         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8530           more docs inlined, splitted gstindex.{c,h}
8531
8532 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8533
8534         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8535           fix a leak
8536
8537 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
8538
8539         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8540           Set sync to FALSE by default.
8541
8542 2005-09-20  Wim Taymans  <wim@fluendo.com>
8543
8544         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8545         (gst_base_sink_init):
8546         Make sync property settable from subclass.
8547
8548         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8549         (gst_fake_sink_change_state):
8550         Set sync to FALSE by default.
8551
8552 2005-09-20  Wim Taymans  <wim@fluendo.com>
8553
8554         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
8555         * tools/gst-launch.c: (main):
8556         The timeout handler should have lower priority than the source
8557         so we don't timeout before popping a message with 0 timeout.
8558         Dump error messages after failed state change.
8559
8560 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
8561
8562         * tools/gst-inspect.c: (print_element_properties_info):
8563           Fix two typos.
8564
8565 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8566
8567         * check/gst/gstevent.c:
8568         * gst/elements/gstfakesink.c:
8569         * gst/elements/gstfakesink.h:
8570           remove the sync property from fakesink.
8571           has the side effect of setting sync TRUE
8572           for fakesink, which is a change.  Anyone who knows how
8573           to fix this nicely in a GObject-y way, feel free.
8574
8575 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8576
8577         * docs/gst/gstreamer-docs.sgml:
8578           remove probe refsection
8579
8580 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8581
8582         * check/Makefile.am:
8583           disable valgrinding the controller test again
8584         * docs/gst/gstreamer-sections.txt:
8585           update for api-changes
8586
8587 2005-09-20  Wim Taymans  <wim@fluendo.com>
8588
8589         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8590         (gst_base_sink_set_property), (gst_base_sink_get_property),
8591         (gst_base_sink_do_sync):
8592         * gst/base/gstbasesink.h:
8593         Added sync property to basesink to disable clock sync.
8594
8595 2005-09-20  Andy Wingo  <wingo@pobox.com>
8596
8597         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
8598         eating the caller's refcount.
8599
8600         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
8601         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
8602         refcount.
8603
8604         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
8605         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
8606         of GLib 2.8 public, so we can know which refcount to check in
8607         tests.
8608
8609         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
8610         (gst_object_init): Only set the gst refcount if we're going ahead
8611         with the refcount hack.
8612
8613 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8614
8615         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8616         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8617           more leaks plumbed, added more debug-logging
8618         * gst/gstmacros.h:
8619           whitespace fix
8620
8621 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8622
8623         * gst/gstmessage.c:
8624           remove include of gstmemchunk.h
8625
8626 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8627
8628         * gst/gstclock.c: (_gst_clock_id_free):
8629           Commit from the Political Party For More Atomic CVS Commits,
8630           so that people don't waste too much of their day fishing
8631           out obvious leaks out of massive commits.
8632           Oh, and fix a pretty damn obvious leak in the memchunk
8633           removal code.
8634
8635 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8636
8637         * check/Makefile.am:
8638         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8639           plug mem-leak, re-add to valgrindable tests
8640
8641 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8642
8643         * gst/gstplugin.h:
8644           unbreak the build for those who have chronic arthritis
8645           and typing "make check" is just too taxing on the hands
8646
8647 2005-09-20  Andy Wingo  <wingo@pobox.com>
8648
8649         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
8650         really want it out, you should fix plugins at the same time.
8651
8652 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
8653
8654         * configure.ac:
8655         * docs/gst/gstreamer-sections.txt:
8656         * gst/gstobject.c:
8657           added missing symbols to api docs
8658           disable ref-count hack if we have glib >= 2.8
8659
8660 2005-09-19  David Schleef  <ds@schleef.org>
8661
8662         * docs/gst/Makefile.am: Ignore a few more internal headers
8663         * docs/gst/gstreamer-docs.sgml: Remove old sections
8664         * docs/gst/gstreamer-sections.txt: Remove old sections
8665         * docs/gst/tmpl/gstobject.sgml: update
8666         * docs/gst/tmpl/gstplugin.sgml: update
8667         * docs/gst/tmpl/gstpluginfeature.sgml: update
8668         * docs/random/ds/0.9-suggested-changes: update.
8669         * gst/Makefile.am: remove memchunk and trashstack, since they're
8670           not used.
8671         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
8672         * gst/gst.h: don't include some headers
8673         * gst/gstchildproxy.c: add gstmarshal.h
8674         * gst/gstclock.c: Don't use memchunks
8675         * gst/gstminiobject.c: Add some docs
8676         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
8677         * gst/gstobject.h: same
8678         * gst/gstplugin.c: include gstmacros.h
8679         * gst/gstplugin.h: don't include gstmacros.h, since it's private
8680         * gst/gstquery.c: don't use memchunks
8681         * gst/gstregistry.c: rename gst_registry_deinit()
8682         * gst/gstregistry.h: same
8683
8684 2005-09-19  David Schleef  <ds@schleef.org>
8685
8686         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
8687         * docs/libs/gstreamer-libs-sections.txt:
8688         * docs/libs/tmpl/gstgetbits.sgml:
8689         * docs/libs/tmpl/gstputbits.sgml:
8690
8691 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
8692
8693         * win32/gstenumtypes.c:
8694         * win32/gstenumtypes.h:
8695           Update.
8696
8697 2005-09-19  Wim Taymans  <wim@fluendo.com>
8698
8699         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
8700         Automatically PAUSE and RESUME a pipeline when a flushing seek
8701         is performed.
8702
8703 2005-09-19  Andy Wingo  <wingo@pobox.com>
8704
8705         * gst/gstregistry.h: Spacing fixen.
8706
8707 2005-09-19  Wim Taymans  <wim@fluendo.com>
8708
8709         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
8710         Handle state change failure more correctly.
8711
8712 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8713
8714         * check/Makefile.am:
8715         * check/pipelines/cleanup.c: (run_pipeline):
8716         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8717         (GST_START_TEST):
8718           enable cleanup again after fixing the leak
8719         * docs/README:
8720           some more info on docs
8721
8722 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8723
8724         * check/Makefile.am:
8725           re-enable tests now that leaks are plugged
8726         * check/gst/gst.c:
8727         * check/gst/gstbin.c:
8728         * check/gst/gstpipeline.c:
8729           add some more tests while fixing leaks
8730         * common/check.mak:
8731           make sure binaries are uptodate when valgrinding/gdbing
8732         * gst/gst.c:
8733         * gst/gstelementfactory.c:
8734           remove a ref too many, and add a FIXME for when we get
8735           round to disposing of classes
8736         * gst/gstplugin.c:
8737           fix the refcounting when loading a plugin from a file and
8738           the code pretends that the pointer is the same even though
8739           of course it can change
8740         * gst/gstpluginfeature.c:
8741           unref plugins marked cached (a bit confusing as a name)
8742           as the docs state should be done
8743           various doc additions to explain refcounting
8744         * gst/gstregistry.c:
8745         * gst/gstregistryxml.c:
8746           debugging
8747
8748 2005-09-19  Wim Taymans  <wim@fluendo.com>
8749
8750         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8751         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8752         (send_messages), (GST_START_TEST), (gstbus_suite):
8753         * check/gst/gstpipeline.c: (GST_START_TEST):
8754         * check/pipelines/cleanup.c: (run_pipeline):
8755         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8756         (GST_START_TEST):
8757         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
8758         (gst_bus_source_check), (gst_bus_source_dispatch),
8759         (gst_bus_create_watch), (gst_bus_add_watch_full),
8760         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
8761         * gst/gstbus.h:
8762         * tools/gst-launch.c: (event_loop):
8763         * tools/gst-md5sum.c: (event_loop):
8764         GstBusHandler -> GstBusFunc, return value has the same meaning as
8765         any other GSource (FALSE == remove source).
8766         _add_watch() and _add_watch_full() now take a MessageType mask to
8767         only handle specific types of messages.
8768         _poll() returns the GstMessage instead of the message type to avoid
8769         race conditions.
8770         _have_pending() takes a MessageType mask now too.
8771         Added testsuite for multiple bus watches.
8772         Fix testsuites and applications for new bus API.
8773
8774 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8775
8776         * check/Makefile.am:
8777           mark a bunch of the tests as to fix until we fix them
8778
8779 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8780
8781         * common/check.mak:
8782           use GST_PLUGIN settings for valgrind tests as well, so we're
8783           valgrinding the correct thing
8784         * gst/gst.c: (init_post):
8785           plug another leak
8786
8787 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * gst/gst.c: (init_post), (gst_deinit):
8790         * gst/gstelementfactory.c: (gst_element_factory_class_init),
8791         (gst_element_factory_finalize), (gst_element_factory_cleanup):
8792         * gst/gstindex.c: (gst_index_factory_class_init),
8793         (gst_index_factory_finalize):
8794         * gst/gstobject.c: (gst_object_dispose):
8795         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8796         (gst_plugin_load_file), (gst_plugin_desc_free):
8797         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
8798         (gst_plugin_feature_finalize):
8799         * gst/gstregistry.c: (gst_registry_class_init),
8800         (gst_registry_init), (gst_registry_finalize),
8801         (gst_registry_get_default), (gst_registry_deinit):
8802         * gst/gstregistry.h:
8803         * gst/gstregistryxml.c: (load_feature), (load_plugin):
8804           various cleanups and memleak plugging.  make valgrind is happy now.
8805
8806 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8807
8808         * common/check.mak:
8809           add a check-valgrind target
8810
8811 2005-09-18  David Schleef  <ds@schleef.org>
8812
8813         * tools/gst-inspect.c: Revert the GOption code.
8814
8815 2005-09-17  David Schleef  <ds@schleef.org>
8816
8817         * check/Makefile.am: Fix environment variables.
8818         * check/gst/gstplugin.c: Fix for API changes.
8819         * tools/gst-inspect.c: Fix for API changes.
8820         * tools/gst-xmlinspect.c: Fix for API changes.
8821         * gst/gstelementfactory.c:
8822         * gst/gstplugin.c:
8823         * gst/gstplugin.h:
8824         * gst/gstpluginfeature.c:
8825         * gst/gstpluginfeature.h:
8826         * gst/gstregistry.c:
8827         * gst/gstregistry.h:
8828         * gst/gstregistryxml.c:
8829         * gst/gsttypefind.c:
8830         * gst/gsttypefindfactory.c:
8831         * gst/indexers/gstfileindex.c:
8832         * gst/indexers/gstmemindex.c:
8833         * gst/schedulers/Makefile.am:
8834           Change registry to keep track of both plugins and features,
8835           removing the feature tracking from plugins themselves.
8836
8837 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8838
8839         * check/Makefile.am:
8840         * tools/gst-register.1.in:
8841           remove gst-register
8842
8843 2005-09-15  David Schleef  <ds@schleef.org>
8844
8845         * check/gst/gstplugin.c:
8846         * gst/gstelementfactory.c:
8847         * gst/gstplugin.c:
8848         * gst/gstpluginfeature.c:
8849         * gst/gstregistry.c:
8850           Getting tired of debugging.  Disabled all the unreffing of
8851           plugins and features, which fixes the segfaults, but of
8852           course leaks like crazy.  At least playbin works.
8853
8854 2005-09-15  David Schleef  <ds@schleef.org>
8855
8856         * check/gst/gstplugin.c: (register_check_elements),
8857         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8858         More testing
8859         * gst/elements/gsttypefindelement.c: Fix refcounting.
8860         * gst/gsttypefind.c:
8861         * gst/gsttypefindfactory.c:
8862         * gst/gsttypefindfactory.h:
8863
8864 2005-09-15  David Schleef  <ds@schleef.org>
8865
8866         * gst/gstindex.c: get refcounting correct.
8867         * gst/gstregistry.c: Handle the case where a feature/plugin is
8868           not found.
8869
8870 2005-09-15  David Schleef  <ds@schleef.org>
8871
8872         * check/Makefile.am:
8873         * check/gst/gstplugin.c: Add test
8874         * gst/gstplugin.c: Fix problems noticed by testsuite
8875         * gst/gstplugin.h:
8876         * gst/gstregistry.c: 
8877         * gst/gstregistry.h:
8878
8879 2005-09-15  David Schleef  <ds@schleef.org>
8880
8881         * gst/gstplugin.c: Implement semi-decent recounting and locking
8882           in plugins and plugin features.
8883         * gst/gstplugin.h:
8884         * gst/gstpluginfeature.c:
8885         * gst/gstpluginfeature.h:
8886         * gst/gstregistry.c:
8887
8888 2005-09-15  Michael Smith <msmith@fluendo.com>
8889
8890         * gst/gstregistry.c: (gst_registry_get_feature_list):
8891           Implement this. Makes oggdemux work; decodebin still broken.
8892
8893 2005-09-14  David Schleef  <ds@schleef.org>
8894
8895         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8896           #316076)
8897         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8898         * gst/check/Makefile.am:
8899         * libs/gst/controller/Makefile.am:
8900         * libs/gst/dataprotocol/Makefile.am:
8901
8902 2005-09-14  David Schleef  <ds@schleef.org>
8903
8904         * configure.ac: Remove getbits library.  Nothing uses it, and
8905           it should be in something like liboil if someone did want
8906           to use it.
8907         * libs/gst/Makefile.am:
8908         * libs/gst/getbits/Makefile.am:
8909         * libs/gst/getbits/gbtest.c:
8910         * libs/gst/getbits/getbits.c:
8911         * libs/gst/getbits/getbits.h:
8912         * libs/gst/getbits/gstgetbits_generic.c:
8913         * libs/gst/getbits/gstgetbits_i386.s:
8914         * libs/gst/getbits/gstgetbits_inl.h:
8915
8916 2005-09-14  David Schleef  <ds@schleef.org>
8917
8918         * gst/Makefile.am: Dist glib-compat.h
8919
8920 2005-09-14  David Schleef  <ds@schleef.org>
8921
8922         * configure.ac: Remove gst/registries, since it's no longer used.
8923         * gst/registries/Makefile.am:
8924         * gst/registries/gstlibxmlregistry.c:
8925         * gst/registries/gstlibxmlregistry.h:
8926         * gst/registries/gstxmlregistry.c:
8927         * gst/registries/gstxmlregistry.h:
8928         * gst/registries/registrytest.c:
8929
8930 2005-09-14  David Schleef  <ds@schleef.org>
8931
8932         * gst/glib-compat.h:
8933         * gst/gstregistryxml.c:
8934           Convergence is near.  Seriously.
8935
8936 2005-09-14  David Schleef  <ds@schleef.org>
8937
8938         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8939         * gst/glib-compat.h:
8940           Attempt #4 to appease the buildbots.
8941
8942 2005-09-14  David Schleef  <ds@schleef.org>
8943
8944         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8945           Attempt #3.
8946
8947 2005-09-14  David Schleef  <ds@schleef.org>
8948
8949         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8950         Attempt #2.
8951
8952 2005-09-14  David Schleef  <ds@schleef.org>
8953
8954         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8955           the new functions.
8956
8957 2005-09-14  David Schleef  <ds@schleef.org>
8958
8959         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8960         * gst/glib-compat.h: Add some functions that are in newer versions
8961           of glib than we care to require.
8962         * gst/gstregistryxml.c: Use them.
8963
8964 2005-09-14  David Schleef  <ds@schleef.org>
8965
8966         * po/POTFILES.in: remove gst-register.c
8967
8968 2005-09-14  David Schleef  <ds@schleef.org>
8969
8970         * docs/gst/gstreamer-docs.sgml:
8971         * docs/gst/gstreamer-sections.txt:
8972         * docs/gst/gstreamer.types:
8973         * docs/gst/tmpl/gstelement.sgml:
8974         * docs/gst/tmpl/gstplugin.sgml:
8975         * docs/gst/tmpl/gstpluginfeature.sgml:
8976           Documentation updates for registry changes.
8977
8978 2005-09-14  David Schleef  <ds@schleef.org>
8979
8980         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8981           because we don't require glib-2.8.
8982
8983 2005-09-14  David Schleef  <ds@schleef.org>
8984
8985         * gst/gstregistryxml.c: Added.  Essentially moved out of the
8986           registries directory.
8987
8988 2005-09-14  David Schleef  <ds@schleef.org>
8989
8990         * check/Makefile.am:
8991         * check/generic/states.c:
8992         * gst/Makefile.am:
8993         * gst/gst.c:
8994         * gst/gst.h:
8995         * gst/gst_private.h:
8996         * gst/gstelementfactory.c:
8997         * gst/gstindex.c:
8998         * gst/gstinfo.c:
8999         * gst/gstplugin.c:
9000         * gst/gstplugin.h:
9001         * gst/gstpluginfeature.c:
9002         * gst/gstpluginfeature.h:
9003         * gst/gstregistry.c:
9004         * gst/gstregistry.h:
9005         * gst/gstregistrypool.c: remove
9006         * gst/gstregistrypool.h: remove
9007         * gst/gsttypefind.c:
9008         * gst/gsttypefindfactory.c:
9009         * gst/gsturi.c:
9010         * tools/Makefile.am:
9011         * tools/gst-compprep.c:
9012         * tools/gst-inspect.c:
9013         * tools/gst-register.c: remove
9014         * tools/gst-xmlinspect.c:
9015           Registry rewrite.  Changes registry from being a file created
9016           by a tool into a simple cache file created automatically by 
9017           libgstreamer.  Removed gst-register (because it's no longer
9018           needed).  Remove registry pools, because we only have one
9019           registry implementation (XML).  Fix up other subsystems as
9020           necessary.
9021
9022 2005-09-13  Michael Smith <msmith@fluendo.com>
9023
9024         * gst/gstconfig.h.in:
9025           Don't Use windows linking attributes for MinGW. Fixes #316157
9026
9027 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9028
9029         * gst/gstutils.c: (set_state_async_thread_func),
9030         (gst_element_set_state_async):
9031           Apparently people think it's better if this function doesn't
9032           try to set the state to whatever state was asked for on the first
9033           call to this function for any object.  Seriously.
9034
9035 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9036
9037         * check/gst/gstpipeline.c: (GST_START_TEST):
9038         * docs/gst/gstreamer-sections.txt:
9039         * gst/gstutils.c: (set_state_async_thread_func),
9040         (gst_element_set_state_async):
9041         * gst/gstutils.h:
9042           add a "gst_element_set_state_async" method that
9043           sets the state and starts a thread to make sure the state
9044           change completes as best as it can
9045
9046 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9047
9048         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9049           codify design+behaviour in testsuite after discussion
9050
9051 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9052
9053         * docs/gst/tmpl/gstelement.sgml:
9054         * docs/manual/appendix-quotes.xml:
9055           add a quote
9056         * gst/gstelement.c: (gst_element_set_state):
9057           add some debug
9058
9059 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
9060
9061         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9062         (gst_base_transform_prepare_output_buf),
9063         (gst_base_transform_handle_buffer):
9064         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
9065         (gst_capsfilter_prepare_buf):
9066           Remove the requirement for sub-classes to call the parent
9067           implementation of prepare_output_buffer with a wrapper function.
9068           
9069         * gst/gsttaglist.h:
9070         * gst/gsttagsetter.h:
9071           Fix #define wrapper
9072
9073 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
9074
9075         * docs/gst/gstreamer-sections.txt:
9076           more doc cleanups
9077
9078 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9079
9080         * docs/gst/gstreamer-sections.txt:
9081         * docs/gst/tmpl/gstelement.sgml:
9082         * docs/gst/tmpl/gstplugin.sgml:
9083         * gst/gstminiobject.c:
9084         * gst/gstvalue.h:
9085           docs now stop throwing warnings
9086
9087 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9088
9089         * docs/gst/gstreamer-sections.txt:
9090         * docs/gst/gstreamer.types:
9091         * docs/gst/tmpl/gstpad.sgml:
9092         * docs/gst/tmpl/gsttypes.sgml:
9093         * gst/base/gstadapter.h:
9094         * gst/base/gstbasesink.h:
9095         * gst/base/gstbasesrc.h:
9096         * gst/gstbin.h:
9097         * gst/gstbuffer.h:
9098         * gst/gstbus.h:
9099         * gst/gstcaps.h:
9100         * gst/gstclock.h:
9101         * gst/gstelement.h:
9102         * gst/gstevent.h:
9103         * gst/gstmessage.h:
9104         * gst/gstpad.h:
9105         * gst/gststructure.c:
9106         * gst/registries/gstlibxmlregistry.h:
9107           various documentation fixes
9108
9109 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9110
9111         * docs/gst/gstreamer-sections.txt:
9112         * docs/gst/tmpl/gstvalue.sgml:
9113           rearrange gstvalue section
9114         * gst/gstutils.c: (gst_element_state_get_name):
9115           NONE -> VOID
9116         * gst/gstvalue.c: (_gst_value_initialize):
9117         * gst/gstvalue.h:
9118           doc updates
9119
9120 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
9121
9122         * check/gst-libs/controller.c:
9123           Header include fix.
9124         * gst/base/gstbasetransform.c:
9125         (gst_base_transform_default_prepare_buf),
9126         (gst_base_transform_handle_buffer):
9127         * gst/base/gstbasetransform.h:
9128           Some more basetransform changes and fixes to enable sub-classes
9129           that modify buffer metadata only.
9130         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9131         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
9132         (gst_capsfilter_prepare_buf):
9133           If the output pad has fixed allowed caps and input buffers 
9134           don't have any, set the fixed caps on outgoing buffers.
9135
9136 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
9137         * check/elements/identity.c: (GST_START_TEST):
9138           Make the error a little clearer when the test fails because
9139           identity made a copy of the buffer.
9140         * docs/gst/gstreamer-sections.txt:
9141           New symbols in gstbasetransform.h
9142         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9143         (gst_base_transform_init), (gst_base_transform_transform_size),
9144         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9145         (gst_base_transform_default_prepare_buf),
9146         (gst_base_transform_get_unit_size),
9147         (gst_base_transform_buffer_alloc),
9148         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9149         (gst_base_transform_change_state),
9150         (gst_base_transform_set_passthrough),
9151         (gst_base_transform_set_in_place),
9152         (gst_base_transform_is_in_place):
9153         * gst/base/gstbasetransform.h:
9154           Change BaseTransform to separate in_place operate from same_caps
9155           output. in_place implies that the element can perform the transform
9156           on incoming buffers in-place, even if the caps on the output are
9157           different.
9158           Sub-class elements can now implement special buffer allocation
9159           methods for outgoing buffers if they wish to.
9160           Big documentation addition.
9161         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
9162         * gst/elements/gstelements.c:
9163           Changes for basetransform modifications.
9164         * gst/elements/Makefile.am:
9165         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
9166           Compile fix. Extra debug output.
9167
9168 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9169
9170         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
9171         (gst_pad_suite):
9172           add tests for valid pad naming
9173         * gst/check/gstcheck.c: (gst_check_log_message_func),
9174         (gst_check_log_critical_func):
9175           add ASSERT_WARNING
9176           remove printing of code, it is fragile when the code contains
9177           % and the line number is enough info
9178         * gst/check/gstcheck.h:
9179         * gst/gstpad.c: (gst_pad_template_new):
9180           fix memleaks
9181
9182 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9183
9184         * configure.ac:
9185           say what CHECK flags we use
9186         * docs/libs/gstreamer-libs.types:
9187         * libs/gst/controller/Makefile.am:
9188         * libs/gst/controller/gst-controller.c:
9189         * libs/gst/controller/gst-controller.h:
9190         * libs/gst/controller/gst-helper.c:
9191         * libs/gst/controller/gst-interpolation.c:
9192         * libs/gst/controller/gstcontroller.c:
9193         * libs/gst/controller/gsthelper.c:
9194         * libs/gst/controller/gstinterpolation.c:
9195         * tools/gst-inspect.c: (print_plugin_info):
9196           we don't use dashes in header names
9197
9198 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9199
9200         * check/Makefile.am:
9201         * check/gst/.cvsignore:
9202         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
9203         (gst_pipeline_suite), (main):
9204           adding a test for pipelines and state changes
9205         * gst/gstutils.c: (get_state_func):
9206           add some debugging
9207         * gstreamer.spec.in:
9208           fix up spec file
9209
9210 2005-09-08  Michael Smith <msmith@fluendo.com>
9211
9212         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
9213         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
9214         (gst_file_src_is_seekable), (gst_file_src_get_size),
9215         (gst_file_src_start):
9216         * gst/elements/gstfilesrc.h:
9217           Various fixes for unseekable, unmmapable, and non-normal files, so
9218           that fallback to read() rather than mmap() works.
9219         * gst/gstevent.c: (gst_event_new_newsegment):
9220           Allow newsegment events with segment_start == segment_end, as will
9221           correctly happen if you use filesrc on a zero-size file, for
9222           example.
9223
9224 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9225
9226         * gst/gstplugin.c: (gst_plugin_load_file):
9227           Call g_module_close when we don't load the module
9228
9229         * gst/registries/gstlibxmlregistry.c:
9230         (gst_xml_registry_get_property):
9231           Port leak fix from 0.8
9232
9233 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9234
9235         * docs/gst/gstreamer-docs.sgml:
9236         * docs/gst/tmpl/.cvsignore:
9237         * docs/gst/tmpl/gsttrace.sgml:
9238         * docs/gst/tmpl/gsttrashstack.sgml:
9239         * gst/Makefile.am:
9240         * gst/gst.h:
9241         * gst/gstelement.h:
9242         * gst/gstevent.h:
9243         * gst/gstmessage.c:
9244         * gst/gstmessage.h:
9245         * gst/gsttag.c:
9246         * gst/gsttag.h:
9247         * gst/gsttaginterface.c:
9248         * gst/gsttaginterface.h:
9249         * gst/gsttaglist.c:
9250         * gst/gsttaglist.h:
9251         * gst/gsttagsetter.c:
9252         * gst/gsttagsetter.h:
9253         * gst/gsttrace.c:
9254         * gst/gsttrace.h:
9255         * gst/gsttrashstack.c:
9256           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
9257           inlined docs for gsttrace, gsttrashstack
9258
9259 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9260
9261         * gst/Makefile.am:
9262         * gst/elements/gstbufferstore.h:
9263         * gst/elements/gsttypefindelement.c:
9264         * gst/elements/gsttypefindelement.h:
9265         * gst/gst.h:
9266         * gst/gsttypefind.c:
9267         * gst/gsttypefind.h:
9268         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
9269         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
9270         (gst_type_find_factory_dispose),
9271         (gst_type_find_factory_unload_thyself),
9272         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
9273         (gst_type_find_factory_get_caps),
9274         (gst_type_find_factory_get_extensions),
9275         (gst_type_find_factory_call_function):
9276         * gst/gsttypefindfactory.h:
9277         * gst/registries/gstlibxmlregistry.c:
9278         * gst/registries/gstxmlregistry.c:
9279           splitted gsttypefind into gsttypefind, gsttypefindfactory
9280
9281 2005-09-07  Andy Wingo  <wingo@pobox.com>
9282
9283         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
9284         condition whereby the pad's task function is entered before the
9285         pad_mode variable was set.
9286
9287 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9288
9289         * gst/gstpad.c: (gst_pad_alloc_buffer):
9290           Catch misbehaving pad_alloc functions that don't
9291           set up caps and do it for them.
9292
9293 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9294
9295         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9296           test for pipe!=NULL
9297         * docs/gst/tmpl/.cvsignore:
9298         * docs/gst/tmpl/gstmemchunk.sgml:
9299         * docs/gst/tmpl/gstparse.sgml:
9300         * docs/gst/tmpl/gsttaglist.sgml:
9301         * docs/gst/tmpl/gsttagsetter.sgml:
9302         * docs/gst/tmpl/gsttypefind.sgml:
9303         * docs/gst/tmpl/gsttypefindfactory.sgml:
9304         * gst/gstmemchunk.c:
9305         * gst/gstparse.c:
9306         * gst/gsttag.c:
9307         * gst/gsttaginterface.c:
9308         * gst/gsttypefind.c:
9309         * gst/gsttypefind.h:
9310           inlined more docs
9311
9312 === release 0.9.2 ===
9313
9314 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9315
9316         * NEWS:
9317         * RELEASE:
9318         * configure.ac:
9319           releasing 0.9.2, "South"
9320
9321 2005-09-05  Andy Wingo  <wingo@pobox.com>
9322
9323         * gst/registries/gstxmlregistry.h:
9324         * gst/registries/gstxmlregistry.c: Um... resurrect...
9325         
9326         * gst/registries/gstxmlregistry.h:
9327         * gst/registries/gstxmlregistry.c: and update to newer API.
9328         Incidentally they should be a bit faster now that they don't have
9329         to parse the caps.
9330         
9331 2005-09-05  Andy Wingo  <wingo@pobox.com>
9332
9333         * gst/registries/gstxmlregistry.h:
9334         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
9335         replaced by the libxml registry a while back
9336
9337 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9338
9339         * docs/gst/tmpl/gstplugin.sgml:
9340         * gst/elements/gstelements.c:
9341         * gst/gst.c:
9342         * gst/gstplugin.c: (gst_plugin_register_func),
9343         (gst_plugin_desc_copy), (gst_plugin_desc_free),
9344         (gst_plugin_get_source):
9345         * gst/gstplugin.h:
9346         * gst/registries/gstlibxmlregistry.c: (load_plugin),
9347         (gst_xml_registry_save_plugin):
9348         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
9349         (gst_xml_registry_save_plugin):
9350         * tools/gst-inspect.c: (print_plugin_info):
9351           add a "source" plugin description field, to represent the source
9352           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
9353           will set it to PACKAGE, which is automake's idea of the name of
9354           the source project.
9355
9356 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9357
9358         * Makefile.am:
9359         * autogen.sh:
9360         * configure.ac:
9361         * docs/Makefile.am:
9362         * docs/faq/Makefile.am:
9363         * docs/gst/tmpl/gstelement.sgml:
9364         * docs/gst/tmpl/gsttypes.sgml:
9365         * docs/htmlinstall.mak:
9366         * docs/manual/Makefile.am:
9367         * docs/pwg/Makefile.am:
9368           reorganize doc build a little
9369           split out docbook and gtk-doc stuff
9370           have two separate --enable's and enable them through autogen
9371           but disable by default in configure (to be similar to other
9372           projects)
9373         * gstreamer.spec.in:
9374           clean up docs install
9375         * po/af.po:
9376         * po/az.po:
9377         * po/ca.po:
9378         * po/cs.po:
9379         * po/de.po:
9380         * po/en_GB.po:
9381         * po/fr.po:
9382         * po/it.po:
9383         * po/nb.po:
9384         * po/nl.po:
9385         * po/ru.po:
9386         * po/sq.po:
9387         * po/sr.po:
9388         * po/sv.po:
9389         * po/tr.po:
9390         * po/uk.po:
9391         * po/vi.po:
9392           translation updates
9393
9394 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
9395
9396         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
9397           Add comment.
9398           
9399         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9400         (gst_fake_sink_change_state):
9401           Make state change function thread-safe.
9402           
9403         * gst/gstpad.c: (gst_pad_alloc_buffer):
9404           Set offset on generic buffer allocated by fallback.
9405
9406 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
9407
9408         * docs/gst/gstreamer-sections.txt:
9409         * docs/gst/tmpl/gstelement.sgml:
9410         * gst/gstpad.c:
9411         * libs/gst/controller/gst-controller.c:
9412         (gst_controlled_property_set_interpolation_mode),
9413         (gst_controlled_property_new),
9414         (gst_controller_find_controlled_property):
9415          run the wingo-magic script against the docs
9416
9417 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9418
9419         * docs/gst/gstreamer-docs.sgml:
9420         * docs/gst/gstreamer-sections.txt:
9421         * docs/gst/tmpl/.cvsignore:
9422         * docs/gst/tmpl/gstelementdetails.sgml:
9423         * docs/gst/tmpl/gstelementfactory.sgml:
9424         * gst/gst.c:
9425         * gst/gstbus.c:
9426         * gst/gstelementfactory.c:
9427         * gst/gstelementfactory.h:
9428           merged elementdetails docs into elementfactory docs
9429           inlined both
9430
9431 2005-09-02  Andy Wingo  <wingo@pobox.com>
9432
9433         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
9434         consider this enum an enum and not a flags.
9435
9436 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9437
9438         * docs/gst/gstreamer-docs.sgml:
9439         * docs/gst/tmpl/.cvsignore:
9440         * docs/gst/tmpl/gstghostpad.sgml:
9441         * docs/gst/tmpl/gstiterator.sgml:
9442         * docs/gst/tmpl/gstmacros.sgml:
9443         * docs/gst/tmpl/gstrealpad.sgml:
9444         * docs/gst/tmpl/gstregistry.sgml:
9445         * docs/gst/tmpl/gstregistrypool.sgml:
9446         * docs/gst/tmpl/gststructure.sgml:
9447         * docs/gst/tmpl/gstsystemclock.sgml:
9448         * docs/gst/tmpl/gsttrace.sgml:
9449         * gst/gstghostpad.c:
9450         * gst/gstmacros.h:
9451         * gst/gstmemchunk.c:
9452         * gst/gstmemchunk.h:
9453         * gst/gstqueue.c:
9454         * gst/gstregistry.c:
9455         * gst/gstregistrypool.c:
9456         * gst/gststructure.c:
9457         * gst/gstsystemclock.c:
9458           more docs inlined
9459
9460 2005-09-02  Andy Wingo  <wingo@pobox.com>
9461
9462         * gst/gstelement.h (GstState): Renamed from GstElementState,
9463         changed to be a normal enum instead of flags.
9464         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
9465         munged to be GST_STATE_CHANGE_*.
9466         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
9467         work with the new state representation.
9468         (GstStateChange): New enumeration of possible state transitions.
9469         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
9470         (GstElementClass::change_state): Pass the GstStateChange along as
9471         an argument. Helps language bindings, so they don't have to use
9472         tricky lock-needing macros like GST_STATE_CHANGE ().
9473
9474         * scripts/update-states (file): New script. Run it on a file to
9475         update it for state naming and API changes. Updates files in
9476         place.
9477
9478         * All files updated for the new API.
9479
9480 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9481
9482         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
9483         * gst/gstutils.c: (gst_util_set_value_from_string),
9484         (gst_util_set_object_arg):
9485           fix a bunch of unchecked return values
9486         * tools/gst-complete.c: (main):
9487         * gstreamer.spec.in:
9488           clean up a little
9489
9490 2005-09-01  Wim Taymans  <wim@fluendo.com>
9491
9492         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9493         (gst_base_sink_event), (gst_base_sink_do_sync),
9494         (gst_base_sink_handle_event):
9495         * gst/base/gstbasesink.h:
9496         Handle newsegments more correctly.
9497
9498         * gst/gstbus.c:
9499         Fix docs.
9500
9501         * gst/gstevent.c: (gst_event_new_newsegment):
9502         A newsegment cannot have a start_time of -1
9503
9504 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
9505
9506         * win32/gstenumtypes.c:
9507         * win32/gstenumtypes.h:
9508           Update
9509
9510 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9511
9512         * libs/gst/controller/gst-controller.c:
9513         (gst_controlled_property_set_interpolation_mode),
9514         (gst_controlled_property_new):
9515          fixed boolean again
9516
9517 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9518
9519         * docs/faq/gst-uninstalled:
9520           add -good
9521         * gst/gstevent.c:
9522         * gst/gstevent.h:
9523           remove wrong docs
9524         * gst/gstutils.c: (gst_element_link_filtered):
9525         * gst/gstutils.h:
9526           add gst_element_link_filtered
9527
9528 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9529
9530         * docs/gst/gstreamer-docs.sgml:
9531         * docs/gst/gstreamer-sections.txt:
9532         * docs/gst/tmpl/.cvsignore:
9533         * docs/gst/tmpl/gsterror.sgml:
9534         * docs/gst/tmpl/gstfilter.sgml:
9535         * docs/gst/tmpl/gsturihandler.sgml:
9536         * docs/gst/tmpl/gsturitype.sgml:
9537         * docs/gst/tmpl/gstutils.sgml:
9538         * docs/gst/tmpl/gstxml.sgml:
9539         * gst/gsterror.c:
9540         * gst/gsterror.h:
9541         * gst/gstfilter.c:
9542         * gst/gsturi.c:
9543         * gst/gsturitype.c:
9544         * gst/gstutils.c:
9545         * gst/gstxml.c:
9546           inlined more docs, fixed double id-ref
9547
9548 2005-08-31  Wim Taymans  <wim@fluendo.com>
9549
9550         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9551         (gst_base_transform_handle_buffer):
9552         Passthrough elements don't need the caps as they don't care.
9553
9554 2005-08-31  Wim Taymans  <wim@fluendo.com>
9555
9556         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9557         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
9558         Don't leak refcounts on buffers.
9559
9560 2005-08-31  Wim Taymans  <wim@fluendo.com>
9561
9562         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
9563         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
9564         (gst_base_transform_chain), (gst_base_transform_change_state):
9565         * gst/base/gstbasetransform.h:
9566         Handle the case where we are not negotiated more gracefully.
9567
9568 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
9569
9570         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
9571         (gst_file_src_map_region):
9572           Set READONLY flag on mmap'ed buffers, otherwise
9573           gst_buffer_make_writable() won't work properly (#314708).
9574
9575 2005-08-31  Wim Taymans  <wim@fluendo.com>
9576
9577         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
9578         passthrough elements can even do inplace on non writable
9579         buffers (as they don't touch them).
9580
9581 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9582
9583         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9584         (gst_test_mono_source_set_property),
9585         (gst_test_mono_source_class_init), (GST_START_TEST),
9586         (gst_controller_suite):
9587           more tests (hehe I have the most)
9588         * gst/gstbus.c:
9589           describe popping messages whenusing mulltiple sources
9590         * libs/gst/controller/gst-controller.c:
9591         (gst_controlled_property_set_interpolation_mode),
9592         (gst_controlled_property_new):
9593         * libs/gst/controller/gst-controller.h:
9594         * libs/gst/controller/gst-interpolation.c:
9595           implement boolean properties
9596
9597 2005-08-31  Wim Taymans  <wim@fluendo.com>
9598
9599         * gst/gstminiobject.c: (gst_mini_object_ref):
9600         Cannot assert that the refcount has to be positive
9601         since a disposed object can be resurrected.
9602
9603 2005-08-31  Wim Taymans  <wim@fluendo.com>
9604
9605         * gst/gstpad.c: (gst_pad_init):
9606         Revert change, need to first fix badly behaving 
9607         apps.
9608
9609 2005-08-30  Wim Taymans  <wim@fluendo.com>
9610
9611         * check/elements/fakesrc.c: (setup_fakesrc):
9612         * check/elements/identity.c: (setup_identity):
9613         Activate pads before using them.
9614
9615 2005-08-30  Wim Taymans  <wim@fluendo.com>
9616
9617         * gst/base/gstadapter.c: (gst_adapter_flush):
9618         Flushing out 0 bytes is ok for this function.
9619
9620         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9621         no newsegment gives a warning and sets the start/stop to 
9622         invalid.
9623
9624         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
9625         (gst_base_transform_set_passthrough):
9626         Some debug info.
9627
9628         * gst/gstminiobject.c: (gst_mini_object_ref):
9629         Check refcount here too.
9630
9631         * gst/gstpad.c: (gst_pad_init):
9632         Pads are initially flushing and refusing data.
9633
9634         * gst/gstutils.c: (gst_element_link_pads_filtered):
9635         When adding a capsfilter element make sure it has the
9636         same state as the parent bin.
9637
9638 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9639
9640         * docs/gst/tmpl/.cvsignore:
9641         * docs/gst/tmpl/gstformat.sgml:
9642         * docs/gst/tmpl/gstversion.sgml:
9643         * gst/gstbus.h:
9644         * gst/gstformat.c:
9645         * gst/gstformat.h:
9646         * gst/gstversion.h.in:
9647           more docs and two more inlined
9648
9649 2005-08-30  Wim Taymans  <wim@fluendo.com>
9650
9651         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
9652         Don't sync to clock.
9653
9654 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9655
9656         * docs/gst/gstreamer-sections.txt:
9657           ultral33t func10ns deserve to appear in the docs actually
9658         * docs/gst/tmpl/.cvsignore:
9659         * docs/gst/tmpl/gstcompat.sgml:
9660         * docs/gst/tmpl/gstconfig.sgml:
9661         * gst/check/gstcheck.c:
9662         * gst/gstcompat.h:
9663         * gst/gstconfig.h.in:
9664           inlined more docs
9665
9666 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9667
9668         * docs/gst/tmpl/.cvsignore:
9669         * docs/gst/tmpl/gstquery.sgml:
9670         * docs/gst/tmpl/gstutils.sgml:
9671         * gst/gstquery.c:
9672         * gst/gstquery.h:
9673           inlined and extended docs
9674
9675 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9676
9677         * check/gst-libs/controller.c: (GST_START_TEST),
9678         (gst_controller_suite):
9679           more tests
9680         * docs/gst/tmpl/gstutils.sgml:
9681         * docs/libs/gstreamer-libs-sections.txt:
9682         * docs/libs/tmpl/gstdataprotocol.sgml:
9683           include path fixes
9684         * examples/controller/audio-example.c: (main):
9685           controller example works now
9686         * gst/gstclock.h:
9687           doc fixes
9688         * tools/gst-inspect.c: (print_element_properties_info):
9689           show param spec flags
9690
9691 2005-08-29  Andy Wingo  <wingo@pobox.com>
9692
9693         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
9694
9695 2005-08-28  Andy Wingo  <wingo@pobox.com>
9696
9697         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
9698         as having two arguments instead of just one. Allows superclasses
9699         to access information on subclasses -- see the terrible for() loop
9700         in gtype.c:g_type_create_instance for the reason why. All callers
9701         changed.
9702
9703 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9704
9705         * docs/design/part-messages.txt:
9706           update info
9707         * docs/gst/tmpl/.cvsignore:
9708         * docs/gst/tmpl/gstcaps.sgml:
9709         * docs/gst/tmpl/gstclock.sgml:
9710         * gst/gstbus.c:
9711         * gst/gstcaps.c:
9712         * gst/gstcaps.h:
9713         * gst/gstclock.c:
9714         * gst/gstclock.h:
9715         * gst/gstmessage.c:
9716           added descriptions for bus and message
9717           inline caps and clock docs
9718
9719 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9720
9721         * gst/gstmessage.c:
9722         * gst/gstmessage.h:
9723           doc fixes
9724
9725 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9726
9727         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9728           fix div-by-zero
9729
9730 2005-08-26  Andy Wingo  <wingo@pobox.com>
9731
9732         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
9733         element_set_state's return val.
9734         (test_2_elements): Add test that's been disabled for months.
9735
9736         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
9737         can-activate-pull properties.
9738
9739         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
9740         can-activate-pull properties. Implement is_seekable so fakesrc can
9741         operate in pull mode.
9742
9743         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
9744         properties.
9745         (gst_base_sink_activate, gst_base_sink_activate_pull)
9746         (gst_base_sink_activate_push): Make activation mode choosing work.
9747         Cleanups.
9748         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
9749         is right. Make pull mode work. Post an eos before pausing in pull
9750         mode.
9751         (gst_base_sink_change_state): Pay attention to the core's
9752         change_state() return val.
9753         
9754         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
9755         has-getrange properties. Cleanups.
9756         
9757         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
9758         has_getrange and replace with can_activate_pull and
9759         can_activate_push.
9760
9761         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
9762         locking comments. Remove has_loop, has_chain and replace with
9763         can_activate_pull and can_activate_push.
9764
9765 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
9766
9767         * configure.ac:
9768         * examples/Makefile.am:
9769         * examples/metadata/Makefile.am:
9770         * examples/metadata/read-metadata.c: (message_loop),
9771         (have_pad_handler), (make_pipeline), (print_tag), (main):
9772           Add metadata reading example that loops over a list of filenames,
9773           dumping any tags found.
9774
9775         * gst/gstbus.c: (gst_bus_dispose):
9776         * gst/gstelement.c: (gst_element_dispose):
9777           Release a few potentially-held references in dispose.
9778
9779 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9780
9781         * docs/gst/tmpl/gstminiobject.sgml:
9782           do *not* add tmpl/*.sgml files to CVS!
9783
9784 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9785
9786         * libs/gst/bytestream/.cvsignore:
9787         * libs/gst/bytestream/Makefile.am:
9788         * libs/gst/bytestream/adapter.c:
9789         * libs/gst/bytestream/adapter.h:
9790         * libs/gst/bytestream/bytestream.c:
9791         * libs/gst/bytestream/bytestream.h:
9792         * libs/gst/bytestream/filepad.c:
9793         * libs/gst/bytestream/filepad.h:
9794           removing obsolete files
9795
9796 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9797
9798         * docs/gst/gstreamer-docs.sgml:
9799         * docs/libs/gstreamer-libs-docs.sgml:
9800           disabed additional index entries again, as this makes docs-gen just
9801           slow and they aren't useful yet
9802         * docs/libs/gstreamer-libs-sections.txt:
9803           little -section.txt cleanup for libs
9804
9805 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9806
9807         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9808         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
9809           fix up some debugging
9810         (gst_base_transform_get_unit_size),
9811         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9812         (gst_base_transform_handle_buffer):
9813         * gst/base/gstbasetransform.h:
9814           handle and store timed NEWSEGMENT events so that subclasses that
9815           calculate time by counting samples have a segment_start time they
9816           need to add to their timestamps - see audioresample
9817
9818 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9819
9820         * gst/gstbin.h:
9821           removed ';' from the end of macro defs
9822         * docs/gst/gstreamer-docs.sgml:
9823         * docs/gst/gstreamer-sections.txt:
9824         * docs/gst/tmpl/.cvsignore:
9825         * gst/gstbus.h:
9826         * gst/gstelement.c: (gst_element_class_init),
9827         (gst_element_set_state), (activate_pads),
9828         (gst_element_save_thyself):
9829         * gst/gstevent.c: (gst_event_new_newsegment):
9830         * gst/gstevent.h:
9831         * gst/gstiterator.c:
9832         * gst/gstiterator.h:
9833         * gst/gstpad.c:
9834         * gst/gstprobe.h:
9835         * gst/gstutils.c: (gst_pad_query_convert):
9836         * gst/gstutils.h:
9837           fixed parameter name mismatches between source, header and docs
9838           added some more docs, resolved the last batch of unused elements in
9839           docs (now someone needs to doc them)
9840
9841 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9842
9843         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9844         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9845           don't walk through the plugins backwards.  Where is all this
9846           reversed logic coming from ?
9847
9848 2005-08-25  Wim Taymans  <wim@fluendo.com>
9849
9850         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9851         (gst_base_transform_transform_size),
9852         (gst_base_transform_configure_caps),
9853         (gst_base_transform_get_unit_size),
9854         (gst_base_transform_buffer_alloc),
9855         (gst_base_transform_change_state):
9856         * gst/base/gstbasetransform.h:
9857         Cache caps unit_size.
9858         Make sure we cannot negotiate up and downstream at the
9859         same time.
9860
9861 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9862
9863         * gst/gst.c: (init_pre), (init_post):
9864           register the installed plugin path after the env var
9865         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9866         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9867           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9868           directories, so the tests can prefer uninstalled over installed
9869
9870 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9871
9872         * gst/base/gstbasetransform.h:
9873           comment
9874         * gst/gstpad.c:
9875           add to docs
9876
9877 2005-08-25  Wim Taymans  <wim@fluendo.com>
9878
9879         * gst/gstbin.c: (bin_bus_handler):
9880         Be a bit more conservative about the posted message.
9881         
9882         * gst/gstbus.c: (gst_bus_post):
9883         Some cleanups, warn wrong return values.
9884
9885 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
9886
9887         * check/gst/gstbin.c: (GST_START_TEST):
9888         * gst/gstbin.c: (bin_bus_handler):
9889         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9890         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9891         (gst_message_new_warning), (gst_message_new_tag),
9892         (gst_message_new_state_changed), (gst_message_new_segment_start),
9893         (gst_message_new_segment_done), (gst_message_new_custom):
9894         * gst/gstmessage.h:
9895         * tools/gst-launch.c: (event_loop):
9896         * tools/gst-md5sum.c: (event_loop):
9897           Revert unpopular change for GST_MESSAGE_SRC to GObject.
9898
9899 2005-08-25  Wim Taymans  <wim@fluendo.com>
9900
9901         * check/generic/states.c: (GST_START_TEST):
9902         Cleanup can be done at the end.
9903
9904         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9905         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9906         (gst_task_get_state), (gst_task_start), (gst_task_pause):
9907         Oh boy.. Thanks for finding this, Thomas. 
9908
9909 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9910
9911         * docs/gst/gstreamer.types:
9912           added missing types
9913
9914 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9915
9916         * docs/gst/gstreamer-docs.sgml:
9917         * docs/gst/gstreamer-sections.txt:
9918         * docs/gst/tmpl/.cvsignore:
9919         * gst/gstbin.c:
9920         * gst/gstiterator.c:
9921         * gst/gstutils.c:
9922         * gst/registries/gstxmlregistry.h:
9923           added missing classes and symbols (123 more to go)
9924           removed removed symbols from section file
9925           fixed many doc-comments
9926
9927 2005-08-24  Wim Taymans  <wim@fluendo.com>
9928
9929         * check/generic/states.c: (GST_START_TEST):
9930         Make sure all tasks are stopped.
9931
9932         * check/gst/gstbin.c: (GST_START_TEST):
9933         Unref after usage for proper valgrinding.
9934
9935         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9936         Really wait for the task to stop before destroying the
9937         mutex.
9938
9939         * gst/gstqueue.c: (gst_queue_sink_activate_push),
9940         (gst_queue_src_activate_push):
9941         Small cleanups. Don't stop the task when we did not start
9942         it.
9943
9944         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9945         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9946         (gst_task_get_state), (gst_task_start), (gst_task_pause),
9947         (gst_task_join):
9948         * gst/gsttask.h:
9949         Protect the stream lock with the object lock.
9950         Disallow setting the stream lock when running.
9951         Add cleanup_all to wait for the threadpool to finish.
9952         Remove code to autoallocate a mutex if none was provided.
9953         Add _join() to wait for a task to stop.
9954         Protect the thread pool with a global lock.
9955
9956 2005-08-24  Wim Taymans  <wim@fluendo.com>
9957
9958         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9959         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9960         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9961         * gst/base/gstbasesink.h:
9962         Handle newsegment events correctly.
9963         Drop buffers out of the segment range.
9964
9965 2005-08-22  Andy Wingo  <wingo@pobox.com>
9966
9967         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9968         macro, implements an interface and gstimplementsinterface for a
9969         new type.
9970
9971 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9972
9973         * check/Makefile.am:
9974         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9975           add a test that does a bunch of state changes on elements
9976           needs some fixing for valgrind
9977         * check/states/sinks.c: (gst_object_suite):
9978           whitespace
9979         * gst/gstcaps.h:
9980           add prototype for gst_caps_is_equal_fixed
9981         * gst/gstplugin.c:
9982         * gst/gstregistrypool.c:
9983           doc fixes
9984
9985 2005-08-24  Andy Wingo  <wingo@pobox.com>
9986
9987         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9988         convert a negative value. Doesn't make much sense. Mostly this is
9989         here to force callers to ensure -1 maps to -1.
9990
9991 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9992
9993         * docs/pwg/advanced-types.xml:
9994           Well done to Michael for catching my deliberate introduction
9995           of this spelling mistake. 
9996         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9997         * gst/gstelement.h:
9998           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9999           unlink pads before removing the element from the bin.
10000
10001 2005-08-24  Andy Wingo  <wingo@pobox.com>
10002
10003         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
10004         the same thing as GST_DEBUG=*:4.
10005         (parse_debug_level, parse_debug_category): New helper parsers.
10006
10007 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10008
10009         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10010         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
10011         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
10012         (gst_base_transform_buffer_alloc),
10013         (gst_base_transform_handle_buffer):
10014           use gboolean return values and pointers to size so we can use the
10015           full GST_BUFFER_SIZE range (guint) for buffer sizes
10016           use GstPadDirection for transform_caps
10017         * gst/base/gstbasetransform.h:
10018           rename get_size to get_unit_size since that's what it is
10019         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
10020           use GstPadDirection for transform_caps
10021         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10022         * gst/gstutils.h:
10023           cleanup and debugging
10024
10025 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10026
10027         * gst/gstelement.c: (gst_element_class_init),
10028         (gst_element_set_state), (activate_pads),
10029         (gst_element_save_thyself):
10030         * tools/gst-compprep.c: (main):
10031         * tools/gst-inspect.c: (print_element_properties_info):
10032         * tools/gst-xmlinspect.c: (print_element_properties):
10033           Fixed long standing mem-leak
10034
10035 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10036
10037         * check/gst/gstbin.c: (GST_START_TEST):
10038         * gst/gstbin.c: (bin_bus_handler):
10039         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10040         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10041         (gst_message_new_warning), (gst_message_new_tag),
10042         (gst_message_new_state_changed), (gst_message_new_segment_start),
10043         (gst_message_new_segment_done), (gst_message_new_custom):
10044         * gst/gstmessage.h:
10045         * tools/gst-launch.c: (event_loop):
10046         * tools/gst-md5sum.c: (event_loop):
10047           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
10048           that applications can sensibly post custom messages with references
10049           to their own objects.
10050
10051 2005-08-24  Andy Wingo  <wingo@pobox.com>
10052
10053         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
10054         already.
10055
10056 2005-08-24  Wim Taymans  <wim@fluendo.com>
10057
10058         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10059         (gst_base_transform_transform_caps),
10060         (gst_base_transform_transform_size),
10061         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10062         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10063         (gst_base_transform_handle_buffer):
10064         * gst/base/gstbasetransform.h:
10065         Many fixes and new features added by Thomas. Can now also do
10066         transforms with variable sizes and a custom fixate_caps function.
10067
10068 2005-08-24  Wim Taymans  <wim@fluendo.com>
10069
10070         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10071         Some debugging.
10072
10073         * gst/gstclock.h:
10074         Cast to ClockTime before formatting to time.
10075
10076         * gst/gstutils.h:
10077         Cleanups.
10078
10079 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10080
10081         * check/gst-libs/controller.c: (GST_START_TEST),
10082         (gst_controller_suite):
10083         * docs/gst/tmpl/gstcaps.sgml:
10084         * docs/gst/tmpl/gstghostpad.sgml:
10085         * docs/gst/tmpl/gstquery.sgml:
10086         * docs/gst/tmpl/gstutils.sgml:
10087         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
10088         (gst_object_sink_values), (gst_object_get_value_arrays),
10089         (gst_object_get_value_array):
10090           gracefully handle helper method calls to objects that are not beeing
10091           controlled, added test case for that          
10092
10093 2005-08-23  Wim Taymans  <wim@fluendo.com>
10094
10095         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
10096         (gst_event_new_newsegment), (gst_event_parse_newsegment),
10097         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
10098         (gst_event_parse_qos), (gst_event_new_seek),
10099         (gst_event_parse_seek):
10100         * gst/gstevent.h:
10101         Some more debugging output and doc cleanups.
10102
10103         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10104         Fix possible deadlock.
10105
10106 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10107
10108         * docs/gst/gstreamer-docs.sgml:
10109         * docs/gst/gstreamer-sections.txt:
10110         * docs/gst/gstreamer.types:
10111         * docs/gst/tmpl/.cvsignore:
10112         * gst/gstbin.h:
10113         * gst/gstbus.c:
10114         * gst/gstelement.c:
10115         * gst/gstevent.h:
10116           added 100 symbols from gstreamer-unused.txt to the right sections
10117           fixed more broken comments
10118           added GstBus to docs
10119
10120 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10121
10122         * docs/gst/gstreamer-sections.txt:
10123         * docs/gst/tmpl/.cvsignore:
10124         * docs/gst/tmpl/gstbin.sgml:
10125         * docs/gst/tmpl/gstbuffer.sgml:
10126         * gst/base/gstbasesrc.c:
10127         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
10128         * gst/gstbuffer.c:
10129         * gst/gstbuffer.h:
10130         * tools/gst-launch.1.in:
10131           inlined more doc comments, added missing comments and fixed comments
10132           fixed typos
10133
10134 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10135
10136         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10137           some debugging
10138         * gst/gstcaps.h:
10139           whitespace fixes
10140         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
10141           more debugging
10142         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
10143         * gst/gststructure.h:
10144           add a fixate function for booleans; add a FIXME that these func
10145           names should probably be gst_structure_fixate_*
10146
10147 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10148
10149         * docs/gst/gstreamer-docs.sgml:
10150         * docs/gst/gstreamer-sections.txt:
10151         * gst/Makefile.am:
10152         * gst/gstbin.c: (gst_bin_get_type),
10153         (gst_bin_child_proxy_get_child_by_index),
10154         (gst_bin_child_proxy_get_children_count),
10155         (gst_bin_child_proxy_init):
10156         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10157         (gst_child_proxy_get_child_by_index),
10158         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
10159         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
10160         (gst_child_proxy_get), (gst_child_proxy_set_property),
10161         (gst_child_proxy_set_valist), (gst_child_proxy_set),
10162         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
10163         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
10164         * gst/gstchildproxy.h:
10165         * gst/parse/grammar.y:
10166         * tools/gst-inspect.c: (print_interfaces),
10167         (print_element_properties_info), (print_element_info):
10168           ported gstchildproxy over from 0.8
10169           ported gst-inspect fixes and enhancements over from 0.8
10170
10171 2005-08-22  Wim Taymans  <wim@fluendo.com>
10172
10173         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10174         (gst_base_transform_handle_buffer):
10175         Also call the transform function if we have ANY caps.
10176
10177         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
10178         Fix debug info.
10179
10180 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10181
10182         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
10183           Don't pretend to handle seek events if the source is not seekable
10184
10185 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10186
10187         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10188           Remove extra parameter to debug output
10189
10190         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10191         (gst_base_src_do_seek), (gst_base_src_activate_push):
10192           Fix seek event handling.
10193
10194         * gst/gstpipeline.c: (gst_pipeline_change_state):
10195         * gst/gstqueue.c: (gst_queue_handle_sink_event),
10196         (gst_queue_src_activate_push):
10197           Don't start the src pad task on FLUSH_STOP if the pad
10198           isn't linked.
10199           Debug changes.
10200
10201 2005-08-22  Wim Taymans  <wim@fluendo.com>
10202
10203         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10204         Added check for gst_static_caps_get() refcounting.
10205
10206 2005-08-22  Wim Taymans  <wim@fluendo.com>
10207
10208         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
10209         Make _static_caps_get() refcounting sane.
10210         
10211         * gst/gstelement.c: (gst_element_set_state):
10212         Add g_return_val_if_fail() to protect against segfaults.
10213
10214 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
10215
10216         * docs/gst/tmpl/gstevent.sgml:
10217         * gst/gstevent.c:
10218         * gst/gstevent.h:
10219           inlined remaining docs, added missing doc comments
10220
10221 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10222
10223         * check/gst/gstbin.c: (GST_START_TEST):
10224           since we don't know when preroll is done, use refcount range
10225           check for the sink
10226         * gst/check/gstcheck.h:
10227           add macro for checking refcount range
10228
10229 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10230
10231         * check/Makefile.am:
10232           clean up environment for when registry gets built versus
10233           when actual tests are run; valgrind seems to not report
10234           leaks if GST_PLUGIN_PATH is set to some specific values
10235         * check/gst/gstbin.c: (GST_START_TEST):
10236           add more refcounting checks; maybe this exposes a
10237           preroll lock bug ?
10238         * common/check.mak:
10239         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10240         * gst/check/gstcheck.h:
10241         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
10242         (gst_bin_change_state):
10243         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
10244           add/fix debugging/whitespace
10245
10246 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10247
10248         * check/gst/gstevent.c: (event_probe), (test_event),
10249         (GST_START_TEST):
10250          Er, don't call gst_bin_watch_for_state_change you idiot.
10251
10252 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10253
10254         * check/Makefile.am:
10255           Use CHECK_CFLAGS and CHECK_LIBS
10256         * check/gst/gstevent.c: (event_probe), (test_event),
10257         (GST_START_TEST):
10258           Don't leak events.
10259         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10260         (gst_base_src_start), (gst_base_src_stop),
10261         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10262         (gst_base_src_change_state):
10263           Sprinkle gst_base_src_stop liberally around error paths to fix
10264           problems reusing a source after failed state changes.
10265         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10266         (helper_find_suggest), (gst_type_find_helper):
10267           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
10268         * gst/gstevent.h:
10269         * docs/gst/tmpl/gstevent.sgml:
10270           Migrate part of the docs from the SGML file. Wait for ensonic to
10271           tell me how I did it wrong ;)
10272         * tools/gst-typefind.c: (main):
10273           Extra robustness to state changes between files.
10274
10275 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10276
10277         * check/Makefile.am:
10278           don't valgrind the controller test - it's leaking - Stefan, HELP
10279         * gst/check/gstcheck.c: (gst_check_message_error),
10280         (gst_check_chain_func), (gst_check_setup_element),
10281         (gst_check_teardown_element), (gst_check_setup_src_pad),
10282         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10283         (gst_check_teardown_sink_pad):
10284         * gst/check/gstcheck.h:
10285           add a bunch of methods to set up elements, and src and sink pads
10286         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
10287         * check/elements/identity.c: (setup_identity), (cleanup_identity),
10288         (GST_START_TEST):
10289           use them
10290         * gst/gstmessage.c:
10291         * gst/gsttag.h:
10292           whitespace/doc fixes
10293
10294 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10295
10296         * gst/gstelement.h:
10297           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
10298           be handled by the application and not always printed as well
10299
10300 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10301
10302         * check/Makefile.am:
10303           set GST_TOOLS_DIR
10304         * gst/check/gstcheck.c: (gst_check_message_error):
10305         * gst/check/gstcheck.h:
10306           add a fail_unless_equals_int
10307           add fail_unless for error messages
10308
10309 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10310
10311         * check/Makefile.am:
10312         * check/gst.supp:
10313         * common/Makefile.am:
10314         * common/check.mak:
10315         * common/gst.supp:
10316           factor out some of the common stuff so we can use it
10317
10318 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10319
10320         * check/Makefile.am:
10321         * check/gst/gstiterator.c: (GST_START_TEST):
10322         * check/gst/gstsystemclock.c: (GST_START_TEST),
10323         (gst_systemclock_suite):
10324         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10325         * gst/gstclock.c:
10326           valgrind more tests
10327
10328 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10329
10330         * check/elements/.cvsignore:
10331         * check/elements/gstfakesrc.c:
10332           rename to name of element
10333         * check/elements/identity.c: (chain_func), (event_func),
10334         (setup_identity), (cleanup_identity), (GST_START_TEST),
10335         (identity_suite), (main):
10336           add a test for identity
10337         * check/Makefile.am:
10338         * pkgconfig/Makefile.am:
10339         * pkgconfig/gstreamer-check.pc.in:
10340         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10341         * gst/check:
10342         * gst/Makefile.am:
10343         * configure.ac:
10344           move the check stuff to a library that gets installed
10345         * check/gst-libs/controller.c: (GST_START_TEST):
10346         * check/gst-libs/gdp.c:
10347         * check/gst/gst.c: (GST_START_TEST):
10348         * check/gst/gstbin.c:
10349         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10350         * check/gst/gstbus.c:
10351         * check/gst/gstcaps.c: (GST_START_TEST):
10352         * check/gst/gstelement.c:
10353         * check/gst/gstghostpad.c:
10354         * check/gst/gstiterator.c:
10355         * check/gst/gstmessage.c:
10356         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
10357         * check/gst/gstobject.c:
10358         * check/gst/gstpad.c: (GST_START_TEST):
10359         * check/gst/gststructure.c: (GST_START_TEST):
10360         * check/gst/gstsystemclock.c: (GST_START_TEST),
10361         (gst_systemclock_suite):
10362         * check/gst/gsttag.c: (gst_tag_suite):
10363         * check/gst/gstvalue.c:
10364         * check/pipelines/cleanup.c:
10365         * check/pipelines/simple_launch_lines.c:
10366         * check/states/sinks.c:
10367           change include statement
10368
10369         * docs/gst/gstreamer-sections.txt:
10370         * docs/gst/tmpl/gstpad.sgml:
10371           document more pad stuff
10372         * gst/gstminiobject.c: (gst_mini_object_ref),
10373         (gst_mini_object_unref):
10374           debug refcounting
10375
10376 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
10377
10378         * docs/gst/tmpl/gst.sgml:
10379         * gst/gst.c:
10380           eliminate another tmpl file, fix spelling in the long-description
10381
10382 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10383
10384         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10385         (test_event), (timediff), (gstevents_suite):
10386           Should fix build on 64-bit arch's
10387
10388 2005-08-18  Andy Wingo  <wingo@pobox.com>
10389
10390         Make sure that when a pipeline goes to PLAYING, that data has
10391         actually hit the sink.
10392
10393         * check/states/sinks.c (test_sink): A sink that doesn't get any
10394         data shouldn't return SUCCESS for going to either PLAYING or
10395         PAUSED. Test also the return values on the way back down.
10396
10397         * gst/gstelement.c (gst_element_set_state): When changing the
10398         state of an element currently changing state asynchronously, go to
10399         lost-state after commiting the pending state. Makes future calls
10400         to get_state continue to return ASYNC.
10401
10402         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
10403         ASYNC when going to PLAYING if we still don't have preroll, as can
10404         happen with live sources.
10405
10406 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10407
10408         * docs/pwg/advanced-types.xml:
10409           Hack long paragraph into 2 chunks as a workaround for buggy
10410           jadetex version in sid and breezy that loops infinitely and
10411           eats all RAM.
10412
10413 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10414
10415         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10416         (test_event), (timediff), (gstevents_suite):
10417           Provide more error margin in clock measurements to allow for 
10418           g_get_current_time inaccuracies.
10419
10420 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10421
10422         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10423         (test_event), (timediff), (gstevents_suite):
10424            Fix error message output so I might be able to tell why the
10425            test works here but fails on the build farm.
10426
10427 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10428
10429         * check/Makefile.am:
10430         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10431         (test_event), (timediff), (gstevents_suite), (main):
10432           I wrote a test!
10433
10434         * docs/design/part-seeking.txt:
10435           Spelling correction
10436
10437         * docs/gst/tmpl/gstevent.sgml:
10438         * docs/gst/tmpl/gstfakesrc.sgml:
10439           Docs updates.
10440
10441         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10442           Treat a buffer-without-newsegment the same as a receiving 
10443           a newsegment not in time format, and disable syncing to the clock
10444           with a warning.
10445
10446         * gst/gstbus.c: (gst_bus_set_sync_handler):
10447           Assert if anyone tries to replace the existing sync_handler for bus, 
10448           as only the owner should be setting it.
10449
10450         * gst/gstevent.h:
10451           Have a fixed set of custom event enums with events identified by
10452           their structure name (as in 0.8), rather than a free-for-all
10453           allowing collisions between enum values from different plugins.
10454
10455         * gst/gstpad.c: (gst_pad_class_init):
10456           Docs change.
10457           
10458         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10459           Handle out-of-band downstream events from the sending thread.
10460
10461 2005-08-17  Andy Wingo  <wingo@pobox.com>
10462
10463         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
10464         play-timeout==0 to mean no timeout at all. In that case, don't
10465         bother with a get_state or a warning, just return directly, even
10466         if it's ASYNC.
10467
10468         * gst/base/gstbasetransform.c: Debug changes.
10469
10470         * gst/gstutils.h:
10471         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
10472         ensure bins post state change messages. A bit of a hack but I can't
10473         think of a way to avoid it.
10474
10475         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
10476
10477 2005-08-16  Andy Wingo  <wingo@pobox.com>
10478
10479         * gst/base/gstadapter.h:
10480         * gst/base/gstadapter.c (gst_adapter_take): New function, like
10481         peek() but you own the data. Not terribly efficient atm.
10482
10483 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10484
10485         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
10486         (gst_element_found_tags):
10487         * gst/gstutils.h:
10488           Add two utility functions for tag handling.
10489
10490 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10491
10492         * docs/manual/advanced-dataaccess.xml:
10493         * docs/manual/basics-helloworld.xml:
10494           Fix docs to use _bin_add() before _link(), which fixes the examples
10495           with recent core versions (reported by Madhan Raj M
10496           <raj_madan@rediffmail.com>, #313199).
10497
10498 2005-08-16  Wim Taymans  <wim@fluendo.com>
10499
10500         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10501         Added subtract checks.
10502
10503         * docs/design/part-events.txt:
10504         Some more docs about newsegment
10505
10506         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10507         Fix FIXME
10508
10509         * gst/gstcaps.c: (gst_caps_to_string):
10510         Add comments, cleanups.
10511         
10512         * gst/gstelement.c: (gst_element_save_thyself):
10513         cleanups
10514         
10515         * gst/gstvalue.c: (gst_value_collect_int_range),
10516         (gst_string_unwrap), (gst_value_union_int_int_range),
10517         (gst_value_union_int_range_int_range),
10518         (gst_value_intersect_int_int_range),
10519         (gst_value_intersect_int_range_int_range),
10520         (gst_value_intersect_double_double_range),
10521         (gst_value_intersect_double_range_double_range),
10522         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
10523         (gst_value_subtract_int_range_int),
10524         (gst_value_subtract_double_range_double),
10525         (gst_value_subtract_double_range_double_range),
10526         (gst_value_subtract_from_list), (gst_value_subtract_list),
10527         (gst_value_can_compare), (gst_value_compare_fraction):
10528         Cleanups, add comments, remove unneeded asserts.
10529
10530 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10531
10532         * tools/gst-launch.c: (event_loop):
10533           don't convert NULL structures to strings
10534
10535 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
10536
10537         * docs/gst/gstreamer-sections.txt:
10538           made some defines private
10539         * docs/gst/tmpl/gstconfig.sgml:
10540         * docs/gst/tmpl/gstqueue.sgml:
10541         * docs/gst/tmpl/gsttaglist.sgml:
10542         * docs/gst/tmpl/gsttypes.sgml:
10543         * docs/gst/tmpl/gstutils.sgml:
10544         * docs/pwg/appendix-porting.xml:
10545         * gst/base/gstbasesink.h:
10546         * gst/base/gstbasesrc.c:
10547         * gst/base/gstbasesrc.h:
10548         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
10549         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
10550         * gst/gstelement.c: (gst_element_class_init):
10551         * gst/gstpad.c: (gst_pad_class_init):
10552         * gst/gstqueue.c: (gst_queue_class_init):
10553         * gst/gstxml.c: (gst_xml_class_init):
10554           documented all undocumented signal inline
10555         * libs/gst/controller/gst-controller.h:
10556           added padding
10557
10558 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10559
10560         * docs/pwg/appendix-porting.xml:
10561           Document _set_link_function -> _set_setcaps_function.
10562
10563 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10564
10565         * check/Makefile.am:
10566           add a .check target for running the check
10567         * check/gst-libs/controller.c: (GST_START_TEST):
10568           cosmetic fixups
10569         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10570           complete checks for gstbuffer; would be nice if I could get the
10571           gcov stuff to work so I can see if I actually completed gstbuffer.c
10572         * check/gstcheck.h:
10573           add ASSERT_BUFFER_REFCOUNT
10574
10575 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
10576
10577         * docs/gst/gstreamer-sections.txt:
10578         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10579         * gst/gsttag.h:
10580           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
10581           spew out a warning if a tag that is already registered
10582           is re-registered, unless it is re-registered with a 
10583           different type (#308438).
10584
10585 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
10586
10587         * docs/pwg/appendix-porting.xml:
10588         * docs/pwg/building-state.xml:
10589           Add some paragraphs about state changes in 0.9 to the PWG
10590           and the porting guide, in particular about the new meaning
10591           of GST_STATE_PAUSED and how to write state change functions
10592           with concurrent access by multiple threads in mind.
10593
10594 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
10595
10596         * docs/gst/gstreamer-docs.sgml:
10597         * docs/libs/gstreamer-libs-docs.sgml:
10598           added deprecation and since indexes
10599         * libs/gst/controller/gst-controller.c:
10600         * libs/gst/controller/gst-helper.c:
10601           added since tags
10602
10603
10604 2005-08-11  Wim Taymans  <wim@fluendo.com>
10605
10606         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
10607         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
10608         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
10609         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
10610         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
10611         (gst_ghost_pad_set_target):
10612         Actually implement (re)setting the target on a ghostpad
10613         as described in the docs.
10614
10615 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10616
10617         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
10618           Check whether GST_DEBUG_NO_COLOR environment variable is
10619           set and disable coloured debug output if that is the case.
10620
10621 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10622
10623         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10624         (gst_type_find_helper):
10625           The memory returned by gst_type_find_peek() needs to
10626           stay valid until the end of a typefind function, and
10627           typefind functions may keep results from different 
10628           offsets around, so we can't just unref the buffer from
10629           the previous _peek(), but have to save all buffers 
10630           returned by _peek() until typefinding is done and only
10631           free them then.
10632
10633 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
10634
10635         * docs/gst/gstreamer-sections.txt:
10636         * gst/gstutils.h:
10637           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
10638
10639 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10640
10641         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10642           Fix a pretty good memleak.
10643
10644 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10645
10646         * gst/gstiterator.h:
10647           Fix wrong include and 'make distcheck'.
10648
10649 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10650
10651         * gst/gstbin.c: (bin_bus_handler):
10652           Use gst_element_post_message() instead.
10653
10654 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10655
10656         * gst/base/gstadapter.h:
10657         * gst/base/gstbasesink.h:
10658         * gst/base/gstbasesrc.h:
10659         * gst/base/gstbasetransform.h:
10660         * gst/base/gstcollectpads.h:
10661         * gst/base/gstpushsrc.h:
10662         * gst/gstiterator.h:
10663           Add padding to our base elements' class and instance structs and
10664           to GstIterator (you will need to rebuild all plugins and apps!)
10665
10666 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10667
10668         * gst/gstbin.c: (bin_bus_handler):
10669           Make default message forwarding from child->bus to bin->bus
10670           threadsafe and make it not emit warnings if the parent has no bus.
10671
10672 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10673
10674         * gst/gstelement.c: (activate_pads):
10675           On paused->ready, set pad->caps to NULL, as is the documented
10676           behaviour in this state change. Fixes playback of series of
10677           media files when visualization is enabled in Totem.
10678
10679 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10680
10681         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10682           Allow NULL as filter-caps (which means "any").
10683
10684 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10685
10686         * docs/libs/gstreamer-libs-sections.txt:
10687         * libs/gst/controller/gst-controller.c:
10688         * libs/gst/controller/gst-controller.h:
10689         * libs/gst/controller/gst-helper.c:
10690           adding more entries to the docs and fix small doc-bugs
10691
10692 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10693
10694         * docs/gst/gstreamer-docs.sgml:
10695         * docs/gst/gstreamer-sections.txt:
10696         * docs/gst/gstreamer.types:
10697         * docs/gst/tmpl/gstbasesink.sgml:
10698         * docs/gst/tmpl/gstbasesrc.sgml:
10699         * docs/gst/tmpl/gstbasetransform.sgml:
10700         * docs/gst/tmpl/gstfakesrc.sgml:
10701         * gst/base/gstcollectpads.c:
10702         * gst/base/gstcollectpads.h:
10703         * libs/gst/controller/gst-controller.c:
10704         * libs/gst/controller/gst-controller.h:
10705         * libs/gst/controller/gst-helper.c:
10706         * libs/gst/controller/gst-interpolation.c:
10707         * libs/gst/controller/lib.c:
10708           added long/short desc for controller docs
10709           added collectpads base class docs
10710           added correct includes to base-class docs
10711
10712 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10713
10714         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10715         (gst_test_mono_source_set_property),
10716         (gst_test_mono_source_class_init), (GST_START_TEST),
10717         (gst_controller_suite):
10718         * docs/gst/gstreamer-docs.sgml:
10719         * docs/gst/gstreamer-sections.txt:
10720         * docs/gst/gstreamer.types:
10721         * docs/libs/gstreamer-libs-docs.sgml:
10722         * docs/libs/gstreamer-libs-sections.txt:
10723         * gst/base/gstadapter.c:
10724         * libs/gst/controller/gst-controller.c:
10725         (gst_controlled_property_new), (gst_controlled_property_free),
10726         (gst_controller_new_valist),
10727         (gst_controller_remove_properties_valist),
10728         (gst_controller_sink_values), (_gst_controller_finalize):
10729         * libs/gst/controller/gst-controller.h:
10730         * libs/gst/controller/gst-helper.c:
10731         (gst_object_control_properties), (gst_object_uncontrol_properties),
10732         (gst_object_get_controller), (gst_object_set_controller),
10733         (gst_object_sink_values), (gst_object_get_value_arrays),
10734         (gst_object_get_value_array):
10735           more tests (and fixes) for the controller
10736           more docs for the controller
10737           integrated companies docs for the adapter 
10738
10739 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10740
10741         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
10742         (GST_START_TEST), (fakesrc_suite):
10743           add tests for sizetype
10744
10745 2005-08-04  Andy Wingo  <wingo@pobox.com>
10746
10747         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
10748         fixes buffer_alloc proxying among other things.
10749
10750         * gst/base/gstbasetransform.c:
10751         * gst/base/gstbasetransform.h:
10752         Revert patch to gstbasetransform from 7-28 removing
10753         delay_configure.
10754
10755         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
10756         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
10757         Semantics changed, should return not the size of the output buffer
10758         but the byte size of a buffer with a given caps.
10759
10760         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
10761         debug object.
10762         (gst_base_transform_configure_caps): Don't set out_size here: (in,
10763         out) are not the pad caps until setcaps finishes.
10764         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
10765         not-in-place case as well. Deal with changing from in-place to
10766         not-in-place within calling pad_alloc_buffer. Still a bit
10767         concerned about the overhead here...
10768
10769 2005-08-03  Andy Wingo  <wingo@pobox.com>
10770
10771         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
10772         fixating is an error.
10773
10774 2005-08-04  Edward Hervey  <edward@fluendo.com>
10775
10776         * gst/base/gstadapter.h: 
10777         Added gst_adapter_get_type() to the header
10778
10779 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10780
10781         * check/Makefile.am:
10782         * check/gst-libs/controller.c:
10783         * libs/gst/controller/gst-controller.c:
10784         (gst_controller_new_valist):
10785           added check test suite for the controller
10786         * gst/base/gstpushsrc.c:
10787           fixed a doc typo
10788
10789 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10790
10791         * docs/gst/Makefile.am:
10792         * docs/gst/gstreamer-docs.sgml:
10793         * docs/gst/gstreamer-sections.txt:
10794         * docs/gst/gstreamer.types:
10795         * docs/gst/tmpl/gstfakesrc.sgml:
10796         * gst/base/README:
10797         * gst/base/gstbasesink.c:
10798         * gst/base/gstbasesink.h:
10799         * gst/base/gstbasesrc.c:
10800         * gst/base/gstbasesrc.h:
10801         * gst/base/gstbasetransform.c:
10802         * gst/base/gstpushsrc.c:
10803         * gst/base/gstpushsrc.h:
10804           add short/long description docs to base classes
10805           add pushsrc to the docs
10806           remove consolidated doc fragments
10807
10808 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10809
10810         * configure.ac:
10811         * docs/libs/Makefile.am:
10812         * docs/libs/gstreamer-libs-docs.sgml:
10813         * docs/libs/gstreamer-libs-sections.txt:
10814         * docs/libs/gstreamer-libs.types:
10815         * examples/Makefile.am:
10816         * examples/controller/.cvsignore:
10817         * examples/controller/Makefile.am:
10818         * examples/controller/audio-example.c: (main):
10819         * libs/gst/Makefile.am:
10820         * libs/gst/controller/.cvsignore:
10821         * libs/gst/controller/Makefile.am:
10822         * libs/gst/controller/gst-controller.c:
10823         (on_object_controlled_property_changed), (gst_timed_value_compare),
10824         (gst_timed_value_find),
10825         (gst_controlled_property_set_interpolation_mode),
10826         (gst_controlled_property_new), (gst_controlled_property_free),
10827         (gst_controller_find_controlled_property),
10828         (gst_controller_new_valist), (gst_controller_new),
10829         (gst_controller_remove_properties_valist),
10830         (gst_controller_remove_properties), (gst_controller_set),
10831         (gst_controller_set_from_list), (gst_controller_unset),
10832         (gst_controller_get), (gst_controller_get_all),
10833         (gst_controller_sink_values), (gst_controller_get_value_arrays),
10834         (gst_controller_get_value_array),
10835         (gst_controller_set_interpolation_mode),
10836         (_gst_controller_finalize), (_gst_controller_init),
10837         (_gst_controller_class_init), (gst_controller_get_type):
10838         * libs/gst/controller/gst-controller.h:
10839         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10840         (g_object_uncontrol_properties), (g_object_get_controller),
10841         (g_object_set_controller), (g_object_sink_values),
10842         (g_object_get_value_arrays), (g_object_get_value_array):
10843         * libs/gst/controller/gst-interpolation.c:
10844         (gst_controlled_property_find_timed_value_node),
10845         (interpolate_none_get), (interpolate_trigger_get),
10846         (interpolate_trigger_get_value_array):
10847         * libs/gst/controller/lib.c: (gst_controller_init):
10848         * pkgconfig/Makefile.am:
10849         * pkgconfig/gstreamer-control-uninstalled.pc.in:
10850         * pkgconfig/gstreamer-control.pc.in:
10851         * testsuite/Makefile.am:
10852         * testsuite/controller/.cvsignore:
10853         * testsuite/controller/Makefile.am:
10854         * testsuite/controller/interpolator.c: (main):
10855           added controller code
10856           removed dparam pc files
10857
10858 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10859         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10860         (gst_collectpads_stop):
10861           Broadcast the condition when shutting down, to make sure we wake all
10862           threads up. Shut down pads on finalize, for safety.
10863
10864 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10865         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10866         (gst_base_transform_handle_buffer),
10867         (gst_base_transform_change_state):
10868           Handle PAUSED->READY->PAUSED transition after negotiation
10869           occurred already.
10870         * gst/gstmessage.c: (gst_message_init):
10871           Extra piece of debug for new messages.
10872
10873 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
10874
10875         * configure.ac:
10876         * docs/gst/tmpl/gstbasesrc.sgml:
10877         * docs/gst/tmpl/gstelement.sgml:
10878         * docs/gst/tmpl/gstevent.sgml:
10879         * docs/gst/tmpl/gstfakesrc.sgml:
10880         * docs/gst/tmpl/gstformat.sgml:
10881         * docs/gst/tmpl/gstghostpad.sgml:
10882         * docs/gst/tmpl/gstpad.sgml:
10883         * docs/gst/tmpl/gstquery.sgml:
10884         * docs/gst/tmpl/gststructure.sgml:
10885         * docs/gst/tmpl/gsttaglist.sgml:
10886         * docs/gst/tmpl/gstvalue.sgml:
10887         * docs/libs/gstreamer-libs-docs.sgml:
10888         * docs/libs/gstreamer-libs-sections.txt:
10889         * docs/libs/gstreamer-libs.types:
10890         * libs/gst/Makefile.am:
10891         * libs/gst/control/.cvsignore:
10892         * libs/gst/control/Makefile.am:
10893         * libs/gst/control/control.c:
10894         * libs/gst/control/control.h:
10895         * libs/gst/control/dparam.c:
10896         * libs/gst/control/dparam.h:
10897         * libs/gst/control/dparam_smooth.c:
10898         * libs/gst/control/dparam_smooth.h:
10899         * libs/gst/control/dparamcommon.h:
10900         * libs/gst/control/dparammanager.c:
10901         * libs/gst/control/dparammanager.h:
10902         * libs/gst/control/dplinearinterp.c:
10903         * libs/gst/control/dplinearinterp.h:
10904         * libs/gst/control/unitconvert.c:
10905         * libs/gst/control/unitconvert.h:
10906         * testsuite/Makefile.am:
10907         * testsuite/dynparams/.cvsignore:
10908         * testsuite/dynparams/Makefile.am:
10909         * testsuite/dynparams/dparamstest.c:
10910         * tools/Makefile.am:
10911         * tools/gst-inspect.c: (print_element_info), (main):
10912         * tools/gst-xmlinspect.c: (print_element_info), (main):
10913           deactivate and remove dparams (libgstcontrol)
10914
10915 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10916
10917         * gst/elements/gsttypefindelement.c:
10918         (gst_type_find_element_have_type), (gst_type_find_element_init),
10919         (stop_typefinding), (gst_type_find_element_handle_event),
10920         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10921         * gst/elements/gsttypefindelement.h:
10922           Set caps on all outgoing buffers, not just the first one.
10923
10924 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10925
10926         * gst/elements/gsttypefindelement.c:
10927         (gst_type_find_element_have_type),
10928         (gst_type_find_element_check_set_buffer_caps),
10929         (gst_type_find_element_init), (stop_typefinding),
10930         (gst_type_find_element_handle_event),
10931         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10932         * gst/elements/gsttypefindelement.h:
10933           Set caps on first outgoing buffer when we've found the type.
10934
10935 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10936
10937         * docs/gst/gstreamer-docs.sgml:
10938         * docs/gst/gstreamer-sections.txt:
10939         * docs/gst/tmpl/gstscheduler.sgml:
10940         * docs/gst/tmpl/gstschedulerfactory.sgml:
10941           Remove some old cruft from docs.
10942
10943 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
10944
10945         * gst/gstpad.h:
10946           Fix inline docs for GstPadLinkReturn.
10947           
10948         * gst/gststructure.c: (gst_structure_has_name):
10949         * gst/gststructure.h:
10950         * docs/gst/gstreamer-sections.txt:
10951           New API: gst_structure_has_name().
10952
10953 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
10954
10955         * configure.ac:
10956           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10957           and _LARGEFILE_SOURCE in config.h as required. Do not 
10958           export those flags in our .pc files any longer (#142209).
10959
10960           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10961
10962         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10963         (gst_file_sink_do_seek), (gst_file_sink_event),
10964         (gst_file_sink_get_current_offset), (gst_file_sink_render):
10965           Redo seek/tell calls with large file support in mind; add some
10966           debugging messages; add log message that tells us when large
10967           file support is unavailable or not enabled for some reason.
10968
10969         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10970           Add log message that tells us when large file support 
10971           is unavailable or not enabled for some reason.
10972
10973 2005-07-29  Wim Taymans  <wim@fluendo.com>
10974
10975         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10976         Added test for removing an element with ghostpad from a bin.
10977         Fixed test as current implementation does the right thing.
10978
10979         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10980         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10981         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10982         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10983         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10984         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10985         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10986         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10987         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10988         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10989         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10990         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10991         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10992         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10993         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10994         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10995         * gst/gstghostpad.h:
10996         Clean up ghostpads, remove properties for internal stuff.
10997         Make threadsafe.
10998         Fix refcounting.
10999         Prepare for switching targets, not all use cases work yet.
11000
11001 2005-07-29  Wim Taymans  <wim@fluendo.com>
11002
11003         * docs/design/part-gstghostpad.txt:
11004         Small update.
11005
11006         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11007         (gst_bin_remove_func):
11008         Unlinking pads while holding the bin LOCK is not a good
11009         idea.
11010
11011         * gst/gstpad.c: (gst_pad_class_init),
11012         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
11013         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
11014         No prob setting template after creating the pad.
11015
11016 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
11017
11018         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
11019         (gst_bus_peek), (gst_bus_source_dispatch),
11020         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
11021         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
11022           gst_bus_poll may be called from other threads. Handle
11023           this nicely by not making poll_data disappear off the
11024           stack once gst_bus_poll returns.
11025           gst_bus_peek now increments the refcount on the returned
11026           message.
11027
11028 2005-07-29  Wim Taymans  <wim@fluendo.com>
11029
11030         * docs/design/part-gstghostpad.txt:
11031         Overview of current GhostPad datastructures and use
11032         cases for changing the target.
11033
11034 2005-07-28  Wim Taymans  <wim@fluendo.com>
11035
11036         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11037         Added checks for hierarchy consistency whan adding linked
11038         elements to bins.
11039
11040         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11041         Added check to test element scheduling without bin/pipeline.
11042
11043         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11044         First add elements to bin, then link.
11045         
11046         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11047         (gst_bin_remove_func):
11048         Unlink pads from elements added/removed from bin to maintain
11049         hierarchy consistency.
11050
11051 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11052
11053         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11054         (gst_base_transform_handle_buffer):
11055         * gst/base/gstbasetransform.h:
11056           Remove broken delay_configure (fixes renegotiation of software
11057           scaling pipelines); remove some leftover printf()s.
11058
11059 2005-07-28  Wim Taymans  <wim@fluendo.com>
11060
11061         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11062         Added some more tests for wrong hierarchy
11063
11064         * docs/design/part-overview.txt:
11065         Some updates.
11066
11067         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
11068         Cleanups.
11069
11070         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
11071         (gst_element_dispose):
11072         Some more cleanups.
11073
11074         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11075         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
11076         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11077         (gst_pad_set_caps), (gst_pad_send_event):
11078         Check for correct hierarchy when linking pads. Moving to
11079         strict requirement for ghostpads when linking elements in
11080         different bins.
11081
11082         * gst/gstpad.h:
11083         Clean ups. Added WRONG_HIERARCHY return value.
11084
11085 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11086
11087         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11088           Better debug if no transform is possible.
11089
11090 2005-07-27  Wim Taymans  <wim@fluendo.com>
11091
11092         * docs/random/wtay/network-transp:
11093         Some old doc I had.
11094
11095 2005-07-27  Wim Taymans  <wim@fluendo.com>
11096
11097         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11098         (gst_dp_event_from_packet):
11099         Fix serialization of seek events.
11100
11101 2005-07-27  Wim Taymans  <wim@fluendo.com>
11102
11103         * check/gst-libs/gdp.c: (GST_START_TEST):
11104         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11105         Fix compilation and fix event serialization.
11106
11107 2005-07-27  Wim Taymans  <wim@fluendo.com>
11108
11109         * CHANGES-0.9:
11110         * docs/design/part-TODO.txt:
11111         * docs/design/part-events.txt:
11112         Some docs updates
11113
11114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11115         (gst_base_sink_event), (gst_base_sink_do_sync),
11116         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11117         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11118         (gst_base_src_do_seek), (gst_base_src_event_handler),
11119         (gst_base_src_loop):
11120         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11121         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11122         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11123         (gst_base_transform_event), (gst_base_transform_handle_buffer),
11124         (gst_base_transform_set_passthrough),
11125         (gst_base_transform_is_passthrough):
11126         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11127         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11128         Event updates.
11129
11130         * gst/gstbuffer.h:
11131         Use faster casts.
11132
11133         * gst/gstelement.c: (gst_element_seek):
11134         * gst/gstelement.h:
11135         Update gst_element_seek.
11136
11137         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
11138         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
11139         (gst_event_new_flush_start), (gst_event_new_flush_stop),
11140         (gst_event_new_eos), (gst_event_new_newsegment),
11141         (gst_event_parse_newsegment), (gst_event_new_tag),
11142         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
11143         (gst_event_parse_qos), (gst_event_new_seek),
11144         (gst_event_parse_seek), (gst_event_new_navigation):
11145         * gst/gstevent.h:
11146         Make GstEvent use GstStructure. Add parsing code, make sure the
11147         API is sufficiently generic.
11148         Mark possible directions of events and serialization.
11149
11150         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
11151         (_gst_message_copy), (gst_message_new_segment_start),
11152         (gst_message_new_segment_done), (gst_message_new_custom),
11153         (gst_message_parse_segment_start),
11154         (gst_message_parse_segment_done):
11155         Small cleanups.
11156
11157         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11158         (gst_pad_set_caps), (gst_pad_send_event):
11159         Update for new events. 
11160         Catch events sent in wrong directions.
11161
11162         * gst/gstqueue.c: (gst_queue_link_src),
11163         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11164         (gst_queue_handle_src_query):
11165         Event updates.
11166
11167         * gst/gsttag.c:
11168         * gst/gsttag.h:
11169         Remove event code from this file.
11170
11171         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11172         (gst_dp_event_from_packet):
11173         Event updates.
11174
11175 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11176
11177         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
11178         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11179         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
11180           Make debugging actually useful.
11181
11182 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11183
11184         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
11185         (gst_pad_fixate_caps):
11186           Implement default fixation once again, so that gst_pad_fixate()
11187           actually does anything at all. This probably needs to be some
11188           sort of a last resort, and use profile-based fixation first, but
11189           since that doesn't exist yet, this is the best we have. Fixes
11190           visualization in Totem.
11191
11192 2005-07-22  Wim Taymans  <wim@fluendo.com>
11193
11194         * docs/design/part-events.txt:
11195         Small update.
11196
11197         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11198         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
11199         (gst_base_sink_activate_pull):
11200         Some more comments.
11201
11202         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
11203         (gst_fake_src_create):
11204         Fix handoff marshall.
11205
11206         * gst/elements/gstidentity.c: (gst_identity_class_init),
11207         (gst_identity_transform_ip):
11208         We're a real inplace element.
11209
11210         * gst/gstbus.c: (gst_bus_post):
11211         Added some comments.
11212
11213         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
11214         * tests/muxing/case1.c: (main):
11215         * tests/sched/dynamic-pipeline.c: (main):
11216         * tests/sched/interrupt1.c: (main):
11217         * tests/sched/interrupt2.c: (main):
11218         * tests/sched/interrupt3.c: (main):
11219         * tests/sched/runxml.c: (main):
11220         * tests/sched/sched-stress.c: (main):
11221         * tests/seeking/seeking1.c: (event_received), (main):
11222         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11223         (main):
11224         * tests/threadstate/threadstate3.c: (main):
11225         * tests/threadstate/threadstate4.c: (main):
11226         * tests/threadstate/threadstate5.c: (main):
11227         Fix the tests.
11228
11229 2005-07-21  Wim Taymans  <wim@fluendo.com>
11230
11231         * docs/design/part-seeking.txt:
11232         Some small additions.
11233
11234         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11235         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11236         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11237         * gst/base/gstbasesink.h:
11238         discont values are gint64, handle the math correctly.
11239
11240         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11241         Make the basesrc report error if the source pad is not linked.
11242
11243         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
11244         (gst_queue_loop), (gst_queue_handle_src_query),
11245         (gst_queue_src_activate_push):
11246         Make queue collect data even if the srcpad is not linked.
11247         Start pushing out data as soon as it is linked.
11248
11249         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
11250         * gst/gstutils.h:
11251         Added gst_flow_get_name() to ease error reporting.
11252
11253 2005-07-20  Wim Taymans  <wim@fluendo.com>
11254
11255         * gst/gstmessage.c: (gst_message_new_segment_start),
11256         (gst_message_new_segment_done), (gst_message_parse_segment_start),
11257         (gst_message_parse_segment_done):
11258         * gst/gstmessage.h:
11259         Added a bunch of messages for advanced seeking.
11260
11261         * gst/parse/grammar.y:
11262         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
11263         (gst_dpman_state_changed):
11264         Fix some new-pad -> pad-added signals
11265
11266 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11267
11268         * docs/manual/appendix-porting.xml:
11269         * docs/pwg/appendix-porting.xml:
11270           Document new-pad/state-change signal renames and the FixedList
11271           type rename.
11272
11273 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11274
11275         * docs/manual/advanced-autoplugging.xml:
11276         * docs/manual/basics-helloworld.xml:
11277         * docs/manual/basics-pads.xml:
11278         * docs/random/ds/0.9-suggested-changes:
11279         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
11280         * gst/gstelement.h:
11281         * gst/gstevent.h:
11282         * gst/gstformat.h:
11283         * gst/gstquery.h:
11284         * gst/gststructure.c: (gst_structure_value_get_generic_type),
11285         (gst_structure_parse_array), (gst_structure_parse_value):
11286         * gst/gstvalue.c: (gst_type_is_fixed),
11287         (gst_value_list_prepend_value), (gst_value_list_append_value),
11288         (gst_value_list_get_size), (gst_value_list_get_value),
11289         (gst_value_transform_array_string), (gst_value_serialize_array),
11290         (gst_value_deserialize_array), (gst_value_intersect_array),
11291         (gst_value_is_fixed), (_gst_value_initialize):
11292         * gst/gstvalue.h:
11293           GstElement::new-pad -> pad-added, GstElement::state-change ->
11294           state-changed, GstValueFixedList -> GstValueArray, add format and
11295           flags as their own arguments in gst_element_seek() (should improve
11296           "bindeability"), remove function generators since they don't work
11297           under a whole bunch of compilers (they were deprecated already
11298           anyway).
11299
11300 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11301
11302         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11303         (_gst_debug_register_funcptr):
11304         * gst/gstinfo.h:
11305           Fix illegal cast on some platforms (#309253).
11306
11307 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11308
11309         * gst/gstmessage.c: (gst_message_new_custom):
11310         * gst/gstmessage.h:
11311           Add _new_custom, make _new_application a macro to _new_custom.
11312
11313 2005-07-20  Wim Taymans  <wim@fluendo.com>
11314
11315         * gst/base/gstbasesrc.c: (gst_base_src_init),
11316         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
11317         * gst/base/gstbasesrc.h:
11318         Add a gboolean to decide when to push out a discont.
11319
11320         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11321         (gst_queue_loop), (gst_queue_handle_src_query),
11322         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
11323         (gst_queue_set_property), (gst_queue_get_property):
11324         Some cleanups.
11325
11326         * tests/threadstate/threadstate1.c: (main):
11327         Make a thread test compile and run... very silly..
11328
11329
11330 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11331
11332         * docs/manual/appendix-porting.xml:
11333           Mention removal of libgstgconf-0.9.la and existence of gconf
11334           elements.
11335
11336 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11337
11338         * docs/pwg/advanced-clock.xml:
11339         * docs/pwg/appendix-porting.xml:
11340         * docs/pwg/intro-preface.xml:
11341         * docs/pwg/other-base.xml:
11342         * docs/pwg/other-manager.xml:
11343         * docs/pwg/other-nton.xml:
11344         * docs/pwg/other-ntoone.xml:
11345         * docs/pwg/other-oneton.xml:
11346         * docs/pwg/pwg.xml:
11347           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
11348           demuxer), remove n-to-n (was never written), fix some code examples
11349           and links and update the porting section to include all this.
11350
11351 2005-07-19  Wim Taymans  <wim@fluendo.com>
11352
11353         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
11354         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
11355         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
11356         (gst_queue_src_activate_push), (gst_queue_change_state),
11357         (gst_queue_get_property):
11358         * gst/gstqueue.h:
11359         Propagate GstFlowReturn more intelligently upstream and output
11360         an ERROR/EOS when streaming stopped due to fatal error.
11361
11362 2005-07-19  Wim Taymans  <wim@fluendo.com>
11363
11364         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11365         Don't block forever for the state change to complete, the
11366         pipeline already did with a sensible timeout.
11367
11368 2005-07-19  Wim Taymans  <wim@fluendo.com>
11369
11370         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11371         Make sure we never call the create function is we
11372         got deactivated.
11373
11374 2005-07-19  Andy Wingo  <wingo@pobox.com>
11375
11376         * gst/parse/parse.l: Attempt to solve bug #172815.
11377
11378 2005-07-19  Wim Taymans  <wim@fluendo.com>
11379
11380         * docs/design/part-clocks.txt:
11381         * docs/design/part-events.txt:
11382         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
11383         Small docs updates.
11384         Only update the seeking values when we are not
11385         busy streaming.
11386
11387 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11388
11389         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11390           Oops, ignore the result of gst_pad_push_event here.
11391
11392 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11393
11394         * gst/base/gstbasesrc.c: (gst_base_src_loop),
11395         (gst_base_src_activate_push):
11396           Send discont event from the loop function, as pads
11397           aren't activated yet in the activate_push handler.
11398
11399         * gst/gstbin.c: (bin_bus_handler):
11400           Don't leak element name.
11401
11402 2005-07-18  Andy Wingo  <wingo@pobox.com>
11403
11404         * configure.ac: Use AS_LIBTOOL_TAGS.
11405
11406 2005-07-18  Wim Taymans  <wim@fluendo.com>
11407
11408         * docs/gst/gstreamer.types:
11409         Remove deleted types.
11410
11411 2005-07-18  Wim Taymans  <wim@fluendo.com>
11412
11413         * check/elements/gstfakesrc.c: (GST_START_TEST):
11414         * configure.ac:
11415         * gst/Makefile.am:
11416         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11417         (init_popt_callback):
11418         * gst/gst.h:
11419         * gst/gst_private.h:
11420         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
11421         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
11422         * gst/gstbin.h:
11423         * gst/gstbus.h:
11424         * gst/gstconfig.h.in:
11425         * gst/gstelement.c: (gst_element_class_init),
11426         (gst_element_set_base_time), (gst_element_get_base_time),
11427         (iterator_fold_with_resync), (gst_element_change_state),
11428         (gst_element_dispose), (gst_element_get_bus):
11429         * gst/gstelement.h:
11430         * gst/gstelementfactory.h:
11431         * gst/gsterror.c: (_gst_core_errors_init):
11432         * gst/gsterror.h:
11433         * gst/gstevent.h:
11434         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11435         * gst/gstindex.c:
11436         * gst/gstinfo.c: (_gst_debug_init):
11437         * gst/gstmessage.c: (_gst_message_copy):
11438         * gst/gstmessage.h:
11439         * gst/gstminiobject.h:
11440         * gst/gstobject.c:
11441         * gst/gstobject.h:
11442         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11443         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
11444         * gst/gstpad.h:
11445         * gst/gstparse.h:
11446         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11447         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11448         (gst_pipeline_get_last_stream_time):
11449         * gst/gstpipeline.h:
11450         * gst/gstpluginfeature.h:
11451         * gst/gstquery.h:
11452         * gst/gstscheduler.c:
11453         * gst/gstscheduler.h:
11454         * gst/gststructure.h:
11455         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11456         (gst_task_finalize), (gst_task_func), (gst_task_create),
11457         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
11458         (gst_task_stop), (gst_task_pause):
11459         * gst/gsttask.h:
11460         * gst/gsttypefind.h:
11461         * gst/gsttypes.h:
11462         * gst/registries/gstlibxmlregistry.c: (load_feature),
11463         (gst_xml_registry_load), (gst_xml_registry_save_feature):
11464         * gst/registries/gstxmlregistry.c:
11465         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
11466         * gst/schedulers/threadscheduler.c:
11467         * libs/gst/control/dparammanager.h:
11468         * tools/gst-inspect.c: (print_element_list),
11469         (print_plugin_features), (print_element_features):
11470         * tools/gst-xmlinspect.c: (print_element_list),
11471         (print_plugin_info), (main):
11472         Removed plugable schedulers.
11473         Removed Scheduler/Manager from elements.
11474         Removed gsttypes.h, rearranged includes.
11475         Removed dependency pad<->element, element<>pipeline, and
11476         various others,  fix includes.
11477         implement gst_pad_get_parent() with gst_object_get_parent()
11478         Make GstTask sefcontained.
11479         Fix _get_state() on GstBin, it did not return ASYNC with a 0
11480         timeout.
11481         Fix endless loop in iterator_fold_with_resync.
11482
11483
11484 2005-07-18  Wim Taymans  <wim@fluendo.com>
11485
11486         * gst/Makefile.am:
11487         * gst/gstarch.h:
11488         Remove old file.
11489
11490 2005-07-18  Wim Taymans  <wim@fluendo.com>
11491
11492         * gst/Makefile.am:
11493         No more cothreads.h
11494
11495 2005-07-18  Wim Taymans  <wim@fluendo.com>
11496
11497         * gst/cothreads.c:
11498         * gst/cothreads.h:
11499         Let's remove these.
11500
11501 2005-07-18  Wim Taymans  <wim@fluendo.com>
11502
11503         * docs/design/part-dynamic.txt:
11504         * docs/design/part-events.txt:
11505         * docs/design/part-seeking.txt:
11506         Some more docs in the works.
11507
11508         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11509         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
11510         (gst_base_transform_setcaps), (gst_base_transform_get_size),
11511         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11512         (gst_base_transform_handle_buffer),
11513         (gst_base_transform_sink_activate_push),
11514         (gst_base_transform_src_activate_pull),
11515         (gst_base_transform_set_passthrough),
11516         (gst_base_transform_is_passthrough):
11517         Refcounting fixes.
11518
11519         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
11520         Cleanups.
11521
11522         * gst/gstevent.c: (gst_event_finalize):
11523         Set SRC to NULL.
11524
11525         * gst/gstutils.c: (gst_element_unlink),
11526         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
11527         (gst_pad_proxy_setcaps):
11528         * gst/gstutils.h:
11529         Add _get_parent_element() to get a pads parent as an element.
11530
11531 2005-07-18  Wim Taymans  <wim@fluendo.com>
11532
11533         * check/gst/gstbin.c: (GST_START_TEST):
11534         Remove bogus test.
11535
11536 2005-07-18  Wim Taymans  <wim@fluendo.com>
11537
11538         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11539         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11540         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11541         (gst_base_sink_event), (gst_base_sink_do_sync),
11542         (gst_base_sink_chain), (gst_base_sink_loop),
11543         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
11544         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11545         Refcounting fixes.
11546         Fix logic for returning ASYNC when not prerolled.
11547
11548 2005-07-18  Wim Taymans  <wim@fluendo.com>
11549
11550         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11551         Fix nasty refcount bug.
11552
11553 2005-07-16 Philippe Khalaf <burger@speedy.org>
11554
11555         * gst/elements/gstfdsrc.c:
11556         * gst/elements/gstfdsrc.h:
11557         * gst/elements/gstelements.c:
11558         * gst/elements/Makefile.am:
11559         Ported fdsrc to 0.9.
11560
11561 2005-07-16  Wim Taymans  <wim@fluendo.com>
11562
11563         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11564         (gst_base_sink_do_sync):
11565         Fix compile error.
11566
11567 2005-07-16  Wim Taymans  <wim@fluendo.com>
11568
11569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11570         (gst_base_sink_event), (gst_base_sink_get_times),
11571         (gst_base_sink_do_sync), (gst_base_sink_change_state):
11572         * gst/base/gstbasesink.h:
11573         Store and use discont values when syncing buffers as described
11574         in design docs.
11575         
11576         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11577         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
11578         (gst_base_src_activate_push):
11579         Push discont event when starting.
11580
11581         * gst/elements/gstidentity.c: (gst_identity_transform):
11582         Small cleanups.
11583
11584         * gst/gstbin.c: (gst_bin_change_state):
11585         Small cleanups in base_time  distribution.
11586
11587         * gst/gstelement.c: (gst_element_set_base_time),
11588         (gst_element_get_base_time), (gst_element_change_state):
11589         * gst/gstelement.h:
11590         Added methods for the base_time of the element.
11591         Some MT fixes.
11592
11593         * gst/gstpipeline.c: (gst_pipeline_send_event),
11594         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11595         (gst_pipeline_get_last_stream_time):
11596         * gst/gstpipeline.h:
11597         MT fixes.
11598         Handle seeking as described in design doc, remove stream_time
11599         hack.
11600         Cleanups clock and stream_time selection code. Added accessors
11601         for the stream_time.
11602         
11603
11604 2005-07-16  Andy Wingo  <wingo@pobox.com>
11605
11606         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
11607         (#305291).
11608
11609 2005-07-16  Wim Taymans  <wim@fluendo.com>
11610
11611         * check/gst/gstbin.c: (GST_START_TEST):
11612         Make elements silent as the deep_notify refs the
11613         parent, which might make the test fail.
11614
11615         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11616         Don't hold the lock for too long.
11617
11618 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
11619
11620         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11621           Don't unref the caps we passed to gst_caps_make_writable() after
11622           passing them. gst_caps_make_writable() will do that for us.
11623
11624 2005-07-15  Andy Wingo  <wingo@pobox.com>
11625
11626         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
11627         (#157311).
11628
11629         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
11630         own marshalling function for the handoff signal. Properly type the
11631         buffer as a buffer. Fixes some warnings. Should do a more general
11632         solution.
11633         (gst_identity_class_init): Plug into the right marshaller.
11634
11635 2005-07-15  Wim Taymans  <wim@fluendo.com>
11636
11637         * docs/design/part-TODO.txt:
11638         * docs/design/part-clocks.txt:
11639         * docs/design/part-element-sink.txt:
11640         * docs/design/part-events.txt:
11641         * docs/design/part-gstpipeline.txt:
11642         Updated docs, mostly DISCONT related.
11643
11644 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
11645
11646         * docs/pwg/building-pads.xml:
11647           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
11648
11649 2005-07-15  Andy Wingo  <wingo@pobox.com>
11650
11651         * tools/gst-typefind.c: Update, add copyright block.
11652
11653         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
11654         Normalize and truncate caps before fixation.
11655
11656         * gst/gstcaps.h:
11657         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
11658         discards all but the first structure from its argument.
11659
11660 2005-07-15  Wim Taymans  <wim@fluendo.com>
11661
11662         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11663         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
11664         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11665         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11666         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
11667         (gst_base_transform_chain), (gst_base_transform_change_state),
11668         (gst_base_transform_set_passthrough),
11669         (gst_base_transform_is_passthrough):
11670         * gst/base/gstbasetransform.h:
11671         Make passthrough work using the bufferpools.
11672         Changed API a bit, subclasses have to write into a buffer
11673         provided by the base class.
11674         More debug info in nego functions.
11675         
11676         * gst/elements/gstidentity.c: (gst_identity_init),
11677         (gst_identity_transform):
11678         Port to new base class.
11679
11680 2005-07-15  Wim Taymans  <wim@fluendo.com>
11681
11682         * gst/gstmessage.c: (gst_message_new_state_changed):
11683         * tools/gst-launch.c: (event_loop), (main):
11684         Totally dump messages in -launch with the -m option.
11685         Fix message name for State messages,
11686
11687 2005-07-14  Wim Taymans  <wim@fluendo.com>
11688
11689         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11690         Post error messages on errors.
11691
11692 2005-07-14  Wim Taymans  <wim@fluendo.com>
11693
11694         * gst/gstcaps.c: (gst_caps_do_simplify):
11695         Remove debug info.
11696
11697         * gst/gsterror.h:
11698         Define error for stream stopped.
11699
11700         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11701         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
11702         Do proper return values.
11703
11704         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11705         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
11706         (gst_pad_get_range):
11707         Better return values.
11708
11709         * gst/gstpad.h:
11710         Reorganise return values, add macro to check for fatal errors.
11711
11712         * gst/gstqueue.c: (gst_queue_chain):
11713         Return proper GstFlowReturn values,
11714
11715 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11716
11717         * docs/gst/gstreamer-sections.txt:
11718         * docs/gst/gstreamer.types:
11719         * docs/gst/tmpl/gst.sgml:
11720         * docs/gst/tmpl/gstbasesink.sgml:
11721         * docs/gst/tmpl/gstbasesrc.sgml:
11722         * docs/gst/tmpl/gstbasetransform.sgml:
11723         * docs/gst/tmpl/gstbin.sgml:
11724         * docs/gst/tmpl/gstbuffer.sgml:
11725         * docs/gst/tmpl/gstcaps.sgml:
11726         * docs/gst/tmpl/gstclock.sgml:
11727         * docs/gst/tmpl/gstcompat.sgml:
11728         * docs/gst/tmpl/gstconfig.sgml:
11729         * docs/gst/tmpl/gstelement.sgml:
11730         * docs/gst/tmpl/gstelementdetails.sgml:
11731         * docs/gst/tmpl/gstelementfactory.sgml:
11732         * docs/gst/tmpl/gstenumtypes.sgml:
11733         * docs/gst/tmpl/gsterror.sgml:
11734         * docs/gst/tmpl/gstevent.sgml:
11735         * docs/gst/tmpl/gstfakesink.sgml:
11736         * docs/gst/tmpl/gstfakesrc.sgml:
11737         * docs/gst/tmpl/gstfilesink.sgml:
11738         * docs/gst/tmpl/gstfilesrc.sgml:
11739         * docs/gst/tmpl/gstfilter.sgml:
11740         * docs/gst/tmpl/gstformat.sgml:
11741         * docs/gst/tmpl/gstghostpad.sgml:
11742         * docs/gst/tmpl/gstimplementsinterface.sgml:
11743         * docs/gst/tmpl/gstindex.sgml:
11744         * docs/gst/tmpl/gstindexfactory.sgml:
11745         * docs/gst/tmpl/gstinfo.sgml:
11746         * docs/gst/tmpl/gstiterator.sgml:
11747         * docs/gst/tmpl/gstmacros.sgml:
11748         * docs/gst/tmpl/gstmemchunk.sgml:
11749         * docs/gst/tmpl/gstminiobject.sgml:
11750         * docs/gst/tmpl/gstobject.sgml:
11751         * docs/gst/tmpl/gstpad.sgml:
11752         * docs/gst/tmpl/gstpadtemplate.sgml:
11753         * docs/gst/tmpl/gstparse.sgml:
11754         * docs/gst/tmpl/gstpipeline.sgml:
11755         * docs/gst/tmpl/gstplugin.sgml:
11756         * docs/gst/tmpl/gstpluginfeature.sgml:
11757         * docs/gst/tmpl/gstquery.sgml:
11758         * docs/gst/tmpl/gstqueue.sgml:
11759         * docs/gst/tmpl/gstregistry.sgml:
11760         * docs/gst/tmpl/gstregistrypool.sgml:
11761         * docs/gst/tmpl/gstscheduler.sgml:
11762         * docs/gst/tmpl/gstschedulerfactory.sgml:
11763         * docs/gst/tmpl/gststructure.sgml:
11764         * docs/gst/tmpl/gstsystemclock.sgml:
11765         * docs/gst/tmpl/gsttaglist.sgml:
11766         * docs/gst/tmpl/gsttagsetter.sgml:
11767         * docs/gst/tmpl/gsttrace.sgml:
11768         * docs/gst/tmpl/gsttrashstack.sgml:
11769         * docs/gst/tmpl/gsttypefind.sgml:
11770         * docs/gst/tmpl/gsttypefindfactory.sgml:
11771         * docs/gst/tmpl/gsttypes.sgml:
11772         * docs/gst/tmpl/gsturihandler.sgml:
11773         * docs/gst/tmpl/gsturitype.sgml:
11774         * docs/gst/tmpl/gstutils.sgml:
11775         * docs/gst/tmpl/gstvalue.sgml:
11776         * docs/gst/tmpl/gstversion.sgml:
11777         * docs/gst/tmpl/gstxml.sgml:
11778         * docs/libs/tmpl/gstcontrol.sgml:
11779         * docs/libs/tmpl/gstdataprotocol.sgml:
11780         * docs/libs/tmpl/gstdparam.sgml:
11781         * docs/libs/tmpl/gstdplinint.sgml:
11782         * docs/libs/tmpl/gstdpman.sgml:
11783         * docs/libs/tmpl/gstdpsmooth.sgml:
11784         * docs/libs/tmpl/gstgetbits.sgml:
11785         * docs/libs/tmpl/gstunitconvert.sgml:
11786         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
11787         (gst_push_src_base_init), (gst_push_src_class_init),
11788         (gst_push_src_init), (gst_push_src_create):
11789         * gst/base/gstpushsrc.h:
11790         * gst/elements/gstelements.c:
11791         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
11792         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
11793         (gst_fake_sink_init), (gst_fake_sink_set_property),
11794         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
11795         (gst_fake_sink_event), (gst_fake_sink_preroll),
11796         (gst_fake_sink_render), (gst_fake_sink_change_state):
11797         * gst/elements/gstfakesink.h:
11798         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11799         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11800         (gst_fake_src_base_init), (gst_fake_src_class_init),
11801         (gst_fake_src_init), (gst_fake_src_event_handler),
11802         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
11803         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
11804         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
11805         (gst_fake_src_create_buffer), (gst_fake_src_create),
11806         (gst_fake_src_start), (gst_fake_src_stop):
11807         * gst/elements/gstfakesrc.h:
11808         * gst/elements/gstfilesink.c: (_do_init),
11809         (gst_file_sink_base_init), (gst_file_sink_class_init),
11810         (gst_file_sink_init), (gst_file_sink_dispose),
11811         (gst_file_sink_set_location), (gst_file_sink_set_property),
11812         (gst_file_sink_get_property), (gst_file_sink_open_file),
11813         (gst_file_sink_close_file), (gst_file_sink_query),
11814         (gst_file_sink_event), (gst_file_sink_render),
11815         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
11816         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
11817         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
11818         * gst/elements/gstfilesink.h:
11819         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
11820         (gst_file_src_class_init), (gst_file_src_init),
11821         (gst_file_src_finalize), (gst_file_src_set_location),
11822         (gst_file_src_set_property), (gst_file_src_get_property),
11823         (gst_file_src_map_region), (gst_file_src_map_small_region),
11824         (gst_file_src_create_mmap), (gst_file_src_create_read),
11825         (gst_file_src_create), (gst_file_src_is_seekable),
11826         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
11827         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
11828         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
11829         (gst_file_src_uri_handler_init):
11830         * gst/elements/gstfilesrc.h:
11831           more autistic cleanliness in functions/names/defines
11832
11833 2005-07-13  Andy Wingo  <wingo@pobox.com>
11834
11835         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11836         source couldn't negotiate.
11837
11838         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11839         connections again.
11840
11841         * gst/gstutils.h:
11842         * gst/gstutils.c (gst_element_link_pads_filtered): New old
11843         function. I am channeling Hades. Put your boots on suckers!!!
11844
11845 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11846
11847         * testsuite/caps/Makefile.am:
11848         * testsuite/caps/value_compare.c:
11849         * testsuite/caps/value_intersect.c:
11850         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11851           move two testsuite apps over to the check dir
11852
11853 2005-07-12  Wim Taymans  <wim@fluendo.com>
11854
11855         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11856         Added more debug info in the negotiate process.
11857
11858         * gst/gstmessage.h:
11859         Prepare for segment playback.
11860
11861         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11862         Better debugging.
11863
11864         * gst/gstutils.c:
11865         Some more docs.
11866
11867         * tools/gst-launch.c: (main):
11868         NULL pipeline on errors.
11869
11870 2005-07-12  Andy Wingo  <wingo@pobox.com>
11871
11872         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11873         not it comes from a malloc region. Make sure our copy gets freed.
11874
11875 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11876
11877         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11878         * check/gst/gstmessage.c: (GST_START_TEST):
11879         * check/gst/gststructure.c: (GST_START_TEST),
11880         (gst_structure_suite), (main):
11881           more testing
11882         * gst/gstelement.c: (gst_element_message_full):
11883           clean up GError and debug string now that they get copied
11884         * gst/gstmessage.c: (gst_message_new_error),
11885         (gst_message_new_warning), (gst_message_parse_error),
11886         (gst_message_parse_warning):
11887           use GST_TYPE_G_ERROR for structure_new, and take copies of
11888           arguments, so that we don't mess up refcounting
11889
11890 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11891
11892         * check/Makefile.am:
11893           add per-test valgrind targets
11894         * check/gst-libs/gdp.c: (GST_START_TEST),
11895         (gst_data_protocol_suite), (main):
11896           clean up
11897
11898 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11899
11900         * check/Makefile.am:
11901           instate more valgrindable tests
11902         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11903         (GST_START_TEST), (fakesrc_suite):
11904         * check/gst/gstpad.c: (GST_START_TEST):
11905         * check/gst/gststructure.c: (GST_START_TEST):
11906           fix test leaks
11907         * docs/gst/tmpl/gstminiobject.sgml:
11908         * gst/gstpad.c: (gst_pad_finalize):
11909           fix the static mutex leak
11910
11911 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11912
11913         * check/Makefile.am:
11914           add two more tests for valgrinding
11915         * check/gst/gstvalue.c: (GST_START_TEST):
11916           test refcount of deserialized buffer, found a leak
11917         * docs/gst/gstreamer-docs.sgml:
11918         * docs/gst/gstreamer-sections.txt:
11919         * docs/gst/gstreamer.types:
11920         * docs/gst/tmpl/gstminiobject.sgml:
11921           add miniobject to docs
11922         * gst/gstminiobject.c:
11923           add some docs
11924         * gst/gstvalue.c: (gst_value_deserialize_buffer),
11925         (gst_string_unwrap):
11926           fix a hard-to-find invalid write for one of the tests
11927           fix a leak for deserialized buffers
11928
11929 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11930
11931         * docs/pwg/advanced-events.xml:
11932         * docs/pwg/advanced-request.xml:
11933         * docs/pwg/advanced-scheduling.xml:
11934         * docs/pwg/appendix-porting.xml:
11935         * docs/pwg/building-boiler.xml:
11936         * docs/pwg/intro-preface.xml:
11937         * docs/pwg/other-ntoone.xml:
11938           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11939           of example code and explanation for pad activation, loop() and
11940           getrange() functions and a bit more. Remove old comments pointing
11941           to loop-functions.
11942         * examples/pwg/Makefile.am:
11943           Add loop/getrange examples.
11944
11945 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11946
11947         * configure.ac:
11948           check for valgrind binary + some fixes
11949         * check/gst.supp:
11950           valgrind suppressions for the tests
11951         * check/Makefile.am:
11952           add a valgrind: target that valgrinds the unit tests
11953         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11954         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11955         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11956         * check/gst/gstghostpad.c:
11957           added some cleanup
11958         * check/gst/gstdata.c:
11959           removed
11960         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11961         (thread_unref), (gst_mini_object_suite), (main):
11962           added
11963         * gst/gst.c: (gst_deinit):
11964         * gst/gst.h:
11965           add a method to clean up.
11966         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11967         (gst_system_clock_obtain):
11968           allow for disposing the system clock.
11969         * tools/gst-launch.c: (main):
11970           deinit
11971
11972 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11973
11974         * docs/gst/tmpl/gstbasesrc.sgml:
11975         * docs/gst/tmpl/gstfakesrc.sgml:
11976         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11977         (gst_base_src_init), (gst_base_src_set_property),
11978         (gst_base_src_get_property), (gst_base_src_get_range),
11979         (gst_base_src_start):
11980         * gst/base/gstbasesrc.h:
11981           add num-buffers property
11982         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11983         (gst_fakesrc_init), (gst_fakesrc_set_property),
11984         (gst_fakesrc_get_property), (gst_fakesrc_create),
11985         (gst_fakesrc_start):
11986           remove num-buffers property
11987
11988 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11989
11990         * docs/gst/gstreamer-sections.txt:
11991         * docs/gst/tmpl/gstbasesink.sgml:
11992         * docs/gst/tmpl/gstbasesrc.sgml:
11993         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11994         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11995         (gst_base_sink_finalize), (gst_base_sink_set_clock),
11996         (gst_base_sink_set_property), (gst_base_sink_get_property),
11997         (gst_base_sink_handle_object), (gst_base_sink_event),
11998         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11999         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
12000         (gst_base_sink_loop), (gst_base_sink_deactivate),
12001         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
12002         (gst_base_sink_change_state):
12003         * gst/base/gstbasesink.h:
12004         * gst/base/gstbasesrc.h:
12005         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
12006         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12007         (gst_filesink_init):
12008           more macro splitting
12009
12010 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * gst/gstelement.c: (gst_element_get_bus):
12013           add debug
12014         * tools/gst-launch.c: (check_intr), (event_loop):
12015           fix bus leaks
12016
12017 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12018
12019         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12020           fix a caps leak
12021
12022 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12023
12024         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12025         (gst_base_src_finalize):
12026           add finalize method and clean up properly
12027         * gst/gstpipeline.c: (gst_pipeline_dispose):
12028           add debug
12029
12030 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12031
12032         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
12033         (gst_bin_suite):
12034           add more things to check
12035         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12036         * gst/gstelement.c:
12037           more debug
12038
12039 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12040
12041         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12042         (GST_START_TEST), (fakesrc_suite):
12043         * check/gst-libs/gdp.c: (GST_START_TEST):
12044         * check/gst/gst.c: (GST_START_TEST):
12045         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12046         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12047         * check/gst/gstbus.c: (GST_START_TEST):
12048         * check/gst/gstcaps.c: (GST_START_TEST):
12049         * check/gst/gstdata.c: (GST_START_TEST):
12050         * check/gst/gstelement.c: (GST_START_TEST):
12051         * check/gst/gstghostpad.c: (GST_START_TEST):
12052         * check/gst/gstiterator.c: (GST_START_TEST):
12053         * check/gst/gstmessage.c: (GST_START_TEST):
12054         * check/gst/gstobject.c: (GST_START_TEST):
12055         * check/gst/gstpad.c: (GST_START_TEST):
12056         * check/gst/gststructure.c: (GST_START_TEST):
12057         * check/gst/gstsystemclock.c: (GST_START_TEST),
12058         (gst_systemclock_suite):
12059         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12060         * check/gst/gstvalue.c: (GST_START_TEST):
12061         * check/pipelines/cleanup.c: (GST_START_TEST):
12062         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12063         * check/states/sinks.c: (GST_START_TEST):
12064         * check/gstcheck.c: (gst_check_init):
12065         * check/gstcheck.h:
12066           add debugging category
12067           use GST_START_TEST now, so we add a debug line
12068
12069 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12070
12071         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
12072           add test for state change message on a bin
12073         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
12074           add another test
12075         * gst/gstbin.c: (gst_bin_init):
12076         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
12077         * gst/gstelement.c: (gst_element_post_message),
12078         (gst_element_set_state):
12079         * gst/gstelementfactory.c: (gst_element_factory_create):
12080         * gst/gstmessage.c: (gst_message_new):
12081         * gst/gstscheduler.c:
12082           various debugging additions and cleanups
12083
12084 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12085
12086         * check/Makefile.am:
12087         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
12088         (main):
12089           adding tests for elements
12090         * gst/gstelement.c: (gst_element_dispose):
12091
12092 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12093
12094         * gst/registries/gstlibxmlregistry.c: (load_feature):
12095           plug more leaks.  A simple gst_init() now is leakfree, yay.
12096
12097 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12098
12099         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
12100         (gst_xml_registry_load):
12101           plug another memleak
12102
12103 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12104
12105         * configure.ac:
12106           use GST_SET_ERROR_CFLAGS
12107         * docs/faq/cvs.xml:
12108           change to ERROR_CFLAGS
12109
12110 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12111
12112         * configure.ac:
12113           make GST_ERROR_CFLAGS overridable and re-enable Werror
12114         * docs/faq/cvs.xml:
12115           add a note about error CFLAGS
12116         * docs/gst/tmpl/gstfakesrc.sgml:
12117         * gst/elements/gstfakesrc.c:
12118           comment out some unused code
12119         * gst/gst.c: (split_and_iterate):
12120         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
12121         (load_feature):
12122           plug some memleaks
12123
12124 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12125
12126         * common/Makefile.am:
12127         * common/gtk-doc.mak:
12128         * docs/gst/Makefile.am:
12129           factor out gtk-doc.mak
12130
12131 2005-07-07  Wim Taymans  <wim@fluendo.com>
12132
12133         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
12134         (gst_thread_scheduler_dispose):
12135         Unlock the STREAM_LOCK completely.
12136
12137 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12138
12139         * check/Makefile.am:
12140         * check/elements/.cvsignore:
12141         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12142         (START_TEST), (fakesrc_suite), (main):
12143         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12144         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12145         (gst_fakesrc_create), (gst_fakesrc_start):
12146         * gst/elements/gstfakesrc.h:
12147           adding a first element test
12148
12149 2005-07-07  Andy Wingo  <wingo@pobox.com>
12150
12151         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
12152         debug message.
12153
12154 2005-07-07  Wim Taymans  <wim@fluendo.com>
12155
12156         * gst/gstquery.c:
12157         * gst/gstquery.h:
12158         Remove old types
12159
12160 2005-07-07  Wim Taymans  <wim@fluendo.com>
12161
12162         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12163         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
12164         Allow subclasses to implement their own negotiation.
12165
12166 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12167
12168         * docs/design/part-gstbin.txt:
12169         * docs/design/part-gstpipeline.txt:
12170           Update design notes to reflect the movement of
12171           responsibility for bus handling from GstPipeline to
12172           GstBin
12173
12174 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12175
12176         * configure.ac:
12177           Remove unnecessary queue2/3/4 examples.
12178
12179 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12180
12181         * examples/Makefile.am:
12182         * examples/helloworld/helloworld.c: (event_loop), (main):
12183         * examples/queue/queue.c: (event_loop), (main):
12184         * examples/queue2/queue2.c: (main):
12185           Update a couple of the examples to work again.
12186
12187         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12188         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
12189          Spelling corrections and extra debug.
12190         
12191         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
12192         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
12193         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
12194         * gst/gstbin.h:
12195         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12196         (gst_pipeline_change_state):
12197         * gst/gstpipeline.h:
12198           Move the bus handler for children to the GstBin, and create a
12199           separate bus for receiving messages from children to the one the
12200           bus sends 'upwards' on.
12201
12202 2005-07-06  Wim Taymans  <wim@fluendo.com>
12203
12204         * gst/base/README:
12205         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12206         (gst_base_sink_handle_object), (gst_base_sink_loop),
12207         (gst_base_sink_change_state):
12208         * gst/base/gstbasesink.h:
12209         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12210         (gst_base_src_init), (gst_base_src_setcaps),
12211         (gst_base_src_getcaps), (gst_base_src_loop),
12212         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
12213         (gst_base_src_start), (gst_base_src_change_state):
12214         * gst/base/gstbasesrc.h:
12215         Make basesrc negotiate.
12216         Handle the case where preroll fails in basesink.
12217         Update README.
12218
12219 2005-07-06  Wim Taymans  <wim@fluendo.com>
12220
12221         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
12222         Implement the fixate function.
12223         Clean up acceptcaps.
12224
12225 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12226
12227         * docs/pwg/building-filterfactory.xml:
12228         * docs/pwg/pwg.xml:
12229           Remove never-written filter-factory chapter; I'll add the various
12230           base classes to part 4 ("other element types") later on.
12231
12232 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12233
12234         * docs/pwg/advanced-negotiation.xml:
12235         * docs/pwg/building-boiler.xml:
12236         * docs/pwg/building-pads.xml:
12237         * docs/pwg/pwg.xml:
12238         * examples/pwg/Makefile.am:
12239           Add a chapter on caps negotiation, simplify the original code
12240           samples a bit w.r.t. caps negotiation, add link to the advanced
12241           section. Add a bunch of examples showing different use cases of
12242           different types of caps negotiation. Upstream renegotiation isn't
12243           fully documented yet since nobody knows how that works.
12244
12245 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12246
12247         * check/gst/gstpad.c:
12248         * check/gstcheck.c:
12249         * gst/gstpad.c: (gst_pad_get_internal_links_default):
12250           if pad has no parent, return NULL as list of internal links
12251
12252 2005-07-05  Andy Wingo  <wingo@pobox.com>
12253
12254         * gst/elements/gstfilesrc.c:
12255         * gst/elements/gstfakesrc.c: 
12256         * gst/base/gstpushsrc.c:
12257         * gst/base/gstbasesrc.h: 
12258         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
12259         
12260 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
12261
12262         * Makefile.am:
12263           better report generation target (lcov needs a patch)
12264
12265 2005-07-05  Andy Wingo  <wingo@pobox.com>
12266
12267         * gst/elements, testsuite: Null if we got it...
12268
12269 2005-07-05  Wim Taymans  <wim@fluendo.com>
12270
12271         * configure.ac:
12272         * libs/gst/dataprotocol/Makefile.am:
12273         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
12274         * libs/gst/dataprotocol/dataprotocol.h:
12275         * pkgconfig/Makefile.am:
12276         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
12277         * pkgconfig/gstreamer-dataprotocol.pc.in:
12278         Ported dataprotol to 0.9. 
12279         Added pkgconfig files.
12280
12281 2005-07-05  Andy Wingo  <wingo@pobox.com>
12282
12283         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
12284         Default to returning TRUE for the case when tranform_caps returns
12285         a fixed caps, like for identity or volume.
12286
12287         * check/gst/gstbus.c (pound_bus_with_messages): 
12288         * check/gst/gstmessage.c (START_TEST): 
12289         * check/pipelines/simple_launch_lines.c (got_handoff): Application
12290         message API change.
12291
12292         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
12293         logic weaks here: always run transform_caps, trying passthrough
12294         operation only if the original caps intersects with the transform.
12295
12296         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
12297         source and sink caps.
12298
12299         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
12300         Intersect the peer caps with the pad template before going into
12301         transform_caps.
12302         (gst_base_transform_transform_caps): More debugging.
12303
12304         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
12305         src argument.
12306
12307 2005-07-04  Edward Hervey  <edward@fluendo.com>
12308
12309         * gst/gstutils.c:
12310         * gst/gstutils.h:
12311         (gst_pad_add_*_probe): now returns the signal id for better wrapping
12312         in bindings.
12313
12314 2005-07-04  Andy Wingo  <wingo@pobox.com>
12315
12316         * check/gst/gstpad.c: Only set explicit caps on pads.
12317
12318 2005-07-01  Andy Wingo  <wingo@pobox.com>
12319
12320         * tests/network-clock.scm: Commentary update.
12321
12322         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
12323         Didn't really make sense, not implementable with basetransform,
12324         etc.
12325         (gst_identity_transform): Unref inbuf via make_writable. Feeble
12326         attempt at implementing the sync property, needs an unlock method.
12327
12328         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
12329         New func, by default returns the same caps (the identity
12330         transformation).
12331         (gst_base_transform_getcaps): Uses transform_caps to return
12332         something sensible.
12333         (gst_base_transform_setcaps): Complicated logic to get caps on
12334         both pads, even if they are different, and to call set_caps once
12335         for every time both pads get their caps set.
12336         (gst_base_transform_handle_buffer): Give the ref to the transform
12337         function. Allows in-place modification of the buffer.
12338
12339         * gst/base/gstbasetransform.h (transform_caps): New class method.
12340         Given caps on one side, what can I do on the other.
12341         (set_caps): Take two caps, one for each side of the element.
12342
12343         * gst/gstpad.h:
12344         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
12345         caps in place. This is safe because we can check the mutability of
12346         the caps, and a good idea because fixate functions are just called
12347         as a matter of last resort. (Not actually implemented.)
12348         (gst_pad_set_caps): If the caps we're setting is actually the same
12349         as the existing pad caps, just update the pointer without calling
12350         setcaps. Assert that caps is either NULL or fixed, as per the
12351         docs.
12352
12353         * gst/gstghostpad.c: Update for fixate changes.
12354
12355 2005-07-02  Andy Wingo  <wingo@pobox.com>
12356
12357         * gst/gstcaps.c:
12358         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
12359         two refcounts makes it immutable, which is enough. Doc more.
12360
12361 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
12362
12363         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
12364           Put the mini_object into GValue as a mini_object,
12365           not a gpointer, since that's how we declared
12366           the signal.
12367
12368 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12369
12370         * examples/pwg/Makefile.am:
12371           Fix buildbot again.
12372
12373 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12374
12375         * docs/pwg/building-testapp.xml:
12376           Add extra check.
12377         * examples/pwg/Makefile.am:
12378           Fix buildbot.
12379
12380 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12381
12382         * configure.ac:
12383         * examples/Makefile.am:
12384         * examples/pwg/Makefile.am:
12385         * examples/pwg/extract.pl:
12386           Enable building the PWG examples.
12387         * docs/pwg/advanced-interfaces.xml:
12388           Add URI interface stub.
12389         * docs/pwg/advanced-types.xml:
12390         * docs/pwg/other-autoplugger.xml:
12391         * docs/pwg/appendix-porting.xml:
12392         * docs/pwg/pwg.xml:
12393           Add porting guide (mostly stubs), remove autoplugging (see ADM).
12394         * docs/pwg/building-boiler.xml:
12395         * docs/pwg/building-chainfn.xml:
12396         * docs/pwg/building-pads.xml:
12397         * docs/pwg/building-props.xml:
12398         * docs/pwg/building-state.xml:
12399         * docs/pwg/building-testapp.xml:
12400           Update the building-*.xml parts for 0.9 changes. All examples
12401           code blocks compile in examples/pwg/*.
12402
12403 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12404
12405         * docs/manual/advanced-autoplugging.xml:
12406         * docs/manual/appendix-checklist.xml:
12407         * docs/manual/appendix-integration.xml:
12408         * docs/manual/highlevel-components.xml:
12409           Fix playbin/decodebin examples, update docs a bit, mention bus
12410           instead of signals in various places, mention kmplayer and
12411           kaffeine since they have a working GStreamer backend in the KDE
12412           section.
12413
12414 2005-06-30  Wim Taymans  <wim@fluendo.com>
12415
12416         * CHANGES-0.9:
12417         * docs/design/draft-ghostpads.txt:
12418         * docs/design/draft-push-pull.txt:
12419         * docs/design/draft-query.txt:
12420         * docs/design/part-TODO.txt:
12421         * docs/design/part-query.txt:
12422         Added CHANGES-0.9 doc, updated status of other docs.
12423         
12424         * gst/gstquery.h:
12425         Remove "hmm" macro
12426
12427 2005-06-30  Wim Taymans  <wim@fluendo.com>
12428
12429         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12430         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12431         (gst_base_sink_change_state):
12432         * gst/base/gstbasesink.h:
12433         Some tweaks, only EOS and a buffer complete a preroll.
12434
12435 2005-06-30  Andy Wingo  <wingo@pobox.com>
12436
12437         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
12438         activate_push down to the internal pad as well.
12439
12440 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
12441
12442         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12443
12444         * gst/gsttaginterface.c:
12445           Some documentation fixes (#307394 and #307397).
12446
12447 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
12448
12449         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12450
12451         * gst/gstvalue.c: (gst_value_intersect_list):
12452           Fix memleak (#309125).
12453
12454 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12455
12456         * docs/manual/advanced-dataaccess.xml:
12457           Fix fakesrc example to compile; doesn't work, bug somewhere...?
12458         * docs/manual/basics-pads.xml:
12459           Add reference for filtered caps to above chapter.
12460
12461 2005-06-30  Wim Taymans  <wim@fluendo.com>
12462
12463         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
12464         (gst_bin_change_state):
12465         Probes are gone.
12466         Lame attempt at making the state change function a bit
12467         more readable.
12468
12469 2005-06-30  Wim Taymans  <wim@fluendo.com>
12470
12471         * docs/design/part-clocks.txt:
12472         * docs/design/part-element-sink.txt:
12473         * docs/design/part-events.txt:
12474         * docs/design/part-preroll.txt:
12475         * docs/design/part-states.txt:
12476         Some more tweeks and additions to the docs.
12477
12478 2005-06-30  Wim Taymans  <wim@fluendo.com>
12479
12480         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12481         (default_have_data), (gst_pad_class_init), (gst_pad_init),
12482         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12483         (gst_pad_check_pull_range), (gst_pad_get_range),
12484         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
12485         * gst/gstpad.h:
12486         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
12487         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12488         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12489         (gst_pad_remove_buffer_probe):
12490         Removed atomic operations, use existing LOCK.
12491         Move exception handling out of main code path.
12492
12493 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12494
12495         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12496         (silly_return_true_function), (gst_pad_class_init),
12497         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12498         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
12499         (gst_pad_send_event):
12500           Fix accumulator, add default value by using _emitv() instead
12501           of _emit() for signal emission.
12502
12503 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12504
12505         * docs/manual/advanced-dataaccess.xml:
12506         * examples/manual/Makefile.am:
12507           Add probe example.
12508         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
12509           Make work (??).
12510
12511 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
12512
12513         * gst/elements/gstfilesink.c: (gst_filesink_render):
12514           Simplify code so that we don't have to handle short
12515           writes and return GST_FLOW_ERROR if an error occured.
12516
12517 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12518
12519         * docs/gst/gstreamer-docs.sgml:
12520           Remove probes more.
12521
12522 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12523
12524         * docs/gst/gstreamer-sections.txt:
12525         * docs/gst/tmpl/gstpad.sgml:
12526         * docs/gst/tmpl/gstprobe.sgml:
12527         * gst/Makefile.am:
12528         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12529         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
12530         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12531         (gst_pad_push_event), (gst_pad_send_event):
12532         * gst/gstpad.h:
12533         * gst/gstutils.c: (gst_pad_add_data_probe),
12534         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12535         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12536         (gst_pad_remove_buffer_probe):
12537         * gst/gstutils.h:
12538           Remove old probes, add new g-signal-based probes and some utility
12539           functions.
12540
12541 2005-06-29  Edward Hervey  <edward@fluendo.com>
12542
12543         * gst/gstelementfactory.c:
12544         * gst/gstutils.h:
12545         * gst/gstutils.c:
12546         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
12547         the definition to the header file.
12548
12549 2005-06-29  Andy Wingo  <wingo@pobox.com>
12550
12551         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
12552         plugins from the source directory.
12553
12554 2005-06-29  Wim Taymans  <wim@fluendo.com>
12555
12556         * docs/gst/tmpl/gstbuffer.sgml:
12557         * docs/gst/tmpl/gstclock.sgml:
12558         Some fixings for blantently wrong text.
12559
12560 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12561
12562         * check/Makefile.am:
12563         * gst/gst.c: (add_path_func), (init_pre):
12564         * gst/gstregistry.c: (gst_registry_add_path):
12565           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
12566           only scan the GST_PLUGIN_PATH locations, and not add
12567           system locations
12568
12569 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12570
12571         * docs/gst/gstreamer-sections.txt:
12572         * docs/gst/tmpl/gstbasesrc.sgml:
12573         * gst/gstelement.c:
12574         * gst/gstelement.h:
12575         * gst/gstevent.c:
12576         * gst/gstutils.c:
12577           doc fixes
12578
12579 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12580
12581         * docs/manual/advanced-autoplugging.xml:
12582           Fix autoplugging example.
12583
12584 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12585
12586         * docs/manual/advanced-autoplugging.xml:
12587         * docs/manual/mime-world.fig:
12588           Try to get autoplugging working, fix type detection. Fix text
12589           in hello-world image.
12590
12591 2005-06-29  Wim Taymans  <wim@fluendo.com>
12592
12593         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12594         (gst_base_sink_change_state):
12595         Small debug line.
12596
12597         * gst/gstclock.h:
12598         map SIGNAL and BROADCAST to the right function.
12599
12600         * gst/gstobject.h:
12601         Remove redundant braces.
12602
12603         * gst/gstpad.c: (gst_pad_set_caps):
12604         Don't call setcaps function when reseting caps to NULL.
12605
12606         * gst/gstsystemclock.c: (gst_system_clock_dispose),
12607         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
12608         (gst_system_clock_id_unschedule):
12609         Use BROADCAST as this is what we do.
12610
12611 2005-06-29  Wim Taymans  <wim@fluendo.com>
12612
12613         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12614         We are actually prerolling before commiting the state
12615         change. 
12616
12617 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12618
12619         * docs/manual/advanced-clocks.xml:
12620         * docs/manual/advanced-interfaces.xml:
12621         * docs/manual/advanced-metadata.xml:
12622         * docs/manual/advanced-position.xml:
12623         * docs/manual/advanced-schedulers.xml:
12624         * docs/manual/advanced-threads.xml:
12625         * docs/manual/appendix-porting.xml:
12626         * docs/manual/basics-bins.xml:
12627         * docs/manual/basics-bus.xml:
12628         * docs/manual/basics-elements.xml:
12629         * docs/manual/basics-helloworld.xml:
12630         * docs/manual/basics-pads.xml:
12631         * docs/manual/highlevel-components.xml:
12632         * docs/manual/manual.xml:
12633         * docs/manual/thread.fig:
12634           Update (until threads/scheduling) Application Development Manual;
12635           remove GstThread, add GstBus, add simple porting checklist, add
12636           documentation for tag writing, clocks, make all examples until this
12637           part compile and run.
12638         * examples/manual/Makefile.am:
12639           Update from changes to Application Development Manual; add bus
12640           example, remove thread example.
12641
12642 2005-06-28  Wim Taymans  <wim@fluendo.com>
12643
12644         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
12645         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
12646         (gst_bus_source_dispatch):
12647         Add debugging messages.
12648         Make internal methods static.
12649         Handle the case where the bus is flushed in the handler.
12650         
12651         * gst/gstelement.c: (gst_element_get_bus):
12652         Fix refcount in _get_bus();
12653
12654         * gst/gstpipeline.c: (gst_pipeline_change_state),
12655         (gst_pipeline_get_clock_func):
12656         Clock refcounting fixes.
12657         Handle the case where preroll timed out more gracefully.
12658         
12659         * gst/gstsystemclock.c: (gst_system_clock_dispose):
12660         Clean up the internal thread in dispose. This is needed
12661         for subclasses that actually get disposed.
12662         
12663         * gst/schedulers/threadscheduler.c:
12664         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12665         (gst_thread_scheduler_dispose):
12666         Free thread pool in dispose.
12667
12668 2005-06-28  Andy Wingo  <wingo@pobox.com>
12669
12670         * tests/network-clock-utils.scm (debug, print-event): New utils.
12671
12672         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
12673         (*packet-loss*): Unified loss probability.
12674         (network-time): Report out-of-band events.
12675
12676         * tests/plot-data: Add support for out-of-band events. Hack it
12677         into this script instead of passing it down the pipe; should fix
12678         this later.
12679
12680 2005-06-28  Wim Taymans  <wim@fluendo.com>
12681
12682         * docs/gst/gstreamer.types:
12683         * docs/gst/tmpl/gstbasesrc.sgml:
12684         * docs/gst/tmpl/gstpad.sgml:
12685         Docs fixes.
12686
12687 2005-06-28  Wim Taymans  <wim@fluendo.com>
12688
12689         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12690         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
12691         (gst_proxy_pad_do_fixatecaps):
12692         Correctly proxy the check_pull_range function.
12693
12694 2005-06-28  Andy Wingo  <wingo@pobox.com>
12695
12696         * tests/network-clock.scm: Removed need for slib.
12697         
12698 2005-06-28  Wim Taymans  <wim@fluendo.com>
12699
12700         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
12701         (gst_basesink_preroll_queue_flush):
12702         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
12703         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
12704         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12705         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12706         (gst_proxy_pad_set_property):
12707         * gst/gstpad.c:
12708         * gst/gstpad.h:
12709         * gst/gstqueue.c: (gst_queue_init):
12710         The deprecated pad loop function is removed now.
12711
12712 2005-06-28  Andy Wingo  <wingo@pobox.com>
12713
12714         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
12715         New parameters, simulate network packet loss.
12716
12717         * tests/network-clock-utils.scm: Initialize the RNG.
12718
12719 2005-06-28  Wim Taymans  <wim@fluendo.com>
12720
12721         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
12722         (gst_basesink_event), (gst_basesink_deactivate):
12723         Flushing the preroll queue always needs to unlock the waiters.
12724
12725 2005-06-28  Edward Hervey  <edward@fluendo.com>
12726
12727         * gst/gstpipeline.c: (gst_pipeline_send_event): 
12728         Wheen a seek was successful on a pipeline, set the stream_time to the
12729         seek offset in order to have a synchronized stream_time.
12730
12731 2005-06-28  Wim Taymans  <wim@fluendo.com>
12732
12733         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12734         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12735         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
12736         (gst_proxy_pad_do_fixatecaps):
12737         Call wrapper function instead of just calling the function
12738         pointers. This takes care of any locking and whatmore.
12739
12740 2005-06-28  Wim Taymans  <wim@fluendo.com>
12741
12742         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
12743         (gst_pad_pull_range):
12744         * gst/gstpad.h:
12745         CONNECTED -> LINKED.
12746
12747 2005-06-28  Andy Wingo  <wingo@pobox.com>
12748
12749         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
12750         source-munging commit!!!
12751
12752         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
12753         (gst_object_sink): Take gpointer arguments, not GstObject --
12754         avoids casts. Like GLib.
12755
12756         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
12757         activate.
12758
12759 2005-06-27  Andy Wingo  <wingo@pobox.com>
12760
12761         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
12762         remaining buffer.
12763
12764         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
12765         returns a sorted copy of the trace list.
12766         (gst_alloc_trace_print_live): New API, only prints traces with
12767         live objects. Sort the list.
12768         (gst_alloc_trace_print_all): Sort the list.
12769         (gst_alloc_trace_print): Align columns.
12770
12771         * gst/elements/gstttypefindelement.c:
12772         * gst/elements/gsttee.c:
12773         * gst/base/gstbasesrc.c:
12774         * gst/base/gstbasesink.c:
12775         * gst/base/gstbasetransform.c:
12776         * gst/gstqueue.c: Adapt for pad activation changes.
12777
12778         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
12779         sched.
12780         (gst_pipeline_dispose): Drop ref on sched.
12781
12782         * gst/gstpad.c (gst_pad_init): Set the default activate func.
12783         (gst_pad_activate_default): Push mode by default.
12784         (pre_activate_switch, post_activate_switch): New stubs, things to
12785         do before and after switching activation modes on pads.
12786         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
12787         the pad's activate function to choose which mode to activate.
12788         Shortcut on deactivation and call the right function directly.
12789         (gst_pad_activate_pull): New API, (de)activates a pad in pull
12790         mode.
12791         (gst_pad_activate_push): New API, same for push mode.
12792         (gst_pad_set_activate_function) 
12793         (gst_pad_set_activatepull_function) 
12794         (gst_pad_set_activatepush_function): Setters for new API.
12795
12796         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
12797         Trace all miniobjects.
12798         (gst_mini_object_make_writable): Unref the arg if we copy, like
12799         gst_caps_make_writable.
12800
12801         * gst/gstmessage.c (_gst_message_initialize): No trace init.
12802
12803         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
12804         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
12805         Adapt for new pad API.
12806
12807         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
12808
12809         * gst/gstelement.h:
12810         * gst/gstelement.c (gst_element_iterate_src_pads) 
12811         (gst_element_iterate_sink_pads): New API functions.
12812         
12813         * gst/gstelement.c (iterator_fold_with_resync): New utility,
12814         should fold into gstiterator.c in some form.
12815         (gst_element_pads_activate): Simplified via use of fold and
12816         delegation of decisions to gstpad->activate.
12817
12818         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
12819         help in debugging.
12820
12821         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
12822         class once in init, like gstmessage. Didn't run into this issue
12823         but it seems correct. Don't initialize a trace, gstminiobject does
12824         that.
12825
12826         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
12827         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
12828         to the bus.
12829         (assert_live_count): New util function, uses alloc traces to check
12830         cleanup.
12831
12832         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12833         To be modified when unlink drops the internal pad.
12834
12835 2005-06-27  Wim Taymans  <wim@fluendo.com>
12836
12837         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12838         (gst_bin_change_state):
12839         Cleanup the get_state() function a little, make sure it
12840         iterates the same set of elements.
12841         Added stub iterate_state_order().
12842
12843 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12844
12845         * docs/gst/gstreamer-docs.sgml:
12846         * docs/gst/gstreamer-sections.txt:
12847         * docs/gst/gstreamer.types:
12848         * docs/gst/tmpl/gstbasesink.sgml:
12849         * docs/gst/tmpl/gstbasesrc.sgml:
12850         * docs/gst/tmpl/gstbasetransform.sgml:
12851         * docs/gst/tmpl/gstelement.sgml:
12852         * docs/gst/tmpl/gstiterator.sgml:
12853         * gst/base/gstbasesrc.c:
12854         * gst/base/gstbasesrc.h:
12855         * gst/base/gstbasetransform.h:
12856         * gst/gstelement.c:
12857         * gst/gstiterator.h:
12858           adding basetransform and iterator docs
12859
12860 2005-06-27  Andy Wingo  <wingo@pobox.com>
12861
12862         * docs/design/part-activation.txt: Notes on how activation should
12863         work -- not quite implemented yet.
12864
12865 2005-06-25  Wim Taymans  <wim@fluendo.com>
12866
12867         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12868         At least get the chain function correct, needs more
12869         fixing.
12870
12871 2005-06-25  Wim Taymans  <wim@fluendo.com>
12872
12873         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12874         (gst_basesink_handle_object), (gst_basesink_event),
12875         (gst_basesink_do_sync), (gst_basesink_handle_event),
12876         (gst_basesink_change_state):
12877         * gst/gsttask.h:
12878         Right, two problems here: ghostpads don't take locks and
12879         glib _rec_mutex_lock_full() with depth==0 still locks.
12880         Catch illegal locking and g_warn them.
12881
12882 2005-06-25  Wim Taymans  <wim@fluendo.com>
12883
12884         * check/states/sinks.c: (START_TEST), (gst_object_suite):
12885         Have to check for completion now...
12886
12887 2005-06-25  Wim Taymans  <wim@fluendo.com>
12888
12889         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12890         (gst_basesink_handle_object), (gst_basesink_event),
12891         (gst_basesink_do_sync), (gst_basesink_handle_event),
12892         (gst_basesink_change_state):
12893         * gst/gstpad.h:
12894         Unlock STREAM_LOCK whatever the recursion was.
12895
12896 2005-06-25  Wim Taymans  <wim@fluendo.com>
12897
12898         * gst/base/gstbasesink.c: (gst_basesink_set_property),
12899         (gst_basesink_preroll_queue_empty),
12900         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12901         (gst_basesink_event), (gst_basesink_do_sync),
12902         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12903         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12904         (gst_basesink_change_state):
12905         Reworked the base sink, handle event and buffer serialisation
12906         correctly and removed possible deadlock.
12907         Handle EOS correctly.
12908
12909 2005-06-25  Wim Taymans  <wim@fluendo.com>
12910
12911         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12912         (gst_pipeline_change_state):
12913         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12914         Allow elements to post EOS in the state change function.
12915         Fix up -launch, make it exit the poll loop when the
12916         pipeline actually changed state.
12917         Fix up warning parsing in -launch.
12918
12919 2005-06-25  Wim Taymans  <wim@fluendo.com>
12920
12921         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12922         (gst_tee_sink_activate):
12923         Core takes STREAM_LOCK for us now.
12924
12925 2005-06-25  Wim Taymans  <wim@fluendo.com>
12926
12927         * gst/gstelement.c: (gst_element_get_state_func),
12928         (gst_element_set_state):
12929         * gst/gstelement.h:
12930         * gst/gstmessage.c: (gst_message_parse_error),
12931         (gst_message_parse_warning):
12932         Keep track of current target state while performing a state
12933         change so that subclasses can do something interesting.
12934         Fix parsing of warning/error messages when GError is NULL.
12935
12936 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12937
12938         * docs/gst/Makefile.am:
12939         * docs/gst/gstreamer-docs.sgml:
12940         * docs/gst/gstreamer-sections.txt:
12941         * docs/gst/gstreamer.types:
12942         * docs/gst/tmpl/gstbasesink.sgml:
12943         * docs/gst/tmpl/gstbasesrc.sgml:
12944         * docs/gst/tmpl/gstbin.sgml:
12945         * docs/gst/tmpl/gstcompat.sgml:
12946         * docs/gst/tmpl/gstfakesink.sgml:
12947         * docs/gst/tmpl/gstfakesrc.sgml:
12948         * docs/gst/tmpl/gstfilesink.sgml:
12949         * docs/gst/tmpl/gstfilesrc.sgml:
12950         * docs/gst/tmpl/gstindex.sgml:
12951         * docs/manual/appendix-quotes.xml:
12952         * gst/base/gstbasesrc.h:
12953         * gst/elements/gstfakesrc.h:
12954         * gst/gstmessage.h:
12955           start pulling in base classes and elements in our docs
12956
12957 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
12958
12959         * docs/gst/Makefile.am:
12960         * docs/libs/Makefile.am:
12961           fixed make distcheck with gtk-doc 1.3
12962
12963 2005-06-23  Wim Taymans  <wim@fluendo.com>
12964
12965         * gst/gstelement.c: (gst_element_get_state_func),
12966         (gst_element_set_state), (gst_element_change_state):
12967         When the state did not change, also report NO_PREROLL
12968         when it matters.
12969
12970 2005-06-23  Wim Taymans  <wim@fluendo.com>
12971
12972         * gst/gstpad.c: (gst_pad_event_default):
12973         * gst/gstqueue.c: (gst_queue_loop):
12974         No unsafe task pausing please.
12975
12976 2005-06-23  Wim Taymans  <wim@fluendo.com>
12977
12978         * gst/schedulers/threadscheduler.c:
12979         (gst_thread_scheduler_task_start),
12980         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12981         Ref the task before pushing it on the threadpool. This
12982         makes sure that we have a ref when the threadfunction is
12983         actually called.
12984
12985 2005-06-23  Andy Wingo  <wingo@pobox.com>
12986
12987         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12988         offset is greater than the file's size.
12989
12990         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12991         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12992         * gst/gstobject.c (gst_object_class_init): Make the class lock
12993         recursive. Wim won't let me drop deep_notify. Decodebin works
12994         again, whoopdy doo.
12995
12996         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12997         internal pad, and hacks accordingly. Doesn't do it on the target
12998         pad because we change its caps. Probably catches all cases of
12999         interest tho.
13000         (gst_ghost_pad_set_property): Connect to notify::caps as
13001         appropritate.
13002
13003         * tests/network-clock.scm (plot-simulation): Pipe data to the
13004         elite python skript.
13005
13006         * tests/network-clock-utils.scm (define-parameter): New macro,
13007         defines a parameter that can be set via the command line.
13008         (set-parameter!, parse-parameter-arguments): Command line args
13009         parser.
13010
13011         * tests/plot-data: Simple matplotlib-based plotter, takes input on
13012         stdin.
13013
13014 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
13015
13016         * gst/elements/gsttypefindelement.c:
13017         (gst_type_find_element_handle_event):
13018           Don't restart typefinding on a discont.
13019         * gst/gstelement.c: (gst_element_set_state):
13020           Debug spelling fix.
13021         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
13022           Allow changing mode of an active pad.
13023           Debug output fixes.
13024         * gst/registries/gstlibxmlregistry.c: (load_feature):
13025           Don't cast a static pad template to a normal pad template.
13026
13027 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13028
13029         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13030         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13031           remove gst_strtoll completely, since it didn't actually do
13032           anything more than what g_ascii_strtoull already does.
13033           check for range errors when deserializing
13034           do a cast for the unsigned cases; but further fixing needs
13035           a decision on what the interpretation of "(int)" and
13036           deserialization should be for values that fall outside the
13037           type's boundaries (ie, refuse, or interpret as casting)
13038
13039 2005-06-23  Wim Taymans  <wim@fluendo.com>
13040
13041         * check/Makefile.am:
13042         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
13043         * docs/design/part-live-source.txt:
13044         * docs/design/part-states.txt:
13045         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13046         (gst_basesrc_set_live), (gst_basesrc_is_live),
13047         (gst_basesrc_get_range), (gst_basesrc_activate),
13048         (gst_basesrc_change_state):
13049         * gst/base/gstbasesrc.h:
13050         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13051         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13052         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
13053         * gst/gstelement.c: (gst_element_get_state_func),
13054         (gst_element_set_state):
13055         * gst/gstelement.h:
13056         * gst/gsttypes.h:
13057         * tools/gst-launch.c: (event_loop), (main):
13058         Added support for live sources and other elements that
13059         cannot do preroll.
13060         Updated design docs, added live-source design doc.
13061         Implemented live source functionality in basesrc
13062         Fix error condition in _bin_get_state()
13063         Implement live source handling in -launch.
13064         Added check for live sources.
13065         Fixed case in GstBin where elements were changed state
13066         multiple times.
13067
13068
13069 2005-06-23  Andy Wingo  <wingo@pobox.com>
13070
13071         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
13072         borken refcounting.
13073
13074         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
13075         gst_caps_replace takes care of this for us.
13076
13077         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
13078         gst_pad_set_caps on the target, not just its setcaps() function.
13079
13080         * tests/network-clock.scm: 
13081         * tests/network-clock-utils.scm: A network clock simulator.
13082         Something of an algorithmic testbed before doing something in C.
13083
13084 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13085
13086         * check/Makefile.am:
13087         * check/gst/capslist.h:
13088           copy over from 0.8, and add two with bitmasks specified with
13089           (int) 0xFF...
13090         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13091           add test to parse everything from capslist.h
13092         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
13093         (main):
13094           add test for structure deserialization
13095         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13096           add tests for deserialization of strings to int types
13097         * gst/gststructure.c: (gst_structure_nth_field_name):
13098         * gst/gststructure.h:
13099           add a way to get the name of a field referenced by index
13100         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13101           instead of checking if the resulting long long lies between
13102           min and max, we check if the long long would fit into
13103           a number of bytes for the final type.
13104           This fixes cases where a string represents 2^32 - 1, which
13105           when cast to int would be the (valid) -1, but is bigger than
13106           G_MAXINT
13107
13108 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13109
13110         * gst/parse/grammar.y:
13111           add a log line for type deserialization
13112
13113 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13114
13115         * check/gst/gstvalue.c: (START_TEST):
13116         * gst/gstvalue.c: (gst_value_deserialize):
13117           return long long, not int, so gint64 deserialization actually
13118           works.  Is there any flag that makes the compiler check this ?
13119           Fixes #308559
13120
13121 2005-06-22  Wim Taymans  <wim@fluendo.com>
13122
13123         * gst/gstbuffer.h:
13124         Added convenience macros for setting buffers in GValue.
13125
13126 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13127
13128         * check/gst/.cvsignore:
13129         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13130           add a test deserializing int64, and comment part out because
13131           it fails, yay !
13132
13133 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13134
13135         * check/Makefile.am:
13136         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
13137         * testsuite/Makefile.am:
13138         * testsuite/caps/Makefile.am:
13139         * testsuite/caps/value_serialize.c:
13140         * testsuite/test_gst_init.c:
13141           move a value_serialize test over
13142
13143 2005-06-20  Wim Taymans  <wim@fluendo.com>
13144
13145         * gst/gstpad.c:
13146         Small doc updates.
13147         
13148         * gst/gstvalue.c: (gst_value_compare_buffer),
13149         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
13150         (gst_value_compare_flags), (gst_value_serialize_flags),
13151         (gst_value_deserialize_flags), (_gst_value_initialize):
13152         Fix serialisation of buffers, they are not boxed types anymore
13153
13154 2005-06-20  Wim Taymans  <wim@fluendo.com>
13155
13156         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13157         Testcase to show error in buffer-on-caps serialisation.
13158
13159 2005-06-20  Andy Wingo  <wingo@pobox.com>
13160
13161         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
13162         will be adding to later.
13163
13164         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
13165         if its socks fill with rocks.
13166         (gst_system_clock_obtain): Set the name on object construction.
13167         Avoid double-checked locking.
13168
13169 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
13170
13171         * gst/gsturi.c: (gst_element_make_from_uri):
13172           Fix potential endless loop.
13173
13174 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13175
13176         * check/Makefile.am:
13177           add gsttag
13178         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
13179         (main):
13180           move over from testsuite dir and clean up
13181         * configure.ac:
13182         * gst/gsttag.c:
13183         * testsuite/Makefile.am:
13184         * testsuite/tags/.cvsignore:
13185         * testsuite/tags/Makefile.am:
13186         * testsuite/tags/merge.c:
13187           remove testsuite/tags
13188
13189 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13190
13191         * docs/gst/gstreamer-sections.txt:
13192         * docs/gst/tmpl/gstenumtypes.sgml:
13193         * win32/gstenumtypes.c:
13194           clean up documentation build a little
13195
13196 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13197
13198         * check/gstcheck.h:
13199           add macros for checking refcounts on objects and caps
13200         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
13201           add some more unit tests
13202         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13203         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
13204           fix leaked refcounts (I hope :)) so unittest works
13205         * gst/gstpad.h:
13206           whitespace removal
13207
13208 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13209
13210         * configure.ac: back to HEAD
13211
13212 === release 0.9.1 ===
13213
13214 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13215
13216         * NEWS:
13217         * RELEASE:
13218           updated
13219
13220 2005-06-17  Andy Wingo  <wingo@pobox.com>
13221
13222         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
13223         assert; it's always possible that the pad gets deactivated in
13224         between the checks in gstpad.c and the implementation. Rely on
13225         finish_preroll() to return a FLUSHING or similar instead of on the
13226         assert.
13227         
13228         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
13229         clock and post an EOS message if we come out of finish_preroll in
13230         the playing state.
13231
13232 2005-06-16  David Schleef  <ds@schleef.org>
13233
13234         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13235         (gst_capsfilter_set_property): Allow NULL as possible value
13236         for filter_caps property, indicating GST_CAPS_ANY.
13237
13238 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13239
13240         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
13241           fix debug output
13242         * gst/schedulers/Makefile.am:
13243           use libgst prefix
13244         * gstreamer.spec.in:
13245           fix spec for it
13246
13247 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13248
13249         * gstreamer.spec.in:
13250           clean up
13251
13252 2005-06-08  Andy Wingo  <wingo@pobox.com>
13253
13254         * gst/gstutils.c: RPAD fixes all around.
13255         (gst_element_link_pads): Refcounting fixes.
13256
13257         * tools/gst-inspect.c:
13258         * tools/gst-xmlinspect.c:
13259         * parse/grammar.y:
13260         * gst/base/gsttypefindhelper.c:
13261         * gst/base/gstbasesink.c:
13262         * gst/gstqueue.c: RPAD fixes.
13263
13264         * gst/gstghostpad.h:
13265         * gst/gstghostpad.c: New ghost pad implementation as full proxy
13266         pads. The tricky thing is they provide both source and sink
13267         interfaces, since they proxy the internal pad for the external
13268         pad, and vice versa. Implement with lower-level ProxyPad objects,
13269         with the interior proxy pad as a child of the exterior ghost pad.
13270         Should write a doc on this.
13271         
13272         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
13273         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
13274         gst_object API.
13275         
13276         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
13277         pads are real pads. No ghost pads in this file. Not documenting
13278         the myriad s/RPAD/PAD/ and REALIZE fixes.
13279         (gst_pad_class_init): Add properties for "direction" and
13280         "template". Both are construct-only, so they can't change during
13281         the life of the pad. Fixes properly deriving from GstPad.
13282         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
13283         derived objects, just set properties when creating the objects via
13284         g_object_new.
13285         (gst_pad_get_parent): Implement as a function, return NULL if the
13286         parent is not an element.
13287         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
13288         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
13289         
13290         * gst/gstobject.c (gst_object_class_init): Make name a construct
13291         property. Don't set it in the object init.
13292
13293         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
13294         with UNKNOWN direction.
13295         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
13296         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
13297         (gst_element_remove_pad): Remove ghost-pad special cases.
13298         (gst_element_pads_activate): Remove rpad cruft.
13299
13300         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
13301         catch the pad's-parent-not-an-element case.
13302
13303         * gst/gst.h: Include gstghostpad.h.
13304
13305         * gst/gst.c (init_post): No more real, ghost pads.
13306
13307         * gst/Makefile.am: Add gstghostpad.[ch].
13308
13309         * check/Makefile.am:
13310         * check/gst/gstbin.c:
13311         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
13312         into a bin creates ghost pads, and that the refcounts are right.
13313         Partly moved from gstbin.c.
13314
13315 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13316
13317         * check/gst-libs/.cvsignore:
13318         * check/gst/.cvsignore:
13319         * check/pipelines/.cvsignore:
13320           ignore more
13321         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
13322         (START_TEST), (cleanup_suite), (main):
13323           add some tests related to cleanup after running pipelines
13324
13325 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13326
13327         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
13328           add a testsuite for GstBuffer
13329
13330 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13331
13332         * gst/gstminiobject.h:
13333           add defines for accessing the refcount
13334
13335 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
13336
13337         * Makefile.am: added support for html unit test coverage reports
13338
13339 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
13340
13341         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13342           Free existing caps if the capsfilter changes. Add a FIXME about
13343           setting those caps on the pads.
13344
13345         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
13346           Before adding a ghost pad to a parent bin, check that there isn't
13347           already one for the element on the bin. Prevents infinite recursion
13348           when using decodebin in parse pipelines. Andy says he'll rewrite the
13349           way this works anyway, so ignore the hack.
13350
13351 2005-06-02  Andy Wingo  <wingo@pobox.com>
13352
13353         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
13354         file size, pass it on to the type find helper.
13355
13356         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
13357         segment_start and segment_end properly according to the seek
13358         method. Segment_end is still a bit flaky because offset can be
13359         negative for CUR and END cases, but it takes -1 as an "unset"
13360         value.
13361
13362 2005-06-02  Wim Taymans  <wim@fluendo.com>
13363
13364         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
13365         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
13366         (gst_basesink_activate):
13367         * gst/base/gstbasesink.h:
13368         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13369         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13370         (gst_pad_query), (gst_pad_start_task):
13371         * gst/gstpad.h:
13372         * gst/gstqueue.c: (gst_queue_bufferalloc),
13373         (gst_queue_handle_sink_event), (gst_queue_chain):
13374         Bufferalloc: return GstFlowReturn to more accuratly report
13375         why allocation failed.
13376
13377 2005-06-02  Wim Taymans  <wim@fluendo.com>
13378
13379         * gst/gstpipeline.c: (gst_pipeline_send_event):
13380         Take snapshot of state without blocking.
13381
13382 2005-06-02  Wim Taymans  <wim@fluendo.com>
13383
13384         * docs/design/part-TODO.txt:
13385         * docs/design/part-caps.txt:
13386         * docs/design/part-clocks.txt:
13387         * docs/design/part-negotiation.txt:
13388         * docs/design/part-preroll.txt:
13389         Small doc updates 
13390
13391 2005-05-30  Wim Taymans  <wim@fluendo.com>
13392
13393         * gst/elements/gstidentity.c: (gst_identity_event),
13394         (gst_identity_transform), (gst_identity_get_property):
13395         Protect last_message property as it is accessed from
13396         multiple threads.
13397
13398 2005-05-30  Wim Taymans  <wim@fluendo.com>
13399
13400         * gst/gstelement.c: (gst_element_init),
13401         (gst_element_pads_activate), (gst_element_change_state):
13402         Slicker pad activation code.
13403
13404 2005-05-30  Wim Taymans  <wim@fluendo.com>
13405
13406         * gst/Makefile.am:
13407         * gst/gstelement.h:
13408         * gst/gstelementfactory.h:
13409         * gst/gsttypes.h:
13410         Move elementfactory methods to separate .h file.
13411
13412 2005-05-30  Wim Taymans  <wim@fluendo.com>
13413
13414         * docs/design/part-overview.txt:
13415         * gst/gstsystemclock.h:
13416         Small typo fixes, doc updates.
13417
13418 2005-05-30  Wim Taymans  <wim@fluendo.com>
13419
13420         * gst/gst.c: (gst_init_get_popt_table), (init_post),
13421         (init_popt_callback):
13422         Remove cpu-opt flag.
13423
13424 2005-05-30  Wim Taymans  <wim@fluendo.com>
13425
13426         * gst/gstbuffer.c: (gst_subbuffer_finalize),
13427         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
13428         * gst/gstbuffer.h:
13429         Avoid typechecking in places where not needed.
13430         Added accessor for malloc_data.
13431
13432 2005-05-30  Wim Taymans  <wim@fluendo.com>
13433
13434         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
13435         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
13436         (gst_pad_configure_sink), (gst_pad_configure_src),
13437         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
13438         (gst_pad_start_task):
13439         Propagate errors from _set_caps() in configure_src/sink
13440         functions instead of returning TRUE.
13441         FLUSH events can travel up and downstream
13442
13443
13444 2005-05-30  Wim Taymans  <wim@fluendo.com>
13445
13446         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13447         (gst_basesink_activate):
13448         Handle EOS in preroll.
13449
13450 2005-05-30  Wim Taymans  <wim@fluendo.com>
13451
13452         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13453         (gst_queue_loop), (gst_queue_handle_src_event):
13454         Remove old pieces of code
13455         Flushing the queue in an upstream event is a very bad idea.
13456
13457 2005-05-26  Andy Wingo  <wingo@pobox.com>
13458
13459         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
13460         gst_value_set_mini_object so as to add a ref on the object (which
13461         will be removed when the value is unset).
13462
13463         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
13464         arg type in ::handoff.
13465
13466         * gst/gstelement.c (gst_element_change_state): Also deactivate
13467         pads in READY->NULL, just in case the element didn't make it to
13468         PAUSED. Wingo tested, Wim approved.
13469
13470 2005-05-26  Wim Taymans  <wim@fluendo.com>
13471
13472         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13473         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13474         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
13475         A flushing pad cannot be used to alloc_buffer from.
13476
13477 2005-05-26  Wim Taymans  <wim@fluendo.com>
13478
13479         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
13480         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
13481         (gst_bus_source_dispatch), (gst_bus_source_finalize),
13482         (gst_bus_create_watch), (gst_bus_add_watch_full):
13483         * gst/gstbus.h:
13484         Implement a real GSource and use g_main_context_wakeup() to
13485         signal new messages instead of the socketpair.
13486
13487 2005-05-25  Wim Taymans  <wim@fluendo.com>
13488
13489         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
13490         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
13491         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13492         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13493         (gst_pad_send_event), (gst_pad_start_task):
13494         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
13495         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13496         (gst_queue_sink_activate), (gst_queue_src_activate),
13497         (gst_queue_change_state):
13498         * gst/gstqueue.h:
13499         Fix state changes for non sinks. We now change sinks, then elements
13500         with unconnected srcpads, then the rest.
13501         More efficient queue unlocking in flush and state changes.
13502         Set the pad activate mode even if it does not have an activate
13503         function.
13504
13505 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13506
13507         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
13508           Don't go in pull mode for non-seekable sources.
13509         * gst/elements/gsttypefindelement.h:
13510         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13511         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
13512         (free_entry), (stop_typefinding),
13513         (gst_type_find_element_handle_event), (find_peek),
13514         (gst_type_find_element_chain), (do_pull_typefind),
13515         (gst_type_find_element_change_state):
13516           Allow typefinding (w/o seeking) in push-mode, simplified version
13517           of what was in 0.8.
13518         * gst/gstutils.c: (gst_buffer_join):
13519         * gst/gstutils.h:
13520           gst_buffer_join() from 0.8.
13521
13522 2005-05-25  Wim Taymans  <wim@fluendo.com>
13523
13524         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13525         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13526         (gst_pad_send_event), (gst_pad_start_task):
13527         Disable attempt at mode switching until it is figured out.
13528
13529 2005-05-25  Wim Taymans  <wim@fluendo.com>
13530
13531         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
13532         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13533         (gst_basesink_finish_preroll), (gst_basesink_chain),
13534         (gst_basesink_loop), (gst_basesink_activate),
13535         (gst_basesink_change_state):
13536         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
13537         (gst_basesrc_get_range), (gst_basesrc_loop),
13538         (gst_basesrc_activate):
13539         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13540         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13541         (gst_real_pad_init), (gst_real_pad_set_property),
13542         (gst_real_pad_get_property), (gst_pad_set_active),
13543         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
13544         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
13545         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
13546         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
13547         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13548         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
13549         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
13550         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13551         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
13552         (gst_pad_stop_task):
13553         * gst/gstpad.h:
13554         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13555         (gst_queue_loop), (gst_queue_src_activate):
13556         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
13557         (gst_task_get_state):
13558         * gst/gsttask.h:
13559         * gst/schedulers/threadscheduler.c:
13560         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
13561         Implement gst_pad_pause/start/stop_task(), take STREAM lock
13562         in task function.
13563         Remove ACTIVE pad flag, use FLUSHING everywhere
13564         Added _pad_chain(), _pad_get_range() to call chain/getrange 
13565         functions.
13566         Add locks around IS_FLUSHING when reading.
13567         Take STREAM lock in chain(), get_range() functions so plugins
13568         don't need to take it anymore.
13569         
13570
13571
13572 2005-05-25  Wim Taymans  <wim@fluendo.com>
13573
13574         * tools/gst-launch.c: (event_loop):
13575         Unref message after using its contents instead of
13576         before.
13577
13578 2005-05-24  Wim Taymans  <wim@fluendo.com>
13579
13580         * docs/design/draft-ghostpads.txt:
13581         * docs/design/draft-push-pull.txt:
13582         * docs/design/draft-query.txt:
13583         * docs/design/part-overview.txt:
13584         Docs updates, added general overview doc.
13585
13586 2005-05-21  David Schleef  <ds@schleef.org>
13587
13588         * docs/gst/tmpl/old/GstBin.sgml:
13589         * docs/gst/tmpl/old/GstBuffer.sgml:
13590         * docs/gst/tmpl/old/GstCaps.sgml:
13591         * docs/gst/tmpl/old/GstClock.sgml:
13592         * docs/gst/tmpl/old/GstCompat.sgml:
13593         * docs/gst/tmpl/old/GstData.sgml:
13594         * docs/gst/tmpl/old/GstElement.sgml:
13595         * docs/gst/tmpl/old/GstEvent.sgml:
13596         * docs/gst/tmpl/old/GstIndex.sgml:
13597         * docs/gst/tmpl/old/GstStructure.sgml:
13598         * docs/gst/tmpl/old/GstTag.sgml:
13599         * docs/gst/tmpl/old/cothreads.sgml:
13600         * docs/gst/tmpl/old/cothreads_compat.sgml:
13601         * docs/gst/tmpl/old/gettext.sgml:
13602         * docs/gst/tmpl/old/gobject2gtk.sgml:
13603         * docs/gst/tmpl/old/grammar.tab.sgml:
13604         * docs/gst/tmpl/old/gst-i18n-app.sgml:
13605         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
13606         * docs/gst/tmpl/old/gst_private.sgml:
13607         * docs/gst/tmpl/old/gstaggregator.sgml:
13608         * docs/gst/tmpl/old/gstarch.sgml:
13609         * docs/gst/tmpl/old/gstatomic_impl.sgml:
13610         * docs/gst/tmpl/old/gstbufferstore.sgml:
13611         * docs/gst/tmpl/old/gstdata_private.sgml:
13612         * docs/gst/tmpl/old/gstdisksink.sgml:
13613         * docs/gst/tmpl/old/gstdisksrc.sgml:
13614         * docs/gst/tmpl/old/gstelementfactory.sgml:
13615         * docs/gst/tmpl/old/gstextratypes.sgml:
13616         * docs/gst/tmpl/old/gstfakesink.sgml:
13617         * docs/gst/tmpl/old/gstfakesrc.sgml:
13618         * docs/gst/tmpl/old/gstfdsink.sgml:
13619         * docs/gst/tmpl/old/gstfdsrc.sgml:
13620         * docs/gst/tmpl/old/gstfilesink.sgml:
13621         * docs/gst/tmpl/old/gstfilesrc.sgml:
13622         * docs/gst/tmpl/old/gsthttpsrc.sgml:
13623         * docs/gst/tmpl/old/gstidentity.sgml:
13624         * docs/gst/tmpl/old/gstindexfactory.sgml:
13625         * docs/gst/tmpl/old/gstmarshal.sgml:
13626         * docs/gst/tmpl/old/gstmd5sink.sgml:
13627         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
13628         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
13629         * docs/gst/tmpl/old/gstpadtemplate.sgml:
13630         * docs/gst/tmpl/old/gstpipefilter.sgml:
13631         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
13632         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
13633         * docs/gst/tmpl/old/gstshaper.sgml:
13634         * docs/gst/tmpl/old/gstspider.sgml:
13635         * docs/gst/tmpl/old/gstspideridentity.sgml:
13636         * docs/gst/tmpl/old/gststatistics.sgml:
13637         * docs/gst/tmpl/old/gsttee.sgml:
13638         * docs/gst/tmpl/old/gsttimecache.sgml:
13639         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
13640         * docs/gst/tmpl/old/gstxmlregistry.sgml:
13641         * docs/gst/tmpl/old/gthread-cothreads.sgml:
13642         * docs/gst/tmpl/old/types.sgml:
13643           I didn't intend to add these or check them in.
13644
13645 2005-05-19  David Schleef  <ds@schleef.org>
13646
13647         * configure.ac: Use -no-common everywhere.  In a sane world, it
13648           would be the default in libtool, because without it, you can't
13649           build DLLs on Windows.
13650         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
13651         * docs/gst/gstreamer-sections.txt:
13652         * docs/gst/tmpl/gstcpu.sgml:
13653         * docs/gst/tmpl/gstdata.sgml:
13654         * docs/gst/tmpl/gstthread.sgml:
13655
13656 2005-05-19  David Schleef  <ds@schleef.org>
13657
13658         * gst/gstminiobject.c: (gst_value_set_mini_object),
13659         (gst_value_take_mini_object), (gst_value_get_mini_object):
13660         * gst/gstminiobject.h: Add GValue set/get functions.
13661
13662 2005-05-19  Wim Taymans  <wim@fluendo.com>
13663
13664         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
13665         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
13666         (gst_subbuffer_init), (gst_buffer_is_span_fast):
13667         * gst/gstbuffer.h:
13668         * gst/gstbus.c: (gst_bus_post):
13669         * gst/gstelement.c: (gst_element_get_random_pad):
13670         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
13671         Make subbufer unref the parent in finalize.
13672         some more debugging info.
13673
13674
13675 2005-05-19  Wim Taymans  <wim@fluendo.com>
13676
13677         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13678         (gst_basesink_init), (gst_basesink_finalize),
13679         (gst_basesink_activate), (gst_basesink_change_state):
13680         Don't free preroll queue too early.
13681
13682 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13683
13684         * gst/Makefile.am:
13685         * gst/ROADMAP:
13686           Hi, I'm outdated. Please shoot me.
13687
13688 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13689
13690         * gst/gstpipeline.c: (gst_pipeline_send_event):
13691           Do not access variables after they have been deleted.
13692
13693 2005-05-19  Wim Taymans  <wim@fluendo.com>
13694
13695         * tools/gst-inspect.c: (print_plugin_features):
13696         A plugin feature does unfortunatly not use the
13697         object name yet...
13698
13699 2005-05-18  Wim Taymans  <wim@fluendo.com>
13700
13701         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
13702         Port _span() functions to new subbuffers.
13703
13704 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13705
13706         * gst/gstbin.c: (gst_bin_add_func):
13707           Fix clock settery in bins when adding kids after the clock has
13708           been selected.
13709
13710 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13711
13712         * gst/elements/gstidentity.c: (gst_identity_class_init):
13713           Workaround until signals support GstMiniObject.
13714
13715 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13716
13717         * gst/gstbuffer.c:
13718         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
13719
13720 2005-05-18  Wim Taymans  <wim@fluendo.com>
13721
13722         * gst/base/Makefile.am:
13723         * gst/base/gstadapter.c: (gst_adapter_base_init),
13724         (gst_adapter_class_init), (gst_adapter_init),
13725         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
13726         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
13727         (gst_adapter_flush), (gst_adapter_available),
13728         (gst_adapter_available_fast):
13729         * gst/base/gstadapter.h:
13730         Ported and added adapter to the base classes.
13731
13732 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13733
13734         * gst/gst.c:
13735         * gst/gstmessage.c:
13736           Make sure the class is reffed/unreffed once before threads can be
13737           used.  Fixes #304551.
13738
13739 2005-05-17  Wim Taymans  <wim@fluendo.com>
13740
13741         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
13742         (gst_basesink_chain_unlocked), (gst_basesink_activate):
13743         * gst/gstminiobject.c: (gst_mini_object_get_type),
13744         (gst_mini_object_free):
13745         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
13746         (gst_pad_push), (gst_pad_push_event):
13747         * gst/gstqueue.c: (gst_queue_change_state):
13748         Don't queue buffers in basesink when we are flushing.
13749         Unref buffer when flushing in basesink.
13750         Flush queue when going to READY
13751         Unref buffer when _push() returns an error.
13752         Don't free MiniObject instance when refcount is incremented
13753         in _finalize() so that we can recover objects.
13754
13755 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13756
13757         * docs/manual/advanced-schedulers.xml:
13758         * docs/manual/appendix-checklist.xml:
13759         * docs/pwg/advanced-clock.xml:
13760         * docs/pwg/advanced-interfaces.xml:
13761         * docs/pwg/advanced-request.xml:
13762         * docs/pwg/advanced-types.xml:
13763         * docs/pwg/intro-preface.xml:
13764         * examples/plugins/example.c: (gst_example_get_type),
13765         (gst_example_class_init), (gst_example_chain),
13766         (gst_example_set_property), (gst_example_get_property),
13767         (gst_example_change_state), (plugin_init):
13768         * examples/plugins/example.h:
13769           small doc fixes
13770
13771 2005-05-17  Wim Taymans  <wim@fluendo.com>
13772
13773         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
13774         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
13775         * gst/gstqueue.c: (gst_queue_change_state):
13776         Clear queue when going to READY.
13777         Remove IN_SETCAPS flag too.
13778
13779 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
13780
13781         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
13782           Remove implicit cast from gboolean to GstElementStateReturn;
13783           make sure we still return failure in paused => ready case if
13784           the parent class fails to change state and our own stop 
13785           vfunc succeeds.
13786
13787 2005-05-17  Wim Taymans  <wim@fluendo.com>
13788
13789         * tools/gst-launch.c: (event_loop):
13790         Message was unreffed too soon.
13791
13792 2005-05-16  Andy Wingo  <wingo@pobox.com>
13793
13794         * gst/gstbin.c (sink_iterator_filter): Err... um...
13795
13796         * check/gst/gstbin.c (test_ghost_pads): New test for the
13797         ghosting-if-elements-not-in-same-bin behavior.
13798
13799 2005-05-16  David Schleef  <ds@schleef.org>
13800
13801         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
13802         accessing refcount directly.
13803
13804 2005-05-15  David Schleef  <ds@schleef.org>
13805
13806         * check/Makefile.am: remove GstData checks
13807         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
13808         * gst/Makefile.am: add miniobject, remove data
13809         * gst/gst.h: add miniobject, remove data
13810         * gst/gstdata.c: remove
13811         * gst/gstdata.h: remove
13812         * gst/gstdata_private.h: remove
13813         * gst/gsttypes.h: remove GstEvent and GstMessage
13814         * gst/gstelement.c: (gst_element_post_message): fix for API changes
13815         * gst/gstmarshal.list: change BOXED -> OBJECT
13816
13817         Implement GstMiniObject.
13818         * gst/gstminiobject.c:
13819         * gst/gstminiobject.h:
13820
13821         Modify to be subclasses of GstMiniObject.
13822         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
13823         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
13824         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
13825         (gst_subbuffer_get_type), (gst_subbuffer_init),
13826         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
13827         (gst_buffer_span):
13828         * gst/gstbuffer.h:
13829         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
13830         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
13831         (_gst_event_copy), (gst_event_new):
13832         * gst/gstevent.h:
13833         * gst/gstmessage.c: (_gst_message_initialize),
13834         (gst_message_get_type), (gst_message_class_init),
13835         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13836         (gst_message_new), (gst_message_new_error),
13837         (gst_message_new_warning), (gst_message_new_tag),
13838         (gst_message_new_state_changed), (gst_message_new_application):
13839         * gst/gstmessage.h:
13840         * gst/gstprobe.c: (gst_probe_perform),
13841         (gst_probe_dispatcher_dispatch):
13842         * gst/gstprobe.h:
13843         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13844         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13845         (_gst_query_copy), (gst_query_new):
13846
13847         Update elements for GstData -> GstMiniObject changes
13848         * gst/gstquery.h:
13849         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13850         (gst_queue_chain), (gst_queue_loop):
13851         * gst/elements/gstbufferstore.c:
13852         (gst_buffer_store_add_buffer_func),
13853         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13854         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13855         (gst_fakesink_render):
13856         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13857         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13858         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13859         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13860         (gst_filesrc_create_read):
13861         * gst/elements/gstidentity.c: (gst_identity_class_init):
13862         * gst/elements/gsttypefindelement.c:
13863         (gst_type_find_element_src_event), (free_entry_buffers),
13864         (gst_type_find_element_handle_event):
13865         * libs/gst/dataprotocol/dataprotocol.c:
13866         (gst_dp_header_from_buffer):
13867         * libs/gst/dataprotocol/dataprotocol.h:
13868         * libs/gst/dataprotocol/dp-private.h:
13869
13870 2005-05-15  David Schleef  <ds@schleef.org>
13871
13872         * gst/elements/gstelements.c: Don't include headers that were
13873         just removed.
13874
13875 2005-05-15  David Schleef  <ds@schleef.org>
13876
13877         * gst/elements/Makefile.am: Remove some elements that don't
13878         need to be in the core (or even exist at all).
13879         * gst/elements/gstaggregator.c:
13880         * gst/elements/gstaggregator.h:
13881         * gst/elements/gstmd5sink.c:
13882         * gst/elements/gstmd5sink.h:
13883         * gst/elements/gstmultifilesrc.c:
13884         * gst/elements/gstmultifilesrc.h:
13885         * gst/elements/gstpipefilter.c:
13886         * gst/elements/gstpipefilter.h:
13887         * gst/elements/gstshaper.c:
13888         * gst/elements/gstshaper.h:
13889         * gst/elements/gststatistics.c:
13890         * gst/elements/gststatistics.h:
13891         * po/POTFILES.in: Remove above files.
13892
13893 2005-05-14  Andy Wingo  <wingo@pobox.com>
13894
13895         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13896         so as to get the refs right.
13897         (sink_iterator_filter): New function, wraps bin_element_is_sink,
13898         unreffing objects that don't pass the filter.
13899
13900         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13901         gst_element_set_bus.
13902         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13903         normal cases, this will destroy the bus.
13904
13905         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13906         object.
13907
13908         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13909         has no sinks.
13910
13911 2005-05-13  Andy Wingo  <wingo@pobox.com>
13912
13913         * gst/gstutils.c (gst_element_link_pads): Instead of calling
13914         gst_pad_link, call pad_link_maybe_ghosting,
13915         (pad_link_maybe_ghosting): Links pads, making sure that the
13916         elements being linked are in the same bin.
13917         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13918         Helpers for pad_link_maybe_ghosting.
13919
13920 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13921
13922         * configure.ac:
13923           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13924
13925 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13926
13927         * docs/design/part-element-source.txt:
13928           Mention GstPushSrc
13929
13930 2005-05-12  Wim Taymans  <wim@fluendo.com>
13931
13932         * gst/base/gstbasesink.c: (gst_basesink_init),
13933         (gst_basesink_activate):
13934         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13935         (gst_basesrc_is_seekable):
13936         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13937         (bin_element_is_sink), (gst_bin_change_state):
13938         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13939         * gst/gstelement.h:
13940         Identify sinks by their flag to avoid overly complicated
13941         checks (fow now).
13942         Do state changes even for elements not reachable from the
13943         sinks.
13944         BaseSink is a sink now :)
13945         Some more debugging info in the basesrc.
13946
13947
13948 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13949
13950         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13951           Implement _query on a bin, similar to _send_event.
13952
13953 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13954
13955         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13956           Discont event offset format should be GST_FORMAT_BYTES,
13957           not GST_FORMAT_TIME.
13958
13959 2005-05-12  Wim Taymans  <wim@fluendo.com>
13960
13961         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13962         Same fix as Ronald's but without the signal. 
13963
13964 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13965
13966         * gst/gstutils.c: (gst_element_query_position):
13967           No, an element is not a pad.
13968
13969 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13970
13971         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13972         (gst_bin_get_state):
13973           If a child is removed from a bin while we remove the child from
13974           the bin and while we're retrieving its state, signal this to the
13975           get_state function so we abort the wait (instead of waiting for
13976           a timeout) and can immediately re-iterate over all other elements.
13977
13978 2005-05-12  Wim Taymans  <wim@fluendo.com>
13979
13980         * gst/base/Makefile.am:
13981         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13982         (gst_basesrc_start):
13983         * gst/base/gstbasesrc.h:
13984         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13985         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13986         (gst_pushsrc_init), (gst_pushsrc_create):
13987         * gst/base/gstpushsrc.h:
13988         Added is_seekable to BaseSrc
13989         Added simple PushSrc.
13990
13991 2005-05-11  Wim Taymans  <wim@fluendo.com>
13992
13993         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13994         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13995         (gst_element_link_pads), (gst_element_query_position),
13996         (gst_element_query_convert), (intersect_caps_func),
13997         (gst_pad_query_position), (gst_pad_query_convert):
13998         Fix refcounting in utils function.
13999         No point in trying to activate a pad when it's added, it could
14000         be added from the state change function and then we deadlock, the
14001         element has to decide what to do.
14002
14003 2005-05-10  Andy Wingo  <wingo@pobox.com>
14004
14005         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
14006         *all* the arguments.
14007
14008         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
14009         stream lock if it's a FLUSH_DONE; normal flushes don't get the
14010         lock (according to the docs -- if this is wrong change the docs).
14011
14012         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
14013         flush messages in the NULL state.
14014
14015         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
14016         message immediately and return.
14017         (gst_bus_set_flushing): New function. If a bus is flushing, it
14018         flushes out any queued messages and immediately unrefs new
14019         messages. This is so when an element goes to NULL, all of the
14020         unhandled messages coming from it can be freed, and their
14021         references to the element dropped. In other words: message source
14022         ref considered harmful :P
14023
14024         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
14025         we're finished with it.
14026
14027         * gst/gstmessage.c (gst_message_new_state_changed): 
14028
14029 2005-05-10  Wim Taymans  <wim@fluendo.com>
14030
14031         * gst/gstvalue.c: (gst_value_compare_flags),
14032         (gst_value_serialize_flags), (gst_value_deserialize_flags),
14033         (_gst_value_initialize):
14034         Added flags serialize/deserialize/compare code.
14035
14036 2005-05-09  Andy Wingo  <wingo@pobox.com>
14037
14038         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
14039         Intersect the peer's caps with our caps.
14040
14041 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14042
14043         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14044         * gst/elements/gsttypefindelement.c: (find_peek):
14045           Handle negative offsets better. Fixes decodebin.
14046
14047 2005-05-09  Wim Taymans  <wim@fluendo.com>
14048
14049         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
14050         (gst_base_transform_event):
14051         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
14052         Implement accept_caps.
14053         Fix silly lock/unlock mismatch in base class.
14054
14055 2005-05-09  Wim Taymans  <wim@fluendo.com>
14056
14057         * docs/design/draft-push-pull.txt:
14058         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
14059         * gst/elements/gstfilesink.c: (gst_filesink_init),
14060         (gst_filesink_query):
14061         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14062         (gst_type_find_handle_src_query), (find_element_get_length):
14063         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
14064         * gst/gstelement.h:
14065         * gst/gstmessage.c:
14066         * gst/gstmessage.h:
14067         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
14068         (gst_real_pad_get_caps_unlocked),
14069         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
14070         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14071         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
14072         (gst_real_pad_dispose), (gst_real_pad_finalize),
14073         (gst_pad_load_and_link), (gst_pad_save_thyself),
14074         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
14075         (gst_pad_check_pull_range), (gst_pad_pull_range),
14076         (gst_pad_template_get_type), (gst_pad_template_class_init),
14077         (gst_pad_template_init), (gst_pad_template_dispose),
14078         (name_is_valid), (gst_static_pad_template_get),
14079         (gst_pad_template_new), (gst_static_pad_template_get_caps),
14080         (gst_pad_template_get_caps), (gst_pad_set_element_private),
14081         (gst_pad_get_element_private), (gst_pad_start_task),
14082         (gst_pad_pause_task), (gst_pad_stop_task),
14083         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
14084         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
14085         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
14086         (gst_ghost_pad_new):
14087         * gst/gstpad.h:
14088         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
14089         (gst_query_new_position), (gst_query_set_position),
14090         (gst_query_parse_position), (gst_query_new_convert),
14091         (gst_query_set_convert), (gst_query_parse_convert):
14092         * gst/gstquery.h:
14093         * gst/gstqueryutils.c:
14094         * gst/gstqueryutils.h:
14095         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14096         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14097         (gst_queue_handle_src_query):
14098         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14099         (gst_element_query_position), (gst_element_query_convert),
14100         (intersect_caps_func), (gst_pad_query_position),
14101         (gst_pad_query_convert):
14102         * gst/gstutils.h:
14103         * tools/gst-inspect.c: (print_pad_info):
14104         * tools/gst-xmlinspect.c: (print_element_info):
14105         Remove old query functions. Ported old code.
14106         Added position/convert helper functions to gstutils.
14107         Reordered gstpad.c code, grouping relevant things.
14108         Remove gst_message_new(), always need to speficy a specific
14109         message.
14110
14111
14112 2005-05-09  Andy Wingo  <wingo@pobox.com>
14113
14114         * gst/gstiterator.h: Add some includes.
14115
14116         * gst/gstqueryutils.h: Include more headers.
14117
14118         * gst/gstpad.h:
14119         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
14120         some uses of gst_pad_query.
14121
14122         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
14123         NULL out parameters.
14124         (gst_query_new_position): New proc, allocates a new position
14125         query.
14126
14127         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
14128         gstqueryutils.c to the build.
14129
14130         * gst/gststructure.c (gst_structure_set_valist): Implement with
14131         the generic G_VALUE_COLLECT.
14132         
14133 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
14134
14135         * gst/Makefile.am: (gst_headers):
14136         Added gstqueryutils.h to the list of headers to install, that was
14137         a 'nachty' move wingo :)
14138
14139 2005-05-06  Andy Wingo  <wingo@pobox.com>
14140
14141         * gst/gstquery.h
14142         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
14143         GstData, init a memchunk.
14144         (standard_definitions): Add a few query types, deprecate a few.
14145         (gst_query_get_type): New proc.
14146         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
14147         implementation.
14148         (gst_query_new_application, gst_query_get_structure): New public
14149         procs.
14150
14151         * docs/design/draft-query.txt: Removed LINKS from the query types,
14152         because all the rest can be dispatched to other pads -- seemed
14153         ugly to have a query that couldn't be dispatched. internal_links
14154         is fine as a pad method.
14155
14156         * gst/gstpad.h: Add query2 as a pad method, add the new functions
14157         in gstpad.c, but maintain binary compatibility for the moment.
14158         Will fix before 0.9 is out.
14159
14160         * gst/gstqueryutils.c: 
14161         * gst/gstqueryutils.h: New files, implement 3 methods for each
14162         query type: parse_query, parse_response, and set. Probably need an
14163         allocator as well.
14164
14165         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
14166
14167         * gst/elements/gstfilesink.c (gst_filesink_query2):
14168         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
14169         query_types, and formats methods.
14170
14171         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
14172         (gst_pad_set_query2_function): New functions.
14173         (gst_real_pad_init): Set query2_default as the default query2
14174         function. Basically just dispatches to internally linked pads.
14175
14176         Needs review!
14177         
14178         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
14179         without using the atomic operations. Only one thread can possibly
14180         be accessing the data at this point. Changed so as to avoid
14181         gst_atomic operations.
14182
14183 2005-05-06  Wim Taymans  <wim@fluendo.com>
14184
14185         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
14186         Also set caps if we use the fallback buffer alloc.
14187
14188 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
14189
14190         * docs/gst/Makefile.am:
14191         * docs/gst/gstreamer-docs.sgml:
14192         * docs/gst/gstreamer-sections.txt:
14193         * docs/gst/tmpl/gstatomic.sgml:
14194         * docs/gst/tmpl/gstmemchunk.sgml:
14195         * testsuite/elements/struct_i386.h:
14196         * win32/GStreamer.vcproj:
14197         * win32/Makefile:
14198           Purge GstAtomic stuff from docs and win32 makefiles as well
14199
14200 2005-05-06  Wim Taymans  <wim@fluendo.com>
14201
14202         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
14203         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
14204         * gst/gstpad.c: (gst_pad_peer_get_caps):
14205         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14206         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14207         (gst_queue_src_activate), (gst_queue_change_state):
14208         * gst/gstqueue.h:
14209         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14210         (intersect_caps_func):
14211         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
14212         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
14213         Some fixes for the peer_get_caps() change.
14214
14215 2005-05-06  Wim Taymans  <wim@fluendo.com>
14216
14217         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14218         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
14219         (gst_basesink_activate):
14220         Actually do something with error codes returned from the push
14221         functions.
14222
14223 2005-05-06  Wim Taymans  <wim@fluendo.com>
14224
14225         * docs/design/part-element-sink.txt:
14226         * docs/design/part-element-source.txt:
14227         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14228         (gst_basesink_event), (gst_basesink_activate):
14229         * gst/base/gstbasesink.h:
14230         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
14231         (gst_basesrc_activate):
14232         * gst/base/gstbasesrc.h:
14233         * gst/gstelement.c: (gst_element_pads_activate):
14234         Some more documentation.
14235         Fixed scheduling decision in _pads_activate().
14236
14237 2005-05-05  Andy Wingo  <wingo@pobox.com>
14238
14239         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
14240         the test suite.
14241
14242 2005-05-05  Wim Taymans  <wim@fluendo.com>
14243
14244         * gst/base/Makefile.am:
14245         * gst/base/gstbasesink.h:
14246         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14247         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
14248         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
14249         (gst_collectpads_class_init), (gst_collectpads_init),
14250         (gst_collectpads_finalize), (gst_collectpads_new),
14251         (gst_collectpads_set_function), (gst_collectpads_add_pad),
14252         (find_pad), (gst_collectpads_remove_pad),
14253         (gst_collectpads_is_active), (gst_collectpads_collect),
14254         (gst_collectpads_collect_range), (gst_collectpads_start),
14255         (gst_collectpads_stop), (gst_collectpads_peek),
14256         (gst_collectpads_pop), (gst_collectpads_available),
14257         (gst_collectpads_read), (gst_collectpads_flush),
14258         (gst_collectpads_chain):
14259         * gst/base/gstcollectpads.h:
14260         * gst/elements/Makefile.am:
14261         * gst/elements/gstelements.c:
14262         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14263         (gst_fakesink_get_times), (gst_fakesink_event),
14264         (gst_fakesink_preroll), (gst_fakesink_render):
14265         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14266         (gst_filesink_init), (gst_filesink_set_location),
14267         (gst_filesink_open_file), (gst_filesink_close_file),
14268         (gst_filesink_pad_query), (gst_filesink_event),
14269         (gst_filesink_render), (gst_filesink_change_state):
14270         * gst/elements/gstfilesink.h:
14271         Added object to help in making collect pad based elements.
14272         Ported filesink.
14273         Make event function in sink baseclass return gboolean.
14274
14275 2005-05-05  Wim Taymans  <wim@fluendo.com>
14276
14277         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
14278         (gst_bin_get_by_name):
14279         * gst/gstbuffer.h:
14280         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
14281         (gst_clock_finalize):
14282         * gst/gstdata.c: (gst_data_replace):
14283         * gst/gstdata.h:
14284         * gst/gstelement.c: (gst_element_request_pad),
14285         (gst_element_pads_activate):
14286         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14287         (gst_object_unref):
14288         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14289         (gst_pad_set_checkgetrange_function),
14290         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
14291         (gst_pad_check_pull_range), (gst_pad_pull_range),
14292         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14293         (gst_pad_pause_task), (gst_pad_stop_task):
14294         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14295         (gst_element_request_pad), (gst_pad_proxy_getcaps):
14296         Fix name lookup in GstBin.
14297         Added _data_replace() function and _buffer_replace()
14298         Use finalize method to clean up clock.
14299         Fix refcounting on request pads.
14300         Fix pad schedule mode error.
14301         Some more object refcounting debug info,
14302
14303
14304 2005-05-04  Andy Wingo <wingo@pobox.com>
14305
14306         * check/Makefile.am:
14307         * docs/gst/tmpl/gstatomic.sgml:
14308         * docs/gst/tmpl/gstplugin.sgml:
14309         * gst/base/gstbasesink.c: (gst_basesink_activate):
14310         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
14311         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
14312         (gst_basesrc_query), (gst_basesrc_set_property),
14313         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
14314         (gst_basesrc_activate):
14315         * gst/base/gstbasesrc.h:
14316         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
14317         (gst_base_transform_src_activate):
14318         * gst/elements/gstelements.c:
14319         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14320         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14321         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14322         * gst/elements/gsttypefindelement.c: (find_element_get_length),
14323         (gst_type_find_element_checkgetrange),
14324         (gst_type_find_element_activate):
14325         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
14326         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
14327         (gst_caps_load_thyself):
14328         * gst/gstelement.c: (gst_element_pads_activate),
14329         (gst_element_save_thyself), (gst_element_restore_thyself):
14330         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
14331         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
14332         * gst/gstpad.h:
14333         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
14334         (gst_xml_parse_file), (gst_xml_parse_memory),
14335         (gst_xml_get_element), (gst_xml_make_element):
14336         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14337         (_file_index_id_save_xml), (gst_file_index_commit):
14338         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
14339         (read_enum), (load_pad_template), (load_feature), (load_plugin),
14340         (load_paths):
14341         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
14342         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
14343         * tools/gst-complete.c: (main):
14344         * tools/gst-compprep.c: (main):
14345         * tools/gst-inspect.c: (print_element_properties_info):
14346         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
14347         * tools/gst-xmlinspect.c: (print_element_properties):
14348         GCC 4 fixen.
14349         
14350 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14351
14352         * gst/gstplugin.c: (gst_plugin_check_module),
14353         (gst_plugin_check_file), (gst_plugin_load_file):
14354             apply patch from #172526 to make register work on MacOSX
14355
14356 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14357
14358         * docs/gst/tmpl/gstconfig.sgml:
14359         * gst/gstconfig.h.in:
14360           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
14361         * testsuite/debug/printf_extension.c: (main):
14362           Do not use GST_PTR_FORMAT on pointers to types with
14363           sizeof < sizeof(gpointer).  Fixes test on 64-bit
14364         * testsuite/elements/property.h:
14365           use correct printf format
14366
14367 2005-05-02  Wim Taymans  <wim@fluendo.com>
14368
14369         * docs/design/draft-push-pull.txt:
14370         * docs/design/draft-query.txt:
14371         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
14372         (gst_basesrc_start):
14373         Added draft for new query API.
14374         Added draft for better selecting scheduling methods.
14375         Make basesrc ignore length if the subclass does not support
14376         it.
14377
14378 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14379
14380         * gst/Makefile.am:
14381           possible fixes for automake-1.5 - _LIBADD is reserved
14382
14383 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14384
14385         * docs/faq/Makefile.am:
14386         * docs/manual/Makefile.am:
14387         * docs/manuals.mak:
14388         * docs/pwg/Makefile.am:
14389         * gst/Makefile.am:
14390           possible fixes for automake-1.5
14391
14392 2005-04-28  Wim Taymans  <wim@fluendo.com>
14393
14394         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14395         (gst_basesink_pad_getcaps), (gst_basesink_init),
14396         (gst_basesink_do_sync):
14397         * gst/gstclock.c: (gst_clock_entry_new):
14398         * gst/gstevent.c: (gst_event_discont_get_value):
14399         * gst/gstpipeline.c: (pipeline_bus_handler),
14400         (gst_pipeline_change_state):
14401         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14402         Better debugging of clocking info.
14403         Allow NULL values when getting discont values.
14404
14405 2005-04-27  Wim Taymans  <wim@fluendo.com>
14406
14407         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14408         * check/gst/gstpad.c: (gst_pad_suite):
14409         Increase timeout for checks.
14410
14411 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14412
14413         * check/Makefile.am:
14414           fix the broken rule for cleanup.  Apparently this rule is
14415           only needed on FC2, so maybe this warrants further autotool
14416           inspection.
14417
14418 2005-04-26  Wim Taymans  <wim@fluendo.com>
14419
14420         * gst/gsttrashstack.h:
14421         Ooohh. a nasty one! After having a failed pop() from the stack,
14422         it's possible that the stack is empty. In that case, don't
14423         follow the NULL pointer.
14424
14425 2005-04-25  Wim Taymans  <wim@fluendo.com>
14426
14427         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14428         (gst_pad_set_checkgetrange_function),
14429         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
14430         (gst_pad_check_pull_range), (gst_pad_pull_range),
14431         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14432         (gst_pad_pause_task), (gst_pad_stop_task):
14433         * gst/gstplugin.c: (gst_plugin_load):
14434         * gst/gstplugin.h:
14435         Remove gst_library_load as it does more harm than good with
14436         the new g_module flags.
14437         Revert bogus caps template check in pad linking, pad caps
14438         are important when linking not the template, which is more
14439         general than the current caps.
14440
14441 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14442
14443         * gst/autoplug/.cvsignore:
14444         * gst/autoplug/Makefile.am:
14445         * gst/autoplug/gstsearchfuncs.c:
14446         * gst/autoplug/gstsearchfuncs.h:
14447         * gst/autoplug/gstspider.c:
14448         * gst/autoplug/gstspider.h:
14449         * gst/autoplug/gstspideridentity.c:
14450         * gst/autoplug/gstspideridentity.h:
14451         * gst/autoplug/spidertest.c:
14452           Die, spider, die.
14453
14454 2005-04-25  Wim Taymans  <wim@fluendo.com>
14455
14456         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14457         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14458         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
14459         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
14460         * gst/gstpad.h:
14461         Added stubs for unimplemented functions. 
14462
14463 2005-04-24  David Schleef  <ds@schleef.org>
14464
14465         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
14466         please fix.
14467
14468 2005-04-24  David Schleef  <ds@schleef.org>
14469
14470         Convert everything from GstAtomicInt to g_atomic_int_*, and
14471         remove gstatomic.
14472         * gst/Makefile.am:
14473         * gst/gstatomic.c:
14474         * gst/gstatomic.h:
14475         * gst/gstatomic_impl.h:
14476         * gst/gstbuffer.c:
14477         * gst/gstcaps.c:
14478         * gst/gstcaps.h:
14479         * gst/gstclock.c:
14480         * gst/gstclock.h:
14481         * gst/gstdata.c:
14482         * gst/gstdata.h:
14483         * gst/gstdata_private.h:
14484         * gst/gstevent.c:
14485         * gst/gstinfo.c:
14486         * gst/gstinfo.h:
14487         * gst/gstmessage.c:
14488         * gst/gstobject.c:
14489         * gst/gstobject.h:
14490         * gst/gststructure.c:
14491         * gst/gststructure.h:
14492         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
14493         * gst/gstutils.h:
14494
14495 2005-04-24  David Schleef  <ds@schleef.org>
14496
14497         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
14498         make the regressions tests work.  Remove some code that is no
14499         longer true.
14500         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
14501         Disable warning for pads without templates.
14502
14503 2005-04-24  David Schleef  <ds@schleef.org>
14504
14505         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
14506         functions that handle filtered links.
14507         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
14508         removed functions.
14509         * gst/gstutils.c: Fix/remove utility functions that handle
14510         filtered caps.
14511         * gst/gstutils.h:
14512         * gst/gstvalue.c: Add serialization/deserialization of caps
14513         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
14514         requires fixing so that the filter caps notation creates
14515         a capsfilter element and sets the filter_caps property.  I
14516         think everyone probably wants to keep the shorthand notation.
14517         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
14518         * docs/gst/tmpl/gstpad.sgml:
14519
14520         * gst/elements/gstelements.c: Register capsfilter element.
14521         * gst/Makefile.am: fix spacing
14522         * docs/random/ds/0.9-suggested-changes: random
14523
14524 2005-04-23  David Schleef  <ds@schleef.org>
14525
14526         * gst/elements/Makefile.am:
14527         * gst/elements/gstcapsfilter.c: New element that acts like an
14528         identity, but filters caps.  Will eventually replace filtered
14529         caps in pad linking.
14530         * gst/gstutils.c: (gst_element_create_all_pads): New function
14531         to create all the ALWAYS pads that are registered with an
14532         element class.  This functionality should eventually be
14533         merged in with GstElement initialization.
14534         * gst/gstutils.h:
14535         * testsuite/trigger/README: part of trigger test code that should
14536         have been checked in a long time ago.
14537
14538 2005-04-23  David Schleef  <ds@schleef.org>
14539
14540         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
14541         needed with new versions of libtool (nobody will confirm this),
14542         and hard to carry around.
14543         * gst/autoplug/Makefile.am:
14544         * gst/base/Makefile.am:
14545         * gst/elements/Makefile.am:
14546         * gst/indexers/Makefile.am:
14547         * gst/schedulers/Makefile.am:
14548         * libs/gst/bytestream/Makefile.am:
14549         * libs/gst/control/Makefile.am:
14550         * libs/gst/dataprotocol/Makefile.am:
14551         * libs/gst/getbits/Makefile.am:
14552
14553 2005-04-21  Wim Taymans  <wim@fluendo.com>
14554
14555         * docs/design/draft-push-pull.txt:
14556         * docs/design/part-MT-refcounting.txt:
14557         * docs/design/part-TODO.txt:
14558         * docs/design/part-caps.txt:
14559         * docs/design/part-events.txt:
14560         * docs/design/part-gstbus.txt:
14561         * docs/design/part-gstpipeline.txt:
14562         * docs/design/part-messages.txt:
14563         * docs/design/part-push-pull.txt:
14564         * docs/design/part-query.txt:
14565         Some more docs.
14566
14567 2005-04-21  Wim Taymans  <wim@fluendo.com>
14568
14569         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
14570         (gst_message_new), (gst_message_new_error),
14571         (gst_message_new_warning), (gst_message_new_tag),
14572         (gst_message_new_state_changed), (gst_message_new_application),
14573         (gst_message_get_structure):
14574         * gst/gstmessage.h:
14575         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14576         (gst_structure_copy_conditional):
14577         Use parent refcount in GstMessage to ensure GstStructure
14578         consistency.
14579         Cleaned up headers a bit.
14580         
14581
14582 2005-04-20  Wim Taymans  <wim@fluendo.com>
14583
14584         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14585         (gst_basesink_pad_getcaps), (gst_basesink_init),
14586         (gst_basesink_chain_unlocked):
14587         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
14588         (gst_type_find_helper):
14589         * gst/elements/gsttypefindelement.c:
14590         (gst_type_find_element_have_type), (gst_type_find_element_init),
14591         (stop_typefinding), (gst_type_find_element_handle_event),
14592         (find_suggest), (gst_type_find_element_chain),
14593         (gst_type_find_element_checkgetrange),
14594         (gst_type_find_element_getrange), (do_typefind),
14595         (gst_type_find_element_activate):
14596         * gst/gstbuffer.c: (_gst_buffer_sub_free),
14597         (gst_buffer_default_free), (gst_buffer_default_copy),
14598         (gst_buffer_set_caps):
14599         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
14600         (gst_caps_replace):
14601         * gst/gstmessage.c: (gst_message_new),
14602         (gst_message_new_state_changed):
14603         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14604         (gst_pad_set_checkgetrange_function),
14605         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
14606         (gst_pad_set_caps), (gst_pad_check_pull_range),
14607         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
14608         * gst/gstpad.h:
14609         * gst/gsttypefind.c: (gst_type_find_register):
14610         Make gst_caps_replace() work like other _replace() functions.
14611         Use _caps_replace() where possible.
14612         Make sure _message_new() initialises its field.
14613         Add gst_static_pad_template_get_caps()
14614
14615
14616 2005-04-18  Andy Wingo  <wingo@pobox.com>
14617
14618         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
14619         on the peer, not the pad. I think that was a typo. Pass an extra
14620         arg to see if random access is possible. Activate the pads as
14621         PULL_RANGE if possible.
14622
14623         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
14624
14625         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
14626         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
14627         to PROP_....
14628
14629 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14630
14631         * docs/faq/using.xml:
14632           Add note on gstreamer-properties (#154996).
14633
14634 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14635
14636         * docs/random/bbb/optional-properties:
14637           Some analysis on optional properties.
14638
14639 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14640
14641         * docs/gst/tmpl/gstelementfactory.sgml:
14642         * gst/gstelement.h:
14643         * gst/gstelementfactory.c: (gst_element_factory_init),
14644         (gst_element_factory_cleanup), (gst_element_register),
14645         (__gst_element_factory_add_static_pad_template),
14646         (gst_element_factory_get_static_pad_templates),
14647         (gst_element_factory_can_src_caps),
14648         (gst_element_factory_can_sink_caps):
14649         * gst/registries/Makefile.am:
14650         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
14651         (gst_xml_registry_class_init), (gst_xml_registry_init),
14652         (gst_xml_registry_new), (gst_xml_registry_set_property),
14653         (gst_xml_registry_get_property), (get_time), (make_dir),
14654         (gst_xml_registry_get_perms_func),
14655         (plugin_times_older_than_recurse), (plugin_times_older_than),
14656         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
14657         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
14658         (add_to_char_array), (read_string), (read_uint), (read_enum),
14659         (load_pad_template), (load_feature), (load_plugin), (load_paths),
14660         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
14661         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
14662         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
14663         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
14664         (gst_xml_registry_rebuild):
14665         * gst/registries/gstlibxmlregistry.h:
14666         * tools/gst-compprep.c: (main):
14667         * tools/gst-inspect.c: (print_pad_templates_info):
14668         * tools/gst-xmlinspect.c: (print_element_info):
14669           Use libxml2 for registry parsing, use staticpadtemplates in
14670           elementfactories. Makes gst_init() +/- 10x faster.
14671
14672 2005-04-12  Wim Taymans  <wim@fluendo.com>
14673
14674         * gst/base/Makefile.am:
14675         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14676         (gst_basesink_pad_getcaps), (gst_basesink_init),
14677         (gst_basesink_event), (gst_basesink_change_state):
14678         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14679         (gst_basesrc_init), (gst_basesrc_query),
14680         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14681         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14682         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14683         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14684         (gst_basesrc_stop), (gst_basesrc_activate),
14685         (gst_basesrc_change_state):
14686         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14687         (helper_find_suggest), (gst_type_find_helper):
14688         * gst/base/gsttypefindhelper.h:
14689         * gst/elements/Makefile.am:
14690         * gst/elements/gstelements.c:
14691         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14692         (gst_fakesink_get_times), (gst_fakesink_event),
14693         (gst_fakesink_preroll), (gst_fakesink_render):
14694         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14695         (gst_fakesrc_init), (gst_fakesrc_event_handler),
14696         (gst_fakesrc_get_property), (gst_fakesrc_create),
14697         (gst_fakesrc_start), (gst_fakesrc_stop):
14698         * gst/elements/gstfakesrc.h:
14699         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
14700         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14701         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14702         (gst_filesrc_create_read), (gst_filesrc_create),
14703         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
14704         (gst_filesrc_start):
14705         * gst/elements/gsttypefindelement.c:
14706         (gst_type_find_element_have_type), (gst_type_find_element_init),
14707         (start_typefinding), (stop_typefinding), (push_buffer_store),
14708         (gst_type_find_element_handle_event),
14709         (gst_type_find_element_chain),
14710         (gst_type_find_element_checkgetrange),
14711         (gst_type_find_element_getrange), (do_typefind),
14712         (gst_type_find_element_activate),
14713         (gst_type_find_element_change_state):
14714         * gst/elements/gsttypefindelement.h:
14715         * gst/gstpipeline.c: (pipeline_bus_handler):
14716         Added typefind helper.
14717         Small preroll fix in the base sink.
14718         Disable typefind code in basesrc.
14719         Crude port of typefindelement.
14720         Fakesrc cleanups.
14721
14722
14723 2005-04-11  Wim Taymans  <wim@fluendo.com>
14724
14725         * check/gst/gstbus.c: (gstbus_suite):
14726         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
14727         * check/gstcheck.h:
14728           Fix up the timeout so that the test does not fail.
14729
14730 2005-04-06  Wim Taymans  <wim@fluendo.com>
14731
14732         * gst/base/README:
14733         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14734         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
14735         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14736         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14737         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14738         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14739         (gst_basesrc_stop), (gst_basesrc_activate),
14740         (gst_basesrc_change_state), (basesrc_find_peek),
14741         (basesrc_find_suggest), (gst_basesrc_type_find):
14742         * gst/base/gstbasesrc.h:
14743         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
14744         (gst_filesrc_class_init), (gst_filesrc_init),
14745         (gst_filesrc_finalize), (gst_filesrc_set_location),
14746         (gst_filesrc_set_property), (gst_filesrc_get_property),
14747         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14748         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14749         (gst_filesrc_create_read), (gst_filesrc_create),
14750         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
14751         * gst/elements/gstfilesrc.h:
14752         * gst/gstelement.c: (gst_element_get_state_func),
14753         (gst_element_lost_state), (gst_element_pads_activate):
14754         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14755         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14756         (gst_pad_pull_range):
14757         * gst/gstpad.h:
14758         More work on the generic source base class, implement seeking,
14759         query.
14760         Make filesrc extend the base source class.
14761         Added gst_pad_set_checkgetrange_function to GstPad.
14762
14763 2005-04-06  Andy Wingo  <wingo@pobox.com>
14764
14765         * pkgconfig/gstreamer-base.pc.in:
14766         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
14767
14768         * pkgconfig/Makefile.am:
14769         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
14770
14771 2005-04-04  Wim Taymans  <wim@fluendo.com>
14772
14773         * gst/base/Makefile.am:
14774         * gst/base/README:
14775         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14776         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14777         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14778         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
14779         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14780         (gst_basesrc_base_init), (gst_basesrc_class_init),
14781         (gst_basesrc_init), (gst_basesrc_get_formats),
14782         (gst_basesrc_get_query_types), (gst_basesrc_query),
14783         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
14784         (gst_basesrc_set_property), (gst_basesrc_get_property),
14785         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
14786         (gst_basesrc_loop), (gst_basesrc_activate),
14787         (gst_basesrc_change_state):
14788         * gst/base/gstbasesrc.h:
14789         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
14790         (gst_fakesrc_class_init), (gst_fakesrc_init),
14791         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
14792         (gst_fakesrc_get_property), (gst_fakesrc_create):
14793         * gst/elements/gstfakesrc.h:
14794         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
14795         (gst_filesrc_open_file), (gst_filesrc_loop),
14796         (gst_filesrc_activate), (filesrc_find_peek),
14797         (gst_filesrc_type_find):
14798         Made base source class, make fakesrc extend it.
14799         Add comments to basesink class.
14800         Some filesrc cleanup.
14801
14802 2005-03-31  David Schleef  <ds@schleef.org>
14803
14804         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
14805         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
14806         expected to link against libgstreamer.
14807         * gst/base/Makefile.am: link against libgstreamer
14808         * gst/elements/Makefile.am: same
14809
14810 2005-03-31  Andy Wingo  <wingo@pobox.com>
14811
14812         * tests/instantiate/Makefile.am:
14813         * tests/instantiate/caps.c: Add test to test speed of caps copy
14814         and free.
14815
14816         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
14817         GMemChunk to be fair.
14818
14819         * gst/gsttrashstack.h: Remove warning about using the fallback
14820         trash stack implementation, it's still faster than malloc.
14821
14822 2005-03-30  Andy Wingo  <wingo@pobox.com>
14823
14824         * tests/complexity.c: Add a copyright.
14825
14826 2005-03-31  Wim Taymans  <wim@fluendo.com>
14827
14828         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
14829         (gst_base_transform_class_init), (gst_base_transform_init),
14830         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14831         (gst_base_transform_get_property),
14832         (gst_base_transform_sink_activate),
14833         (gst_base_transform_src_activate),
14834         (gst_base_transform_change_state):
14835         * gst/base/gstbasetransform.h:
14836         * gst/elements/gstidentity.c: (gst_identity_class_init),
14837         (gst_identity_event), (gst_identity_check_perfect),
14838         (gst_identity_transform), (gst_identity_start),
14839         (gst_identity_stop):
14840         Added start/stop methods to transform base class so subclasses 
14841         don't need to deal with state changes even.
14842
14843 2005-03-31  Wim Taymans  <wim@fluendo.com>
14844
14845         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14846         (gst_event_new_discontinuous), (gst_event_discont_get_value):
14847         * gst/gstevent.h:
14848         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14849         (gst_pad_pull_range):
14850         Added rate to the discont event to prepare for variable speed
14851         and reverse playback.
14852
14853 2005-03-29  David Schleef  <ds@schleef.org>
14854
14855         * configure.ac:
14856         * testsuite/trigger/Makefile.am:
14857         * testsuite/trigger/trigger.c: A little example program to show
14858         how trigger-based elements can work.
14859
14860 2005-03-29  Wim Taymans  <wim@fluendo.com>
14861
14862         * gst/base/Makefile.am:
14863         * gst/base/README:
14864         * gst/base/gstbasesink.c: (gst_basesink_get_type),
14865         (gst_basesink_base_init), (gst_basesink_class_init),
14866         (gst_basesink_pad_getcaps), (gst_basesink_init),
14867         (gst_basesink_activate), (gst_basesink_change_state):
14868         * gst/base/gstbasesink.h:
14869         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14870         (gst_base_transform_base_init), (gst_base_transform_finalize),
14871         (gst_base_transform_class_init), (gst_base_transform_init),
14872         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14873         (gst_base_transform_event), (gst_base_transform_getrange),
14874         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14875         (gst_base_transform_set_property),
14876         (gst_base_transform_get_property),
14877         (gst_base_transform_sink_activate),
14878         (gst_base_transform_src_activate),
14879         (gst_base_transform_change_state):
14880         * gst/base/gstbasetransform.h:
14881         * gst/elements/gstidentity.c: (gst_identity_finalize),
14882         (gst_identity_class_init), (gst_identity_init),
14883         (gst_identity_event), (gst_identity_check_perfect),
14884         (gst_identity_transform), (gst_identity_set_property),
14885         (gst_identity_get_property), (gst_identity_change_state):
14886         * gst/elements/gstidentity.h:
14887         * gst/gstelement.c: (gst_element_get_state_func),
14888         (gst_element_lost_state), (gst_element_pads_activate):
14889         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14890         (gst_pad_check_pull_range), (gst_pad_pull_range):
14891         * gst/gstpad.h:
14892         Simplify pad activation.
14893         Added function to check if pull_range can be performed.
14894         Error out when pulling inactive or flushing pads.
14895         Removed const from refcounted types as it does not make sense.
14896         Simplify pad templates in basesink
14897         Added base class for simple 1-to-1 transforms.
14898         Make identity subclass the base transform.
14899
14900 2005-03-29  Andy Wingo  <wingo@pobox.com>
14901
14902         * docs/libs/gstreamer-libs-overrides.txt: 
14903         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14904         really don't understand what's going on, but like whatever. I want
14905         green buildbot!
14906
14907         * docs/gst/Makefile.am:
14908         * docs/libs/Makefile.am: Dist the overrides files.
14909
14910         * check/Makefile.am (clean-local): Remove .libs directories.
14911
14912         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14913         elements to EXTRA_DIST, so po/ files are happy.
14914
14915         * po/POTFILES.in: Er, remove it here.
14916
14917         * po/POTFILES: Remove gstspider.c.
14918
14919         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14920
14921         * docs/libs/gstreamer-libs-docs.sgml: 
14922         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14923         bytestream.
14924
14925         * tests/complexity.c (main): Set the length of the preroll queue
14926         on the sinks to prevent a lockup.
14927
14928         * libs/gst/dataprotocol/Makefile.am: 
14929         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14930         the same as the one in check/gst-libs/gdp.c.
14931
14932         * po/, docs/gst/: Commit automatic changes to docs and po files.
14933
14934         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14935         the versioned libgstbase.
14936
14937         * check/Makefile.am: Depend on an unversioned gst-register, seems
14938         to make autoconf happier.
14939
14940         * gst/base/Makefile.am: Make libgstbase a versioned lib.
14941
14942 2005-03-28  Wim Taymans  <wim@fluendo.com>
14943
14944         * configure.ac:
14945         * docs/design/part-gstelement.txt:
14946         * docs/design/part-negotiation.txt:
14947         * docs/design/part-preroll.txt:
14948         * docs/design/part-scheduling.txt:
14949         * docs/design/part-states.txt:
14950         * gst/Makefile.am:
14951         * gst/base/Makefile.am:
14952         * gst/base/README:
14953         * gst/base/gstbasesink.c: (gst_basesink_get_template),
14954         (gst_basesink_base_init), (gst_basesink_class_init),
14955         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14956         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14957         (gst_basesink_set_pad_functions),
14958         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14959         (gst_basesink_set_property), (gst_basesink_get_property),
14960         (gst_base_sink_get_template), (gst_base_sink_get_caps),
14961         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14962         (gst_basesink_preroll_queue_push),
14963         (gst_basesink_preroll_queue_empty),
14964         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14965         (gst_basesink_event), (gst_basesink_get_times),
14966         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14967         (gst_basesink_chain_unlocked), (gst_basesink_chain),
14968         (gst_basesink_loop), (gst_basesink_activate),
14969         (gst_basesink_change_state):
14970         * gst/base/gstbasesink.h:
14971         * gst/elements/Makefile.am:
14972         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14973         (gst_fakesink_class_init), (gst_fakesink_init),
14974         (gst_fakesink_set_property), (gst_fakesink_get_property),
14975         (gst_fakesink_get_times), (gst_fakesink_event),
14976         (gst_fakesink_preroll), (gst_fakesink_render),
14977         (gst_fakesink_change_state):
14978         * gst/elements/gstfakesink.h:
14979         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14980         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14981         * gst/gstelement.c: (gst_element_add_pad),
14982         (gst_element_get_state_func), (gst_element_abort_state),
14983         (gst_element_commit_state), (gst_element_lost_state),
14984         (gst_element_set_state), (gst_element_pads_activate):
14985         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14986         * gst/gstpipeline.c: (gst_pipeline_send_event),
14987         (gst_pipeline_change_state):
14988         Added state change code.
14989         Added/updated docs.
14990         Added sink base class, make fakesink extend the base class.
14991         Small cleanups in GstPipeline.
14992
14993 2005-03-26  David Schleef  <ds@schleef.org>
14994
14995         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
14996         is broken and should be implemented in a different library.
14997         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14998         * gst/gst.h: remove gstcpu.h
14999         * gst/gstcpu.c: remove
15000         * gst/gstcpu.h: remove
15001         * gst/Makefile.am.future: Remove this file.  It's ancient.
15002
15003 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15004
15005         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15006         (gst_bin_send_event):
15007           Add default event/set_manager handlers. The set_manager handler
15008           takes care that the manager is distributed over kids that were
15009           already in the bin before the manager was set. The event handler
15010           is a utility virtual function that sends the event over all sinks,
15011           so that gst_element_send_event (bin, event); has the expected
15012           behaviour.
15013         * gst/gstpad.c: (gst_pad_event_default):
15014           Re-install default event handling for discontinuities, so that
15015           seeking works without requiring hacks in applications or extra
15016           code in sinks.
15017         * gst/gstpipeline.c: (gst_pipeline_class_init),
15018         (gst_pipeline_send_event):
15019           Half hack, half utility: set a pipeline to PAUSED for seek events,
15020           since that is the only way we can guarantee a/v sync. Means that
15021           you can do gst_element_seek (pipeline, method, pos); on a pipeline
15022           and it "just works".
15023
15024 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15025
15026         * gst/gstpipeline.c: (gst_pipeline_use_clock):
15027           Lock/unlock mismatch.
15028
15029 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15030
15031         * docs/faq/gst-uninstalled:
15032           add gst-plugins-base
15033         * docs/gst/Makefile.am:
15034           don't error out until docs are fixed
15035         * docs/gst/gstreamer.types:
15036           remove thread
15037
15038 2005-03-22  Wim Taymans  <wim@fluendo.com>
15039
15040         * check/Makefile.am:
15041         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
15042         * gst/gststructure.c: (gst_structure_set_valist),
15043         (gst_structure_copy_conditional):
15044         Activated more tests.
15045         Added message test.
15046         Added G_TYPE_POINTER to GstStructure.
15047         
15048
15049 2005-03-22  Wim Taymans  <wim@fluendo.com>
15050
15051         * docs/design/part-TODO.txt:
15052         * docs/design/part-events.txt:
15053         * docs/design/part-gstbin.txt:
15054         * docs/design/part-gstbus.txt:
15055         * docs/design/part-gstpipeline.txt:
15056         * docs/design/part-messages.txt:
15057         * gst/gstbus.c:
15058         * gst/gstmessage.c:
15059         Docs updates
15060
15061 2005-03-21  Wim Taymans  <wim@fluendo.com>
15062
15063         * gst/gstbus.c: (gst_bus_post):
15064         Fix copy-and-paste error.
15065
15066 2005-03-21  Wim Taymans  <wim@fluendo.com>
15067
15068         * check/Makefile.am:
15069         * gst/Makefile.am:
15070         * gst/elements/Makefile.am:
15071         * gst/elements/gstelements.c:
15072         * gst/elements/gstfakesink.c: (gst_fakesink_init),
15073         (gst_fakesink_event), (gst_fakesink_chain):
15074         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15075         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
15076         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
15077         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
15078         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15079         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
15080         (gst_fakesrc_loop), (gst_fakesrc_activate),
15081         (gst_fakesrc_change_state):
15082         * gst/elements/gstfakesrc.h:
15083         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
15084         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
15085         (gst_filesrc_open_file), (gst_filesrc_loop),
15086         (gst_filesrc_activate), (gst_filesrc_change_state),
15087         (filesrc_find_peek), (filesrc_find_suggest),
15088         (gst_filesrc_type_find):
15089         * gst/elements/gstidentity.c: (gst_identity_finalize),
15090         (gst_identity_class_init), (gst_identity_init),
15091         (gst_identity_proxy_getcaps), (identity_queue_push),
15092         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
15093         (gst_identity_getrange), (gst_identity_chain),
15094         (gst_identity_sink_loop), (gst_identity_src_loop),
15095         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
15096         (gst_identity_set_property), (gst_identity_get_property),
15097         (gst_identity_change_state):
15098         * gst/elements/gstidentity.h:
15099         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
15100         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
15101         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
15102         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
15103         (gst_tee_sink_activate):
15104         * gst/elements/gsttee.h:
15105         * gst/gst.c: (gst_register_core_elements), (init_post):
15106         * gst/gst.h:
15107         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
15108         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
15109         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
15110         (gst_bin_change_state):
15111         * gst/gstbin.h:
15112         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
15113         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
15114         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
15115         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
15116         (gst_bus_set_sync_handler), (gst_bus_create_watch),
15117         (bus_watch_callback), (bus_watch_destroy),
15118         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
15119         (poll_timeout), (gst_bus_poll):
15120         * gst/gstbus.h:
15121         * gst/gstcaps.h:
15122         * gst/gstdata.h:
15123         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15124         (gst_element_post_message), (gst_element_message_full),
15125         (gst_element_get_state_func), (gst_element_get_state),
15126         (gst_element_abort_state), (gst_element_commit_state),
15127         (gst_element_lost_state), (gst_element_set_state),
15128         (gst_element_pads_activate), (gst_element_change_state),
15129         (gst_element_dispose), (gst_element_set_manager_func),
15130         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
15131         (gst_element_set_manager), (gst_element_get_manager),
15132         (gst_element_set_bus), (gst_element_get_bus),
15133         (gst_element_set_scheduler), (gst_element_get_scheduler):
15134         * gst/gstelement.h:
15135         * gst/gstevent.c: (gst_event_new_segment_seek),
15136         (gst_event_new_flush):
15137         * gst/gstevent.h:
15138         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
15139         (_gst_message_free), (gst_message_get_type), (gst_message_new),
15140         (gst_message_new_eos), (gst_message_new_error),
15141         (gst_message_new_warning), (gst_message_new_tag),
15142         (gst_message_new_state_changed), (gst_message_new_application),
15143         (gst_message_get_structure), (gst_message_parse_tag),
15144         (gst_message_parse_state_changed), (gst_message_parse_error),
15145         (gst_message_parse_warning):
15146         * gst/gstmessage.h:
15147         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
15148         (gst_real_pad_set_property), (gst_pad_set_active),
15149         (gst_pad_is_active), (gst_pad_set_blocked_async),
15150         (gst_pad_set_blocked), (gst_pad_is_blocked),
15151         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
15152         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
15153         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
15154         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
15155         (gst_pad_link_filtered), (gst_pad_relink_filtered),
15156         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
15157         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
15158         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
15159         (gst_pad_set_caps), (gst_pad_configure_sink),
15160         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
15161         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
15162         (gst_real_pad_dispose), (gst_real_pad_finalize),
15163         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
15164         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15165         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
15166         * gst/gstpad.h:
15167         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
15168         (pipeline_bus_handler), (gst_pipeline_change_state),
15169         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
15170         * gst/gstpipeline.h:
15171         * gst/gstprobe.h:
15172         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15173         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
15174         (gst_queue_link_src), (gst_queue_bufferalloc),
15175         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15176         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
15177         (gst_queue_loop), (gst_queue_handle_src_event),
15178         (gst_queue_handle_src_query), (gst_queue_src_activate),
15179         (gst_queue_change_state):
15180         * gst/gstqueue.h:
15181         * gst/gstscheduler.c: (gst_scheduler_init),
15182         (gst_scheduler_dispose), (gst_scheduler_create_task),
15183         (gst_scheduler_factory_create):
15184         * gst/gstscheduler.h:
15185         * gst/gststructure.c: (gst_structure_get_type),
15186         (gst_structure_copy_conditional):
15187         * gst/gststructure.h:
15188         * gst/gsttaginterface.h:
15189         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15190         (gst_task_init), (gst_task_dispose), (gst_task_create),
15191         (gst_task_get_state), (gst_task_start), (gst_task_stop),
15192         (gst_task_pause):
15193         * gst/gsttask.h:
15194         * gst/gstthread.c:
15195         * gst/gstthread.h:
15196         * gst/gsttypes.h:
15197         * gst/schedulers/Makefile.am:
15198         * gst/schedulers/cothreads_compat.h:
15199         * gst/schedulers/entryscheduler.c:
15200         * gst/schedulers/faircothreads.c:
15201         * gst/schedulers/faircothreads.h:
15202         * gst/schedulers/fairscheduler.c:
15203         * gst/schedulers/gstbasicscheduler.c:
15204         * gst/schedulers/gstoptimalscheduler.c:
15205         * gst/schedulers/gthread-cothreads.h:
15206         * gst/schedulers/threadscheduler.c:
15207         (gst_thread_scheduler_task_get_type),
15208         (gst_thread_scheduler_task_class_init),
15209         (gst_thread_scheduler_task_init),
15210         (gst_thread_scheduler_task_start),
15211         (gst_thread_scheduler_task_stop),
15212         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
15213         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15214         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
15215         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
15216         (plugin_init):
15217         * libs/gst/Makefile.am:
15218         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
15219         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
15220         (gst_file_pad_parent_set):
15221         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15222         (gst_dp_event_from_packet):
15223         * tests/complexity.c: (main):
15224         * tests/mass_elements.c: (main):
15225         * testsuite/states/locked.c: (message_received), (main):
15226         * testsuite/states/parent.c: (main):
15227         * tools/gst-inspect.c: (print_element_flag_info),
15228         (print_implementation_info), (print_pad_info):
15229         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
15230         (main):
15231         * tools/gst-md5sum.c: (event_loop), (main):
15232         * tools/gst-typefind.c: (main):
15233         * tools/gst-xmlinspect.c: (print_element_info):
15234         Next big merge.
15235         Added GstBus for mainloop integration.
15236         Added GstMessage for sending notifications on the bus.
15237         Added GstTask as an abstraction for pipeline entry points.
15238         Removed GstThread.
15239         Removed Schedulers.
15240         Simplified GstQueue for multithreaded core.
15241         Made _link threadsafe, removed old capsnego.
15242         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
15243         Added pad blocking functions.
15244         Reworked scheduling functions in GstPad to prepare for
15245         scheduling updates soon.
15246         Moved events out of data stream.
15247         Simplified GstEvent types.
15248         Added return values to push/pull.
15249         Removed clocking from GstElement.
15250         Added prototypes for state change function for next merge.
15251         Removed iterate from bins and state change management.
15252         Fixed some elements, disabled others for now.
15253         Fixed -inspect and -launch.
15254         Added check for GstBus.
15255
15256 2005-03-10  Wim Taymans  <wim@fluendo.com>
15257
15258         * docs/design/part-MT-refcounting.txt:
15259         * docs/design/part-clocks.txt:
15260         * docs/design/part-gstelement.txt:
15261         * docs/design/part-gstobject.txt:
15262         * docs/design/part-standards.txt:
15263         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15264         (gst_bin_remove_func), (gst_bin_remove):
15265         * gst/gstbin.h:
15266         * gst/gstbuffer.c:
15267         * gst/gstcaps.h:
15268         * testsuite/clock/clock1.c: (main):
15269         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
15270         (main):
15271         * testsuite/dlopen/loadgst.c: (do_test):
15272         * testsuite/refcounting/bin.c: (add_remove_test1),
15273         (add_remove_test2), (main):
15274         * testsuite/refcounting/element.c: (main):
15275         * testsuite/refcounting/element_pad.c: (main):
15276         * testsuite/refcounting/pad.c: (main):
15277         * tools/gst-launch.c: (sigint_handler_sighandler):
15278         * tools/gst-typefind.c: (main):
15279         Doc updates.
15280         Added doc about clock.
15281         removed gst_bin_iterate_recurse_up(), marked methods
15282         for removal.
15283         Fix more testsuites.
15284
15285 2005-03-09  Wim Taymans  <wim@fluendo.com>
15286
15287         * gst/gstpad.c: (gst_pad_get_direction),
15288         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
15289         (gst_pad_collect_valist):
15290         * testsuite/bins/interface.c: (main):
15291         * testsuite/caps/audioscale.c: (test_caps):
15292         * testsuite/caps/caps.c: (test1), (test2), (test3):
15293         * testsuite/caps/deserialize.c: (main):
15294         * testsuite/caps/enumcaps.c: (main):
15295         * testsuite/caps/filtercaps.c: (main):
15296         * testsuite/caps/intersect2.c: (main):
15297         * testsuite/caps/random.c: (main):
15298         * testsuite/caps/renegotiate.c: (my_fixate), (main):
15299         * testsuite/caps/sets.c: (check_caps):
15300         * testsuite/caps/simplify.c: (check_caps), (main):
15301         * testsuite/caps/subtract.c: (check_caps):
15302         Fix _pad_get_direction wrt ghostpads.
15303         Fix caps testsuite.
15304
15305 2005-03-09  Wim Taymans  <wim@fluendo.com>
15306
15307         * check/Makefile.am:
15308         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
15309         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
15310         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
15311         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
15312         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
15313         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
15314         (gst_bin_remove), (gst_bin_iterate_recurse_up),
15315         (bin_element_is_sink), (gst_bin_iterate_sinks),
15316         (gst_bin_iterate_all_by_interface):
15317         * gst/gstbin.h:
15318         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
15319         (gst_element_change_state), (gst_element_dispose),
15320         (gst_element_finalize), (gst_element_set_loop_function):
15321         * gst/gstelement.h:
15322         * gst/gstiterator.c: (find_custom_fold_func):
15323         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15324         (gst_pad_collectv), (gst_pad_collect_valist),
15325         (gst_pad_template_new):
15326         * gst/gstpipeline.c: (gst_pipeline_class_init),
15327         (gst_pipeline_dispose), (gst_pipeline_set_property),
15328         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
15329         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
15330         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
15331         * gst/gstutils.h:
15332         * gst/schedulers/entryscheduler.c:
15333         * gst/schedulers/gstbasicscheduler.c:
15334         (gst_basic_scheduler_cothreaded_chain),
15335         (gst_basic_scheduler_chain_add_element):
15336         * testsuite/bins/interface.c: (main):
15337         Added GstBin test.
15338         Added GstSystemClock test.
15339         Implemented clock distribution code in GstBin.
15340         Implemented iterate sinks method for future use.
15341         Rearranged gstelement.h
15342         Fix GstIterator comparison bug.
15343         Moved some code to GstPipeline, mostly clocking related.
15344
15345 2005-03-09  Wim Taymans  <wim@fluendo.com>
15346
15347         * configure.ac:
15348         * gst/gst_private.h:
15349         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15350         (gst_bin_remove_func), (gst_bin_remove),
15351         (gst_bin_get_by_name_recurse_up):
15352         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
15353         (gst_clock_id_compare_func), (gst_clock_id_wait),
15354         (gst_clock_id_wait_async), (gst_clock_init),
15355         (gst_clock_adjust_unlocked), (gst_clock_get_time):
15356         * gst/gstelement.h:
15357         * gst/gstinfo.c: (_gst_debug_init):
15358         * gst/gstobject.h:
15359         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15360         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
15361         * gst/gstpad.h:
15362         Bump version number, we're now 0.9.0
15363         Add future debugging category.
15364         Fix NULL _unref() in _get_by_name_recurse_up
15365         Rearrange gstpad.h.
15366         Update some docs.
15367
15368 2005-03-08  Wim Taymans  <wim@fluendo.com>
15369
15370         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
15371         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
15372         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15373         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
15374         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
15375         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
15376         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
15377         * gst/elements/gstidentity.c: (gst_identity_class_init):
15378         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
15379         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
15380         * gst/elements/gstshaper.c: (gst_shaper_class_init):
15381         * gst/elements/gststatistics.c: (gst_statistics_class_init):
15382         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
15383         (gst_tee_link):
15384         * gst/gstelement.c: (gst_element_class_init),
15385         (gst_element_base_class_init), (gst_element_init),
15386         (gst_element_get_random_pad), (gst_element_wait_state_change),
15387         (gst_element_change_state), (gst_element_dispose),
15388         (gst_element_finalize), (gst_element_set_loop_function):
15389         * gst/gstelement.h:
15390         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
15391         * gst/gstthread.c: (gst_thread_class_init),
15392         (gst_thread_release_children_locks), (gst_thread_change_state):
15393         * gst/schedulers/gstbasicscheduler.c:
15394         (gst_basic_scheduler_loopfunc_wrapper),
15395         (gst_basic_scheduler_chain_wrapper),
15396         (gst_basic_scheduler_src_wrapper),
15397         (gst_basic_scheduler_remove_element):
15398         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
15399         Remove threadsafe properties. Fix elements because GObject
15400         complains when installing a property before declaring a
15401         set/get_property handler.
15402         Rearrange gstelement.h file, use STATE macros for state locks.
15403         Free mutexes in the finalize method instead of dispose.
15404
15405 2005-03-08  Wim Taymans  <wim@fluendo.com>
15406
15407         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15408         * gst/gstthread.c: (gst_thread_release_children_locks):
15409         Added parentage check.
15410         Fix build og GstThread again.
15411
15412 2005-03-08  Wim Taymans  <wim@fluendo.com>
15413
15414         * docs/design/part-MT-refcounting.txt:
15415         * docs/design/part-conventions.txt:
15416         * docs/design/part-gstobject.txt:
15417         * docs/design/part-relations.txt:
15418         * docs/design/part-standards.txt:
15419         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15420         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
15421         (gst_bin_get_by_name), (gst_bin_get_by_interface),
15422         (gst_bin_iterate_all_by_interface):
15423         * gst/gstbuffer.h:
15424         * gst/gstclock.h:
15425         * gst/gstelement.c: (gst_element_class_init),
15426         (gst_element_change_state), (gst_element_set_loop_function):
15427         * gst/gstelement.h:
15428         * gst/gstiterator.c:
15429         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
15430         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
15431         (gst_object_dispatch_properties_changed), (gst_object_set_name),
15432         (gst_object_set_parent), (gst_object_unparent),
15433         (gst_object_check_uniqueness):
15434         * gst/gstobject.h:
15435         Docs updates, clean up some headers.
15436
15437 2005-03-07  Wim Taymans  <wim@fluendo.com>
15438
15439         * check/.cvsignore:
15440         * check/Makefile.am:
15441         * check/gst-libs/.cvsignore:
15442         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
15443         * check/gst/.cvsignore:
15444         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
15445         (START_TEST), (gstbus_suite), (main):
15446         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
15447         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
15448         (gst_data_suite), (main):
15449         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
15450         (add_fold_func), (gstiterator_suite), (main):
15451         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
15452         (thread_name_object), (thread_name_object_default),
15453         (gst_object_name_compare), (gst_object_suite), (main):
15454         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
15455         (gst_pad_suite), (main):
15456         * check/gstcheck.c: (gst_check_log_message_func),
15457         (gst_check_log_critical_func), (gst_check_init):
15458         * check/gstcheck.h:
15459         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15460         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
15461         Added checks.
15462
15463 2005-03-07  Wim Taymans  <wim@fluendo.com>
15464
15465         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15466         (gst_list_iterator_next), (gst_list_iterator_resync),
15467         (gst_list_iterator_free), (gst_iterator_new_list),
15468         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
15469         (gst_iterator_free), (gst_iterator_push), (filter_next),
15470         (filter_resync), (filter_uninit), (filter_free),
15471         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
15472         (gst_iterator_foreach), (find_custom_fold_func),
15473         (gst_iterator_find_custom):
15474         * gst/gstiterator.h:
15475         Added missing files.
15476
15477 2005-03-07  Wim Taymans  <wim@fluendo.com>
15478
15479         * Makefile.am:
15480         * configure.ac:
15481         * docs/design/part-MT-refcounting.txt:
15482         * docs/design/part-conventions.txt:
15483         * docs/design/part-gstobject.txt:
15484         * docs/design/part-relations.txt:
15485         * examples/mixer/mixer.c: (main):
15486         * examples/thread/thread.c: (eos), (main):
15487         * gst/Makefile.am:
15488         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
15489         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
15490         (gst_spider_plug_from_srcpad):
15491         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
15492         (gst_spider_identity_change_state),
15493         (gst_spider_identity_sink_loop_type_finding):
15494         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
15495         * gst/elements/gstidentity.c: (gst_identity_init):
15496         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
15497         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
15498         * gst/elements/gsttypefindelement.c: (free_entry):
15499         * gst/gst.c:
15500         * gst/gst.h:
15501         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
15502         (gst_bin_set_clock_func), (gst_bin_auto_clock),
15503         (gst_bin_set_index), (gst_bin_set_element_sched),
15504         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
15505         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
15506         (gst_bin_iterate_elements), (iterate_child_recurse),
15507         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
15508         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
15509         (compare_interface), (gst_bin_get_by_interface),
15510         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
15511         * gst/gstbin.h:
15512         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
15513         (gst_buffer_default_free), (gst_buffer_default_copy),
15514         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
15515         (gst_buffer_create_sub):
15516         * gst/gstbuffer.h:
15517         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
15518         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
15519         (gst_caps_unref), (gst_static_caps_get),
15520         (gst_caps_remove_and_get_structure), (gst_caps_append),
15521         (gst_caps_append_structure), (gst_caps_remove_structure),
15522         (gst_caps_copy_nth), (gst_caps_set_simple),
15523         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
15524         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
15525         (gst_caps_structure_intersect_field), (gst_caps_intersect),
15526         (gst_caps_structure_subtract_field), (gst_caps_subtract),
15527         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
15528         (gst_caps_structure_figure_out_union),
15529         (gst_caps_switch_structures), (gst_caps_do_simplify),
15530         (gst_caps_replace), (gst_caps_from_string),
15531         (gst_caps_copy_conditional):
15532         * gst/gstcaps.h:
15533         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
15534         (_gst_clock_id_free), (gst_clock_id_unref),
15535         (gst_clock_id_compare_func), (gst_clock_id_wait),
15536         (gst_clock_id_wait_async), (gst_clock_class_init),
15537         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
15538         (gst_clock_get_time), (gst_clock_set_time_adjust),
15539         (gst_clock_set_property), (gst_clock_get_property):
15540         * gst/gstclock.h:
15541         * gst/gstcompat.h:
15542         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
15543         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
15544         * gst/gstdata.h:
15545         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15546         (gst_element_requires_clock), (gst_element_provides_clock),
15547         (gst_element_set_clock), (gst_element_clock_wait),
15548         (gst_element_wait), (gst_element_set_time_delay),
15549         (gst_element_is_indexable), (gst_element_add_pad),
15550         (gst_element_add_ghost_pad), (gst_element_remove_pad),
15551         (pad_compare_name), (gst_element_get_static_pad),
15552         (gst_element_request_pad), (gst_element_get_request_pad),
15553         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
15554         (gst_element_class_get_pad_template_list),
15555         (gst_element_class_get_pad_template), (gst_element_error_func),
15556         (gst_element_get_random_pad), (gst_element_get_event_masks),
15557         (gst_element_send_event), (gst_element_seek),
15558         (gst_element_get_query_types), (gst_element_query),
15559         (gst_element_get_formats), (gst_element_convert),
15560         (gst_element_is_locked_state), (gst_element_set_locked_state),
15561         (gst_element_sync_state_with_parent), (gst_element_change_state),
15562         (gst_element_finalize), (gst_element_yield),
15563         (gst_element_interrupt), (gst_element_set_scheduler),
15564         (gst_element_get_scheduler), (gst_element_set_loop_function):
15565         * gst/gstelement.h:
15566         * gst/gstevent.h:
15567         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
15568         (gst_format_get_by_nick), (gst_format_get_details),
15569         (gst_format_iterate_definitions):
15570         * gst/gstformat.h:
15571         * gst/gstindex.c: (gst_index_gtype_resolver):
15572         * gst/gstinfo.c:
15573         * gst/gstinfo.h:
15574         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
15575         (gst_mem_chunk_free):
15576         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15577         (gst_object_ref), (gst_object_unref), (gst_object_sink),
15578         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
15579         (gst_object_dispatch_properties_changed),
15580         (gst_object_set_name_default), (gst_object_set_name),
15581         (gst_object_get_name), (gst_object_set_name_prefix),
15582         (gst_object_get_name_prefix), (gst_object_set_parent),
15583         (gst_object_get_parent), (gst_object_unparent),
15584         (gst_object_check_uniqueness), (gst_object_save_thyself),
15585         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
15586         (gst_object_set_property), (gst_object_get_property),
15587         (gst_object_get_path_string):
15588         * gst/gstobject.h:
15589         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15590         (gst_real_pad_init), (gst_real_pad_get_property),
15591         (gst_pad_custom_new), (gst_pad_get_direction),
15592         (gst_pad_set_active), (gst_pad_is_active),
15593         (gst_pad_set_event_function), (gst_pad_is_linked),
15594         (gst_pad_link_free), (gst_pad_link_intersect),
15595         (gst_pad_link_fixate), (gst_pad_set_caps),
15596         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
15597         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
15598         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
15599         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
15600         (gst_pad_get_caps), (gst_pad_peer_get_caps),
15601         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
15602         (gst_pad_realize), (gst_pad_get_allowed_caps),
15603         (gst_real_pad_dispose), (gst_real_pad_finalize),
15604         (gst_pad_collectv), (gst_pad_collect_valist),
15605         (gst_pad_template_dispose), (gst_pad_template_new),
15606         (gst_pad_get_internal_links):
15607         * gst/gstpad.h:
15608         * gst/gstpipeline.c: (gst_pipeline_dispose),
15609         (gst_pipeline_change_state):
15610         * gst/gstpipeline.h:
15611         * gst/gstplugin.c:
15612         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
15613         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
15614         * gst/gstpluginfeature.h:
15615         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
15616         * gst/gstquery.c: (_gst_query_type_initialize),
15617         (gst_query_type_register), (gst_query_type_get_by_nick),
15618         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
15619         * gst/gstquery.h:
15620         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
15621         * gst/gstscheduler.c: (gst_scheduler_add_element),
15622         (gst_scheduler_factory_create):
15623         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15624         (gst_structure_free), (gst_structure_set_name),
15625         (gst_structure_id_set_value), (gst_structure_set_value),
15626         (gst_structure_set_valist), (gst_structure_remove_field),
15627         (gst_structure_remove_fields),
15628         (gst_structure_remove_fields_valist),
15629         (gst_structure_remove_all_fields), (gst_structure_foreach),
15630         (gst_structure_map_in_place),
15631         (gst_caps_structure_fixate_field_nearest_int),
15632         (gst_caps_structure_fixate_field_nearest_double):
15633         * gst/gststructure.h:
15634         * gst/gstsystemclock.c: (gst_system_clock_class_init),
15635         (gst_system_clock_init), (gst_system_clock_dispose),
15636         (gst_system_clock_async_thread),
15637         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
15638         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
15639         * gst/gstsystemclock.h:
15640         * gst/gsttag.c: (gst_tag_list_add_value_internal),
15641         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
15642         * gst/gsttaginterface.c:
15643         * gst/gstthread.c: (gst_thread_dispose),
15644         (gst_thread_release_children_locks), (gst_thread_change_state),
15645         (gst_thread_main_loop):
15646         * gst/gsttrashstack.h:
15647         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
15648         * gst/gsttypes.h:
15649         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15650         (gst_element_request_pad), (gst_element_get_pad_from_template),
15651         (gst_element_request_compatible_pad),
15652         (gst_element_get_compatible_pad_filtered),
15653         (gst_element_get_compatible_pad), (gst_element_state_get_name),
15654         (gst_element_link_pads_filtered), (gst_element_link_filtered),
15655         (gst_element_link_many), (gst_element_link),
15656         (gst_element_link_pads), (gst_element_unlink_pads),
15657         (gst_element_unlink_many), (gst_element_unlink),
15658         (gst_pad_can_link_filtered), (gst_pad_can_link),
15659         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
15660         (gst_object_default_error), (gst_bin_add_many),
15661         (gst_bin_remove_many), (gst_element_populate_std_props),
15662         (gst_element_class_install_std_props), (gst_buffer_merge),
15663         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
15664         (link_fold_func), (gst_pad_proxy_setcaps):
15665         * gst/gstutils.h:
15666         * gst/gstvalue.c: (gst_value_deserialize_string):
15667         * gst/parse/grammar.y:
15668         * gst/schedulers/gstbasicscheduler.c:
15669         (gst_basic_scheduler_cothreaded_chain),
15670         (gst_basic_scheduler_chain_recursive_add),
15671         (gst_basic_scheduler_pad_link):
15672         * gst/schedulers/gstoptimalscheduler.c:
15673         (get_group_schedule_function),
15674         (gst_opt_scheduler_state_transition),
15675         (gst_opt_scheduler_add_element), (element_get_reachables_func):
15676         * libs/gst/bytestream/bytestream.c:
15677         * libs/gst/dataprotocol/dataprotocol.c:
15678         (gst_dp_header_from_buffer):
15679         * po/nb.po:
15680         * po/ru.po:
15681         * tests/threadstate/threadstate2.c: (eos):
15682         * tools/gst-compprep.c: (main):
15683         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
15684         (print_pad_info), (print_children_info):
15685         * tools/gst-launch.c: (idle_func), (main):
15686         * tools/gst-md5sum.c: (idle_func), (main):
15687         * tools/gst-xmlinspect.c: (print_element_info):
15688         First THREADED backport attempt, focusing on adding locks and
15689         making sure the API is threadsafe. Needs more work. More docs
15690         follow this week.
15691
15692 2005-02-24  Andy Wingo  <wingo@pobox.com>
15693
15694         * tests/bench-complexity.scm:
15695         * tests/complexity.gnuplot: New files, good for running complexity
15696         benchmarks.
15697
15698         * tests/Makefile.am:
15699         * tests/complexity.c: New test, sets up N elements, at each level
15700         teeing into M streams per element. Eeeenteresting.
15701
15702         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
15703         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
15704         running bench-mass_elements.scm.
15705
15706         * tests/bench-mass_elements.scm: New script, runs mass_elements
15707         for various numbers of identities, outputting the results to a
15708         file. Requires guile 1.6. Just for testing.
15709
15710 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15711
15712         * gst/schedulers/fairscheduler.c:
15713           compile with debug disabled
15714
15715 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15716
15717         * configure.ac:
15718           hunting season on 0.9 is now OPEN