gst/gsttagsetter.h: Can't cast ifaces to a class
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/gsttagsetter.h:
4         Can't cast ifaces to a class
5
6         * libs/gst/net/gstnetclientclock.h:
7         * libs/gst/net/gstnettimeprovider.h:
8         * plugins/elements/gstfakesink.h:
9         * plugins/elements/gstfakesrc.h:
10         * plugins/elements/gstfdsink.h:
11         * plugins/elements/gstfdsrc.h:
12         * plugins/elements/gstfilesink.h:
13         * plugins/elements/gstfilesrc.h:
14         * plugins/elements/gstidentity.h:
15         * plugins/elements/gstqueue.h:
16         * plugins/elements/gsttee.h:
17         * plugins/indexers/gstfileindex.c:
18         * plugins/indexers/gstmemindex.c:
19         * tests/old/examples/plugins/example.h:
20         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
21
22 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
23
24         * libs/gst/dataprotocol/dataprotocol.c:
25         (gst_dp_header_from_buffer):
26           make sure we zero the whole ABI-compatible area
27
28 2006-06-01  Wim Taymans  <wim@fluendo.com>
29
30         Patch by: Alessandro Decina <alessandro at nnva dot org>
31
32         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
33         Make sure the EOS flag is cleared from pads after a flush
34         or stop. Fixes #343538.
35
36         * tests/check/libs/collectpads.c: (GST_START_TEST),
37         (gst_collect_pads_suite):
38         Added test for collectpads reusage after EOS.
39
40 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
41
42         * gst/gst.c:
43          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
44         * win32/common/libgstbase.def:
45          export gst_collect_pads_set_flushing
46         * win32/common/libgstreamer.def:
47          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
48          gst_value_fraction_multiply
49         * win32/vs6/gst_inspect.dsp:
50          add a link to intl.lib
51
52 2006-05-30  Wim Taymans  <wim@fluendo.com>
53
54         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
55         (gst_collect_pads_chain):
56         Handle the case where a pad is removed from the collection
57         that could cause the other pads to become collectable.
58
59 2006-05-30  Wim Taymans  <wim@fluendo.com>
60
61         * gst/gstelement.c:
62         Clarify the use of _release_request_pad() and
63         _get_request_pad() a bit better.
64
65         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
66         (gst_adapter_take_buffer):
67         Fix some doc and comment typos.
68
69 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
70
71         * docs/gst/gstreamer-sections.txt:
72         * docs/libs/gstreamer-libs-sections.txt:
73           add declared symbols
74
75 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
76
77         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
78         Add debug that can be enabled using a #define at the top of the file,
79         for dumping stats about how late/early we were when waking up from
80         waiting on the clock.
81
82 2006-05-30  Wim Taymans  <wim@fluendo.com>
83
84         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
85         When rebuilding the pad list, don't leak the previous list.
86
87 2006-05-30  Wim Taymans  <wim@fluendo.com>
88
89         Patch by: Lutz Mueller <lutz at topfrose dot de>
90
91         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
92         (gst_base_src_get_query_types), (gst_base_src_update_length):
93         Publish supported query types.
94         Update last_stop field in get_range mode so the position
95         query works. Fixes #342321.
96
97 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
98
99         * docs/gst/gstreamer-sections.txt:
100         * gst/gsttaglist.c: (_gst_tag_initialize):
101         * gst/gsttaglist.h:
102           API: add GST_TAG_PREVIEW_IMAGE (#343341).
103
104 2006-05-30  Wim Taymans  <wim@fluendo.com>
105
106         Patch by: Alessandro Decina <alessandro at nnva dot org>
107
108         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
109         Unlock mutex when removing an unknown pad.
110         Fixes #343334.
111
112         * tests/check/Makefile.am:
113         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
114         (push_event), (setup), (teardown), (GST_START_TEST),
115         (gst_collect_pads_suite), (main):
116         Added collecpads check, disabled for now as check crashes for
117         some reason.
118
119 2006-05-29  Wim Taymans  <wim@fluendo.com>
120
121         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
122         Don't leak pads lists.
123
124 2006-05-29  Wim Taymans  <wim@fluendo.com>
125
126         * docs/libs/gstreamer-libs-sections.txt:
127         * libs/gst/base/gstcollectpads.c:
128         (gst_collect_pads_set_flushing_unlocked),
129         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
130         (gst_collect_pads_stop):
131         * libs/gst/base/gstcollectpads.h:
132         API: gst_collect_pads_set_flushing
133         Added api to set the pads to flushing, usefull for seeking
134         code in elements using collectpads.
135         Clear segment when receiving a flush.
136
137 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
138
139         * gst/gst.c: (add_path_func), (init_post):
140           Don't scan registry paths passed via --gst-plugin--path immediately
141           (will crash, because absolutely nothing is set up and no types are
142           registered etc.); do this later in init_post(). Fixes #343057.
143
144 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
145
146         * gst/gst.c: (init_post):
147           if we have fork, fork while reading/rebuilding the registry
148           so the parent doesn't take the hit of having all plugins loaded
149           in memory.  Fixes #342777.
150         * configure.ac:
151           Check if we have fork()
152         * win32/common/config.h.in:
153           no fork() on win32
154
155 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
156
157         * plugins/elements/gstelements.c:
158         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
159         (gst_file_src_init), (gst_file_src_set_property),
160         (gst_file_src_get_property), (gst_file_src_start):
161         * plugins/elements/gstfilesrc.h:
162
163         Add a use-mmap property to enable easier testing of all code paths.
164         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
165         in the absence of gnomevfssrc. (Closes #340501)
166
167 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
168
169         * tools/gst-inspect.c:
170         Add missing include, removes warning of ngettext not being defined on
171         some arches.
172
173 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
174
175         * gst/gstvalue.c: (gst_value_deserialize_fraction):
176         Handle NULL input and output pointers silently as a failed conversion,
177         rather than g_warnings.
178
179 2006-05-25  Wim Taymans  <wim@fluendo.com>
180
181         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
182         Initialize variable before using. Fixes #342820.
183
184 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
185
186         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
187           Fix off-by-one bug that would only allow peeks of N-1 bytes
188           from the start even if the buffer to typefind on contains
189           in fact N bytes of data (makes vorbis typefinding from a
190           vorbis identification header buffer work).
191
192         * tests/check/Makefile.am:
193         * tests/check/libs/.cvsignore:
194         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
195         (gst_typefindhelper_suite), (main), (foobar_typefind),
196         (plugin_init):
197           Add very basic unit test for gst_type_find_helper_for_buffer()
198           that checks for the problem fixed above.
199
200 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
201
202         * tools/gst-inspect.c: (print_interfaces),
203         (print_element_properties_info), (print_element_list), (main):
204           add more translatable strings
205
206 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
207
208         Patch by: Julien Moutte  <julien at moutte net>
209
210         * docs/gst/gstreamer-sections.txt:
211           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
212           
213         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
214         (gst_fake_sink_preroll):
215         * plugins/elements/gstfakesink.h:
216           Add new ::preroll-handoff signal (#337100).
217
218 2006-05-23  Wim Taymans  <wim@fluendo.com>
219
220         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
221         * gst/gstpad.h:
222         Added _CUSTOM error and success GstFlowReturn that can be
223         used be elements internally. 
224         Added macro to check for SUCCESS flowreturns.
225         API: GST_FLOW_CUSTOM_SUCCESS
226         API: GST_FLOW_CUSTOM_ERROR
227         API: GST_FLOW_IS_SUCCESS
228
229         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
230         Added check for GstFlowReturn sanity.
231
232 2006-05-23  Wim Taymans  <wim@fluendo.com>
233
234         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
235
236         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
237         (gst_collect_pads_event):
238         clear/reset segment info in FLUSH_STOP.
239         Fixes #336929.
240
241 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
242
243         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
244         (gst_collect_pads_check_collected):
245         Flush queued buffer on _stop(), fixes playing again (#342454)
246
247 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
248
249         * tests/check/gst/gststructure.c: (GST_START_TEST),
250         (gst_structure_suite):
251           add a test for a complete structure
252
253 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
254
255         * docs/faq/developing.xml:
256         * docs/faq/faq.xml:
257         * docs/faq/troubleshooting.xml:
258         * docs/faq/using.xml:
259           Some minor FAQ updates that won't change the fact that
260           our FAQ is badly structured, full of information hardly
261           anyone new to GStreamer needs to know and lacking lots
262           of information people constantly ask for.
263           
264 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
265
266         * gst/gstpad.c: (gst_pad_set_caps):
267           Short-circuit gst_pad_set_caps if setting the existing
268           caps pointer again, and avoid printing debug and 
269           reffing/unreffing the caps.
270
271         * plugins/elements/gstqueue.c: (gst_queue_push_one):
272           There's actually no need to set the caps before pushing -
273           the acceptcaps method will handle it anyway.
274
275 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
276
277         * docs/gst/gstreamer-sections.txt:
278         * win32/common/libgstreamer.def:
279         * gst/gstutils.c: (gst_element_seek_simple):
280         * gst/gstutils.h:
281           API: add gst_element_seek_simple() (#342238).
282
283 2006-05-18  Edward Hervey  <edward@fluendo.com>
284
285         * gst/gsttypefind.c: (gst_type_find_get_type):
286         * gst/gsttypefind.h:
287         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
288         registered for GstTypeFind pointers. This allows wrapping the structure
289         in bindings (i.e. gst-python).
290
291 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
292
293         * gst/gsttagsetter.c:
294           Docs additions and fixes (see #339918).
295
296 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
297
298         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
299         The caps intersection algorithm can produce multiple copies of the
300         caps. Until that is fixed, we need to simplify the result to be
301         sure whether the allowed caps are fixed or not.
302
303         * plugins/elements/gstqueue.c: (gst_queue_init),
304         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
305         (gst_queue_push_one):
306         Proxied buffer alloc should not set the caps on the source pad.
307         When pushing buffers, we always accept the caps change that triggers.
308         This prevents negotiation errors caused by caps changing mid-stream 
309         and then being refused on our source pad (because upstream is now
310         refusing those caps).
311
312 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
313
314         * tests/examples/helloworld/helloworld.c: (main):
315           Must plug audioconvert and audioresample between decoder
316           and audio sink.
317
318 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
319
320         * gst/gstregistryxml.c: (read_string), (load_pad_template),
321         (load_feature), (load_plugin):
322         Allow empty strings for some of the plugin fields so we don't 
323         drop valid plugin entries that were written out correctly
324         (Fixes #341479)
325
326 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
327         
328         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
329           Use g_remove and g_rename instead of remove and rename that don't 
330           handle utf8 characters. rename was failing for users who had specific
331           characters in their name then the registry was built at each 
332           gstreamer init.
333         * win32/vs6/gst_inspect.dsp:
334         * win32/vs6/gst_launch.dsp:
335         * win32/vs6/libgstbase.dsp:
336         * win32/vs6/libgstcoreelements.dsp:
337         * win32/vs6/libgstreamer.dsp:
338           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
339           build of libgstreamer and clean unused libraries in projects link 
340           settings.
341
342 2006-05-17  Edward Hervey  <edward@fluendo.com>
343
344         * plugins/elements/gstqueue.c: (gst_queue_push_one):
345         The queue is not responsible for pushing an EOS when receiving a fatal
346         flow error. It's up to the real element driving the pipeline to do that.
347
348 2006-05-16  Edward Hervey  <edward@fluendo.com>
349
350         * plugins/elements/gstqueue.c: (gst_queue_push_one):
351         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
352         buffer returned a fatal error. It should just send an EOS and stop
353         it's task.
354         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
355         when pushing buffers on the queue and will be able to handle the event.
356
357 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
358
359         * docs/manual/basics-bins.xml:
360         * docs/manual/basics-init.xml:
361           Fix typos and minor errors in sample code (#341856).
362
363 2006-05-16  Wim Taymans  <wim@fluendo.com>
364
365         * docs/design/part-qos.txt:
366         Fix indexes in formulas to make more sense.
367
368 2006-05-15  Wim Taymans  <wim@fluendo.com>
369
370         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
371         Don't report POSITION based on clock time if sync is
372         disabled in a sink.
373
374 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
375
376         * gst/gstobject.h:
377           Add cast to make compiler happy - refcount variable was a gint
378           in GstObject but is a guint in GObject and g_atomic_int_get()
379           wants a gint *.
380
381 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
382
383         * gst/parse/Makefile.am:
384           chain commands using &&, which also makes parallel make work
385
386 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
387
388         * docs/gst/gstreamer-sections.txt:
389         * gst/gstevent.c:
390         * gst/gstevent.h:
391         * gst/gstmessage.h:
392           Minor docs fixes.
393
394 === release 0.10.6 ===
395
396 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
397
398         * configure.ac:
399           releasing 0.10.6, "Take the cannoli"
400
401 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
402
403         * tools/gst-launch.c: (print_tag):
404           Fix use of uninitialized variable in the hypothetical
405           case that some broken plugin creates a GST_TAG_IMAGE
406           tag containing a NULL buffer (#341667).
407
408 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
409
410         * tools/gst-launch.c: (print_tag):
411           Print something more intelligible for image tags when
412           using the -t switch (#341556).
413
414 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
415
416         * Makefile.am:
417           updates for win32
418         * configure.ac:
419           define GST_MAJORMINOR so we have it available in win32/common/config.h
420           Possibly remove it from our Makefile.am files later
421         * win32/common/config.h:
422         * win32/common/config.h.in:
423           added GST_MAJORMINOR
424         * win32/common/gstenumtypes.c: (register_gst_resource_error):
425         * win32/common/gstversion.h:
426           updated
427
428 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
429
430         * win32/MANIFEST:
431           Update win32 files listing.
432         * win32/common/gstversion.h:
433           Add GST_MAJORMINOR definition.
434         * win32/common/libgstreamer.def:
435           Add new exported functions.
436           
437 2006-05-12  Michael Smith  <msmith@fluendo.com>
438
439         * gst/gstplugin.c: (gst_plugin_load_file):
440           If an so file has no plugin entry point, unload the module.
441
442 2006-05-11  Wim Taymans  <wim@fluendo.com>
443
444         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
445         (gst_queue_set_property):
446         Don't forget to signal the _chain or _loop function 
447         when the queue size or thresholds change since that might
448         cause them to make progres again.
449
450 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
451
452         * gst/gstclock.c: (gst_clock_class_init):
453         * gst/gstindex.c: (gst_index_class_init):
454         * gst/gstobject.c: (gst_object_class_init):
455         * gst/gstpad.c: (gst_pad_class_init):
456         * gst/gstpipeline.c: (gst_pipeline_class_init):
457         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
458         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
459         * libs/gst/base/gstbasetransform.c:
460         (gst_base_transform_class_init):
461         * libs/gst/net/gstnetclientclock.c:
462         (gst_net_client_clock_class_init):
463         * libs/gst/net/gstnettimeprovider.c:
464         (gst_net_time_provider_class_init):
465         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
466         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
467         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
468         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
469         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
470         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
471         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
472         * plugins/elements/gstidentity.c: (gst_identity_class_init):
473         * plugins/elements/gsttee.c: (gst_tee_class_init):
474         * tests/old/examples/plugins/example.c: (gst_example_class_init):
475         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
476           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
477
478 2006-05-11  Wim Taymans  <wim@fluendo.com>
479
480         * gst/gstbuffer.c: (_gst_buffer_initialize):
481         Register subbufer along with the buffer type so that
482         it does not accidentally gets registered from N
483         different streaming threads in a non threadsafe way.
484
485 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
486
487         * gst/gstbuffer.h:
488         * gst/gstevent.h:
489         * gst/gstmessage.h:
490           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
491           gst_event_ref() and gst_message_ref() functions again
492           (ugly hack, please do fix if there's a better way besides
493           overrides.txt, which doesn't seem to work).
494
495 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
496
497         * libs/gst/check/gstcheck.h:
498           add an assert for setting state to avoid lots of repetitive code
499           in the future
500
501 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
502
503         * gst/gstvalue.c: (gst_value_serialize_flags):
504           fix a leak if no flags are set
505         * tests/check/gst/gstvalue.c: (GST_START_TEST):
506           fix leak in tests
507
508 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
509
510         * docs/manual/basics-pads.xml:
511           Expand a bit on caps and filtered links and update
512           examples that were still using the no longer existing
513           gst_pad_link_filtered() (#338206).
514
515 2006-05-10  Wim Taymans  <wim@fluendo.com>
516
517         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
518         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
519         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
520         (gst_collect_pads_stop):
521         * libs/gst/base/gstcollectpads.h:
522         No need to call _stop in _finalize.
523         Iterate the main pad list in _finalize.
524         Added some more debug.
525         Free lists and data in the right order.
526         Also free data whem doing _remove_pad when stopped for
527         backward compatibility protect ::started with PAD_LOCK as
528         well.
529
530 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
531
532         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
533         (gst_structure_parse_value):
534           add some comments
535           rename a method so that it actually says what it does better
536
537 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
538
539         * gst/gstevent.c: (_gst_event_initialize):
540         * gst/gstformat.c: (_gst_format_initialize):
541           make sure some essential types used by events are registered
542           as part of gst_init()
543         * gst/gstvalue.c: (gst_value_serialize_flags):
544           if no flags are set, serialize them to a value that represents NONE
545           so that deserializing them works
546         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
547           add tests for serialization and deserialization of flags
548
549 2006-05-10  Wim Taymans  <wim@fluendo.com>
550
551         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
552         (gst_collect_pads_collect_range), (gst_collect_pads_available),
553         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
554         (gst_collect_pads_event), (gst_collect_pads_chain):
555         Update docs.
556         Better debug info.
557         Catch and return errors from the collect function
558         Refuse data on eos pads.
559
560 2006-05-10  Edward Hervey  <edward@fluendo.com>
561
562         * gst/gstinterface.h:
563         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
564         GInterface type checking.
565         They were previously using non-defined macros.
566
567 2006-05-09  Wim Taymans  <wim@fluendo.com>
568
569         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
570         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
571         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
572         (gst_collect_pads_start), (gst_collect_pads_stop),
573         (gst_collect_pads_peek), (gst_collect_pads_pop),
574         (gst_collect_pads_available), (gst_collect_pads_read),
575         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
576         (gst_collect_pads_is_collected), (gst_collect_pads_event),
577         (gst_collect_pads_chain):
578         * libs/gst/base/gstcollectpads.h:
579         Clean up the mess that is collectpads, add comments and
580         FIXMEs where needed.
581         Maintain a separate pad list so we can add pads while
582         collecting the other ones. For this we need a new separate 
583         lock (see comics).
584         Fix memory leak in finalize.
585         Refactor some weird code to set/unset pad flushing flags, mark
586         with comments.
587         Don't crash in _available, _read, _flush when we're EOS.
588
589         * tests/check/libs/.cvsignore:
590         Ignore adapter check binary.
591
592 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
593
594         * gst/gstindex.c: (gst_index_resolver_get_type):
595         * plugins/elements/gstfakesink.c:
596         (gst_fake_sink_state_error_get_type):
597         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
598         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
599         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
600           Const-ify GEnumValue arrays.
601
602 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
603
604         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
605           Add test case for flags + gst_buffer_make_metadata_writable().
606
607 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
608
609         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
610           gst_buffer_make_metadata_writable() should maintain the
611           buffer flags (those that make sense at least) (see #340859).
612
613 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
614
615         * tools/gst-inspect.c:
616         * tools/gst-launch.c:
617         * tools/gst-typefind.c:
618         * tools/gst-xmlinspect.c:
619         * tools/tools.h:
620           Fix up includes: need to include stdlib.h in tools.h for exit().
621
622 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
623
624         * gst/gsttaglist.c: (_gst_tag_initialize):
625         * gst/gsttaglist.h:
626           API: add GST_TAG_IMAGE tag (#340721).
627
628 2006-05-08  Wim Taymans  <wim@fluendo.com>
629
630         * gst/gstquery.c:
631         Added some docs for the segment query.
632
633 2006-05-08  Wim Taymans  <wim@fluendo.com>
634
635         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
636         (gst_base_src_loop), (gst_base_src_change_state):
637         Always push non-flushing serialized events in the streaming 
638         thread.
639
640 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
641
642         * gst/gsterror.c: (_gst_stream_errors_init):
643           Add a missing error string.
644
645 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
646
647         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
648         Add applied_rate to the debug
649
650         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
651         Copy applied_rate into the outgoing NEWSEGMENT event
652
653 2006-05-08  Wim Taymans  <wim@fluendo.com>
654
655         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
656
657         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
658         (gst_base_sink_change_state):
659         call ::unlock before taking the PREROLL_LOCK so we can safely
660         handle elements that lock in ::render.
661         Fixes #340174.
662
663 2006-05-08  Edward Hervey  <edward@fluendo.com>
664
665         * autogen.sh: (CONFIGURE_DEF_OPT): 
666         Darwin's libtoolize is in fact called glibtoolize.
667         Adding glibtoolize to the list of accepted names for libtoolize.
668
669 2006-05-08  Wim Taymans  <wim@fluendo.com>
670
671         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
672         Unify error handling, don't post an error message
673         when a push() returns EOS but perform our normal EOS
674         handling code. Fixes #340772.
675
676 2006-05-08  Wim Taymans  <wim@fluendo.com>
677
678         * docs/design/part-overview.txt:
679         Make upsteam/downstream concepts more clear.
680         Give an example of serialized/non-serialized events.
681
682         * docs/design/part-events.txt:
683         * docs/design/part-streams.txt:
684         Mention applied_rate.
685
686         * docs/design/part-trickmodes.txt:
687         Mention applied rate, flesh out some more use cases.
688
689         * gst/gstevent.c: (gst_event_new_new_segment),
690         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
691         (gst_event_parse_new_segment_full), (gst_event_new_tag),
692         (gst_event_parse_tag), (gst_event_new_buffer_size),
693         (gst_event_parse_buffer_size), (gst_event_new_qos),
694         (gst_event_parse_qos), (gst_event_parse_seek),
695         (gst_event_new_navigation):
696         * gst/gstevent.h:
697         Add applied_rate field to NEWSEGMENT event.
698         API: gst_event_new_new_segment_full()
699         API: gst_event_parse_new_segment_full()
700
701         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
702         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
703         (gst_segment_to_stream_time), (gst_segment_to_running_time):
704         * gst/gstsegment.h:
705         Add applied_rate to GstSegment structure.
706         Make calculation of stream_time and running_time more correct
707         wrt rate/applied_rate.
708         Add some more docs.
709         API: GstSegment::applied_rate field
710         API: gst_segment_set_newsegment_full();
711
712         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
713         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
714         * libs/gst/base/gstbasetransform.c:
715         (gst_base_transform_sink_eventfunc),
716         (gst_base_transform_handle_buffer):
717         Parse and use applied_rate in the GstSegment field.
718
719         * tests/check/gst/gstevent.c: (GST_START_TEST):
720         Add check for applied_rate field.
721
722         * tests/check/gst/gstsegment.c: (GST_START_TEST),
723         (gstsegments_suite):
724         Add more checks for various GstSegment operations.
725
726 2006-05-08  Wim Taymans  <wim@fluendo.com>
727
728         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
729         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
730         (gst_base_sink_get_position), (gst_base_sink_change_state):
731         Store the sync time of the buffer end position separatly in a
732         new variable eos_rtime so we can properly sync the EOS event.
733         Fixes #340697.
734         Fix the docs for gst_base_sink_set_qos_enabled().
735         Don't set segment start to invalid value when we receive a 
736         non TIME newsegment.
737         get closer to handling position reporting for negative rates 
738         correctly.
739
740 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
741
742         * gst/gstcaps.c:
743         Docs about how to print caps for debug purposes.
744
745         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
746         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
747
748 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
749
750         * gst/gstelement.c:
751           use full enum names and preprend a '%' in docs strings to make recent 
752           gtk-doc turn that into a link
753
754 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
755
756         * docs/manual/basics-bins.xml:
757         * docs/manual/basics-bus.xml:
758         * docs/manual/basics-pads.xml:
759           Some typo fixes, some additions, some clarifications. 
760
761 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
762
763         * tools/gst-inspect.c: (main):
764         * tools/gst-launch.c: (main):
765         * tools/gst-run.c: (main):
766         * tools/gst-typefind.c: (main):
767         * tools/gst-xmlinspect.c: (main):
768           Use the string passed to g_option_context_new() for
769           what it's intended for - the program name is already
770           printed elsewhere.
771
772 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
773
774         * tools/Makefile.am:
775         * tools/gst-inspect.c: (main):
776         * tools/gst-launch.c: (main):
777         * tools/gst-xmlinspect.c: (main):
778         * tools/tools.h:
779           Add back --version command line option (#340460).
780
781         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
782           Add --version option and use GOption for argument parsing; refactor a
783           bit; accept directories as arguments and recurse into them; lastly,
784           print a decent error message when things go wrong.
785
786 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
787
788         * docs/manual/basics-bins.xml:
789         Don't mention GstThread (#340611)
790         * docs/manual/basics-elements.xml:
791         Update link to GObject tutorial (#340607)
792         
793 2006-05-05  Wim Taymans  <wim@fluendo.com>
794
795         * gst/gstbuffer.h:
796         * gst/gstminiobject.c:
797         Add note about refcounting and miniobject/buffer writeability
798         to docs. Fixes #340604
799
800         * gst/gstelementfactory.h:
801         Added some explanation about @klass.
802
803 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
804
805         * docs/manual/intro-motivation.xml:
806         * docs/manual/manual.xml:
807         Avoid CORBA & Bonobo references (#340598)
808
809 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
810
811         * docs/manual/basics-bus.xml:
812         * docs/manual/basics-pads.xml:
813         Fix up some inaccuracies and omissions (#340609)
814         
815 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
816
817         * gst/gstghostpad.c:
818           Small typo in docs (#340625)
819
820 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
821
822         * gst/parse/Makefile.am:
823           Make 'make -j' proof (see #340698).
824
825 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
826
827         * configure.ac:
828           Require GLib-2.8 here as well.
829
830 2006-05-05  Wim Taymans  <wim@fluendo.com>
831
832         * gst/glib-compat.c:
833         * gst/gst.c: (init_pre):
834         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
835         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
836         (gst_object_dispatch_properties_changed):
837         * gst/gstobject.h:
838         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
839         * gst/gststructure.c: (gst_structure_set_valist):
840         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
841         Remove pre glib2.8 compatibility, fixes #340508
842
843 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
844
845         * gst/gsttaglist.h:
846           Mention type of tags in doc blurbs.
847
848 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
849
850         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
851         (gst_pad_configure_src), (gst_pad_push):
852         Restore acceptcaps checking behaviour now that good plugins have
853         been released.
854
855 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
856
857         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
858
859         * gst/gst.c:
860         * gst/gstbus.c:
861         * gst/gstclock.c:
862         * gst/gstevent.c:
863         * gst/gstformat.c:
864         * gst/gstmessage.c:
865         * gst/gstparse.c:
866         * gst/gstquery.c:
867         * gst/gstutils.c:
868         * gst/parse/Makefile.am:
869         * libs/gst/base/gstadapter.c:
870         * libs/gst/base/gstbasesrc.c:
871         * libs/gst/base/gstpushsrc.c:
872         * libs/gst/base/gsttypefindhelper.c:
873         * plugins/elements/gstfakesrc.c:
874         * plugins/elements/gstidentity.c:
875           Make sure gstprivate.h and/or config.h are
876           always included first, otherwise some of our
877           defines (like _FILE_OFFSET_BITS) might be
878           redefined in the system headers. Fixes build
879           on opensolaris (#340016).
880
881 2006-05-04  Wim Taymans  <wim@fluendo.com>
882
883         * docs/libs/gstreamer-libs-sections.txt:
884         API: addition: gst_adapter_take_buffer()
885         
886         * libs/gst/base/gstadapter.c: (gst_adapter_push),
887         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
888         (gst_adapter_available_fast):
889         * libs/gst/base/gstadapter.h:
890         Prepare for optimizing the hell out of this hugely inefficient
891         piece of code. 
892         Added gst_adapter_take_buffer() so we can at least start thinking
893         about subbuffering and merging.
894         Added some comments.
895
896         * tests/check/Makefile.am:
897         * tests/check/libs/adapter.c: (GST_START_TEST),
898         (gst_adapter_suite), (main):
899         Added GstAdapter check.
900
901 2006-05-04  Wim Taymans  <wim@fluendo.com>
902
903         * docs/design/part-overview.txt:
904         Fix some typos, add blurb about buffer flags.
905
906 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
907
908         * docs/libs/gstreamer-libs-sections.txt:
909           make sure GstBaseTransformClass shows up in the docs
910         * libs/gst/base/gstbasetransform.c:
911         * libs/gst/base/gstbasetransform.h:
912           move docs so gtk-doc picks it up now
913
914 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
915
916         * docs/libs/gstreamer-libs-sections.txt:
917           add missing symbols to docs
918
919 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
920
921         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
922           back out the newsegment handling change, see #340060 for ongoing
923           discussion
924
925 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
926
927         * tools/gst-run.c: (get_candidates), (main):
928           Fix wrong g_file_test() usage (see glib docs for why it doesn't
929           work); fix typo in error message. Fixes #340079.
930
931 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
932
933         * common/Makefile.am:
934         * docs/Makefile.am:
935         * docs/faq/Makefile.am:
936         * docs/gst/Makefile.am:
937         * docs/libs/Makefile.am:
938         * docs/manual/Makefile.am:
939         * docs/plugins/Makefile.am:
940         * docs/pwg/Makefile.am:
941         * docs/slides/Makefile.am:
942         * docs/upload.mak:
943         * common/upload.mak:
944           move upload.mak to common
945
946 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
947
948         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
949           add more asserts on refcounts
950           do more cleanup at end of tests
951           fix test leaks showing in FC5
952
953 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
954
955         * plugins/elements/gsttypefindelement.c:
956         (gst_type_find_element_handle_event):
957         reverted wrong change and reflowed code to avoid others falling into
958         this trap
959
960 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
961
962         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
963           fix changelog entry about last collectpads change,
964           add notes about proper fix
965
966 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
967
968         * gst/gst.c:
969         * gst/gstregistry.c: (gst_registry_scan_path_level),
970         (gst_registry_scan_path):
971         * gst/gstregistry.h:
972           only write out registry if it has changed, fixes #338339
973
974 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
975
976         * gst/gstbin.c:
977         * gst/gstpipeline.c:
978         * plugins/elements/gstcapsfilter.c:
979         * plugins/elements/gstfakesink.c:
980         * plugins/elements/gstfakesrc.c:
981         * plugins/elements/gstfdsink.c:
982         * plugins/elements/gstfdsrc.c:
983         * plugins/elements/gstfilesink.c:
984         * plugins/elements/gstfilesrc.c:
985         * plugins/elements/gstidentity.c:
986         * plugins/elements/gstqueue.c:
987         * plugins/elements/gsttee.c:
988         * plugins/elements/gsttypefindelement.c:
989         (gst_type_find_element_handle_event):
990           make GstElementDetails const
991
992 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
993
994         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
995         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
996         (gst_collect_pads_is_collected), (gst_collect_pads_event):
997           more detailed debug and formatting cleanup,
998           forward newsegments to src-pad (so that e.g. adder not eats them)
999
1000 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1001
1002         * gst/gstutils.c: (gst_element_link_pads):
1003           cleanup double code
1004
1005 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1006
1007         * libs/gst/controller/gstcontroller.c:
1008         (gst_controller_sync_values):
1009           some little tuning
1010         * tests/check/libs/controller.c: (GST_START_TEST),
1011         (gst_controller_suite):
1012           a new test for live value handling
1013
1014 2006-04-28  Wim Taymans  <wim@fluendo.com>
1015
1016         * gst/gstutils.c: (push_and_ref):
1017         Added some more docs.
1018         Fix refcount issue whith gst_element_found_tags() helper 
1019         function. Fixes #338335
1020
1021         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1022         Added testsuite for gst_element_found_tags().
1023
1024 2006-04-28  Michael Smith  <msmith@fluendo.com>
1025
1026         * gst/gstvalue.c: (gst_value_serialize_flags):
1027           Avoid NULL dereference when trying to serialize flags containing
1028           invalid values.
1029
1030 2006-04-28  Michael Smith  <msmith@fluendo.com>
1031
1032         * plugins/elements/gsttypefindelement.c:
1033         (gst_type_find_element_handle_event):
1034           If we get EOS before any data is accumulated, don't use
1035           uninitialised local variables.
1036
1037 2006-04-28  Michael Smith  <msmith@fluendo.com>
1038
1039         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1040         (gst_dp_event_from_packet):
1041           Fixes in reading/writing events over GDP (not currently used?) - 
1042           dereferencing NULL events for unknown/invalid event types, memory
1043           leak, and change g_warning to GST_WARNING.
1044
1045 2006-04-28  Wim Taymans  <wim@fluendo.com>
1046
1047         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1048         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1049         (gst_base_sink_get_position), (gst_base_sink_change_state):
1050         When frame dropping is enabled, we should not ignore frames
1051         without a duration.
1052         Update some documentation.
1053
1054 2006-04-28  Wim Taymans  <wim@fluendo.com>
1055
1056         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1057         (gst_base_src_send_event), (gst_base_src_change_state):
1058         Documentation updates.
1059
1060 2006-04-28  Wim Taymans  <wim@fluendo.com>
1061
1062         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1063         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1064         handle EAGAIN, EINTR and short writes correctly. Also clean
1065         up some error cases, avoid a deadlock on bad file descriptors and
1066         use GST_DEBUG_OBJECT.
1067         Fixes #339843
1068
1069 2006-04-28  Wim Taymans  <wim@fluendo.com>
1070
1071         * gst/gstvalue.c: (gst_value_serialize_buffer),
1072         (gst_value_deserialize_buffer):
1073         Don't try to serialize a GValue with a NULL buffer. 
1074         Fixes #339821.
1075
1076         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1077         Added check for serialisation of NULL buffers.
1078
1079 2006-04-28  Wim Taymans  <wim@fluendo.com>
1080
1081         * gst/gstminiobject.c: (gst_value_take_mini_object):
1082         Taking a NULL miniobject is valid, fix the case where
1083         we try to unref the NULL miniobject.
1084
1085 2006-04-28  Wim Taymans  <wim@fluendo.com>
1086
1087         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1088
1089         * gst/gstbin.c: (gst_bin_handle_message_func):
1090         Update docs.
1091         Don't leak bin refcount when a state recalc is
1092         in progress and we delay another one #339808.
1093
1094 2006-04-28  Wim Taymans  <wim@fluendo.com>
1095
1096         * docs/design/part-TODO.txt:
1097         Mention QoS as an ongoing work item.
1098
1099         * docs/design/part-buffering.txt:
1100         New doc about buffering that needs to be fleshed out
1101         at some point.
1102
1103         * docs/design/part-qos.txt:
1104         More QoS policy for decoders/demuxers/transforms
1105
1106         * docs/design/part-trickmodes.txt:
1107         Small update.
1108
1109 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1110
1111         * configure.ac:
1112           back to HEAD
1113
1114 === release 0.10.5 ===
1115
1116 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1117
1118         * configure.ac:
1119           releasing 0.10.5, "Fogo"
1120
1121 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1122
1123         patch by: Wim Taymans
1124
1125         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1126         (gst_pad_configure_src), (gst_pad_push):
1127         * gst/gstpipeline.c: (gst_pipeline_init):
1128           Fix internal data flow errors.  Fixes #338711.
1129
1130 2006-04-12  Wim Taymans  <wim@fluendo.com>
1131
1132         * tests/check/gst/gstelement.c: (GST_START_TEST):
1133         Don't leak the factory.
1134
1135 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1136
1137         * configure.ac:
1138         * win32/common/config.h:
1139           prerelease
1140
1141 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1142
1143         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1144         (gst_controller_unset_all):
1145           Free allocated GstTimedValues when freeing list nodes.
1146           Should fix leaks 'make check-valgrind' complains about.
1147
1148         * win32/common/libgstcontroller.def:
1149           Add gst_controller_unset_all.
1150
1151 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1152
1153         * docs/libs/gstreamer-libs-sections.txt:
1154         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1155         (gst_controller_unset_all):
1156         * libs/gst/controller/gstcontroller.h:
1157         API: Added new method gst_controller_unset_all()
1158         fixed gst_controller_unset()
1159         * tests/check/libs/controller.c: (GST_START_TEST),
1160         (gst_controller_suite):
1161         Added two testcases for new and fixed method
1162
1163 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1164
1165         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1166           MSG_DONTWAIT is not defined on Cygwin, so work
1167           around that (fixes #317048).
1168           
1169 2006-04-11  Wim Taymans  <wim@fluendo.com>
1170
1171         * gst/gstelementfactory.c: (gst_element_register),
1172         (gst_element_factory_create), (gst_element_factory_make):
1173         Some cleanups.
1174         Fixed a FIXME.
1175         Updated docs (Fixes #131079)
1176
1177         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1178         Small cleanups.
1179
1180         * tests/check/gst/gstelement.c: (GST_START_TEST),
1181         (gst_element_suite):
1182         Added testcase for elementfactory class field.
1183
1184 2006-04-10  Wim Taymans  <wim@fluendo.com>
1185
1186         * gst/gstsegment.c:
1187         Added some more docs.
1188
1189         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1190         (gst_base_sink_reset_qos):
1191         Calculate more accurate rate values.
1192
1193 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1194
1195         * gst/gst_private.h:
1196           add a new #ifdef to use __declspec(dllimport) only for
1197           other modules and not for gstreamer core
1198         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1199           use gst_guint64_to_gdouble for conversion
1200         * win32/common/libgstreamer.def:
1201           add new exported functions
1202         * win32/vs6/gst_inspect.dsp:
1203         * win32/vs6/gst_launch.dsp:
1204         * win32/vs6/libgstbase.dsp:
1205         * win32/vs6/libgstcontroller.dsp:
1206         * win32/vs6/libgstcoreelements.dsp:
1207         * win32/vs6/libgstdataprotocol.dsp:
1208         * win32/vs6/libgstnet.dsp:
1209           update project files
1210
1211 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1212
1213         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1214         * gst/gstclock.c: (gst_clock_class_init):
1215         * gst/gstelement.c: (gst_element_class_init):
1216         * gst/gstindex.c: (gst_index_class_init):
1217         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1218         * gst/gstobject.c: (gst_object_class_init),
1219         (gst_signal_object_class_init):
1220         * gst/gstpad.c: (gst_pad_class_init):
1221         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1222         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1223         * gst/gstregistry.c: (gst_registry_class_init):
1224         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1225         * gst/gsttask.c: (gst_task_class_init):
1226         * gst/gstxml.c: (gst_xml_class_init):
1227         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1228         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1229         (gst_base_src_loop):
1230         * libs/gst/controller/gstcontroller.c:/
1231         (_gst_controller_class_init):
1232         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1233         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1234         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1235         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1236         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1237         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1238
1239 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1240
1241         * gst/gstpad.c: (gst_pad_link):
1242           Must set peer pads before calling the link function, otherwise
1243           a task started from a link function might get a flow-not-linked
1244           result when trying to push because the other thread where the
1245           linking happens hasn't had a chance to set the peers yet. This
1246           might happen for example when a queue gets linked to a downstream
1247           element, as queue starts a streaming task when its source pad
1248           gets linked. Happens in real life when playing back flac/musepack
1249           files in playbin (#332390).
1250           
1251 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1252
1253         * gst/gstindex.h:
1254         * gst/gstxml.h:
1255         * libs/gst/base/gstadapter.h:
1256         * libs/gst/base/gstbasesink.h:
1257         * libs/gst/base/gstbasesrc.h:
1258         * libs/gst/base/gstbasetransform.h:
1259         * libs/gst/base/gstcollectpads.h:
1260         * libs/gst/base/gstpushsrc.h:
1261         Fix broken GObject macros
1262
1263 2006-04-07  Wim Taymans  <wim@fluendo.com>
1264
1265         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1266         Initialize start and stop times, thanks valgrind.
1267
1268 2006-04-07  Wim Taymans  <wim@fluendo.com>
1269
1270         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1271         Be a bit nicer to badly behaving upstream elements that expect
1272         us to deal with non TIME segments and timestamps (such as fakesrc
1273         in the testsuite).
1274
1275 2006-04-07  Wim Taymans  <wim@fluendo.com>
1276
1277         * gst/gstbus.c:
1278         Small documentation clarification about the signal watch.
1279
1280         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1281         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1282         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1283         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1284         (gst_base_sink_get_position_last),
1285         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1286         Convert and store timestamps in stream time and running time, the
1287         raw timestamps are not usefull, also document this better.
1288         Use different window sizes for good and bad QoS observations so
1289         we react to badness a little quicker.
1290         Keep track of the amount of rendered and dropped buffers.
1291         Send QoS timestamps in running time.
1292
1293         * libs/gst/base/gstbasetransform.c:
1294         (gst_base_transform_sink_eventfunc),
1295         (gst_base_transform_handle_buffer):
1296         Compare QoS timestamps against running time.
1297
1298 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1299
1300         * gst/gstpad.c:
1301           Typo fixes in docs.
1302
1303 2006-04-06  Michael Smith  <msmith@fluendo.com>
1304
1305         * gst/gstpad.c: (gst_pad_set_property):
1306           Use g_value_get_object() instead of g_value_dup_gst_object(),
1307           to avoid double-reffing the pad template (which we then sink,
1308           so this worked previously if (and only if) the pad template
1309           was floating.
1310
1311         * gst/gstpadtemplate.c: (gst_pad_template_init),
1312         (gst_pad_template_pad_created):
1313           Never return floating references to pad templates, create
1314           them as initially-sunken.
1315
1316           Document an extra function (and make this stop sinking our
1317           pad template, since that is now guaranteed to do nothing,
1318           since we created it sunken).
1319
1320         * gst/gstghostpad.c:
1321           Fix docs typo.
1322
1323 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1324
1325         * gst/gstinfo.c: (__gst_in_valgrind):
1326           Add some newlines.
1327
1328         * plugins/elements/gsttypefindelement.c:
1329         (gst_type_find_element_chain):
1330           Don't leak buffer caps.
1331
1332 2006-04-06  Michael Smith  <msmith@fluendo.com>
1333
1334         * gst/parse/grammar.y:
1335           Fix a leak in parse-launch for any source-or-sink named element 
1336           references used.
1337
1338         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1339           Unref the pipeline if it exists after we've failed parsing.
1340
1341 2006-04-05  Michael Smith  <msmith@fluendo.com>
1342
1343         * gst/gstpipeline.c: (gst_pipeline_init):
1344           When we create a pipeline bus, initially create it in flushing mode.
1345           Fixes leaks in at least one test, and makes a new pipeline work the
1346           same as one that has gone to READY and then back to NULL.
1347
1348         * gst/gstelement.c:
1349           Typo fix in docs.
1350
1351 2006-04-05  Michael Smith  <msmith@fluendo.com>
1352
1353         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1354           Unref a pad we reffed.
1355         * tests/check/gst/gstutils.c: (GST_START_TEST):
1356           Unref bins
1357
1358 2006-04-05  Michael Smith  <msmith@fluendo.com>
1359
1360         * gst/gstquery.c: (gst_query_set_formats),
1361         (gst_query_set_formatsv):
1362           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1363
1364 2006-04-05  Michael Smith  <msmith@fluendo.com>
1365
1366         * tests/check/generic/sinks.c: (GST_START_TEST):
1367           Fix a variety of memleaks in sinks check, which are only sometimes 
1368           shown by running the tests under valgrind (weird?).
1369
1370 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1371
1372         * docs/version.entities.in:
1373           Fix the substituted entity name after thomas' changes on the
1374           weekend.
1375
1376 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1377
1378         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1379         VALGRIND_PRINTF
1380         
1381 2006-04-05  Andy Wingo  <wingo@pobox.com>
1382
1383         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1384
1385         * libs/gst/base/gstbasetransform.c
1386         (gst_base_transform_sink_eventfunc): When resetting our segment on
1387         FLUSH_STOP, also update the flag saying we haven't seen a
1388         newsegment.
1389
1390 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1391
1392         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1393
1394         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1395         (gst_plugin_check_license):
1396           minor clean-ups: G_DEFINE_TYPE already takes care of the
1397           parent_class stuff, no need to do it twice. Mark array of
1398           license strings as constant. (#337103)
1399           
1400 2006-04-04  Michael Smith  <msmith@fluendo.com>
1401
1402         * tools/gst-inspect.c: (print_element_list):
1403           Free the right plugin list; fixes a memory leak.
1404
1405 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1406
1407         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1408
1409         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1410           Don't error out on empty buffers (#336945).
1411           
1412 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1413
1414         * docs/libs/gstreamer-libs-sections.txt:
1415         * gst/gsttaglist.c:
1416         * libs/gst/base/gstbasesink.c:
1417         * libs/gst/base/gstbasesink.h:
1418         * libs/gst/base/gstbasesrc.c:
1419         * libs/gst/base/gstbasesrc.h:
1420           Documentation updates. Make BaseSink and BaseSrc docs contain the
1421           class structure so that people can actually see the prototypes for
1422           virtual functions they're supposed to be overriding.
1423
1424 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1425
1426         * plugins/elements/gsttypefindelement.c:
1427         (gst_type_find_element_chain):
1428           More debug info; when skipping typefinding, send cached
1429           events in all cases.
1430
1431 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1432
1433         * configure.ac:
1434           use new AS_VERSION and AS_NANO macros
1435         * gst/gst-i18n-lib.h:
1436         * gst/gst.c:
1437         * gst/gsterror.c:
1438         * gst/gstversion.h.in:
1439         * win32/common/config.h:
1440         * win32/common/config.h.in:
1441           update accordingly
1442
1443 2006-03-31  Michael Smith  <msmith@fluendo.com>
1444
1445         * plugins/elements/gsttypefindelement.c:
1446         (gst_type_find_element_chain):
1447           Do not typefind content if the buffers already have caps.
1448           Neccesary for icydemux (#333657), and the right thing to do anyway.
1449
1450 2006-03-30  Wim Taymans  <wim@fluendo.com>
1451
1452         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1453         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1454         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1455         (gst_base_sink_record_qos_observation),
1456         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1457         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1458         (gst_base_sink_change_state):
1459         More QoS measurements as described in the design doc.
1460         Get rid of ringbuffer with observations, running average is
1461         more simple and equally good.
1462         Calculates valid proportion now.
1463         Added beginning of flood measurement.
1464
1465 2006-03-29  Wim Taymans  <wim@fluendo.com>
1466
1467         * docs/design/part-qos.txt:
1468         * gst/gstclock.c:
1469         Small documentation updates and additions.
1470
1471 2006-03-29  Wim Taymans  <wim@fluendo.com>
1472
1473         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1474         (gst_base_src_send_event), (gst_base_src_loop),
1475         (gst_base_src_change_state):
1476         Perform the EOS logic when we reach the segment stop position.
1477         Fix compilation on gcc4.1
1478
1479 2006-03-29  Wim Taymans  <wim@fluendo.com>
1480
1481         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1482
1483         * plugins/elements/gstqueue.c: (gst_queue_init),
1484         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1485         (gst_queue_set_property):
1486         * plugins/elements/gstqueue.h:
1487         In queue, when EOS is received, if minimum threshold > max_size -
1488         current_level, there is chance that queue blocks forever in conditional
1489         item del wait. This is because the queue is not emptied completely due
1490         to minimum threshold.  Here is another approach. Instead of setting
1491         cur_levels to max in EOS, just zero all minimum threshold levels. This
1492         should make sure that queue gives out all data. When going to READY
1493         (stop) state, just reset the original minimum threshold levels.
1494         Fixes #336336.
1495
1496 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1497
1498         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1499         (gst_type_find_element_handle_event),
1500         (gst_type_find_element_send_cached_events),
1501         (gst_type_find_element_change_state):
1502         * plugins/elements/gsttypefindelement.h:
1503           When typefinding is done in push mode, we should cache
1504           events we receive during typefinding instead of just
1505           dropping them (e.g. newsegment, custom events from
1506           dvdreadsrc etc.) and then send them out once we've
1507           determined the type of the stream (and decodebin
1508           has had a chance to plug in a decoder/demuxer).
1509           
1510 2006-03-27  Wim Taymans  <wim@fluendo.com>
1511
1512         * docs/design/part-qos.txt:
1513         First QoS ideas.
1514
1515 2006-03-27  Wim Taymans  <wim@fluendo.com>
1516
1517         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1518
1519         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1520         (gst_base_src_send_event), (gst_base_src_change_state):
1521         Handle element seek correctly when we are streaming.
1522         Fixes #326998.
1523
1524 2006-03-24  Michael Smith  <msmith@fluendo.com>
1525
1526         * docs/faq/gst-uninstalled:
1527           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1528           allow you to correctly run intalled applications built against old 
1529           core, using plugins that require updated core (e.g. running
1530           installed totem against a full uninstalled gstreamer stack)
1531
1532 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1533
1534         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1535         more debug details
1536
1537 2006-03-24  Wim Taymans  <wim@fluendo.com>
1538
1539         * docs/gst/gstreamer-sections.txt:
1540         Rearrange the order of the methods so that related methods
1541         are grouped together in sections.
1542
1543 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1544
1545         * gst/gstelement.c:
1546           Little clarification in the docs
1547
1548 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1549
1550         * docs/README:
1551         formatting fix
1552         * plugins/elements/gstidentity.c:
1553         * plugins/elements/gstqueue.c:
1554         * plugins/elements/gsttee.c:
1555         * plugins/elements/gsttypefindelement.c:
1556         GST_ELEMENT_DETAILS formatting
1557
1558 2006-03-24  Wim Taymans  <wim@fluendo.com>
1559
1560         * libs/gst/base/gstbasesink.h:
1561         Only add fields, not insert or we break ABI.
1562
1563 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1564
1565         * win32/common/libgstbase.def:
1566         * win32/common/libgstreamer.def:
1567           Update, add recently added functions.
1568
1569 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1570
1571         * docs/gst/gstreamer-sections.txt:
1572         * gst/gstutils.c: (gst_pad_query_peer_position),
1573         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1574         * gst/gstutils.h:
1575           API: add some new utility functions:
1576            - gst_pad_query_peer_position()
1577            - gst_pad_query_peer_duration()
1578            - gst_pad_query_peer_convert()
1579           
1580 2006-03-23  Wim Taymans  <wim@fluendo.com>
1581
1582         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1583         (gst_base_sink_init), (gst_base_sink_finalize),
1584         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1585         (gst_base_sink_set_property), (gst_base_sink_get_property),
1586         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1587         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1588         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1589         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1590         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1591         (gst_base_sink_preroll_object), (gst_base_sink_event),
1592         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1593         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1594         (gst_base_sink_query), (gst_base_sink_change_state):
1595         Decouple max-lateness and the fact that QoS messages are generated
1596         with a new property (qos).
1597         added API: GstBaseSink::async_play()
1598         Add vmethod so subclasses can be notified of ASYNC playing
1599         state changes.
1600         Collect timestamp start and stop to report better current
1601         position in EOS/PLAYING/PAUSED/READY/NULL.
1602         Refactor QoS/frame dropping and other measurements.
1603         API: GstBaseSrc::qos
1604         Fixes #326311
1605
1606         * libs/gst/base/gstbasesink.h:
1607         Added Private struct.
1608         API: gst_base_sink_set_qos_enabled()
1609         API: gst_base_sink_is_qos_enabled()
1610
1611 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1612
1613         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1614           If compiling against GLib-2.8 or newer, try to read the
1615           registry file using GMappedFile first before falling back
1616           to fopen() + fread() (#332151).
1617
1618 2006-03-22  Wim Taymans  <wim@fluendo.com>
1619
1620         * gst/gstinfo.c: (gst_debug_set_active),
1621         (gst_debug_category_set_threshold):
1622         Disable debugging unless explicitly activated.
1623         Fixes #335480.
1624
1625 2006-03-22  Wim Taymans  <wim@fluendo.com>
1626
1627         * gst/gstelement.c: (gst_element_set_locked_state),
1628         (gst_element_dispose):
1629         Cleanup the error case.
1630
1631         * gst/gstobject.c: (gst_object_dispose):
1632         print a critical when some object was disposed with
1633         a parent, also revive the object since it might
1634         crash the parent.
1635
1636 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1637
1638         * tools/gst-launch.1.in:
1639           Fix another typo.
1640
1641 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1642
1643         * configure.ac:
1644         * tests/check/Makefile.am:
1645           disable some tests when we don't have a registry
1646         * tests/check/gst/gstutils.c: (gst_utils_suite):
1647           don't build the part that needs parsing
1648
1649 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1650
1651         * gst/Makefile.am
1652         * tests/examples/Makefile.am:
1653           fix --disable-parse build
1654
1655 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1656
1657         * tools/gst-feedback.1.in:
1658           Fix typo: s/feeback/feedback/ (#133494).
1659
1660 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1661
1662         * tools/Makefile.am:
1663         * tools/gst-launch.1.in:
1664           Add FILES section and correct entry about GST_REGISTRY_PATH
1665           environment variable (#133495; #133494).
1666
1667 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1668
1669         * tools/Makefile.am:
1670         * tools/gst-md5sum.1.in:
1671         * tools/gst-md5sum.c:
1672           Remove gst-md5sum and man page (the md5sink element
1673           required was removed ages ago)
1674
1675 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1676
1677         * gst/gststructure.c: (gst_structure_id_set_value):
1678           Make sure that string fields in structures/taglists
1679           contain valid UTF-8 - we don't want to pass rubbish to
1680           applications because of a buggy plugin (cp. #334167).
1681
1682 2006-03-21  Edward Hervey  <edward@fluendo.com>
1683
1684         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1685         (gst_bin_handle_message_func):
1686         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1687         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1688         (gst_element_set_bus_func):
1689         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1690         * gst/gstminiobject.c: (gst_value_set_mini_object),
1691         (gst_value_take_mini_object):
1692         * gst/gstpad.c: (gst_pad_set_pad_template):
1693         * gst/gstpipeline.c: (gst_pipeline_dispose),
1694         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1695         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1696         (gst_collect_pads_chain):
1697         * libs/gst/net/gstnettimeprovider.c:
1698         (gst_net_time_provider_set_property):
1699         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1700         It's in fact all issues with gst_*object_replace().
1701
1702 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1703
1704         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1705         
1706         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1707         * pkgconfig/gstreamer-check.pc.in:
1708           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1709
1710 2006-03-21  Edward Hervey  <edward@fluendo.com>
1711
1712         * gst/gstbuffer.h:
1713         * gst/gstevent.h:
1714         * gst/gstmessage.h:
1715         gst_[buffer|event|message]_ref() macros are replaced by a static
1716         inline functions because gcc-4.1 will about if the return value
1717         isn't used.
1718         * tests/check/gst/gstevent.c: (event_probe):
1719         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1720
1721 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1722
1723         * gst/gstutils.h:
1724         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1725         the type' case. (Closes: #335195 for now). In the future, when we
1726         depend on GLib 2.10, we could also intern the type name using
1727         g_intern_static_string()
1728
1729 2006-03-20  Wim Taymans  <wim@fluendo.com>
1730
1731         * gst/gstbin.c: (gst_bin_handle_message_func),
1732         (bin_query_max_init), (bin_query_position_fold),
1733         (bin_query_position_done), (gst_bin_query):
1734         Position query should also take max of all streams.
1735
1736 2006-03-20  Wim Taymans  <wim@fluendo.com>
1737
1738         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1739         (gst_fake_src_finalize):
1740         Fix leaks in fakesrc.
1741
1742         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1743         Fix leaks in the testcase.
1744
1745 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
1746
1747         * gst/gst_private.h:
1748           add win32 specific import decoration(__declspec(dllimport)) 
1749           for all extern GstDebugCategory * variables
1750         * win32/common/libgstbase.def:
1751         * win32/common/libgstcontroller.def:
1752         * win32/common/libgstreamer.def:
1753           Add some exports, remove empty lines
1754         * win32/common/libgstdataprotocol.def:
1755         * win32/common/libgstdataprotocol.dsp:
1756         * win32/common/libgstnet.def:
1757         * win32/common/libgstnet.dsp:
1758           new project files and exportation files added
1759         
1760 2006-03-19  Wim Taymans  <wim@fluendo.com>
1761
1762         * tests/check/libs/basesrc.c: (eos_event_counter):
1763         Use proper return value for probe.
1764
1765 2006-03-17  Wim Taymans  <wim@fluendo.com>
1766
1767         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1768         (gst_pad_push):
1769         Don't leak buffers, caps and pads on negotiation errors.
1770
1771 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
1772
1773         * docs/faq/cvs.xml:
1774         * docs/faq/dependencies.xml:
1775         * docs/faq/developing.xml:
1776         * docs/faq/faq.xml:
1777         * docs/faq/general.xml:
1778         * docs/faq/getting.xml:
1779         * docs/faq/legal.xml:
1780         * docs/faq/troubleshooting.xml:
1781         * docs/faq/using.xml:
1782         Faq review and update.
1783
1784 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
1785
1786         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1787         (gst_pad_push):
1788         Don't pound the cpu to pieces by checking get_caps when accept_caps
1789         is called with the same caps as the pad already has.
1790         Use GST_DEBUG_OBJECT when outputting caps change information.
1791
1792 2006-03-15  Wim Taymans  <wim@fluendo.com>
1793
1794         * gst/gstclock.c: (gst_clock_class_init):
1795         Fix docs.
1796
1797 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
1798
1799         * gst/gstbuffer.h:
1800         Documentation fix.
1801
1802         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
1803         (gst_pad_accept_caps), (gst_pad_configure_sink),
1804         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
1805         Make the default acceptcaps behaviour be to check the requested 
1806         caps against the gst_pad_get_caps output. 
1807
1808         Ensure that gst_pad_accept_caps is used to check caps when a pad
1809         doesn't have a setcaps function, so that pads automatically refuse 
1810         caps that they don't allow in their pad template. (Fixes #332986)
1811
1812         When a buffer with attached caps is pushed, ensure that the source 
1813         pad receives those caps even if the element didn't call
1814         gst_pad_set_caps first.
1815
1816 2006-03-15  Wim Taymans  <wim@fluendo.com>
1817
1818         * libs/gst/base/gstadapter.c:
1819         Add some docs.
1820
1821 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1822
1823         * win32/common/libgstbase.def:
1824         * win32/common/libgstcontroller.def:
1825         * win32/common/libgstreamer.def:
1826           Add a whole bunch of missing functions (#334434).
1827
1828 2006-03-14  Wim Taymans  <wim@fluendo.com>
1829
1830         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1831         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1832         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1833         Better debug info when we receive a segment event.
1834         Reorganize a bit so we can pass the get_times() results around.
1835         Use the segment format when calculating the running time.
1836         Don't do QoS is sync is disabled or we have no clock or the
1837         element does not want us to sync to the clock.
1838         Don't drop buffers if QoS is disabled for now.
1839
1840 2006-03-14  Wim Taymans  <wim@fluendo.com>
1841
1842         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1843         Marked the stats property as unimplemented so people don't get
1844         wild ideas.
1845         Add debug message when regression goes wrong.
1846         Added some more docs.
1847
1848 2006-03-14  Wim Taymans  <wim@fluendo.com>
1849
1850         * gst/gstsegment.c: (gst_segment_to_stream_time):
1851         Return correct return type in case of errors.
1852
1853 2006-03-14  Wim Taymans  <wim@fluendo.com>
1854
1855         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1856           Don't segfault on invalid formats.
1857
1858 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1859
1860         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1861           Can't use gst_segment_to_running_time() when the segment
1862           is not in GST_TIME_FORMAT (like with filesink, for example).
1863           Stops flac encoding pipelines from spewing critical warnings
1864           at EOS (#331248).
1865           
1866 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1867
1868         * gst/gstpipeline.c: (gst_pipeline_class_init):
1869           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1870
1871         * plugins/elements/gsttypefindelement.c:
1872         (gst_type_find_element_handle_event):
1873           Don't try to typefind empty streams.
1874
1875 2006-03-14  Wim Taymans  <wim@fluendo.com>
1876
1877         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1878         (gst_base_sink_do_qos):
1879         Separate QoS calculation.
1880         Only drop buffers when lateness is bigger than the 
1881         duration of the buffer.
1882
1883 2006-03-13  Wim Taymans  <wim@fluendo.com>
1884
1885         * gst/gstpipeline.c: (gst_pipeline_set_property),
1886         (gst_pipeline_get_property), (do_pipeline_seek),
1887         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1888         (gst_pipeline_get_delay):
1889         Don't deadlock when reading properties.
1890
1891 2006-03-13  Wim Taymans  <wim@fluendo.com>
1892
1893         * libs/gst/base/gstbasetransform.c:
1894         (gst_base_transform_class_init), (gst_base_transform_init),
1895         (gst_base_transform_sink_event),
1896         (gst_base_transform_sink_eventfunc),
1897         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
1898         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1899         (gst_base_transform_set_property),
1900         (gst_base_transform_get_property),
1901         (gst_base_transform_change_state), (gst_base_transform_update_qos),
1902         (gst_base_transform_set_qos_enabled),
1903         (gst_base_transform_is_qos_enabled):
1904         * libs/gst/base/gstbasetransform.h:
1905         Make basetransform virtual method for src events too.
1906         Handle QOS in basetransform.
1907         API: gst_base_transform_update_qos()
1908         API: gst_base_transform_set_qos_enabled()
1909         API: gst_base_transform_is_qos_enabled()
1910
1911 2006-03-13  Wim Taymans  <wim@fluendo.com>
1912
1913         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1914         (gst_base_sink_do_sync):
1915         Small cleanups.
1916         Use QOS debug category.
1917
1918 2006-03-13  Wim Taymans  <wim@fluendo.com>
1919
1920         * plugins/elements/gstqueue.c:
1921         Very small doc update.
1922
1923 2006-03-13  Wim Taymans  <wim@fluendo.com>
1924
1925         * gst/gst_private.h:
1926         * gst/gstinfo.c: (_gst_debug_init):
1927         Added QOS debug category
1928
1929 2006-03-13  Wim Taymans  <wim@fluendo.com>
1930
1931         * docs/gst/gstreamer-sections.txt:
1932         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
1933         * gst/gstbin.h:
1934         * gst/gstbus.c: (gst_bus_class_init):
1935         * gst/gstbus.h:
1936         * gst/gstclock.c:
1937         * gst/gstelement.c: (gst_element_set_locked_state):
1938         * gst/gstsegment.c:
1939         Documentation updates.
1940
1941         * gst/gstpipeline.c: (gst_pipeline_get_type),
1942         (gst_pipeline_class_init), (gst_pipeline_init),
1943         (gst_pipeline_dispose), (gst_pipeline_set_property),
1944         (gst_pipeline_get_property), (do_pipeline_seek),
1945         (gst_pipeline_send_event), (gst_pipeline_change_state),
1946         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
1947         (gst_pipeline_get_delay):
1948         * gst/gstpipeline.h:
1949         Added methods for setting the delay.
1950         API: gst_pipeline_set_delay()
1951         API: gst_pipeline_get_delay()
1952         Add pipeline debug category
1953         Various cleanups.
1954         Updated docs.
1955         Don't reset stream time when seek failed.
1956
1957 2006-03-13  Wim Taymans  <wim@fluendo.com>
1958
1959         * docs/design/draft-klass.txt:
1960         * docs/design/part-clocks.txt:
1961         * docs/design/part-events.txt:
1962         * docs/design/part-gstbin.txt:
1963         * docs/design/part-gstpipeline.txt:
1964         * docs/design/part-messages.txt:
1965         * docs/design/part-negotiation.txt:
1966         * docs/design/part-overview.txt:
1967         * docs/design/part-preroll.txt:
1968         * docs/design/part-seeking.txt:
1969         * docs/design/part-states.txt:
1970         * docs/design/part-streams.txt:
1971         Documentation updates.
1972
1973 2006-03-12  Julien MOUTTE  <julien@moutte.net>
1974
1975         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
1976         us to leak strings...
1977
1978 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1979
1980         * libs/gst/net/gstnettimeprovider.c:
1981           fix docs
1982         * win32/common/config.h:
1983           update
1984
1985 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1986
1987         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
1988
1989         * configure.ac:
1990           Don't check for libgnomeui (leftover from old examples
1991           that aren't built or disted any longer) (#334303).
1992           
1993 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
1994
1995         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1996         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1997           Emit RESOURCE_NO_SPACE_LEFT error here as well when
1998           there's no space left on the device.
1999
2000 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2001
2002         * gst/gstclock.h:
2003           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2004           to cast the input to GstClockTime before comparing with
2005           another GstClockTime value.
2006
2007 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2008
2009         * configure.ac:
2010           back to trunk
2011
2012 === release 0.10.4 ===
2013
2014 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2015
2016         * configure.ac:
2017           releasing 0.10.4, "Light"
2018
2019 2006-03-10  Michael Smith  <msmith@fluendo.com>
2020
2021         * libs/gst/dataprotocol/dataprotocol.c:
2022           Fix docs for dataprocotol to not get the return types completely
2023           wrong for a few functions.
2024
2025 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2026
2027         * docs/gst/gstreamer-sections.txt:
2028         * gst/gstpipeline.c: (gst_pipeline_class_init),
2029         (gst_pipeline_init), (gst_pipeline_set_property),
2030         (gst_pipeline_get_property), (gst_pipeline_change_state),
2031         (gst_pipeline_set_auto_flush_bus),
2032         (gst_pipeline_get_auto_flush_bus):
2033         * gst/gstpipeline.h:
2034           Add new API: gst_pipeline_set_auto_flush_bus() and
2035           gst_pipeline_get_auto_flush_bus() to disable automatic
2036           flushing of the pipeline's GstBus when going from READY
2037           to NULL state (#332045).
2038
2039 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2040
2041         * docs/gst/gstreamer-sections.txt:
2042         * gst/gsturi.c: (gst_uri_has_protocol):
2043         * gst/gsturi.h:
2044            Add new API: gst_uri_has_protocol() (#333779).
2045
2046 2006-03-09  Wim Taymans  <wim@fluendo.com>
2047
2048         * gst/gstclock.c: (gst_clock_entry_new),
2049         (gst_clock_id_compare_func), (gst_clock_id_wait),
2050         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2051         (gst_clock_init), (gst_clock_get_internal_time),
2052         (gst_clock_set_master), (do_linear_regression),
2053         (gst_clock_add_observation), (gst_clock_set_property):
2054         * gst/gstclock.h:
2055         Review docs.
2056         Small cleanups.
2057         Fix a possible segfault when the window-size is made smaller.
2058         Calculate jitter before performing the clock wait. Ideally
2059         the clock implementation should calculate jitter but we need
2060         API breakage for that.
2061
2062         * gst/gstsystemclock.c: (gst_system_clock_init):
2063         Docs review.
2064         
2065         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2066         Remove leftover else
2067
2068         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2069         (gst_systemclock_suite):
2070         Added check to test GST_CLOCK_DIFF.
2071
2072 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2073
2074         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2075         (gst_type_find_helper_get_range):
2076           If we are provided with the size, we should implement
2077           GstTypeFind::get_length, so that typefind functions who
2078           want to can actually peek at the middle of a file.
2079
2080 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2081
2082         * docs/manual/advanced-dataaccess.xml:
2083           Add some very very basic error checking.
2084
2085         * docs/pwg/appendix-checklist.xml:
2086           Some updates to the list of things to check when writing an element.
2087
2088 2006-03-08  Wim Taymans  <wim@fluendo.com>
2089
2090         * docs/design/part-element-transform.txt:
2091         Added some docs about the design of tranform elements.
2092
2093         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2094         (gst_base_src_loop), (gst_base_src_change_state):
2095         Mark buffers with the DISCONT flag.
2096
2097 2006-03-08  Michael Smith  <msmith@fluendo.com>
2098
2099         * gst/gstregistry.h:
2100         * gst/gstregistryxml.c: (gst_registry_save),
2101         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2102         (gst_registry_xml_save_pad_template),
2103         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2104         (gst_registry_xml_write_cache):
2105           Rewrite registry-saving to avoid race conditions and check for
2106           failed writes.
2107
2108 2006-03-08  Wim Taymans  <wim@fluendo.com>
2109
2110         * libs/gst/base/gstbasetransform.c:
2111         (gst_base_transform_transform_caps),
2112         (gst_base_transform_transform_size),
2113         (gst_base_transform_prepare_output_buffer),
2114         (gst_base_transform_get_unit_size),
2115         (gst_base_transform_buffer_alloc),
2116         (gst_base_transform_handle_buffer),
2117         (gst_base_transform_change_state):
2118         Cleanups, separate normal flow from errors, add sensible
2119         DEBUG lines.
2120         Don't try to renegotiate when allocating an output buffer.
2121         Also copy DISCONT buffer flag when copying a buffer.
2122         Reset the transform after we finish streaming, not during.
2123
2124 2006-03-08  Wim Taymans  <wim@fluendo.com>
2125
2126         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2127         Use last buffer timestamp in qos message.
2128
2129 2006-03-07  Wim Taymans  <wim@fluendo.com>
2130
2131         Patch by: Christophe Fergeau
2132
2133         * docs/pwg/advanced-tagging.xml:
2134         * docs/pwg/building-pads.xml:
2135           fixes #333416
2136
2137 2006-03-07  Wim Taymans  <wim@fluendo.com>
2138
2139         * docs/libs/gstreamer-libs-sections.txt:
2140         Added basesink new methods.
2141
2142         * gst/gstevent.c:
2143         * gst/gstevent.h:
2144         Docs updates. Flesh out the QoS docs.
2145
2146         * libs/gst/base/gstadapter.c:
2147         Small doc clarification about ownership and flushing.
2148
2149         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2150         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2151         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2152         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2153         * libs/gst/base/gstbasesink.h:
2154         API additions: 
2155         Added new methods to allow subclass to control max-lateness 
2156         and sync.
2157         Generate very basic QoS events based on last sync observation.
2158         Updated docs, fix typo, added some QoS blurb.
2159
2160         * libs/gst/base/gstbasesrc.c:
2161         Remove obsolete _get_state() calls from docs.
2162
2163 2006-03-07  Wim Taymans  <wim@fluendo.com>
2164
2165         * docs/libs/gstreamer-libs-sections.txt:
2166         * libs/gst/base/gstbasetransform.h:
2167         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2168         Fix docs for GstBaseSrc.
2169
2170 2006-03-07  Wim Taymans  <wim@fluendo.com>
2171
2172         * docs/gst/gstreamer-sections.txt:
2173         * gst/gstbuffer.h:
2174         * gst/gstvalue.c:
2175         * libs/gst/base/gstbasetransform.h:
2176         Small documentation fixes.
2177
2178 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2179
2180         * gst/gstvalue.c:
2181           Document thread-unsafety of gst_value_register_foo_func()
2182           when used at the same time as gst_value_foo() (#322628).
2183
2184 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2185
2186         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2187         (gst_push_src_check_get_range):
2188           Push sources don't support pull mode by default.
2189
2190 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2191
2192         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2193         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2194         (gst_base_src_default_check_get_range):
2195         * libs/gst/base/gstbasesrc.h:
2196           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2197           provide default implementation, and rename
2198           gst_base_src_check_get_range() to
2199           gst_base_src_pad_check_get_range() for clarity.
2200
2201 2006-03-06  Wim Taymans  <wim@fluendo.com>
2202
2203         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2204         Make property overridable.
2205
2206 2006-03-06  Wim Taymans  <wim@fluendo.com>
2207
2208         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2209         (gst_base_sink_init), (gst_base_sink_set_property),
2210         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2211         * libs/gst/base/gstbasesink.h:
2212         API addition: Make max-lateness a property.
2213
2214 2006-03-06  Wim Taymans  <wim@fluendo.com>
2215
2216         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2217         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2218         Don't ever draw a frame that is >10ms late.
2219
2220 2006-03-06  Michael Smith  <msmith@fluendo.com>
2221
2222         * gst/gstmessage.c: (_gst_message_copy):
2223           When copying a message, set the parent_refcount of the enclosed
2224           structure to point at the copy, not the original message.
2225
2226 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2227
2228         Patch by: Christophe Fergeau
2229
2230         * gst/gstutils.h:
2231           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2232           usable in c++ code (#333417)
2233
2234 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2235
2236         * gst/gstclock.h:
2237           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2238
2239 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2240
2241         * libs/gst/base/gstbasetransform.c:
2242         (gst_base_transform_transform_caps):
2243           Make sure caps are writable before passing them to
2244           gst_caps_append().
2245
2246 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2247
2248         * gst/gsterror.h:
2249           Fix some minor docs errors.
2250
2251 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2252
2253           Patch by: Ross Burton <ross at burtonini dot com>
2254
2255         * gst/gsterror.c: (_gst_resource_errors_init):
2256         * gst/gsterror.h:
2257           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2258
2259 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2260
2261         * gst/gst.c:
2262         Add a check and output a g_warning when GStreamer is built
2263         against GLib 2.6 but running against 2.8 or higher, and vice 
2264         versa. (Closes: #323542)
2265
2266 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2267
2268         * gst/parse/parse.l:
2269           Commit patch for parse_launch syntax from #331255. Removes 
2270           support for quoted strings and mimetypes when writing filtered 
2271           caps. See the bug report for more details - I'm pretty sure this
2272           obscure feature is not in use by _anyone_ anywhere.
2273
2274           With this simple change, the size of the gstreamer.so here 
2275           drops from 2193KB to 1565KB.
2276
2277 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2278
2279         * plugins/elements/gsttypefindelement.h:
2280         * plugins/elements/gsttypefindelement.c:
2281         (gst_type_find_element_src_event), (start_typefinding),
2282         (stop_typefinding), (gst_type_find_element_handle_event),
2283         (gst_type_find_element_chain),
2284         (gst_type_find_element_chain_do_typefinding):
2285           Use gst_type_find_helper_for_buffer() for chain-based
2286           typefinding.
2287
2288 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2289
2290         * plugins/elements/gsttypefindelement.c:
2291         (gst_type_find_element_class_init),
2292         (gst_type_find_element_set_property),
2293         (gst_type_find_element_get_property):
2294           Deprecate "maximum" property (not only was it only taken into
2295           account for typefinding in push-mode anyway, it also was never
2296           actually possible to set it in the first place because the
2297           property was registered with the numeric property ID for the
2298           "minimum" property). Register "maximum" property correctly,
2299           for the sake of future copy'n'pasters. Remove some cruft
2300           from property get/set functions.
2301
2302 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2303
2304         * plugins/elements/gsttypefindelement.c:
2305         (gst_type_find_element_activate):
2306           Use gst_type_find_helper_get_range() here, so we
2307           can honour the "minimum" property and also emit
2308           the signal with the correct probability of the found caps.
2309
2310 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2311
2312         * docs/libs/gstreamer-libs-sections.txt:
2313         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2314         (helper_find_suggest), (gst_type_find_helper_get_range),
2315         (gst_type_find_helper):
2316         * libs/gst/base/gsttypefindhelper.h:
2317           New API: gst_type_find_helper_get_range() (#333042).
2318
2319 2006-03-02  Michael Smith  <msmith@fluendo.com>
2320
2321         * gst/gstregistryxml.c: (load_feature):
2322           Asserting on a failure to read part of the registry is Not Cool.
2323           Just log a warning and return NULL (which is already handled)
2324
2325 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2326
2327         * win32/common/libgstbase.def:
2328           added export of gst_type_find_helper_for_buffer
2329         * win32/common/libgstbase.def:
2330           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2331           gst_ghost_pad_get_target
2332
2333 2006-02-28  Wim Taymans  <wim@fluendo.com>
2334
2335         * docs/design/draft-klass.txt:
2336         We use Filter now.
2337         Added Connector to mark elements that are only used to
2338         allow pipeline connections.
2339         Moved Debug to extra feature since most of them are 
2340         functionally something else.
2341
2342 2006-02-28  Wim Taymans  <wim@fluendo.com>
2343
2344         * docs/design/draft-klass.txt:
2345         Some updates and clarifications.
2346
2347 2006-02-28  Wim Taymans  <wim@fluendo.com>
2348
2349         * docs/design/draft-klass.txt:
2350         Proposal for klass field values.
2351
2352         * docs/design/part-streams.txt:
2353         Start of a doc describing stream anatomy.
2354
2355 2006-02-28  Wim Taymans  <wim@fluendo.com>
2356
2357         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2358         Help the compiler a bit with type registration.
2359         Use existing forward cod path instead of duplicating it when 
2360         handling a message.
2361         
2362         * gst/gstbus.c: (gst_bus_get_type):
2363         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2364         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2365         * gst/gstclock.c: (gst_clock_get_type):
2366         * gst/gstelement.c: (gst_element_get_type),
2367         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2368         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2369         * gst/gstminiobject.c: (gst_mini_object_get_type):
2370         * gst/gstpad.c: (gst_pad_get_type):
2371         * gst/gstsegment.c: (gst_segment_get_type):
2372         * gst/gststructure.c: (gst_structure_get_type):
2373         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2374         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2375         * gst/gstvalue.c:
2376         Help compiler with type registration.
2377
2378         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2379         Small doc update.
2380
2381 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2382
2383         * plugins/elements/gsttypefindelement.c:
2384         (gst_type_find_element_handle_event):
2385           When we get an EOS event and have not found a type yet
2386           (most likely because we had not yet accumulated
2387           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2388           type given the data we have so far. Fixes typefinding
2389           for very short streams again, most notably quicktime
2390           redirections as used on Apple's trailer site (#331701).
2391
2392 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2393
2394         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2395         (gst_type_find_helper):
2396           Try typefinding factories with the highest rank first.
2397
2398 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2399
2400         * docs/libs/gstreamer-libs-docs.sgml:
2401         * docs/libs/gstreamer-libs-sections.txt:
2402         * libs/gst/base/gsttypefindhelper.c:
2403           Add section for typefind helper and add documentation
2404           for the old and the new function.
2405
2406 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2407
2408         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2409         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2410         (gst_type_find_helper_for_buffer):
2411         * libs/gst/base/gsttypefindhelper.h:
2412           New API: gst_type_find_helper_for_buffer() (#332723).
2413           
2414 2006-02-27  Michael Smith  <msmith@fluendo.com>
2415
2416         Patch by: Loïc Minier
2417
2418         * configure.ac:
2419         * docs/Makefile.am:
2420         * docs/slides/Makefile.am:
2421           prevent CVS directories getting disted.
2422
2423 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2424
2425         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2426           Use the REFCOUNTING category for caps refcounting.
2427           
2428 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2429
2430         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2431           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2432
2433 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2434
2435         * plugins/elements/gsttypefindelement.c:
2436         (gst_type_find_element_activate):
2437           Use gst_pad_check_pull_range() before _activate_pull()
2438           to avoid unnecessary open/close (see #331690).
2439
2440 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2441
2442         * gst/gstutils.c:
2443           Docs enhancement: make it crystal clear what the
2444           gst_pad_add_*_probe() callbacks should look like.
2445
2446 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2447
2448         * libs/gst/base/gstbasesrc.c:
2449           Document how applications can stop recording from
2450           live sources (see #330996).
2451
2452 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2453
2454         * tests/check/Makefile.am:
2455         * tests/check/libs/basesrc.c: (eos_event_counter),
2456         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2457         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2458         (gst_basesrc_suite), (main):
2459           ... and add some tests for the base source EOS stuff.
2460
2461 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2462
2463         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2464           Test case originally showed the problem fixed below,
2465           but was then amended. Add checks back at the place
2466           where they used to be.
2467
2468 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2469
2470         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2471         (gst_base_src_init), (gst_base_src_loop),
2472         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2473         (gst_base_src_change_state):
2474         * libs/gst/base/gstbasesrc.h:
2475           Don't unconditionally send EOS when going from PAUSED to
2476           READY state, esp. make sure we don't send two EOS events
2477           in some cases (e.g. one when reaching EOS and one when
2478           going from PAUSED to READY). Also, we don't want to send
2479           EOS events when operating in pull mode. However, we do
2480           want to send an EOS event when shutting down a live
2481           source explicitly, for example (fixes #330996).
2482           
2483 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2484
2485         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2486           Update src->read_position after a seek when not using mmap.
2487           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2488
2489 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2490
2491         * gst/Makefile.am:
2492         * gst/gstparse.h:
2493         * gst/gstutils.c:
2494         * gst/gstutils.h:
2495         Make things work with --disable-parse as they do with 
2496         --disable-load-save - the symbols involved disappear, but the
2497         header is still installed and GST_DISABLE_PARSE is included via
2498         gstconfig.h
2499
2500 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2501
2502         * libs/gst/base/gstbasetransform.c:
2503         (gst_base_transform_change_state): Fix a stupid bug. I was 
2504         sure I compiled that.
2505
2506 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2507
2508         * gst/gstpad.c: (gst_pad_set_blocked_async):
2509         * gst/gstutils.c: (gst_pad_add_data_probe),
2510         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2511         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2512         (gst_pad_remove_buffer_probe): Make those function act on the
2513         ghostpad target when it's a ghostpad. (Closes #331727)
2514
2515 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2516
2517         * libs/gst/base/gstbasetransform.c:
2518         (gst_base_transform_change_state): Make basetransform reusable.
2519         (Closes #331898)
2520
2521 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2522
2523         * docs/random/release:
2524         Move the current documentation of how to do a release to the top
2525         of the file.
2526
2527         * gst/gstbin.c: (gst_bin_class_init),
2528         (gst_bin_handle_message_func):
2529         Allow multiple state-recalculation threads. (Closes #328873)
2530
2531 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2532
2533         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2534         * gst/gstpad.c: (gst_pad_set_event_function),
2535         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2536         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2537         2 strings. You can't use the STR_NULL macro on that.
2538
2539 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2540
2541         * gst/gstpad.c: (gst_pad_set_event_function),
2542         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2543         (gst_pad_set_getcaps_function)
2544         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2545           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2546           So now, we can use --gst-debug-level=5 on Windows
2547         * win32/common/libgstcontroller.def:
2548           Added export of gst_controller_init
2549         * win32/vs6/libgstcontroller.dsp:
2550           Fixed Release post build configuration
2551
2552 2006-02-17  Wim Taymans  <wim@fluendo.com>
2553
2554         * tests/check/gst/gstquery.c: (GST_START_TEST):
2555         Added another check.
2556
2557 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2558
2559         * plugins/elements/gsttypefindelement.c: (find_peek):
2560           We can do peeks at non-zero offsets, as long as they
2561           fall within the buffer we have.
2562
2563 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2564
2565         * tests/check/Makefile.am:
2566         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2567         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2568         (parse_suite), (main):
2569           Add testsuite for parse launch syntax
2570
2571 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2572
2573         * plugins/elements/gsttypefindelement.c:
2574         (gst_type_find_element_chain):
2575           When typefinding is unsuccessful in the chain function, don't
2576           error out immediately. Only error out with NO_CAPS_FOUND if
2577           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2578           otherwise simply wait for more data so we can try typefinding
2579           again with more data later. Also, don't attempt to typefind
2580           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2581           this should improve typefinding from network sources where the
2582           size of the first buffer can be somewhat random.
2583
2584 2006-02-14  Wim Taymans  <wim@fluendo.com>
2585
2586         * docs/gst/gstreamer-sections.txt:
2587         * gst/gstpadtemplate.c:
2588         * gst/gstpadtemplate.h:
2589         Fix padtemplate docs, fixes #328805.
2590
2591 2006-02-14  Wim Taymans  <wim@fluendo.com>
2592
2593         * tools/gst-launch.c: (main):
2594         NO_PREROLL is not an ERROR so don't send confusing messages
2595         to the user.
2596
2597 2006-02-14  Wim Taymans  <wim@fluendo.com>
2598
2599         Patch by: Torsten Schoenfeld
2600
2601         * gst/gstregistry.c: (gst_registry_get_default),
2602         (_gst_registry_cleanup):
2603         Protect default registry with lock and ref/sink it.
2604         Fixes #324818
2605
2606 2006-02-14  Wim Taymans  <wim@fluendo.com>
2607
2608         * gst/gstbuffer.c:
2609         * gst/gstquery.c: (gst_query_list_add_format),
2610         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2611         (gst_query_parse_formats_nth):
2612         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2613         Docs fixes.
2614
2615 2006-02-14  Wim Taymans  <wim@fluendo.com>
2616
2617         * docs/gst/gstreamer-sections.txt:
2618         Reworked query docs.
2619
2620         * gst/gstquery.c: (gst_query_new_formats),
2621         (gst_query_list_add_format), (gst_query_set_formats),
2622         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2623         (gst_query_parse_formats_nth):
2624         * gst/gstquery.h:
2625         Flesh out formats query, added some new methods.
2626         Fix part of #324398.
2627
2628         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2629         Added query creation tests.
2630
2631 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2632
2633         * gst/gstpad.c: (fixate_value):
2634         Add a default fixation for fraction lists.
2635
2636 2006-02-13  Wim Taymans  <wim@fluendo.com>
2637
2638         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2639         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2640         (gst_task_join):
2641         * gst/gsttask.h:
2642         Detect and warn for obvious deadlocks. fixes #320340
2643         Fix error case where lock was not released.
2644
2645         * tests/check/Makefile.am:
2646         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2647         (task_func), (gst_element_suite), (main):
2648         Add task check.
2649
2650 2006-02-13  Wim Taymans  <wim@fluendo.com>
2651
2652         * docs/gst/gstreamer-sections.txt:
2653         * gst/gstbus.c:
2654         Add new functions to docs.
2655
2656 2006-02-13  Wim Taymans  <wim@fluendo.com>
2657
2658         * docs/design/part-TODO.txt:
2659         Updated TODO list, basesrc supports seeking to non-bytes
2660         formats.
2661
2662         * docs/design/part-element-sink.txt:
2663         Update docs.
2664
2665         * gst/gstbin.c: (bin_replace_message),
2666         (gst_bin_handle_message_func):
2667         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2668         * gst/gstevent.c: (gst_event_finalize):
2669         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2670         (gst_pad_send_event):
2671         Use shiny new _TYPE_NAME macros.
2672
2673         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2674         Move debug statement up.
2675
2676         * gst/gstelement.c: (gst_element_set_locked_state):
2677         Add some debugging.
2678
2679 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2680
2681         * docs/gst/gstreamer-sections.txt:
2682         * gst/gstmessage.h:
2683         * gst/gstquery.h:
2684           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2685           macros (#330906). Also, document the already existing
2686           GST_QUERY_TYPE macro.
2687
2688 2006-02-13  Wim Taymans  <wim@fluendo.com>
2689
2690         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2691         (event_probe), (GST_START_TEST):
2692         Only events up to the pipeline EOS are counted, there are
2693         some more when going to NULL currently which we don't care
2694         about for now.
2695
2696 2006-02-13  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/gstpad.c: (gst_pad_send_event):
2699         Correctly check flushing and emit probes. fixes #330125
2700
2701 2006-02-10  Andy Wingo  <wingo@pobox.com>
2702
2703         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2704         structure.
2705         (gst_bus_init): Cache the location of the private data in the
2706         instance structure.
2707         (gst_bus_enable_sync_message_emission) 
2708         (gst_bus_disable_sync_message_emission): Implement new public
2709         functions.
2710         (gst_bus_post): Emit the sync-message signal if the user asked for
2711         it. Fixes #330684.
2712
2713         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2714         location of the bus-private structure.
2715         (gst_bus_enable_sync_message_emission)
2716         (gst_bus_disable_sync_message_emission): API addition
2717
2718 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2719
2720         Patch by: Vincent Torri
2721
2722         * docs/pwg/building-boiler.xml:
2723         PWG patch from #326800
2724
2725 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2726
2727         * configure.ac:
2728         * docs/Makefile.am:
2729         * docs/design/Makefile.am:
2730           Dist design docs.
2731
2732 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2733
2734         * configure.ac:
2735           back to CVS
2736
2737 === release 0.10.3 ===
2738
2739 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
2740
2741         * configure.ac:
2742           releasing 0.10.3, "Like a virgin"
2743
2744 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2745
2746         * configure.ac:
2747           2nd prerelease of 0.10.3
2748           Bump libtool versioning.
2749
2750 2006-02-07  Andy Wingo  <wingo@pobox.com>
2751
2752         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2753         update last_stop if we're in TIME format and the timestamp is
2754         valid.
2755
2756         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
2757         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
2758         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2759         If we get a new newsegment with a different format, adapt
2760         accordingly.
2761
2762         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2763         of 0. Not a problem, really.
2764
2765         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2766         warn if sync=true.
2767
2768 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
2769
2770         * configure.ac:
2771           Prelease of 0.10.3
2772
2773 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
2774
2775         * win32/vs7:
2776           project files updated to the default vs7 configuration
2777         * win32/common/libgstbase.def:
2778         * win32/common/libgstreamer.def:
2779           added new symbols,
2780           removed empty lines,
2781           sorted all exported symbols alphabetically
2782         * win32/common/dirent.c:
2783         * win32/common/dirent.h:
2784         * win32/common/gchar.h:
2785           use windows line end.
2786           
2787 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2788
2789         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2790           Send EOS event when stopping.
2791
2792 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2793
2794         * docs/README:
2795           Tell folks what to do if the plugin-foobar.xml file
2796           hasn't been generated for a newly-added plugin.
2797
2798 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2799
2800         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2801         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2802         (gst_collect_pads_start), (gst_collect_pads_stop),
2803         (gst_collect_pads_event): Collectpads now holds a reference
2804         to the GstPad that was added. Indeed we don't want to look
2805         at pads that might just go away with no warning...
2806
2807 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2808
2809         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2810         (gst_collect_pads_start), (gst_collect_pads_stop),
2811         (gst_collect_pads_event), (gst_collect_pads_chain):
2812         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
2813         Mark Nauwelaerts's patch on bug #328491.
2814
2815 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2816
2817         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
2818         (gst_utils_suite):
2819           Add some simple tests for gst_parse_bin_from_description() and
2820           gst_bin_find_unconnected_pad() (#329069).
2821
2822 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2823
2824         * tools/gst-launch.c: (event_loop), (main):
2825           Catch errors during preroll (#320084).
2826
2827 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2828
2829         * plugins/elements/gsttypefindelement.c:
2830         (gst_type_find_element_activate):
2831           Post TYPE_NOT_FOUND error message when typefinding
2832           is unsuccessful in the activate function as well.
2833
2834 2006-02-02  Wim Taymans  <wim@fluendo.com>
2835
2836         * docs/design/part-element-sink.txt:
2837         Updated doc.
2838
2839 2006-02-02  Wim Taymans  <wim@fluendo.com>
2840
2841         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2842         (gst_base_sink_render_object),
2843         (gst_base_sink_queue_object_unlocked):
2844         Only keep track of prerollable items when we are 
2845         prerolling.
2846         Before rendering after preroll, always check if we
2847         have queued items.
2848         Added some more debugging.
2849
2850 2006-02-02  Wim Taymans  <wim@fluendo.com>
2851
2852         * gst/gstelement.c: (gst_element_continue_state),
2853         (gst_element_set_state_func), (gst_element_change_state):
2854         Fixed #326576, been running this for quite some time with
2855         no regressions at all.
2856
2857 2006-02-02  Wim Taymans  <wim@fluendo.com>
2858
2859         * common/gst.supp:
2860         Added more suppressions
2861
2862 2006-02-02  Wim Taymans  <wim@fluendo.com>
2863
2864         * docs/design/part-element-sink.txt:
2865         Updated document.
2866
2867         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2868         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2869         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2870         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2871         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2872         (gst_base_sink_preroll_object),
2873         (gst_base_sink_queue_object_unlocked),
2874         (gst_base_sink_queue_object), (gst_base_sink_event),
2875         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2876         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2877         (gst_base_sink_get_position), (gst_base_sink_change_state):
2878         * libs/gst/base/gstbasesink.h:
2879         Totally refactored matching the design doc.
2880         Use two segments, one to clip incomming buffers and another to
2881         perform sync.
2882         Handle queueing correctly, bypass the queue when playing.
2883         Make EOS cancelable.
2884         Handle errors correctly when operating in pull based mode.
2885
2886         * tests/check/elements/fakesink.c: (GST_START_TEST),
2887         (fakesink_suite):
2888         Added new check for sinks.
2889
2890 2006-02-02  Wim Taymans  <wim@fluendo.com>
2891
2892         * gst/gstsegment.c: (gst_segment_clip):
2893         No reason to refuse to clip when start == -1
2894
2895 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
2896
2897         * docs/README:
2898         * docs/manual/intro-basics.xml:
2899         * docs/manual/intro-preface.xml:
2900         * docs/manual/manual.xml:
2901         * docs/pwg/advanced-dparams.xml:
2902         * docs/pwg/intro-basics.xml:
2903         * docs/pwg/intro-preface.xml:
2904         * docs/pwg/pwg.xml:
2905           describe dparams (controller) for plugins
2906           unify docs a little more
2907
2908 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
2909
2910         * docs/gst/gstreamer-sections.txt:
2911         * gst/gstutils.c: (element_find_unconnected_pad),
2912         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
2913         * gst/gstutils.h:
2914           Add new API: gst_parse_bin_from_description() and
2915           gst_bin_find_unconnected_pad() (#329069).
2916
2917 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
2918
2919         * docs/manual/README:
2920           uncover a nasty detail of the docs build
2921
2922 2006-01-31  Wim Taymans  <wim@fluendo.com>
2923
2924         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
2925         Don't cache duration messages if we're not going to use or
2926         free them.
2927
2928 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
2929
2930         * docs/manual/advanced-dparams.xml:
2931         * docs/pwg/advanced-dparams.xml:
2932           more dparam docs
2933         * gst/gstindex.c:
2934           fix docs
2935         * libs/gst/controller/lib.c: (gst_controller_init):
2936           init just once
2937
2938 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2939
2940         * gst/gstelement.c: (gst_element_message_full):
2941           also show file/line/func if no additional debug was given
2942
2943 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
2944         
2945         * win32/vs7/grammar.vcproj:
2946           activate copy of autogenerated files for Release mode
2947
2948 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2949         
2950         * win32/common/libgstreamer.def:
2951           export gst_value_compare
2952
2953 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
2954
2955         * plugins/elements/Makefile.am:
2956         * plugins/elements/gstelements.c:
2957         * plugins/elements/gstfdsink.c: (_do_init),
2958         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
2959         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
2960         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
2961         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
2962         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
2963         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
2964         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
2965         * plugins/elements/gstfdsink.h:
2966         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
2967
2968 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
2969
2970         * docs/manual/advanced-dparams.xml:
2971           describe controller
2972         * docs/manual/advanced-position.xml:
2973         * docs/manual/basics-init.xml:
2974         * docs/manual/manual.xml:
2975         * docs/manual/titlepage.xml:
2976         * docs/pwg/pwg.xml:
2977         * docs/pwg/titlepage.xml:
2978           cleanup xml (more to come)
2979         * libs/gst/controller/gstcontroller.c:
2980           fix typo
2981
2982 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2983         
2984         * win32/vs6/grammar.dsp:
2985           add autogen of gstmarshal.c,h for Release mode
2986                 
2987 2006-01-30  Wim Taymans  <wim@fluendo.com>
2988
2989         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2990         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
2991         (gst_base_sink_handle_object), (gst_base_sink_event),
2992         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
2993         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2994         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
2995         (gst_base_sink_deactivate), (gst_base_sink_activate),
2996         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2997         (gst_base_sink_query), (gst_base_sink_change_state):
2998         Basesink cleanups, remove some old code.
2999         Handle the case where a subclass can preroll in the render
3000         method (mostly audiosinks).
3001         Handle more events.
3002         Remove some locks around variables that are now protected
3003         with the PREROLL_LOCK (clock_id, flushing, ..).
3004         Optimize position query some more, do correct locking.
3005         Remove old code to push queue in state change, this is not
3006         needed anymore since preroll blocks on all prerollable items 
3007         now.
3008         Almost implemented as described in design doc.
3009
3010 2006-01-30  Wim Taymans  <wim@fluendo.com>
3011
3012         * tests/check/gst/gstbin.c: (GST_START_TEST):
3013         Wait for refcount to settle down before checking.
3014
3015 2006-01-30  Wim Taymans  <wim@fluendo.com>
3016
3017         * docs/design/part-element-sink.txt:
3018         Pseudo code overview of desired sink behaviour regarding
3019         preroll.
3020
3021 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3022         * win32/vs6/grammar.dsp:
3023           fix some bugs in Release mode for autogenerated files
3024                 
3025 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3026         * win32/common/libgstbase.def:
3027         * win32/common/libgstreamer.def:
3028           export some new symbols: gst_base_src_set_format,
3029           gst_iterator_next, gst_structure_set_valist
3030
3031 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3032
3033         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3034         Set pad functions unconditionally. Fixes #329105.
3035
3036 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3037         * win32/vs8:
3038           add vs8 project files created by Sergey Scobich
3039
3040 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3041
3042         * gst/gstutils.c: (gst_element_unlink_pads):
3043         Don't leak pad references.
3044
3045         * tests/check/elements/fakesink.c: (GST_START_TEST):
3046         * tests/check/generic/sinks.c: (GST_START_TEST):
3047         * tests/check/generic/states.c: (GST_START_TEST):
3048         * tests/check/gst/gstbin.c: (GST_START_TEST):
3049         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3050         * tests/check/gst/gstelement.c: (GST_START_TEST):
3051         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3052         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3053         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3054         Fix a bunch of leaks. Make generic/sinks.c
3055         use a bit less cpu by slowing the buffer rate
3056         between fakesrc and fakesink.
3057         
3058 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3059         * gst/gstcaps.c:
3060         * gst/gstelement.c: (gst_element_send_event):
3061         * gst/gstevent.c:
3062         * gst/gstinfo.c:
3063         * gst/gstiterator.c:
3064         * gst/gstiterator.h:
3065         * gst/gstpad.c: (gst_pad_send_event):
3066         * gst/gststructure.c:
3067         * gst/gsturi.c:
3068         * gst/gstutils.c:
3069         * gst/gstvalue.c:
3070         * libs/gst/base/gstadapter.c:
3071           doc fixes, to link to function, just write gst_cool_function(), don't
3072           prefix with '#'
3073
3074 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3075
3076         * plugins/elements/gsttee.c: (gst_tee_do_push),
3077         (gst_tee_handle_buffer):
3078         Always prefer an actual return value from a src
3079         pad in place of NOT_LINKED. This means we return
3080         WRONG_STATE when all src pads are WRONG_STATE
3081         instead of NOT_LINKED.
3082
3083         Lock when replacing the last message to prevent
3084         racing with the get_property method.
3085
3086         Add debug output
3087
3088 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3089
3090         * tests/check/Makefile.am:
3091         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3092         (main):
3093         Add a very simple check that should have caught the memleak I fixed
3094         last night (if not for the slice allocator hiding it)
3095
3096 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3097
3098         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3099         (gst_bin_remove_func), (gst_bin_handle_message_func),
3100         (bin_query_duration_fold), (bin_query_generic_fold):
3101         Clean up references to the clock provider when disposed or when
3102         handling a clock-lost message from it.
3103
3104         Unref sinks when performing a query via gst_iterator_fold, as the
3105         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3106
3107         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3108         (gst_clock_set_master):
3109         Drop our reference to the master clock, if any, when we are disposed.
3110
3111         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3112         Chain up in dispose. 
3113
3114 2006-01-26  Wim Taymans  <wim@fluendo.com>
3115
3116         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3117         Add some debugging.
3118
3119 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3120
3121         * plugins/elements/gsttee.c: (gst_tee_do_push),
3122         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3123         handles pad being NOT_LINKED or in WRONG_STATE.
3124
3125 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3126
3127         * win32/MANIFEST:
3128           more updating
3129
3130 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3131
3132         * win32/MANIFEST:
3133           remove obsolete entry
3134
3135 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3136
3137         * docs/gst/gstreamer-sections.txt:
3138         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3139         (gst_bin_iterate_sources), (gst_bin_send_event):
3140         * gst/gstbin.h:
3141         * gst/gstelement.c: (gst_element_send_event):
3142         * gst/gstevent.c:
3143         * gst/gstpad.c: (gst_pad_send_event):
3144           added code for downstream events, reviewed docs in gstevent.c
3145
3146 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3147
3148         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3149         We only query position using the clock in the playing state.
3150         Query peer in the other cases.
3151         * win32/common/config.h: Updates.
3152
3153 2006-01-24  Wim Taymans  <wim@fluendo.com>
3154
3155         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3156         A clock entry that is scheduled for the exact time of the
3157         clock is still in time.
3158
3159         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3160         (gst_base_sink_do_sync):
3161         Add some more debug info.
3162
3163 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3164
3165         * win32/vs7:
3166           Add new vs7 project files and solution.
3167
3168 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3169
3170         * win32/vs7:
3171           all files removed as they were out-dated.
3172
3173 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3174
3175         * docs/random/release:
3176           update notes
3177         * gst/gstbin.c: (gst_bin_init):
3178         * gst/gstbus.c: (gst_bus_new):
3179         * gst/gstbus.h:
3180         * gst/gstpipeline.c: (gst_pipeline_init):
3181           use gst_bus_new(), improve logging, fix docs
3182         * win32/common/config.h:
3183           update for cvs build
3184
3185 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3186
3187         * autogen.sh:
3188           up required version of automake to 1.7
3189
3190 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3191
3192         * win32/common/libgstreamer.def:
3193           export gst_buffer_is_metadata_writable
3194
3195 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3196
3197         * docs/gst/gstreamer-sections.txt:
3198         * gst/gstevent.h:
3199           Add gst_event_replace() (#327001)
3200
3201 2006-01-20  Wim Taymans  <wim@fluendo.com>
3202
3203         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3204         Make it actually compile too..
3205
3206 2006-01-20  Wim Taymans  <wim@fluendo.com>
3207
3208         * gst/gstcaps.c:
3209         Clarify behaviour of _is_equal() when passing NULL parameters.
3210
3211         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3212         (gst_pad_set_caps):
3213         Cleanups. Don't unref NULL caps.
3214         When setting the same caps, protect caps of the pad with
3215         proper lock.
3216         Use full functionality of _is_equal() when comparing caps.
3217
3218 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3219
3220         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3221         Don't loop infinitely if there are no buffers to present. Partially
3222         fixes #327197, but collectpads is just broken for reusing elements
3223         to do multiple encodes atm.
3224
3225 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3226
3227         * tools/gst-inspect.c: (print_element_features):
3228         * tools/gst-xmlinspect.c: (main):
3229         URL_HANDLER is not a plugin feature we can search for in
3230         the registry.
3231
3232 2006-01-19  Edward Hervey  <edward@fluendo.com>
3233
3234         * gst/gstelement.c: (gst_element_pads_activate): 
3235         When activating, do src pads first, then sink pads.
3236         When de-activating, do sink pads first, then src pads.
3237
3238 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3239
3240         * docs/gst/gstreamer-sections.txt:
3241         Add gst_index_add_associationv to the docs
3242
3243 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3244
3245         * gst/gstevent.c:
3246           Fix docs typo
3247
3248         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3249         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3250           Do some refactoring. Doesn't actually change functionality,
3251           but makes landing the DRAIN event easier later.
3252
3253 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3254
3255         * docs/pwg/advanced-scheduling.xml:
3256           Update from 0.9.x to 0.10 API and make example a bit
3257           clearer.
3258
3259 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3260
3261         * docs/gst/gstreamer-sections.txt:
3262         Add gst_buffer_(is|make)_metadata_writable methods.
3263
3264 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3265
3266         * docs/design/part-sparsestreams.txt:
3267         Update sparse streams doc, hopefully for greater clarity
3268
3269 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3270
3271         * docs/design/part-events.txt:
3272         Remove mention of FILLER events.
3273         Add DRAIN event.
3274
3275         * docs/design/part-sparsestreams.txt:
3276         Write some things about using NEWSEGMENT to keep sparse streams
3277         flowing.
3278
3279 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3280
3281         * gst/gstbin.c: (gst_bin_dispose):
3282           Guard gst_object_unref call against a NULL object (dispose
3283           can theoretically be called multiple times).
3284           
3285 2006-01-18  Wim Taymans  <wim@fluendo.com>
3286
3287         * gst/gstbin.c: (gst_bin_element_set_state):
3288         * gst/gstclock.c: (gst_clock_id_wait):
3289         Added some more debug info.
3290
3291         * libs/gst/base/gstadapter.c:
3292         Added more docs.
3293
3294         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3295         (gst_base_sink_do_sync), (gst_base_sink_chain):
3296         Added some comments.
3297
3298 2006-01-18  Wim Taymans  <wim@fluendo.com>
3299
3300         * tests/check/Makefile.am:
3301         * tests/check/elements/fakesink.c: (chain_async_buffer),
3302         (chain_async), (chain_async_return), (GST_START_TEST),
3303         (fakesink_suite), (main):
3304         Added fakesink test that checks prerolling and clipping
3305         behaviour.
3306
3307         * tests/check/gst/gstutils.c: (GST_START_TEST):
3308         Make check run faster so that buildbots don't timeout.
3309
3310 2006-01-18  Wim Taymans  <wim@fluendo.com>
3311
3312         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3313         (gst_base_sink_do_sync):
3314         Some cleanups.
3315         When the sink finishes blocking on the preroll buffer, it can
3316         immediatly render it instead of rendering when the next buffer
3317         arrives.
3318
3319 2006-01-18  Wim Taymans  <wim@fluendo.com>
3320
3321         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3322         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3323         (gst_base_sink_chain):
3324         Small cleanups.
3325         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3326         Don't store _last_stop if the buffer is dropped.
3327
3328 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3329
3330         * plugins/elements/gsttypefindelement.c:
3331         (gst_type_find_element_class_init):
3332           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3333           object method handler that sets the caps on the pad and we want
3334           that to happen before we emit the signal (fixes e.g. feeding a
3335           plain text file to decodebin).
3336
3337 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3338
3339         * gst/gstplugin.c: Add MPL and Proprietary as license options
3340
3341 2006-01-18  Andy Wingo  <wingo@pobox.com>
3342
3343         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3344         symbol was exported before, it appears this was just an oversight.
3345         Fixes #168703.
3346         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3347
3348         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3349         prototype to gint. OK since this prototype was not in the header.
3350
3351 2006-01-17  Andy Wingo  <wingo@pobox.com>
3352
3353         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3354         registry while we remove plugins.
3355
3356         * tools/gst-inspect.c (print_element_info): Don't unref the
3357         factory arg, that should be the responsibility of whatever code
3358         received the ref. Fixes a double-free when called from
3359         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3360         (main): Unref the factory if we have one.
3361         (print_element_list): No change -- relies on the
3362         plugin_feature_list_free to free the list of features.
3363
3364 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3365
3366         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3367         (gst_buffer_make_metadata_writable):
3368         * gst/gstbuffer.h:
3369         * libs/gst/base/gstbasetransform.c:
3370         (gst_base_transform_prepare_output_buf):
3371         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3372         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3373           Replace gst_buffer_(make|is)_metadata_writable patch now
3374           that the release is out.
3375
3376 2006-01-17  Andy Wingo  <wingo@pobox.com>
3377
3378         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3379         in the present tense without reference to versions.
3380
3381         * gst/gstregistry.c (gst_registry_add_plugin)
3382         (gst_registry_remove_plugin, gst_registry_remove_feature)
3383         (gst_registry_find_feature, gst_registry_get_feature_list)
3384         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3385         (gst_registry_lookup, gst_registry_scan_path)
3386         (_gst_registry_remove_cache_plugins)
3387         (gst_registry_get_feature_list_by_plugin): Add argument
3388         validation.
3389
3390 === release 0.10.2 ===
3391
3392 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3393
3394         * configure.ac:
3395           releasing 0.10.2, "If man is five"
3396
3397 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3398
3399         * gst/gstbuffer.c:
3400         * gst/gstbuffer.h:
3401         * libs/gst/base/gstbasetransform.c:
3402         (gst_base_transform_prepare_output_buf):
3403         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3404         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3405           Back out patch until after the release.
3406
3407 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3408
3409         * gst/gstminiobject.c:
3410           Spelling fix in docs.
3411         * ChangeLog - remove conflict indicator
3412
3413 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3414
3415         Reviewed By: Andy Wingo
3416
3417         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3418         (gst_buffer_make_metadata_writable):
3419         * gst/gstbuffer.h:
3420           Add gst_buffer_(is|make)_metadata_writable as analogues of
3421           gst_buffer_(is|make)_writable.
3422
3423         * libs/gst/base/gstbasetransform.c:
3424         (gst_base_transform_prepare_output_buf):
3425         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3426           Use name gst_buffer_(is|make)_metadata_writable functions.
3427
3428         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3429           Test gst_buffer_(is|make)_metadata_writable
3430         
3431           (Closes: #324162)
3432
3433 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3434
3435         * docs/manual/Makefile.am:
3436           don't do parallel make
3437         * configure.ac:
3438           AC_SUBST HOST_CPU
3439         * win32/common/config.h.in:
3440           add generations for HOST_CPU and GST_MAJORMINOR
3441         * win32/common/config.h:
3442           commit generated result
3443
3444 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3445
3446         * docs/manual/appendix-integration.xml:
3447           Update GNOME integration section to use gst_init_get_option_group()
3448           instead of the old popt stuff (#322911). Also, GNOME applications
3449           should  now use gconf*sink and gconf*src instead of the old gconf
3450           helper lib we had.
3451
3452 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3453
3454
3455         * docs/gst/gstreamer-docs.sgml:
3456         * docs/gst/gstreamer-sections.txt:
3457         * docs/libs/gstreamer-libs-sections.txt:
3458           add new API entries to the docs
3459         * libs/gst/controller/Makefile.am:
3460         * libs/gst/controller/gstcontroller.c:
3461         * libs/gst/controller/gstcontroller.h:
3462         * libs/gst/controller/gstcontrollerprivate.h:
3463         * libs/gst/controller/gsthelper.c:
3464         * libs/gst/controller/gstinterpolation.c:
3465           move private structs to private header
3466         * po/README:
3467           gstreamer-0.7 -> gstreamer-0.10
3468         * tests/check/libs/struct_i386.h:
3469           remove private structs
3470
3471 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3472
3473         * plugins/indexers/Makefile.am:
3474           Fixes as part of #317048
3475
3476 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3477
3478         * plugins/indexers/Makefile.am:
3479           fix #316086 - compilation when mmap is missing
3480
3481 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3482
3483         * libs/gst/base/gstbasesink.c:
3484           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3485           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3486         * win32/common/config.h:
3487           added some defines GST_MAJORMINOR and HOST_CPU
3488         * win32/common/libgstbase.def:
3489         * win32/common/libgstreamer.def:
3490           added some exported functions.
3491
3492 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3493
3494         * libs/gst/controller/gstcontroller.c:
3495         (gst_controlled_property_set_interpolation_mode),
3496         (gst_controlled_property_new):
3497         * libs/gst/controller/gstcontroller.h:
3498         * libs/gst/controller/gstinterpolation.c:
3499         (interpolate_none_get_string_value_array):
3500           make G_TYPE_STRING controlable
3501
3502 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3503
3504         * tools/README:
3505         * tools/gst-feedback.1.in:
3506         * tools/gst-inspect.1.in:
3507         * tools/gst-launch.1.in:
3508         * tools/gst-md5sum.1.in:
3509         * tools/gst-typefind.1.in:
3510         * tools/gst-xmlinspect.1.in:
3511         * tools/gst-xmllaunch.1.in:
3512           cleanup man-pages, remove reference to gst-register, document env-vars
3513
3514 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3515
3516         * gst/gstbuffer.c: (gst_buffer_span):
3517           gst_buffer_span should copy the timestamp of the first buffer
3518           if they were both originally overlapping subbuffers of the 
3519           same parent, using the same logic as the 'slow copy' case.
3520
3521 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3522
3523         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3524           Need to awaken ALL the pads when we pop a buffer, otherwise
3525           collectpads only works when there is 2 input streams.
3526
3527 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3528
3529         * docs/random/ensonic/media-device-daemon.txt:
3530           more ideas (dbus)
3531         * gst/gstbuffer.c:
3532           fix doc example, add clarification
3533         * tools/gst-launch.1.in:
3534           add initial info about GST_PLUGIN_PATH, needs more work
3535
3536 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3537
3538         * docs/manual/basics-bins.xml:
3539         * docs/manual/basics-elements.xml:
3540         * docs/manual/intro-basics.xml:
3541           Some more minor docs additions and updates.
3542
3543 2006-01-11  Wim Taymans  <wim@fluendo.com>
3544
3545         * docs/manual/basics-bins.xml:
3546         * docs/manual/basics-elements.xml:
3547         Some small fixes as pointed out by Ser-ver on IRC.
3548
3549 2006-01-10  Edward Hervey  <edward@fluendo.com>
3550
3551         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3552         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3553         the single-segment mode.
3554
3555 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3556
3557         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3558
3559         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3560         (gst_base_src_perform_seek), (gst_base_src_send_event),
3561         (gst_base_src_set_property), (gst_base_src_get_property),
3562         (gst_base_src_loop), (gst_base_src_start),
3563         (gst_base_src_activate_push):
3564         * libs/gst/base/gstbasesrc.h:
3565           Name (private) union; makes Sun's Forte compiler happy (#324900).
3566
3567 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3568
3569         * README:
3570           gst-register is gone.
3571
3572 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3573
3574         * gst/gstvalue.c: (_gst_value_initialize):
3575           make the G_TYPE_DATE instantiation work if debug is disabled
3576
3577 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3578
3579         * gst/gstmessage.c: (gst_message_parse_tag),
3580         (gst_message_parse_error), (gst_message_parse_warning):
3581           Don't crash when return location for error/warning debug
3582           string is NULL; add fact that return locations can be
3583           NULL to docs where appropriate.
3584
3585 2006-01-05  Wim Taymans  <wim@fluendo.com>
3586
3587         * gst/gstplugin.c: (gst_plugin_load_file):
3588         Replace strdup by g_strdup.
3589
3590 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3591
3592         * docs/pwg/advanced-types.xml:
3593           fix doc borkage
3594
3595 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3596
3597         submitted by: Abel Cheung
3598
3599         * po/LINGUAS:
3600         * po/zh_TW.po:
3601           Added Chinese (traditional) translation
3602
3603 2006-01-04  Wim Taymans  <wim@fluendo.com>
3604
3605         * docs/manual/basics-pads.xml:
3606         * docs/plugins/Makefile.am:
3607         * docs/plugins/gstreamer-plugins-docs.sgml:
3608         * docs/plugins/gstreamer-plugins-sections.txt:
3609         * docs/pwg/advanced-clock.xml:
3610         * docs/pwg/advanced-scheduling.xml:
3611         * docs/pwg/advanced-types.xml:
3612         * plugins/elements/gstfdsink.c:
3613         * plugins/elements/gstfdsrc.c:
3614         * plugins/elements/gstfdsrc.h:
3615         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3616         * plugins/elements/gstidentity.h:
3617         * plugins/elements/gstqueue.h:
3618         * plugins/elements/gsttee.c:
3619         * plugins/elements/gsttee.h:
3620         * plugins/elements/gsttypefindelement.c:
3621         (gst_type_find_element_class_init):
3622         * plugins/elements/gsttypefindelement.h:
3623         Small updates to various docs.
3624         Added core plugins to docs.
3625
3626 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3627
3628         * common/gst.supp:
3629           add a suppression for liboil's uninitialized variable
3630
3631 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3632
3633         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3634
3635         * gst/gstutils.h:
3636           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3637           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3638           compiler switch is being used (#325429).
3639
3640 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3641
3642         * gst/gstbin.c: (gst_bin_query):
3643           Disable duration query caching in bins until it gets
3644           fixed (see #324807).
3645
3646 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3647
3648         * tools/gst-inspect.c: (print_element_properties_info):
3649           Handle properties of POINTER and BOXED type.
3650
3651 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3652
3653         * gst/gst.c: (init_post):
3654           Init tags stuff and some other things before loading
3655           any static plugins (there may be other static plugins
3656           than just the GStreamer ones, and they may want to
3657           register their own tags or formats or whatever, and
3658           preferably without segfaulting).
3659
3660         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3661           Print at least a warning in the debug logs if we drop a
3662           query just because we don't know how to adjust the value
3663           in the particular format.
3664
3665 2005-12-24  David Schleef  <ds@schleef.org>
3666
3667         * tools/gstreamer-completion:
3668           Replacement for gst-complete written in sh and sed.  Only
3669           completes names of features, but that's 90% of what I want
3670           it for.  Properties are not available in registry.xml.  (Maybe
3671           they should be...)
3672
3673 === release 0.10.1 ===
3674
3675 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3676
3677         * configure.ac:
3678           releasing 0.10.1, "Nollaig chridheil"
3679
3680 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3681
3682         * docs/faq/cvs.xml:
3683           Add missing quote, should be make ERROR_CFLAGS="".
3684
3685 2005-12-20  Wim Taymans  <wim@fluendo.com>
3686
3687         * docs/design/part-trickmodes.txt:
3688         More documentation on trickmodes.
3689
3690 2005-12-20  Edward Hervey  <edward@fluendo.com>
3691
3692         * gst/gstcaps.c: (gst_static_caps_get_type):
3693         * gst/gstcaps.h:
3694           API addition: GST_TYPE_STATIC_CAPS
3695         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3696         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3697         * gst/gstpadtemplate.h:
3698           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3699         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3700         bindings.
3701
3702 2005-12-18  Wim Taymans  <wim@fluendo.com>
3703
3704         * libs/gst/base/gstadapter.c:
3705         * libs/gst/base/gstadapter.h:
3706         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3707         (gst_base_sink_get_position):
3708         * libs/gst/base/gstbasesink.h:
3709         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3710         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3711         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3712         (gst_base_src_send_event), (gst_base_src_update_length),
3713         (gst_base_src_get_range), (gst_base_src_loop),
3714         (gst_base_src_start):
3715         * libs/gst/base/gstbasesrc.h:
3716         * libs/gst/base/gstbasetransform.h:
3717         * libs/gst/base/gstcollectpads.h:
3718         * libs/gst/base/gstpushsrc.c:
3719         * libs/gst/base/gstpushsrc.h:
3720         * libs/gst/dataprotocol/dataprotocol.c:
3721         * libs/gst/dataprotocol/dataprotocol.h:
3722         * libs/gst/net/gstnetclientclock.h:
3723         * libs/gst/net/gstnettimeprovider.h:
3724         Documentation updates.
3725
3726 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3727
3728         * docs/manual/basics-helloworld.xml:
3729           Remove superfluous closing bracket in helloworld example.
3730
3731 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3732
3733         * tools/gst-launch.1.in:
3734           Update gst-launch man page; add a section with useful
3735           environment variables. Fixes #323882.
3736
3737 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
3738
3739         * gst/gst.c:
3740         * gst/gst_private.h:
3741           change some char* into char[]
3742
3743 2005-12-16  Wim Taymans  <wim@fluendo.com>
3744
3745         * gst/gstregistryxml.c: (load_feature):
3746         Cleanups.
3747         Don't use g_object_unref on GstObjects so that we avoid
3748         leaks on unsafe glibs.
3749
3750 2005-12-16  Wim Taymans  <wim@fluendo.com>
3751
3752         * gst/gstbin.c: (gst_bin_recalc_state):
3753         Small doc updates.
3754
3755 2005-12-16  Wim Taymans  <wim@fluendo.com>
3756
3757         * common/check.mak:
3758         Added make forever target for check.
3759
3760 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3761
3762         * gst/gst.c: (init_post):
3763           make the registry cache file HOST_CPU-dependent
3764
3765 2005-12-16  Andy Wingo  <wingo@pobox.com>
3766
3767         * plugins/elements/gstbufferstore.c
3768         (gst_buffer_store_cleared_func): Pay attention to g_list_append
3769         return value.
3770
3771         * tests/check/gst/gstobject.c
3772         (test_fake_object_name_threaded_unique): Pay attention to
3773         g_list_sort return value.
3774
3775 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3776
3777         * tools/gst-feedback-m.m:
3778           Update for 0.9/0.10 (fixes #323870).
3779
3780 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
3781
3782         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3783           Fix lcopy for mini objects, the mini object needs to be ref'ed.
3784           
3785         * tests/check/gst/gstminiobject.c: (my_foo_init),
3786         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3787         (test_value_collection), (gst_mini_object_suite):
3788           Add test to ensure refcounts end up as expected when passing
3789           GstMiniObjects through g_object_get() and g_object_set().
3790
3791 2005-12-14  Julien MOUTTE  <julien@moutte.net>
3792
3793         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3794         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
3795         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
3796         of collectpads. This version removes a lot of races without
3797         touching API/ABI. Yay !
3798
3799 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
3800
3801         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
3802           Don't allow activation of a srcpad in pull_range if it has no
3803           getrange function.
3804           Change some debug statements to be a little clearer
3805
3806         * plugins/elements/gsttypefindelement.c:
3807         (gst_type_find_handle_src_query):
3808           Check that we have a peer before executing queries thereupon.
3809
3810         * tests/examples/metadata/read-metadata.c: (message_loop):
3811           Use gst_bus_pop instead of gst_bus_poll when we just want it to
3812           immediately return us any available message with 0 timeout.
3813
3814 2005-12-12  Michael Smith  <msmith@fluendo.com>
3815
3816         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3817           Don't unref factories after calling them.
3818         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
3819         * plugins/elements/gsttypefindelement.c:
3820         (gst_type_find_element_chain):
3821           Free lists of factories after using them. Fixing typefinding memory
3822           leaks.
3823
3824 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3825
3826         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3827         (gst_plugin_feature_load):
3828           more meaningful debug output
3829         * configure.ac:
3830         * tests/Makefile.am:
3831         * tests/old/examples/Makefile.am:
3832           make make distcheck happy again
3833
3834 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3835
3836         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3837           Catch the special case where we are operating chain-based,
3838           but the downstream peer pad has no chain function. Emit a
3839           custom error message in this case instead of letting the
3840           core generate one implying that this is some sort of core
3841           bug. It's not, it just means that whatever got plugged
3842           into the pipeline downstream when we announced the type
3843           can only operate pull-based, while our source can only
3844           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3845           Error string has not been marked for translation yet, as
3846           it probably needs some more work first.
3847
3848         (gst_type_find_element_get_best_possibility):
3849           Add helper function to find the best of all available
3850           found possibilities that qualify given the min. threshold.
3851
3852         (gst_type_find_element_handle_event):
3853           Fix the case where we get an EOS while still in TYPEFIND
3854           mode (we want to chose the best of all possible types,
3855           not just the first type that happens to be in our unsorted
3856           list of possible types).
3857
3858         (gst_type_find_element_chain):
3859           Make sure we return GST_FLOW_ERROR when we errored out
3860           in stop_typefinding(); also, don't just find the best of
3861           all found type entries and then use the last examined
3862           type entry, but actually use the best entry.
3863
3864 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3865
3866         * tests/examples/typefind/typefind.c: (type_found):
3867         * tests/examples/xml/runxml.c: (xml_loaded):
3868           More gcc4 fixes and a mem leak fix.
3869
3870 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3871
3872         * tests/examples/xml/createxml.c: (object_saved):
3873           gcc 4 fixes
3874
3875 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3876
3877         * tests/Makefile.am:
3878           enable the examples even more
3879
3880 2005-12-12  Andy Wingo  <wingo@pobox.com>
3881
3882         * libs/gst/net/gstnettimeprovider.c
3883         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3884         (gst_net_time_provider_set_property)
3885         (gst_net_time_provider_get_property):
3886         API addition: Export "active" as a GObject property.
3887         (gst_net_time_provider_thread): Only respond to time queries if
3888         the time provider is active.
3889
3890         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
3891         NetTimeProvider, preserving binary compat.
3892
3893 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3894
3895         * tests/examples/controller/audio-example.c: (main):
3896         * tests/examples/launch/Makefile.am:
3897           convert comments again
3898
3899 2005-12-12  Wim Taymans  <wim@fluendo.com>
3900
3901         * libs/gst/base/gstpushsrc.c:
3902         Fix typo.
3903
3904 2005-12-12  Wim Taymans  <wim@fluendo.com>
3905
3906         * docs/libs/gstreamer-libs-sections.txt:
3907         Added new symbol to docs.
3908
3909         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3910         (gst_base_src_init), (gst_base_src_set_format),
3911         (gst_base_src_default_query), (gst_base_src_query),
3912         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
3913         (gst_base_src_perform_seek), (gst_base_src_send_event),
3914         (gst_base_src_default_event), (gst_base_src_event_handler),
3915         (gst_base_src_set_property), (gst_base_src_get_property),
3916         (gst_base_src_wait), (gst_base_src_do_sync),
3917         (gst_base_src_update_length), (gst_base_src_get_range),
3918         (gst_base_src_check_get_range), (gst_base_src_loop),
3919         (gst_base_src_default_negotiate), (gst_base_src_start),
3920         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3921         (gst_base_src_change_state):
3922         * libs/gst/base/gstbasesrc.h:
3923         Implement seeking to other formats than _BYTES.
3924         Implement more seeking methods correctly.
3925         Doc updates.
3926         Added query vmethod.
3927         Added do_seek vmethod to make life easier for subclasses
3928         when seeking.
3929         API addition: gst_base_src_set_format()
3930
3931 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3932
3933         * tests/examples/Makefile.am:
3934           added that too
3935
3936 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3937
3938         * configure.ac:
3939         * docs/random/ensonic/media-device-daemon.txt:
3940         * tests/examples/controller/.cvsignore:
3941         * tests/examples/controller/Makefile.am:
3942         * tests/examples/controller/audio-example.c: (main):
3943         * tests/examples/helloworld/.cvsignore:
3944         * tests/examples/helloworld/Makefile.am:
3945         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
3946         * tests/examples/launch/.cvsignore:
3947         * tests/examples/launch/Makefile.am:
3948         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
3949         * tests/examples/metadata/.cvsignore:
3950         * tests/examples/metadata/Makefile.am:
3951         * tests/examples/metadata/read-metadata.c: (message_loop),
3952         (make_pipeline), (print_tag), (main):
3953         * tests/examples/queue/.cvsignore:
3954         * tests/examples/queue/Makefile.am:
3955         * tests/examples/queue/queue.c: (event_loop), (main):
3956         * tests/examples/typefind/.cvsignore:
3957         * tests/examples/typefind/Makefile.am:
3958         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
3959         (main):
3960         * tests/examples/xml/.cvsignore:
3961         * tests/examples/xml/Makefile.am:
3962         * tests/examples/xml/createxml.c: (object_saved), (main):
3963         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
3964         * tests/old/examples/Makefile.am:
3965         * tests/old/examples/TODO:
3966         * tests/old/examples/controller/.cvsignore:
3967         * tests/old/examples/controller/Makefile.am:
3968         * tests/old/examples/controller/audio-example.c:
3969         * tests/old/examples/helloworld/.cvsignore:
3970         * tests/old/examples/helloworld/Makefile.am:
3971         * tests/old/examples/helloworld/helloworld.c:
3972         * tests/old/examples/launch/.cvsignore:
3973         * tests/old/examples/launch/Makefile.am:
3974         * tests/old/examples/launch/mp3parselaunch.c:
3975         * tests/old/examples/launch/mp3play:
3976         * tests/old/examples/manual/Makefile.am:
3977         * tests/old/examples/metadata/Makefile.am:
3978         * tests/old/examples/metadata/read-metadata.c:
3979         * tests/old/examples/queue/.cvsignore:
3980         * tests/old/examples/queue/Makefile.am:
3981         * tests/old/examples/queue/queue.c:
3982         * tests/old/examples/typefind/.cvsignore:
3983         * tests/old/examples/typefind/Makefile.am:
3984         * tests/old/examples/typefind/typefind.c:
3985         * tests/old/examples/xml/.cvsignore:
3986         * tests/old/examples/xml/Makefile.am:
3987         * tests/old/examples/xml/createxml.c:
3988         * tests/old/examples/xml/runxml.c:
3989           applied some simple fixing to some examples
3990           re-enabled the working examples
3991
3992 2005-12-12  Wim Taymans  <wim@fluendo.com>
3993
3994         * gst/gstsegment.c: (gst_segment_init),
3995         (gst_segment_set_last_stop), (gst_segment_set_seek),
3996         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3997         (gst_segment_to_running_time):
3998         Added more documentation.
3999         Make sure the last_pos value is updated properly.
4000         Make sure to_stream_time and to_running_time don't
4001         operate on wrong values.
4002
4003         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4004         Update check.
4005
4006 2005-12-12  Michael Smith  <msmith@fluendo.com>
4007
4008         * plugins/elements/gsttypefindelement.c: (free_entry),
4009         (gst_type_find_element_chain):
4010           Now that we're not leaking factories, make sure we keep references
4011           to them while we need them.
4012
4013 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4014
4015         * tests/check/gst/struct_i386.h:
4016           ifdef out the XML structs
4017
4018 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4019
4020         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4021           floor is not needed, F is always positive; this obviates the
4022           need for adding -lm when building without libxml
4023
4024 2005-12-12  Wim Taymans  <wim@fluendo.com>
4025
4026         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4027         Take current playback rate into account when reporting
4028         the position.
4029
4030 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4031
4032         * docs/manual/mime-world.fig:
4033           Let's try this again, this time with a file that is
4034           actually in XFig format.
4035
4036 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4037
4038         * docs/manual/mime-world.fig:
4039           Add audioconvert element to diagram so that it
4040           matches the text and the code (fixes #319526).
4041
4042 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4043
4044         * docs/pwg/building-chainfn.xml:
4045         * docs/pwg/building-pads.xml:
4046         * docs/pwg/building-state.xml:
4047         * docs/pwg/other-source.xml:
4048           Update state change stuff for 0.10 (fixes #322969).
4049
4050 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4051
4052         * docs/manual/advanced-dataaccess.xml:
4053         * docs/manual/appendix-checklist.xml:
4054         * docs/manual/appendix-programs.xml:
4055         * docs/manual/basics-pads.xml:
4056         * docs/manual/highlevel-components.xml:
4057         * docs/manual/manual.xml:
4058           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4059           add converters in front of pipelines; remove curly
4060           brackets for threads stuff, they no longer exist; use
4061           GST_TYPE_FRACTION for framerates; update some pieces of
4062           code to 0.10, but there's plenty more to do.
4063
4064         * docs/manual/appendix-porting.xml:
4065           Expand on asynchroneous state changes; s/0.9/0.10/;
4066           mention disappearance of gst_init_get_popt_table()
4067           (fixes #322916).
4068
4069 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4070
4071         * docs/faq/using.xml:
4072           Spider no longer exists, and neither does gst-launch-ext.
4073           Update examples to use decodebin and playbin and put
4074           converters in front of sinks (fixes #323726).
4075
4076 2005-12-09  Michael Smith  <msmith@fluendo.com>
4077
4078         * plugins/elements/gsttypefindelement.c: (find_peek),
4079         (gst_type_find_element_chain):
4080           Fix leaking element factories in typefinding.
4081           Fix problem where we forgot about a probable type on non-seekable
4082           files, and thus later mis-typefound it.
4083
4084 2005-12-09  Michael Smith  <msmith@fluendo.com>
4085
4086         * common/m4/gst-makecontext.m4:
4087         * common/m4/gst-mcsc.m4:
4088         * configure.ac:
4089         * win32/common/config.h:
4090         * win32/common/config.h.in:
4091           Remove makecontext stuff; not used in 0.10 and causes problems on
4092           HPUX according to bug #322441
4093
4094 2005-12-07  Wim Taymans  <wim@fluendo.com>
4095
4096         * tests/check/Makefile.am:
4097         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4098         (main):
4099         * tests/check/libs/struct_i386.h:
4100         Added ABI check for libs
4101
4102 2005-12-07  Wim Taymans  <wim@fluendo.com>
4103
4104         * tests/check/Makefile.am:
4105         And add the struct_i386.h to dist.
4106
4107 2005-12-07  Wim Taymans  <wim@fluendo.com>
4108
4109         * tests/check/Makefile.am:
4110         * tests/check/gst/.cvsignore:
4111         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4112         (main):
4113         * tests/check/gst/struct_i386.h:
4114         Added check for ABI compatibility.
4115
4116 2005-12-07  Wim Taymans  <wim@fluendo.com>
4117
4118         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4119         (gst_fake_src_get_times), (gst_fake_src_create):
4120         Fix broken sync option, fixes #323259
4121
4122 2005-12-07  Wim Taymans  <wim@fluendo.com>
4123
4124         * gst/gstbuffer.c:
4125         Small docs update.
4126
4127         * gst/gstcaps.c: (gst_caps_is_equal):
4128         Don't assert on NULL <--> X. Fixes #323260
4129
4130         * gst/gstminiobject.c: (gst_mini_object_replace):
4131         If we're doing atomic operations, we might just as well use
4132         the proper way to get an atomic pointer.
4133
4134         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4135         Clean up debugging.
4136
4137 2005-12-07  Michael Smith  <msmith@fluendo.com>
4138
4139         * gst/parse/grammar.y:
4140           Remove handling of { } for threads.
4141
4142 2005-12-06  David Schleef  <ds@schleef.org>
4143
4144         * libs/gst/base/gstbasetransform.c: speling fix.
4145
4146 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4147
4148         * docs/libs/tmpl/gstdataprotocol.sgml:
4149         * docs/random/omega/testing/gstobject.c:
4150         * gst/gst.c:
4151         * gst/gstclock.c:
4152         * gst/gstelement.c:
4153         * gst/gstelementfactory.c:
4154         * gst/gsterror.c:
4155         * gst/gstevent.c:
4156         * gst/gstghostpad.c:
4157         * gst/gstinfo.c:
4158         * gst/gstpadtemplate.c:
4159         * gst/gstregistryxml.c:
4160         * gst/gsttaglist.c:
4161         * gst/gsttagsetter.c:
4162         * gst/gsttypefind.c:
4163         * gst/gstvalue.c:
4164         * libs/gst/base/gstbasesrc.c:
4165         * libs/gst/net/gstnetclientclock.c:
4166         * libs/gst/net/gstnettimeprovider.c:
4167         * plugins/elements/gstfakesrc.c:
4168         * plugins/elements/gstfdsrc.c:
4169         * plugins/elements/gstfilesrc.c:
4170         * plugins/elements/gstidentity.c:
4171         * plugins/elements/gstqueue.c:
4172         * plugins/elements/gsttypefindelement.c:
4173         * plugins/indexers/gstfileindex.c:
4174         * plugins/indexers/gstmemindex.c:
4175         * tests/check/gst/gsttag.c:
4176         * tests/old/examples/cutter/cutter.c:
4177         * tests/old/examples/mixer/mixer.c:
4178         * tests/old/examples/xml/runxml.c: (main):
4179         * tests/old/testsuite/caps/normalisation.c:
4180         * tests/old/testsuite/debug/global.c:
4181         * tests/old/testsuite/parse/parse1.c:
4182         * tools/gst-xmlinspect.c:
4183         * win32/common/dirent.c:
4184           expand tabs
4185
4186 === release 0.10.0 ===
4187
4188 2005-12-05   <thomas (at) apestaart (dot) org>
4189
4190         * configure.ac:
4191           releasing 0.10.0, "Maroilles"
4192
4193 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4194
4195         submitted by: Funda Wang <fundawang@linux.net.cn>
4196
4197         * po/LINGUAS:
4198         * po/zh_CN.po:
4199           added Chinese (Traditional) translation
4200
4201 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4202
4203         * docs/gst/gstreamer-sections.txt:
4204         * docs/libs/tmpl/gstdataprotocol.sgml:
4205         * docs/random/thomasvs/TODO:
4206         * gst/gstutils.c:
4207         * gst/gstutils.h:
4208           fix docs
4209
4210 2005-12-05  Andy Wingo  <wingo@pobox.com>
4211
4212         patch by: Wim Taymans <wim@fluendo.com>
4213
4214         * libs/gst/base/gstbasetransform.c
4215         (gst_base_transform_prepare_output_buf)
4216         (gst_base_transform_buffer_alloc):
4217         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4218         alloc_buffer_and_set_caps.
4219
4220         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4221         set_caps on the source pad.
4222         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4223         alloc_buffer used to do. Fixes #322874.
4224
4225         * docs/gst/gstreamer-sections.txt: 
4226         * docs/design/part-negotiation.txt: 
4227         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4228         changes.
4229
4230 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4231
4232         patch by: Sebastien Moutte
4233
4234         * win32/MANIFEST:
4235         * win32/common/config.h.in:
4236         * win32/vs6/libgstcontroller.dsp:
4237           win32 build fixes
4238
4239 2005-12-05  Wim Taymans  <wim@fluendo.com>
4240
4241         * gst/gstcaps.c: (gst_caps_is_equal):
4242         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4243         (gst_fake_src_create):
4244         Back out previous code changes, leave doc updates, file bugs 
4245         instead. 
4246
4247 2005-12-05  Wim Taymans  <wim@fluendo.com>
4248
4249         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4250         (gst_fake_src_get_times), (gst_fake_src_create):
4251         * plugins/elements/gstfakesrc.h:
4252         Fix broken sync code.
4253
4254 2005-12-05  Wim Taymans  <wim@fluendo.com>
4255
4256         * gst/gstcaps.c: (gst_caps_is_equal):
4257         Comparing NULL against !NULL yields different caps, not a
4258         failure.
4259
4260 2005-12-05  Wim Taymans  <wim@fluendo.com>
4261
4262         * gst/gstpipeline.c:
4263         Fix small typo in docs.
4264
4265 2005-12-05  Andy Wingo  <wingo@pobox.com>
4266
4267         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4268
4269         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4270         registries/plugins with a MAJORMINOR one.
4271         (plugin_desc): Rename library from gstcoreleements to
4272         staticelements. Fixes #323222.
4273
4274 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4275
4276         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4277           Change debug category to 'collectpads' from 'collect_pads'
4278           (fixes #323250).
4279
4280 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4281
4282         patch by: Sebastien Moutte
4283
4284         * libs/gst/controller/gstinterpolation.c:
4285           use convert function for uint64/double
4286         * win32/vs6/libgstcontroller.dsp:
4287           link to GLib
4288
4289 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4290
4291         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4292         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4293         * gst/gstutils.h:
4294         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4295           add tests that seem to show that the guint64/gdouble conversions
4296           are correct.
4297
4298 2005-12-02  Wim Taymans  <wim@fluendo.com>
4299
4300         * gst/gstregistry.c: (gst_registry_add_path):
4301         * gst/gstregistry.h:
4302         * gst/gstregistryxml.c:
4303         Fix docs again.
4304
4305 2005-12-02  Wim Taymans  <wim@fluendo.com>
4306
4307         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4308         (gst_util_uint64_scale_int):
4309         Small cleanup.
4310
4311         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4312         Add debug log line.
4313
4314         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4315         Add FIXME.
4316
4317 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4318
4319         * win32/MANIFEST:
4320         * win32/common/config.h:
4321         * win32/vs6/gstreamer.dsw:
4322         * win32/vs6/libgstcoreelements.dsp:
4323         * win32/vs6/libgstelements.dsp:
4324           renamed core elements plugin
4325
4326 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4327
4328         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4329         (get_candidates):
4330           do piece-wise major/minor comparison so 0.9 < 0.10
4331           also allow .exe extensions for tools
4332
4333 2005-12-02  Michael Smith  <msmith@fluendo.com>
4334
4335         * gst/gst.c:
4336           Escape a % to make gtkdoc happier; bug 322958.
4337
4338 === release 0.9.7 ===
4339
4340 2005-12-01   <thomas (at) apestaart (dot) org>
4341
4342         * configure.ac:
4343           releasing 0.9.7, "My Dog Has No Nose"
4344
4345 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4346
4347         * common/gst-xmlinspect.py:
4348         * configure.ac:
4349         * docs/libs/tmpl/gstdataprotocol.sgml:
4350         * docs/random/release:
4351         * po/af.po:
4352         * po/az.po:
4353         * po/bg.po:
4354         * po/ca.po:
4355         * po/cs.po:
4356         * po/de.po:
4357         * po/en_GB.po:
4358         * po/fr.po:
4359         * po/it.po:
4360         * po/nb.po:
4361         * po/nl.po:
4362         * po/ru.po:
4363         * po/sq.po:
4364         * po/sr.po:
4365         * po/sv.po:
4366         * po/tr.po:
4367         * po/uk.po:
4368         * po/vi.po:
4369         * win32/common/config.h:
4370         * win32/common/config.h.in:
4371         * win32/vs6/gst_inspect.dsp:
4372         * win32/vs6/gst_launch.dsp:
4373         * win32/vs6/libgstbase.dsp:
4374         * win32/vs6/libgstelements.dsp:
4375         * win32/vs6/libgstreamer.dsp:
4376         * win32/vs7/GStreamer.vcproj:
4377         * win32/vs7/gst-inspect.vcproj:
4378         * win32/vs7/gst-launch.vcproj:
4379         * win32/vs7/libgstbase.vcproj:
4380           bump GST_MAJORMINOR to 0.10
4381           reset libtool version
4382
4383 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4384
4385         * po/LINGUAS:
4386         * po/bg.po:
4387           Added Bulgarian translation by (Alexander Shopov)
4388
4389 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4390
4391         * tests/check/gst/gstplugin.c:
4392           fix test
4393
4394 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4395
4396         * common/gst-xmlinspect.py:
4397         * common/gtk-doc-plugins.mak:
4398         * configure.ac:
4399         * docs/Makefile.am:
4400         * docs/gst/Makefile.am:
4401         * docs/gst/gstreamer-docs.sgml:
4402         * docs/gst/gstreamer-sections.txt:
4403         * docs/gst/gstreamer.types:
4404         * docs/gst/gstreamer.types.in:
4405         * docs/plugins/Makefile.am:
4406         * docs/plugins/gstreamer-plugins-docs.sgml:
4407         * docs/plugins/gstreamer-plugins-sections.txt:
4408         * docs/plugins/gstreamer-plugins.types:
4409         * docs/plugins/inspect.stamp:
4410         * docs/plugins/inspect/plugin-coreelements.xml:
4411         * docs/plugins/inspect/plugin-coreindexers.xml:
4412         * docs/plugins/scanobj-build.stamp:
4413         * gstreamer.spec.in:
4414         * plugins/elements/Makefile.am:
4415         * plugins/elements/gstelements.c:
4416         * plugins/elements/gstfakesink.c:
4417         * plugins/elements/gstfakesrc.c:
4418         * plugins/elements/gstfilesink.c:
4419         * plugins/elements/gstfilesrc.c:
4420         * plugins/elements/gstqueue.c:
4421         * plugins/indexers/Makefile.am:
4422         * plugins/indexers/gstindexers.c:
4423           document core plugins in a separate document just like all the
4424           others
4425           rename these plugins to something starting with core
4426
4427 2005-12-01  Andy Wingo  <wingo@pobox.com>
4428
4429         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4430         padding here before, but it missed the commit.
4431
4432 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4433
4434         * libs/gst/controller/gstinterpolation.c:
4435           whitespace prices have crashed, we should feel free to use some now
4436           use gst_guint64_to_gdouble
4437
4438 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         * libs/gst/controller/gstcontroller.c:
4441         * libs/gst/controller/gsthelper.c:
4442         * libs/gst/controller/gstinterpolation.c:
4443         * libs/gst/controller/lib.c:
4444           wrap config.h include
4445
4446 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4447
4448         * docs/gst/gstreamer-sections.txt:
4449           update docs
4450
4451 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4452
4453         * plugins/elements/gstelements.c:
4454         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4455         (gst_fd_sink__class_init), (gst_fd_sink__init),
4456         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4457         (gst_fd_sink__get_property):
4458         * plugins/elements/gstfdsink.h:
4459         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4460         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4461         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4462         (gst_fd_src_unlock), (gst_fd_src_set_property),
4463         (gst_fd_src_get_property), (gst_fd_src_create),
4464         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4465         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4466         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4467         (gst_fd_src_uri_handler_init):
4468         * plugins/elements/gstfdsrc.h:
4469         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4470           more anal cleanup
4471
4472 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4473
4474         * docs/gst/Makefile.am:
4475         * docs/gst/gstreamer.types.in:
4476         * gst/Makefile.am:
4477           fix the docs build
4478
4479 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4480
4481         * configure.ac:
4482         * gst/Makefile.am:
4483         * gst/gst.c:
4484         * gst/gstplugin.h:
4485         * gst/gstregistry.h:
4486         * tests/benchmarks/complexity.c:
4487         * tests/benchmarks/mass-elements.c:
4488         * tests/check/Makefile.am:
4489         * tools/Makefile.am:
4490         * tools/gst-inspect.c:
4491         * tools/gst-xmlinspect.c:
4492           various fixes to make
4493           --disable-nls --disable-registry --disable-loadsave
4494           --disable-parse --disable-gst-debug
4495           work and get the core .so down to 360444 bytes after stripping
4496
4497 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4498
4499         * Makefile.am:
4500         * configure.ac:
4501           descend into tests
4502         * docs/random/thomasvs/TODO:
4503         * tests/Makefile.am:
4504         * tests/README:
4505           add a README
4506
4507 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4508
4509         * win32/GStreamer.vcproj:
4510         * win32/MANIFEST:
4511         * win32/Makefile:
4512         * win32/Makefile.inspect:
4513         * win32/Makefile.launch:
4514         * win32/Makefile.register:
4515         * win32/README.txt:
4516         * win32/gst-inspect.vcproj:
4517         * win32/gst-launch.vcproj:
4518         * win32/gst-register.vcproj:
4519         * win32/gstelements.vcproj:
4520         * win32/gstgetbits.def:
4521         * win32/gstgetbits.vcproj:
4522         * win32/gstreamer-dbg.def:
4523         * win32/gstreamer.def:
4524         * win32/libgstbase.def:
4525         * win32/libgstbase.vcproj:
4526         * win32/link_oldruntime.c:
4527         * win32/mman.c:
4528         * win32/mman.h:
4529         * win32/mman.inl:
4530         * win32/msvc71.sln:
4531           move even more stuff, win32/ is nice and clean now
4532
4533 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4534
4535         * libs/gst/control/.cvsignore:
4536         * win32/MANIFEST:
4537         * win32/config.h:
4538         * win32/dirent.c:
4539         * win32/dirent.h:
4540         * win32/gstbytestream.def:
4541         * win32/gstbytestream.vcproj:
4542         * win32/gstconfig.h:
4543         * win32/gstenumtypes.c:
4544         * win32/gstenumtypes.h:
4545         * win32/gstoptimalscheduler.vcproj:
4546         * win32/gstversion.h:
4547         * win32/gtchar.h:
4548         * win32/testsuite/bins.vcproj:
4549         * win32/testsuite/bytestream.vcproj:
4550         * win32/testsuite/caps.vcproj:
4551         * win32/testsuite/cleanup.vcproj:
4552         * win32/testsuite/clock.vcproj:
4553         * win32/testsuite/debug.vcproj:
4554         * win32/testsuite/dlopen.vcproj:
4555         * win32/testsuite/dynparams.vcproj:
4556         * win32/testsuite/elements.vcproj:
4557         * win32/testsuite/ghostpads.vcproj:
4558         * win32/testsuite/indexers.vcproj:
4559         * win32/testsuite/negotiation.vcproj:
4560         * win32/testsuite/parse.vcproj:
4561         * win32/testsuite/plugin.vcproj:
4562         * win32/testsuite/refcounting.vcproj:
4563         * win32/testsuite/schedulers.vcproj:
4564         * win32/testsuite/states.vcproj:
4565         * win32/testsuite/tags.vcproj:
4566         * win32/testsuite/threads.vcproj:
4567           remove old win32 stuff that isn't maintained and should be
4568           reorganized
4569
4570 2005-11-30  Andy Wingo  <wingo@pobox.com>
4571
4572         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4573         loading the gst.interfaces python module bork.
4574
4575         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4576         available since GLib 2.2. Fixes #318031.
4577
4578 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4579
4580         * Makefile.am:
4581         * check/.cvsignore:
4582         * check/Makefile.am:
4583         * check/elements/.cvsignore:
4584         * check/elements/fakesrc.c:
4585         * check/elements/fdsrc.c:
4586         * check/elements/identity.c:
4587         * check/generic/.cvsignore:
4588         * check/generic/states.c:
4589         * check/gst-libs/.cvsignore:
4590         * check/gst-libs/controller.c:
4591         * check/gst-libs/gdp.c:
4592         * check/gst/.cvsignore:
4593         * check/gst/capslist.h:
4594         * check/gst/gst.c:
4595         * check/gst/gstbin.c:
4596         * check/gst/gstbuffer.c:
4597         * check/gst/gstbus.c:
4598         * check/gst/gstcaps.c:
4599         * check/gst/gstelement.c:
4600         * check/gst/gstevent.c:
4601         * check/gst/gstghostpad.c:
4602         * check/gst/gstiterator.c:
4603         * check/gst/gstmessage.c:
4604         * check/gst/gstminiobject.c:
4605         * check/gst/gstobject.c:
4606         * check/gst/gstpad.c:
4607         * check/gst/gstpipeline.c:
4608         * check/gst/gstplugin.c:
4609         * check/gst/gstsegment.c:
4610         * check/gst/gststructure.c:
4611         * check/gst/gstsystemclock.c:
4612         * check/gst/gsttag.c:
4613         * check/gst/gstutils.c:
4614         * check/gst/gstvalue.c:
4615         * check/net/.cvsignore:
4616         * check/net/gstnetclientclock.c:
4617         * check/net/gstnettimeprovider.c:
4618         * check/pipelines/.cvsignore:
4619         * check/pipelines/cleanup.c:
4620         * check/pipelines/simple_launch_lines.c:
4621         * check/pipelines/stress.c:
4622         * check/states/.cvsignore:
4623         * check/states/sinks.c:
4624         * configure.ac:
4625         * examples/Makefile.am:
4626         * examples/appreader/.cvsignore:
4627         * examples/appreader/Makefile.am:
4628         * examples/appreader/appreader.c:
4629         * examples/controller/.cvsignore:
4630         * examples/controller/Makefile.am:
4631         * examples/controller/audio-example.c:
4632         * examples/cutter/.cvsignore:
4633         * examples/cutter/Makefile.am:
4634         * examples/cutter/cutter.c:
4635         * examples/cutter/cutter.h:
4636         * examples/events/Makefile.am:
4637         * examples/events/seek.c:
4638         * examples/helloworld/.cvsignore:
4639         * examples/helloworld/Makefile.am:
4640         * examples/helloworld/helloworld.c:
4641         * examples/helloworld2/.cvsignore:
4642         * examples/helloworld2/Makefile.am:
4643         * examples/helloworld2/helloworld2.c:
4644         * examples/launch/.cvsignore:
4645         * examples/launch/Makefile.am:
4646         * examples/launch/mp3parselaunch.c:
4647         * examples/launch/mp3play:
4648         * examples/manual/.cvsignore:
4649         * examples/manual/Makefile.am:
4650         * examples/manual/extract.pl:
4651         * examples/metadata/Makefile.am:
4652         * examples/metadata/read-metadata.c:
4653         * examples/mixer/.cvsignore:
4654         * examples/mixer/Makefile.am:
4655         * examples/mixer/mixer.c:
4656         * examples/mixer/mixer.h:
4657         * examples/pingpong/.cvsignore:
4658         * examples/pingpong/Makefile.am:
4659         * examples/pingpong/pingpong.c:
4660         * examples/plugins/.cvsignore:
4661         * examples/plugins/Makefile.am:
4662         * examples/plugins/example.c:
4663         * examples/plugins/example.h:
4664         * examples/pwg/.cvsignore:
4665         * examples/pwg/Makefile.am:
4666         * examples/pwg/extract.pl:
4667         * examples/queue/.cvsignore:
4668         * examples/queue/Makefile.am:
4669         * examples/queue/queue.c:
4670         * examples/queue2/.cvsignore:
4671         * examples/queue2/Makefile.am:
4672         * examples/queue2/queue2.c:
4673         * examples/queue3/.cvsignore:
4674         * examples/queue3/Makefile.am:
4675         * examples/queue3/queue3.c:
4676         * examples/queue4/.cvsignore:
4677         * examples/queue4/Makefile.am:
4678         * examples/queue4/queue4.c:
4679         * examples/retag/.cvsignore:
4680         * examples/retag/Makefile.am:
4681         * examples/retag/retag.c:
4682         * examples/retag/transcode.c:
4683         * examples/thread/.cvsignore:
4684         * examples/thread/Makefile.am:
4685         * examples/thread/thread.c:
4686         * examples/typefind/.cvsignore:
4687         * examples/typefind/Makefile.am:
4688         * examples/typefind/typefind.c:
4689         * examples/xml/.cvsignore:
4690         * examples/xml/Makefile.am:
4691         * examples/xml/createxml.c:
4692         * examples/xml/runxml.c:
4693         * tests/Makefile.am:
4694         * tests/check/Makefile.am:
4695         * testsuite/.cvsignore:
4696         * testsuite/Makefile.am:
4697         * testsuite/Rules:
4698         * testsuite/caps/.cvsignore:
4699         * testsuite/caps/Makefile.am:
4700         * testsuite/caps/app_fixate.c:
4701         * testsuite/caps/audioscale.c:
4702         * testsuite/caps/caps.c:
4703         * testsuite/caps/caps.h:
4704         * testsuite/caps/caps_strings:
4705         * testsuite/caps/compatibility.c:
4706         * testsuite/caps/deserialize.c:
4707         * testsuite/caps/enumcaps.c:
4708         * testsuite/caps/eratosthenes.c:
4709         * testsuite/caps/filtercaps.c:
4710         * testsuite/caps/fixed.c:
4711         * testsuite/caps/fraction-convert.c:
4712         * testsuite/caps/fraction-multiply-and-zero.c:
4713         * testsuite/caps/intersect2.c:
4714         * testsuite/caps/intersection.c:
4715         * testsuite/caps/normalisation.c:
4716         * testsuite/caps/random.c:
4717         * testsuite/caps/renegotiate.c:
4718         * testsuite/caps/sets.c:
4719         * testsuite/caps/simplify.c:
4720         * testsuite/caps/string-conversions.c:
4721         * testsuite/caps/structure.c:
4722         * testsuite/caps/subtract.c:
4723         * testsuite/caps/union.c:
4724         * testsuite/debug/.cvsignore:
4725         * testsuite/debug/Makefile.am:
4726         * testsuite/debug/category.c:
4727         * testsuite/debug/commandline.c:
4728         * testsuite/debug/global.c:
4729         * testsuite/debug/output.c:
4730         * testsuite/debug/printf_extension.c:
4731         * testsuite/dlopen/.cvsignore:
4732         * testsuite/dlopen/Makefile.am:
4733         * testsuite/dlopen/dlopen_gst.c:
4734         * testsuite/dlopen/loadgst.c:
4735         * testsuite/elements/.cvsignore:
4736         * testsuite/elements/Makefile.am:
4737         * testsuite/elements/gst-inspect-check.in:
4738         * testsuite/elements/struct_i386.h:
4739         * testsuite/elements/struct_size.c:
4740         * testsuite/indexers/.cvsignore:
4741         * testsuite/indexers/Makefile.am:
4742         * testsuite/indexers/cache1.c:
4743         * testsuite/indexers/indexdump.c:
4744         * testsuite/parse/.cvsignore:
4745         * testsuite/parse/Makefile.am:
4746         * testsuite/parse/parse1.c:
4747         * testsuite/parse/parse2.c:
4748         * testsuite/plugin/.cvsignore:
4749         * testsuite/plugin/Makefile.am:
4750         * testsuite/plugin/README:
4751         * testsuite/plugin/dynamic.c:
4752         * testsuite/plugin/linked.c:
4753         * testsuite/plugin/loading.c:
4754         * testsuite/plugin/registry.c:
4755         * testsuite/plugin/static.c:
4756         * testsuite/plugin/static2.c:
4757         * testsuite/plugin/testplugin.c:
4758         * testsuite/plugin/testplugin2.c:
4759         * testsuite/plugin/testplugin2_s.c:
4760         * testsuite/plugin/testplugin_s.c:
4761         * testsuite/refcounting/.cvsignore:
4762         * testsuite/refcounting/Makefile.am:
4763         * testsuite/refcounting/bin.c:
4764         * testsuite/refcounting/element.c:
4765         * testsuite/refcounting/element_pad.c:
4766         * testsuite/refcounting/mainloop.c:
4767         * testsuite/refcounting/mem.c:
4768         * testsuite/refcounting/mem.h:
4769         * testsuite/refcounting/object.c:
4770         * testsuite/refcounting/pad.c:
4771         * testsuite/refcounting/sched.c:
4772         * testsuite/refcounting/thread.c:
4773         * testsuite/states/.cvsignore:
4774         * testsuite/states/Makefile.am:
4775         * testsuite/states/bin.c:
4776         * testsuite/states/locked.c:
4777         * testsuite/states/parent.c:
4778         * testsuite/threads/.cvsignore:
4779         * testsuite/threads/159566.c:
4780         * testsuite/threads/159852.c:
4781         * testsuite/threads/Makefile.am:
4782         * testsuite/threads/queue.c:
4783         * testsuite/threads/signals.c:
4784         * testsuite/threads/staticrec.c:
4785         * testsuite/threads/thread.c:
4786         * testsuite/threads/threadb.c:
4787         * testsuite/threads/threadc.c:
4788         * testsuite/threads/threadd.c:
4789         * testsuite/threads/threade.c:
4790         * testsuite/threads/threadf.c:
4791         * testsuite/threads/threadg.c:
4792         * testsuite/threads/threadh.c:
4793         * testsuite/threads/threadi.c:
4794           move all of these under tests
4795
4796 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4797
4798         * configure.ac:
4799         * tests/Makefile.am:
4800           fix distcheck
4801
4802 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4803
4804         * docs/gst/gstreamer-sections.txt:
4805         * tests/sched/.cvsignore:
4806         * tests/sched/Makefile.am:
4807         * tests/sched/cases/(fs-fs).xml:
4808         * tests/sched/cases/(fs-i-fs).xml:
4809         * tests/sched/cases/(fs-i-i-fs).xml:
4810         * tests/sched/cases/(fs-i-q[i-fs]).xml:
4811         * tests/sched/dynamic-pipeline.c:
4812         * tests/sched/interrupt1.c:
4813         * tests/sched/interrupt2.c:
4814         * tests/sched/interrupt3.c:
4815         * tests/sched/runtestcases:
4816         * tests/sched/runxml.c:
4817         * tests/sched/sched-stress.c:
4818         * tests/sched/sort.c:
4819         * tests/sched/testcases:
4820         * tests/sched/testcases1.tc:
4821         * tests/seeking/.cvsignore:
4822         * tests/seeking/Makefile.am:
4823         * tests/seeking/seeking1.c:
4824         * tests/threadstate/.cvsignore:
4825         * tests/threadstate/Makefile.am:
4826         * tests/threadstate/test1.c:
4827         * tests/threadstate/test2.c:
4828         * tests/threadstate/threadstate1.c:
4829         * tests/threadstate/threadstate2.c:
4830         * tests/threadstate/threadstate3.c:
4831         * tests/threadstate/threadstate4.c:
4832         * tests/threadstate/threadstate5.c:
4833           remove obsolete tests
4834         * configure.ac:
4835         * tests/bench-complexity.scm:
4836         * tests/bench-mass_elements.scm:
4837         * tests/complexity.c:
4838         * tests/complexity.gnuplot:
4839         * tests/instantiate/.cvsignore:
4840         * tests/instantiate/Makefile.am:
4841         * tests/instantiate/caps.c:
4842         * tests/mass_elements.c:
4843         * tests/network-clock-utils.scm:
4844         * tests/network-clock.scm:
4845         * tests/plot-data:
4846         First pass at cleaning up tests/ dir before moving the rest
4847         Combined with CVS surgery
4848
4849 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4850
4851         * po/POTFILES.in:
4852           queue has moved, update
4853
4854 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4855
4856         * docs/gst/gstreamer-sections.txt:
4857           remove double entries from the docs
4858         * gst/gst_private.h:
4859         * gst/gstinfo.c: (_gst_debug_init):
4860           remove the THREAD debug category
4861         * gst/Makefile.am:
4862         * gst/gstqueue.c:
4863         * gst/gstqueue.h:
4864         * docs/gst/gstreamer.types:
4865         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4866         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4867           completely move queue and fix up debugging categories
4868
4869 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4870
4871         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4872           make initialization portable, using LL is not
4873
4874 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4875
4876         * win32/common/gstconfig.h:
4877           add large padding
4878
4879 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4880
4881         * win32/common/libgstreamer.def:
4882           rename symbols; sort base section
4883
4884 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4885
4886         * gst/gstclock.c: (do_linear_regression):
4887           remove crack non-portable handrolled DEBUG macro
4888
4889 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4890
4891         * docs/random/release:
4892           update notes
4893         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4894         (gst_object_flags_get_type), (register_gst_bin_flags),
4895         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4896         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4897         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4898         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
4899         (gst_caps_flags_get_type), (register_gst_clock_return),
4900         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4901         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4902         (gst_clock_flags_get_type), (register_gst_state),
4903         (gst_state_get_type), (register_gst_state_change_return),
4904         (gst_state_change_return_get_type), (register_gst_state_change),
4905         (gst_state_change_get_type), (register_gst_element_flags),
4906         (gst_element_flags_get_type), (register_gst_core_error),
4907         (gst_core_error_get_type), (register_gst_library_error),
4908         (gst_library_error_get_type), (register_gst_resource_error),
4909         (gst_resource_error_get_type), (register_gst_stream_error),
4910         (gst_stream_error_get_type), (register_gst_event_type_flags),
4911         (gst_event_type_flags_get_type), (register_gst_event_type),
4912         (gst_event_type_get_type), (register_gst_seek_type),
4913         (gst_seek_type_get_type), (register_gst_seek_flags),
4914         (gst_seek_flags_get_type), (register_gst_format),
4915         (gst_format_get_type), (register_gst_index_certainty),
4916         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4917         (gst_index_entry_type_get_type),
4918         (register_gst_index_lookup_method),
4919         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4920         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4921         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4922         (gst_index_flags_get_type), (register_gst_debug_level),
4923         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4924         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4925         (gst_iterator_result_get_type), (register_gst_iterator_item),
4926         (gst_iterator_item_get_type), (register_gst_message_type),
4927         (gst_message_type_get_type), (register_gst_mini_object_flags),
4928         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4929         (gst_pad_link_return_get_type), (register_gst_flow_return),
4930         (gst_flow_return_get_type), (register_gst_activate_mode),
4931         (gst_activate_mode_get_type), (register_gst_pad_direction),
4932         (gst_pad_direction_get_type), (register_gst_pad_flags),
4933         (gst_pad_flags_get_type), (register_gst_pad_presence),
4934         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4935         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4936         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4937         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4938         (gst_plugin_flags_get_type), (register_gst_rank),
4939         (gst_rank_get_type), (register_gst_query_type),
4940         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4941         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4942         (gst_tag_flag_get_type), (register_gst_task_state),
4943         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4944         (gst_alloc_trace_flags_get_type),
4945         (register_gst_type_find_probability),
4946         (gst_type_find_probability_get_type), (register_gst_uri_type),
4947         (gst_uri_type_get_type), (register_gst_parse_error),
4948         (gst_parse_error_get_type):
4949         * win32/common/gstenumtypes.h:
4950         * win32/common/gstversion.h:
4951           update visual studio generated files
4952
4953 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4954
4955         * win32/vs6/libgstbase.dsp:
4956         * win32/vs6/libgstelements.dsp:
4957           update project files for new locations
4958
4959 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4960
4961         * Makefile.am:
4962           remove some files
4963         * README:
4964           reinstate and update
4965         * DEVEL:
4966         * REQUIREMENTS:
4967           removed
4968         * LICENSE:
4969         * docs/random/LICENSE:
4970           moved to random
4971
4972 2005-11-30  Edward Hervey  <edward@fluendo.com>
4973
4974         * gst/gsttypefind.c: (gst_type_find_register):
4975         * gst/gsttypefind.h:
4976         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
4977         (gst_type_find_factory_dispose):
4978         * gst/gsttypefindfactory.h:
4979         Fix memory leak in GstTypeFindFactory.
4980
4981 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4982
4983         * gst/gst.c:
4984         * plugins/elements/Makefile.am:
4985         * plugins/elements/gstelements.c:
4986         * plugins/elements/gstqueue.c:
4987           move queue from core to the elements plugin
4988
4989 2005-11-29  Andy Wingo  <wingo@pobox.com>
4990
4991         * libs/gst/base/gstbasetransform.h: 
4992         * libs/gst/base/gstbasesrc.h: 
4993         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
4994
4995         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
4996         of pointers by which to pad very extensible base classes (like the
4997         ones in libs/gst/base).
4998
4999 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5000
5001         * docs/gst/gstreamer-docs.sgml:
5002         * docs/gst/gstreamer-sections.txt:
5003         * docs/libs/gstreamer-libs-docs.sgml:
5004         * docs/libs/gstreamer-libs-sections.txt:
5005           moving documentation from core to lib
5006
5007 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5008
5009         * check/Makefile.am:
5010         * configure.ac:
5011         * docs/gst/Makefile.am:
5012         * gst/Makefile.am:
5013         * gst/base/.cvsignore:
5014         * gst/base/Makefile.am:
5015         * gst/base/README:
5016         * gst/base/gstadapter.c:
5017         * gst/base/gstadapter.h:
5018         * gst/base/gstbasesink.c:
5019         * gst/base/gstbasesink.h:
5020         * gst/base/gstbasesrc.c:
5021         * gst/base/gstbasesrc.h:
5022         * gst/base/gstbasetransform.c:
5023         * gst/base/gstbasetransform.h:
5024         * gst/base/gstcollectpads.c:
5025         * gst/base/gstcollectpads.h:
5026         * gst/base/gstpushsrc.c:
5027         * gst/base/gstpushsrc.h:
5028         * gst/base/gsttypefindhelper.c:
5029         * gst/base/gsttypefindhelper.h:
5030         * gst/check/Makefile.am:
5031         * gst/check/gstcheck.c:
5032         * gst/check/gstcheck.h:
5033         * gst/net/Makefile.am:
5034         * gst/net/gstnet.h:
5035         * gst/net/gstnetclientclock.c:
5036         * gst/net/gstnetclientclock.h:
5037         * gst/net/gstnettimepacket.c:
5038         * gst/net/gstnettimepacket.h:
5039         * gst/net/gstnettimeprovider.c:
5040         * gst/net/gstnettimeprovider.h:
5041         * libs/gst/Makefile.am:
5042         * libs/gst/base/Makefile.am:
5043         * libs/gst/base/gstbasetransform.c:
5044         * libs/gst/check/Makefile.am:
5045         * plugins/elements/Makefile.am:
5046         * po/POTFILES.in:
5047           CVS surgery + support to move base, check, and net out of gst
5048           and into libs/gst
5049
5050 2005-11-29  Andy Wingo  <wingo@pobox.com>
5051
5052         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5053
5054         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5055         padding.
5056
5057         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5058
5059         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5060
5061         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5062
5063         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5064         padding; reduces object size by about 30%. We don't expect
5065         anything else to go into gstobject.
5066
5067         * gst/gstminiobject.h (struct _GstMiniObject)
5068         (struct _GstMiniObjectClass): Only one pointer of padding; the
5069         payload is only a pointer and two ints anyway. For the class there
5070         are only two methods as well.
5071         
5072         * gst/gstelement.h (struct _GstElementClass): Removed
5073         the state_changed signal callback, it is not used.
5074
5075 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5076
5077         * docs/gst/gstreamer.types:
5078           fix includes, though they are a little dinky
5079
5080 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5081
5082         * check/Makefile.am:
5083           look in the right place for elements, a lot more chance of
5084           success
5085         * gst/Makefile.am:
5086           remove indexers and elements subdirs
5087         * plugins/Makefile.am:
5088           make indexers conditional
5089
5090 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5091
5092         * Makefile.am:
5093         * configure.ac:
5094         * plugins/elements/Makefile.am:
5095         * plugins/elements/gstcapsfilter.c:
5096         * plugins/elements/gstfilesink.c:
5097         * plugins/elements/gstfilesrc.c:
5098         * plugins/elements/gstidentity.c:
5099         * plugins/indexers/Makefile.am:
5100           do CVS surgery and related build fixery to move elements
5101           and indexers in a new gstreamer/plugins directory, out of the
5102           gst/ directory
5103
5104 2005-11-29  Andy Wingo  <wingo@pobox.com>
5105
5106         * check/Makefile.am:
5107         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5108         * pkgconfig/gstreamer-net.pc.in:
5109         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5110         #322257.
5111
5112 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5113
5114         * tools/Makefile.am:
5115         * tools/gst-complete.1.in:
5116         * tools/gst-complete.c:
5117         * tools/gst-compprep.1.in:
5118         * tools/gst-compprep.c:
5119           removing -compprep and -complete
5120
5121 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5122
5123         * gst/gstevent.c: (gst_event_new_new_segment),
5124         (gst_event_parse_new_segment):
5125         * gst/gstevent.h:
5126           fix #320529 - clean up new_segment API and structure.
5127           Let's hope everyone was using the methods, and not the structure.
5128
5129 2005-11-29  Edward Hervey  <edward@fluendo.com>
5130
5131         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5132         (gst_base_sink_event), (gst_base_sink_do_sync),
5133         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5134         Properly handle non GST_FORMAT_TIME segment
5135         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5136         Properly handle non GST_FORMAT_TIME segment
5137         * gst/gstsegment.c:
5138         This function is valid if the accumulator is 0 and the format
5139         is different from the requested format.
5140         
5141 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5142
5143         * docs/gst/gstreamer-sections.txt:
5144         Add gst_query_new_seeking and gst_query_parse_seeking to the
5145         docs.
5146
5147 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5148
5149         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5150           Treat a pad alloc with new caps the same as if we were not
5151           negotiated, in order to allow a changing upstream output
5152           to produce a new format of data.
5153
5154 2005-11-29  Edward Hervey  <edward@fluendo.com>
5155
5156         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5157         (gst_base_transform_event), (gst_base_transform_eventfunc):
5158         The event virtual method is now properly implemented, with a default
5159         handler
5160         Sub classes should call the parent_class event method. They should
5161         return FALSE if they had a problem handling the given event, or don't
5162         want GstBaseTransform to send that even downstream
5163         * gst/elements/gstidentity.c: (gst_identity_class_init),
5164         (gst_identity_init), (gst_identity_event),
5165         (gst_identity_transform_ip), (gst_identity_set_property),
5166         (gst_identity_get_property):
5167         * gst/elements/gstidentity.h:
5168         Added the single-segment boolean property.
5169         If set to TRUE, it will output a single segment of data, starting from
5170         0, will eat up all incoming newsegment, and modify the timestamp of the
5171         buffers accordingly
5172
5173 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5174
5175         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5176           Don't ref NULL target pad (#322751). Improve docs.
5177
5178 2005-11-29  Michael Smith  <msmith@fluendo.com>
5179
5180         * gst/gstregistryxml.c: (load_plugin):
5181           Don't crash if we failed to load a feature from a plugin. 
5182
5183 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5184
5185         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5186         (GST_START_TEST):
5187           use more check API and less GLib API
5188
5189 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5190
5191         * Makefile.am:
5192           don't run checks if we don't have check
5193         * common/check.mak:
5194           remove the registry when running make torture
5195         * docs/gst/gstreamer-sections.txt:
5196           remove second multiply
5197         * gst/gstqueue.c: (gst_queue_loop):
5198           fix a compile warning when disabling debug
5199
5200 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5201
5202         * gst/gstinfo.h:
5203         Hey! Let's print the pad name if the pointer != NULL instead
5204         of when it == NULL :-)
5205
5206 2005-11-28  Wim Taymans  <wim@fluendo.com>
5207
5208         * check/gst/gstutils.c: (GST_START_TEST):
5209         Updated check, add some scaling accuracy checking code.
5210
5211         * gst/gstutils.c: (gst_util_div128_64),
5212         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5213         (gst_util_uint64_scale_int):
5214         Fix 6 times faster division code. Optimize for common 
5215         1/1 and less common X/1 cases.
5216
5217 2005-11-28  Wim Taymans  <wim@fluendo.com>
5218
5219         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5220         More checks.
5221
5222         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5223         (do_linear_regression), (gst_clock_add_observation):
5224         Cleanups.
5225         Release lock when the clock cannot be slaved.
5226         Catch the case where the regression returned an invalid denominator.
5227
5228         * gst/gstutils.c: (gst_util_div128_64_iterate),
5229         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5230         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5231         Add protentially more performant non-iterative 128/64 divide function
5232         that unfortunatly does not work yet.
5233         Shortcut the trivial 0/X = 0 case.
5234         Remove the warnings on overflow.
5235
5236 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5237
5238         * gst/gstplugin.c: (gst_plugin_register_func):
5239           everything causing a plugin not to load should be at least a WARNING
5240
5241 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5242
5243         * docs/random/ensonic/dparams.txt:
5244           some TODOs for the next dev cycle
5245         * libs/gst/controller/gstcontroller.c:
5246         (gst_controlled_property_set_interpolation_mode),
5247         (gst_controlled_property_new):
5248         * libs/gst/controller/gstcontroller.h:
5249           use base type to assign acccessor functions
5250
5251 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5252
5253         * check/Makefile.am:
5254         Oops, that should have been top_srcdir
5255
5256 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5257
5258         * check/Makefile.am:
5259         * check/elements/fdsrc.c: (GST_START_TEST):
5260         Use a cmdline define to specify the location of a file to use for
5261         testing, to avoid breaking distcheck.
5262
5263 2005-11-28  Andy Wingo  <wingo@pobox.com>
5264
5265         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5266
5267 2005-11-28  Edward Hervey  <edward@fluendo.com>
5268
5269         * tools/gst-launch.c: (main):
5270         Clarify the output strings, makes it easier to translate.
5271         Fixes #322626
5272
5273 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5274
5275         * gst/Makefile.am:
5276           don't try and build net if we don't even have <sys/socket.h>
5277
5278 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5279
5280         * check/Makefile.am:
5281         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5282         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5283           Add tests for fdsrc seekability
5284
5285         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5286         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5287         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5288         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5289         * gst/elements/gstfdsrc.h:
5290           fdsrc should not be a 'live' source.
5291           Implement seeking on seekable fd's.
5292
5293         * gst/gstquery.c: (gst_query_new_seeking),
5294         (gst_query_parse_seeking):
5295         * gst/gstquery.h:
5296           Implement SEEKING query functions: 
5297             *_new_seeking and *_parse_seeking
5298
5299 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5300
5301         * gst/gstelement.c: (gst_element_dispose):
5302           don't loop forever
5303
5304         * gst/gstiterator.c:
5305         * gst/gststructure.c:
5306           doc fixes
5307
5308         * libs/gst/controller/gstcontroller.c:
5309         (gst_controlled_property_set_interpolation_mode):
5310         * libs/gst/controller/gstcontroller.h:
5311         * libs/gst/controller/gstinterpolation.c:
5312         (interpolate_none_get_enum_value_array):
5313           support controlling enums
5314
5315 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5316
5317         * gst/gstvalue.c:
5318           Improve documentation for gst_value_union().
5319
5320         * gst/gstvalue.h:
5321           Change return value for union, intersect and subtract functions
5322           from gint to gboolean.
5323
5324 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5325
5326         * gst/gstvalue.c: (gst_value_serialize_any_list),
5327         (gst_value_transform_any_list_string),
5328         (gst_value_deserialize_list), (gst_value_deserialize_array),
5329         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5330         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5331         (gst_value_set_fraction_range_full),
5332         (gst_value_deserialize_fraction_range),
5333         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5334         (gst_value_deserialize_boolean),
5335         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5336         (gst_value_serialize_float), (gst_value_deserialize_float),
5337         (gst_string_wrap), (gst_value_deserialize_string),
5338         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5339         (gst_value_union_int_range_int_range),
5340         (gst_value_intersect_int_range_int_range),
5341         (gst_value_intersect_double_range_double_range),
5342         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5343         (gst_value_subtract_int_range_int_range),
5344         (gst_value_subtract_double_double_range),
5345         (gst_value_subtract_double_range_double_range),
5346         (gst_value_deserialize_fraction):
5347         * gst/gstvalue.h:
5348           Use gint, gdouble and gchar in our API instead of int, double and
5349           char (and make usage in gstvalue.c more consistent).
5350
5351 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5352
5353         * check/Makefile.am:
5354         * libs/gst/controller/Makefile.am:
5355         * libs/gst/dataprotocol/Makefile.am:
5356           fix up Makefile.am and remove GST_ENABLE_NEW
5357
5358 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5359
5360         * configure.ac:
5361         * gst/Makefile.am:
5362         * gst/base/Makefile.am:
5363         * gst/check/Makefile.am:
5364         * gst/elements/Makefile.am:
5365         * gst/net/Makefile.am:
5366           update LDFLAGS use some more
5367
5368 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5369
5370         * common/m4/gst-doc.m4:
5371           Fixes #312589
5372
5373 2005-11-26  Edward Hervey  <edward@fluendo.com>
5374
5375         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5376         This shouldn't issue a g_warning since it returns NULL if it
5377         couldn't find the plugin, and all functions using this behave
5378         properly on a NULL return. Switching to a GST_WARNING.
5379
5380 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5381
5382         * gst/gstbin.c: (gst_bin_handle_message_func):
5383         Don't leak clock messages.
5384
5385 2005-11-25  Wim Taymans  <wim@fluendo.com>
5386
5387         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5388         (gst_util_uint64_scale_int):
5389         Optimisations, remove unneeded vars.
5390
5391 2005-11-25  Wim Taymans  <wim@fluendo.com>
5392
5393         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5394         Added more checks for the high precision uint64 cases.
5395
5396         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5397         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5398         Implement high precision (guint64 * guint64) / guint64.
5399
5400 2005-11-24  Wim Taymans  <wim@fluendo.com>
5401
5402         * gst/base/gstbasesrc.c: (gst_base_src_query):
5403         Fix wrong percentage query.
5404
5405         * gst/gstutils.c: (gst_util_uint64_scale),
5406         (gst_util_uint64_scale_int):
5407         Add some more common cases that can be handled 
5408         efficiently to _scale.
5409
5410 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5411
5412         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5413         (gst_mini_object_suite):
5414           don't use check calls from threads; check probably isn't
5415           threadsafe and using a lock to make it threadsafe would
5416           defeat the purpose of this check
5417         * gst/check/gstcheck.c:
5418         * gst/check/gstcheck.h:
5419           use GST_DEBUG some more
5420
5421 2005-11-24  Wim Taymans  <wim@fluendo.com>
5422
5423         * gst/gstutils.c: (gst_util_uint64_scale),
5424         (gst_util_uint64_scale_int):
5425         Chain trivial case to _scale_int.
5426
5427 2005-11-24  Wim Taymans  <wim@fluendo.com>
5428
5429         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5430         Added test for scaling.
5431
5432         * gst/gstclock.h:
5433         Small doc fix.
5434
5435         * gst/gstutils.c: (gst_util_uint64_scale_int):
5436         Implemented high precision scaling code.
5437
5438 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5439
5440         * gst/gstinfo.h:
5441           do not crash on pad==NULL
5442
5443 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5444
5445         Patch by: Stefan Kost
5446
5447         * common/gtk-doc.mak:
5448         * docs/gst/Makefile.am:
5449         * docs/libs/Makefile.am:
5450           Fix distcheck issues for the libraries docs build
5451           Closes #319599.
5452
5453 2005-11-24  Michael Smith <msmith@fluendo.com>
5454
5455         * docs/manual/basics-helloworld.xml:
5456           Fix bug #315027: memory leak in example code in docs.
5457
5458 2005-11-24  Michael Smith <msmith@fluendo.com>
5459
5460         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5461           Unlock the PREROLL_LOCK in a failure case.
5462
5463 2005-11-24  Wim Taymans  <wim@fluendo.com>
5464
5465         * docs/gst/gstreamer-sections.txt:
5466         * gst/base/gstadapter.h:
5467         * gst/base/gstbasesink.h:
5468         * gst/base/gstbasesrc.h:
5469         * gst/base/gstbasetransform.h:
5470         * gst/base/gstpushsrc.h:
5471         * gst/elements/gstfakesink.h:
5472         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5473         * gst/elements/gstfakesrc.h:
5474         * gst/elements/gstfilesink.h:
5475         * gst/elements/gstfilesrc.h:
5476         * gst/gst.c:
5477         * gst/gstbin.c:
5478         * gst/gstbuffer.c: (_gst_buffer_copy):
5479         * gst/gstbus.h:
5480         * gst/gstcaps.c:
5481         * gst/gstchildproxy.c:
5482         * gst/gstclock.c:
5483         * gst/gstelement.c:
5484         * gst/gstelementfactory.c:
5485         * gst/gstelementfactory.h:
5486         * gst/gstevent.c:
5487         * gst/gstghostpad.h:
5488         * gst/gstindex.h:
5489         * gst/gstinterface.h:
5490         * gst/gstminiobject.c:
5491         * gst/gstminiobject.h:
5492         * gst/gstpad.c:
5493         * gst/gstpad.h:
5494         * gst/gstpadtemplate.h:
5495         * gst/gstpipeline.h:
5496         * gst/gstpluginfeature.h:
5497         * gst/gstquery.h:
5498         * gst/gstqueue.h:
5499         * gst/gsttaglist.c:
5500         * gst/gsttaglist.h:
5501         * gst/gsttagsetter.c:
5502         * gst/gsttagsetter.h:
5503         * gst/gsttrace.c:
5504         * gst/gsttrace.h:
5505         * gst/gsttypefind.h:
5506         * gst/gsturi.h:
5507         * gst/gstvalue.c:
5508         * gst/net/gstnetclientclock.c:
5509         * gst/net/gstnetclientclock.h:
5510         * gst/net/gstnettimepacket.c:
5511         * gst/net/gstnettimeprovider.c:
5512         * gst/net/gstnettimeprovider.h:
5513         Doc fixes.
5514
5515 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5516
5517         * configure.ac: back to HEAD
5518
5519 === release 0.9.6 ===
5520
5521 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5522
5523         * configure.ac:
5524           releasing 0.9.6, "Always On Time"
5525
5526 2005-11-23  Wim Taymans  <wim@fluendo.com>
5527
5528         * docs/gst/gstreamer-sections.txt:
5529         * gst/glib-compat.c:
5530         * gst/gsttagsetter.c:
5531         * gst/gstvalue.c:
5532         * gst/net/gstnetclientclock.c:
5533         * gst/net/gstnettimepacket.h:
5534         Doc updates.
5535
5536 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5537
5538         * docs/faq/using.xml:
5539         * docs/libs/tmpl/gstcontrol.sgml:
5540         * docs/manual/advanced-dparams.xml:
5541         * docs/manual/appendix-checklist.xml:
5542         * docs/manual/basics-elements.xml:
5543         * docs/pwg/other-source.xml:
5544         * docs/random/moving-plugins:
5545         * gst/gstpad.c:
5546         * tools/gst-launch.1.in:
5547           remove mentions of sinesrc
5548
5549 2005-11-23  Michael Smith <msmith@fluendo.com>
5550
5551         * docs/gst/gstreamer-sections.txt:
5552           Update for new API and API changes.
5553         * gst/gstobject.h:
5554           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5555         * gst/gstvalue.c:
5556           Documentation typo fix.
5557         * gst/net/gstnettimepacket.c:
5558           Documentation fixes for arguments.
5559
5560 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5561
5562         * gst/gststructure.c: (gst_structure_get_fraction),
5563         (gst_structure_parse_value),
5564         (gst_structure_fixate_field_nearest_fraction):
5565         * gst/gststructure.h:
5566         * gst/gstutils.c: (gst_util_uint64_scale_int):
5567         * gst/gstutils.h:
5568         * scripts/update-funcnames:
5569         API Changes. 
5570         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5571         Make gst_structure_fixate_field_nearest_fraction take a numerator
5572         and denominator argument instead of a GValue
5573         add gst_structure_get_fraction helper function.
5574
5575 2005-11-23  Wim Taymans  <wim@fluendo.com>
5576
5577         * docs/design/part-TODO.txt:
5578         Update TODO.
5579
5580         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5581         * gst/net/gstnetclientclock.h:
5582         Use parent fields for timeout and window_size.
5583
5584 2005-11-23  Andy Wingo  <wingo@pobox.com>
5585
5586         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5587         rate_num/rate_denom change.
5588
5589         * gst/net/gstnetclientclock.c
5590         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5591         OBJECT_LOCK. Don't call add_observation with the lock.
5592
5593         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5594         fraction.
5595         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5596         rate fraction.
5597         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5598         deal with rate as a fraction whose numerator and denominator are
5599         GstClockTime values.
5600         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5601         master; the other fields are protected by the SLAVE_LOCK.
5602         (do_linear_regression): Note that this must be called with the
5603         SLAVE_LOCK.
5604         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5605         OBJECT_LOCK. Call set_calibration instead of touching the
5606         variables directly.
5607         (gst_clock_set_property, gst_clock_get_property): Protect
5608         master/slave parameters with the SLAVE_LOCK.
5609
5610         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5611         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5612         note that all of the instance variables that add_observation and
5613         the set_master functions use are protected by that lock and not
5614         the OBJECT_LOCK.
5615         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5616
5617         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5618         the caller to take the object lock.
5619
5620 2005-11-23  Wim Taymans  <wim@fluendo.com>
5621
5622         * gst/gsterror.c: (_gst_core_errors_init):
5623         * gst/gsterror.h:
5624         Add error for clock stuff.
5625
5626         * gst/gstpipeline.c: (gst_pipeline_change_state),
5627         (gst_pipeline_set_clock):
5628         Post clock error when clock cannot be used in a pipeline.
5629
5630 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5631
5632         * docs/gst/gstreamer-sections.txt:
5633           make two symbols from gstinfo private for the docs
5634         * gst/base/gstcollectpads.h:
5635         * gst/gstutils.c:
5636           fix doc typos, update docs
5637
5638 2005-11-22  Wim Taymans  <wim@fluendo.com>
5639
5640         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5641         (gst_base_sink_wait), (gst_base_sink_do_sync),
5642         (gst_base_sink_handle_event):
5643         * gst/base/gstbasesink.h:
5644         No need to store the clock, the parent element class already
5645         has it.
5646
5647         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5648         Updates for clock_set returning a gboolean
5649
5650         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5651         (gst_clock_id_wait_async), (gst_clock_class_init),
5652         (gst_clock_init), (gst_clock_finalize),
5653         (gst_clock_get_internal_time), (gst_clock_get_time),
5654         (gst_clock_slave_callback), (gst_clock_set_master),
5655         (gst_clock_get_master), (do_linear_regression),
5656         (gst_clock_add_observation), (gst_clock_set_property),
5657         (gst_clock_get_property):
5658         * gst/gstclock.h:
5659         Implement master/slave. When setting a clock as a slave, a
5660         periodic timeout is scheduled to sample master and slave times.
5661         Then the slave clock is recalibrated to match offset and rate
5662         of the master clock.
5663         Update logging a bit.
5664         Add flag so that a clock can state that is cannot be slaved to
5665         another clock.
5666
5667         * gst/gstelement.c: (gst_element_set_clock):
5668         * gst/gstelement.h:
5669         The set clock returns a gboolean for when an element cannot
5670         deal with the selected clock in the pipeline. 
5671
5672         * gst/gstpipeline.c: (gst_pipeline_change_state),
5673         (gst_pipeline_set_clock):
5674         * gst/gstpipeline.h:
5675         Handle the case where the selected clock cannot be set on
5676         the pipeline.
5677
5678         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5679         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5680         (gst_net_client_clock_set_property),
5681         (gst_net_client_clock_get_property),
5682         (gst_net_client_clock_observe_times):
5683         * gst/net/gstnetclientclock.h:
5684         Use regression code in GstClock parent, remove duplicated
5685         functionality.
5686
5687 2005-11-22  Michael Smith <msmith@fluendo.com>
5688
5689         * gst/gstutils.c: (gst_util_clock_time_scale):
5690         * gst/gstutils.h:
5691         * docs/gst/gstreamer-sections.txt:
5692           Rename method to have extra underscore.
5693
5694 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5695
5696         * gst/elements/Makefile.am:
5697         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5698         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5699         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5700         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5701         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5702         * gst/elements/gstfakesrc.h:
5703         * gst/gstqueue.c: (queue_leaky_get_type):
5704           correctly fix GEnumValues so that nick is the short lowercase
5705           dashed tag
5706         * tools/gst-inspect.c: (print_element_properties_info):
5707           also show the nick, since it's useful to use from parse_launch
5708           syntax
5709           Fixes #322139
5710
5711 2005-11-22  Michael Smith <msmith@fluendo.com>
5712
5713         * gst/gstutils.c: (gst_util_clocktime_scale):
5714         * gst/gstutils.h:
5715         * docs/gst/gstreamer-sections.txt:
5716           Add util method for scaling a clocktime by a fraction. Useful 
5717           implementation is left as an exercise for the reader.
5718
5719 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5720
5721         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5722         If needed, allocate storage in the destination value during
5723         collection.
5724
5725 2005-11-22  Edward Hervey  <edward@fluendo.com>
5726
5727         * docs/gst/gstreamer-sections.txt:
5728         * gst/Makefile.am:
5729         * gst/gst.h:
5730         * gst/gsturitype.c:
5731         * gst/gsturitype.h:
5732         * gst/gstutils.c: (gst_util_set_object_arg):
5733         * tools/gst-compprep.c: (main):
5734         * tools/gst-inspect.c: (print_element_properties_info):
5735         Removed GstURI, closes bug #321061
5736
5737 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5738
5739         * check/gst/gststructure.c: (GST_START_TEST):
5740         * gst/gststructure.c: (gst_structure_parse_value):
5741           Oops, broke automatic string type parsing.
5742           Add a test to catch it in future.
5743
5744 2005-11-22  Andy Wingo  <wingo@pobox.com>
5745
5746         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
5747         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5748         Actually rename the function implementations. Grr.
5749
5750 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5751
5752         * check/gst/capslist.h:
5753           Comment test cases
5754         * check/gst/gststructure.c: (GST_START_TEST),
5755         (gst_structure_suite):
5756           Test automatic value type detection in gst_structure_from_string.
5757         * gst/gststructure.c: (gst_structure_parse_value):
5758           Add fraction as a type we try and guess automatically in
5759           caps/structure strings.
5760
5761 2005-11-22  Andy Wingo  <wingo@pobox.com>
5762
5763         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5764
5765         * gst/gsttagsetter.h:
5766         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5767         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5768         (gst_tag_setter_add_tag_valist)
5769         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5770         _add_values, _add_valist, and _add_valist_values. Since this is an
5771         interface the function suffixes should be more explicit so
5772         language binding don't end up with element.add_valist ->
5773         gst_tag_setter_add_valist, for example. Fixes #322069.
5774
5775 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5776
5777         * check/gst/gstcaps.c: (GST_START_TEST):
5778           Extend caps string tests to check that a caps to string
5779           conversion is reversible and produces the same caps.
5780
5781         * gst/gststructure.c: (gst_structure_value_get_generic_type):
5782           Output "fraction" as the generic type fraction range, so caps
5783           serialisation and deserialisation works.
5784         * check/gst/capslist.h:
5785         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5786           Support 'MIN' and 'MAX' for deserialising fractions.
5787
5788 2005-11-22  Andy Wingo  <wingo@pobox.com>
5789
5790         * gst/gstevent.h (gst_event_new_new_segment)
5791         (gst_event_parse_new_segment, gst_event_new_buffer_size)
5792         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
5793         Renamed from *_newsegment, *_buffersize, *_notarget.
5794
5795         * scripts/update-funcnames: New script, performs the changes
5796         listed above.
5797
5798 2005-11-22  Wim Taymans  <wim@fluendo.com>
5799
5800         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5801         Make sure the GstFlowReturn is returned.
5802
5803         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
5804         (gst_bus_add_signal_watch):
5805         * gst/gstbus.h:
5806         add gst_bus_add_signal_watch_full.
5807
5808         * gst/gstplugin.c: (gst_plugin_load_file):
5809         Small style cleanup.
5810
5811 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5812
5813         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
5814           Block the fakesrc srcpad when we send an event, to avoid
5815           contention on the stream_lock causing random test failures.
5816
5817 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5818
5819         * check/gst/gstvalue.c: (GST_START_TEST):
5820         * gst/gstvalue.c: (gst_value_fraction_subtract):
5821           Fix subtraction.
5822
5823 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
5824
5825         * gst/gst.h:
5826           include "gstchildproxy.h"
5827         * gst/gstchildproxy.h:
5828         * libs/gst/controller/gstcontroller.h:
5829           use G_GNUC_NULL_TERMINATED
5830
5831 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5832
5833         * check/gst/capslist.h:
5834         * check/gst/gstcaps.c: (GST_START_TEST):
5835         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5836         * gst/gststructure.c: (gst_structure_parse_range),
5837         (gst_structure_fixate_field_nearest_fraction):
5838         * gst/gststructure.h:
5839         * gst/gstvalue.c: (gst_value_init_fraction_range),
5840         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5841         (gst_value_collect_fraction_range),
5842         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5843         (gst_value_set_fraction_range_full),
5844         (gst_value_get_fraction_range_min),
5845         (gst_value_get_fraction_range_max),
5846         (gst_value_serialize_fraction_range),
5847         (gst_value_transform_fraction_range_string),
5848         (gst_value_compare_fraction_range),
5849         (gst_value_deserialize_fraction_range),
5850         (gst_value_intersect_fraction_fraction_range),
5851         (gst_value_intersect_fraction_range_fraction_range),
5852         (gst_value_subtract_fraction_fraction_range),
5853         (gst_value_subtract_fraction_range_fraction),
5854         (gst_value_subtract_fraction_range_fraction_range),
5855         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5856         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5857         (gst_value_transform_string_fraction), (_gst_value_initialize):
5858         * gst/gstvalue.h:
5859           Implement fraction ranges and extend GstFraction to support
5860           arithmetic subtraction, as well as deserialization from integer
5861           strings such as "100"
5862           Add a testsuite as for int and double range set operations
5863
5864 2005-11-21  Andy Wingo  <wingo@pobox.com>
5865
5866         * gst/gsttaglist.h: 
5867         * gst/gstcaps.h: 
5868         * gst/gststructure.h: Add glib-compat.h.
5869
5870 2005-11-21  Wim Taymans  <wim@fluendo.com>
5871
5872         * gst/gstbin.c: (gst_bin_change_state_func):
5873         Fix for #321595
5874
5875 2005-11-21  Wim Taymans  <wim@fluendo.com>
5876
5877         * gst/gstsegment.h:
5878         And add a nice define too.
5879
5880 2005-11-21  Wim Taymans  <wim@fluendo.com>
5881
5882         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5883         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5884         (gst_segment_set_duration), (gst_segment_set_last_stop),
5885         (gst_segment_set_seek), (gst_segment_set_newsegment),
5886         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5887         (gst_segment_clip):
5888         * gst/gstsegment.h:
5889         Make binding friendly.
5890
5891 2005-11-21  Andy Wingo  <wingo@pobox.com>
5892
5893         * gst/gsttagsetter.h: 
5894         * gst/gsttaglist.h: 
5895         * gst/gststructure.h: 
5896         * gst/gstcaps.h: 
5897         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
5898         #319940.
5899
5900         * gst/gsterror.c (_gst_core_errors_init):
5901         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
5902         category.
5903
5904         * gst/Makefile.am (gst_headers): Add glib-compat.h.
5905         (noinst_HEADERS): noinst the -private.
5906
5907 2005-11-21  Michael Smith <msmith@fluendo.com>
5908
5909         * gst/gstplugin.h:
5910         * gst/gstregistry.h:
5911           Remove unimplemented declarations for which we can see no sensible
5912           use.
5913
5914 2005-11-21  Andy Wingo  <wingo@pobox.com>
5915
5916         * gst/gst.h: Include glib-compat.h.
5917
5918         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
5919
5920         * gst/glib-compat.c: Include the public and the private header.
5921
5922         * gst/glib-compat-private.h: Copied here from glib-compat.h.
5923
5924         * gst/gstvalue.c: 
5925         * gst/gstpad.c: 
5926         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
5927
5928         * check/gst/gstevent.c (create_custom_events): Check that
5929         FLUSH_STOP is serialized.
5930
5931         * check/elements/identity.c (event_func): 
5932         * check/elements/fakesrc.c (event_func): No stream lock, the core
5933         takes it.
5934
5935         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
5936         stream lock taking, yay.
5937
5938         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
5939         ensure that core takes the stream lock.
5940
5941         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
5942         lock name change.
5943
5944         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
5945         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
5946         it already. For the flush start we do take it though so we get the
5947         right preroll state change messages.
5948
5949         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
5950         the stream lock here, the core does it for us.
5951
5952         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
5953         GST_STREAM_GET_LOCK.
5954         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
5955         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
5956         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
5957         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
5958         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
5959         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
5960
5961         * gst/gstpad.c: Update for stream lock name change.
5962
5963         * gst/base/gstbasesink.c: Update for preroll lock name change.
5964
5965 2005-11-21  Wim Taymans  <wim@fluendo.com>
5966
5967         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
5968         (gst_clock_get_master):
5969         * gst/gstclock.h:
5970         * gst/gstsystemclock.c: (gst_system_clock_init):
5971         Convert Clock flags to object flags.
5972         Added methods to manage master/slave clocks.
5973
5974 2005-11-21  Wim Taymans  <wim@fluendo.com>
5975
5976         * check/gst/gstsegment.c: (GST_START_TEST):
5977         * docs/design/part-TODO.txt:
5978         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5979         (gst_base_sink_event), (gst_base_sink_do_sync),
5980         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5981         (gst_base_sink_query), (gst_base_sink_change_state):
5982         * gst/base/gstbasesink.h:
5983         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5984         (gst_base_src_default_newsegment),
5985         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5986         (gst_base_src_get_range), (gst_base_src_loop),
5987         (gst_base_src_change_state):
5988         * gst/base/gstbasesrc.h:
5989         * gst/base/gstbasetransform.c:
5990         (gst_base_transform_prepare_output_buf),
5991         (gst_base_transform_event), (gst_base_transform_change_state):
5992         * gst/base/gstbasetransform.h:
5993         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5994         (gst_collect_pads_event):
5995         * gst/base/gstcollectpads.h:
5996         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
5997         (gst_fake_src_create):
5998         * gst/elements/gstfakesrc.h:
5999         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6000         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6001         (gst_segment_set_last_stop), (gst_segment_set_seek),
6002         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6003         (gst_segment_to_running_time), (gst_segment_clip):
6004         * gst/gstsegment.h:
6005         More segment updates, replace code in plugins with segment
6006         helper functions.
6007
6008 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6009
6010         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6011         Don't ignore sscanf results
6012
6013 2005-11-21  Andy Wingo  <wingo@pobox.com>
6014
6015         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6016
6017         * *.h:
6018         * *.c: Ran scripts/update-macros. Oh yes.
6019
6020         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6021         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6022         GST_GET_LOCK, etc.
6023
6024         * scripts/update-macros: New script. Run it on your files to
6025         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6026         well.
6027
6028 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6029
6030         * docs/gst/Makefile.am:
6031         * docs/gst/gstreamer-docs.sgml:
6032         * docs/gst/gstreamer-sections.txt:
6033         * docs/gst/gstreamer.types:
6034         * gst/gstinfo.h:
6035           more docs fixes, add new api to the docs
6036
6037 2005-11-21  Andy Wingo  <wingo@pobox.com>
6038
6039         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6040         state_broadcast call.
6041
6042         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6043
6044 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6045
6046         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6047         function calls for arrays.
6048
6049 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6050
6051         * docs/random/ensonic/media-device-daemon.txt:
6052           wild idea, can this be done?
6053         * docs/gst/gstreamer-sections.txt:
6054         * gst/gsterror.h:
6055         * gst/gstfilter.c:
6056         * gst/gstfilter.h:
6057         * gst/gstplugin.h:
6058         * gst/gstpluginfeature.c:
6059         * gst/gsttrace.c:
6060         * gst/gstvalue.c:
6061         * gst/gstvalue.h:
6062           doc fixes and additions
6063
6064 2005-11-21  Andy Wingo  <wingo@pobox.com>
6065
6066         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6067         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6068         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6069         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6070         private to the basesrc implementation.
6071
6072         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6073         behalf of event function if necessary. It should no longer be
6074         necessary to take the stream lock in pad's event functions. Fixes
6075         #320299.
6076
6077 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6078         * docs/gst/gstreamer-sections.txt:
6079         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6080         (gst_structure_fixate_field_nearest_double),
6081         (gst_structure_fixate_field_boolean):
6082         * gst/gststructure.h:
6083         * win32/common/libgstreamer.def:
6084         * win32/gstreamer.def:
6085
6086         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6087         (#322027)
6088
6089 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6090
6091         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6092         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6093         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6094         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6095         (gst_fdsrc_uri_handler_init):
6096         * gst/elements/gstfdsrc.h:
6097           Port fd:// URI handler from 0.8 to fdsrc
6098
6099 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6100
6101         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6102         (gst_value_serialize_fourcc):
6103         * gst/gstvalue.h:
6104           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6105           consistent with our other format defines (#320324).
6106
6107 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6108
6109         * gst/gstvalue.c: (gst_value_is_fixed):
6110           Revert previous commit. Value lists are by definition
6111           not fixed, as they are a list of possible values.
6112
6113 2005-11-21  Andy Wingo  <wingo@pobox.com>
6114
6115         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6116         during the stable series if we need it. Fixes #319178.
6117
6118         * gst/gstevent.c (gst_event_new_filler): Removed.
6119
6120         * check/gst/gstevent.c: Update comment about filler events.
6121
6122 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6123
6124         * gst/gstvalue.c: (gst_value_is_fixed):
6125           Should handle both value arrays and value lists.
6126
6127 2005-11-21  Andy Wingo  <wingo@pobox.com>
6128
6129         patch by: Alessandro Dessina <alessandro nnva org>
6130
6131         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6132         functions to access arrays. Fixes #321962.
6133
6134 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6135
6136         * docs/gst/gstreamer.types:
6137           gst_collectpads_get_type => gst_collect_pads_get_type.
6138           
6139         * gst/base/gstbasetransform.c:
6140           Remove unused SIGNAL_HANDOFF enum.
6141
6142 2005-11-21  Andy Wingo  <wingo@pobox.com>
6143
6144         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6145         the event type (upstream, downstream, serialized). Renamed
6146         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6147         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6148         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6149
6150         * gst/gstevent.c: Update for new CUSTOM event names.
6151
6152         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6153
6154         * gst/gstevent.h:
6155         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6156         bug #319392.
6157
6158 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6159
6160         * docs/gst/gstreamer-sections.txt:
6161         * win32/common/libgstbase.def:
6162         * win32/libgstbase.def:
6163         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6164         (gst_collect_pads_class_init), (gst_collect_pads_init),
6165         (gst_collect_pads_finalize), (gst_collect_pads_new),
6166         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6167         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6168         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6169         (gst_collect_pads_start), (gst_collect_pads_stop),
6170         (gst_collect_pads_peek), (gst_collect_pads_pop),
6171         (gst_collect_pads_available), (gst_collect_pads_read),
6172         (gst_collect_pads_flush), (gst_collect_pads_event),
6173         (gst_collect_pads_chain):
6174         * gst/base/gstcollectpads.h:
6175           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6176           unimplemented functions as unimplemented. Add padding to
6177           GstCollectData. (#320766, #320423)
6178
6179 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6180
6181         * gst/gstmessage.c:
6182           Improve docs for DURATION message (usage of duration parameter)
6183           (#320113)
6184
6185 2005-11-20  Wim Taymans  <wim@fluendo.com>
6186
6187         * check/Makefile.am:
6188         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6189         (main):
6190         * gst/Makefile.am:
6191         * gst/gst.h:
6192         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6193         (gst_segment_set_seek), (gst_segment_set_newsegment),
6194         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6195         (gst_segment_clip):
6196         * gst/gstsegment.h:
6197         Added segment helper structure and methods. Not fully implemented
6198         yet.
6199         Added segment check.
6200
6201 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6202
6203         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6204           Add a deserialisation test for fractions
6205         * examples/metadata/read-metadata.c: (message_loop),
6206         (make_pipeline), (main):
6207           Fix up metadata reading sample.
6208         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6209           Debug format fix
6210         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6211           Don't try and fixate empty caps
6212         * gst/gst_private.h:
6213           Wrap in G_BEGIN_DECLS/G_END_DECLS
6214         * gst/gstvalue.c: (gst_value_collect_fraction),
6215         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6216         (gst_value_transform_string_fraction),
6217         (gst_value_compare_fraction):
6218           Add some extra guards to ensure that we don't end up 
6219           with an invalid denominator of 0 in a gstfraction and
6220           that fractions always get reduced.
6221
6222 2005-11-20  Wim Taymans  <wim@fluendo.com>
6223
6224         * docs/gst/gstreamer-sections.txt:
6225         * gst/gstbuffer.h:
6226         * gst/gstelement.c:
6227         * gst/gstformat.c:
6228         * gst/gstformat.h:
6229         * gst/gstindex.h:
6230         * gst/gstquery.c:
6231         * gst/gstquery.h:
6232         * gst/gstvalue.c:
6233         Doc fixes.
6234
6235 2005-11-20  Wim Taymans  <wim@fluendo.com>
6236
6237         * docs/design/part-TODO.txt:
6238         * gst/gstcaps.h:
6239         Make a proper enum of the flag.
6240
6241 2005-11-19  Wim Taymans  <wim@fluendo.com>
6242
6243         * docs/design/part-TODO.txt:
6244         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6245         (gst_format_to_quark), (gst_format_register):
6246         * gst/gstformat.h:
6247         * gst/gstquery.c: (_gst_query_initialize),
6248         (gst_query_type_get_name), (gst_query_type_to_quark),
6249         (gst_query_type_register):
6250         * gst/gstquery.h:
6251         Add type to quark and type to string conversions.
6252
6253 2005-11-19  Andy Wingo  <wingo@pobox.com>
6254
6255         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6256         #320097.
6257
6258 2005-11-19  Wim Taymans  <wim@fluendo.com>
6259
6260         * docs/design/part-TODO.txt:
6261         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6262         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6263         (gst_bin_handle_message_func):
6264         * gst/gstbin.h:
6265         Make message handling overridable.
6266
6267 2005-11-19  Andy Wingo  <wingo@pobox.com>
6268
6269         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6270
6271         * gst/gstclock.h:
6272         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6273         be a GstClockTime.
6274         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6275         is a GstClockTime. Fixes #321710.
6276
6277         * gst/gstclock.h (GstClock): Remove offset property. Add
6278         internal_calibration and external_calibration. Fix padding. Pad
6279         also by GstClockTime so we don't run into problems.
6280
6281         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6282         (gst_clock_get_rate_offset): Remove.
6283         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6284
6285         * gst/gstutils.h:
6286         * gst/gstutils.c (g_static_rec_cond_wait)
6287         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6288
6289         * gst/gstbin.c: Remove terrible continue_state prototype.
6290
6291         * gst/gstelement.h (gst_element_continue_state): Make public.
6292
6293         * gst/gstelement.h:
6294         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6295         by continue_state. Fixes #319389.
6296
6297         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6298         Really fixes #168438. However I don't see anywhere where the
6299         filter function is called... stupid GStreamer...
6300         
6301         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6302         don't have a dispose function, so it won't get called when the
6303         object is unreffed, but oh well!
6304
6305         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6306         allows a destroy function to be set so user_data can be freed.
6307         Fixes #168438.
6308         (gst_index_set_filter): Call gst_index_set_filter_full.
6309
6310         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6311
6312         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6313         string should produce an error, given the lack of a way to
6314         represent NULL strings. Fixes #165650.
6315         
6316         * gst/gstvalue.h: 
6317         * gst/gstvalue.c (gst_value_array_append_value) 
6318         (gst_value_array_prepend_value, gst_value_array_get_size) 
6319         (gst_value_array_get_value): New API, copied from
6320         gst_value_list_*, only operates on arrays.
6321         (gst_value_list_append_value, gst_value_list_prepend_value) 
6322         (gst_value_list_concat, gst_value_list_get_size) 
6323         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6324
6325         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6326         init_list, because it works on both.
6327         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6328         (gst_value_copy_list_or_array): Renamed from copy_list.
6329         (gst_value_free_list_or_array): Renamed from free_list.
6330         (gst_value_collect_list_or_array): Renamed from collect_list.
6331         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6332         (gst_value_list_or_array_peek_pointer): Renamed from
6333         list_peek_pointer.
6334         (_gst_value_array_value_table, _gst_value_list_value_table):
6335         Update value table functions.
6336         (gst_value_compare_list_or_array): Renamed from compare_list.
6337
6338         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6339         some constness.
6340
6341         * gst/gsttaglist.c:
6342         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6343         GstTagList*. Fixes #143472.
6344
6345         * gst/gststructure.h: Clarify what the foreach/map functions can
6346         or can't do to their arguments.
6347
6348 2005-11-18  Wim Taymans  <wim@fluendo.com>
6349
6350         * gst/gstclock.c: (gst_clock_set_calibration),
6351         (gst_clock_get_calibration):
6352         Doc and API fixes.
6353         Calibration can be set with internal time equal to current
6354         internal time too.
6355
6356 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6357
6358         * gst/gsterror.c:
6359         * gst/gsterror.h:
6360           document
6361
6362 2005-11-18  Andy Wingo  <wingo@pobox.com>
6363
6364         * configure.ac: 
6365         * pkgconfig/gstreamer-net.pc.in:
6366         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6367         * pkgconfig/Makefile.am: Add net pkgconfig files.
6368
6369 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6370
6371         * gst/gstcaps.c:
6372         * gst/gstghostpad.c:
6373         * gst/gsttrace.c:
6374         * gst/gstvalue.c:
6375         * gst/gstvalue.h:
6376           docs fixes
6377
6378 2005-11-18  Andy Wingo  <wingo@pobox.com>
6379
6380         * gst/net/gstnetclientclock.c: Turn off debugging.
6381
6382         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6383         times connverge somewhat. Can't make a real test.
6384
6385         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6386         integer arithmetic. Return the minimum of the domain, which can be
6387         set as "internal" for gst_clock_set_calibration.
6388         (gst_net_client_clock_observe_times): Call _set_calibration.
6389         (gst_net_client_clock_new): Call _set_calibration instead of
6390         rate_offset.
6391
6392         * check/net/gstnetclientclock.c (test_functioning): Use the right
6393         adjustment api.
6394
6395         * gst/gstclock.h:
6396         * gst/gstclock.c (gst_clock_get_calibration) 
6397         (gst_clock_set_calibration): New functions, obsolete the ones I
6398         added yesterday. Doh. Precision issues mean we have to extrapolate
6399         from a point in the more recent past than 1970.
6400         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6401         obsolete.
6402         (gst_clock_adjust_unlocked): Use the right calibration data.
6403
6404 2005-11-18  Edward Hervey  <edward@fluendo.com>
6405
6406         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6407         Also reset the ->current_* values in READY->PAUSED
6408
6409 2005-11-18  Andy Wingo  <wingo@pobox.com>
6410
6411         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6412         Whoops, check the right fd. Also add some debugging.
6413         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6414         (do_linear_regression): Add a crapload of debugging. Subtract off
6415         the minimum values from the input series to discard unneeded bits.
6416         Use only int arithmetic. There is still double arithmetic when
6417         calculating the intercept that needs fixing. Return boolean to
6418         indicate success; FALSE would mean the domain or range is too
6419         great. Still needs fixes.
6420
6421 2005-11-18  Wim Taymans  <wim@fluendo.com>
6422
6423         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6424         For the current position in stream time, we need to subtract
6425         accumulated time.
6426         
6427         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6428         Release lock before calling the callback function of async
6429         entries.
6430
6431 2005-11-18  Andy Wingo  <wingo@pobox.com>
6432
6433         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6434         Port goes all the way to MAXUINT16.
6435
6436         * gst/net/gstnettimeprovider.c: Make the port range the same as
6437         for the kernel: 0 assigns, otherwise ports are less than
6438         MAXUINT16.
6439
6440         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6441         port change.
6442
6443         * check/net/gstnetclientclock.c (test_functioning): Add the start
6444         of another test. 
6445
6446 2005-11-18  Wim Taymans  <wim@fluendo.com>
6447
6448         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6449         (gst_bin_remove_func), (bin_bus_handler):
6450         * gst/gstbin.h:
6451         Removing a clock provider from a bin, triggers a clock lost message
6452         so that a new clock will be selected.
6453         Adding a clock to a bin triggers a clock provider message.
6454         Make sure we reselect a clock when we received a clock lost message.
6455         Keep a reference to the element that provided the clock.
6456
6457 2005-11-18  Andy Wingo  <wingo@pobox.com>
6458
6459         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6460         the clock initially so it produces values around the base time.
6461         (gst_net_client_clock_class_init): Typo fix.
6462         (gst_net_client_clock_thread): Add note on when the socket gets
6463         closed.
6464
6465 2005-11-17  Wim Taymans  <wim@fluendo.com>
6466
6467         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6468         Free remote and local time arrays.
6469
6470 2005-11-17  Wim Taymans  <wim@fluendo.com>
6471
6472         * gst/net/gstnetclientclock.c: (do_linear_regression),
6473         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6474         Fix compilation, uninitialized vars and a forgotten continue.
6475
6476 2005-11-17  Andy Wingo  <wingo@pobox.com>
6477
6478         * check/Makefile.am (check_PROGRAMS): 
6479         * check/net/gstnetclientclock.c: Add a most minimal test for the
6480         net client clock. More to come later.
6481
6482         * gst/net/gstnet.h: 
6483         * gst/net/Makefile.am: Add netclientclock.
6484
6485         * gst/net/gstnetclientclock.h:
6486         * gst/net/gstnetclientclock.c: New files, implement an untested
6487         GstClock that takes its time from a network time provider.
6488         Implements the algorithm in network-clock.scm.
6489
6490         * tests/network-clock.scm (*window-size*): Rename from
6491         *queue-length*.
6492         * tests/network-clock.scm (network-time): 
6493         * tests/network-clock-utils.scm (q-push): Update callers.
6494
6495 2005-11-17  Wim Taymans  <wim@fluendo.com>
6496
6497         * gst/gstbin.c: (gst_bin_provide_clock_func),
6498         (gst_bin_sort_iterator_new):
6499         And unref the child too..
6500
6501 2005-11-17  Wim Taymans  <wim@fluendo.com>
6502
6503         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6504         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6505         Refactor the sort iterator so it can be used while holding the
6506         LOCK too.
6507         Make clock selection select a clock closest to the source.
6508
6509 2005-11-17  Michael Smith <msmith@fluendo.com>
6510
6511         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6512         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6513         * gst/gstclock.h:
6514           Anonymous structs are a gcc (and some other compilers) extension, so
6515           don't use them. Since this is only for ABI-compatibility, and our
6516           API/ABI freeze is over in a few days, this whole thing will only
6517           last a few days, so don't bother trying to think up a meaningful
6518           name for the struct.
6519
6520 2005-11-17  Andy Wingo  <wingo@pobox.com>
6521
6522         * gst/gstclock.h (GstClock): Add rate and offset properties,
6523         preserving ABI stability. Add rate/offset accessors. Will file bug
6524         for the freeze break.
6525
6526         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6527         and offset, trying to keep precision and avoiding
6528         underflow/overflow.
6529         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6530         functions. Make gst_clock_set_time_adjust obsolete.
6531         (gst_clock_set_time_adjust): Note that this function is obsolete.
6532         Will file bug soon.
6533
6534         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6535         greppable by using GST_PADDING-1+1.
6536
6537 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6538
6539         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6540
6541         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6542           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6543
6544         * gst/gstpadtemplate.h:
6545         * gst/gstpluginfeature.h:
6546           Don't use c++ style comments in headers (#321638).
6547
6548 2005-11-16  Andy Wingo  <wingo@pobox.com>
6549
6550         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6551         buffer.
6552
6553         * check/net/gstnettimeprovider.c: Check to see that the time
6554         provider actually provides times. Works, yo!
6555
6556 2005-11-16  Wim Taymans  <wim@fluendo.com>
6557
6558         * check/Makefile.am:
6559         Enable more tests.
6560
6561         * check/elements/fakesrc.c: (GST_START_TEST):
6562         Set element to NULL before disposing it.
6563
6564 2005-11-16  Andy Wingo  <wingo@pobox.com>
6565
6566         * gst/net/Makefile.am:
6567         * gst/net/gstnet.h:
6568         * gst/net/gstnettimeprovider.c: 
6569         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6570         provider, include it from gstnet.h, and add it to the build.
6571
6572         * gst/net/gstnettimepacket.h: 
6573         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6574         sending and receiving.
6575
6576 2005-11-16  Wim Taymans  <wim@fluendo.com>
6577
6578         * check/Makefile.am:
6579         Enable valgrind check.
6580
6581         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6582         (gst_fake_src_alloc_buffer):
6583         Fix memleak.
6584
6585 2005-11-16  Wim Taymans  <wim@fluendo.com>
6586
6587         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6588         Call parent finalize too.
6589
6590 2005-11-16  Wim Taymans  <wim@fluendo.com>
6591
6592         * check/Makefile.am:
6593         Enable valgrind check that should work fine now.
6594
6595         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6596         * gst/gstqueue.c: (gst_queue_init):
6597         Fix memleaks in pad allocation.
6598
6599 2005-11-16  Andy Wingo  <wingo@pobox.com>
6600
6601         * gst/net/Makefile.am:
6602         * gst/net/gstnet.h: New part of core to hold network elements and
6603         objects. Put in core because it exposes API that applications want
6604         to use. The library is named libgstnet-tempname right now because
6605         of the existing libgstnet in gst-plugins-base. Solution is
6606         probably to rename the one in plugins-base; will file a bug for
6607         the freeze break.
6608
6609         * gst/net/gstnettimeprovider.c: 
6610         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6611         get_time call over the network.
6612
6613         * configure.ac: 
6614         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6615
6616         * check/Makefile.am:
6617         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6618         get additions shortly.
6619
6620 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6621
6622         * gst/gstpad.c: (gst_pad_new_from_static_template):
6623         * gst/gstpad.h:
6624           add gst_pad_new_from_static_template functions
6625         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6626         (gst_check_setup_sink_pad):
6627         * gst/elements/gsttee.c: (gst_tee_init):
6628           and use them
6629
6630 2005-11-16  Wim Taymans  <wim@fluendo.com>
6631
6632         * gst/gstpad.c: (gst_pad_pause_task):
6633         Removed warning, it's not really an error either.
6634
6635 2005-11-16  Wim Taymans  <wim@fluendo.com>
6636
6637         * gst/base/gstbasetransform.c:
6638         (gst_base_transform_prepare_output_buf),
6639         (gst_base_transform_event):
6640         Check if the caps are NULL, this can happen if the element
6641         is shutting down and the pad caps are set to NULL.
6642
6643 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6644
6645         * gst/elements/gsttee.c: (gst_tee_init):
6646           fix pad template leak in tee
6647
6648 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6649
6650         * gst/glib-compat.c: (g_value_dup_gst_object):
6651         * gst/glib-compat.h:
6652         * gst/gstpad.c: (gst_pad_set_property):
6653           use gst_object_ref when setting the pad template; this will
6654           trigger the pad template leaks on GLib 2.6 and the slaves
6655
6656 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6657
6658         * gst/glib-compat.c: (gst_flags_get_first_value):
6659         * gst/glib-compat.h:
6660         * gst/gstregistryxml.c:
6661           remove functions copied from GLib 2.6
6662
6663 2005-11-16  Michael Smith <msmith@fluendo.com>
6664
6665         * gst/Makefile.am:
6666           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6667           do, but only breaks with newer valgrind versions. We're not a
6668           valgrind tool, we have no link-time dependencies on libcoregrind.
6669
6670 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6671
6672         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6673           some debug changes
6674         * gst/gstmessage.h:
6675           typo fixes
6676
6677 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6678
6679         * gst/base/gstbasesrc.c: (gst_base_src_init):
6680         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6681         * gst/gstqueue.c: (gst_queue_init):
6682         * gst/gstregistryxml.c: (load_feature):
6683           Revert all these unrefs, they don't even pass make check !
6684
6685 2005-11-15  Johan Dahlin  <johan@gnome.org>
6686
6687         * gst/base/gstbasesrc.c: (gst_base_src_init):
6688         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6689         * gst/gstqueue.c: (gst_queue_init): 
6690         Free pad templates, fixes a couple of leaks.
6691
6692 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6693
6694         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6695
6696         * gst/gstpad.c: (gst_pad_get_property):
6697           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6698           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6699           (#321452)
6700
6701 2005-11-15  Wim Taymans  <wim@fluendo.com>
6702
6703         * gst/gstevent.c:
6704         Small doc update.
6705
6706 2005-11-15  Andy Wingo  <wingo@pobox.com>
6707
6708         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6709
6710         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6711         using GST_CLOCK_TIME_NONE to disable base time management.
6712         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6713         time if it was NONE before.
6714         (gst_pipeline_change_state): Only munge the base time if
6715         stream_time != GST_CLOCK_TIME_NONE.
6716
6717         * check/gst/gstpipeline.c (test_base_time): Punt around the
6718         problem of the probe not being called, because that's not the
6719         issue I'm looking at. Add a check that setting stream_time to NONE
6720         disables base time management.
6721         
6722 2005-11-15  Wim Taymans  <wim@fluendo.com>
6723
6724         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6725         segment_stop == -1 at startup.
6726
6727         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6728         (gst_base_transform_change_state):
6729         Init segment values at start.
6730
6731 2005-11-15  Wim Taymans  <wim@fluendo.com>
6732
6733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6734         0 segment values are 0 in any format.
6735
6736         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6737         * gst/base/gstbasetransform.h:
6738         Parse newsegment correctly in basetransform
6739
6740         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6741         Sync to clock using updated segment values.
6742
6743 2005-11-15  Andy Wingo  <wingo@pobox.com>
6744
6745         * check/gst/gstpipeline.c (test_base_time): Add check that the
6746         base time and stream time are reset correctly.
6747
6748 2005-11-15  Wim Taymans  <wim@fluendo.com>
6749
6750         * docs/design/part-TODO.txt:
6751         Some more TODO items.
6752
6753 2005-11-15  Andy Wingo  <wingo@pobox.com>
6754
6755         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6756         error if the user selected "no clock" as the clocking method.
6757
6758         * check/gst/gstpipeline.c (test_base_time): New test for buffer
6759         timestamps with live capture.
6760
6761         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6762         is 0 but we are a live source, timestamp the buffers using the
6763         element's clock.
6764
6765 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
6766
6767         * docs/gst/gstreamer-sections.txt:
6768         * gst/gsterror.c:
6769         * gst/gstghostpad.c:
6770         * gst/gstobject.h:
6771         * gst/gstxml.c:
6772           more section docs
6773
6774 2005-11-14  Wim Taymans  <wim@fluendo.com>
6775
6776         * common/gst.supp:
6777           add suppressions from Wim's Debian machine
6778
6779 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6780
6781         * common/gst.supp:
6782           add suppressions from Andy's AMD64 Ubuntu machine
6783
6784 2005-11-14  Andy Wingo  <wingo@pobox.com>
6785
6786         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6787         STATE_LOCK not necessary. Fixes #311489.
6788
6789         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6790         #305291.
6791
6792         * gst/gstindex.c (gst_index_add_object): Note in the docs that
6793         this function is not implemented.
6794
6795 2005-11-14  Julien MOUTTE  <julien@moutte.net>
6796
6797         * gst/base/gstbasetransform.c:
6798         (gst_base_transform_prepare_output_buf):
6799         Ref the source pad caps while we need them.
6800         Fixes (#321386)
6801
6802 2005-11-11  Wim Taymans  <wim@fluendo.com>
6803
6804         * docs/gst/gstreamer-sections.txt:
6805         Added some docs for GstCollectData.
6806
6807         * gst/base/gstadapter.c:
6808         Some small code example fix.
6809
6810         * gst/base/gstcollectpads.c:
6811         * gst/base/gstcollectpads.h:
6812         Document some more.
6813
6814 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6815
6816         * configure.ac: back to HEAD
6817
6818 === release 0.9.5 ===
6819
6820 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
6821
6822         * configure.ac:
6823           releasing 0.9.5, "Bike Lunch Day"
6824
6825 2005-11-11  Wim Taymans  <wim@fluendo.com>
6826
6827         * gst/gstbuffer.c: (_gst_buffer_copy):
6828         Copy more flags.
6829
6830         * gst/gstcaps.c: (gst_caps_is_equal):
6831         Fix some docs.
6832         Make _is_equal fast in the trivial cases.
6833
6834         * gst/gstminiobject.c:
6835         * gst/gstminiobject.h:
6836         More docs. Spifify .h file.
6837
6838         * gst/gstutils.c:
6839         Small doc update.
6840
6841 2005-11-11  Wim Taymans  <wim@fluendo.com>
6842
6843         * gst/base/gstbasetransform.c:
6844         (gst_base_transform_prepare_output_buf),
6845         (gst_base_transform_handle_buffer):
6846         Small cleanups.
6847         If we're processing a buffer and need to allocate an output
6848         buffer, we cannot accept a format change. If we did get a 
6849         format change, we have to alloc a buffer ourselves of the 
6850         right size.
6851
6852 2005-11-11  Wim Taymans  <wim@fluendo.com>
6853
6854         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6855         While checking the flag for reentrancy in the gstcaps function
6856         is nice to detect recursive invocations, it also makes it 
6857         impossible to call getcaps from multiple threads, which must be
6858         possible. So, checking for recursive calls has to go.
6859
6860 2005-11-11  Michael Smith <msmith@fluendo.com>
6861
6862         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6863           Don't sync on buffers that fall partially outside our current
6864           segment. Prevents an assertion failure/abort playing some files.
6865
6866 2005-11-10  Andy Wingo  <wingo@pobox.com>
6867
6868         * check/gst/gstbin.c (test_message_state_changed_children): Style
6869         fix..
6870
6871         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6872         gst_bus_poll with the signal watch. Ensures that poll and a signal
6873         watch see the same messages.
6874
6875         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6876         a poll and a watch at the same time get the same messages.
6877
6878 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6879
6880         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6881         * gst/gstcaps.c: (gst_caps_intersect):
6882           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6883           and it's not needed.
6884
6885 2005-11-10  Wim Taymans  <wim@fluendo.com>
6886
6887         * docs/design/part-TODO.txt:
6888         Updated todo.
6889
6890 2005-11-10  Wim Taymans  <wim@fluendo.com>
6891
6892         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6893         * gst/base/gstbasesrc.c: (gst_base_src_wait),
6894         (gst_base_src_do_sync), (gst_base_src_get_range):
6895         Implement clock sync in base class.
6896
6897 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6898
6899         patch by: Tim-Philipp Müller <tim at centricular dot net>
6900
6901         * gst/gststructure.c: (gst_structure_parse_field),
6902         (gst_structure_from_string):
6903           Forward-port a 0.8 patch to handle escaped spaces in structure string,
6904           so that gst_parse_launch() can deal with spaces in filtered link
6905           caps (fixes #164479)
6906         * check/gst/capslist.h:
6907         * check/gst/gststructure.c: (GST_START_TEST):
6908           add unit tests for this change
6909
6910 2005-11-10  Wim Taymans  <wim@fluendo.com>
6911
6912         * docs/gst/gstreamer-sections.txt:
6913         * gst/gstelement.c:
6914         * gst/gstelement.h:
6915         Fix docs, move some STATE macros to private.
6916
6917 2005-11-10  Wim Taymans  <wim@fluendo.com>
6918
6919         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6920         Added check for bug #317341
6921
6922         * gst/gstbuffer.c:
6923         * gst/gstbuffer.h:
6924         Some more spiffifying.
6925
6926         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
6927         Call peer linkfunction if we are a source pad. Totally fixes
6928         #317341
6929
6930         * gst/gstpad.c:
6931         Update docs, source pads should call the peer linkfunction
6932         so they can atomically perform the pad link.
6933
6934 2005-11-09  Wim Taymans  <wim@fluendo.com>
6935
6936         * gst/gstbuffer.c:
6937         * gst/gstbuffer.h:
6938         Uber-spiffy-spiffify some more.
6939
6940 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
6941
6942         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
6943         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6944         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6945         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
6946         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
6947         * gst/gstpad.c: (gst_pad_init):
6948           Use GST_DEBUG_FUNCPTR() more extensively.
6949
6950 2005-11-09  Wim Taymans  <wim@fluendo.com>
6951
6952         * gst/gstobject.c: (gst_object_class_init):
6953         * gst/gstobject.h:
6954         Documentation fixes.
6955
6956 2005-11-09  Edward Hervey  <edward@fluendo.com>
6957
6958         * gst/gsttypefindfactory.c:
6959         Fix docs.
6960         
6961 2005-11-09  Edward Hervey  <edward@fluendo.com>
6962
6963         * gst/base/gsttypefindhelper.c:
6964         * gst/gsttypefind.c:
6965         * gst/gsttypefind.h:
6966         Fix docs.
6967
6968 2005-11-09  Wim Taymans  <wim@fluendo.com>
6969
6970         * gst/gstiterator.c:
6971         Fix revision data.
6972
6973         * gst/gsttask.c:
6974         * gst/gsttask.h:
6975         Fix docs.
6976
6977 2005-11-09  Wim Taymans  <wim@fluendo.com>
6978
6979         * gst/gstevent.h:
6980         * gst/gsturi.h:
6981         Fix docs.
6982
6983 2005-11-09  Wim Taymans  <wim@fluendo.com>
6984
6985         * docs/gst/gstreamer-sections.txt:
6986         Moved the message async delivery private lock and cond
6987         to the private section.
6988
6989         * gst/gstmessage.c:
6990         * gst/gstmessage.h:
6991         Fixed docs.
6992
6993 2005-11-09  Edward Hervey  <edward@fluendo.com>
6994
6995         * docs/gst/gstreamer-sections.txt:
6996         * gst/gsturi.c:
6997         * gst/gsturi.h:
6998         Document GstURIHandler
6999
7000 2005-11-09  Wim Taymans  <wim@fluendo.com>
7001
7002         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7003         (gst_iterator_find_custom):
7004         * gst/gstiterator.h:
7005         Fix iterator docs.
7006
7007 2005-11-09  Wim Taymans  <wim@fluendo.com>
7008
7009         * gst/gstbin.h:
7010         Document another field.
7011
7012         * gst/gststructure.c:
7013         * gst/gststructure.h:
7014         Document.
7015
7016 2005-11-09  Wim Taymans  <wim@fluendo.com>
7017
7018         * gst/gstbin.h:
7019         Documented structs.
7020
7021 2005-11-09  Wim Taymans  <wim@fluendo.com>
7022
7023         * docs/gst/gstreamer-sections.txt:
7024         Added some new macros.
7025
7026         * gst/gstclock.c:
7027         * gst/gstclock.h:
7028         * gst/gstobject.h:
7029         Docs updates.
7030
7031 2005-11-09  Wim Taymans  <wim@fluendo.com>
7032
7033         * docs/design/part-TODO.txt:
7034         Some more items for the TODO
7035
7036         * gst/gstcaps.c:
7037         * gst/gstcaps.h:
7038         Document GstCaps.
7039
7040 2005-11-09  Andy Wingo  <wingo@pobox.com>
7041
7042         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7043         to work on something else now tho...
7044
7045         * gst/base/gstadapter.c: More adapter docs.
7046
7047         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7048         (gst_file_sink_stop): New functions, replace the state change
7049         handler.
7050         (gst_file_sink_class_init): Hook up the start and stop functions.
7051         (gst_file_sink_base_init): Don't set the state change handler any
7052         more. It was a bit ugly too, being set from here...
7053         (gst_file_sink_get_property, gst_file_sink_set_property):
7054         Cleanups...
7055         (gst_file_sink_set_location): More robust check that doesn't call
7056         GST_STATE. Ugggggg.
7057
7058 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7059
7060         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7061           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7062
7063 2005-11-08  Wim Taymans  <wim@fluendo.com>
7064
7065         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7066         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7067         (gst_base_sink_chain), (gst_base_sink_change_state):
7068         * gst/base/gstbasesink.h:
7069         * gst/base/gstbasesrc.h:
7070         * gst/gstelement.h:
7071         * gst/gstevent.h:
7072         Avoid excessive typechecking in macros.
7073
7074         * gst/gstminiobject.c: (gst_mini_object_get_type),
7075         (gst_mini_object_init), (gst_mini_object_new),
7076         (gst_mini_object_free):
7077         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7078         (gst_object_finalize):
7079         Remove cruft code, optimize alloc_trace.
7080
7081 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7082
7083         * docs/faq/gst-uninstalled:
7084           fix up PS1 for systems that try to reset it
7085
7086 2005-11-07  Wim Taymans  <wim@fluendo.com>
7087
7088         * gst/base/gstbasesrc.c: (gst_base_src_init),
7089         (gst_base_src_get_range):
7090         Set the segment_end to -1 initially. Fixed typefind.
7091
7092 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7093
7094         * gst/base/gstadapter.c:
7095           Debug category should be 'adapter', not 'GstAdapter'.
7096           
7097         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7098         (gst_collectpads_class_init), (gst_collectpads_init),
7099         (gst_collectpads_peek), (gst_collectpads_pop),
7100         (gst_collectpads_event), (gst_collectpads_chain):
7101           Add debug category and some debugging output. Use boilerplate
7102           macros. Remove some extraneous words from docs.
7103
7104 2005-11-05  Andy Wingo  <wingo@pobox.com>
7105
7106         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7107         macro.
7108
7109 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7110
7111         * docs/gst/gstreamer-sections.txt:
7112         * gst/gstcaps.h:
7113         * gst/gstinfo.c:
7114         * gst/gstminiobject.h:
7115         * gst/gstobject.h:
7116         * gst/gstutils.h:
7117           more docs added
7118
7119 2005-11-04  Wim Taymans  <wim@fluendo.com>
7120
7121         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7122         Small update to stop at the configured segment_end
7123         position.
7124
7125 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7126
7127         * gst/gstregistry.c:
7128         * gst/gstregistry.h:
7129           added missing docs
7130
7131 2005-11-04  Edward Hervey  <edward@fluendo.com>
7132
7133         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7134         Check if we are doing a segment seek and have arrived at the
7135         end of that segment.
7136
7137 2005-11-04  Wim Taymans  <wim@fluendo.com>
7138
7139         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7140         Don't leak a mutex unlock in case of an error.
7141
7142         * gst/gstbus.h:
7143         Doc fixes.
7144
7145 2005-11-04  Wim Taymans  <wim@fluendo.com>
7146
7147         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7148         (gst_bus_post):
7149         Get the context to wake up only once.
7150
7151 2005-11-03  Wim Taymans  <wim@fluendo.com>
7152
7153         * check/states/sinks.c: (GST_START_TEST):
7154         Uncomment fixed check.
7155
7156         * docs/design/part-TODO.txt:
7157         Updated TODO.
7158
7159         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7160         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7161         (gst_base_sink_get_position):
7162         If we are going to PLAYING, post the right pending state
7163         when we post the intermediate paused message.
7164
7165         * gst/gstelement.c: (gst_element_continue_state),
7166         (gst_element_set_state_func), (gst_element_change_state):
7167         Don't post state changes that were between the same state
7168         and were not ASYNC.
7169
7170 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7171
7172         * docs/gst/gstreamer-sections.txt:
7173         * gst/gstcaps.h:
7174         * gst/gstinfo.c:
7175         * gst/gstminiobject.h:
7176         * gst/gstobject.h:
7177         * gst/gstutils.h:
7178           more docs and doc style fixes
7179
7180 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7181
7182         * docs/gst/gstreamer-sections.txt:
7183         * gst/gstelement.c:
7184         * gst/gstminiobject.c:
7185         doc fixes
7186
7187 2005-11-03  Andy Wingo  <wingo@pobox.com>
7188
7189         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7190         state-changed messages actually have the right order and the right
7191         values.
7192
7193 2005-11-03  Wim Taymans  <wim@fluendo.com>
7194
7195         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7196         Added some more checks. Specifically the case where NO_PREROLL
7197         elements are in the pipeline.
7198
7199         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7200         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7201         (gst_base_sink_get_position):
7202         Post READY->PAUSED state change messages too.
7203         Fix bug where VOID was posted as pending state...
7204
7205         * gst/gstbin.c: (gst_bin_recalc_state):
7206         use _element_continue_state() to continue the state change.
7207
7208         * gst/gstelement.c: (gst_element_continue_state),
7209         (gst_element_commit_state), (gst_element_set_state_func),
7210         (gst_element_change_state), (gst_element_change_state_func):
7211         Lots of state change cleanups, assign the STATE_RETURN in
7212         a new continue_state() function that also propagates the
7213         last return value from a state change to the app.
7214         Update some debug statements with proper category.
7215
7216 2005-11-03  Wim Taymans  <wim@fluendo.com>
7217
7218         * docs/design/part-events.txt:
7219         * docs/design/part-gstpipeline.txt:
7220         * docs/design/part-messages.txt:
7221         * docs/design/part-overview.txt:
7222         * docs/design/part-seeking.txt:
7223         * docs/design/part-states.txt:
7224         * docs/design/part-trickmodes.txt:
7225         * docs/manual/advanced-position.xml:
7226         Small docs updates.
7227
7228         * gst/gstobject.h:
7229         People think !! is ugly, this looks better.
7230
7231         * gst/gstpad.c: (gst_pad_set_blocked_async):
7232         Remove !! since it's fixed elsewhere now.
7233
7234 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7235
7236         * gst/gstminiobject.h:
7237         * gst/gstobject.h:
7238           Add !! to _FLAG_IS_SET macros to make the result boolean.
7239
7240 2005-11-03  Edward Hervey  <edward@fluendo.com>
7241
7242         * gst/gstpad.c: (gst_pad_set_blocked_async):
7243         comparing a flag and a gboolean rarely returns coherent results...
7244         Added two characters (!!) to make that work correctly.
7245         
7246 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7247
7248         * gst/gstbus.c: (gst_bus_class_init):
7249           Fix some typos.
7250           
7251         * gst/gstqueue.c: (gst_queue_loop):
7252           Don't assume a miniobject that isn't a buffer is an
7253           event (it could be that there is a refcounting
7254           problem somewhere and the pointer is stale and
7255           refers to an already destroyed miniobject).
7256
7257 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7258
7259         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7260
7261 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7262
7263         * docs/manual/advanced-position.xml:
7264           Update seek example and explanations to current 0.9 API.
7265
7266         * gst/elements/gsttypefindelement.c:
7267         (gst_type_find_element_activate):
7268           Remove FIXME comment now that the found caps
7269           are unreffed.
7270
7271 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7272
7273         * gst/gstregistryxml.c: (load_feature):
7274           Add another GST_STR_NULL instance
7275
7276 2005-11-02  Edward Hervey  <edward@fluendo.com>
7277
7278         * gst/gstpad.c: (handle_pad_block):
7279         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7280         
7281 2005-11-02  Wim Taymans  <wim@fluendo.com>
7282
7283         * gst/gstbin.c:
7284         Fix typo in docs.
7285
7286         * gst/gstelement.c: (gst_element_commit_state):
7287         Remove unused value.
7288
7289         * gst/gstiterator.c:
7290         Mention that the returned element is reffed in the docs.
7291
7292 2005-11-02  Wim Taymans  <wim@fluendo.com>
7293
7294         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7295         (gst_pad_push), (gst_pad_push_event):
7296         Unlock blocked pads when they are flushed.
7297
7298 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7299
7300         * docs/README:
7301         * docs/gst/gstreamer-sections.txt:
7302         * gst/gstbin.c:
7303           doc updates
7304         * gst/gstregistry.c: (gst_registry_scan_path_level):
7305           fix for a nasty little missed situation where an installed plug-in
7306           which was in the cache did not get overridden by an uninstalled one
7307           which was earlier in the plugin path because the newly created plugin
7308           for the uninstalled one (not in the registry) didn't get its
7309           ->registered set to TRUE
7310
7311 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7312
7313         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7314         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7315         (gst_collectpads_is_active), (gst_collectpads_collect),
7316         (gst_collectpads_collect_range), (gst_collectpads_start),
7317         (gst_collectpads_stop), (gst_collectpads_peek),
7318         (gst_collectpads_pop), (gst_collectpads_available),
7319         (gst_collectpads_read), (gst_collectpads_flush):
7320           Guard public API with assertions.
7321         
7322         * gst/gstpad.c:
7323           Fix docs for gst_pad_set_link_function().
7324
7325 2005-11-02  Johan Dahlin  <johan@gnome.org>
7326
7327         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7328         Unref found_caps after we used it.
7329
7330 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7331
7332         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7333           Don't try to ref NULL.
7334
7335 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7336
7337         * win32/common/config.h.in:
7338           provide a GST_FUNCTION that just gives a string for now
7339
7340 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7341
7342         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7343         (gst_object_flags_get_type), (register_gst_bin_flags),
7344         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7345         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7346         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7347         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7348         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7349         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7350         (gst_clock_flags_get_type), (register_gst_state),
7351         (gst_state_get_type), (register_gst_state_change_return),
7352         (gst_state_change_return_get_type), (register_gst_state_change),
7353         (gst_state_change_get_type), (register_gst_element_flags),
7354         (gst_element_flags_get_type), (register_gst_core_error),
7355         (gst_core_error_get_type), (register_gst_library_error),
7356         (gst_library_error_get_type), (register_gst_resource_error),
7357         (gst_resource_error_get_type), (register_gst_stream_error),
7358         (gst_stream_error_get_type), (register_gst_event_type),
7359         (gst_event_type_get_type), (register_gst_seek_type),
7360         (gst_seek_type_get_type), (register_gst_seek_flags),
7361         (gst_seek_flags_get_type), (register_gst_format),
7362         (gst_format_get_type), (register_gst_index_certainty),
7363         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7364         (gst_index_entry_type_get_type),
7365         (register_gst_index_lookup_method),
7366         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7367         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7368         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7369         (gst_index_flags_get_type), (register_gst_debug_level),
7370         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7371         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7372         (gst_iterator_result_get_type), (register_gst_iterator_item),
7373         (gst_iterator_item_get_type), (register_gst_message_type),
7374         (gst_message_type_get_type), (register_gst_mini_object_flags),
7375         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7376         (gst_pad_link_return_get_type), (register_gst_flow_return),
7377         (gst_flow_return_get_type), (register_gst_activate_mode),
7378         (gst_activate_mode_get_type), (register_gst_pad_direction),
7379         (gst_pad_direction_get_type), (register_gst_pad_flags),
7380         (gst_pad_flags_get_type), (register_gst_pad_presence),
7381         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7382         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7383         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7384         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7385         (gst_plugin_flags_get_type), (register_gst_rank),
7386         (gst_rank_get_type), (register_gst_query_type),
7387         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7388         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7389         (gst_tag_flag_get_type), (register_gst_task_state),
7390         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7391         (gst_alloc_trace_flags_get_type),
7392         (register_gst_type_find_probability),
7393         (gst_type_find_probability_get_type), (register_gst_uri_type),
7394         (gst_uri_type_get_type), (register_gst_parse_error),
7395         (gst_parse_error_get_type):
7396         * win32/common/gstversion.h:
7397           update win32 copies
7398
7399 2005-11-01  Luca Ognibene  <luogni@tin.it>
7400
7401         * gst/gst.c:
7402           fix docs. popt is dead, long live GOption.
7403
7404 2005-10-31  Wim Taymans  <wim@fluendo.com>
7405
7406         * gst/gstbuffer.h:
7407         Small doc fix.
7408
7409 2005-10-31  Andy Wingo  <wingo@pobox.com>
7410
7411         * Boo!
7412
7413         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7414
7415         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7416         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7417         the possibility of deadlocks here if code calling notify() or
7418         set() has a lock that can be taken in another notify handler (ABBA
7419         with class lock and e.g. python GIL state lock).
7420
7421 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7422
7423         * gst/gstbus.c: Doc updates.
7424
7425 2005-10-28  Wim Taymans  <wim@fluendo.com>
7426
7427         * docs/design/part-TODO.txt:
7428         * gst/gstiterator.c:
7429         * gst/gstsystemclock.c:
7430         * gst/gstsystemclock.h:
7431         Doc updates.
7432
7433 2005-10-28  Edward Hervey  <edward@fluendo.com>
7434
7435         * docs/gst/gstreamer-docs.sgml:
7436         * docs/gst/gstreamer-sections.txt:
7437         the GstURIType documentation page is private, it only defines GstURIType
7438         which should be defined in the GstURIHandler page
7439         
7440 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7441
7442         * gst/gstbin.c: (gst_bin_class_init):
7443         * gst/gstbin.h:
7444         * gst/gstutils.c:
7445         Documentation updates.
7446
7447 2005-10-28  Wim Taymans  <wim@fluendo.com>
7448
7449         * docs/gst/gstreamer-sections.txt:
7450         * gst/gstclock.c:
7451         * gst/gstclock.h:
7452         Documented the clocks.
7453
7454 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7455
7456         * docs/gst/gstreamer-sections.txt:
7457           move some macros to private sections
7458         * gst/gstminiobject.c:
7459         * gst/gstminiobject.h:
7460           add descriptions provided by ds and some more
7461         * gst/gstpad.h:
7462           mark macro as to be removed
7463
7464 2005-10-28  Wim Taymans  <wim@fluendo.com>
7465
7466         * docs/design/part-TODO.txt:
7467         Add an item to TODO.
7468
7469         * gst/gstiterator.c: (gst_iterator_fold),
7470         (gst_iterator_find_custom):
7471         * gst/gstiterator.h:
7472         Add iterator docs.
7473
7474 2005-10-28  Wim Taymans  <wim@fluendo.com>
7475
7476         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7477         (gst_base_transform_init):
7478         Don't leak class.
7479
7480         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7481         An EOS event marks the queue as completely filled.
7482
7483 2005-10-27  Wim Taymans  <wim@fluendo.com>
7484
7485         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7486         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7487         Some more debugging.
7488
7489         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7490         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7491         (gst_base_transform_event), (gst_base_transform_getrange),
7492         (gst_base_transform_chain):
7493         * gst/base/gstbasetransform.h:
7494         Fix debugging,
7495         Protect transform and concurrent buffer alloc with a new lock.
7496         Try not to break ABI/API.
7497
7498 2005-10-27  Wim Taymans  <wim@fluendo.com>
7499
7500         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7501         (gst_base_src_init), (gst_base_src_query),
7502         (gst_base_src_default_newsegment),
7503         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7504         (gst_base_src_send_event), (gst_base_src_event_handler),
7505         (gst_base_src_pad_get_range), (gst_base_src_loop),
7506         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7507         (gst_base_src_start), (gst_base_src_deactivate),
7508         (gst_base_src_activate_push), (gst_base_src_change_state):
7509         Move some stuff around and cleanup things.
7510
7511 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7512
7513         * gst/base/gstbasesrc.c: (gst_base_src_query):
7514           Add missing break statements.
7515
7516 2005-10-27  Wim Taymans  <wim@fluendo.com>
7517
7518         * check/gst/gstbin.c: (GST_START_TEST):
7519         An extra refcount is taken in basesrc.
7520
7521         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7522         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7523         (gst_base_src_loop):
7524         Small cleanups, check for flushing after being unlocked from the 
7525         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7526         Don't send out EOS when going to READY.
7527
7528 2005-10-27  Wim Taymans  <wim@fluendo.com>
7529
7530         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7531         (gst_base_sink_get_position):
7532         Some more debug.
7533
7534         * gst/gstbin.c: (message_check), (bin_replace_message),
7535         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7536         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7537         (bin_query_duration_init), (bin_query_duration_fold),
7538         (bin_query_duration_done), (bin_query_generic_fold),
7539         (gst_bin_query):
7540         * tools/gst-launch.c: (main):
7541         Remove old option.
7542
7543 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7544
7545         * examples/controller/audio-example.c: (main):
7546         * examples/queue/queue.c: (event_loop):
7547         * gst/base/gstbasetransform.h:
7548         * gst/gstelement.c: (gst_element_send_event):
7549         * gst/gstevent.h:
7550         * gst/gstpad.c: (gst_pad_send_event):
7551           fixing examples
7552           fixing docs typos
7553           changing log priority in error situations
7554
7555 2005-10-25  Wim Taymans  <wim@fluendo.com>
7556
7557         * gst/gstbin.c: (message_check), (bin_replace_message),
7558         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7559         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7560         (bin_query_duration_init), (bin_query_duration_fold),
7561         (bin_query_duration_done), (bin_query_generic_fold),
7562         (gst_bin_query):
7563         Some doc and debug updates.
7564         Cache previously requested query DURATION for speed. invalidate
7565         cached duration if element posts a DURATION message.
7566
7567 2005-10-25  Wim Taymans  <wim@fluendo.com>
7568
7569         * docs/design/part-TODO.txt:
7570         Update TODO.
7571
7572         * gst/gstbin.c: (message_check), (bin_replace_message),
7573         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7574         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7575         (bin_query_duration_init), (bin_query_duration_fold),
7576         (bin_query_duration_done), (bin_query_generic_fold),
7577         (gst_bin_query):
7578         Handle SEGMENT_START/DONE messages correctly.
7579         More evolved query algorithm that handles duration queries
7580         correctly.
7581
7582         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7583         (gst_element_get_state_func), (gst_element_abort_state),
7584         (gst_element_commit_state), (gst_element_lost_state):
7585         Some more debugging.
7586
7587         * gst/gstmessage.h:
7588         Added doc.
7589
7590 2005-10-25  Wim Taymans  <wim@fluendo.com>
7591
7592         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7593         Don't use invalid stream_time.
7594
7595         * gst/gstevent.c: (gst_event_new_newsegment):
7596         stream_time in newsegment cannot be undefined.
7597
7598 2005-10-24  Wim Taymans  <wim@fluendo.com>
7599
7600         * gst/gstbus.c:
7601         Doc fix.
7602
7603         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7604         (gst_queue_loop):
7605         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7606
7607 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7608
7609         * docs/libs/tmpl/gstdparam.sgml:
7610         * docs/libs/tmpl/gstdplinint.sgml:
7611         * docs/libs/tmpl/gstdpman.sgml:
7612         * docs/libs/tmpl/gstdpsmooth.sgml:
7613         * docs/libs/tmpl/gstunitconvert.sgml:
7614           these are obsolete
7615
7616 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7617
7618         * configure.ac:
7619           back to HEAD
7620
7621 === release 0.9.4 ===
7622
7623 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7624
7625         * configure.ac:
7626           releasing 0.9.4, "Tyrannosaurus Rex"
7627
7628 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7629
7630         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7631         (gst_file_sink_get_current_offset):
7632           Use fseeko() and ftello() if available. When falling back on
7633           lseek() to get the current offset, fflush() first to make sure
7634           everything is up-to-date and we get the right offset.
7635
7636 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7637
7638         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7639         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7640         * gst/gsterror.c: (_gst_stream_errors_init):
7641         * gst/gsterror.h:
7642         * gst/gstqueue.c: (gst_queue_loop):
7643         * po/POTFILES.in:
7644           remove prematurely added error category and clean up the instances
7645
7646 2005-10-21  Wim Taymans  <wim@fluendo.com>
7647
7648         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7649         (gst_base_sink_get_position), (gst_base_sink_query),
7650         (gst_base_sink_change_state):
7651         Simply set the right flag when going to playing, that's all
7652         we need to do instead of calling a function inside the object
7653         lock (that could take the lock as well and deadlock)
7654
7655 2005-10-21  Wim Taymans  <wim@fluendo.com>
7656
7657         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7658         (gst_base_src_loop):
7659         Don't warn, the peer element knows what to do best when
7660         the seek failed, it might try something else.
7661
7662 2005-10-21  Wim Taymans  <wim@fluendo.com>
7663
7664         * gst/base/gstbasesrc.c: (gst_base_src_init),
7665         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7666         Fix seeking.
7667
7668 2005-10-21  Wim Taymans  <wim@fluendo.com>
7669
7670         * docs/design/part-segments.txt:
7671         More docs.
7672
7673         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7674         Correctly set caps, even on the subbufer.
7675
7676 2005-10-21  Wim Taymans  <wim@fluendo.com>
7677
7678         * docs/gst/gstreamer-docs.sgml:
7679         * docs/gst/gstreamer-sections.txt:
7680         * gst/gstelement.h:
7681         * gst/gstevent.c:
7682         * gst/gstevent.h:
7683         * gst/gstmessage.h:
7684         * gst/gstpad.h:
7685         * gst/gstparse.h:
7686         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7687         * gst/gsttask.h:
7688         * gst/gstutils.c:
7689         * gst/gstutils.h:
7690         And 2% more doc coverage.
7691
7692 2005-10-21  Andy Wingo  <wingo@pobox.com>
7693
7694         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7695         position reporting.
7696
7697 2005-10-20  Wim Taymans  <wim@fluendo.com>
7698
7699         * gst/gsterror.c: (gst_error_get_message):
7700         * gst/gstparse.h:
7701         * gst/gstquery.h:
7702         * gst/gststructure.c:
7703         * gst/gsttrace.c:
7704         * gst/gstutils.c:
7705         More docs.
7706
7707 2005-10-20  Wim Taymans  <wim@fluendo.com>
7708
7709         * gst/gstbuffer.h:
7710         * gst/gstpad.c:
7711         * gst/gstparse.c:
7712         Another 1% more coverage.
7713
7714 2005-10-20  Wim Taymans  <wim@fluendo.com>
7715
7716         * docs/gst/gstreamer-sections.txt:
7717         * gst/gstelement.c: (gst_element_get_state_func),
7718         (gst_element_abort_state), (gst_element_commit_state),
7719         (gst_element_lost_state):
7720         * gst/gstevent.h:
7721         * gst/gstquery.c: (gst_query_set_position),
7722         (gst_query_parse_position), (gst_query_set_duration),
7723         (gst_query_parse_duration), (gst_query_new_convert):
7724         * gst/gstutils.c:
7725         Yay! 1% more docs coverage.
7726
7727 2005-10-20  Wim Taymans  <wim@fluendo.com>
7728
7729         * gst/gstpad.h:
7730         * gst/gstquery.c: (gst_query_set_position),
7731         (gst_query_parse_position), (gst_query_set_duration),
7732         (gst_query_parse_duration), (gst_query_new_convert):
7733         * gst/gstquery.h:
7734         * gst/gstutils.c: (gst_element_query_convert):
7735         * gst/gstutils.h:
7736         Docs and consistency fixes.
7737
7738 2005-10-20  Wim Taymans  <wim@fluendo.com>
7739
7740         * gst/gsttask.c:
7741         * gst/gsttask.h:
7742         More docs.
7743
7744 2005-10-20  Wim Taymans  <wim@fluendo.com>
7745
7746         * gst/gstbin.c: (message_check), (bin_replace_message),
7747         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7748         (update_degree), (gst_bin_sort_iterator_next),
7749         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7750         Reworked the message handling a bit, cache the messages instead of
7751         only the senders. alows us to do more in the future.
7752
7753 2005-10-20  Wim Taymans  <wim@fluendo.com>
7754
7755         * docs/design/part-TODO.txt:
7756         Update TODO
7757
7758         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7759         (gst_base_sink_query):
7760         Don't use clock time to report position when in EOS.
7761
7762 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
7763
7764         * tools/gst-inspect.c: (print_interfaces),
7765         (print_element_properties_info), (print_element_info):
7766           Fix interface output with gst-inspect -a; don't print
7767           newlines after double/float properties.
7768
7769 2005-10-20  Wim Taymans  <wim@fluendo.com>
7770
7771         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7772         (gst_base_sink_query):
7773         Speed up current position calculation.
7774
7775         * gst/base/gstbasesrc.c: (gst_base_src_query),
7776         (gst_base_src_default_newsegment):
7777         Correctly set stream position in newsegment.
7778
7779         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7780         (update_degree), (gst_bin_sort_iterator_next),
7781         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7782         * gst/gstmessage.c: (gst_message_new_custom):
7783         Clean up debugging info
7784
7785         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7786         (gst_queue_loop), (gst_queue_handle_src_query):
7787         Pause task faster.
7788
7789 2005-10-19  Wim Taymans  <wim@fluendo.com>
7790
7791         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7792         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7793         Fix query handling again.
7794
7795 2005-10-19  Wim Taymans  <wim@fluendo.com>
7796
7797         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7798         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7799         * gst/base/gstbasesrc.c: (gst_base_src_query):
7800         * gst/elements/gstfilesink.c: (gst_file_sink_query):
7801         * gst/elements/gsttypefindelement.c:
7802         (gst_type_find_handle_src_query), (find_element_get_length),
7803         (gst_type_find_element_activate):
7804         API change fix.
7805
7806         * gst/gstquery.c: (gst_query_new_position),
7807         (gst_query_set_position), (gst_query_parse_position),
7808         (gst_query_new_duration), (gst_query_set_duration),
7809         (gst_query_parse_duration), (gst_query_set_segment),
7810         (gst_query_parse_segment):
7811         * gst/gstquery.h:
7812         Bundling query position/duration is not a good idea since duration
7813         does not change much and we don't want to recalculate it for every
7814         position query, so they are separated again..
7815         Base value in segment query is not needed.
7816
7817         * gst/gstqueue.c: (gst_queue_handle_src_query):
7818         * gst/gstutils.c: (gst_element_query_position),
7819         (gst_element_query_duration), (gst_pad_query_position),
7820         (gst_pad_query_duration):
7821         * gst/gstutils.h:
7822         Updates for query API change.
7823         Added some docs here and there.
7824
7825 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7826
7827         * check/gst/gstbin.c: (GST_START_TEST):
7828         * check/gst/gstghostpad.c: (GST_START_TEST):
7829         * check/pipelines/cleanup.c: (GST_START_TEST):
7830           wait on thread to die so we can check refcount correctly
7831
7832 2005-10-18  Wim Taymans  <wim@fluendo.com>
7833
7834         * check/pipelines/stress.c: (GST_START_TEST):
7835         Make check a little more time consuming.
7836
7837 2005-10-18  Wim Taymans  <wim@fluendo.com>
7838
7839         * check/Makefile.am:
7840         * check/pipelines/stress.c: (GST_START_TEST),
7841         (simple_launch_lines_suite), (main):
7842         Small state change torture test.
7843
7844         * docs/design/part-states.txt:
7845         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7846         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7847         (gst_base_sink_change_state):
7848         Never take state lock from streaming thread, clean up ugly
7849         hacks. Unfortunatly core does not yet support nice ways to
7850         async commit state.
7851         
7852         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7853         (bin_bus_handler):
7854         Start state recalc if a STATE_DIRTY message is posted, but only
7855         on the toplevel bin.
7856
7857         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7858         (gst_element_get_state_func), (gst_element_abort_state),
7859         (gst_element_commit_state), (gst_element_lost_state),
7860         (gst_element_set_state_func), (gst_element_change_state):
7861         * gst/gstelement.h:
7862         State variables are now protected with the LOCK, the state
7863         lock is only used to serialize _set_state().
7864
7865 2005-10-18  Wim Taymans  <wim@fluendo.com>
7866
7867         * check/gst/gstbin.c: (GST_START_TEST):
7868         * check/gst/gstmessage.c: (GST_START_TEST):
7869         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7870         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7871         (bin_bus_handler):
7872         * gst/gstelement.c: (gst_element_abort_state),
7873         (gst_element_commit_state), (gst_element_lost_state):
7874         * gst/gstmessage.c: (gst_message_new_state_changed),
7875         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7876         (gst_message_new_segment_done), (gst_message_new_duration),
7877         (gst_message_parse_state_changed),
7878         (gst_message_parse_segment_start),
7879         (gst_message_parse_segment_done), (gst_message_parse_duration):
7880         * gst/gstmessage.h:
7881         * tools/gst-launch.c: (event_loop):
7882         Seriously, this is better than a previous commit as we only need
7883         to notify the fact that an element changed state in a streaming
7884         thread, marking the state of the parents dirty, hence the 
7885         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7886         message.
7887
7888 2005-10-18  Wim Taymans  <wim@fluendo.com>
7889
7890         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7891         (gst_bin_recalc_func):
7892         * gst/gstelement.c: (gst_element_set_clock),
7893         (gst_element_abort_state), (gst_element_lost_state):
7894         Cleanups, prepare for state change fixes.
7895
7896 2005-10-18  Wim Taymans  <wim@fluendo.com>
7897
7898         * gst/gstbin.h:
7899         * gst/gstelement.c: (gst_element_class_init),
7900         (gst_element_set_state), (gst_element_set_state_func):
7901         * gst/gstelement.h:
7902         Pending ABI changes.
7903         GThreadPool in GstBinClass to monitor async state changes.
7904         state_cookie in GstElement to detect concurrent gst/set state.
7905         set_state is now virtual too in case a very complicated element
7906         has to be constructed.
7907
7908 2005-10-18  Wim Taymans  <wim@fluendo.com>
7909
7910         * check/gst/gstbin.c: (GST_START_TEST):
7911         * check/gst/gstmessage.c: (GST_START_TEST):
7912         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7913         * gst/gstbin.c: (bin_bus_handler):
7914         * gst/gstelement.c: (gst_element_commit_state),
7915         (gst_element_lost_state):
7916         * gst/gstmessage.c: (gst_message_new_state_changed),
7917         (gst_message_new_segment_start), (gst_message_new_segment_done),
7918         (gst_message_new_duration), (gst_message_parse_state_changed),
7919         (gst_message_parse_segment_start),
7920         (gst_message_parse_segment_done), (gst_message_parse_duration):
7921         * gst/gstmessage.h:
7922         * tools/gst-launch.c: (event_loop):
7923         Make messages future proof.
7924         state-change gets a flag if it was a message comming from the
7925         streaming thread.
7926         segment-start/stop can also be specified in other formats.
7927         A message to notify an app that a pipeline changed playback 
7928         duration.
7929         Also fix a GstMessage leak in -launch
7930
7931 2005-10-18  Andy Wingo  <wingo@pobox.com>
7932
7933         * gst/gstelement.c (gst_element_dispose): More helpful message.
7934
7935 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7936
7937         reviewed by: <delete if not using a buddy>
7938
7939         * common/gtk-doc.mak:
7940
7941 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7942
7943         * gst/gstregistry.c: (gst_registry_scan_path_level):
7944           unref a plug-in we get that was already initialized
7945
7946 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
7947
7948         * docs/gst/gstreamer-sections.txt:
7949         * docs/libs/gstreamer-libs-sections.txt:
7950         * gst/gstelement.h:
7951           add new api entries
7952           hide internal macro
7953
7954 2005-10-17  Andy Wingo  <wingo@pobox.com>
7955
7956         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
7957         cleanup.
7958
7959         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
7960
7961         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
7962
7963         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
7964         (gst_element_get_state_func): Better debug message.
7965         (gst_element_commit_state): s/INFO/DEBUG/.
7966         (gst_element_lost_state, gst_element_change_state): 
7967
7968         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
7969         (gst_message_new_custom): s/INFO/LOG/.
7970
7971 2005-10-17  Michael Smith <msmith@fluendo.com>
7972
7973         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7974           Check if end time is valid using end time, not start time.
7975
7976 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
7977
7978         * check/gst-libs/controller.c: (GST_START_TEST),
7979         (gst_controller_suite):
7980         * libs/gst/controller/gstcontroller.c:
7981         (gst_controlled_property_set_interpolation_mode):
7982         * libs/gst/controller/gstcontroller.h:
7983         * libs/gst/controller/gstinterpolation.c:
7984         * testsuite/controller/.cvsignore:
7985         * testsuite/controller/Makefile.am:
7986         * testsuite/controller/interpolator.c:
7987           merge controller testsuites
7988           fix broken tests
7989           remove mem-chunk from docs
7990
7991 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7992
7993         * gst/gstmemchunk.c:
7994         * gst/gstmemchunk.h:
7995         * gst/gsttrashstack.c:
7996         * gst/gsttrashstack.h:
7997           out.  get out.  you're fired.  to the Attic !
7998
7999 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8000
8001         * gst/gstcaps.c: (gst_caps_intersect):
8002           fix signedness issues in a (hopefully) correct way
8003         * gst/gstelement.c: (gst_element_pads_activate):
8004           some debugging
8005         * gst/gstobject.c: (gst_object_set_parent):
8006           some debugging
8007
8008 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8009
8010         * gst/gstvalue.h: Fix prototypes.
8011
8012 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8013
8014         * docs/gst/gstreamer-sections.txt:
8015         * gst/gst.c: (gst_version_string):
8016         * gst/gst.h:
8017         * gst/gstversion.h.in:
8018         * win32/common/libgstreamer.def:
8019           add gst_version_string ()
8020
8021 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8022
8023         * configure.ac:
8024           clean up further
8025         * gst/gst.c: (init_post):
8026         * win32/common/config.h.in:
8027           it's PLUGINDIR now
8028         * gst/gstcaps.c: (gst_caps_intersect):
8029           use gint64, the range could be bigger than a guint
8030
8031 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8032
8033         * gst/gstclock.h:
8034           document potential problem in 2038
8035
8036 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8037
8038         * gst/gstcaps.c: (gst_caps_intersect):
8039           Fix guint j diving under 0
8040
8041 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8042
8043         * configure.ac:
8044         * win32/common/config.h:
8045         * win32/common/config.h.in:
8046           check for process.h, declares getpid() on Windows
8047         * gst/gstinfo.c:
8048           include process.h if we have it
8049         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8050         * gst/gstmemchunk.h:
8051           fix signedness issues
8052         * win32/common/libgstreamer.def:
8053           fix get_type's
8054
8055 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8056
8057         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8058         fix. Because of unsigned ints, caps intersection was going nuts and
8059         trying to access structures with G_MAXUINT index. That fixes
8060         videotestsrc ! ffmpegcolorspace ! fakesink
8061         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8062         consistency.
8063
8064 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8065
8066         * configure.ac:
8067           use the gettext macro
8068         * gst/elements/gstelements.c:
8069         * gst/gst.c:
8070         * gst/indexers/gstindexers.c:
8071           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8072         * win32/common/config.h:
8073           updated config.h
8074         * win32/common/config.h.in:
8075           add the template to generate config.h
8076         * win32/common/gstenumtypes.c:
8077         * win32/common/gstversion.h:
8078           updated copies
8079
8080 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8081
8082         * gst/gst.c: (gst_version):
8083         * gst/gstversion.h.in:
8084           add the nano
8085
8086 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8087
8088         * gst/gstevent.h:
8089           Oops, add missing closing bracket.
8090
8091 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8092
8093         * configure.ac:
8094           use common m4's for argument checking
8095
8096 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8097
8098         * docs/gst/gstreamer-sections.txt:
8099         * gst/gstevent.h:
8100           Add GST_EVENT_TYPE_NAME() macro.
8101
8102 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8103
8104         * gst/gstinfo.c:
8105         * gst/gstpluginfeature.c:
8106         * gst/gsttask.c:
8107           privatize more symbols
8108
8109 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8110
8111         * configure.ac:
8112           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8113           everything that uses GStreamer API should have the includes
8114
8115 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8116
8117         * docs/gst/gstreamer-sections.txt:
8118         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8119         * gst/gstvalue.h:
8120           give each value a _get_type, removes the DATA exports
8121
8122 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8123
8124         * gst/gst.c:
8125         * gst/gst.h:
8126           remove _gst_registry_auto_load, not used anymore
8127         * gst/gstbin.c: (gst_bin_get_type):
8128         * gst/gstbin.h:
8129         * gst/gstelement.c: (gst_element_get_type):
8130         * gst/gstelement.h:
8131         * gst/gstobject.c: (gst_object_get_type):
8132         * gst/gstobject.h:
8133         * gst/gstpad.c: (gst_pad_get_type):
8134         * gst/gstpad.h:
8135           make _get_type functions similar, fixes data export from library
8136
8137 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8138
8139         * configure.ac:
8140           correctly make conditionals
8141         * gst/elements/Makefile.am:
8142         * gst/elements/gstelements.c:
8143           fix typo causing fdsrc not to build
8144
8145 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8146
8147         * testsuite/Makefile.am:
8148         * testsuite/bytestream/.cvsignore:
8149         * testsuite/bytestream/Makefile.am:
8150         * testsuite/bytestream/filepadsink.c:
8151         * testsuite/bytestream/gstbstest.c:
8152         * testsuite/bytestream/test1.c:
8153         * testsuite/bytestream/testfile1:
8154         * testsuite/caps/normalisation.c:
8155         * testsuite/caps/random.c: (main):
8156         * testsuite/cleanup/.cvsignore:
8157         * testsuite/cleanup/Makefile.am:
8158         * testsuite/cleanup/cleanup1.c:
8159         * testsuite/cleanup/cleanup2.c:
8160         * testsuite/cleanup/cleanup3.c:
8161         * testsuite/cleanup/cleanup4.c:
8162         * testsuite/cleanup/cleanup5.c:
8163         * testsuite/controller/interpolator.c:
8164         * testsuite/debug/printf_extension.c: (main):
8165         * testsuite/elements/tee.c:
8166         * testsuite/negotiation/.cvsignore:
8167         * testsuite/negotiation/Makefile.am:
8168         * testsuite/negotiation/pad_link.c:
8169         * testsuite/pad/Makefile.am:
8170         * testsuite/pad/chainnopull.c:
8171         * testsuite/pad/getnopush.c:
8172         * testsuite/pad/link.c:
8173         * testsuite/refcounting/sched.c: (create_pipeline):
8174         * testsuite/registry/Makefile.am:
8175         * testsuite/registry/gst-print-formats.c:
8176         * testsuite/schedulers/.cvsignore:
8177         * testsuite/schedulers/142183-2.c:
8178         * testsuite/schedulers/142183.c:
8179         * testsuite/schedulers/143777-2.c:
8180         * testsuite/schedulers/143777.c:
8181         * testsuite/schedulers/147713.c:
8182         * testsuite/schedulers/147819.c:
8183         * testsuite/schedulers/147894-2.c:
8184         * testsuite/schedulers/147894.c:
8185         * testsuite/schedulers/Makefile.am:
8186         * testsuite/schedulers/group_link.c:
8187         * testsuite/schedulers/queue_link.c:
8188         * testsuite/schedulers/relink.c:
8189         * testsuite/schedulers/unlink.c:
8190         * testsuite/schedulers/unref.c:
8191         * testsuite/schedulers/useless_iteration.c:
8192         * testsuite/states/bin.c:
8193           clean out/remove some stuff from the testsuite directories
8194
8195 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8196
8197         * configure.ac:
8198           check for some headers
8199         * gst/elements/Makefile.am:
8200         * gst/elements/gstelements.c:
8201           don't compile fdsrc without sys/socket.h
8202         * gst/indexers/Makefile.am:
8203         * gst/indexers/gstindexers.c: (plugin_init):
8204           don't compile fileindex without mmap
8205
8206 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8207
8208         * configure.ac:
8209           reorganize
8210           clean up
8211           document more
8212           remove cruft
8213         * check/Makefile.am:
8214         * docs/gst/Makefile.am:
8215         * examples/helloworld/Makefile.am:
8216         * gst/Makefile.am:
8217         * gst/base/Makefile.am:
8218         * gst/check/Makefile.am:
8219         * gst/elements/Makefile.am:
8220         * gst/indexers/Makefile.am:
8221         * gst/parse/Makefile.am:
8222         * libs/gst/controller/Makefile.am:
8223         * libs/gst/dataprotocol/Makefile.am:
8224         * examples/helloworld/helloworld.c: (event_loop):
8225           compile fixes, though it's not being compiled currently
8226
8227 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8228
8229         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8230           Add some simple tests for the new taglist date API.
8231
8232 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8233
8234         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8235         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8236           Beautify 'last-message' output: print 'none' for buffer timestamps
8237           and durations if none is set; improve alignment with next messages.
8238
8239 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8240
8241         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8242         * gst/gstpluginfeature.h:
8243         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8244         * gst/gstregistry.h:
8245         * docs/gst/gstreamer-sections.txt:
8246           Add new API to check plugin feature version requirements.
8247
8248         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8249           Some basic tests for the above.         
8250
8251 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8252
8253         * gst/gststructure.c: (gst_structure_to_string):
8254           guard against NULL printf - happens when for example
8255           a message structure with GstClock gets serialized
8256
8257 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8258
8259         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8260           Fix presumable copy'n'pasto.
8261
8262 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8263
8264         * gst/elements/gstfakesrc.h:
8265         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8266         * gst/elements/gsttypefindelement.c:
8267           fix some signedness
8268         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8269           I wonder if this could actually write +2GB files before
8270
8271 2005-10-13  Andy Wingo  <wingo@pobox.com>
8272
8273         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8274         Fix Timmeke Waymans bug.
8275         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8276         string of the proper length to gst_caps_from_string. There's a
8277         potential for, before this fix, that this could cause someone
8278         connecting over the network to cause a segfault if the payload is
8279         not NUL-terminated.
8280
8281 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8282
8283         * docs/design/draft-push-pull.txt:
8284         * docs/design/part-overview.txt:
8285         * docs/random/TODO-pre-0.9:
8286         * docs/random/old/ChangeLog.gstreamer:
8287         * gst/base/gstpushsrc.c:
8288         * gst/gstclock.c:
8289           fixed typos
8290
8291 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8292
8293         * gst/glib-compat.c: (gst_flags_get_first_value):
8294         * gst/glib-compat.h:
8295         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8296         (gst_value_compare_double), (gst_value_serialize_flags):
8297           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8298           infinite loop
8299
8300 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8301
8302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8303         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8304           fix up debugging
8305         * tools/gst-launch.c: (event_loop):
8306           print out clock nicely
8307
8308 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8309
8310         * docs/gst/gstreamer-sections.txt:
8311         * gst/gsttaglist.h:
8312         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8313         (gst_tag_list_get_date_index):
8314           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8315           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8316
8317 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8318
8319         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8320         (gst_collectpads_chain):
8321         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8322         in CollectData.
8323
8324 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8325
8326         * docs/gst/gstreamer-sections.txt:
8327         * gst/gst.c:
8328         * gst/gsterror.h:
8329         * tools/gst-inspect.c: (main):
8330         * tools/gst-launch.c: (main):
8331         * tools/gst-run.c: (main):
8332         * tools/gst-xmlinspect.c: (main):
8333           fix GOption context leaks
8334           doc fixes
8335
8336 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8337
8338         * gst/gstbus.c:
8339           use HAVE_UNISTD_H
8340         * win32/common/config.h:
8341           update config
8342         * win32/vs6/grammar.dsp:
8343         * win32/vs6/libgstelements.dsp:
8344         * win32/vs6/libgstreamer.dsp:
8345           update vs6 files
8346
8347 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8348
8349         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8350         * gst/base/gstbasesrc.c: (gst_base_src_query):
8351           fix more guint64<->gdouble conversions
8352
8353 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8354
8355         * Makefile.am:
8356           add win32-update target
8357         * win32/common/gstconfig.h:
8358         * win32/common/gstenumtypes.c:
8359         * win32/common/gstenumtypes.h:
8360         * win32/common/gstversion.h:
8361           add files that visual studio can't generate
8362
8363 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8364
8365         * Makefile.am:
8366           add a win32-update target
8367         * configure.ac:
8368
8369 2005-10-12  Wim Taymans  <wim@fluendo.com>
8370
8371         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8372         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8373         * gst/gstelement.c: (gst_element_commit_state),
8374         (gst_element_set_state):
8375         Protect flags with proper lock.
8376         unref provided cached clock in dispose.
8377
8378 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8379
8380         * gst/gst.c:
8381         * gst/gstminiobject.h:
8382         * gst/gstpad.h:
8383         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8384           removed unused flags from miniobject
8385           doc fixes
8386
8387 2005-10-12  Wim Taymans  <wim@fluendo.com>
8388
8389         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8390         (gst_file_sink_event), (gst_file_sink_render):
8391         Flush before seeking.
8392
8393 2005-10-12  Andy Wingo  <wingo@pobox.com>
8394
8395         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8396         always been the case.
8397
8398 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8399
8400         * check/gst/gstbin.c: (GST_START_TEST):
8401         * docs/gst/gstreamer-sections.txt:
8402         * gst/base/gstbasesink.c: (gst_base_sink_init):
8403         * gst/base/gstbasesrc.c: (gst_base_src_init),
8404         (gst_base_src_get_range), (gst_base_src_check_get_range),
8405         (gst_base_src_start), (gst_base_src_stop):
8406         * gst/base/gstbasesrc.h:
8407         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8408         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8409         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8410         (bin_bus_handler):
8411         * gst/gstbin.h:
8412         * gst/gstbuffer.h:
8413         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8414         * gst/gstbus.h:
8415         * gst/gstelement.c: (gst_element_is_locked_state),
8416         (gst_element_set_locked_state), (gst_element_commit_state),
8417         (gst_element_set_state):
8418         * gst/gstelement.h:
8419         * gst/gstindex.c: (gst_index_init):
8420         * gst/gstindex.h:
8421         * gst/gstminiobject.h:
8422         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8423         (gst_object_set_parent):
8424         * gst/gstobject.h:
8425         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8426         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8427         * gst/gstpad.h:
8428         * gst/gstpadtemplate.h:
8429         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8430         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8431         * gst/gstpipeline.h:
8432         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8433         (gst_file_index_commit):
8434         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8435         * testsuite/pad/link.c: (gst_test_src_init),
8436         (gst_test_filter_init), (gst_test_sink_init):
8437         * testsuite/states/locked.c: (main):
8438           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8439           moved bitshift from macro to enum definition
8440
8441 2005-10-12  Wim Taymans  <wim@fluendo.com>
8442
8443         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8444         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8445         (gst_file_sink_render):
8446         Some more debugging info.
8447
8448 2005-10-12  Wim Taymans  <wim@fluendo.com>
8449
8450         * docs/design/part-states.txt:
8451         * tools/gst-launch.c: (main):
8452         Some doc updates.
8453         Revert non-intentional change.
8454
8455 2005-10-12  Wim Taymans  <wim@fluendo.com>
8456
8457         * check/gst/gstbin.c: (GST_START_TEST):
8458         * check/gst/gstelement.c: (GST_START_TEST):
8459         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8460         * check/gst/gstghostpad.c: (GST_START_TEST):
8461         * check/gst/gstpipeline.c: (GST_START_TEST):
8462         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8463         * check/states/sinks.c: (GST_START_TEST):
8464         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8465         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8466         (gst_bin_remove_func), (gst_bin_get_state_func),
8467         (gst_bin_recalc_state), (gst_bin_change_state_func),
8468         (bin_bus_handler):
8469         * gst/gstelement.c: (gst_element_get_state_func),
8470         (gst_element_get_state), (gst_element_abort_state),
8471         (gst_element_commit_state), (gst_element_set_state),
8472         (gst_element_change_state), (gst_element_change_state_func):
8473         * gst/gstelement.h:
8474         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8475         (gst_pipeline_provide_clock_func):
8476         * gst/gstutils.c: (gst_element_link_pads_filtered):
8477         * tools/gst-launch.c: (main):
8478         * tools/gst-typefind.c: (main):
8479         Use GstClockTime in _get_state() instead of GTimeVal.
8480         Remove old code in gstutils.c
8481
8482 2005-10-12  Andy Wingo  <wingo@pobox.com>
8483
8484         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8485         removed.
8486
8487         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8488         there is no task. Shouldn't affect any code, as nothing in our
8489         plugins checks this return value.
8490         (gst_pad_stop_task): Also take the stream lock if the pad has no
8491         task. Docs updated.
8492
8493 2005-10-12  Wim Taymans  <wim@fluendo.com>
8494
8495         * gst/gstpad.c: (pre_activate), (post_activate),
8496         (gst_pad_activate_pull), (gst_pad_activate_push):
8497         Cleanup activation code. Reset old state if
8498         activation failed.
8499
8500 2005-10-12  Wim Taymans  <wim@fluendo.com>
8501
8502         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8503         (gst_base_sink_change_state):
8504         No need to prerol after receiving EOS.
8505
8506         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8507         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8508         * gst/elements/gstidentity.c: (gst_identity_event):
8509         Print events more verbosely.
8510
8511 2005-10-12  Wim Taymans  <wim@fluendo.com>
8512
8513         * check/Makefile.am:
8514         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8515         * check/states/sinks2.c:
8516         Moved sinks2 testcode in sinks check.
8517
8518         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8519         (gst_bin_remove_func), (gst_bin_recalc_state),
8520         (gst_bin_change_state_func), (bin_bus_handler):
8521         Fix potential race condition when _get_state() iterated over an
8522         ASYNC element right before it posted a state completion.
8523
8524         * gst/gstclock.h:
8525         Do proper cast here.
8526
8527         * gst/gstevent.c: (gst_event_new_newsegment),
8528         (gst_event_parse_newsegment):
8529         A playback rate of 0.0 is not allowed.
8530
8531 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8532
8533         * win32/common/config.h:
8534         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8535         (_trewinddir), (_ttelldir), (_tseekdir):
8536         * win32/common/dirent.h:
8537         * win32/common/gtchar.h:
8538         * win32/common/libgstbase.def:
8539         * win32/common/libgstreamer.def:
8540         * win32/vs6/grammar.dsp:
8541         * win32/vs6/gst_inspect.dsp:
8542         * win32/vs6/gst_launch.dsp:
8543         * win32/vs6/gstreamer.dsw:
8544         * win32/vs6/libgstbase.dsp:
8545         * win32/vs6/libgstelements.dsp:
8546         * win32/vs6/libgstreamer.dsp:
8547           Visual Studio 6 project files, and a new common directory.
8548           Phear.
8549
8550 2005-10-11  Wim Taymans  <wim@fluendo.com>
8551
8552         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8553         (gst_base_sink_do_sync), (gst_base_sink_query),
8554         (gst_base_sink_change_state):
8555         * gst/base/gstbasesink.h:
8556         Correctly parse newsegment info.
8557
8558 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8559
8560         * gst/gst.c: (init_post):
8561           split plugin paths correctly
8562
8563 2005-10-11  Wim Taymans  <wim@fluendo.com>
8564
8565         * check/gst/gstevent.c: (GST_START_TEST):
8566         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8567         (gst_base_sink_change_state):
8568         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8569         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8570         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8571         * gst/gstevent.c: (gst_event_new_newsegment),
8572         (gst_event_parse_newsegment):
8573         * gst/gstevent.h:
8574         Added extra flag to newsegment for future API freeze.
8575         Updated check and base elements.
8576
8577 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8578
8579         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8580         (gst_collectpads_add_pad), (gst_collectpads_pop),
8581         (gst_collectpads_event), (gst_collectpads_chain):
8582         * gst/base/gstcollectpads.h: Handle EOS correctly.
8583
8584 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8585
8586         * tools/gst-launch.c: (main):
8587           more null protecting
8588
8589 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8590
8591         * gst/gst-i18n-lib.h:
8592           check for ENABLE_NLS, not GETTEXT_PACKAGE
8593         * gst/gstregistry.c: (gst_registry_add_plugin),
8594         (gst_registry_scan_path_level),
8595         (_gst_registry_remove_cache_plugins):
8596           protect possibly NULL strings
8597         * gst/parse/types.h:
8598           config.h already included before
8599         * tools/gst-inspect.c: (main):
8600           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8601           check for ENABLE_NLS, not GETTEXT_PACKAGE
8602         * tools/gst-launch.c: (main):
8603           check for ENABLE_NLS, not GETTEXT_PACKAGE
8604
8605 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8606
8607         * configure.ac:
8608           if we don't have glib, fail before testing 2.8
8609         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8610           fix a leak, should fix plugins-base testsuite
8611
8612 2005-10-11  Andy Wingo  <wingo@pobox.com>
8613
8614         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8615         take the mode we're going to as an arg. Go head and set the mode
8616         and flushing flags now, so that if the activate function starts a
8617         thread all the flags will be in the right state.
8618         (post_activate): Renamed also. Just handle making sure streaming
8619         finishes for the deactivation case, and setting the deactivated
8620         mode.
8621         (gst_pad_set_active): Complain loudly if deactivation fails.
8622         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8623         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8624         remove the terrible hack.
8625
8626 2005-10-11  Wim Taymans  <wim@fluendo.com>
8627
8628         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8629         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8630         (gst_bin_recalc_state), (gst_bin_change_state_func),
8631         (gst_bin_dispose), (bin_bus_handler):
8632         * gst/gstbin.h:
8633         Prepare to make current EOS message queue more generic.
8634         Fix some typos.
8635
8636         * gst/gstevent.c: (gst_event_new_newsegment),
8637         (gst_event_parse_newsegment):
8638         * gst/gstevent.h:
8639         Rename base to stream_time.
8640
8641         * gst/gstmessage.h:
8642         Fix typo in docs.
8643
8644 2005-10-11  Wim Taymans  <wim@fluendo.com>
8645
8646         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8647         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8648         (gst_bin_change_state_func), (bin_bus_handler):
8649         * gst/gstbin.h:
8650         Work on proper clock selection.
8651
8652 2005-10-11  Edward Hervey  <edward@fluendo.com>
8653
8654         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8655         * libs/gst/controller/gstcontroller.h:
8656         Added GList* version of _remove_properties() in order to be able to wrap
8657         it in bindings.
8658
8659 2005-10-11  Wim Taymans  <wim@fluendo.com>
8660
8661         * docs/design/part-states.txt:
8662         Some more docs.
8663
8664         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8665         (gst_bin_change_state_func), (bin_bus_handler):
8666         Doc updates. Don't distribute the same clock over and over again.
8667
8668         * gst/gstclock.c:
8669         * gst/gstclock.h:
8670         Doc updates.
8671
8672         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8673         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8674         (gst_pad_send_event):
8675         * gst/gstpad.h:
8676         Make probe emission threadsafe again.
8677         Register quarks and move _get_name() from utils.
8678         Doc updates.
8679
8680         * gst/gstpipeline.c: (gst_pipeline_class_init),
8681         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8682         Only redistribute the clock of it changed.
8683
8684         * gst/gstsystemclock.h:
8685         Doc updates. 
8686
8687         * gst/gstutils.c:
8688         * gst/gstutils.h:
8689         Moved the _flow_get_name() to GstPad.
8690
8691 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8692
8693         * check/gst-libs/gdp.c: (GST_START_TEST):
8694         * check/gst/gstcaps.c: (GST_START_TEST):
8695         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8696         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8697         (gst_dp_packet_from_caps):
8698           fix more valgrind warnings before turning up the heat
8699
8700 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8701
8702         * gst/parse/grammar.y:
8703           some cleanup before the hacking
8704
8705 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8706
8707         * gst/base/gstbasesrc.c: (gst_base_src_query):
8708           use conversions
8709         * gst/gstutils.c: (gst_guint64_to_gdouble),
8710         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8711         * gst/gstutils.h:
8712           externalize, basesrc uses it
8713           obviously the implementation needs testing
8714
8715 2005-10-10  Wim Taymans  <wim@fluendo.com>
8716
8717         * tests/sched/Makefile.am:
8718         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8719         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8720
8721 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8722
8723         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8724           apparently converting from guint64 to double is not implemented
8725           on MSVC
8726
8727 2005-10-10  Wim Taymans  <wim@fluendo.com>
8728
8729         * check/Makefile.am:
8730         * check/generic/states.c: (GST_START_TEST):
8731         * check/gst/gstbin.c: (GST_START_TEST):
8732         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8733         * check/states/sinks.c: (GST_START_TEST):
8734         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8735         (main):
8736         Check fixes, use API as stated in design docs, remove hacks.
8737
8738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8739         (gst_base_sink_change_state):
8740         Catch stopping our task while we're shutting down.
8741
8742         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8743         (gst_bin_remove_func), (gst_bin_get_state_func),
8744         (gst_bin_recalc_state), (gst_bin_change_state_func),
8745         (bin_bus_handler):
8746         * gst/gstbin.h:
8747         * gst/gstelement.c: (gst_element_init),
8748         (gst_element_get_state_func), (gst_element_abort_state),
8749         (gst_element_commit_state), (gst_element_lost_state),
8750         (gst_element_set_state), (gst_element_change_state),
8751         (gst_element_change_state_func):
8752         * gst/gstelement.h:
8753         New state change algorithm (see #318116)
8754
8755         * gst/gstpipeline.c: (gst_pipeline_class_init),
8756         (gst_pipeline_init), (gst_pipeline_set_property),
8757         (gst_pipeline_get_property), (do_pipeline_seek),
8758         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8759         * gst/gstpipeline.h:
8760         Remove crude state change hacks.
8761
8762         * gst/gstutils.h:
8763         Remove crude hacks.
8764
8765         * tools/gst-launch.c: (main):
8766         Fixes for state change. Needs some more work to fully use the
8767         new stuff.
8768
8769 2005-10-10  Andy Wingo  <wingo@pobox.com>
8770
8771         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8772
8773         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8774         this flag, but it's not even in GLib 2.6. Odd. Hack around the
8775         issue.
8776
8777 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8778
8779         * gst/gstiterator.c: (gst_iterator_new):
8780           Fix my previous commit: GTypes passed to gst_iterator_new()
8781           can be fundamental types.
8782
8783 2005-10-10  Wim Taymans  <wim@fluendo.com>
8784
8785         * gst/gstelement.c: (gst_element_iterate_pad_list),
8786         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8787         (gst_element_iterate_sink_pads):
8788         Use src/sink pads lists for the respective iterators instead
8789         of filtering.
8790
8791 2005-10-10  Andy Wingo  <wingo@pobox.com>
8792
8793         Merged in popt removal + GOption addition patch from Ronald, bug
8794         #169772.
8795
8796         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
8797         GstElement macros around, remove popt-related symbols, add goption
8798         stuff.
8799
8800         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
8801         
8802         * docs/gst/Makefile.am:
8803         * docs/libs/Makefile.am: No POPT_CFLAGS.
8804         
8805         * examples/manual/Makefile.am:
8806         * docs/manual/basics-init.xml: Doc updates with an example.
8807         
8808         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8809         (gst_init), (parse_one_option), (parse_goption_arg):
8810         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
8811         bit of hand merging and debugging to get the GOption stuff working
8812         tho.
8813         
8814         * tests/Makefile.am:
8815         * tools/Makefile.am:
8816         * tools/gst-inspect.c: (main):
8817         * tools/gst-launch.c: (main):
8818         * tools/gst-run.c: (main):
8819         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
8820
8821 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8822
8823         * gst/gstiterator.c: (gst_iterator_new):
8824           Add assertions to make sure passed GType is likely to really
8825           be a GType (as the compiler won't catch it if the size and
8826           GType arguments get mixed up, see #318447).
8827
8828 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8829
8830         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8831
8832         * gst/gstbin.c: (gst_bin_iterate_sorted):
8833           Pass GType and size arguments to gst_iterator_new() in the right
8834           order (maybe we should make _new() take the GType as first argument
8835           just like _new_list()?) (#318447).
8836           
8837
8838 2005-10-10  Wim Taymans  <wim@fluendo.com>
8839
8840         * gst/gstelement.c: (gst_element_finalize):
8841         And free the GStaticRecMutex too
8842
8843 2005-10-10  Andy Wingo  <wingo@pobox.com>
8844
8845         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8846         Allocate and free the mutex properly.
8847
8848         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8849         New macros.
8850         (GstElement): The state_lock is now recursive. Rebuild your
8851         plugins, suckers. Old macros adapted.
8852
8853         * docs/gst/gstreamer-sections.txt: Doc updates.
8854
8855         * gst/gstutils.h:
8856         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8857         (g_static_rec_cond_wait): Ported from state changes patch, while
8858         we wait on bug #317802 to be solved in a well-distributed GLib.
8859
8860         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8861         gst_element_change_state, variable name changes.
8862         (gst_element_change_state): Split out of gst_element_set_state in
8863         preparation for the state change merge. Doesn't pay attention to
8864         the 'transition' argument.
8865         (gst_element_set_state): Updates, hopefully purely cosmetic.
8866         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8867         state change patch.
8868         (gst_element_get_state_func): Renamed from get_state, cosmetic
8869         changes.
8870
8871 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8872
8873         * gst/elements/gstelements.c:
8874         * win32/GStreamer.vcproj:
8875         * win32/config.h:
8876         * win32/dirent.c: (_tseekdir):
8877         * win32/gst-inspect.vcproj:
8878         * win32/gst-launch.vcproj:
8879         * win32/gstconfig.h:
8880         * win32/gstelements.vcproj:
8881         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8882         * win32/gstreamer.def:
8883         * win32/msvc71.sln:
8884           updates for the win32 build (patch from Sebastien Moutte)
8885
8886 2005-10-10  Andy Wingo  <wingo@pobox.com>
8887
8888         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8889         gst_bin_get_state, cleaned up (but no logic changes).
8890         (bin_element_is_sink): Comment updates.
8891         (sink_iterator_filter): Remove needless cast.
8892         (gst_bin_iterate_sinks): Doc update.
8893         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
8894         cleaned up (but no logic changes).
8895
8896         * check/states/sinks.c (test_src_sink): Cleanups from the state
8897         change patch.
8898         (test_livesrc_sink): Sync on the state.
8899
8900         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
8901         the state change patch.
8902
8903         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
8904         change patch.
8905
8906         * check/gst/gstbin.c: Merge in some style fixes and additional
8907         checks from Wim's state change patch.
8908
8909 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8910
8911         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8912         (gst_type_find_helper):
8913           Check whether we have the requested data already in our list of
8914           cached buffers before pulling a new buffer; also make the buffer
8915           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
8916
8917 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8918
8919         * gst/gstcaps.c:
8920         * gst/gstevent.c:
8921           doc updates
8922         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8923           don't use long long, it's not portable.  Replacing with
8924           gint64 seems to work; let's hope no skeletons fall out of the closet.
8925
8926 2005-10-10  Andy Wingo  <wingo@pobox.com>
8927
8928         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
8929
8930 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
8931
8932         * docs/gst/gstreamer-sections.txt:
8933         * gst/gstevent.c:
8934         * gst/gstevent.h:
8935         * gst/gstinfo.c:
8936         * gst/gstinfo.h:
8937         * gst/gstmessage.c: (gst_message_parse_state_changed):
8938         * gst/gstpad.c:
8939         * gst/gstpad.h:
8940           more docs, fix compilation
8941
8942 2005-10-09  Philippe Khalaf <burger@speedy.org>
8943         * gst/gstmessage.c:
8944           Fixed a few forgotten variables on previous commit
8945
8946 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8947
8948         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8949           Fix evil typefind crasher: getrange() might return a short
8950           buffer at the end of a file, but gst_type_find_peek() must
8951           either return the full data as requested or NULL, but
8952           never a short buffer.
8953
8954 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8955
8956         * gst/gstmessage.c: (gst_message_new_state_changed),
8957         (gst_message_parse_state_changed):
8958         * gst/gstmessage.h:
8959           don't use "new", it's a C++ keyword
8960
8961 2005-10-08  Wim Taymans  <wim@fluendo.com>
8962
8963         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
8964         * gst/gstelement.c: (gst_element_post_message):
8965         * gst/gstpipeline.c: (gst_pipeline_change_state):
8966         Small docs and debug updates.
8967
8968 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
8969
8970         * docs/gst/gstreamer-sections.txt:
8971         * gst/gstelementfactory.c:
8972         * gst/gstevent.c:
8973         * gst/gsttaglist.c:
8974           more docs
8975
8976 2005-10-08  Wim Taymans  <wim@fluendo.com>
8977
8978         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
8979         (gst_bin_dispose), (bin_bus_handler):
8980         Fix typos, add comments.
8981         Clear EOS list when going to PAUSED from any direction and do it
8982         in a threadsafe way.
8983         Get base time in a threadsafe way too.
8984         Fix confusing debug in the change_state function.
8985         Various other small cleanups.
8986         
8987         * gst/gstelement.c: (gst_element_post_message):
8988         Fix very verbose bus posting code.
8989
8990         * gst/gstpipeline.c: (gst_pipeline_class_init),
8991         (gst_pipeline_set_property), (gst_pipeline_get_property),
8992         (gst_pipeline_change_state):
8993         Small ARG_ -> PROP_ cleanup
8994
8995 2005-10-08  Wim Taymans  <wim@fluendo.com>
8996
8997         * gst/gstbin.c: (is_eos), (bin_bus_handler):
8998         Do a less CPU demanding EOS check because we can.
8999
9000 2005-10-08  Wim Taymans  <wim@fluendo.com>
9001
9002         * libs/gst/dataprotocol/dataprotocol.c:
9003         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9004         (gst_dp_packet_from_event):
9005         * libs/gst/dataprotocol/dataprotocol.h:
9006         * libs/gst/dataprotocol/dp-private.h:
9007         It's about time we bump the version number.
9008         Since event types don't fit in the guint8 anymore describing
9009         the payload type, make payload type 16 bits wide.
9010
9011 2005-10-08  Wim Taymans  <wim@fluendo.com>
9012
9013         * docs/design/part-TODO.txt:
9014         * docs/design/part-clocks.txt:
9015         * docs/design/part-events.txt:
9016         * docs/design/part-gstbin.txt:
9017         * docs/design/part-gstelement.txt:
9018         * docs/design/part-gstpipeline.txt:
9019         * docs/design/part-live-source.txt:
9020         * docs/design/part-messages.txt:
9021         * docs/design/part-overview.txt:
9022         * docs/design/part-states.txt:
9023         Many doc updates.
9024
9025 2005-10-08  Wim Taymans  <wim@fluendo.com>
9026
9027         * gst/gstevent.c:
9028         * gst/gstevent.h:
9029         Fix event quark registration.
9030         Add some space between events so we can insert them in the
9031         right groups.
9032
9033 2005-10-08  Wim Taymans  <wim@fluendo.com>
9034
9035         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9036         (gst_base_sink_handle_buffer):
9037         Better log message.
9038
9039         * gst/gstbus.h:
9040         * gst/gstelement.h:
9041         More docs.
9042
9043         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9044         (gst_queue_set_property), (gst_queue_get_property):
9045         * gst/gstqueue.h:
9046         Remove old unused properties.
9047
9048 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9049         * docs/gst/gstreamer-sections.txt:
9050         * gst/gstmessage.c:
9051         * gst/gstmessage.h:
9052         * gst/gstminiobject.c:
9053         * gst/gstminiobject.h:
9054         * gst/gstobject.h:
9055         * gst/gstpad.h:
9056         * gst/gstutils.h:
9057           lots of new docs and doc fixes
9058
9059 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9060
9061         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9062         * gst/gstplugin.h:
9063         * gst/gstregistry.c: (gst_registry_lookup_locked),
9064         (gst_registry_scan_path_level):
9065         * gst/gstregistryxml.c: (load_plugin):
9066           Only ever load one plugin for a given plugin basename.
9067           This ensures correct overriding of GST_PLUGIN_PATH over
9068           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9069           system installed plugins.
9070
9071 2005-10-08  Wim Taymans  <wim@fluendo.com>
9072
9073         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9074         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9075         Prepare for doing QOS.
9076
9077 2005-10-08  Wim Taymans  <wim@fluendo.com>
9078
9079         * check/gst/gstbin.c: (GST_START_TEST):
9080         * check/pipelines/cleanup.c: (GST_START_TEST):
9081         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9082         Allow new clock message too.
9083
9084 2005-10-08  Wim Taymans  <wim@fluendo.com>
9085
9086         * gst/gstmessage.c: (gst_message_new_error),
9087         (gst_message_new_warning), (gst_message_new_tag),
9088         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9089         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9090         (gst_message_new_segment_start), (gst_message_new_segment_done),
9091         (gst_message_parse_state_changed),
9092         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9093         (gst_message_parse_new_clock):
9094         * gst/gstmessage.h:
9095         Also carry the clock in question.
9096
9097 2005-10-08  Wim Taymans  <wim@fluendo.com>
9098
9099         * gst/gstmessage.c: (gst_message_new_custom),
9100         (gst_message_new_eos), (gst_message_new_error),
9101         (gst_message_new_warning), (gst_message_new_tag),
9102         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9103         (gst_message_new_new_clock), (gst_message_new_segment_start),
9104         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9105         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9106         * gst/gstmessage.h:
9107         Clean up.
9108         Added clock related messages.
9109
9110         * gst/gstpipeline.c: (gst_pipeline_change_state):
9111         Post message when the clock changed.
9112
9113         * tools/gst-launch.c: (event_loop):
9114         Print new clock.
9115
9116 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9117
9118         * tools/gst-inspect.c: (print_element_properties_info):
9119           Can't pass NULL strings to g_print() on windows.
9120
9121 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9122
9123         * docs/Makefile.am:
9124         * docs/gst/Makefile.am:
9125         * docs/gst/gstreamer-docs.sgml:
9126         * docs/gst/running.xml:
9127         * docs/version.entities.in:
9128           add a chapter on running GStreamer.
9129           document GST_DEBUG and GST_PLUGIN* env vars
9130
9131 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9132
9133         * Makefile.am:
9134           remove include dir
9135         * configure.ac:
9136           remove PLUGINS_BUILDDIR stuff
9137         * gst/gst.c: (init_post):
9138           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9139         * idiottest.mak:
9140           remove, it was condescending and not needed
9141
9142 2005-10-08  Wim Taymans  <wim@fluendo.com>
9143
9144         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9145         (gst_base_sink_handle_object), (gst_base_sink_event),
9146         (gst_base_sink_wait), (gst_base_sink_handle_event),
9147         (gst_base_sink_change_state):
9148         * gst/base/gstbasesink.h:
9149         Repost EOS message while going to PLAYING if still EOS.
9150         Make sure that when receiving a FLUSH_START we don't attempt
9151         to sync on the clock anymore.
9152
9153 2005-10-08  Wim Taymans  <wim@fluendo.com>
9154
9155         * tools/gst-launch.c: (event_loop):
9156         Better message printout.
9157
9158 2005-10-08  Wim Taymans  <wim@fluendo.com>
9159
9160         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9161         (gst_bin_child_proxy_get_children_count):
9162         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9163         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9164         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9165         (gst_child_proxy_set_valist):
9166         * gst/parse/grammar.y:
9167         Make ChildProxy threadsafe and fix mem leaks.
9168
9169 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * gst/gst.c: (init_post):
9172           debug the GST_PLUGIN_ env vars
9173
9174 2005-10-08  Wim Taymans  <wim@fluendo.com>
9175
9176         * check/gst/gstbin.c: (GST_START_TEST):
9177         * check/gst/gstmessage.c: (GST_START_TEST):
9178         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9179         * gst/gstelement.c: (gst_element_commit_state),
9180         (gst_element_lost_state):
9181         * gst/gstmessage.c: (gst_message_new_state_changed),
9182         (gst_message_parse_state_changed):
9183         * gst/gstmessage.h:
9184         * tools/gst-launch.c: (event_loop):
9185         Added extra field to STATE_CHANGE message with the pending
9186         state, which will be different from the new state soon.
9187
9188 2005-10-08  Wim Taymans  <wim@fluendo.com>
9189
9190         * gst/gstbus.c: (gst_bus_pop):
9191         * gst/gstclock.c:
9192         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9193         Small cleanups and doc updates.
9194
9195 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9196
9197         * gst/gst.c: (init_pre):
9198         * gst/gstbin.c: (gst_bin_add_func):
9199           log distributing clocks and base time
9200         * gst/gstregistry.c: (gst_registry_add_plugin),
9201         (gst_registry_scan_path_level), (gst_registry_scan_path):
9202           clean up the debugging output a little
9203         * gst/gstutils.c: (gst_element_state_get_name):
9204           warn about a memleak (I've actually seen this be used, though
9205           it was probably a bug)
9206
9207 2005-10-07  Wim Taymans  <wim@fluendo.com>
9208
9209         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9210         (gst_base_src_init), (gst_base_src_default_newsegment),
9211         (gst_base_src_newsegment), (gst_base_src_do_seek),
9212         (gst_base_src_loop), (gst_base_src_start):
9213         * gst/base/gstbasesrc.h:
9214         Make the newsegment event customizable by subclasses.
9215
9216 2005-10-07  Wim Taymans  <wim@fluendo.com>
9217
9218         * gst/gstevent.c: (gst_event_new_buffersize),
9219         (gst_event_parse_buffersize):
9220         * gst/gstevent.h:
9221         New event for future idea.
9222
9223 2005-10-07  Andy Wingo  <wingo@pobox.com>
9224
9225         * gst/gstelement.c (gst_element_post_message): Doc update.
9226
9227         * docs/gst/gstreamer-sections.txt: Update.
9228
9229         * gst/gstmessage.c (gst_message_new_application): Made into a
9230         function like honest API calls.
9231         (gst_message_new_element): New message type.
9232
9233         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9234
9235         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9236         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9237         times.
9238
9239         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9240         NO_PREROLL from gst_element_change_state to fall through.
9241
9242 2005-10-07  Wim Taymans  <wim@fluendo.com>
9243
9244         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9245         (gst_ghost_pad_do_activate_push):
9246         Activating a ghostpad with no internal pad in push mode
9247         is ok.
9248
9249 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9250
9251         * gst/gstobject.h:
9252           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9253           Fixes compilation on Windows.
9254
9255 2005-10-07  Michael Smith <msmith@fluendo.com>
9256
9257         * tools/gst-inspect.c:
9258           Print out feature and plugin count at the end when printing out
9259           all features.
9260
9261 2005-10-04  Michael Smith <msmith@fluendo.com>
9262
9263         * gst/gsterror.c: (_gst_stream_errors_init):
9264           Add another error string used in a few existing plugins.
9265
9266         * gst/gstplugin.c:
9267         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9268         * tools/gst-inspect.c: (print_element_info):
9269           When a feature disappears from a plugin (and the feature exists in
9270           the cached registry file), things went horribly wrong. This isn't a
9271           complete fix, we should actually be removing the 'missing' features
9272           from the features list when we load the actual plugin. That's not
9273           yet implemented. 
9274
9275 2005-10-04  Johan Dahlin  <johan@gnome.org>
9276
9277         * check/gst/gstiterator.c: (GST_START_TEST):
9278         * gst/gstbin.c: (gst_bin_iterate_elements),
9279         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9280         * gst/gstelement.c: (gst_element_iterate_pads):
9281         * gst/gstformat.c: (gst_format_iterate_definitions):
9282         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9283         (gst_iterator_new_list), (gst_iterator_filter):
9284         * gst/gstiterator.h:
9285         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9286         Add a GType to GstIterator, update callsites and tests.
9287
9288 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9289
9290         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9291           give events a chance to be handled by event probes when the pad
9292           is not linked
9293
9294 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9295
9296         * gst/gstevent.c: (gst_event_type_get_name),
9297         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9298         * gst/gstevent.h:
9299           add string representations for event types
9300
9301 2005-10-06  Wim Taymans  <wim@fluendo.com>
9302
9303         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9304         Don't use NULL pointers.
9305
9306 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9307
9308         * gst/gst_private.h:
9309         * gst/gstbus.c:
9310         * gst/gstelement.c:
9311         * gst/gstinfo.c:
9312         * gst/gstpluginfeature.c:
9313           widen the debug category in output to fit the biggest one we have
9314           add a bus category and use it
9315           play with the colors
9316           fix up some categories
9317
9318 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9319
9320         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9321           add push activation of sink ghost pads.
9322           Andye, please verify
9323
9324 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9325
9326         * gst/gstutils.c: (gst_element_link_pads):
9327           fix a bug in the case where neither element has a pad
9328         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9329           add a test for that case
9330
9331 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9332
9333         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9334           emit have-data before checking for peers.  This allows
9335           for probe handlers to connect elements.  This helps autopluggers.
9336         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9337         (gst_pad_suite):
9338           add six checks, linked/unlinked with no/true/false probe
9339
9340 2005-10-04  Wim Taymans  <wim@fluendo.com>
9341
9342         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9343         (gst_fake_sink_event), (gst_fake_sink_preroll),
9344         (gst_fake_sink_render), (gst_fake_sink_change_state):
9345         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9346         (gst_fake_src_get_property), (gst_fake_src_create),
9347         (gst_fake_src_stop):
9348         * gst/elements/gstidentity.c: (gst_identity_stop):
9349         Protect last_message with lock.
9350
9351 2005-10-04  Edward Hervey  <edward@fluendo.com>
9352
9353         * gst/gstformat.h: 
9354         Added precision in the comments for GST_FORMAT_DEFAULT
9355
9356 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9357
9358         * tools/gst-launch.c: (main):
9359           Don't try to run erroneous pipelines.
9360
9361 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9362
9363         * gst/gstbus.c: We don't need this header.
9364
9365 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9366
9367         * configure.ac:
9368           back to development
9369
9370 === release 0.9.3 ===
9371
9372 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9373
9374         * README:
9375         * configure.ac:
9376           Releasing 0.9.3, "Unregistered"
9377
9378 2005-10-03  Andy Wingo  <wingo@pobox.com>
9379
9380         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9381         whereby calling a pad's activatepush() function can start a thread
9382         that starts to push or pull before the pad gets the FLUSHING flag
9383         unset. Hack around it by holding the stream lock until the flag is
9384         set. Need to replace this with a proper solution. Together with
9385         the ghost pad fixes, this fixes mp3 playing/tagreading.
9386
9387         * docs/design/part-gstghostpad.txt: Add a note about activation of
9388         proxy pads outside of ghost pads.
9389
9390         * gst/gstghostpad.c: Implement the ghost pad activation design.
9391
9392 2005-10-02  Andy Wingo  <wingo@pobox.com>
9393
9394         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9395         It is volatile, after all.
9396
9397         * docs/design/part-gstghostpad.txt: Flesh out activation with
9398         ghost pads.
9399
9400         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9401         GST_DEBUG_FUNCPTR.
9402
9403 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9404
9405         * configure.ac:
9406           Fix (unused) AM_CONDITIONAL tests.
9407
9408 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9409
9410         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9411
9412         * gst/gstutils.c: (gst_pad_query_convert):
9413           Add assertion that makes sure src_val is >=0, just like
9414           gst_query_new_convert() has. (#315895)
9415
9416 2005-09-30  Edward Hervey  <edward@fluendo.com>
9417
9418         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9419         Let's not iterate pads we're not interested in, it avoids getting 
9420         sky-high refcounts on sinkpad.
9421
9422 2005-09-30  Wim Taymans  <wim@fluendo.com>
9423
9424         * gst/gstelement.c: (gst_element_set_state),
9425         (gst_element_change_state):
9426         Small tweak, element in ASYNC remains ASYNC.
9427
9428 2005-09-30  Wim Taymans  <wim@fluendo.com>
9429
9430         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9431         Only error is an error.
9432
9433         * gst/gstbin.c: (gst_bin_change_state):
9434         Better debugging.
9435
9436         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9437         Also call pad_block in pad alloc.
9438
9439         * gst/gstutils.c: (gst_flow_get_name):
9440         Better debugging.
9441
9442 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9443
9444         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9445         (gst_base_src_get_range):
9446           Fix documentation typos. Add some more debug info.
9447
9448 2005-09-29  David Schleef  <ds@schleef.org>
9449
9450         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9451           more end-user friendly.
9452         * tools/gst-inspect.c: (main): Check if command-line argument is
9453           a file and attempt to load that file as a plugin.
9454
9455 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9456
9457         * check/gst/gstbin.c:
9458         * check/states/sinks.c:
9459           fix tests for the new warning
9460         * check/gst/gstpipeline.c:
9461           add a test for pipeline and bus interaction
9462         * gst/gstelement.c:
9463           elements should be NULL if they get disposed; add a warning if not
9464
9465 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9466
9467         * gst/gstobject.c:
9468           for 2.6 refcounting, make debug log more correct by printing
9469           the actual refcounts at the time of swap (Wim)
9470
9471 2005-09-29  Andy Wingo  <wingo@pobox.com>
9472
9473         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9474         removes signal watches previously added via
9475         gst_bus_add_signal_watch.
9476         (gst_bus_add_signal_watch): Don't return the source id, just store
9477         it on the bus if there wasn't an id already.
9478
9479         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9480         add_signal_watch and remove_signal_watch.
9481
9482 2005-09-29  Edward Hervey  <edward@fluendo.com>
9483
9484         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9485         Better if we actually iterate the list :)
9486
9487 2005-09-29  Wim Taymans  <wim@fluendo.com>
9488
9489         * check/gst/gstbin.c: (GST_START_TEST):
9490         Change for new bus API.
9491
9492         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9493         (send_messages), (GST_START_TEST), (gstbus_suite):
9494         Change for new bus signal API.
9495
9496         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9497         (gst_bus_source_prepare), (gst_bus_source_check),
9498         (gst_bus_create_watch), (gst_bus_add_watch_full),
9499         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9500         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9501         * gst/gstbus.h:
9502         Remove support for multiple GSources operating on different
9503         message types as it is too complex and unneeded when using
9504         signals.
9505         Added support for receiving signals from the bus.
9506
9507 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9508
9509         * docs/libs/tmpl/gstdataprotocol.sgml:
9510         * docs/manual/advanced-dataaccess.xml:
9511         * gst/elements/gstcapsfilter.c:
9512         * gst/gstutils.c:
9513           rename filter-caps to caps property
9514
9515 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9516
9517         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9518           More robust fraction string parsing.
9519
9520         * docs/pwg/appendix-porting.xml:
9521           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9522
9523 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9524
9525         * gst/gstcaps.c: (gst_caps_do_simplify):
9526           Thou shalt not free a structure and then continue using it
9527           in the next loop iteration.
9528
9529         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9530         (gst_caps_suite):
9531           Add test case for caps simplification.
9532
9533 2005-09-29  Wim Taymans  <wim@fluendo.com>
9534
9535         * check/gst/gstbin.c: (GST_START_TEST):
9536         Oops.
9537
9538 2005-09-29  Wim Taymans  <wim@fluendo.com>
9539
9540         * check/gst/gstbin.c: (GST_START_TEST):
9541         Add bus to bin.
9542
9543         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9544         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9545         (find_element), (gst_bin_sort_iterator_next),
9546         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9547         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9548         (gst_bin_change_state), (gst_bin_dispose):
9549         A bin does not have a bus, it gets the bus from the parent.
9550
9551         * gst/gstelement.c: (gst_element_requires_clock),
9552         (gst_element_provides_clock), (gst_element_is_indexable),
9553         (gst_element_is_locked_state), (gst_element_change_state),
9554         (gst_element_set_bus_func):
9555         Small cleanups.
9556
9557         * gst/gstpipeline.c: (gst_pipeline_class_init),
9558         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9559         The pipeline provides a bus.
9560
9561 2005-09-28  Johan Dahlin  <johan@gnome.org>
9562
9563         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9564         gst_structure_get_enum instead of gst_structure_get_int
9565
9566         * gst/gststructure.c (gst_structure_get_enum): Impl.
9567
9568         * gst/gststructure.h (gst_structure_get_enum): Add
9569
9570         * docs/gst/gstreamer-sections.txt: Ditto
9571
9572         * gst/gstmessage.c (gst_message_new_state_changed): Use
9573         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9574         which does introspection.
9575         Reviewed by Christian Schaller
9576
9577 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9578
9579         * gst/gstinfo.c: (gst_debug_log_default):
9580           don't do dummy g_strdup()s
9581         * libs/gst/controller/gstcontroller.c:
9582         (on_object_controlled_property_changed),
9583         (gst_controlled_property_new), (gst_controller_new_valist),
9584         (gst_controller_new_list),
9585         (gst_controller_remove_properties_valist), (gst_controller_set),
9586         (gst_controller_get), (gst_controller_sync_values),
9587         (gst_controller_get_value_array), (_gst_controller_class_init),
9588         (gst_controller_get_type):
9589         * libs/gst/controller/gstcontroller.h:
9590         * libs/gst/controller/gstinterpolation.c:
9591         (gst_controlled_property_find_timed_value_node):
9592           convert // to /**/ comments
9593
9594 2005-09-28  Wim Taymans  <wim@fluendo.com>
9595
9596         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9597         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9598         (gst_bus_sync_signal_handler):
9599         * gst/gstbus.h:
9600         Added async-message and sync-message signals to the bus.
9601         Added helper BusFunc to emit signals for all posted messages.
9602
9603         * gst/gstmessage.c: (gst_message_type_get_name),
9604         (gst_message_type_to_quark), (gst_message_get_type):
9605         * gst/gstmessage.h:
9606         Register quarks for message names.
9607
9608 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9609
9610         * docs/libs/gstreamer-libs-sections.txt:
9611         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9612         (gst_controller_new_list):
9613         * libs/gst/controller/gstcontroller.h:
9614           added another constructor for language bindings
9615
9616 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9619           add another check
9620         * gst/gstbus.c:
9621           add some doc
9622         * gst/gstinfo.c: (_gst_debug_init):
9623           slightly more readable color for refcount debugging
9624
9625 2005-09-28  Wim Taymans  <wim@fluendo.com>
9626
9627         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9628         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9629         (find_element), (gst_bin_sort_iterator_next),
9630         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9631         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9632         (gst_bin_change_state), (gst_bin_dispose):
9633         Small doc fixes. get_clock -> provide_clock.
9634
9635         * gst/gstelement.c: (gst_element_class_init),
9636         (gst_element_provides_clock), (gst_element_provide_clock),
9637         (gst_element_get_clock), (gst_element_commit_state),
9638         (gst_element_lost_state):
9639         * gst/gstelement.h:
9640         Make get/set_clock() symetric. Add provide_clock vmethod since
9641         that is actually what this function does.
9642
9643         * gst/gstpipeline.c: (gst_pipeline_class_init),
9644         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9645         (gst_pipeline_get_clock):
9646         get_clock -> provide_clock.
9647
9648 2005-09-28  Andy Wingo  <wingo@pobox.com>
9649
9650         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9651         lieu of real docs...
9652
9653         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9654
9655 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9656
9657         * gst/elements/gstcapsfilter.c:
9658         * gst/elements/gstfakesink.c:
9659         * gst/elements/gstfakesrc.c:
9660         * gst/elements/gstfdsink.c:
9661         * gst/elements/gstfdsrc.c:
9662         * gst/elements/gstfilesink.c:
9663         * gst/elements/gstfilesrc.c:
9664         * gst/elements/gstidentity.c:
9665         * gst/elements/gsttee.c:
9666         * gst/elements/gsttypefindelement.c:
9667           Make element details static.
9668
9669 2005-09-28  Wim Taymans  <wim@fluendo.com>
9670
9671         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9672         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9673         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9674         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9675         (gst_bin_change_state), (gst_bin_dispose):
9676         Some documentation updates.
9677         Clean up dispose handlers.
9678
9679         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9680         * gst/gstpad.c: (gst_pad_dispose):
9681         Clean up dispose handler.
9682
9683         * gst/gstpipeline.c: (gst_pipeline_change_state):
9684         Removed spurious UNLOCK.
9685
9686 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9687
9688         * docs/gst/gstreamer-sections.txt:
9689         * gst/base/gstbasesrc.h:
9690         * gst/gstelement.h:
9691         * gst/gstevent.h:
9692         * gst/gstobject.h:
9693         * gst/gstpad.h:
9694         * gst/gstpipeline.c:
9695         * gst/gstpipeline.h:
9696         * gst/gstutils.h:
9697         * gst/gstxml.h:
9698           added two new functions to the docs
9699                 documents all undocumented GstXXXFlags
9700                 completed some incomplete docs 
9701
9702 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9703
9704         * gst/gstbin.c: (gst_bin_dispose):
9705         * gst/gstelement.c: (gst_element_dispose):
9706           remove now useless and leaky resurrection code in dispose
9707         * gst/base/gstbasesrc.c: (gst_base_src_init):
9708         * gst/gstelementfactory.c: (gst_element_factory_create):
9709         * gst/gstobject.c: (gst_object_set_parent):
9710           add some debugging
9711
9712 2005-09-27  Wim Taymans  <wim@fluendo.com>
9713
9714         * docs/design/part-TODO.txt:
9715         Update TODO.
9716
9717         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9718         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9719         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9720         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9721         (gst_bin_change_state):
9722         * gst/gstelement.h:
9723         Remove element variable, we keep element info in the iterator now.
9724
9725 2005-09-27  Andy Wingo  <wingo@pobox.com>
9726
9727         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9728         values.
9729
9730 2005-09-27  Wim Taymans  <wim@fluendo.com>
9731
9732         * check/gst/gstbin.c: (GST_START_TEST):
9733         Enable check that works now.
9734
9735         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9736         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9737         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9738         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9739         (gst_bin_change_state):
9740         * gst/gstbin.h:
9741         Redid the state change algorithm using a topological sort algo.
9742         Handles all cases correctly.
9743         Exposed iterator for state change order.
9744
9745         * gst/gstelement.h:
9746         Temp storage for state changes. Need to get rid of this soon.
9747
9748 2005-09-27  Wim Taymans  <wim@fluendo.com>
9749
9750         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9751         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9752         (link_fold_func), (gst_pad_proxy_setcaps):
9753         Leak fixes, the fold functions need to unref the passed object and
9754         _get_parent_*() returns ref to parent.
9755
9756 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9757
9758         * check/gst/gstbuffer.c: (test_make_writable):
9759           Plug leak in test case and fix 'make check-valgrind'
9760
9761 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9762
9763         * gst/gstbuffer.c: (gst_subbuffer_init):
9764           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9765           works correctly in all circumstances (we could have just copied
9766           the parent buffer's readonly flag, but conceptually it seems
9767           cleaner to mark all subbuffers as read-only). (based on patch
9768           by Alessandro Decina, #314710).
9769         
9770         * check/gst/gstbuffer.c: (create_read_only_buffer),
9771         (test_make_writable), (test_subbuffer_make_writable),
9772         (gst_test_suite):
9773           Add some tests for gst_buffer_make_writable().
9774
9775 2005-09-27  Wim Taymans  <wim@fluendo.com>
9776
9777         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9778         use gst_object_has_ancestor().
9779
9780         * gst/gstobject.c: (gst_object_has_ancestor):
9781         * gst/gstobject.h:
9782         gst_object_has_ancestor() copied from gstbin.c as it is a
9783         usefull function.
9784
9785         * tests/instantiate/create.c: (create_all_elements):
9786         * tests/lat.c: (handoff_src), (handoff_sink):
9787         * tests/sched/runxml.c: (main):
9788         * tests/seeking/seeking1.c: (main):
9789         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9790         (main):
9791         Fix compilation of some tests.
9792
9793 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9794
9795         * gst/gsterror.h:
9796           Remove comment. GST_TYPE_G_ERROR is here to stay,
9797           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
9798           (#316961, #300610).
9799
9800 2005-09-26  Wim Taymans  <wim@fluendo.com>
9801
9802         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9803         Added check that shows error in state change order.
9804
9805 2005-09-26  Wim Taymans  <wim@fluendo.com>
9806
9807         * gst/gstbin.c: (gst_bin_change_state):
9808         Make state change function use 3 queues again, we were
9809         adding elements in the wrong order.
9810
9811         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9812         Some debug info,
9813
9814         * gst/gstpad.c: (gst_pad_dispose):
9815         Added some debug info first.
9816
9817 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
9818
9819         * docs/design/draft-push-pull.txt:
9820         * docs/design/part-events.txt:
9821         * docs/design/part-overview.txt:
9822         * docs/design/part-scheduling.txt:
9823           Replace all _pull_region() with _pull_range()
9824           
9825 2005-09-26  Andy Wingo  <wingo@pobox.com>
9826
9827         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
9828
9829         * check/gst-libs/controller.c: Update for controller api change.
9830
9831         * configure.ac: 
9832         * tests/Makefile.am:
9833         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9834         over by GLib bug 118439.
9835         
9836         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9837         routines to a function.
9838
9839         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9840
9841         * libs/gst/controller/gsthelper.c:
9842         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9843         (gst_object_sync_values): Renamed from sink_values. Ugh.
9844
9845         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9846
9847         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9848         Renamed from controller_key, as it is exported.
9849
9850         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9851
9852 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9853
9854         * gst/Makefile.am:
9855         * gst/gst.h:
9856         * gst/gstpad.h:
9857         * gst/gstpadtemplate.h:
9858         * gst/gstquery.c:
9859         * gst/gstquery.h:
9860         * gst/gstqueryutils.c:
9861         * gst/gstqueryutils.h:
9862           remove queryutils headers after moving the two used functions
9863           to gstquery.  also fixes build problem for gstsiddec
9864
9865 2005-09-26  Michael Smith <msmith@fluendo.com>
9866
9867         * tools/gst-launch.1.in:
9868         Correct documentation in manpage of debug syntax
9869
9870 2005-09-26  Wim Taymans  <wim@fluendo.com>
9871
9872         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9873         (gst_base_src_is_seekable), (gst_base_src_change_state):
9874         Some more debugging info.
9875
9876 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9877
9878         * docs/gst/gstreamer-sections.txt:
9879         * gst/base/gstbasetransform.h:
9880         * gst/gstindex.h:
9881           added more docs
9882
9883 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9884
9885         * docs/gst/.cvsignore:
9886         * docs/gst/tmpl/.cvsignore:
9887         * docs/gst/tmpl/gstpipeline.sgml:
9888         * docs/gst/tmpl/gstplugin.sgml:
9889         * gst/gstpipeline.c:
9890         * gst/gstplugin.c:
9891         * gst/gstplugin.h:
9892           inlined the last two docs files
9893           removed the tmpl directory from cvs (no more conflicts here!)
9894
9895 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9896
9897         * docs/gst/gstreamer-sections.txt:
9898         * docs/gst/tmpl/.cvsignore:
9899         * docs/gst/tmpl/gstpad.sgml:
9900         * docs/gst/tmpl/gstpadtemplate.sgml:
9901         * gst/Makefile.am:
9902         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9903         (gst_pad_finalize), (gst_pad_set_pad_template):
9904         * gst/gstpad.h:
9905         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9906         (gst_pad_template_class_init), (gst_pad_template_init),
9907         (gst_pad_template_dispose), (name_is_valid),
9908         (gst_static_pad_template_get), (gst_pad_template_new),
9909         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
9910         (gst_pad_template_pad_created):
9911         * gst/gstpadtemplate.h:
9912           inlined two more docs
9913           factored gstpadtemplate out of gstpad
9914
9915 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
9916
9917         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9918         (test_children_state_change_order_semi_sink):
9919           Fix test case: we can't rely on a fixed state change order when
9920           going from READY => PAUSED because the sink might commit its 
9921           new state first when the first buffer created by the source 
9922           reaches the sink before the source has finished its change state.
9923           (Test case still fails at times, see #316856, comment 5 onwards)
9924
9925 2005-09-24  Wim Taymans  <wim@fluendo.com>
9926
9927         * docs/design/part-events.txt:
9928         * docs/design/part-gstbus.txt:
9929         * docs/design/part-gstpipeline.txt:
9930         * docs/design/part-messages.txt:
9931         * docs/design/part-overview.txt:
9932         * docs/design/part-segments.txt:
9933         * gst/gstbin.c:
9934         * gst/gstbuffer.c:
9935         * gst/gstclock.c:
9936         * gst/gstelement.c:
9937         * gst/gstevent.c:
9938         * gst/gstfilter.c:
9939         * gst/gstiterator.c:
9940         Various documentation updates.
9941
9942 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9943
9944         * gst/gstclock.h:
9945           Well, that's embarassing.  Luckily we weren't using
9946           GST_CLOCK_DIFF anywhere.
9947
9948 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9949
9950         * common/gtk-doc.mak:
9951           don't fail on building XML, FC4 slave shows a bunch of doc
9952           missing bits that I don't get
9953         * gst/gstpad.c:
9954         * gst/gstpipeline.c:
9955         * gst/gststructure.c:
9956           some doc updates
9957
9958 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9959
9960         * docs/design/part-gstbin.txt:
9961         * docs/design/part-gstbus.txt:
9962         * gst/gstbus.c:
9963           Add blurb about how the bus goes into flushing mode and
9964           drops all messages when its bin goes from READY into NULL 
9965           state.
9966
9967 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9968
9969         * docs/gst/gstreamer-sections.txt:
9970         * gst/gststructure.c: (gst_structure_get_clock_time):
9971         * gst/gststructure.h:
9972           add a method to get a GstClockTime out of a structure
9973
9974 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
9975
9976         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9977         (test_children_state_change_order_semi_sink), (gst_bin_suite):
9978           Added test to check state change order in bins (can still be made
9979           to fail here under heavy disk load; bails out with 'Push on pad
9980           fakesink:sink0, but it was not activated in push mode').
9981
9982         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
9983           Fix state change order when there is only a semi sink (#316856)
9984
9985         * gst/gstbus.c: (gst_bus_class_init):
9986           Use _class_peek_parent(), not _class_ref(); fix docs to say
9987           'default main context' instead of 'mainloop' where that is
9988           what's meant.
9989
9990         * gst/gstelement.c: (gst_element_commit_state),
9991         (gst_element_set_state):
9992           Fix typos in debug messages
9993
9994 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9995
9996         * docs/README:
9997         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
9998         * gst/gstpluginfeature.c:
9999         * gst/gstutils.c:
10000           various doc updates
10001         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10002           change an assert into an error until it gets fixed properly
10003
10004 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10005
10006         * docs/gst/gstreamer-sections.txt:
10007         * docs/gst/tmpl/.cvsignore:
10008         * docs/gst/tmpl/gstelement.sgml:
10009         * docs/gst/tmpl/gstinfo.sgml:
10010         * docs/gst/tmpl/gstobject.sgml:
10011         * gst/gstelement.c:
10012         * gst/gstelement.h:
10013         * gst/gstinfo.c:
10014         * gst/gstinfo.h:
10015         * gst/gstobject.c: (gst_object_class_init):
10016         * gst/gstobject.h:
10017           inlined 3 more biiiig doc files and added some missing docs on the fly
10018
10019 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10020
10021         * check/gst/.cvsignore:
10022         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10023         * gst/gstregistryxml.c: (load_plugin),
10024         (gst_registry_xml_save_plugin):
10025           put back source in registry.  add checks for find_plugin.
10026         * testsuite/states/bin.c: (assert_state), (empty_bin),
10027         (test_adding_one_element), (main):
10028         * testsuite/states/locked.c: (main):
10029           some compile/run fixes
10030
10031 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10032
10033         * check/gst/gstvalue.c: (GST_START_TEST):
10034           fix leaks in the test itself
10035
10036 2005-09-22  Wim Taymans  <wim@fluendo.com>
10037
10038         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10039         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10040         (gst_base_sink_query):
10041         Prepare for more accurate position reporting and query
10042         handling.
10043
10044         * gst/gstelement.c: (gst_element_send_event),
10045         (gst_element_set_state):
10046         Add some comment.
10047
10048 2005-09-22  Wim Taymans  <wim@fluendo.com>
10049
10050         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10051         (gst_query_parse_segment):
10052         * gst/gstquery.h:
10053         More documentation.
10054         Add segment query for future use.
10055
10056 2005-09-22  Wim Taymans  <wim@fluendo.com>
10057
10058         * gst/gstbin.c: (gst_bin_add_func):
10059         Some more debug info.
10060
10061         * gst/gstelement.c: (gst_element_send_event):
10062         Simplify send_event
10063
10064         * gst/gstelement.h:
10065         Don't know how flags got broken.
10066
10067         * gst/gstquery.h:
10068         Added new query.
10069
10070 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10071
10072         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10073           Add simplistic test suite for GST_TYPE_DATE serialisation and
10074           deserialisation.
10075
10076 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10077
10078         * docs/gst/gstreamer-sections.txt:
10079         * gst/gststructure.c: (gst_structure_set_valist),
10080         (gst_structure_get_date):
10081         * gst/gststructure.h:
10082         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10083         (gst_date_copy), (gst_value_compare_date),
10084         (gst_value_serialize_date), (gst_value_deserialize_date),
10085         (gst_value_transform_date_string),
10086         (gst_value_transform_string_date), (_gst_value_initialize):
10087         * gst/gstvalue.h:
10088           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10089           bunch of utility functions along with a hack that checks that
10090           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10091           is required. Part of the grand scheme in #170777.
10092
10093 2005-09-22  Andy Wingo  <wingo@pobox.com>
10094
10095         * gst/gstconfig.h.in: Psych out gtk-doc.
10096
10097         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10098
10099         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10100
10101         * tools/gst-inspect.c (print_element_list): Plug some
10102         inconsequential leaks.
10103
10104         * gst/gstregistry.c (gst_registry_get_default): Doc.
10105
10106         * check/gst/gstplugin.c: 
10107         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10108         * gst/gstelementfactory.c (gst_element_factory_create): 
10109         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10110         refcount changes.
10111
10112         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10113         (gst_plugin_feature_load): Doc, don't eat refs.
10114
10115         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10116         (gst_plugin_list_free): Doc.
10117         (gst_plugin_load_file): Doc updates.
10118
10119         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10120         accessors returning refcounted objects, return a ref.
10121
10122         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10123         accessor for caps. IDEMPOTENCE. Oh yes.
10124
10125 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10126
10127         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10128
10129         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10130         (_gst_debug_register_funcptr):
10131           Add mutex to serialise access to the hash table with
10132           the function pointer => function name string mapping;
10133           make that hash table static scope (#316809).
10134
10135         * gst/registries/.cvsignore:
10136           Remove left-over file.
10137
10138 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10139
10140         * docs/pwg/appendix-porting.xml:
10141           And something about newsegment events and caps-on-buffers to
10142           the porting guide (feel free to improve).
10143
10144 2005-09-21  Andy Wingo  <wingo@pobox.com>
10145
10146         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10147         data and event probes on the same pad.
10148         (test_buffer_probe_once): Test that removing probes from within
10149         the probe functions works.
10150
10151 2005-09-21  Andy Wingo  <wingo@pobox.com>
10152
10153         * check/gst/gstutils.c: New file.
10154         (test_buffer_probe_n_times): A simple buffer probe test. More to
10155         come, foolios.
10156
10157         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10158         have-data::buffer, not have-data.
10159         (gst_pad_add_event_probe): Likewise for have-data::event.
10160         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10161         peer' isn't quite right yet though.
10162         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10163         (gst_pad_remove_data_probe): Change to take the guint handler_id
10164         as their arg, not the function+data, which is more glib-like.
10165
10166         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10167         the signal emission to indicate if the data is a buffer or an
10168         event.
10169         (gst_pad_get_type): Initialize buffer and event quarks.
10170         (gst_pad_class_init): have-data is now a detailed signal, yes it
10171         is.
10172
10173 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10174
10175         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10176         * gst/gstutils.c: (gst_util_set_value_from_string),
10177         (gst_util_set_object_arg):
10178           Don't put functional code in g_return_if_fail() or
10179           g_return_val_if_fail() statements, otherwise things will 
10180           break when G_DISABLE_CHECKS is defined during compilation.
10181
10182 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10183
10184         * docs/gst/tmpl/.cvsignore:
10185         * docs/gst/tmpl/gstvalue.sgml:
10186         * gst/gstvalue.c:
10187         * gst/gstvalue.h:
10188           inlied another one and added  some obvious docs
10189
10190 2005-09-21  Wim Taymans  <wim@fluendo.com>
10191
10192         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10193         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10194         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10195         (gst_fdsrc_get_property), (gst_fdsrc_create):
10196         * gst/elements/gstfdsrc.h:
10197         Properly implement fdsrc. Removed signal and timeout,
10198         better implemented somewhere else.
10199
10200 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10201
10202         * docs/gst/tmpl/.cvsignore:
10203         * docs/gst/tmpl/gstimplementsinterface.sgml:
10204         * gst/gstinterface.c:
10205           inlined more docs
10206
10207 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10208
10209         * docs/gst/gstreamer-sections.txt:
10210         * docs/gst/tmpl/.cvsignore:
10211         * docs/gst/tmpl/gstenumtypes.sgml:
10212           remove obsolete doc file
10213
10214 2005-09-21  David Schleef  <ds@schleef.org>
10215
10216         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10217         little beer, fix a little leak.
10218
10219 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10220
10221         * docs/gst/gstreamer-docs.sgml:
10222         * docs/gst/gstreamer-sections.txt:
10223         * docs/gst/tmpl/.cvsignore:
10224         * gst/Makefile.am:
10225         * gst/gst.h:
10226         * gst/gstbin.c:
10227         * gst/gstelement.h:
10228         * gst/gstindex.c: (gst_index_class_init):
10229         * gst/gstindex.h:
10230         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10231         (gst_index_factory_class_init), (gst_index_factory_init),
10232         (gst_index_factory_finalize), (gst_index_factory_new),
10233         (gst_index_factory_destroy), (gst_index_factory_find),
10234         (gst_index_factory_create), (gst_index_factory_make):
10235         * gst/gstindexfactory.h:
10236         * gst/gstpluginfeature.c:
10237         * gst/gstpluginfeature.h:
10238         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10239           more docs inlined, splitted gstindex.{c,h}
10240
10241 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10242
10243         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10244           fix a leak
10245
10246 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10247
10248         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10249           Set sync to FALSE by default.
10250
10251 2005-09-20  Wim Taymans  <wim@fluendo.com>
10252
10253         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10254         (gst_base_sink_init):
10255         Make sync property settable from subclass.
10256
10257         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10258         (gst_fake_sink_change_state):
10259         Set sync to FALSE by default.
10260
10261 2005-09-20  Wim Taymans  <wim@fluendo.com>
10262
10263         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10264         * tools/gst-launch.c: (main):
10265         The timeout handler should have lower priority than the source
10266         so we don't timeout before popping a message with 0 timeout.
10267         Dump error messages after failed state change.
10268
10269 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10270
10271         * tools/gst-inspect.c: (print_element_properties_info):
10272           Fix two typos.
10273
10274 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10275
10276         * check/gst/gstevent.c:
10277         * gst/elements/gstfakesink.c:
10278         * gst/elements/gstfakesink.h:
10279           remove the sync property from fakesink.
10280           has the side effect of setting sync TRUE
10281           for fakesink, which is a change.  Anyone who knows how
10282           to fix this nicely in a GObject-y way, feel free.
10283
10284 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10285
10286         * docs/gst/gstreamer-docs.sgml:
10287           remove probe refsection
10288
10289 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10290
10291         * check/Makefile.am:
10292           disable valgrinding the controller test again
10293         * docs/gst/gstreamer-sections.txt:
10294           update for api-changes
10295
10296 2005-09-20  Wim Taymans  <wim@fluendo.com>
10297
10298         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10299         (gst_base_sink_set_property), (gst_base_sink_get_property),
10300         (gst_base_sink_do_sync):
10301         * gst/base/gstbasesink.h:
10302         Added sync property to basesink to disable clock sync.
10303
10304 2005-09-20  Andy Wingo  <wingo@pobox.com>
10305
10306         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10307         eating the caller's refcount.
10308
10309         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10310         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10311         refcount.
10312
10313         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10314         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10315         of GLib 2.8 public, so we can know which refcount to check in
10316         tests.
10317
10318         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10319         (gst_object_init): Only set the gst refcount if we're going ahead
10320         with the refcount hack.
10321
10322 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10323
10324         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10325         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10326           more leaks plumbed, added more debug-logging
10327         * gst/gstmacros.h:
10328           whitespace fix
10329
10330 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10331
10332         * gst/gstmessage.c:
10333           remove include of gstmemchunk.h
10334
10335 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10336
10337         * gst/gstclock.c: (_gst_clock_id_free):
10338           Commit from the Political Party For More Atomic CVS Commits,
10339           so that people don't waste too much of their day fishing
10340           out obvious leaks out of massive commits.
10341           Oh, and fix a pretty damn obvious leak in the memchunk
10342           removal code.
10343
10344 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10345
10346         * check/Makefile.am:
10347         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10348           plug mem-leak, re-add to valgrindable tests
10349
10350 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10351
10352         * gst/gstplugin.h:
10353           unbreak the build for those who have chronic arthritis
10354           and typing "make check" is just too taxing on the hands
10355
10356 2005-09-20  Andy Wingo  <wingo@pobox.com>
10357
10358         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10359         really want it out, you should fix plugins at the same time.
10360
10361 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10362
10363         * configure.ac:
10364         * docs/gst/gstreamer-sections.txt:
10365         * gst/gstobject.c:
10366           added missing symbols to api docs
10367           disable ref-count hack if we have glib >= 2.8
10368
10369 2005-09-19  David Schleef  <ds@schleef.org>
10370
10371         * docs/gst/Makefile.am: Ignore a few more internal headers
10372         * docs/gst/gstreamer-docs.sgml: Remove old sections
10373         * docs/gst/gstreamer-sections.txt: Remove old sections
10374         * docs/gst/tmpl/gstobject.sgml: update
10375         * docs/gst/tmpl/gstplugin.sgml: update
10376         * docs/gst/tmpl/gstpluginfeature.sgml: update
10377         * docs/random/ds/0.9-suggested-changes: update.
10378         * gst/Makefile.am: remove memchunk and trashstack, since they're
10379           not used.
10380         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10381         * gst/gst.h: don't include some headers
10382         * gst/gstchildproxy.c: add gstmarshal.h
10383         * gst/gstclock.c: Don't use memchunks
10384         * gst/gstminiobject.c: Add some docs
10385         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10386         * gst/gstobject.h: same
10387         * gst/gstplugin.c: include gstmacros.h
10388         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10389         * gst/gstquery.c: don't use memchunks
10390         * gst/gstregistry.c: rename gst_registry_deinit()
10391         * gst/gstregistry.h: same
10392
10393 2005-09-19  David Schleef  <ds@schleef.org>
10394
10395         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10396         * docs/libs/gstreamer-libs-sections.txt:
10397         * docs/libs/tmpl/gstgetbits.sgml:
10398         * docs/libs/tmpl/gstputbits.sgml:
10399
10400 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10401
10402         * win32/gstenumtypes.c:
10403         * win32/gstenumtypes.h:
10404           Update.
10405
10406 2005-09-19  Wim Taymans  <wim@fluendo.com>
10407
10408         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10409         Automatically PAUSE and RESUME a pipeline when a flushing seek
10410         is performed.
10411
10412 2005-09-19  Andy Wingo  <wingo@pobox.com>
10413
10414         * gst/gstregistry.h: Spacing fixen.
10415
10416 2005-09-19  Wim Taymans  <wim@fluendo.com>
10417
10418         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10419         Handle state change failure more correctly.
10420
10421 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10422
10423         * check/Makefile.am:
10424         * check/pipelines/cleanup.c: (run_pipeline):
10425         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10426         (GST_START_TEST):
10427           enable cleanup again after fixing the leak
10428         * docs/README:
10429           some more info on docs
10430
10431 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10432
10433         * check/Makefile.am:
10434           re-enable tests now that leaks are plugged
10435         * check/gst/gst.c:
10436         * check/gst/gstbin.c:
10437         * check/gst/gstpipeline.c:
10438           add some more tests while fixing leaks
10439         * common/check.mak:
10440           make sure binaries are uptodate when valgrinding/gdbing
10441         * gst/gst.c:
10442         * gst/gstelementfactory.c:
10443           remove a ref too many, and add a FIXME for when we get
10444           round to disposing of classes
10445         * gst/gstplugin.c:
10446           fix the refcounting when loading a plugin from a file and
10447           the code pretends that the pointer is the same even though
10448           of course it can change
10449         * gst/gstpluginfeature.c:
10450           unref plugins marked cached (a bit confusing as a name)
10451           as the docs state should be done
10452           various doc additions to explain refcounting
10453         * gst/gstregistry.c:
10454         * gst/gstregistryxml.c:
10455           debugging
10456
10457 2005-09-19  Wim Taymans  <wim@fluendo.com>
10458
10459         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10460         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10461         (send_messages), (GST_START_TEST), (gstbus_suite):
10462         * check/gst/gstpipeline.c: (GST_START_TEST):
10463         * check/pipelines/cleanup.c: (run_pipeline):
10464         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10465         (GST_START_TEST):
10466         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10467         (gst_bus_source_check), (gst_bus_source_dispatch),
10468         (gst_bus_create_watch), (gst_bus_add_watch_full),
10469         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10470         * gst/gstbus.h:
10471         * tools/gst-launch.c: (event_loop):
10472         * tools/gst-md5sum.c: (event_loop):
10473         GstBusHandler -> GstBusFunc, return value has the same meaning as
10474         any other GSource (FALSE == remove source).
10475         _add_watch() and _add_watch_full() now take a MessageType mask to
10476         only handle specific types of messages.
10477         _poll() returns the GstMessage instead of the message type to avoid
10478         race conditions.
10479         _have_pending() takes a MessageType mask now too.
10480         Added testsuite for multiple bus watches.
10481         Fix testsuites and applications for new bus API.
10482
10483 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10484
10485         * check/Makefile.am:
10486           mark a bunch of the tests as to fix until we fix them
10487
10488 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10489
10490         * common/check.mak:
10491           use GST_PLUGIN settings for valgrind tests as well, so we're
10492           valgrinding the correct thing
10493         * gst/gst.c: (init_post):
10494           plug another leak
10495
10496 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10497
10498         * gst/gst.c: (init_post), (gst_deinit):
10499         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10500         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10501         * gst/gstindex.c: (gst_index_factory_class_init),
10502         (gst_index_factory_finalize):
10503         * gst/gstobject.c: (gst_object_dispose):
10504         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10505         (gst_plugin_load_file), (gst_plugin_desc_free):
10506         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10507         (gst_plugin_feature_finalize):
10508         * gst/gstregistry.c: (gst_registry_class_init),
10509         (gst_registry_init), (gst_registry_finalize),
10510         (gst_registry_get_default), (gst_registry_deinit):
10511         * gst/gstregistry.h:
10512         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10513           various cleanups and memleak plugging.  make valgrind is happy now.
10514
10515 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10516
10517         * common/check.mak:
10518           add a check-valgrind target
10519
10520 2005-09-18  David Schleef  <ds@schleef.org>
10521
10522         * tools/gst-inspect.c: Revert the GOption code.
10523
10524 2005-09-17  David Schleef  <ds@schleef.org>
10525
10526         * check/Makefile.am: Fix environment variables.
10527         * check/gst/gstplugin.c: Fix for API changes.
10528         * tools/gst-inspect.c: Fix for API changes.
10529         * tools/gst-xmlinspect.c: Fix for API changes.
10530         * gst/gstelementfactory.c:
10531         * gst/gstplugin.c:
10532         * gst/gstplugin.h:
10533         * gst/gstpluginfeature.c:
10534         * gst/gstpluginfeature.h:
10535         * gst/gstregistry.c:
10536         * gst/gstregistry.h:
10537         * gst/gstregistryxml.c:
10538         * gst/gsttypefind.c:
10539         * gst/gsttypefindfactory.c:
10540         * gst/indexers/gstfileindex.c:
10541         * gst/indexers/gstmemindex.c:
10542         * gst/schedulers/Makefile.am:
10543           Change registry to keep track of both plugins and features,
10544           removing the feature tracking from plugins themselves.
10545
10546 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10547
10548         * check/Makefile.am:
10549         * tools/gst-register.1.in:
10550           remove gst-register
10551
10552 2005-09-15  David Schleef  <ds@schleef.org>
10553
10554         * check/gst/gstplugin.c:
10555         * gst/gstelementfactory.c:
10556         * gst/gstplugin.c:
10557         * gst/gstpluginfeature.c:
10558         * gst/gstregistry.c:
10559           Getting tired of debugging.  Disabled all the unreffing of
10560           plugins and features, which fixes the segfaults, but of
10561           course leaks like crazy.  At least playbin works.
10562
10563 2005-09-15  David Schleef  <ds@schleef.org>
10564
10565         * check/gst/gstplugin.c: (register_check_elements),
10566         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10567         More testing
10568         * gst/elements/gsttypefindelement.c: Fix refcounting.
10569         * gst/gsttypefind.c:
10570         * gst/gsttypefindfactory.c:
10571         * gst/gsttypefindfactory.h:
10572
10573 2005-09-15  David Schleef  <ds@schleef.org>
10574
10575         * gst/gstindex.c: get refcounting correct.
10576         * gst/gstregistry.c: Handle the case where a feature/plugin is
10577           not found.
10578
10579 2005-09-15  David Schleef  <ds@schleef.org>
10580
10581         * check/Makefile.am:
10582         * check/gst/gstplugin.c: Add test
10583         * gst/gstplugin.c: Fix problems noticed by testsuite
10584         * gst/gstplugin.h:
10585         * gst/gstregistry.c: 
10586         * gst/gstregistry.h:
10587
10588 2005-09-15  David Schleef  <ds@schleef.org>
10589
10590         * gst/gstplugin.c: Implement semi-decent recounting and locking
10591           in plugins and plugin features.
10592         * gst/gstplugin.h:
10593         * gst/gstpluginfeature.c:
10594         * gst/gstpluginfeature.h:
10595         * gst/gstregistry.c:
10596
10597 2005-09-15  Michael Smith <msmith@fluendo.com>
10598
10599         * gst/gstregistry.c: (gst_registry_get_feature_list):
10600           Implement this. Makes oggdemux work; decodebin still broken.
10601
10602 2005-09-14  David Schleef  <ds@schleef.org>
10603
10604         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10605           #316076)
10606         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10607         * gst/check/Makefile.am:
10608         * libs/gst/controller/Makefile.am:
10609         * libs/gst/dataprotocol/Makefile.am:
10610
10611 2005-09-14  David Schleef  <ds@schleef.org>
10612
10613         * configure.ac: Remove getbits library.  Nothing uses it, and
10614           it should be in something like liboil if someone did want
10615           to use it.
10616         * libs/gst/Makefile.am:
10617         * libs/gst/getbits/Makefile.am:
10618         * libs/gst/getbits/gbtest.c:
10619         * libs/gst/getbits/getbits.c:
10620         * libs/gst/getbits/getbits.h:
10621         * libs/gst/getbits/gstgetbits_generic.c:
10622         * libs/gst/getbits/gstgetbits_i386.s:
10623         * libs/gst/getbits/gstgetbits_inl.h:
10624
10625 2005-09-14  David Schleef  <ds@schleef.org>
10626
10627         * gst/Makefile.am: Dist glib-compat.h
10628
10629 2005-09-14  David Schleef  <ds@schleef.org>
10630
10631         * configure.ac: Remove gst/registries, since it's no longer used.
10632         * gst/registries/Makefile.am:
10633         * gst/registries/gstlibxmlregistry.c:
10634         * gst/registries/gstlibxmlregistry.h:
10635         * gst/registries/gstxmlregistry.c:
10636         * gst/registries/gstxmlregistry.h:
10637         * gst/registries/registrytest.c:
10638
10639 2005-09-14  David Schleef  <ds@schleef.org>
10640
10641         * gst/glib-compat.h:
10642         * gst/gstregistryxml.c:
10643           Convergence is near.  Seriously.
10644
10645 2005-09-14  David Schleef  <ds@schleef.org>
10646
10647         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10648         * gst/glib-compat.h:
10649           Attempt #4 to appease the buildbots.
10650
10651 2005-09-14  David Schleef  <ds@schleef.org>
10652
10653         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10654           Attempt #3.
10655
10656 2005-09-14  David Schleef  <ds@schleef.org>
10657
10658         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10659         Attempt #2.
10660
10661 2005-09-14  David Schleef  <ds@schleef.org>
10662
10663         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10664           the new functions.
10665
10666 2005-09-14  David Schleef  <ds@schleef.org>
10667
10668         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10669         * gst/glib-compat.h: Add some functions that are in newer versions
10670           of glib than we care to require.
10671         * gst/gstregistryxml.c: Use them.
10672
10673 2005-09-14  David Schleef  <ds@schleef.org>
10674
10675         * po/POTFILES.in: remove gst-register.c
10676
10677 2005-09-14  David Schleef  <ds@schleef.org>
10678
10679         * docs/gst/gstreamer-docs.sgml:
10680         * docs/gst/gstreamer-sections.txt:
10681         * docs/gst/gstreamer.types:
10682         * docs/gst/tmpl/gstelement.sgml:
10683         * docs/gst/tmpl/gstplugin.sgml:
10684         * docs/gst/tmpl/gstpluginfeature.sgml:
10685           Documentation updates for registry changes.
10686
10687 2005-09-14  David Schleef  <ds@schleef.org>
10688
10689         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10690           because we don't require glib-2.8.
10691
10692 2005-09-14  David Schleef  <ds@schleef.org>
10693
10694         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10695           registries directory.
10696
10697 2005-09-14  David Schleef  <ds@schleef.org>
10698
10699         * check/Makefile.am:
10700         * check/generic/states.c:
10701         * gst/Makefile.am:
10702         * gst/gst.c:
10703         * gst/gst.h:
10704         * gst/gst_private.h:
10705         * gst/gstelementfactory.c:
10706         * gst/gstindex.c:
10707         * gst/gstinfo.c:
10708         * gst/gstplugin.c:
10709         * gst/gstplugin.h:
10710         * gst/gstpluginfeature.c:
10711         * gst/gstpluginfeature.h:
10712         * gst/gstregistry.c:
10713         * gst/gstregistry.h:
10714         * gst/gstregistrypool.c: remove
10715         * gst/gstregistrypool.h: remove
10716         * gst/gsttypefind.c:
10717         * gst/gsttypefindfactory.c:
10718         * gst/gsturi.c:
10719         * tools/Makefile.am:
10720         * tools/gst-compprep.c:
10721         * tools/gst-inspect.c:
10722         * tools/gst-register.c: remove
10723         * tools/gst-xmlinspect.c:
10724           Registry rewrite.  Changes registry from being a file created
10725           by a tool into a simple cache file created automatically by 
10726           libgstreamer.  Removed gst-register (because it's no longer
10727           needed).  Remove registry pools, because we only have one
10728           registry implementation (XML).  Fix up other subsystems as
10729           necessary.
10730
10731 2005-09-13  Michael Smith <msmith@fluendo.com>
10732
10733         * gst/gstconfig.h.in:
10734           Don't Use windows linking attributes for MinGW. Fixes #316157
10735
10736 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10737
10738         * gst/gstutils.c: (set_state_async_thread_func),
10739         (gst_element_set_state_async):
10740           Apparently people think it's better if this function doesn't
10741           try to set the state to whatever state was asked for on the first
10742           call to this function for any object.  Seriously.
10743
10744 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10745
10746         * check/gst/gstpipeline.c: (GST_START_TEST):
10747         * docs/gst/gstreamer-sections.txt:
10748         * gst/gstutils.c: (set_state_async_thread_func),
10749         (gst_element_set_state_async):
10750         * gst/gstutils.h:
10751           add a "gst_element_set_state_async" method that
10752           sets the state and starts a thread to make sure the state
10753           change completes as best as it can
10754
10755 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10756
10757         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10758           codify design+behaviour in testsuite after discussion
10759
10760 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * docs/gst/tmpl/gstelement.sgml:
10763         * docs/manual/appendix-quotes.xml:
10764           add a quote
10765         * gst/gstelement.c: (gst_element_set_state):
10766           add some debug
10767
10768 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
10769
10770         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10771         (gst_base_transform_prepare_output_buf),
10772         (gst_base_transform_handle_buffer):
10773         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10774         (gst_capsfilter_prepare_buf):
10775           Remove the requirement for sub-classes to call the parent
10776           implementation of prepare_output_buffer with a wrapper function.
10777           
10778         * gst/gsttaglist.h:
10779         * gst/gsttagsetter.h:
10780           Fix #define wrapper
10781
10782 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
10783
10784         * docs/gst/gstreamer-sections.txt:
10785           more doc cleanups
10786
10787 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10788
10789         * docs/gst/gstreamer-sections.txt:
10790         * docs/gst/tmpl/gstelement.sgml:
10791         * docs/gst/tmpl/gstplugin.sgml:
10792         * gst/gstminiobject.c:
10793         * gst/gstvalue.h:
10794           docs now stop throwing warnings
10795
10796 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10797
10798         * docs/gst/gstreamer-sections.txt:
10799         * docs/gst/gstreamer.types:
10800         * docs/gst/tmpl/gstpad.sgml:
10801         * docs/gst/tmpl/gsttypes.sgml:
10802         * gst/base/gstadapter.h:
10803         * gst/base/gstbasesink.h:
10804         * gst/base/gstbasesrc.h:
10805         * gst/gstbin.h:
10806         * gst/gstbuffer.h:
10807         * gst/gstbus.h:
10808         * gst/gstcaps.h:
10809         * gst/gstclock.h:
10810         * gst/gstelement.h:
10811         * gst/gstevent.h:
10812         * gst/gstmessage.h:
10813         * gst/gstpad.h:
10814         * gst/gststructure.c:
10815         * gst/registries/gstlibxmlregistry.h:
10816           various documentation fixes
10817
10818 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10819
10820         * docs/gst/gstreamer-sections.txt:
10821         * docs/gst/tmpl/gstvalue.sgml:
10822           rearrange gstvalue section
10823         * gst/gstutils.c: (gst_element_state_get_name):
10824           NONE -> VOID
10825         * gst/gstvalue.c: (_gst_value_initialize):
10826         * gst/gstvalue.h:
10827           doc updates
10828
10829 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10830
10831         * check/gst-libs/controller.c:
10832           Header include fix.
10833         * gst/base/gstbasetransform.c:
10834         (gst_base_transform_default_prepare_buf),
10835         (gst_base_transform_handle_buffer):
10836         * gst/base/gstbasetransform.h:
10837           Some more basetransform changes and fixes to enable sub-classes
10838           that modify buffer metadata only.
10839         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10840         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10841         (gst_capsfilter_prepare_buf):
10842           If the output pad has fixed allowed caps and input buffers 
10843           don't have any, set the fixed caps on outgoing buffers.
10844
10845 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10846         * check/elements/identity.c: (GST_START_TEST):
10847           Make the error a little clearer when the test fails because
10848           identity made a copy of the buffer.
10849         * docs/gst/gstreamer-sections.txt:
10850           New symbols in gstbasetransform.h
10851         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10852         (gst_base_transform_init), (gst_base_transform_transform_size),
10853         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10854         (gst_base_transform_default_prepare_buf),
10855         (gst_base_transform_get_unit_size),
10856         (gst_base_transform_buffer_alloc),
10857         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10858         (gst_base_transform_change_state),
10859         (gst_base_transform_set_passthrough),
10860         (gst_base_transform_set_in_place),
10861         (gst_base_transform_is_in_place):
10862         * gst/base/gstbasetransform.h:
10863           Change BaseTransform to separate in_place operate from same_caps
10864           output. in_place implies that the element can perform the transform
10865           on incoming buffers in-place, even if the caps on the output are
10866           different.
10867           Sub-class elements can now implement special buffer allocation
10868           methods for outgoing buffers if they wish to.
10869           Big documentation addition.
10870         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10871         * gst/elements/gstelements.c:
10872           Changes for basetransform modifications.
10873         * gst/elements/Makefile.am:
10874         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10875           Compile fix. Extra debug output.
10876
10877 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10880         (gst_pad_suite):
10881           add tests for valid pad naming
10882         * gst/check/gstcheck.c: (gst_check_log_message_func),
10883         (gst_check_log_critical_func):
10884           add ASSERT_WARNING
10885           remove printing of code, it is fragile when the code contains
10886           % and the line number is enough info
10887         * gst/check/gstcheck.h:
10888         * gst/gstpad.c: (gst_pad_template_new):
10889           fix memleaks
10890
10891 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10892
10893         * configure.ac:
10894           say what CHECK flags we use
10895         * docs/libs/gstreamer-libs.types:
10896         * libs/gst/controller/Makefile.am:
10897         * libs/gst/controller/gst-controller.c:
10898         * libs/gst/controller/gst-controller.h:
10899         * libs/gst/controller/gst-helper.c:
10900         * libs/gst/controller/gst-interpolation.c:
10901         * libs/gst/controller/gstcontroller.c:
10902         * libs/gst/controller/gsthelper.c:
10903         * libs/gst/controller/gstinterpolation.c:
10904         * tools/gst-inspect.c: (print_plugin_info):
10905           we don't use dashes in header names
10906
10907 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10908
10909         * check/Makefile.am:
10910         * check/gst/.cvsignore:
10911         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
10912         (gst_pipeline_suite), (main):
10913           adding a test for pipelines and state changes
10914         * gst/gstutils.c: (get_state_func):
10915           add some debugging
10916         * gstreamer.spec.in:
10917           fix up spec file
10918
10919 2005-09-08  Michael Smith <msmith@fluendo.com>
10920
10921         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
10922         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
10923         (gst_file_src_is_seekable), (gst_file_src_get_size),
10924         (gst_file_src_start):
10925         * gst/elements/gstfilesrc.h:
10926           Various fixes for unseekable, unmmapable, and non-normal files, so
10927           that fallback to read() rather than mmap() works.
10928         * gst/gstevent.c: (gst_event_new_newsegment):
10929           Allow newsegment events with segment_start == segment_end, as will
10930           correctly happen if you use filesrc on a zero-size file, for
10931           example.
10932
10933 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10934
10935         * gst/gstplugin.c: (gst_plugin_load_file):
10936           Call g_module_close when we don't load the module
10937
10938         * gst/registries/gstlibxmlregistry.c:
10939         (gst_xml_registry_get_property):
10940           Port leak fix from 0.8
10941
10942 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10943
10944         * docs/gst/gstreamer-docs.sgml:
10945         * docs/gst/tmpl/.cvsignore:
10946         * docs/gst/tmpl/gsttrace.sgml:
10947         * docs/gst/tmpl/gsttrashstack.sgml:
10948         * gst/Makefile.am:
10949         * gst/gst.h:
10950         * gst/gstelement.h:
10951         * gst/gstevent.h:
10952         * gst/gstmessage.c:
10953         * gst/gstmessage.h:
10954         * gst/gsttag.c:
10955         * gst/gsttag.h:
10956         * gst/gsttaginterface.c:
10957         * gst/gsttaginterface.h:
10958         * gst/gsttaglist.c:
10959         * gst/gsttaglist.h:
10960         * gst/gsttagsetter.c:
10961         * gst/gsttagsetter.h:
10962         * gst/gsttrace.c:
10963         * gst/gsttrace.h:
10964         * gst/gsttrashstack.c:
10965           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
10966           inlined docs for gsttrace, gsttrashstack
10967
10968 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10969
10970         * gst/Makefile.am:
10971         * gst/elements/gstbufferstore.h:
10972         * gst/elements/gsttypefindelement.c:
10973         * gst/elements/gsttypefindelement.h:
10974         * gst/gst.h:
10975         * gst/gsttypefind.c:
10976         * gst/gsttypefind.h:
10977         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
10978         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
10979         (gst_type_find_factory_dispose),
10980         (gst_type_find_factory_unload_thyself),
10981         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
10982         (gst_type_find_factory_get_caps),
10983         (gst_type_find_factory_get_extensions),
10984         (gst_type_find_factory_call_function):
10985         * gst/gsttypefindfactory.h:
10986         * gst/registries/gstlibxmlregistry.c:
10987         * gst/registries/gstxmlregistry.c:
10988           splitted gsttypefind into gsttypefind, gsttypefindfactory
10989
10990 2005-09-07  Andy Wingo  <wingo@pobox.com>
10991
10992         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
10993         condition whereby the pad's task function is entered before the
10994         pad_mode variable was set.
10995
10996 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10997
10998         * gst/gstpad.c: (gst_pad_alloc_buffer):
10999           Catch misbehaving pad_alloc functions that don't
11000           set up caps and do it for them.
11001
11002 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11003
11004         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11005           test for pipe!=NULL
11006         * docs/gst/tmpl/.cvsignore:
11007         * docs/gst/tmpl/gstmemchunk.sgml:
11008         * docs/gst/tmpl/gstparse.sgml:
11009         * docs/gst/tmpl/gsttaglist.sgml:
11010         * docs/gst/tmpl/gsttagsetter.sgml:
11011         * docs/gst/tmpl/gsttypefind.sgml:
11012         * docs/gst/tmpl/gsttypefindfactory.sgml:
11013         * gst/gstmemchunk.c:
11014         * gst/gstparse.c:
11015         * gst/gsttag.c:
11016         * gst/gsttaginterface.c:
11017         * gst/gsttypefind.c:
11018         * gst/gsttypefind.h:
11019           inlined more docs
11020
11021 === release 0.9.2 ===
11022
11023 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11024
11025         * NEWS:
11026         * RELEASE:
11027         * configure.ac:
11028           releasing 0.9.2, "South"
11029
11030 2005-09-05  Andy Wingo  <wingo@pobox.com>
11031
11032         * gst/registries/gstxmlregistry.h:
11033         * gst/registries/gstxmlregistry.c: Um... resurrect...
11034         
11035         * gst/registries/gstxmlregistry.h:
11036         * gst/registries/gstxmlregistry.c: and update to newer API.
11037         Incidentally they should be a bit faster now that they don't have
11038         to parse the caps.
11039         
11040 2005-09-05  Andy Wingo  <wingo@pobox.com>
11041
11042         * gst/registries/gstxmlregistry.h:
11043         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11044         replaced by the libxml registry a while back
11045
11046 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11047
11048         * docs/gst/tmpl/gstplugin.sgml:
11049         * gst/elements/gstelements.c:
11050         * gst/gst.c:
11051         * gst/gstplugin.c: (gst_plugin_register_func),
11052         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11053         (gst_plugin_get_source):
11054         * gst/gstplugin.h:
11055         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11056         (gst_xml_registry_save_plugin):
11057         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11058         (gst_xml_registry_save_plugin):
11059         * tools/gst-inspect.c: (print_plugin_info):
11060           add a "source" plugin description field, to represent the source
11061           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11062           will set it to PACKAGE, which is automake's idea of the name of
11063           the source project.
11064
11065 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11066
11067         * Makefile.am:
11068         * autogen.sh:
11069         * configure.ac:
11070         * docs/Makefile.am:
11071         * docs/faq/Makefile.am:
11072         * docs/gst/tmpl/gstelement.sgml:
11073         * docs/gst/tmpl/gsttypes.sgml:
11074         * docs/htmlinstall.mak:
11075         * docs/manual/Makefile.am:
11076         * docs/pwg/Makefile.am:
11077           reorganize doc build a little
11078           split out docbook and gtk-doc stuff
11079           have two separate --enable's and enable them through autogen
11080           but disable by default in configure (to be similar to other
11081           projects)
11082         * gstreamer.spec.in:
11083           clean up docs install
11084         * po/af.po:
11085         * po/az.po:
11086         * po/ca.po:
11087         * po/cs.po:
11088         * po/de.po:
11089         * po/en_GB.po:
11090         * po/fr.po:
11091         * po/it.po:
11092         * po/nb.po:
11093         * po/nl.po:
11094         * po/ru.po:
11095         * po/sq.po:
11096         * po/sr.po:
11097         * po/sv.po:
11098         * po/tr.po:
11099         * po/uk.po:
11100         * po/vi.po:
11101           translation updates
11102
11103 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11104
11105         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11106           Add comment.
11107           
11108         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11109         (gst_fake_sink_change_state):
11110           Make state change function thread-safe.
11111           
11112         * gst/gstpad.c: (gst_pad_alloc_buffer):
11113           Set offset on generic buffer allocated by fallback.
11114
11115 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11116
11117         * docs/gst/gstreamer-sections.txt:
11118         * docs/gst/tmpl/gstelement.sgml:
11119         * gst/gstpad.c:
11120         * libs/gst/controller/gst-controller.c:
11121         (gst_controlled_property_set_interpolation_mode),
11122         (gst_controlled_property_new),
11123         (gst_controller_find_controlled_property):
11124          run the wingo-magic script against the docs
11125
11126 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11127
11128         * docs/gst/gstreamer-docs.sgml:
11129         * docs/gst/gstreamer-sections.txt:
11130         * docs/gst/tmpl/.cvsignore:
11131         * docs/gst/tmpl/gstelementdetails.sgml:
11132         * docs/gst/tmpl/gstelementfactory.sgml:
11133         * gst/gst.c:
11134         * gst/gstbus.c:
11135         * gst/gstelementfactory.c:
11136         * gst/gstelementfactory.h:
11137           merged elementdetails docs into elementfactory docs
11138           inlined both
11139
11140 2005-09-02  Andy Wingo  <wingo@pobox.com>
11141
11142         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11143         consider this enum an enum and not a flags.
11144
11145 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11146
11147         * docs/gst/gstreamer-docs.sgml:
11148         * docs/gst/tmpl/.cvsignore:
11149         * docs/gst/tmpl/gstghostpad.sgml:
11150         * docs/gst/tmpl/gstiterator.sgml:
11151         * docs/gst/tmpl/gstmacros.sgml:
11152         * docs/gst/tmpl/gstrealpad.sgml:
11153         * docs/gst/tmpl/gstregistry.sgml:
11154         * docs/gst/tmpl/gstregistrypool.sgml:
11155         * docs/gst/tmpl/gststructure.sgml:
11156         * docs/gst/tmpl/gstsystemclock.sgml:
11157         * docs/gst/tmpl/gsttrace.sgml:
11158         * gst/gstghostpad.c:
11159         * gst/gstmacros.h:
11160         * gst/gstmemchunk.c:
11161         * gst/gstmemchunk.h:
11162         * gst/gstqueue.c:
11163         * gst/gstregistry.c:
11164         * gst/gstregistrypool.c:
11165         * gst/gststructure.c:
11166         * gst/gstsystemclock.c:
11167           more docs inlined
11168
11169 2005-09-02  Andy Wingo  <wingo@pobox.com>
11170
11171         * gst/gstelement.h (GstState): Renamed from GstElementState,
11172         changed to be a normal enum instead of flags.
11173         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11174         munged to be GST_STATE_CHANGE_*.
11175         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11176         work with the new state representation.
11177         (GstStateChange): New enumeration of possible state transitions.
11178         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11179         (GstElementClass::change_state): Pass the GstStateChange along as
11180         an argument. Helps language bindings, so they don't have to use
11181         tricky lock-needing macros like GST_STATE_CHANGE ().
11182
11183         * scripts/update-states (file): New script. Run it on a file to
11184         update it for state naming and API changes. Updates files in
11185         place.
11186
11187         * All files updated for the new API.
11188
11189 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11190
11191         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11192         * gst/gstutils.c: (gst_util_set_value_from_string),
11193         (gst_util_set_object_arg):
11194           fix a bunch of unchecked return values
11195         * tools/gst-complete.c: (main):
11196         * gstreamer.spec.in:
11197           clean up a little
11198
11199 2005-09-01  Wim Taymans  <wim@fluendo.com>
11200
11201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11202         (gst_base_sink_event), (gst_base_sink_do_sync),
11203         (gst_base_sink_handle_event):
11204         * gst/base/gstbasesink.h:
11205         Handle newsegments more correctly.
11206
11207         * gst/gstbus.c:
11208         Fix docs.
11209
11210         * gst/gstevent.c: (gst_event_new_newsegment):
11211         A newsegment cannot have a start_time of -1
11212
11213 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11214
11215         * win32/gstenumtypes.c:
11216         * win32/gstenumtypes.h:
11217           Update
11218
11219 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11220
11221         * libs/gst/controller/gst-controller.c:
11222         (gst_controlled_property_set_interpolation_mode),
11223         (gst_controlled_property_new):
11224          fixed boolean again
11225
11226 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11227
11228         * docs/faq/gst-uninstalled:
11229           add -good
11230         * gst/gstevent.c:
11231         * gst/gstevent.h:
11232           remove wrong docs
11233         * gst/gstutils.c: (gst_element_link_filtered):
11234         * gst/gstutils.h:
11235           add gst_element_link_filtered
11236
11237 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11238
11239         * docs/gst/gstreamer-docs.sgml:
11240         * docs/gst/gstreamer-sections.txt:
11241         * docs/gst/tmpl/.cvsignore:
11242         * docs/gst/tmpl/gsterror.sgml:
11243         * docs/gst/tmpl/gstfilter.sgml:
11244         * docs/gst/tmpl/gsturihandler.sgml:
11245         * docs/gst/tmpl/gsturitype.sgml:
11246         * docs/gst/tmpl/gstutils.sgml:
11247         * docs/gst/tmpl/gstxml.sgml:
11248         * gst/gsterror.c:
11249         * gst/gsterror.h:
11250         * gst/gstfilter.c:
11251         * gst/gsturi.c:
11252         * gst/gsturitype.c:
11253         * gst/gstutils.c:
11254         * gst/gstxml.c:
11255           inlined more docs, fixed double id-ref
11256
11257 2005-08-31  Wim Taymans  <wim@fluendo.com>
11258
11259         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11260         (gst_base_transform_handle_buffer):
11261         Passthrough elements don't need the caps as they don't care.
11262
11263 2005-08-31  Wim Taymans  <wim@fluendo.com>
11264
11265         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11266         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11267         Don't leak refcounts on buffers.
11268
11269 2005-08-31  Wim Taymans  <wim@fluendo.com>
11270
11271         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11272         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11273         (gst_base_transform_chain), (gst_base_transform_change_state):
11274         * gst/base/gstbasetransform.h:
11275         Handle the case where we are not negotiated more gracefully.
11276
11277 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11278
11279         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11280         (gst_file_src_map_region):
11281           Set READONLY flag on mmap'ed buffers, otherwise
11282           gst_buffer_make_writable() won't work properly (#314708).
11283
11284 2005-08-31  Wim Taymans  <wim@fluendo.com>
11285
11286         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11287         passthrough elements can even do inplace on non writable
11288         buffers (as they don't touch them).
11289
11290 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11291
11292         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11293         (gst_test_mono_source_set_property),
11294         (gst_test_mono_source_class_init), (GST_START_TEST),
11295         (gst_controller_suite):
11296           more tests (hehe I have the most)
11297         * gst/gstbus.c:
11298           describe popping messages whenusing mulltiple sources
11299         * libs/gst/controller/gst-controller.c:
11300         (gst_controlled_property_set_interpolation_mode),
11301         (gst_controlled_property_new):
11302         * libs/gst/controller/gst-controller.h:
11303         * libs/gst/controller/gst-interpolation.c:
11304           implement boolean properties
11305
11306 2005-08-31  Wim Taymans  <wim@fluendo.com>
11307
11308         * gst/gstminiobject.c: (gst_mini_object_ref):
11309         Cannot assert that the refcount has to be positive
11310         since a disposed object can be resurrected.
11311
11312 2005-08-31  Wim Taymans  <wim@fluendo.com>
11313
11314         * gst/gstpad.c: (gst_pad_init):
11315         Revert change, need to first fix badly behaving 
11316         apps.
11317
11318 2005-08-30  Wim Taymans  <wim@fluendo.com>
11319
11320         * check/elements/fakesrc.c: (setup_fakesrc):
11321         * check/elements/identity.c: (setup_identity):
11322         Activate pads before using them.
11323
11324 2005-08-30  Wim Taymans  <wim@fluendo.com>
11325
11326         * gst/base/gstadapter.c: (gst_adapter_flush):
11327         Flushing out 0 bytes is ok for this function.
11328
11329         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11330         no newsegment gives a warning and sets the start/stop to 
11331         invalid.
11332
11333         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11334         (gst_base_transform_set_passthrough):
11335         Some debug info.
11336
11337         * gst/gstminiobject.c: (gst_mini_object_ref):
11338         Check refcount here too.
11339
11340         * gst/gstpad.c: (gst_pad_init):
11341         Pads are initially flushing and refusing data.
11342
11343         * gst/gstutils.c: (gst_element_link_pads_filtered):
11344         When adding a capsfilter element make sure it has the
11345         same state as the parent bin.
11346
11347 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11348
11349         * docs/gst/tmpl/.cvsignore:
11350         * docs/gst/tmpl/gstformat.sgml:
11351         * docs/gst/tmpl/gstversion.sgml:
11352         * gst/gstbus.h:
11353         * gst/gstformat.c:
11354         * gst/gstformat.h:
11355         * gst/gstversion.h.in:
11356           more docs and two more inlined
11357
11358 2005-08-30  Wim Taymans  <wim@fluendo.com>
11359
11360         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11361         Don't sync to clock.
11362
11363 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11364
11365         * docs/gst/gstreamer-sections.txt:
11366           ultral33t func10ns deserve to appear in the docs actually
11367         * docs/gst/tmpl/.cvsignore:
11368         * docs/gst/tmpl/gstcompat.sgml:
11369         * docs/gst/tmpl/gstconfig.sgml:
11370         * gst/check/gstcheck.c:
11371         * gst/gstcompat.h:
11372         * gst/gstconfig.h.in:
11373           inlined more docs
11374
11375 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11376
11377         * docs/gst/tmpl/.cvsignore:
11378         * docs/gst/tmpl/gstquery.sgml:
11379         * docs/gst/tmpl/gstutils.sgml:
11380         * gst/gstquery.c:
11381         * gst/gstquery.h:
11382           inlined and extended docs
11383
11384 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11385
11386         * check/gst-libs/controller.c: (GST_START_TEST),
11387         (gst_controller_suite):
11388           more tests
11389         * docs/gst/tmpl/gstutils.sgml:
11390         * docs/libs/gstreamer-libs-sections.txt:
11391         * docs/libs/tmpl/gstdataprotocol.sgml:
11392           include path fixes
11393         * examples/controller/audio-example.c: (main):
11394           controller example works now
11395         * gst/gstclock.h:
11396           doc fixes
11397         * tools/gst-inspect.c: (print_element_properties_info):
11398           show param spec flags
11399
11400 2005-08-29  Andy Wingo  <wingo@pobox.com>
11401
11402         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11403
11404 2005-08-28  Andy Wingo  <wingo@pobox.com>
11405
11406         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11407         as having two arguments instead of just one. Allows superclasses
11408         to access information on subclasses -- see the terrible for() loop
11409         in gtype.c:g_type_create_instance for the reason why. All callers
11410         changed.
11411
11412 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11413
11414         * docs/design/part-messages.txt:
11415           update info
11416         * docs/gst/tmpl/.cvsignore:
11417         * docs/gst/tmpl/gstcaps.sgml:
11418         * docs/gst/tmpl/gstclock.sgml:
11419         * gst/gstbus.c:
11420         * gst/gstcaps.c:
11421         * gst/gstcaps.h:
11422         * gst/gstclock.c:
11423         * gst/gstclock.h:
11424         * gst/gstmessage.c:
11425           added descriptions for bus and message
11426           inline caps and clock docs
11427
11428 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11429
11430         * gst/gstmessage.c:
11431         * gst/gstmessage.h:
11432           doc fixes
11433
11434 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11435
11436         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11437           fix div-by-zero
11438
11439 2005-08-26  Andy Wingo  <wingo@pobox.com>
11440
11441         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11442         element_set_state's return val.
11443         (test_2_elements): Add test that's been disabled for months.
11444
11445         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11446         can-activate-pull properties.
11447
11448         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11449         can-activate-pull properties. Implement is_seekable so fakesrc can
11450         operate in pull mode.
11451
11452         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11453         properties.
11454         (gst_base_sink_activate, gst_base_sink_activate_pull)
11455         (gst_base_sink_activate_push): Make activation mode choosing work.
11456         Cleanups.
11457         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11458         is right. Make pull mode work. Post an eos before pausing in pull
11459         mode.
11460         (gst_base_sink_change_state): Pay attention to the core's
11461         change_state() return val.
11462         
11463         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11464         has-getrange properties. Cleanups.
11465         
11466         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11467         has_getrange and replace with can_activate_pull and
11468         can_activate_push.
11469
11470         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11471         locking comments. Remove has_loop, has_chain and replace with
11472         can_activate_pull and can_activate_push.
11473
11474 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11475
11476         * configure.ac:
11477         * examples/Makefile.am:
11478         * examples/metadata/Makefile.am:
11479         * examples/metadata/read-metadata.c: (message_loop),
11480         (have_pad_handler), (make_pipeline), (print_tag), (main):
11481           Add metadata reading example that loops over a list of filenames,
11482           dumping any tags found.
11483
11484         * gst/gstbus.c: (gst_bus_dispose):
11485         * gst/gstelement.c: (gst_element_dispose):
11486           Release a few potentially-held references in dispose.
11487
11488 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11489
11490         * docs/gst/tmpl/gstminiobject.sgml:
11491           do *not* add tmpl/*.sgml files to CVS!
11492
11493 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11494
11495         * libs/gst/bytestream/.cvsignore:
11496         * libs/gst/bytestream/Makefile.am:
11497         * libs/gst/bytestream/adapter.c:
11498         * libs/gst/bytestream/adapter.h:
11499         * libs/gst/bytestream/bytestream.c:
11500         * libs/gst/bytestream/bytestream.h:
11501         * libs/gst/bytestream/filepad.c:
11502         * libs/gst/bytestream/filepad.h:
11503           removing obsolete files
11504
11505 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11506
11507         * docs/gst/gstreamer-docs.sgml:
11508         * docs/libs/gstreamer-libs-docs.sgml:
11509           disabed additional index entries again, as this makes docs-gen just
11510           slow and they aren't useful yet
11511         * docs/libs/gstreamer-libs-sections.txt:
11512           little -section.txt cleanup for libs
11513
11514 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11515
11516         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11517         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11518           fix up some debugging
11519         (gst_base_transform_get_unit_size),
11520         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11521         (gst_base_transform_handle_buffer):
11522         * gst/base/gstbasetransform.h:
11523           handle and store timed NEWSEGMENT events so that subclasses that
11524           calculate time by counting samples have a segment_start time they
11525           need to add to their timestamps - see audioresample
11526
11527 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11528
11529         * gst/gstbin.h:
11530           removed ';' from the end of macro defs
11531         * docs/gst/gstreamer-docs.sgml:
11532         * docs/gst/gstreamer-sections.txt:
11533         * docs/gst/tmpl/.cvsignore:
11534         * gst/gstbus.h:
11535         * gst/gstelement.c: (gst_element_class_init),
11536         (gst_element_set_state), (activate_pads),
11537         (gst_element_save_thyself):
11538         * gst/gstevent.c: (gst_event_new_newsegment):
11539         * gst/gstevent.h:
11540         * gst/gstiterator.c:
11541         * gst/gstiterator.h:
11542         * gst/gstpad.c:
11543         * gst/gstprobe.h:
11544         * gst/gstutils.c: (gst_pad_query_convert):
11545         * gst/gstutils.h:
11546           fixed parameter name mismatches between source, header and docs
11547           added some more docs, resolved the last batch of unused elements in
11548           docs (now someone needs to doc them)
11549
11550 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11551
11552         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11553         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11554           don't walk through the plugins backwards.  Where is all this
11555           reversed logic coming from ?
11556
11557 2005-08-25  Wim Taymans  <wim@fluendo.com>
11558
11559         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11560         (gst_base_transform_transform_size),
11561         (gst_base_transform_configure_caps),
11562         (gst_base_transform_get_unit_size),
11563         (gst_base_transform_buffer_alloc),
11564         (gst_base_transform_change_state):
11565         * gst/base/gstbasetransform.h:
11566         Cache caps unit_size.
11567         Make sure we cannot negotiate up and downstream at the
11568         same time.
11569
11570 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11571
11572         * gst/gst.c: (init_pre), (init_post):
11573           register the installed plugin path after the env var
11574         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11575         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11576           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11577           directories, so the tests can prefer uninstalled over installed
11578
11579 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11580
11581         * gst/base/gstbasetransform.h:
11582           comment
11583         * gst/gstpad.c:
11584           add to docs
11585
11586 2005-08-25  Wim Taymans  <wim@fluendo.com>
11587
11588         * gst/gstbin.c: (bin_bus_handler):
11589         Be a bit more conservative about the posted message.
11590         
11591         * gst/gstbus.c: (gst_bus_post):
11592         Some cleanups, warn wrong return values.
11593
11594 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11595
11596         * check/gst/gstbin.c: (GST_START_TEST):
11597         * gst/gstbin.c: (bin_bus_handler):
11598         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11599         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11600         (gst_message_new_warning), (gst_message_new_tag),
11601         (gst_message_new_state_changed), (gst_message_new_segment_start),
11602         (gst_message_new_segment_done), (gst_message_new_custom):
11603         * gst/gstmessage.h:
11604         * tools/gst-launch.c: (event_loop):
11605         * tools/gst-md5sum.c: (event_loop):
11606           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11607
11608 2005-08-25  Wim Taymans  <wim@fluendo.com>
11609
11610         * check/generic/states.c: (GST_START_TEST):
11611         Cleanup can be done at the end.
11612
11613         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11614         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11615         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11616         Oh boy.. Thanks for finding this, Thomas. 
11617
11618 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11619
11620         * docs/gst/gstreamer.types:
11621           added missing types
11622
11623 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11624
11625         * docs/gst/gstreamer-docs.sgml:
11626         * docs/gst/gstreamer-sections.txt:
11627         * docs/gst/tmpl/.cvsignore:
11628         * gst/gstbin.c:
11629         * gst/gstiterator.c:
11630         * gst/gstutils.c:
11631         * gst/registries/gstxmlregistry.h:
11632           added missing classes and symbols (123 more to go)
11633           removed removed symbols from section file
11634           fixed many doc-comments
11635
11636 2005-08-24  Wim Taymans  <wim@fluendo.com>
11637
11638         * check/generic/states.c: (GST_START_TEST):
11639         Make sure all tasks are stopped.
11640
11641         * check/gst/gstbin.c: (GST_START_TEST):
11642         Unref after usage for proper valgrinding.
11643
11644         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11645         Really wait for the task to stop before destroying the
11646         mutex.
11647
11648         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11649         (gst_queue_src_activate_push):
11650         Small cleanups. Don't stop the task when we did not start
11651         it.
11652
11653         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11654         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11655         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11656         (gst_task_join):
11657         * gst/gsttask.h:
11658         Protect the stream lock with the object lock.
11659         Disallow setting the stream lock when running.
11660         Add cleanup_all to wait for the threadpool to finish.
11661         Remove code to autoallocate a mutex if none was provided.
11662         Add _join() to wait for a task to stop.
11663         Protect the thread pool with a global lock.
11664
11665 2005-08-24  Wim Taymans  <wim@fluendo.com>
11666
11667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11668         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11669         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11670         * gst/base/gstbasesink.h:
11671         Handle newsegment events correctly.
11672         Drop buffers out of the segment range.
11673
11674 2005-08-22  Andy Wingo  <wingo@pobox.com>
11675
11676         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11677         macro, implements an interface and gstimplementsinterface for a
11678         new type.
11679
11680 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11681
11682         * check/Makefile.am:
11683         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11684           add a test that does a bunch of state changes on elements
11685           needs some fixing for valgrind
11686         * check/states/sinks.c: (gst_object_suite):
11687           whitespace
11688         * gst/gstcaps.h:
11689           add prototype for gst_caps_is_equal_fixed
11690         * gst/gstplugin.c:
11691         * gst/gstregistrypool.c:
11692           doc fixes
11693
11694 2005-08-24  Andy Wingo  <wingo@pobox.com>
11695
11696         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11697         convert a negative value. Doesn't make much sense. Mostly this is
11698         here to force callers to ensure -1 maps to -1.
11699
11700 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11701
11702         * docs/pwg/advanced-types.xml:
11703           Well done to Michael for catching my deliberate introduction
11704           of this spelling mistake. 
11705         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11706         * gst/gstelement.h:
11707           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11708           unlink pads before removing the element from the bin.
11709
11710 2005-08-24  Andy Wingo  <wingo@pobox.com>
11711
11712         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11713         the same thing as GST_DEBUG=*:4.
11714         (parse_debug_level, parse_debug_category): New helper parsers.
11715
11716 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11717
11718         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11719         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11720         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11721         (gst_base_transform_buffer_alloc),
11722         (gst_base_transform_handle_buffer):
11723           use gboolean return values and pointers to size so we can use the
11724           full GST_BUFFER_SIZE range (guint) for buffer sizes
11725           use GstPadDirection for transform_caps
11726         * gst/base/gstbasetransform.h:
11727           rename get_size to get_unit_size since that's what it is
11728         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11729           use GstPadDirection for transform_caps
11730         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11731         * gst/gstutils.h:
11732           cleanup and debugging
11733
11734 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11735
11736         * gst/gstelement.c: (gst_element_class_init),
11737         (gst_element_set_state), (activate_pads),
11738         (gst_element_save_thyself):
11739         * tools/gst-compprep.c: (main):
11740         * tools/gst-inspect.c: (print_element_properties_info):
11741         * tools/gst-xmlinspect.c: (print_element_properties):
11742           Fixed long standing mem-leak
11743
11744 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11745
11746         * check/gst/gstbin.c: (GST_START_TEST):
11747         * gst/gstbin.c: (bin_bus_handler):
11748         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11749         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11750         (gst_message_new_warning), (gst_message_new_tag),
11751         (gst_message_new_state_changed), (gst_message_new_segment_start),
11752         (gst_message_new_segment_done), (gst_message_new_custom):
11753         * gst/gstmessage.h:
11754         * tools/gst-launch.c: (event_loop):
11755         * tools/gst-md5sum.c: (event_loop):
11756           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11757           that applications can sensibly post custom messages with references
11758           to their own objects.
11759
11760 2005-08-24  Andy Wingo  <wingo@pobox.com>
11761
11762         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11763         already.
11764
11765 2005-08-24  Wim Taymans  <wim@fluendo.com>
11766
11767         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11768         (gst_base_transform_transform_caps),
11769         (gst_base_transform_transform_size),
11770         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11771         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11772         (gst_base_transform_handle_buffer):
11773         * gst/base/gstbasetransform.h:
11774         Many fixes and new features added by Thomas. Can now also do
11775         transforms with variable sizes and a custom fixate_caps function.
11776
11777 2005-08-24  Wim Taymans  <wim@fluendo.com>
11778
11779         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11780         Some debugging.
11781
11782         * gst/gstclock.h:
11783         Cast to ClockTime before formatting to time.
11784
11785         * gst/gstutils.h:
11786         Cleanups.
11787
11788 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11789
11790         * check/gst-libs/controller.c: (GST_START_TEST),
11791         (gst_controller_suite):
11792         * docs/gst/tmpl/gstcaps.sgml:
11793         * docs/gst/tmpl/gstghostpad.sgml:
11794         * docs/gst/tmpl/gstquery.sgml:
11795         * docs/gst/tmpl/gstutils.sgml:
11796         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
11797         (gst_object_sink_values), (gst_object_get_value_arrays),
11798         (gst_object_get_value_array):
11799           gracefully handle helper method calls to objects that are not beeing
11800           controlled, added test case for that          
11801
11802 2005-08-23  Wim Taymans  <wim@fluendo.com>
11803
11804         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
11805         (gst_event_new_newsegment), (gst_event_parse_newsegment),
11806         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
11807         (gst_event_parse_qos), (gst_event_new_seek),
11808         (gst_event_parse_seek):
11809         * gst/gstevent.h:
11810         Some more debugging output and doc cleanups.
11811
11812         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11813         Fix possible deadlock.
11814
11815 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11816
11817         * docs/gst/gstreamer-docs.sgml:
11818         * docs/gst/gstreamer-sections.txt:
11819         * docs/gst/gstreamer.types:
11820         * docs/gst/tmpl/.cvsignore:
11821         * gst/gstbin.h:
11822         * gst/gstbus.c:
11823         * gst/gstelement.c:
11824         * gst/gstevent.h:
11825           added 100 symbols from gstreamer-unused.txt to the right sections
11826           fixed more broken comments
11827           added GstBus to docs
11828
11829 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11830
11831         * docs/gst/gstreamer-sections.txt:
11832         * docs/gst/tmpl/.cvsignore:
11833         * docs/gst/tmpl/gstbin.sgml:
11834         * docs/gst/tmpl/gstbuffer.sgml:
11835         * gst/base/gstbasesrc.c:
11836         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11837         * gst/gstbuffer.c:
11838         * gst/gstbuffer.h:
11839         * tools/gst-launch.1.in:
11840           inlined more doc comments, added missing comments and fixed comments
11841           fixed typos
11842
11843 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11844
11845         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11846           some debugging
11847         * gst/gstcaps.h:
11848           whitespace fixes
11849         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11850           more debugging
11851         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11852         * gst/gststructure.h:
11853           add a fixate function for booleans; add a FIXME that these func
11854           names should probably be gst_structure_fixate_*
11855
11856 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11857
11858         * docs/gst/gstreamer-docs.sgml:
11859         * docs/gst/gstreamer-sections.txt:
11860         * gst/Makefile.am:
11861         * gst/gstbin.c: (gst_bin_get_type),
11862         (gst_bin_child_proxy_get_child_by_index),
11863         (gst_bin_child_proxy_get_children_count),
11864         (gst_bin_child_proxy_init):
11865         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11866         (gst_child_proxy_get_child_by_index),
11867         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11868         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11869         (gst_child_proxy_get), (gst_child_proxy_set_property),
11870         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11871         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11872         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11873         * gst/gstchildproxy.h:
11874         * gst/parse/grammar.y:
11875         * tools/gst-inspect.c: (print_interfaces),
11876         (print_element_properties_info), (print_element_info):
11877           ported gstchildproxy over from 0.8
11878           ported gst-inspect fixes and enhancements over from 0.8
11879
11880 2005-08-22  Wim Taymans  <wim@fluendo.com>
11881
11882         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11883         (gst_base_transform_handle_buffer):
11884         Also call the transform function if we have ANY caps.
11885
11886         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11887         Fix debug info.
11888
11889 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11890
11891         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
11892           Don't pretend to handle seek events if the source is not seekable
11893
11894 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11895
11896         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11897           Remove extra parameter to debug output
11898
11899         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11900         (gst_base_src_do_seek), (gst_base_src_activate_push):
11901           Fix seek event handling.
11902
11903         * gst/gstpipeline.c: (gst_pipeline_change_state):
11904         * gst/gstqueue.c: (gst_queue_handle_sink_event),
11905         (gst_queue_src_activate_push):
11906           Don't start the src pad task on FLUSH_STOP if the pad
11907           isn't linked.
11908           Debug changes.
11909
11910 2005-08-22  Wim Taymans  <wim@fluendo.com>
11911
11912         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11913         Added check for gst_static_caps_get() refcounting.
11914
11915 2005-08-22  Wim Taymans  <wim@fluendo.com>
11916
11917         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
11918         Make _static_caps_get() refcounting sane.
11919         
11920         * gst/gstelement.c: (gst_element_set_state):
11921         Add g_return_val_if_fail() to protect against segfaults.
11922
11923 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
11924
11925         * docs/gst/tmpl/gstevent.sgml:
11926         * gst/gstevent.c:
11927         * gst/gstevent.h:
11928           inlined remaining docs, added missing doc comments
11929
11930 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11931
11932         * check/gst/gstbin.c: (GST_START_TEST):
11933           since we don't know when preroll is done, use refcount range
11934           check for the sink
11935         * gst/check/gstcheck.h:
11936           add macro for checking refcount range
11937
11938 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11939
11940         * check/Makefile.am:
11941           clean up environment for when registry gets built versus
11942           when actual tests are run; valgrind seems to not report
11943           leaks if GST_PLUGIN_PATH is set to some specific values
11944         * check/gst/gstbin.c: (GST_START_TEST):
11945           add more refcounting checks; maybe this exposes a
11946           preroll lock bug ?
11947         * common/check.mak:
11948         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11949         * gst/check/gstcheck.h:
11950         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
11951         (gst_bin_change_state):
11952         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
11953           add/fix debugging/whitespace
11954
11955 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11956
11957         * check/gst/gstevent.c: (event_probe), (test_event),
11958         (GST_START_TEST):
11959          Er, don't call gst_bin_watch_for_state_change you idiot.
11960
11961 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
11962
11963         * check/Makefile.am:
11964           Use CHECK_CFLAGS and CHECK_LIBS
11965         * check/gst/gstevent.c: (event_probe), (test_event),
11966         (GST_START_TEST):
11967           Don't leak events.
11968         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11969         (gst_base_src_start), (gst_base_src_stop),
11970         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11971         (gst_base_src_change_state):
11972           Sprinkle gst_base_src_stop liberally around error paths to fix
11973           problems reusing a source after failed state changes.
11974         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11975         (helper_find_suggest), (gst_type_find_helper):
11976           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
11977         * gst/gstevent.h:
11978         * docs/gst/tmpl/gstevent.sgml:
11979           Migrate part of the docs from the SGML file. Wait for ensonic to
11980           tell me how I did it wrong ;)
11981         * tools/gst-typefind.c: (main):
11982           Extra robustness to state changes between files.
11983
11984 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11985
11986         * check/Makefile.am:
11987           don't valgrind the controller test - it's leaking - Stefan, HELP
11988         * gst/check/gstcheck.c: (gst_check_message_error),
11989         (gst_check_chain_func), (gst_check_setup_element),
11990         (gst_check_teardown_element), (gst_check_setup_src_pad),
11991         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11992         (gst_check_teardown_sink_pad):
11993         * gst/check/gstcheck.h:
11994           add a bunch of methods to set up elements, and src and sink pads
11995         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
11996         * check/elements/identity.c: (setup_identity), (cleanup_identity),
11997         (GST_START_TEST):
11998           use them
11999         * gst/gstmessage.c:
12000         * gst/gsttag.h:
12001           whitespace/doc fixes
12002
12003 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12004
12005         * gst/gstelement.h:
12006           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12007           be handled by the application and not always printed as well
12008
12009 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12010
12011         * check/Makefile.am:
12012           set GST_TOOLS_DIR
12013         * gst/check/gstcheck.c: (gst_check_message_error):
12014         * gst/check/gstcheck.h:
12015           add a fail_unless_equals_int
12016           add fail_unless for error messages
12017
12018 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12019
12020         * check/Makefile.am:
12021         * check/gst.supp:
12022         * common/Makefile.am:
12023         * common/check.mak:
12024         * common/gst.supp:
12025           factor out some of the common stuff so we can use it
12026
12027 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12028
12029         * check/Makefile.am:
12030         * check/gst/gstiterator.c: (GST_START_TEST):
12031         * check/gst/gstsystemclock.c: (GST_START_TEST),
12032         (gst_systemclock_suite):
12033         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12034         * gst/gstclock.c:
12035           valgrind more tests
12036
12037 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12038
12039         * check/elements/.cvsignore:
12040         * check/elements/gstfakesrc.c:
12041           rename to name of element
12042         * check/elements/identity.c: (chain_func), (event_func),
12043         (setup_identity), (cleanup_identity), (GST_START_TEST),
12044         (identity_suite), (main):
12045           add a test for identity
12046         * check/Makefile.am:
12047         * pkgconfig/Makefile.am:
12048         * pkgconfig/gstreamer-check.pc.in:
12049         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12050         * gst/check:
12051         * gst/Makefile.am:
12052         * configure.ac:
12053           move the check stuff to a library that gets installed
12054         * check/gst-libs/controller.c: (GST_START_TEST):
12055         * check/gst-libs/gdp.c:
12056         * check/gst/gst.c: (GST_START_TEST):
12057         * check/gst/gstbin.c:
12058         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12059         * check/gst/gstbus.c:
12060         * check/gst/gstcaps.c: (GST_START_TEST):
12061         * check/gst/gstelement.c:
12062         * check/gst/gstghostpad.c:
12063         * check/gst/gstiterator.c:
12064         * check/gst/gstmessage.c:
12065         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12066         * check/gst/gstobject.c:
12067         * check/gst/gstpad.c: (GST_START_TEST):
12068         * check/gst/gststructure.c: (GST_START_TEST):
12069         * check/gst/gstsystemclock.c: (GST_START_TEST),
12070         (gst_systemclock_suite):
12071         * check/gst/gsttag.c: (gst_tag_suite):
12072         * check/gst/gstvalue.c:
12073         * check/pipelines/cleanup.c:
12074         * check/pipelines/simple_launch_lines.c:
12075         * check/states/sinks.c:
12076           change include statement
12077
12078         * docs/gst/gstreamer-sections.txt:
12079         * docs/gst/tmpl/gstpad.sgml:
12080           document more pad stuff
12081         * gst/gstminiobject.c: (gst_mini_object_ref),
12082         (gst_mini_object_unref):
12083           debug refcounting
12084
12085 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12086
12087         * docs/gst/tmpl/gst.sgml:
12088         * gst/gst.c:
12089           eliminate another tmpl file, fix spelling in the long-description
12090
12091 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12092
12093         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12094         (test_event), (timediff), (gstevents_suite):
12095           Should fix build on 64-bit arch's
12096
12097 2005-08-18  Andy Wingo  <wingo@pobox.com>
12098
12099         Make sure that when a pipeline goes to PLAYING, that data has
12100         actually hit the sink.
12101
12102         * check/states/sinks.c (test_sink): A sink that doesn't get any
12103         data shouldn't return SUCCESS for going to either PLAYING or
12104         PAUSED. Test also the return values on the way back down.
12105
12106         * gst/gstelement.c (gst_element_set_state): When changing the
12107         state of an element currently changing state asynchronously, go to
12108         lost-state after commiting the pending state. Makes future calls
12109         to get_state continue to return ASYNC.
12110
12111         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12112         ASYNC when going to PLAYING if we still don't have preroll, as can
12113         happen with live sources.
12114
12115 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12116
12117         * docs/pwg/advanced-types.xml:
12118           Hack long paragraph into 2 chunks as a workaround for buggy
12119           jadetex version in sid and breezy that loops infinitely and
12120           eats all RAM.
12121
12122 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12123
12124         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12125         (test_event), (timediff), (gstevents_suite):
12126           Provide more error margin in clock measurements to allow for 
12127           g_get_current_time inaccuracies.
12128
12129 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12130
12131         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12132         (test_event), (timediff), (gstevents_suite):
12133            Fix error message output so I might be able to tell why the
12134            test works here but fails on the build farm.
12135
12136 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12137
12138         * check/Makefile.am:
12139         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12140         (test_event), (timediff), (gstevents_suite), (main):
12141           I wrote a test!
12142
12143         * docs/design/part-seeking.txt:
12144           Spelling correction
12145
12146         * docs/gst/tmpl/gstevent.sgml:
12147         * docs/gst/tmpl/gstfakesrc.sgml:
12148           Docs updates.
12149
12150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12151           Treat a buffer-without-newsegment the same as a receiving 
12152           a newsegment not in time format, and disable syncing to the clock
12153           with a warning.
12154
12155         * gst/gstbus.c: (gst_bus_set_sync_handler):
12156           Assert if anyone tries to replace the existing sync_handler for bus, 
12157           as only the owner should be setting it.
12158
12159         * gst/gstevent.h:
12160           Have a fixed set of custom event enums with events identified by
12161           their structure name (as in 0.8), rather than a free-for-all
12162           allowing collisions between enum values from different plugins.
12163
12164         * gst/gstpad.c: (gst_pad_class_init):
12165           Docs change.
12166           
12167         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12168           Handle out-of-band downstream events from the sending thread.
12169
12170 2005-08-17  Andy Wingo  <wingo@pobox.com>
12171
12172         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12173         play-timeout==0 to mean no timeout at all. In that case, don't
12174         bother with a get_state or a warning, just return directly, even
12175         if it's ASYNC.
12176
12177         * gst/base/gstbasetransform.c: Debug changes.
12178
12179         * gst/gstutils.h:
12180         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12181         ensure bins post state change messages. A bit of a hack but I can't
12182         think of a way to avoid it.
12183
12184         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12185
12186 2005-08-16  Andy Wingo  <wingo@pobox.com>
12187
12188         * gst/base/gstadapter.h:
12189         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12190         peek() but you own the data. Not terribly efficient atm.
12191
12192 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12193
12194         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12195         (gst_element_found_tags):
12196         * gst/gstutils.h:
12197           Add two utility functions for tag handling.
12198
12199 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12200
12201         * docs/manual/advanced-dataaccess.xml:
12202         * docs/manual/basics-helloworld.xml:
12203           Fix docs to use _bin_add() before _link(), which fixes the examples
12204           with recent core versions (reported by Madhan Raj M
12205           <raj_madan@rediffmail.com>, #313199).
12206
12207 2005-08-16  Wim Taymans  <wim@fluendo.com>
12208
12209         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12210         Added subtract checks.
12211
12212         * docs/design/part-events.txt:
12213         Some more docs about newsegment
12214
12215         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12216         Fix FIXME
12217
12218         * gst/gstcaps.c: (gst_caps_to_string):
12219         Add comments, cleanups.
12220         
12221         * gst/gstelement.c: (gst_element_save_thyself):
12222         cleanups
12223         
12224         * gst/gstvalue.c: (gst_value_collect_int_range),
12225         (gst_string_unwrap), (gst_value_union_int_int_range),
12226         (gst_value_union_int_range_int_range),
12227         (gst_value_intersect_int_int_range),
12228         (gst_value_intersect_int_range_int_range),
12229         (gst_value_intersect_double_double_range),
12230         (gst_value_intersect_double_range_double_range),
12231         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12232         (gst_value_subtract_int_range_int),
12233         (gst_value_subtract_double_range_double),
12234         (gst_value_subtract_double_range_double_range),
12235         (gst_value_subtract_from_list), (gst_value_subtract_list),
12236         (gst_value_can_compare), (gst_value_compare_fraction):
12237         Cleanups, add comments, remove unneeded asserts.
12238
12239 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12240
12241         * tools/gst-launch.c: (event_loop):
12242           don't convert NULL structures to strings
12243
12244 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12245
12246         * docs/gst/gstreamer-sections.txt:
12247           made some defines private
12248         * docs/gst/tmpl/gstconfig.sgml:
12249         * docs/gst/tmpl/gstqueue.sgml:
12250         * docs/gst/tmpl/gsttaglist.sgml:
12251         * docs/gst/tmpl/gsttypes.sgml:
12252         * docs/gst/tmpl/gstutils.sgml:
12253         * docs/pwg/appendix-porting.xml:
12254         * gst/base/gstbasesink.h:
12255         * gst/base/gstbasesrc.c:
12256         * gst/base/gstbasesrc.h:
12257         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12258         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12259         * gst/gstelement.c: (gst_element_class_init):
12260         * gst/gstpad.c: (gst_pad_class_init):
12261         * gst/gstqueue.c: (gst_queue_class_init):
12262         * gst/gstxml.c: (gst_xml_class_init):
12263           documented all undocumented signal inline
12264         * libs/gst/controller/gst-controller.h:
12265           added padding
12266
12267 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12268
12269         * docs/pwg/appendix-porting.xml:
12270           Document _set_link_function -> _set_setcaps_function.
12271
12272 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12273
12274         * check/Makefile.am:
12275           add a .check target for running the check
12276         * check/gst-libs/controller.c: (GST_START_TEST):
12277           cosmetic fixups
12278         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12279           complete checks for gstbuffer; would be nice if I could get the
12280           gcov stuff to work so I can see if I actually completed gstbuffer.c
12281         * check/gstcheck.h:
12282           add ASSERT_BUFFER_REFCOUNT
12283
12284 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12285
12286         * docs/gst/gstreamer-sections.txt:
12287         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12288         * gst/gsttag.h:
12289           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12290           spew out a warning if a tag that is already registered
12291           is re-registered, unless it is re-registered with a 
12292           different type (#308438).
12293
12294 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12295
12296         * docs/pwg/appendix-porting.xml:
12297         * docs/pwg/building-state.xml:
12298           Add some paragraphs about state changes in 0.9 to the PWG
12299           and the porting guide, in particular about the new meaning
12300           of GST_STATE_PAUSED and how to write state change functions
12301           with concurrent access by multiple threads in mind.
12302
12303 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12304
12305         * docs/gst/gstreamer-docs.sgml:
12306         * docs/libs/gstreamer-libs-docs.sgml:
12307           added deprecation and since indexes
12308         * libs/gst/controller/gst-controller.c:
12309         * libs/gst/controller/gst-helper.c:
12310           added since tags
12311
12312
12313 2005-08-11  Wim Taymans  <wim@fluendo.com>
12314
12315         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12316         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12317         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12318         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12319         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12320         (gst_ghost_pad_set_target):
12321         Actually implement (re)setting the target on a ghostpad
12322         as described in the docs.
12323
12324 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12325
12326         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12327           Check whether GST_DEBUG_NO_COLOR environment variable is
12328           set and disable coloured debug output if that is the case.
12329
12330 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12331
12332         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12333         (gst_type_find_helper):
12334           The memory returned by gst_type_find_peek() needs to
12335           stay valid until the end of a typefind function, and
12336           typefind functions may keep results from different 
12337           offsets around, so we can't just unref the buffer from
12338           the previous _peek(), but have to save all buffers 
12339           returned by _peek() until typefinding is done and only
12340           free them then.
12341
12342 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12343
12344         * docs/gst/gstreamer-sections.txt:
12345         * gst/gstutils.h:
12346           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12347
12348 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12349
12350         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12351           Fix a pretty good memleak.
12352
12353 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12354
12355         * gst/gstiterator.h:
12356           Fix wrong include and 'make distcheck'.
12357
12358 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12359
12360         * gst/gstbin.c: (bin_bus_handler):
12361           Use gst_element_post_message() instead.
12362
12363 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12364
12365         * gst/base/gstadapter.h:
12366         * gst/base/gstbasesink.h:
12367         * gst/base/gstbasesrc.h:
12368         * gst/base/gstbasetransform.h:
12369         * gst/base/gstcollectpads.h:
12370         * gst/base/gstpushsrc.h:
12371         * gst/gstiterator.h:
12372           Add padding to our base elements' class and instance structs and
12373           to GstIterator (you will need to rebuild all plugins and apps!)
12374
12375 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12376
12377         * gst/gstbin.c: (bin_bus_handler):
12378           Make default message forwarding from child->bus to bin->bus
12379           threadsafe and make it not emit warnings if the parent has no bus.
12380
12381 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12382
12383         * gst/gstelement.c: (activate_pads):
12384           On paused->ready, set pad->caps to NULL, as is the documented
12385           behaviour in this state change. Fixes playback of series of
12386           media files when visualization is enabled in Totem.
12387
12388 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12389
12390         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12391           Allow NULL as filter-caps (which means "any").
12392
12393 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12394
12395         * docs/libs/gstreamer-libs-sections.txt:
12396         * libs/gst/controller/gst-controller.c:
12397         * libs/gst/controller/gst-controller.h:
12398         * libs/gst/controller/gst-helper.c:
12399           adding more entries to the docs and fix small doc-bugs
12400
12401 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12402
12403         * docs/gst/gstreamer-docs.sgml:
12404         * docs/gst/gstreamer-sections.txt:
12405         * docs/gst/gstreamer.types:
12406         * docs/gst/tmpl/gstbasesink.sgml:
12407         * docs/gst/tmpl/gstbasesrc.sgml:
12408         * docs/gst/tmpl/gstbasetransform.sgml:
12409         * docs/gst/tmpl/gstfakesrc.sgml:
12410         * gst/base/gstcollectpads.c:
12411         * gst/base/gstcollectpads.h:
12412         * libs/gst/controller/gst-controller.c:
12413         * libs/gst/controller/gst-controller.h:
12414         * libs/gst/controller/gst-helper.c:
12415         * libs/gst/controller/gst-interpolation.c:
12416         * libs/gst/controller/lib.c:
12417           added long/short desc for controller docs
12418           added collectpads base class docs
12419           added correct includes to base-class docs
12420
12421 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12422
12423         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12424         (gst_test_mono_source_set_property),
12425         (gst_test_mono_source_class_init), (GST_START_TEST),
12426         (gst_controller_suite):
12427         * docs/gst/gstreamer-docs.sgml:
12428         * docs/gst/gstreamer-sections.txt:
12429         * docs/gst/gstreamer.types:
12430         * docs/libs/gstreamer-libs-docs.sgml:
12431         * docs/libs/gstreamer-libs-sections.txt:
12432         * gst/base/gstadapter.c:
12433         * libs/gst/controller/gst-controller.c:
12434         (gst_controlled_property_new), (gst_controlled_property_free),
12435         (gst_controller_new_valist),
12436         (gst_controller_remove_properties_valist),
12437         (gst_controller_sink_values), (_gst_controller_finalize):
12438         * libs/gst/controller/gst-controller.h:
12439         * libs/gst/controller/gst-helper.c:
12440         (gst_object_control_properties), (gst_object_uncontrol_properties),
12441         (gst_object_get_controller), (gst_object_set_controller),
12442         (gst_object_sink_values), (gst_object_get_value_arrays),
12443         (gst_object_get_value_array):
12444           more tests (and fixes) for the controller
12445           more docs for the controller
12446           integrated companies docs for the adapter 
12447
12448 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12449
12450         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12451         (GST_START_TEST), (fakesrc_suite):
12452           add tests for sizetype
12453
12454 2005-08-04  Andy Wingo  <wingo@pobox.com>
12455
12456         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12457         fixes buffer_alloc proxying among other things.
12458
12459         * gst/base/gstbasetransform.c:
12460         * gst/base/gstbasetransform.h:
12461         Revert patch to gstbasetransform from 7-28 removing
12462         delay_configure.
12463
12464         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12465         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12466         Semantics changed, should return not the size of the output buffer
12467         but the byte size of a buffer with a given caps.
12468
12469         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12470         debug object.
12471         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12472         out) are not the pad caps until setcaps finishes.
12473         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12474         not-in-place case as well. Deal with changing from in-place to
12475         not-in-place within calling pad_alloc_buffer. Still a bit
12476         concerned about the overhead here...
12477
12478 2005-08-03  Andy Wingo  <wingo@pobox.com>
12479
12480         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12481         fixating is an error.
12482
12483 2005-08-04  Edward Hervey  <edward@fluendo.com>
12484
12485         * gst/base/gstadapter.h: 
12486         Added gst_adapter_get_type() to the header
12487
12488 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12489
12490         * check/Makefile.am:
12491         * check/gst-libs/controller.c:
12492         * libs/gst/controller/gst-controller.c:
12493         (gst_controller_new_valist):
12494           added check test suite for the controller
12495         * gst/base/gstpushsrc.c:
12496           fixed a doc typo
12497
12498 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12499
12500         * docs/gst/Makefile.am:
12501         * docs/gst/gstreamer-docs.sgml:
12502         * docs/gst/gstreamer-sections.txt:
12503         * docs/gst/gstreamer.types:
12504         * docs/gst/tmpl/gstfakesrc.sgml:
12505         * gst/base/README:
12506         * gst/base/gstbasesink.c:
12507         * gst/base/gstbasesink.h:
12508         * gst/base/gstbasesrc.c:
12509         * gst/base/gstbasesrc.h:
12510         * gst/base/gstbasetransform.c:
12511         * gst/base/gstpushsrc.c:
12512         * gst/base/gstpushsrc.h:
12513           add short/long description docs to base classes
12514           add pushsrc to the docs
12515           remove consolidated doc fragments
12516
12517 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12518
12519         * configure.ac:
12520         * docs/libs/Makefile.am:
12521         * docs/libs/gstreamer-libs-docs.sgml:
12522         * docs/libs/gstreamer-libs-sections.txt:
12523         * docs/libs/gstreamer-libs.types:
12524         * examples/Makefile.am:
12525         * examples/controller/.cvsignore:
12526         * examples/controller/Makefile.am:
12527         * examples/controller/audio-example.c: (main):
12528         * libs/gst/Makefile.am:
12529         * libs/gst/controller/.cvsignore:
12530         * libs/gst/controller/Makefile.am:
12531         * libs/gst/controller/gst-controller.c:
12532         (on_object_controlled_property_changed), (gst_timed_value_compare),
12533         (gst_timed_value_find),
12534         (gst_controlled_property_set_interpolation_mode),
12535         (gst_controlled_property_new), (gst_controlled_property_free),
12536         (gst_controller_find_controlled_property),
12537         (gst_controller_new_valist), (gst_controller_new),
12538         (gst_controller_remove_properties_valist),
12539         (gst_controller_remove_properties), (gst_controller_set),
12540         (gst_controller_set_from_list), (gst_controller_unset),
12541         (gst_controller_get), (gst_controller_get_all),
12542         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12543         (gst_controller_get_value_array),
12544         (gst_controller_set_interpolation_mode),
12545         (_gst_controller_finalize), (_gst_controller_init),
12546         (_gst_controller_class_init), (gst_controller_get_type):
12547         * libs/gst/controller/gst-controller.h:
12548         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12549         (g_object_uncontrol_properties), (g_object_get_controller),
12550         (g_object_set_controller), (g_object_sink_values),
12551         (g_object_get_value_arrays), (g_object_get_value_array):
12552         * libs/gst/controller/gst-interpolation.c:
12553         (gst_controlled_property_find_timed_value_node),
12554         (interpolate_none_get), (interpolate_trigger_get),
12555         (interpolate_trigger_get_value_array):
12556         * libs/gst/controller/lib.c: (gst_controller_init):
12557         * pkgconfig/Makefile.am:
12558         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12559         * pkgconfig/gstreamer-control.pc.in:
12560         * testsuite/Makefile.am:
12561         * testsuite/controller/.cvsignore:
12562         * testsuite/controller/Makefile.am:
12563         * testsuite/controller/interpolator.c: (main):
12564           added controller code
12565           removed dparam pc files
12566
12567 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12568         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12569         (gst_collectpads_stop):
12570           Broadcast the condition when shutting down, to make sure we wake all
12571           threads up. Shut down pads on finalize, for safety.
12572
12573 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12574         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12575         (gst_base_transform_handle_buffer),
12576         (gst_base_transform_change_state):
12577           Handle PAUSED->READY->PAUSED transition after negotiation
12578           occurred already.
12579         * gst/gstmessage.c: (gst_message_init):
12580           Extra piece of debug for new messages.
12581
12582 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12583
12584         * configure.ac:
12585         * docs/gst/tmpl/gstbasesrc.sgml:
12586         * docs/gst/tmpl/gstelement.sgml:
12587         * docs/gst/tmpl/gstevent.sgml:
12588         * docs/gst/tmpl/gstfakesrc.sgml:
12589         * docs/gst/tmpl/gstformat.sgml:
12590         * docs/gst/tmpl/gstghostpad.sgml:
12591         * docs/gst/tmpl/gstpad.sgml:
12592         * docs/gst/tmpl/gstquery.sgml:
12593         * docs/gst/tmpl/gststructure.sgml:
12594         * docs/gst/tmpl/gsttaglist.sgml:
12595         * docs/gst/tmpl/gstvalue.sgml:
12596         * docs/libs/gstreamer-libs-docs.sgml:
12597         * docs/libs/gstreamer-libs-sections.txt:
12598         * docs/libs/gstreamer-libs.types:
12599         * libs/gst/Makefile.am:
12600         * libs/gst/control/.cvsignore:
12601         * libs/gst/control/Makefile.am:
12602         * libs/gst/control/control.c:
12603         * libs/gst/control/control.h:
12604         * libs/gst/control/dparam.c:
12605         * libs/gst/control/dparam.h:
12606         * libs/gst/control/dparam_smooth.c:
12607         * libs/gst/control/dparam_smooth.h:
12608         * libs/gst/control/dparamcommon.h:
12609         * libs/gst/control/dparammanager.c:
12610         * libs/gst/control/dparammanager.h:
12611         * libs/gst/control/dplinearinterp.c:
12612         * libs/gst/control/dplinearinterp.h:
12613         * libs/gst/control/unitconvert.c:
12614         * libs/gst/control/unitconvert.h:
12615         * testsuite/Makefile.am:
12616         * testsuite/dynparams/.cvsignore:
12617         * testsuite/dynparams/Makefile.am:
12618         * testsuite/dynparams/dparamstest.c:
12619         * tools/Makefile.am:
12620         * tools/gst-inspect.c: (print_element_info), (main):
12621         * tools/gst-xmlinspect.c: (print_element_info), (main):
12622           deactivate and remove dparams (libgstcontrol)
12623
12624 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12625
12626         * gst/elements/gsttypefindelement.c:
12627         (gst_type_find_element_have_type), (gst_type_find_element_init),
12628         (stop_typefinding), (gst_type_find_element_handle_event),
12629         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12630         * gst/elements/gsttypefindelement.h:
12631           Set caps on all outgoing buffers, not just the first one.
12632
12633 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12634
12635         * gst/elements/gsttypefindelement.c:
12636         (gst_type_find_element_have_type),
12637         (gst_type_find_element_check_set_buffer_caps),
12638         (gst_type_find_element_init), (stop_typefinding),
12639         (gst_type_find_element_handle_event),
12640         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12641         * gst/elements/gsttypefindelement.h:
12642           Set caps on first outgoing buffer when we've found the type.
12643
12644 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12645
12646         * docs/gst/gstreamer-docs.sgml:
12647         * docs/gst/gstreamer-sections.txt:
12648         * docs/gst/tmpl/gstscheduler.sgml:
12649         * docs/gst/tmpl/gstschedulerfactory.sgml:
12650           Remove some old cruft from docs.
12651
12652 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12653
12654         * gst/gstpad.h:
12655           Fix inline docs for GstPadLinkReturn.
12656           
12657         * gst/gststructure.c: (gst_structure_has_name):
12658         * gst/gststructure.h:
12659         * docs/gst/gstreamer-sections.txt:
12660           New API: gst_structure_has_name().
12661
12662 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12663
12664         * configure.ac:
12665           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12666           and _LARGEFILE_SOURCE in config.h as required. Do not 
12667           export those flags in our .pc files any longer (#142209).
12668
12669           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12670
12671         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12672         (gst_file_sink_do_seek), (gst_file_sink_event),
12673         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12674           Redo seek/tell calls with large file support in mind; add some
12675           debugging messages; add log message that tells us when large
12676           file support is unavailable or not enabled for some reason.
12677
12678         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12679           Add log message that tells us when large file support 
12680           is unavailable or not enabled for some reason.
12681
12682 2005-07-29  Wim Taymans  <wim@fluendo.com>
12683
12684         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12685         Added test for removing an element with ghostpad from a bin.
12686         Fixed test as current implementation does the right thing.
12687
12688         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12689         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12690         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12691         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12692         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12693         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12694         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12695         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12696         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12697         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12698         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12699         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12700         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12701         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12702         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12703         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12704         * gst/gstghostpad.h:
12705         Clean up ghostpads, remove properties for internal stuff.
12706         Make threadsafe.
12707         Fix refcounting.
12708         Prepare for switching targets, not all use cases work yet.
12709
12710 2005-07-29  Wim Taymans  <wim@fluendo.com>
12711
12712         * docs/design/part-gstghostpad.txt:
12713         Small update.
12714
12715         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12716         (gst_bin_remove_func):
12717         Unlinking pads while holding the bin LOCK is not a good
12718         idea.
12719
12720         * gst/gstpad.c: (gst_pad_class_init),
12721         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12722         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12723         No prob setting template after creating the pad.
12724
12725 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12726
12727         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12728         (gst_bus_peek), (gst_bus_source_dispatch),
12729         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12730         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12731           gst_bus_poll may be called from other threads. Handle
12732           this nicely by not making poll_data disappear off the
12733           stack once gst_bus_poll returns.
12734           gst_bus_peek now increments the refcount on the returned
12735           message.
12736
12737 2005-07-29  Wim Taymans  <wim@fluendo.com>
12738
12739         * docs/design/part-gstghostpad.txt:
12740         Overview of current GhostPad datastructures and use
12741         cases for changing the target.
12742
12743 2005-07-28  Wim Taymans  <wim@fluendo.com>
12744
12745         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12746         Added checks for hierarchy consistency whan adding linked
12747         elements to bins.
12748
12749         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12750         Added check to test element scheduling without bin/pipeline.
12751
12752         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12753         First add elements to bin, then link.
12754         
12755         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12756         (gst_bin_remove_func):
12757         Unlink pads from elements added/removed from bin to maintain
12758         hierarchy consistency.
12759
12760 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12761
12762         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12763         (gst_base_transform_handle_buffer):
12764         * gst/base/gstbasetransform.h:
12765           Remove broken delay_configure (fixes renegotiation of software
12766           scaling pipelines); remove some leftover printf()s.
12767
12768 2005-07-28  Wim Taymans  <wim@fluendo.com>
12769
12770         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12771         Added some more tests for wrong hierarchy
12772
12773         * docs/design/part-overview.txt:
12774         Some updates.
12775
12776         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12777         Cleanups.
12778
12779         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12780         (gst_element_dispose):
12781         Some more cleanups.
12782
12783         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12784         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12785         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12786         (gst_pad_set_caps), (gst_pad_send_event):
12787         Check for correct hierarchy when linking pads. Moving to
12788         strict requirement for ghostpads when linking elements in
12789         different bins.
12790
12791         * gst/gstpad.h:
12792         Clean ups. Added WRONG_HIERARCHY return value.
12793
12794 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12795
12796         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12797           Better debug if no transform is possible.
12798
12799 2005-07-27  Wim Taymans  <wim@fluendo.com>
12800
12801         * docs/random/wtay/network-transp:
12802         Some old doc I had.
12803
12804 2005-07-27  Wim Taymans  <wim@fluendo.com>
12805
12806         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12807         (gst_dp_event_from_packet):
12808         Fix serialization of seek events.
12809
12810 2005-07-27  Wim Taymans  <wim@fluendo.com>
12811
12812         * check/gst-libs/gdp.c: (GST_START_TEST):
12813         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12814         Fix compilation and fix event serialization.
12815
12816 2005-07-27  Wim Taymans  <wim@fluendo.com>
12817
12818         * CHANGES-0.9:
12819         * docs/design/part-TODO.txt:
12820         * docs/design/part-events.txt:
12821         Some docs updates
12822
12823         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12824         (gst_base_sink_event), (gst_base_sink_do_sync),
12825         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12826         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12827         (gst_base_src_do_seek), (gst_base_src_event_handler),
12828         (gst_base_src_loop):
12829         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12830         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12831         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12832         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12833         (gst_base_transform_set_passthrough),
12834         (gst_base_transform_is_passthrough):
12835         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12836         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12837         Event updates.
12838
12839         * gst/gstbuffer.h:
12840         Use faster casts.
12841
12842         * gst/gstelement.c: (gst_element_seek):
12843         * gst/gstelement.h:
12844         Update gst_element_seek.
12845
12846         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12847         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12848         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12849         (gst_event_new_eos), (gst_event_new_newsegment),
12850         (gst_event_parse_newsegment), (gst_event_new_tag),
12851         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12852         (gst_event_parse_qos), (gst_event_new_seek),
12853         (gst_event_parse_seek), (gst_event_new_navigation):
12854         * gst/gstevent.h:
12855         Make GstEvent use GstStructure. Add parsing code, make sure the
12856         API is sufficiently generic.
12857         Mark possible directions of events and serialization.
12858
12859         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12860         (_gst_message_copy), (gst_message_new_segment_start),
12861         (gst_message_new_segment_done), (gst_message_new_custom),
12862         (gst_message_parse_segment_start),
12863         (gst_message_parse_segment_done):
12864         Small cleanups.
12865
12866         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12867         (gst_pad_set_caps), (gst_pad_send_event):
12868         Update for new events. 
12869         Catch events sent in wrong directions.
12870
12871         * gst/gstqueue.c: (gst_queue_link_src),
12872         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12873         (gst_queue_handle_src_query):
12874         Event updates.
12875
12876         * gst/gsttag.c:
12877         * gst/gsttag.h:
12878         Remove event code from this file.
12879
12880         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12881         (gst_dp_event_from_packet):
12882         Event updates.
12883
12884 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12885
12886         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12887         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12888         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12889           Make debugging actually useful.
12890
12891 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12892
12893         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
12894         (gst_pad_fixate_caps):
12895           Implement default fixation once again, so that gst_pad_fixate()
12896           actually does anything at all. This probably needs to be some
12897           sort of a last resort, and use profile-based fixation first, but
12898           since that doesn't exist yet, this is the best we have. Fixes
12899           visualization in Totem.
12900
12901 2005-07-22  Wim Taymans  <wim@fluendo.com>
12902
12903         * docs/design/part-events.txt:
12904         Small update.
12905
12906         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12907         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
12908         (gst_base_sink_activate_pull):
12909         Some more comments.
12910
12911         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
12912         (gst_fake_src_create):
12913         Fix handoff marshall.
12914
12915         * gst/elements/gstidentity.c: (gst_identity_class_init),
12916         (gst_identity_transform_ip):
12917         We're a real inplace element.
12918
12919         * gst/gstbus.c: (gst_bus_post):
12920         Added some comments.
12921
12922         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
12923         * tests/muxing/case1.c: (main):
12924         * tests/sched/dynamic-pipeline.c: (main):
12925         * tests/sched/interrupt1.c: (main):
12926         * tests/sched/interrupt2.c: (main):
12927         * tests/sched/interrupt3.c: (main):
12928         * tests/sched/runxml.c: (main):
12929         * tests/sched/sched-stress.c: (main):
12930         * tests/seeking/seeking1.c: (event_received), (main):
12931         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12932         (main):
12933         * tests/threadstate/threadstate3.c: (main):
12934         * tests/threadstate/threadstate4.c: (main):
12935         * tests/threadstate/threadstate5.c: (main):
12936         Fix the tests.
12937
12938 2005-07-21  Wim Taymans  <wim@fluendo.com>
12939
12940         * docs/design/part-seeking.txt:
12941         Some small additions.
12942
12943         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12944         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12945         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12946         * gst/base/gstbasesink.h:
12947         discont values are gint64, handle the math correctly.
12948
12949         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12950         Make the basesrc report error if the source pad is not linked.
12951
12952         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
12953         (gst_queue_loop), (gst_queue_handle_src_query),
12954         (gst_queue_src_activate_push):
12955         Make queue collect data even if the srcpad is not linked.
12956         Start pushing out data as soon as it is linked.
12957
12958         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
12959         * gst/gstutils.h:
12960         Added gst_flow_get_name() to ease error reporting.
12961
12962 2005-07-20  Wim Taymans  <wim@fluendo.com>
12963
12964         * gst/gstmessage.c: (gst_message_new_segment_start),
12965         (gst_message_new_segment_done), (gst_message_parse_segment_start),
12966         (gst_message_parse_segment_done):
12967         * gst/gstmessage.h:
12968         Added a bunch of messages for advanced seeking.
12969
12970         * gst/parse/grammar.y:
12971         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
12972         (gst_dpman_state_changed):
12973         Fix some new-pad -> pad-added signals
12974
12975 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12976
12977         * docs/manual/appendix-porting.xml:
12978         * docs/pwg/appendix-porting.xml:
12979           Document new-pad/state-change signal renames and the FixedList
12980           type rename.
12981
12982 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12983
12984         * docs/manual/advanced-autoplugging.xml:
12985         * docs/manual/basics-helloworld.xml:
12986         * docs/manual/basics-pads.xml:
12987         * docs/random/ds/0.9-suggested-changes:
12988         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
12989         * gst/gstelement.h:
12990         * gst/gstevent.h:
12991         * gst/gstformat.h:
12992         * gst/gstquery.h:
12993         * gst/gststructure.c: (gst_structure_value_get_generic_type),
12994         (gst_structure_parse_array), (gst_structure_parse_value):
12995         * gst/gstvalue.c: (gst_type_is_fixed),
12996         (gst_value_list_prepend_value), (gst_value_list_append_value),
12997         (gst_value_list_get_size), (gst_value_list_get_value),
12998         (gst_value_transform_array_string), (gst_value_serialize_array),
12999         (gst_value_deserialize_array), (gst_value_intersect_array),
13000         (gst_value_is_fixed), (_gst_value_initialize):
13001         * gst/gstvalue.h:
13002           GstElement::new-pad -> pad-added, GstElement::state-change ->
13003           state-changed, GstValueFixedList -> GstValueArray, add format and
13004           flags as their own arguments in gst_element_seek() (should improve
13005           "bindeability"), remove function generators since they don't work
13006           under a whole bunch of compilers (they were deprecated already
13007           anyway).
13008
13009 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13010
13011         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13012         (_gst_debug_register_funcptr):
13013         * gst/gstinfo.h:
13014           Fix illegal cast on some platforms (#309253).
13015
13016 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13017
13018         * gst/gstmessage.c: (gst_message_new_custom):
13019         * gst/gstmessage.h:
13020           Add _new_custom, make _new_application a macro to _new_custom.
13021
13022 2005-07-20  Wim Taymans  <wim@fluendo.com>
13023
13024         * gst/base/gstbasesrc.c: (gst_base_src_init),
13025         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13026         * gst/base/gstbasesrc.h:
13027         Add a gboolean to decide when to push out a discont.
13028
13029         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13030         (gst_queue_loop), (gst_queue_handle_src_query),
13031         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13032         (gst_queue_set_property), (gst_queue_get_property):
13033         Some cleanups.
13034
13035         * tests/threadstate/threadstate1.c: (main):
13036         Make a thread test compile and run... very silly..
13037
13038
13039 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13040
13041         * docs/manual/appendix-porting.xml:
13042           Mention removal of libgstgconf-0.9.la and existence of gconf
13043           elements.
13044
13045 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13046
13047         * docs/pwg/advanced-clock.xml:
13048         * docs/pwg/appendix-porting.xml:
13049         * docs/pwg/intro-preface.xml:
13050         * docs/pwg/other-base.xml:
13051         * docs/pwg/other-manager.xml:
13052         * docs/pwg/other-nton.xml:
13053         * docs/pwg/other-ntoone.xml:
13054         * docs/pwg/other-oneton.xml:
13055         * docs/pwg/pwg.xml:
13056           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13057           demuxer), remove n-to-n (was never written), fix some code examples
13058           and links and update the porting section to include all this.
13059
13060 2005-07-19  Wim Taymans  <wim@fluendo.com>
13061
13062         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13063         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13064         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13065         (gst_queue_src_activate_push), (gst_queue_change_state),
13066         (gst_queue_get_property):
13067         * gst/gstqueue.h:
13068         Propagate GstFlowReturn more intelligently upstream and output
13069         an ERROR/EOS when streaming stopped due to fatal error.
13070
13071 2005-07-19  Wim Taymans  <wim@fluendo.com>
13072
13073         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13074         Don't block forever for the state change to complete, the
13075         pipeline already did with a sensible timeout.
13076
13077 2005-07-19  Wim Taymans  <wim@fluendo.com>
13078
13079         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13080         Make sure we never call the create function is we
13081         got deactivated.
13082
13083 2005-07-19  Andy Wingo  <wingo@pobox.com>
13084
13085         * gst/parse/parse.l: Attempt to solve bug #172815.
13086
13087 2005-07-19  Wim Taymans  <wim@fluendo.com>
13088
13089         * docs/design/part-clocks.txt:
13090         * docs/design/part-events.txt:
13091         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13092         Small docs updates.
13093         Only update the seeking values when we are not
13094         busy streaming.
13095
13096 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13097
13098         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13099           Oops, ignore the result of gst_pad_push_event here.
13100
13101 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13102
13103         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13104         (gst_base_src_activate_push):
13105           Send discont event from the loop function, as pads
13106           aren't activated yet in the activate_push handler.
13107
13108         * gst/gstbin.c: (bin_bus_handler):
13109           Don't leak element name.
13110
13111 2005-07-18  Andy Wingo  <wingo@pobox.com>
13112
13113         * configure.ac: Use AS_LIBTOOL_TAGS.
13114
13115 2005-07-18  Wim Taymans  <wim@fluendo.com>
13116
13117         * docs/gst/gstreamer.types:
13118         Remove deleted types.
13119
13120 2005-07-18  Wim Taymans  <wim@fluendo.com>
13121
13122         * check/elements/gstfakesrc.c: (GST_START_TEST):
13123         * configure.ac:
13124         * gst/Makefile.am:
13125         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13126         (init_popt_callback):
13127         * gst/gst.h:
13128         * gst/gst_private.h:
13129         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13130         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13131         * gst/gstbin.h:
13132         * gst/gstbus.h:
13133         * gst/gstconfig.h.in:
13134         * gst/gstelement.c: (gst_element_class_init),
13135         (gst_element_set_base_time), (gst_element_get_base_time),
13136         (iterator_fold_with_resync), (gst_element_change_state),
13137         (gst_element_dispose), (gst_element_get_bus):
13138         * gst/gstelement.h:
13139         * gst/gstelementfactory.h:
13140         * gst/gsterror.c: (_gst_core_errors_init):
13141         * gst/gsterror.h:
13142         * gst/gstevent.h:
13143         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13144         * gst/gstindex.c:
13145         * gst/gstinfo.c: (_gst_debug_init):
13146         * gst/gstmessage.c: (_gst_message_copy):
13147         * gst/gstmessage.h:
13148         * gst/gstminiobject.h:
13149         * gst/gstobject.c:
13150         * gst/gstobject.h:
13151         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13152         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13153         * gst/gstpad.h:
13154         * gst/gstparse.h:
13155         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13156         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13157         (gst_pipeline_get_last_stream_time):
13158         * gst/gstpipeline.h:
13159         * gst/gstpluginfeature.h:
13160         * gst/gstquery.h:
13161         * gst/gstscheduler.c:
13162         * gst/gstscheduler.h:
13163         * gst/gststructure.h:
13164         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13165         (gst_task_finalize), (gst_task_func), (gst_task_create),
13166         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13167         (gst_task_stop), (gst_task_pause):
13168         * gst/gsttask.h:
13169         * gst/gsttypefind.h:
13170         * gst/gsttypes.h:
13171         * gst/registries/gstlibxmlregistry.c: (load_feature),
13172         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13173         * gst/registries/gstxmlregistry.c:
13174         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13175         * gst/schedulers/threadscheduler.c:
13176         * libs/gst/control/dparammanager.h:
13177         * tools/gst-inspect.c: (print_element_list),
13178         (print_plugin_features), (print_element_features):
13179         * tools/gst-xmlinspect.c: (print_element_list),
13180         (print_plugin_info), (main):
13181         Removed plugable schedulers.
13182         Removed Scheduler/Manager from elements.
13183         Removed gsttypes.h, rearranged includes.
13184         Removed dependency pad<->element, element<>pipeline, and
13185         various others,  fix includes.
13186         implement gst_pad_get_parent() with gst_object_get_parent()
13187         Make GstTask sefcontained.
13188         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13189         timeout.
13190         Fix endless loop in iterator_fold_with_resync.
13191
13192
13193 2005-07-18  Wim Taymans  <wim@fluendo.com>
13194
13195         * gst/Makefile.am:
13196         * gst/gstarch.h:
13197         Remove old file.
13198
13199 2005-07-18  Wim Taymans  <wim@fluendo.com>
13200
13201         * gst/Makefile.am:
13202         No more cothreads.h
13203
13204 2005-07-18  Wim Taymans  <wim@fluendo.com>
13205
13206         * gst/cothreads.c:
13207         * gst/cothreads.h:
13208         Let's remove these.
13209
13210 2005-07-18  Wim Taymans  <wim@fluendo.com>
13211
13212         * docs/design/part-dynamic.txt:
13213         * docs/design/part-events.txt:
13214         * docs/design/part-seeking.txt:
13215         Some more docs in the works.
13216
13217         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13218         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13219         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13220         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13221         (gst_base_transform_handle_buffer),
13222         (gst_base_transform_sink_activate_push),
13223         (gst_base_transform_src_activate_pull),
13224         (gst_base_transform_set_passthrough),
13225         (gst_base_transform_is_passthrough):
13226         Refcounting fixes.
13227
13228         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13229         Cleanups.
13230
13231         * gst/gstevent.c: (gst_event_finalize):
13232         Set SRC to NULL.
13233
13234         * gst/gstutils.c: (gst_element_unlink),
13235         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13236         (gst_pad_proxy_setcaps):
13237         * gst/gstutils.h:
13238         Add _get_parent_element() to get a pads parent as an element.
13239
13240 2005-07-18  Wim Taymans  <wim@fluendo.com>
13241
13242         * check/gst/gstbin.c: (GST_START_TEST):
13243         Remove bogus test.
13244
13245 2005-07-18  Wim Taymans  <wim@fluendo.com>
13246
13247         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13248         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13249         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13250         (gst_base_sink_event), (gst_base_sink_do_sync),
13251         (gst_base_sink_chain), (gst_base_sink_loop),
13252         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13253         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13254         Refcounting fixes.
13255         Fix logic for returning ASYNC when not prerolled.
13256
13257 2005-07-18  Wim Taymans  <wim@fluendo.com>
13258
13259         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13260         Fix nasty refcount bug.
13261
13262 2005-07-16 Philippe Khalaf <burger@speedy.org>
13263
13264         * gst/elements/gstfdsrc.c:
13265         * gst/elements/gstfdsrc.h:
13266         * gst/elements/gstelements.c:
13267         * gst/elements/Makefile.am:
13268         Ported fdsrc to 0.9.
13269
13270 2005-07-16  Wim Taymans  <wim@fluendo.com>
13271
13272         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13273         (gst_base_sink_do_sync):
13274         Fix compile error.
13275
13276 2005-07-16  Wim Taymans  <wim@fluendo.com>
13277
13278         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13279         (gst_base_sink_event), (gst_base_sink_get_times),
13280         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13281         * gst/base/gstbasesink.h:
13282         Store and use discont values when syncing buffers as described
13283         in design docs.
13284         
13285         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13286         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13287         (gst_base_src_activate_push):
13288         Push discont event when starting.
13289
13290         * gst/elements/gstidentity.c: (gst_identity_transform):
13291         Small cleanups.
13292
13293         * gst/gstbin.c: (gst_bin_change_state):
13294         Small cleanups in base_time  distribution.
13295
13296         * gst/gstelement.c: (gst_element_set_base_time),
13297         (gst_element_get_base_time), (gst_element_change_state):
13298         * gst/gstelement.h:
13299         Added methods for the base_time of the element.
13300         Some MT fixes.
13301
13302         * gst/gstpipeline.c: (gst_pipeline_send_event),
13303         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13304         (gst_pipeline_get_last_stream_time):
13305         * gst/gstpipeline.h:
13306         MT fixes.
13307         Handle seeking as described in design doc, remove stream_time
13308         hack.
13309         Cleanups clock and stream_time selection code. Added accessors
13310         for the stream_time.
13311         
13312
13313 2005-07-16  Andy Wingo  <wingo@pobox.com>
13314
13315         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13316         (#305291).
13317
13318 2005-07-16  Wim Taymans  <wim@fluendo.com>
13319
13320         * check/gst/gstbin.c: (GST_START_TEST):
13321         Make elements silent as the deep_notify refs the
13322         parent, which might make the test fail.
13323
13324         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13325         Don't hold the lock for too long.
13326
13327 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13328
13329         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13330           Don't unref the caps we passed to gst_caps_make_writable() after
13331           passing them. gst_caps_make_writable() will do that for us.
13332
13333 2005-07-15  Andy Wingo  <wingo@pobox.com>
13334
13335         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13336         (#157311).
13337
13338         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13339         own marshalling function for the handoff signal. Properly type the
13340         buffer as a buffer. Fixes some warnings. Should do a more general
13341         solution.
13342         (gst_identity_class_init): Plug into the right marshaller.
13343
13344 2005-07-15  Wim Taymans  <wim@fluendo.com>
13345
13346         * docs/design/part-TODO.txt:
13347         * docs/design/part-clocks.txt:
13348         * docs/design/part-element-sink.txt:
13349         * docs/design/part-events.txt:
13350         * docs/design/part-gstpipeline.txt:
13351         Updated docs, mostly DISCONT related.
13352
13353 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13354
13355         * docs/pwg/building-pads.xml:
13356           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13357
13358 2005-07-15  Andy Wingo  <wingo@pobox.com>
13359
13360         * tools/gst-typefind.c: Update, add copyright block.
13361
13362         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13363         Normalize and truncate caps before fixation.
13364
13365         * gst/gstcaps.h:
13366         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13367         discards all but the first structure from its argument.
13368
13369 2005-07-15  Wim Taymans  <wim@fluendo.com>
13370
13371         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13372         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13373         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13374         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13375         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13376         (gst_base_transform_chain), (gst_base_transform_change_state),
13377         (gst_base_transform_set_passthrough),
13378         (gst_base_transform_is_passthrough):
13379         * gst/base/gstbasetransform.h:
13380         Make passthrough work using the bufferpools.
13381         Changed API a bit, subclasses have to write into a buffer
13382         provided by the base class.
13383         More debug info in nego functions.
13384         
13385         * gst/elements/gstidentity.c: (gst_identity_init),
13386         (gst_identity_transform):
13387         Port to new base class.
13388
13389 2005-07-15  Wim Taymans  <wim@fluendo.com>
13390
13391         * gst/gstmessage.c: (gst_message_new_state_changed):
13392         * tools/gst-launch.c: (event_loop), (main):
13393         Totally dump messages in -launch with the -m option.
13394         Fix message name for State messages,
13395
13396 2005-07-14  Wim Taymans  <wim@fluendo.com>
13397
13398         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13399         Post error messages on errors.
13400
13401 2005-07-14  Wim Taymans  <wim@fluendo.com>
13402
13403         * gst/gstcaps.c: (gst_caps_do_simplify):
13404         Remove debug info.
13405
13406         * gst/gsterror.h:
13407         Define error for stream stopped.
13408
13409         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13410         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13411         Do proper return values.
13412
13413         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13414         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13415         (gst_pad_get_range):
13416         Better return values.
13417
13418         * gst/gstpad.h:
13419         Reorganise return values, add macro to check for fatal errors.
13420
13421         * gst/gstqueue.c: (gst_queue_chain):
13422         Return proper GstFlowReturn values,
13423
13424 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13425
13426         * docs/gst/gstreamer-sections.txt:
13427         * docs/gst/gstreamer.types:
13428         * docs/gst/tmpl/gst.sgml:
13429         * docs/gst/tmpl/gstbasesink.sgml:
13430         * docs/gst/tmpl/gstbasesrc.sgml:
13431         * docs/gst/tmpl/gstbasetransform.sgml:
13432         * docs/gst/tmpl/gstbin.sgml:
13433         * docs/gst/tmpl/gstbuffer.sgml:
13434         * docs/gst/tmpl/gstcaps.sgml:
13435         * docs/gst/tmpl/gstclock.sgml:
13436         * docs/gst/tmpl/gstcompat.sgml:
13437         * docs/gst/tmpl/gstconfig.sgml:
13438         * docs/gst/tmpl/gstelement.sgml:
13439         * docs/gst/tmpl/gstelementdetails.sgml:
13440         * docs/gst/tmpl/gstelementfactory.sgml:
13441         * docs/gst/tmpl/gstenumtypes.sgml:
13442         * docs/gst/tmpl/gsterror.sgml:
13443         * docs/gst/tmpl/gstevent.sgml:
13444         * docs/gst/tmpl/gstfakesink.sgml:
13445         * docs/gst/tmpl/gstfakesrc.sgml:
13446         * docs/gst/tmpl/gstfilesink.sgml:
13447         * docs/gst/tmpl/gstfilesrc.sgml:
13448         * docs/gst/tmpl/gstfilter.sgml:
13449         * docs/gst/tmpl/gstformat.sgml:
13450         * docs/gst/tmpl/gstghostpad.sgml:
13451         * docs/gst/tmpl/gstimplementsinterface.sgml:
13452         * docs/gst/tmpl/gstindex.sgml:
13453         * docs/gst/tmpl/gstindexfactory.sgml:
13454         * docs/gst/tmpl/gstinfo.sgml:
13455         * docs/gst/tmpl/gstiterator.sgml:
13456         * docs/gst/tmpl/gstmacros.sgml:
13457         * docs/gst/tmpl/gstmemchunk.sgml:
13458         * docs/gst/tmpl/gstminiobject.sgml:
13459         * docs/gst/tmpl/gstobject.sgml:
13460         * docs/gst/tmpl/gstpad.sgml:
13461         * docs/gst/tmpl/gstpadtemplate.sgml:
13462         * docs/gst/tmpl/gstparse.sgml:
13463         * docs/gst/tmpl/gstpipeline.sgml:
13464         * docs/gst/tmpl/gstplugin.sgml:
13465         * docs/gst/tmpl/gstpluginfeature.sgml:
13466         * docs/gst/tmpl/gstquery.sgml:
13467         * docs/gst/tmpl/gstqueue.sgml:
13468         * docs/gst/tmpl/gstregistry.sgml:
13469         * docs/gst/tmpl/gstregistrypool.sgml:
13470         * docs/gst/tmpl/gstscheduler.sgml:
13471         * docs/gst/tmpl/gstschedulerfactory.sgml:
13472         * docs/gst/tmpl/gststructure.sgml:
13473         * docs/gst/tmpl/gstsystemclock.sgml:
13474         * docs/gst/tmpl/gsttaglist.sgml:
13475         * docs/gst/tmpl/gsttagsetter.sgml:
13476         * docs/gst/tmpl/gsttrace.sgml:
13477         * docs/gst/tmpl/gsttrashstack.sgml:
13478         * docs/gst/tmpl/gsttypefind.sgml:
13479         * docs/gst/tmpl/gsttypefindfactory.sgml:
13480         * docs/gst/tmpl/gsttypes.sgml:
13481         * docs/gst/tmpl/gsturihandler.sgml:
13482         * docs/gst/tmpl/gsturitype.sgml:
13483         * docs/gst/tmpl/gstutils.sgml:
13484         * docs/gst/tmpl/gstvalue.sgml:
13485         * docs/gst/tmpl/gstversion.sgml:
13486         * docs/gst/tmpl/gstxml.sgml:
13487         * docs/libs/tmpl/gstcontrol.sgml:
13488         * docs/libs/tmpl/gstdataprotocol.sgml:
13489         * docs/libs/tmpl/gstdparam.sgml:
13490         * docs/libs/tmpl/gstdplinint.sgml:
13491         * docs/libs/tmpl/gstdpman.sgml:
13492         * docs/libs/tmpl/gstdpsmooth.sgml:
13493         * docs/libs/tmpl/gstgetbits.sgml:
13494         * docs/libs/tmpl/gstunitconvert.sgml:
13495         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13496         (gst_push_src_base_init), (gst_push_src_class_init),
13497         (gst_push_src_init), (gst_push_src_create):
13498         * gst/base/gstpushsrc.h:
13499         * gst/elements/gstelements.c:
13500         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13501         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13502         (gst_fake_sink_init), (gst_fake_sink_set_property),
13503         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13504         (gst_fake_sink_event), (gst_fake_sink_preroll),
13505         (gst_fake_sink_render), (gst_fake_sink_change_state):
13506         * gst/elements/gstfakesink.h:
13507         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13508         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13509         (gst_fake_src_base_init), (gst_fake_src_class_init),
13510         (gst_fake_src_init), (gst_fake_src_event_handler),
13511         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13512         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13513         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13514         (gst_fake_src_create_buffer), (gst_fake_src_create),
13515         (gst_fake_src_start), (gst_fake_src_stop):
13516         * gst/elements/gstfakesrc.h:
13517         * gst/elements/gstfilesink.c: (_do_init),
13518         (gst_file_sink_base_init), (gst_file_sink_class_init),
13519         (gst_file_sink_init), (gst_file_sink_dispose),
13520         (gst_file_sink_set_location), (gst_file_sink_set_property),
13521         (gst_file_sink_get_property), (gst_file_sink_open_file),
13522         (gst_file_sink_close_file), (gst_file_sink_query),
13523         (gst_file_sink_event), (gst_file_sink_render),
13524         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13525         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13526         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13527         * gst/elements/gstfilesink.h:
13528         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13529         (gst_file_src_class_init), (gst_file_src_init),
13530         (gst_file_src_finalize), (gst_file_src_set_location),
13531         (gst_file_src_set_property), (gst_file_src_get_property),
13532         (gst_file_src_map_region), (gst_file_src_map_small_region),
13533         (gst_file_src_create_mmap), (gst_file_src_create_read),
13534         (gst_file_src_create), (gst_file_src_is_seekable),
13535         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13536         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13537         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13538         (gst_file_src_uri_handler_init):
13539         * gst/elements/gstfilesrc.h:
13540           more autistic cleanliness in functions/names/defines
13541
13542 2005-07-13  Andy Wingo  <wingo@pobox.com>
13543
13544         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13545         source couldn't negotiate.
13546
13547         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13548         connections again.
13549
13550         * gst/gstutils.h:
13551         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13552         function. I am channeling Hades. Put your boots on suckers!!!
13553
13554 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13555
13556         * testsuite/caps/Makefile.am:
13557         * testsuite/caps/value_compare.c:
13558         * testsuite/caps/value_intersect.c:
13559         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13560           move two testsuite apps over to the check dir
13561
13562 2005-07-12  Wim Taymans  <wim@fluendo.com>
13563
13564         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13565         Added more debug info in the negotiate process.
13566
13567         * gst/gstmessage.h:
13568         Prepare for segment playback.
13569
13570         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13571         Better debugging.
13572
13573         * gst/gstutils.c:
13574         Some more docs.
13575
13576         * tools/gst-launch.c: (main):
13577         NULL pipeline on errors.
13578
13579 2005-07-12  Andy Wingo  <wingo@pobox.com>
13580
13581         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13582         not it comes from a malloc region. Make sure our copy gets freed.
13583
13584 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13585
13586         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13587         * check/gst/gstmessage.c: (GST_START_TEST):
13588         * check/gst/gststructure.c: (GST_START_TEST),
13589         (gst_structure_suite), (main):
13590           more testing
13591         * gst/gstelement.c: (gst_element_message_full):
13592           clean up GError and debug string now that they get copied
13593         * gst/gstmessage.c: (gst_message_new_error),
13594         (gst_message_new_warning), (gst_message_parse_error),
13595         (gst_message_parse_warning):
13596           use GST_TYPE_G_ERROR for structure_new, and take copies of
13597           arguments, so that we don't mess up refcounting
13598
13599 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13600
13601         * check/Makefile.am:
13602           add per-test valgrind targets
13603         * check/gst-libs/gdp.c: (GST_START_TEST),
13604         (gst_data_protocol_suite), (main):
13605           clean up
13606
13607 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13608
13609         * check/Makefile.am:
13610           instate more valgrindable tests
13611         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13612         (GST_START_TEST), (fakesrc_suite):
13613         * check/gst/gstpad.c: (GST_START_TEST):
13614         * check/gst/gststructure.c: (GST_START_TEST):
13615           fix test leaks
13616         * docs/gst/tmpl/gstminiobject.sgml:
13617         * gst/gstpad.c: (gst_pad_finalize):
13618           fix the static mutex leak
13619
13620 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13621
13622         * check/Makefile.am:
13623           add two more tests for valgrinding
13624         * check/gst/gstvalue.c: (GST_START_TEST):
13625           test refcount of deserialized buffer, found a leak
13626         * docs/gst/gstreamer-docs.sgml:
13627         * docs/gst/gstreamer-sections.txt:
13628         * docs/gst/gstreamer.types:
13629         * docs/gst/tmpl/gstminiobject.sgml:
13630           add miniobject to docs
13631         * gst/gstminiobject.c:
13632           add some docs
13633         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13634         (gst_string_unwrap):
13635           fix a hard-to-find invalid write for one of the tests
13636           fix a leak for deserialized buffers
13637
13638 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13639
13640         * docs/pwg/advanced-events.xml:
13641         * docs/pwg/advanced-request.xml:
13642         * docs/pwg/advanced-scheduling.xml:
13643         * docs/pwg/appendix-porting.xml:
13644         * docs/pwg/building-boiler.xml:
13645         * docs/pwg/intro-preface.xml:
13646         * docs/pwg/other-ntoone.xml:
13647           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13648           of example code and explanation for pad activation, loop() and
13649           getrange() functions and a bit more. Remove old comments pointing
13650           to loop-functions.
13651         * examples/pwg/Makefile.am:
13652           Add loop/getrange examples.
13653
13654 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13655
13656         * configure.ac:
13657           check for valgrind binary + some fixes
13658         * check/gst.supp:
13659           valgrind suppressions for the tests
13660         * check/Makefile.am:
13661           add a valgrind: target that valgrinds the unit tests
13662         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13663         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13664         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13665         * check/gst/gstghostpad.c:
13666           added some cleanup
13667         * check/gst/gstdata.c:
13668           removed
13669         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13670         (thread_unref), (gst_mini_object_suite), (main):
13671           added
13672         * gst/gst.c: (gst_deinit):
13673         * gst/gst.h:
13674           add a method to clean up.
13675         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13676         (gst_system_clock_obtain):
13677           allow for disposing the system clock.
13678         * tools/gst-launch.c: (main):
13679           deinit
13680
13681 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13682
13683         * docs/gst/tmpl/gstbasesrc.sgml:
13684         * docs/gst/tmpl/gstfakesrc.sgml:
13685         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13686         (gst_base_src_init), (gst_base_src_set_property),
13687         (gst_base_src_get_property), (gst_base_src_get_range),
13688         (gst_base_src_start):
13689         * gst/base/gstbasesrc.h:
13690           add num-buffers property
13691         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13692         (gst_fakesrc_init), (gst_fakesrc_set_property),
13693         (gst_fakesrc_get_property), (gst_fakesrc_create),
13694         (gst_fakesrc_start):
13695           remove num-buffers property
13696
13697 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13698
13699         * docs/gst/gstreamer-sections.txt:
13700         * docs/gst/tmpl/gstbasesink.sgml:
13701         * docs/gst/tmpl/gstbasesrc.sgml:
13702         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13703         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13704         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13705         (gst_base_sink_set_property), (gst_base_sink_get_property),
13706         (gst_base_sink_handle_object), (gst_base_sink_event),
13707         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13708         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13709         (gst_base_sink_loop), (gst_base_sink_deactivate),
13710         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13711         (gst_base_sink_change_state):
13712         * gst/base/gstbasesink.h:
13713         * gst/base/gstbasesrc.h:
13714         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13715         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13716         (gst_filesink_init):
13717           more macro splitting
13718
13719 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13720
13721         * gst/gstelement.c: (gst_element_get_bus):
13722           add debug
13723         * tools/gst-launch.c: (check_intr), (event_loop):
13724           fix bus leaks
13725
13726 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13727
13728         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13729           fix a caps leak
13730
13731 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13732
13733         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13734         (gst_base_src_finalize):
13735           add finalize method and clean up properly
13736         * gst/gstpipeline.c: (gst_pipeline_dispose):
13737           add debug
13738
13739 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13740
13741         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13742         (gst_bin_suite):
13743           add more things to check
13744         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13745         * gst/gstelement.c:
13746           more debug
13747
13748 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13749
13750         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13751         (GST_START_TEST), (fakesrc_suite):
13752         * check/gst-libs/gdp.c: (GST_START_TEST):
13753         * check/gst/gst.c: (GST_START_TEST):
13754         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13755         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13756         * check/gst/gstbus.c: (GST_START_TEST):
13757         * check/gst/gstcaps.c: (GST_START_TEST):
13758         * check/gst/gstdata.c: (GST_START_TEST):
13759         * check/gst/gstelement.c: (GST_START_TEST):
13760         * check/gst/gstghostpad.c: (GST_START_TEST):
13761         * check/gst/gstiterator.c: (GST_START_TEST):
13762         * check/gst/gstmessage.c: (GST_START_TEST):
13763         * check/gst/gstobject.c: (GST_START_TEST):
13764         * check/gst/gstpad.c: (GST_START_TEST):
13765         * check/gst/gststructure.c: (GST_START_TEST):
13766         * check/gst/gstsystemclock.c: (GST_START_TEST),
13767         (gst_systemclock_suite):
13768         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13769         * check/gst/gstvalue.c: (GST_START_TEST):
13770         * check/pipelines/cleanup.c: (GST_START_TEST):
13771         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13772         * check/states/sinks.c: (GST_START_TEST):
13773         * check/gstcheck.c: (gst_check_init):
13774         * check/gstcheck.h:
13775           add debugging category
13776           use GST_START_TEST now, so we add a debug line
13777
13778 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13779
13780         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13781           add test for state change message on a bin
13782         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13783           add another test
13784         * gst/gstbin.c: (gst_bin_init):
13785         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13786         * gst/gstelement.c: (gst_element_post_message),
13787         (gst_element_set_state):
13788         * gst/gstelementfactory.c: (gst_element_factory_create):
13789         * gst/gstmessage.c: (gst_message_new):
13790         * gst/gstscheduler.c:
13791           various debugging additions and cleanups
13792
13793 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13794
13795         * check/Makefile.am:
13796         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
13797         (main):
13798           adding tests for elements
13799         * gst/gstelement.c: (gst_element_dispose):
13800
13801 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13802
13803         * gst/registries/gstlibxmlregistry.c: (load_feature):
13804           plug more leaks.  A simple gst_init() now is leakfree, yay.
13805
13806 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13807
13808         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
13809         (gst_xml_registry_load):
13810           plug another memleak
13811
13812 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13813
13814         * configure.ac:
13815           use GST_SET_ERROR_CFLAGS
13816         * docs/faq/cvs.xml:
13817           change to ERROR_CFLAGS
13818
13819 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13820
13821         * configure.ac:
13822           make GST_ERROR_CFLAGS overridable and re-enable Werror
13823         * docs/faq/cvs.xml:
13824           add a note about error CFLAGS
13825         * docs/gst/tmpl/gstfakesrc.sgml:
13826         * gst/elements/gstfakesrc.c:
13827           comment out some unused code
13828         * gst/gst.c: (split_and_iterate):
13829         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13830         (load_feature):
13831           plug some memleaks
13832
13833 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13834
13835         * common/Makefile.am:
13836         * common/gtk-doc.mak:
13837         * docs/gst/Makefile.am:
13838           factor out gtk-doc.mak
13839
13840 2005-07-07  Wim Taymans  <wim@fluendo.com>
13841
13842         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13843         (gst_thread_scheduler_dispose):
13844         Unlock the STREAM_LOCK completely.
13845
13846 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13847
13848         * check/Makefile.am:
13849         * check/elements/.cvsignore:
13850         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13851         (START_TEST), (fakesrc_suite), (main):
13852         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13853         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13854         (gst_fakesrc_create), (gst_fakesrc_start):
13855         * gst/elements/gstfakesrc.h:
13856           adding a first element test
13857
13858 2005-07-07  Andy Wingo  <wingo@pobox.com>
13859
13860         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13861         debug message.
13862
13863 2005-07-07  Wim Taymans  <wim@fluendo.com>
13864
13865         * gst/gstquery.c:
13866         * gst/gstquery.h:
13867         Remove old types
13868
13869 2005-07-07  Wim Taymans  <wim@fluendo.com>
13870
13871         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13872         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13873         Allow subclasses to implement their own negotiation.
13874
13875 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13876
13877         * docs/design/part-gstbin.txt:
13878         * docs/design/part-gstpipeline.txt:
13879           Update design notes to reflect the movement of
13880           responsibility for bus handling from GstPipeline to
13881           GstBin
13882
13883 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13884
13885         * configure.ac:
13886           Remove unnecessary queue2/3/4 examples.
13887
13888 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13889
13890         * examples/Makefile.am:
13891         * examples/helloworld/helloworld.c: (event_loop), (main):
13892         * examples/queue/queue.c: (event_loop), (main):
13893         * examples/queue2/queue2.c: (main):
13894           Update a couple of the examples to work again.
13895
13896         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13897         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
13898          Spelling corrections and extra debug.
13899         
13900         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
13901         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
13902         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
13903         * gst/gstbin.h:
13904         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13905         (gst_pipeline_change_state):
13906         * gst/gstpipeline.h:
13907           Move the bus handler for children to the GstBin, and create a
13908           separate bus for receiving messages from children to the one the
13909           bus sends 'upwards' on.
13910
13911 2005-07-06  Wim Taymans  <wim@fluendo.com>
13912
13913         * gst/base/README:
13914         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13915         (gst_base_sink_handle_object), (gst_base_sink_loop),
13916         (gst_base_sink_change_state):
13917         * gst/base/gstbasesink.h:
13918         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13919         (gst_base_src_init), (gst_base_src_setcaps),
13920         (gst_base_src_getcaps), (gst_base_src_loop),
13921         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
13922         (gst_base_src_start), (gst_base_src_change_state):
13923         * gst/base/gstbasesrc.h:
13924         Make basesrc negotiate.
13925         Handle the case where preroll fails in basesink.
13926         Update README.
13927
13928 2005-07-06  Wim Taymans  <wim@fluendo.com>
13929
13930         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
13931         Implement the fixate function.
13932         Clean up acceptcaps.
13933
13934 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13935
13936         * docs/pwg/building-filterfactory.xml:
13937         * docs/pwg/pwg.xml:
13938           Remove never-written filter-factory chapter; I'll add the various
13939           base classes to part 4 ("other element types") later on.
13940
13941 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13942
13943         * docs/pwg/advanced-negotiation.xml:
13944         * docs/pwg/building-boiler.xml:
13945         * docs/pwg/building-pads.xml:
13946         * docs/pwg/pwg.xml:
13947         * examples/pwg/Makefile.am:
13948           Add a chapter on caps negotiation, simplify the original code
13949           samples a bit w.r.t. caps negotiation, add link to the advanced
13950           section. Add a bunch of examples showing different use cases of
13951           different types of caps negotiation. Upstream renegotiation isn't
13952           fully documented yet since nobody knows how that works.
13953
13954 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13955
13956         * check/gst/gstpad.c:
13957         * check/gstcheck.c:
13958         * gst/gstpad.c: (gst_pad_get_internal_links_default):
13959           if pad has no parent, return NULL as list of internal links
13960
13961 2005-07-05  Andy Wingo  <wingo@pobox.com>
13962
13963         * gst/elements/gstfilesrc.c:
13964         * gst/elements/gstfakesrc.c: 
13965         * gst/base/gstpushsrc.c:
13966         * gst/base/gstbasesrc.h: 
13967         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
13968         
13969 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
13970
13971         * Makefile.am:
13972           better report generation target (lcov needs a patch)
13973
13974 2005-07-05  Andy Wingo  <wingo@pobox.com>
13975
13976         * gst/elements, testsuite: Null if we got it...
13977
13978 2005-07-05  Wim Taymans  <wim@fluendo.com>
13979
13980         * configure.ac:
13981         * libs/gst/dataprotocol/Makefile.am:
13982         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
13983         * libs/gst/dataprotocol/dataprotocol.h:
13984         * pkgconfig/Makefile.am:
13985         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
13986         * pkgconfig/gstreamer-dataprotocol.pc.in:
13987         Ported dataprotol to 0.9. 
13988         Added pkgconfig files.
13989
13990 2005-07-05  Andy Wingo  <wingo@pobox.com>
13991
13992         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
13993         Default to returning TRUE for the case when tranform_caps returns
13994         a fixed caps, like for identity or volume.
13995
13996         * check/gst/gstbus.c (pound_bus_with_messages): 
13997         * check/gst/gstmessage.c (START_TEST): 
13998         * check/pipelines/simple_launch_lines.c (got_handoff): Application
13999         message API change.
14000
14001         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14002         logic weaks here: always run transform_caps, trying passthrough
14003         operation only if the original caps intersects with the transform.
14004
14005         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14006         source and sink caps.
14007
14008         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14009         Intersect the peer caps with the pad template before going into
14010         transform_caps.
14011         (gst_base_transform_transform_caps): More debugging.
14012
14013         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14014         src argument.
14015
14016 2005-07-04  Edward Hervey  <edward@fluendo.com>
14017
14018         * gst/gstutils.c:
14019         * gst/gstutils.h:
14020         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14021         in bindings.
14022
14023 2005-07-04  Andy Wingo  <wingo@pobox.com>
14024
14025         * check/gst/gstpad.c: Only set explicit caps on pads.
14026
14027 2005-07-01  Andy Wingo  <wingo@pobox.com>
14028
14029         * tests/network-clock.scm: Commentary update.
14030
14031         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14032         Didn't really make sense, not implementable with basetransform,
14033         etc.
14034         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14035         attempt at implementing the sync property, needs an unlock method.
14036
14037         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14038         New func, by default returns the same caps (the identity
14039         transformation).
14040         (gst_base_transform_getcaps): Uses transform_caps to return
14041         something sensible.
14042         (gst_base_transform_setcaps): Complicated logic to get caps on
14043         both pads, even if they are different, and to call set_caps once
14044         for every time both pads get their caps set.
14045         (gst_base_transform_handle_buffer): Give the ref to the transform
14046         function. Allows in-place modification of the buffer.
14047
14048         * gst/base/gstbasetransform.h (transform_caps): New class method.
14049         Given caps on one side, what can I do on the other.
14050         (set_caps): Take two caps, one for each side of the element.
14051
14052         * gst/gstpad.h:
14053         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14054         caps in place. This is safe because we can check the mutability of
14055         the caps, and a good idea because fixate functions are just called
14056         as a matter of last resort. (Not actually implemented.)
14057         (gst_pad_set_caps): If the caps we're setting is actually the same
14058         as the existing pad caps, just update the pointer without calling
14059         setcaps. Assert that caps is either NULL or fixed, as per the
14060         docs.
14061
14062         * gst/gstghostpad.c: Update for fixate changes.
14063
14064 2005-07-02  Andy Wingo  <wingo@pobox.com>
14065
14066         * gst/gstcaps.c:
14067         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14068         two refcounts makes it immutable, which is enough. Doc more.
14069
14070 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14071
14072         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14073           Put the mini_object into GValue as a mini_object,
14074           not a gpointer, since that's how we declared
14075           the signal.
14076
14077 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14078
14079         * examples/pwg/Makefile.am:
14080           Fix buildbot again.
14081
14082 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14083
14084         * docs/pwg/building-testapp.xml:
14085           Add extra check.
14086         * examples/pwg/Makefile.am:
14087           Fix buildbot.
14088
14089 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14090
14091         * configure.ac:
14092         * examples/Makefile.am:
14093         * examples/pwg/Makefile.am:
14094         * examples/pwg/extract.pl:
14095           Enable building the PWG examples.
14096         * docs/pwg/advanced-interfaces.xml:
14097           Add URI interface stub.
14098         * docs/pwg/advanced-types.xml:
14099         * docs/pwg/other-autoplugger.xml:
14100         * docs/pwg/appendix-porting.xml:
14101         * docs/pwg/pwg.xml:
14102           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14103         * docs/pwg/building-boiler.xml:
14104         * docs/pwg/building-chainfn.xml:
14105         * docs/pwg/building-pads.xml:
14106         * docs/pwg/building-props.xml:
14107         * docs/pwg/building-state.xml:
14108         * docs/pwg/building-testapp.xml:
14109           Update the building-*.xml parts for 0.9 changes. All examples
14110           code blocks compile in examples/pwg/*.
14111
14112 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14113
14114         * docs/manual/advanced-autoplugging.xml:
14115         * docs/manual/appendix-checklist.xml:
14116         * docs/manual/appendix-integration.xml:
14117         * docs/manual/highlevel-components.xml:
14118           Fix playbin/decodebin examples, update docs a bit, mention bus
14119           instead of signals in various places, mention kmplayer and
14120           kaffeine since they have a working GStreamer backend in the KDE
14121           section.
14122
14123 2005-06-30  Wim Taymans  <wim@fluendo.com>
14124
14125         * CHANGES-0.9:
14126         * docs/design/draft-ghostpads.txt:
14127         * docs/design/draft-push-pull.txt:
14128         * docs/design/draft-query.txt:
14129         * docs/design/part-TODO.txt:
14130         * docs/design/part-query.txt:
14131         Added CHANGES-0.9 doc, updated status of other docs.
14132         
14133         * gst/gstquery.h:
14134         Remove "hmm" macro
14135
14136 2005-06-30  Wim Taymans  <wim@fluendo.com>
14137
14138         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14139         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14140         (gst_base_sink_change_state):
14141         * gst/base/gstbasesink.h:
14142         Some tweaks, only EOS and a buffer complete a preroll.
14143
14144 2005-06-30  Andy Wingo  <wingo@pobox.com>
14145
14146         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14147         activate_push down to the internal pad as well.
14148
14149 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14150
14151         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14152
14153         * gst/gsttaginterface.c:
14154           Some documentation fixes (#307394 and #307397).
14155
14156 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14157
14158         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14159
14160         * gst/gstvalue.c: (gst_value_intersect_list):
14161           Fix memleak (#309125).
14162
14163 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14164
14165         * docs/manual/advanced-dataaccess.xml:
14166           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14167         * docs/manual/basics-pads.xml:
14168           Add reference for filtered caps to above chapter.
14169
14170 2005-06-30  Wim Taymans  <wim@fluendo.com>
14171
14172         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14173         (gst_bin_change_state):
14174         Probes are gone.
14175         Lame attempt at making the state change function a bit
14176         more readable.
14177
14178 2005-06-30  Wim Taymans  <wim@fluendo.com>
14179
14180         * docs/design/part-clocks.txt:
14181         * docs/design/part-element-sink.txt:
14182         * docs/design/part-events.txt:
14183         * docs/design/part-preroll.txt:
14184         * docs/design/part-states.txt:
14185         Some more tweeks and additions to the docs.
14186
14187 2005-06-30  Wim Taymans  <wim@fluendo.com>
14188
14189         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14190         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14191         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14192         (gst_pad_check_pull_range), (gst_pad_get_range),
14193         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14194         * gst/gstpad.h:
14195         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14196         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14197         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14198         (gst_pad_remove_buffer_probe):
14199         Removed atomic operations, use existing LOCK.
14200         Move exception handling out of main code path.
14201
14202 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14203
14204         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14205         (silly_return_true_function), (gst_pad_class_init),
14206         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14207         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14208         (gst_pad_send_event):
14209           Fix accumulator, add default value by using _emitv() instead
14210           of _emit() for signal emission.
14211
14212 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14213
14214         * docs/manual/advanced-dataaccess.xml:
14215         * examples/manual/Makefile.am:
14216           Add probe example.
14217         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14218           Make work (??).
14219
14220 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14221
14222         * gst/elements/gstfilesink.c: (gst_filesink_render):
14223           Simplify code so that we don't have to handle short
14224           writes and return GST_FLOW_ERROR if an error occured.
14225
14226 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14227
14228         * docs/gst/gstreamer-docs.sgml:
14229           Remove probes more.
14230
14231 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14232
14233         * docs/gst/gstreamer-sections.txt:
14234         * docs/gst/tmpl/gstpad.sgml:
14235         * docs/gst/tmpl/gstprobe.sgml:
14236         * gst/Makefile.am:
14237         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14238         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14239         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14240         (gst_pad_push_event), (gst_pad_send_event):
14241         * gst/gstpad.h:
14242         * gst/gstutils.c: (gst_pad_add_data_probe),
14243         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14244         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14245         (gst_pad_remove_buffer_probe):
14246         * gst/gstutils.h:
14247           Remove old probes, add new g-signal-based probes and some utility
14248           functions.
14249
14250 2005-06-29  Edward Hervey  <edward@fluendo.com>
14251
14252         * gst/gstelementfactory.c:
14253         * gst/gstutils.h:
14254         * gst/gstutils.c:
14255         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14256         the definition to the header file.
14257
14258 2005-06-29  Andy Wingo  <wingo@pobox.com>
14259
14260         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14261         plugins from the source directory.
14262
14263 2005-06-29  Wim Taymans  <wim@fluendo.com>
14264
14265         * docs/gst/tmpl/gstbuffer.sgml:
14266         * docs/gst/tmpl/gstclock.sgml:
14267         Some fixings for blantently wrong text.
14268
14269 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14270
14271         * check/Makefile.am:
14272         * gst/gst.c: (add_path_func), (init_pre):
14273         * gst/gstregistry.c: (gst_registry_add_path):
14274           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14275           only scan the GST_PLUGIN_PATH locations, and not add
14276           system locations
14277
14278 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14279
14280         * docs/gst/gstreamer-sections.txt:
14281         * docs/gst/tmpl/gstbasesrc.sgml:
14282         * gst/gstelement.c:
14283         * gst/gstelement.h:
14284         * gst/gstevent.c:
14285         * gst/gstutils.c:
14286           doc fixes
14287
14288 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14289
14290         * docs/manual/advanced-autoplugging.xml:
14291           Fix autoplugging example.
14292
14293 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14294
14295         * docs/manual/advanced-autoplugging.xml:
14296         * docs/manual/mime-world.fig:
14297           Try to get autoplugging working, fix type detection. Fix text
14298           in hello-world image.
14299
14300 2005-06-29  Wim Taymans  <wim@fluendo.com>
14301
14302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14303         (gst_base_sink_change_state):
14304         Small debug line.
14305
14306         * gst/gstclock.h:
14307         map SIGNAL and BROADCAST to the right function.
14308
14309         * gst/gstobject.h:
14310         Remove redundant braces.
14311
14312         * gst/gstpad.c: (gst_pad_set_caps):
14313         Don't call setcaps function when reseting caps to NULL.
14314
14315         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14316         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14317         (gst_system_clock_id_unschedule):
14318         Use BROADCAST as this is what we do.
14319
14320 2005-06-29  Wim Taymans  <wim@fluendo.com>
14321
14322         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14323         We are actually prerolling before commiting the state
14324         change. 
14325
14326 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14327
14328         * docs/manual/advanced-clocks.xml:
14329         * docs/manual/advanced-interfaces.xml:
14330         * docs/manual/advanced-metadata.xml:
14331         * docs/manual/advanced-position.xml:
14332         * docs/manual/advanced-schedulers.xml:
14333         * docs/manual/advanced-threads.xml:
14334         * docs/manual/appendix-porting.xml:
14335         * docs/manual/basics-bins.xml:
14336         * docs/manual/basics-bus.xml:
14337         * docs/manual/basics-elements.xml:
14338         * docs/manual/basics-helloworld.xml:
14339         * docs/manual/basics-pads.xml:
14340         * docs/manual/highlevel-components.xml:
14341         * docs/manual/manual.xml:
14342         * docs/manual/thread.fig:
14343           Update (until threads/scheduling) Application Development Manual;
14344           remove GstThread, add GstBus, add simple porting checklist, add
14345           documentation for tag writing, clocks, make all examples until this
14346           part compile and run.
14347         * examples/manual/Makefile.am:
14348           Update from changes to Application Development Manual; add bus
14349           example, remove thread example.
14350
14351 2005-06-28  Wim Taymans  <wim@fluendo.com>
14352
14353         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14354         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14355         (gst_bus_source_dispatch):
14356         Add debugging messages.
14357         Make internal methods static.
14358         Handle the case where the bus is flushed in the handler.
14359         
14360         * gst/gstelement.c: (gst_element_get_bus):
14361         Fix refcount in _get_bus();
14362
14363         * gst/gstpipeline.c: (gst_pipeline_change_state),
14364         (gst_pipeline_get_clock_func):
14365         Clock refcounting fixes.
14366         Handle the case where preroll timed out more gracefully.
14367         
14368         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14369         Clean up the internal thread in dispose. This is needed
14370         for subclasses that actually get disposed.
14371         
14372         * gst/schedulers/threadscheduler.c:
14373         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14374         (gst_thread_scheduler_dispose):
14375         Free thread pool in dispose.
14376
14377 2005-06-28  Andy Wingo  <wingo@pobox.com>
14378
14379         * tests/network-clock-utils.scm (debug, print-event): New utils.
14380
14381         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14382         (*packet-loss*): Unified loss probability.
14383         (network-time): Report out-of-band events.
14384
14385         * tests/plot-data: Add support for out-of-band events. Hack it
14386         into this script instead of passing it down the pipe; should fix
14387         this later.
14388
14389 2005-06-28  Wim Taymans  <wim@fluendo.com>
14390
14391         * docs/gst/gstreamer.types:
14392         * docs/gst/tmpl/gstbasesrc.sgml:
14393         * docs/gst/tmpl/gstpad.sgml:
14394         Docs fixes.
14395
14396 2005-06-28  Wim Taymans  <wim@fluendo.com>
14397
14398         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14399         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14400         (gst_proxy_pad_do_fixatecaps):
14401         Correctly proxy the check_pull_range function.
14402
14403 2005-06-28  Andy Wingo  <wingo@pobox.com>
14404
14405         * tests/network-clock.scm: Removed need for slib.
14406         
14407 2005-06-28  Wim Taymans  <wim@fluendo.com>
14408
14409         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14410         (gst_basesink_preroll_queue_flush):
14411         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14412         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14413         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14414         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14415         (gst_proxy_pad_set_property):
14416         * gst/gstpad.c:
14417         * gst/gstpad.h:
14418         * gst/gstqueue.c: (gst_queue_init):
14419         The deprecated pad loop function is removed now.
14420
14421 2005-06-28  Andy Wingo  <wingo@pobox.com>
14422
14423         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14424         New parameters, simulate network packet loss.
14425
14426         * tests/network-clock-utils.scm: Initialize the RNG.
14427
14428 2005-06-28  Wim Taymans  <wim@fluendo.com>
14429
14430         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14431         (gst_basesink_event), (gst_basesink_deactivate):
14432         Flushing the preroll queue always needs to unlock the waiters.
14433
14434 2005-06-28  Edward Hervey  <edward@fluendo.com>
14435
14436         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14437         Wheen a seek was successful on a pipeline, set the stream_time to the
14438         seek offset in order to have a synchronized stream_time.
14439
14440 2005-06-28  Wim Taymans  <wim@fluendo.com>
14441
14442         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14443         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14444         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14445         (gst_proxy_pad_do_fixatecaps):
14446         Call wrapper function instead of just calling the function
14447         pointers. This takes care of any locking and whatmore.
14448
14449 2005-06-28  Wim Taymans  <wim@fluendo.com>
14450
14451         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14452         (gst_pad_pull_range):
14453         * gst/gstpad.h:
14454         CONNECTED -> LINKED.
14455
14456 2005-06-28  Andy Wingo  <wingo@pobox.com>
14457
14458         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14459         source-munging commit!!!
14460
14461         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14462         (gst_object_sink): Take gpointer arguments, not GstObject --
14463         avoids casts. Like GLib.
14464
14465         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14466         activate.
14467
14468 2005-06-27  Andy Wingo  <wingo@pobox.com>
14469
14470         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14471         remaining buffer.
14472
14473         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14474         returns a sorted copy of the trace list.
14475         (gst_alloc_trace_print_live): New API, only prints traces with
14476         live objects. Sort the list.
14477         (gst_alloc_trace_print_all): Sort the list.
14478         (gst_alloc_trace_print): Align columns.
14479
14480         * gst/elements/gstttypefindelement.c:
14481         * gst/elements/gsttee.c:
14482         * gst/base/gstbasesrc.c:
14483         * gst/base/gstbasesink.c:
14484         * gst/base/gstbasetransform.c:
14485         * gst/gstqueue.c: Adapt for pad activation changes.
14486
14487         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14488         sched.
14489         (gst_pipeline_dispose): Drop ref on sched.
14490
14491         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14492         (gst_pad_activate_default): Push mode by default.
14493         (pre_activate_switch, post_activate_switch): New stubs, things to
14494         do before and after switching activation modes on pads.
14495         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14496         the pad's activate function to choose which mode to activate.
14497         Shortcut on deactivation and call the right function directly.
14498         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14499         mode.
14500         (gst_pad_activate_push): New API, same for push mode.
14501         (gst_pad_set_activate_function) 
14502         (gst_pad_set_activatepull_function) 
14503         (gst_pad_set_activatepush_function): Setters for new API.
14504
14505         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14506         Trace all miniobjects.
14507         (gst_mini_object_make_writable): Unref the arg if we copy, like
14508         gst_caps_make_writable.
14509
14510         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14511
14512         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14513         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14514         Adapt for new pad API.
14515
14516         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14517
14518         * gst/gstelement.h:
14519         * gst/gstelement.c (gst_element_iterate_src_pads) 
14520         (gst_element_iterate_sink_pads): New API functions.
14521         
14522         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14523         should fold into gstiterator.c in some form.
14524         (gst_element_pads_activate): Simplified via use of fold and
14525         delegation of decisions to gstpad->activate.
14526
14527         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14528         help in debugging.
14529
14530         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14531         class once in init, like gstmessage. Didn't run into this issue
14532         but it seems correct. Don't initialize a trace, gstminiobject does
14533         that.
14534
14535         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14536         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14537         to the bus.
14538         (assert_live_count): New util function, uses alloc traces to check
14539         cleanup.
14540
14541         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14542         To be modified when unlink drops the internal pad.
14543
14544 2005-06-27  Wim Taymans  <wim@fluendo.com>
14545
14546         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14547         (gst_bin_change_state):
14548         Cleanup the get_state() function a little, make sure it
14549         iterates the same set of elements.
14550         Added stub iterate_state_order().
14551
14552 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14553
14554         * docs/gst/gstreamer-docs.sgml:
14555         * docs/gst/gstreamer-sections.txt:
14556         * docs/gst/gstreamer.types:
14557         * docs/gst/tmpl/gstbasesink.sgml:
14558         * docs/gst/tmpl/gstbasesrc.sgml:
14559         * docs/gst/tmpl/gstbasetransform.sgml:
14560         * docs/gst/tmpl/gstelement.sgml:
14561         * docs/gst/tmpl/gstiterator.sgml:
14562         * gst/base/gstbasesrc.c:
14563         * gst/base/gstbasesrc.h:
14564         * gst/base/gstbasetransform.h:
14565         * gst/gstelement.c:
14566         * gst/gstiterator.h:
14567           adding basetransform and iterator docs
14568
14569 2005-06-27  Andy Wingo  <wingo@pobox.com>
14570
14571         * docs/design/part-activation.txt: Notes on how activation should
14572         work -- not quite implemented yet.
14573
14574 2005-06-25  Wim Taymans  <wim@fluendo.com>
14575
14576         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14577         At least get the chain function correct, needs more
14578         fixing.
14579
14580 2005-06-25  Wim Taymans  <wim@fluendo.com>
14581
14582         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14583         (gst_basesink_handle_object), (gst_basesink_event),
14584         (gst_basesink_do_sync), (gst_basesink_handle_event),
14585         (gst_basesink_change_state):
14586         * gst/gsttask.h:
14587         Right, two problems here: ghostpads don't take locks and
14588         glib _rec_mutex_lock_full() with depth==0 still locks.
14589         Catch illegal locking and g_warn them.
14590
14591 2005-06-25  Wim Taymans  <wim@fluendo.com>
14592
14593         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14594         Have to check for completion now...
14595
14596 2005-06-25  Wim Taymans  <wim@fluendo.com>
14597
14598         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14599         (gst_basesink_handle_object), (gst_basesink_event),
14600         (gst_basesink_do_sync), (gst_basesink_handle_event),
14601         (gst_basesink_change_state):
14602         * gst/gstpad.h:
14603         Unlock STREAM_LOCK whatever the recursion was.
14604
14605 2005-06-25  Wim Taymans  <wim@fluendo.com>
14606
14607         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14608         (gst_basesink_preroll_queue_empty),
14609         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14610         (gst_basesink_event), (gst_basesink_do_sync),
14611         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14612         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14613         (gst_basesink_change_state):
14614         Reworked the base sink, handle event and buffer serialisation
14615         correctly and removed possible deadlock.
14616         Handle EOS correctly.
14617
14618 2005-06-25  Wim Taymans  <wim@fluendo.com>
14619
14620         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14621         (gst_pipeline_change_state):
14622         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14623         Allow elements to post EOS in the state change function.
14624         Fix up -launch, make it exit the poll loop when the
14625         pipeline actually changed state.
14626         Fix up warning parsing in -launch.
14627
14628 2005-06-25  Wim Taymans  <wim@fluendo.com>
14629
14630         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14631         (gst_tee_sink_activate):
14632         Core takes STREAM_LOCK for us now.
14633
14634 2005-06-25  Wim Taymans  <wim@fluendo.com>
14635
14636         * gst/gstelement.c: (gst_element_get_state_func),
14637         (gst_element_set_state):
14638         * gst/gstelement.h:
14639         * gst/gstmessage.c: (gst_message_parse_error),
14640         (gst_message_parse_warning):
14641         Keep track of current target state while performing a state
14642         change so that subclasses can do something interesting.
14643         Fix parsing of warning/error messages when GError is NULL.
14644
14645 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14646
14647         * docs/gst/Makefile.am:
14648         * docs/gst/gstreamer-docs.sgml:
14649         * docs/gst/gstreamer-sections.txt:
14650         * docs/gst/gstreamer.types:
14651         * docs/gst/tmpl/gstbasesink.sgml:
14652         * docs/gst/tmpl/gstbasesrc.sgml:
14653         * docs/gst/tmpl/gstbin.sgml:
14654         * docs/gst/tmpl/gstcompat.sgml:
14655         * docs/gst/tmpl/gstfakesink.sgml:
14656         * docs/gst/tmpl/gstfakesrc.sgml:
14657         * docs/gst/tmpl/gstfilesink.sgml:
14658         * docs/gst/tmpl/gstfilesrc.sgml:
14659         * docs/gst/tmpl/gstindex.sgml:
14660         * docs/manual/appendix-quotes.xml:
14661         * gst/base/gstbasesrc.h:
14662         * gst/elements/gstfakesrc.h:
14663         * gst/gstmessage.h:
14664           start pulling in base classes and elements in our docs
14665
14666 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14667
14668         * docs/gst/Makefile.am:
14669         * docs/libs/Makefile.am:
14670           fixed make distcheck with gtk-doc 1.3
14671
14672 2005-06-23  Wim Taymans  <wim@fluendo.com>
14673
14674         * gst/gstelement.c: (gst_element_get_state_func),
14675         (gst_element_set_state), (gst_element_change_state):
14676         When the state did not change, also report NO_PREROLL
14677         when it matters.
14678
14679 2005-06-23  Wim Taymans  <wim@fluendo.com>
14680
14681         * gst/gstpad.c: (gst_pad_event_default):
14682         * gst/gstqueue.c: (gst_queue_loop):
14683         No unsafe task pausing please.
14684
14685 2005-06-23  Wim Taymans  <wim@fluendo.com>
14686
14687         * gst/schedulers/threadscheduler.c:
14688         (gst_thread_scheduler_task_start),
14689         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14690         Ref the task before pushing it on the threadpool. This
14691         makes sure that we have a ref when the threadfunction is
14692         actually called.
14693
14694 2005-06-23  Andy Wingo  <wingo@pobox.com>
14695
14696         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14697         offset is greater than the file's size.
14698
14699         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14700         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14701         * gst/gstobject.c (gst_object_class_init): Make the class lock
14702         recursive. Wim won't let me drop deep_notify. Decodebin works
14703         again, whoopdy doo.
14704
14705         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14706         internal pad, and hacks accordingly. Doesn't do it on the target
14707         pad because we change its caps. Probably catches all cases of
14708         interest tho.
14709         (gst_ghost_pad_set_property): Connect to notify::caps as
14710         appropritate.
14711
14712         * tests/network-clock.scm (plot-simulation): Pipe data to the
14713         elite python skript.
14714
14715         * tests/network-clock-utils.scm (define-parameter): New macro,
14716         defines a parameter that can be set via the command line.
14717         (set-parameter!, parse-parameter-arguments): Command line args
14718         parser.
14719
14720         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14721         stdin.
14722
14723 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14724
14725         * gst/elements/gsttypefindelement.c:
14726         (gst_type_find_element_handle_event):
14727           Don't restart typefinding on a discont.
14728         * gst/gstelement.c: (gst_element_set_state):
14729           Debug spelling fix.
14730         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14731           Allow changing mode of an active pad.
14732           Debug output fixes.
14733         * gst/registries/gstlibxmlregistry.c: (load_feature):
14734           Don't cast a static pad template to a normal pad template.
14735
14736 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14737
14738         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14739         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14740           remove gst_strtoll completely, since it didn't actually do
14741           anything more than what g_ascii_strtoull already does.
14742           check for range errors when deserializing
14743           do a cast for the unsigned cases; but further fixing needs
14744           a decision on what the interpretation of "(int)" and
14745           deserialization should be for values that fall outside the
14746           type's boundaries (ie, refuse, or interpret as casting)
14747
14748 2005-06-23  Wim Taymans  <wim@fluendo.com>
14749
14750         * check/Makefile.am:
14751         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14752         * docs/design/part-live-source.txt:
14753         * docs/design/part-states.txt:
14754         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14755         (gst_basesrc_set_live), (gst_basesrc_is_live),
14756         (gst_basesrc_get_range), (gst_basesrc_activate),
14757         (gst_basesrc_change_state):
14758         * gst/base/gstbasesrc.h:
14759         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14760         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14761         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14762         * gst/gstelement.c: (gst_element_get_state_func),
14763         (gst_element_set_state):
14764         * gst/gstelement.h:
14765         * gst/gsttypes.h:
14766         * tools/gst-launch.c: (event_loop), (main):
14767         Added support for live sources and other elements that
14768         cannot do preroll.
14769         Updated design docs, added live-source design doc.
14770         Implemented live source functionality in basesrc
14771         Fix error condition in _bin_get_state()
14772         Implement live source handling in -launch.
14773         Added check for live sources.
14774         Fixed case in GstBin where elements were changed state
14775         multiple times.
14776
14777
14778 2005-06-23  Andy Wingo  <wingo@pobox.com>
14779
14780         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14781         borken refcounting.
14782
14783         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14784         gst_caps_replace takes care of this for us.
14785
14786         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14787         gst_pad_set_caps on the target, not just its setcaps() function.
14788
14789         * tests/network-clock.scm: 
14790         * tests/network-clock-utils.scm: A network clock simulator.
14791         Something of an algorithmic testbed before doing something in C.
14792
14793 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14794
14795         * check/Makefile.am:
14796         * check/gst/capslist.h:
14797           copy over from 0.8, and add two with bitmasks specified with
14798           (int) 0xFF...
14799         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14800           add test to parse everything from capslist.h
14801         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
14802         (main):
14803           add test for structure deserialization
14804         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14805           add tests for deserialization of strings to int types
14806         * gst/gststructure.c: (gst_structure_nth_field_name):
14807         * gst/gststructure.h:
14808           add a way to get the name of a field referenced by index
14809         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14810           instead of checking if the resulting long long lies between
14811           min and max, we check if the long long would fit into
14812           a number of bytes for the final type.
14813           This fixes cases where a string represents 2^32 - 1, which
14814           when cast to int would be the (valid) -1, but is bigger than
14815           G_MAXINT
14816
14817 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14818
14819         * gst/parse/grammar.y:
14820           add a log line for type deserialization
14821
14822 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14823
14824         * check/gst/gstvalue.c: (START_TEST):
14825         * gst/gstvalue.c: (gst_value_deserialize):
14826           return long long, not int, so gint64 deserialization actually
14827           works.  Is there any flag that makes the compiler check this ?
14828           Fixes #308559
14829
14830 2005-06-22  Wim Taymans  <wim@fluendo.com>
14831
14832         * gst/gstbuffer.h:
14833         Added convenience macros for setting buffers in GValue.
14834
14835 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14836
14837         * check/gst/.cvsignore:
14838         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14839           add a test deserializing int64, and comment part out because
14840           it fails, yay !
14841
14842 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14843
14844         * check/Makefile.am:
14845         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14846         * testsuite/Makefile.am:
14847         * testsuite/caps/Makefile.am:
14848         * testsuite/caps/value_serialize.c:
14849         * testsuite/test_gst_init.c:
14850           move a value_serialize test over
14851
14852 2005-06-20  Wim Taymans  <wim@fluendo.com>
14853
14854         * gst/gstpad.c:
14855         Small doc updates.
14856         
14857         * gst/gstvalue.c: (gst_value_compare_buffer),
14858         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14859         (gst_value_compare_flags), (gst_value_serialize_flags),
14860         (gst_value_deserialize_flags), (_gst_value_initialize):
14861         Fix serialisation of buffers, they are not boxed types anymore
14862
14863 2005-06-20  Wim Taymans  <wim@fluendo.com>
14864
14865         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14866         Testcase to show error in buffer-on-caps serialisation.
14867
14868 2005-06-20  Andy Wingo  <wingo@pobox.com>
14869
14870         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14871         will be adding to later.
14872
14873         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14874         if its socks fill with rocks.
14875         (gst_system_clock_obtain): Set the name on object construction.
14876         Avoid double-checked locking.
14877
14878 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14879
14880         * gst/gsturi.c: (gst_element_make_from_uri):
14881           Fix potential endless loop.
14882
14883 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14884
14885         * check/Makefile.am:
14886           add gsttag
14887         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14888         (main):
14889           move over from testsuite dir and clean up
14890         * configure.ac:
14891         * gst/gsttag.c:
14892         * testsuite/Makefile.am:
14893         * testsuite/tags/.cvsignore:
14894         * testsuite/tags/Makefile.am:
14895         * testsuite/tags/merge.c:
14896           remove testsuite/tags
14897
14898 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14899
14900         * docs/gst/gstreamer-sections.txt:
14901         * docs/gst/tmpl/gstenumtypes.sgml:
14902         * win32/gstenumtypes.c:
14903           clean up documentation build a little
14904
14905 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14906
14907         * check/gstcheck.h:
14908           add macros for checking refcounts on objects and caps
14909         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
14910           add some more unit tests
14911         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14912         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
14913           fix leaked refcounts (I hope :)) so unittest works
14914         * gst/gstpad.h:
14915           whitespace removal
14916
14917 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14918
14919         * configure.ac: back to HEAD
14920
14921 === release 0.9.1 ===
14922
14923 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14924
14925         * NEWS:
14926         * RELEASE:
14927           updated
14928
14929 2005-06-17  Andy Wingo  <wingo@pobox.com>
14930
14931         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
14932         assert; it's always possible that the pad gets deactivated in
14933         between the checks in gstpad.c and the implementation. Rely on
14934         finish_preroll() to return a FLUSHING or similar instead of on the
14935         assert.
14936         
14937         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
14938         clock and post an EOS message if we come out of finish_preroll in
14939         the playing state.
14940
14941 2005-06-16  David Schleef  <ds@schleef.org>
14942
14943         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
14944         (gst_capsfilter_set_property): Allow NULL as possible value
14945         for filter_caps property, indicating GST_CAPS_ANY.
14946
14947 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14948
14949         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
14950           fix debug output
14951         * gst/schedulers/Makefile.am:
14952           use libgst prefix
14953         * gstreamer.spec.in:
14954           fix spec for it
14955
14956 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14957
14958         * gstreamer.spec.in:
14959           clean up
14960
14961 2005-06-08  Andy Wingo  <wingo@pobox.com>
14962
14963         * gst/gstutils.c: RPAD fixes all around.
14964         (gst_element_link_pads): Refcounting fixes.
14965
14966         * tools/gst-inspect.c:
14967         * tools/gst-xmlinspect.c:
14968         * parse/grammar.y:
14969         * gst/base/gsttypefindhelper.c:
14970         * gst/base/gstbasesink.c:
14971         * gst/gstqueue.c: RPAD fixes.
14972
14973         * gst/gstghostpad.h:
14974         * gst/gstghostpad.c: New ghost pad implementation as full proxy
14975         pads. The tricky thing is they provide both source and sink
14976         interfaces, since they proxy the internal pad for the external
14977         pad, and vice versa. Implement with lower-level ProxyPad objects,
14978         with the interior proxy pad as a child of the exterior ghost pad.
14979         Should write a doc on this.
14980         
14981         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
14982         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
14983         gst_object API.
14984         
14985         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
14986         pads are real pads. No ghost pads in this file. Not documenting
14987         the myriad s/RPAD/PAD/ and REALIZE fixes.
14988         (gst_pad_class_init): Add properties for "direction" and
14989         "template". Both are construct-only, so they can't change during
14990         the life of the pad. Fixes properly deriving from GstPad.
14991         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
14992         derived objects, just set properties when creating the objects via
14993         g_object_new.
14994         (gst_pad_get_parent): Implement as a function, return NULL if the
14995         parent is not an element.
14996         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
14997         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
14998         
14999         * gst/gstobject.c (gst_object_class_init): Make name a construct
15000         property. Don't set it in the object init.
15001
15002         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15003         with UNKNOWN direction.
15004         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15005         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15006         (gst_element_remove_pad): Remove ghost-pad special cases.
15007         (gst_element_pads_activate): Remove rpad cruft.
15008
15009         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15010         catch the pad's-parent-not-an-element case.
15011
15012         * gst/gst.h: Include gstghostpad.h.
15013
15014         * gst/gst.c (init_post): No more real, ghost pads.
15015
15016         * gst/Makefile.am: Add gstghostpad.[ch].
15017
15018         * check/Makefile.am:
15019         * check/gst/gstbin.c:
15020         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15021         into a bin creates ghost pads, and that the refcounts are right.
15022         Partly moved from gstbin.c.
15023
15024 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15025
15026         * check/gst-libs/.cvsignore:
15027         * check/gst/.cvsignore:
15028         * check/pipelines/.cvsignore:
15029           ignore more
15030         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15031         (START_TEST), (cleanup_suite), (main):
15032           add some tests related to cleanup after running pipelines
15033
15034 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15035
15036         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15037           add a testsuite for GstBuffer
15038
15039 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15040
15041         * gst/gstminiobject.h:
15042           add defines for accessing the refcount
15043
15044 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15045
15046         * Makefile.am: added support for html unit test coverage reports
15047
15048 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15049
15050         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15051           Free existing caps if the capsfilter changes. Add a FIXME about
15052           setting those caps on the pads.
15053
15054         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15055           Before adding a ghost pad to a parent bin, check that there isn't
15056           already one for the element on the bin. Prevents infinite recursion
15057           when using decodebin in parse pipelines. Andy says he'll rewrite the
15058           way this works anyway, so ignore the hack.
15059
15060 2005-06-02  Andy Wingo  <wingo@pobox.com>
15061
15062         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15063         file size, pass it on to the type find helper.
15064
15065         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15066         segment_start and segment_end properly according to the seek
15067         method. Segment_end is still a bit flaky because offset can be
15068         negative for CUR and END cases, but it takes -1 as an "unset"
15069         value.
15070
15071 2005-06-02  Wim Taymans  <wim@fluendo.com>
15072
15073         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15074         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15075         (gst_basesink_activate):
15076         * gst/base/gstbasesink.h:
15077         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15078         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15079         (gst_pad_query), (gst_pad_start_task):
15080         * gst/gstpad.h:
15081         * gst/gstqueue.c: (gst_queue_bufferalloc),
15082         (gst_queue_handle_sink_event), (gst_queue_chain):
15083         Bufferalloc: return GstFlowReturn to more accuratly report
15084         why allocation failed.
15085
15086 2005-06-02  Wim Taymans  <wim@fluendo.com>
15087
15088         * gst/gstpipeline.c: (gst_pipeline_send_event):
15089         Take snapshot of state without blocking.
15090
15091 2005-06-02  Wim Taymans  <wim@fluendo.com>
15092
15093         * docs/design/part-TODO.txt:
15094         * docs/design/part-caps.txt:
15095         * docs/design/part-clocks.txt:
15096         * docs/design/part-negotiation.txt:
15097         * docs/design/part-preroll.txt:
15098         Small doc updates 
15099
15100 2005-05-30  Wim Taymans  <wim@fluendo.com>
15101
15102         * gst/elements/gstidentity.c: (gst_identity_event),
15103         (gst_identity_transform), (gst_identity_get_property):
15104         Protect last_message property as it is accessed from
15105         multiple threads.
15106
15107 2005-05-30  Wim Taymans  <wim@fluendo.com>
15108
15109         * gst/gstelement.c: (gst_element_init),
15110         (gst_element_pads_activate), (gst_element_change_state):
15111         Slicker pad activation code.
15112
15113 2005-05-30  Wim Taymans  <wim@fluendo.com>
15114
15115         * gst/Makefile.am:
15116         * gst/gstelement.h:
15117         * gst/gstelementfactory.h:
15118         * gst/gsttypes.h:
15119         Move elementfactory methods to separate .h file.
15120
15121 2005-05-30  Wim Taymans  <wim@fluendo.com>
15122
15123         * docs/design/part-overview.txt:
15124         * gst/gstsystemclock.h:
15125         Small typo fixes, doc updates.
15126
15127 2005-05-30  Wim Taymans  <wim@fluendo.com>
15128
15129         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15130         (init_popt_callback):
15131         Remove cpu-opt flag.
15132
15133 2005-05-30  Wim Taymans  <wim@fluendo.com>
15134
15135         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15136         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15137         * gst/gstbuffer.h:
15138         Avoid typechecking in places where not needed.
15139         Added accessor for malloc_data.
15140
15141 2005-05-30  Wim Taymans  <wim@fluendo.com>
15142
15143         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15144         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15145         (gst_pad_configure_sink), (gst_pad_configure_src),
15146         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15147         (gst_pad_start_task):
15148         Propagate errors from _set_caps() in configure_src/sink
15149         functions instead of returning TRUE.
15150         FLUSH events can travel up and downstream
15151
15152
15153 2005-05-30  Wim Taymans  <wim@fluendo.com>
15154
15155         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15156         (gst_basesink_activate):
15157         Handle EOS in preroll.
15158
15159 2005-05-30  Wim Taymans  <wim@fluendo.com>
15160
15161         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15162         (gst_queue_loop), (gst_queue_handle_src_event):
15163         Remove old pieces of code
15164         Flushing the queue in an upstream event is a very bad idea.
15165
15166 2005-05-26  Andy Wingo  <wingo@pobox.com>
15167
15168         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15169         gst_value_set_mini_object so as to add a ref on the object (which
15170         will be removed when the value is unset).
15171
15172         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15173         arg type in ::handoff.
15174
15175         * gst/gstelement.c (gst_element_change_state): Also deactivate
15176         pads in READY->NULL, just in case the element didn't make it to
15177         PAUSED. Wingo tested, Wim approved.
15178
15179 2005-05-26  Wim Taymans  <wim@fluendo.com>
15180
15181         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15182         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15183         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15184         A flushing pad cannot be used to alloc_buffer from.
15185
15186 2005-05-26  Wim Taymans  <wim@fluendo.com>
15187
15188         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15189         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15190         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15191         (gst_bus_create_watch), (gst_bus_add_watch_full):
15192         * gst/gstbus.h:
15193         Implement a real GSource and use g_main_context_wakeup() to
15194         signal new messages instead of the socketpair.
15195
15196 2005-05-25  Wim Taymans  <wim@fluendo.com>
15197
15198         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15199         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15200         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15201         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15202         (gst_pad_send_event), (gst_pad_start_task):
15203         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15204         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15205         (gst_queue_sink_activate), (gst_queue_src_activate),
15206         (gst_queue_change_state):
15207         * gst/gstqueue.h:
15208         Fix state changes for non sinks. We now change sinks, then elements
15209         with unconnected srcpads, then the rest.
15210         More efficient queue unlocking in flush and state changes.
15211         Set the pad activate mode even if it does not have an activate
15212         function.
15213
15214 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15215
15216         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15217           Don't go in pull mode for non-seekable sources.
15218         * gst/elements/gsttypefindelement.h:
15219         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15220         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15221         (free_entry), (stop_typefinding),
15222         (gst_type_find_element_handle_event), (find_peek),
15223         (gst_type_find_element_chain), (do_pull_typefind),
15224         (gst_type_find_element_change_state):
15225           Allow typefinding (w/o seeking) in push-mode, simplified version
15226           of what was in 0.8.
15227         * gst/gstutils.c: (gst_buffer_join):
15228         * gst/gstutils.h:
15229           gst_buffer_join() from 0.8.
15230
15231 2005-05-25  Wim Taymans  <wim@fluendo.com>
15232
15233         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15234         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15235         (gst_pad_send_event), (gst_pad_start_task):
15236         Disable attempt at mode switching until it is figured out.
15237
15238 2005-05-25  Wim Taymans  <wim@fluendo.com>
15239
15240         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15241         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15242         (gst_basesink_finish_preroll), (gst_basesink_chain),
15243         (gst_basesink_loop), (gst_basesink_activate),
15244         (gst_basesink_change_state):
15245         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15246         (gst_basesrc_get_range), (gst_basesrc_loop),
15247         (gst_basesrc_activate):
15248         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15249         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15250         (gst_real_pad_init), (gst_real_pad_set_property),
15251         (gst_real_pad_get_property), (gst_pad_set_active),
15252         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15253         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15254         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15255         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15256         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15257         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15258         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15259         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15260         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15261         (gst_pad_stop_task):
15262         * gst/gstpad.h:
15263         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15264         (gst_queue_loop), (gst_queue_src_activate):
15265         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15266         (gst_task_get_state):
15267         * gst/gsttask.h:
15268         * gst/schedulers/threadscheduler.c:
15269         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15270         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15271         in task function.
15272         Remove ACTIVE pad flag, use FLUSHING everywhere
15273         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15274         functions.
15275         Add locks around IS_FLUSHING when reading.
15276         Take STREAM lock in chain(), get_range() functions so plugins
15277         don't need to take it anymore.
15278         
15279
15280
15281 2005-05-25  Wim Taymans  <wim@fluendo.com>
15282
15283         * tools/gst-launch.c: (event_loop):
15284         Unref message after using its contents instead of
15285         before.
15286
15287 2005-05-24  Wim Taymans  <wim@fluendo.com>
15288
15289         * docs/design/draft-ghostpads.txt:
15290         * docs/design/draft-push-pull.txt:
15291         * docs/design/draft-query.txt:
15292         * docs/design/part-overview.txt:
15293         Docs updates, added general overview doc.
15294
15295 2005-05-21  David Schleef  <ds@schleef.org>
15296
15297         * docs/gst/tmpl/old/GstBin.sgml:
15298         * docs/gst/tmpl/old/GstBuffer.sgml:
15299         * docs/gst/tmpl/old/GstCaps.sgml:
15300         * docs/gst/tmpl/old/GstClock.sgml:
15301         * docs/gst/tmpl/old/GstCompat.sgml:
15302         * docs/gst/tmpl/old/GstData.sgml:
15303         * docs/gst/tmpl/old/GstElement.sgml:
15304         * docs/gst/tmpl/old/GstEvent.sgml:
15305         * docs/gst/tmpl/old/GstIndex.sgml:
15306         * docs/gst/tmpl/old/GstStructure.sgml:
15307         * docs/gst/tmpl/old/GstTag.sgml:
15308         * docs/gst/tmpl/old/cothreads.sgml:
15309         * docs/gst/tmpl/old/cothreads_compat.sgml:
15310         * docs/gst/tmpl/old/gettext.sgml:
15311         * docs/gst/tmpl/old/gobject2gtk.sgml:
15312         * docs/gst/tmpl/old/grammar.tab.sgml:
15313         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15314         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15315         * docs/gst/tmpl/old/gst_private.sgml:
15316         * docs/gst/tmpl/old/gstaggregator.sgml:
15317         * docs/gst/tmpl/old/gstarch.sgml:
15318         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15319         * docs/gst/tmpl/old/gstbufferstore.sgml:
15320         * docs/gst/tmpl/old/gstdata_private.sgml:
15321         * docs/gst/tmpl/old/gstdisksink.sgml:
15322         * docs/gst/tmpl/old/gstdisksrc.sgml:
15323         * docs/gst/tmpl/old/gstelementfactory.sgml:
15324         * docs/gst/tmpl/old/gstextratypes.sgml:
15325         * docs/gst/tmpl/old/gstfakesink.sgml:
15326         * docs/gst/tmpl/old/gstfakesrc.sgml:
15327         * docs/gst/tmpl/old/gstfdsink.sgml:
15328         * docs/gst/tmpl/old/gstfdsrc.sgml:
15329         * docs/gst/tmpl/old/gstfilesink.sgml:
15330         * docs/gst/tmpl/old/gstfilesrc.sgml:
15331         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15332         * docs/gst/tmpl/old/gstidentity.sgml:
15333         * docs/gst/tmpl/old/gstindexfactory.sgml:
15334         * docs/gst/tmpl/old/gstmarshal.sgml:
15335         * docs/gst/tmpl/old/gstmd5sink.sgml:
15336         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15337         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15338         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15339         * docs/gst/tmpl/old/gstpipefilter.sgml:
15340         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15341         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15342         * docs/gst/tmpl/old/gstshaper.sgml:
15343         * docs/gst/tmpl/old/gstspider.sgml:
15344         * docs/gst/tmpl/old/gstspideridentity.sgml:
15345         * docs/gst/tmpl/old/gststatistics.sgml:
15346         * docs/gst/tmpl/old/gsttee.sgml:
15347         * docs/gst/tmpl/old/gsttimecache.sgml:
15348         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15349         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15350         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15351         * docs/gst/tmpl/old/types.sgml:
15352           I didn't intend to add these or check them in.
15353
15354 2005-05-19  David Schleef  <ds@schleef.org>
15355
15356         * configure.ac: Use -no-common everywhere.  In a sane world, it
15357           would be the default in libtool, because without it, you can't
15358           build DLLs on Windows.
15359         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15360         * docs/gst/gstreamer-sections.txt:
15361         * docs/gst/tmpl/gstcpu.sgml:
15362         * docs/gst/tmpl/gstdata.sgml:
15363         * docs/gst/tmpl/gstthread.sgml:
15364
15365 2005-05-19  David Schleef  <ds@schleef.org>
15366
15367         * gst/gstminiobject.c: (gst_value_set_mini_object),
15368         (gst_value_take_mini_object), (gst_value_get_mini_object):
15369         * gst/gstminiobject.h: Add GValue set/get functions.
15370
15371 2005-05-19  Wim Taymans  <wim@fluendo.com>
15372
15373         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15374         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15375         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15376         * gst/gstbuffer.h:
15377         * gst/gstbus.c: (gst_bus_post):
15378         * gst/gstelement.c: (gst_element_get_random_pad):
15379         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15380         Make subbufer unref the parent in finalize.
15381         some more debugging info.
15382
15383
15384 2005-05-19  Wim Taymans  <wim@fluendo.com>
15385
15386         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15387         (gst_basesink_init), (gst_basesink_finalize),
15388         (gst_basesink_activate), (gst_basesink_change_state):
15389         Don't free preroll queue too early.
15390
15391 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15392
15393         * gst/Makefile.am:
15394         * gst/ROADMAP:
15395           Hi, I'm outdated. Please shoot me.
15396
15397 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15398
15399         * gst/gstpipeline.c: (gst_pipeline_send_event):
15400           Do not access variables after they have been deleted.
15401
15402 2005-05-19  Wim Taymans  <wim@fluendo.com>
15403
15404         * tools/gst-inspect.c: (print_plugin_features):
15405         A plugin feature does unfortunatly not use the
15406         object name yet...
15407
15408 2005-05-18  Wim Taymans  <wim@fluendo.com>
15409
15410         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15411         Port _span() functions to new subbuffers.
15412
15413 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15414
15415         * gst/gstbin.c: (gst_bin_add_func):
15416           Fix clock settery in bins when adding kids after the clock has
15417           been selected.
15418
15419 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15420
15421         * gst/elements/gstidentity.c: (gst_identity_class_init):
15422           Workaround until signals support GstMiniObject.
15423
15424 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15425
15426         * gst/gstbuffer.c:
15427         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15428
15429 2005-05-18  Wim Taymans  <wim@fluendo.com>
15430
15431         * gst/base/Makefile.am:
15432         * gst/base/gstadapter.c: (gst_adapter_base_init),
15433         (gst_adapter_class_init), (gst_adapter_init),
15434         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15435         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15436         (gst_adapter_flush), (gst_adapter_available),
15437         (gst_adapter_available_fast):
15438         * gst/base/gstadapter.h:
15439         Ported and added adapter to the base classes.
15440
15441 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15442
15443         * gst/gst.c:
15444         * gst/gstmessage.c:
15445           Make sure the class is reffed/unreffed once before threads can be
15446           used.  Fixes #304551.
15447
15448 2005-05-17  Wim Taymans  <wim@fluendo.com>
15449
15450         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15451         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15452         * gst/gstminiobject.c: (gst_mini_object_get_type),
15453         (gst_mini_object_free):
15454         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15455         (gst_pad_push), (gst_pad_push_event):
15456         * gst/gstqueue.c: (gst_queue_change_state):
15457         Don't queue buffers in basesink when we are flushing.
15458         Unref buffer when flushing in basesink.
15459         Flush queue when going to READY
15460         Unref buffer when _push() returns an error.
15461         Don't free MiniObject instance when refcount is incremented
15462         in _finalize() so that we can recover objects.
15463
15464 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15465
15466         * docs/manual/advanced-schedulers.xml:
15467         * docs/manual/appendix-checklist.xml:
15468         * docs/pwg/advanced-clock.xml:
15469         * docs/pwg/advanced-interfaces.xml:
15470         * docs/pwg/advanced-request.xml:
15471         * docs/pwg/advanced-types.xml:
15472         * docs/pwg/intro-preface.xml:
15473         * examples/plugins/example.c: (gst_example_get_type),
15474         (gst_example_class_init), (gst_example_chain),
15475         (gst_example_set_property), (gst_example_get_property),
15476         (gst_example_change_state), (plugin_init):
15477         * examples/plugins/example.h:
15478           small doc fixes
15479
15480 2005-05-17  Wim Taymans  <wim@fluendo.com>
15481
15482         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15483         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15484         * gst/gstqueue.c: (gst_queue_change_state):
15485         Clear queue when going to READY.
15486         Remove IN_SETCAPS flag too.
15487
15488 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15489
15490         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15491           Remove implicit cast from gboolean to GstElementStateReturn;
15492           make sure we still return failure in paused => ready case if
15493           the parent class fails to change state and our own stop 
15494           vfunc succeeds.
15495
15496 2005-05-17  Wim Taymans  <wim@fluendo.com>
15497
15498         * tools/gst-launch.c: (event_loop):
15499         Message was unreffed too soon.
15500
15501 2005-05-16  Andy Wingo  <wingo@pobox.com>
15502
15503         * gst/gstbin.c (sink_iterator_filter): Err... um...
15504
15505         * check/gst/gstbin.c (test_ghost_pads): New test for the
15506         ghosting-if-elements-not-in-same-bin behavior.
15507
15508 2005-05-16  David Schleef  <ds@schleef.org>
15509
15510         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15511         accessing refcount directly.
15512
15513 2005-05-15  David Schleef  <ds@schleef.org>
15514
15515         * check/Makefile.am: remove GstData checks
15516         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15517         * gst/Makefile.am: add miniobject, remove data
15518         * gst/gst.h: add miniobject, remove data
15519         * gst/gstdata.c: remove
15520         * gst/gstdata.h: remove
15521         * gst/gstdata_private.h: remove
15522         * gst/gsttypes.h: remove GstEvent and GstMessage
15523         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15524         * gst/gstmarshal.list: change BOXED -> OBJECT
15525
15526         Implement GstMiniObject.
15527         * gst/gstminiobject.c:
15528         * gst/gstminiobject.h:
15529
15530         Modify to be subclasses of GstMiniObject.
15531         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15532         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15533         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15534         (gst_subbuffer_get_type), (gst_subbuffer_init),
15535         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15536         (gst_buffer_span):
15537         * gst/gstbuffer.h:
15538         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15539         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15540         (_gst_event_copy), (gst_event_new):
15541         * gst/gstevent.h:
15542         * gst/gstmessage.c: (_gst_message_initialize),
15543         (gst_message_get_type), (gst_message_class_init),
15544         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15545         (gst_message_new), (gst_message_new_error),
15546         (gst_message_new_warning), (gst_message_new_tag),
15547         (gst_message_new_state_changed), (gst_message_new_application):
15548         * gst/gstmessage.h:
15549         * gst/gstprobe.c: (gst_probe_perform),
15550         (gst_probe_dispatcher_dispatch):
15551         * gst/gstprobe.h:
15552         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15553         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15554         (_gst_query_copy), (gst_query_new):
15555
15556         Update elements for GstData -> GstMiniObject changes
15557         * gst/gstquery.h:
15558         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15559         (gst_queue_chain), (gst_queue_loop):
15560         * gst/elements/gstbufferstore.c:
15561         (gst_buffer_store_add_buffer_func),
15562         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15563         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15564         (gst_fakesink_render):
15565         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15566         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15567         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15568         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15569         (gst_filesrc_create_read):
15570         * gst/elements/gstidentity.c: (gst_identity_class_init):
15571         * gst/elements/gsttypefindelement.c:
15572         (gst_type_find_element_src_event), (free_entry_buffers),
15573         (gst_type_find_element_handle_event):
15574         * libs/gst/dataprotocol/dataprotocol.c:
15575         (gst_dp_header_from_buffer):
15576         * libs/gst/dataprotocol/dataprotocol.h:
15577         * libs/gst/dataprotocol/dp-private.h:
15578
15579 2005-05-15  David Schleef  <ds@schleef.org>
15580
15581         * gst/elements/gstelements.c: Don't include headers that were
15582         just removed.
15583
15584 2005-05-15  David Schleef  <ds@schleef.org>
15585
15586         * gst/elements/Makefile.am: Remove some elements that don't
15587         need to be in the core (or even exist at all).
15588         * gst/elements/gstaggregator.c:
15589         * gst/elements/gstaggregator.h:
15590         * gst/elements/gstmd5sink.c:
15591         * gst/elements/gstmd5sink.h:
15592         * gst/elements/gstmultifilesrc.c:
15593         * gst/elements/gstmultifilesrc.h:
15594         * gst/elements/gstpipefilter.c:
15595         * gst/elements/gstpipefilter.h:
15596         * gst/elements/gstshaper.c:
15597         * gst/elements/gstshaper.h:
15598         * gst/elements/gststatistics.c:
15599         * gst/elements/gststatistics.h:
15600         * po/POTFILES.in: Remove above files.
15601
15602 2005-05-14  Andy Wingo  <wingo@pobox.com>
15603
15604         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15605         so as to get the refs right.
15606         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15607         unreffing objects that don't pass the filter.
15608
15609         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15610         gst_element_set_bus.
15611         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15612         normal cases, this will destroy the bus.
15613
15614         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15615         object.
15616
15617         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15618         has no sinks.
15619
15620 2005-05-13  Andy Wingo  <wingo@pobox.com>
15621
15622         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15623         gst_pad_link, call pad_link_maybe_ghosting,
15624         (pad_link_maybe_ghosting): Links pads, making sure that the
15625         elements being linked are in the same bin.
15626         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15627         Helpers for pad_link_maybe_ghosting.
15628
15629 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15630
15631         * configure.ac:
15632           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15633
15634 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15635
15636         * docs/design/part-element-source.txt:
15637           Mention GstPushSrc
15638
15639 2005-05-12  Wim Taymans  <wim@fluendo.com>
15640
15641         * gst/base/gstbasesink.c: (gst_basesink_init),
15642         (gst_basesink_activate):
15643         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15644         (gst_basesrc_is_seekable):
15645         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15646         (bin_element_is_sink), (gst_bin_change_state):
15647         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15648         * gst/gstelement.h:
15649         Identify sinks by their flag to avoid overly complicated
15650         checks (fow now).
15651         Do state changes even for elements not reachable from the
15652         sinks.
15653         BaseSink is a sink now :)
15654         Some more debugging info in the basesrc.
15655
15656
15657 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15658
15659         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15660           Implement _query on a bin, similar to _send_event.
15661
15662 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15663
15664         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15665           Discont event offset format should be GST_FORMAT_BYTES,
15666           not GST_FORMAT_TIME.
15667
15668 2005-05-12  Wim Taymans  <wim@fluendo.com>
15669
15670         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15671         Same fix as Ronald's but without the signal. 
15672
15673 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15674
15675         * gst/gstutils.c: (gst_element_query_position):
15676           No, an element is not a pad.
15677
15678 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15679
15680         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15681         (gst_bin_get_state):
15682           If a child is removed from a bin while we remove the child from
15683           the bin and while we're retrieving its state, signal this to the
15684           get_state function so we abort the wait (instead of waiting for
15685           a timeout) and can immediately re-iterate over all other elements.
15686
15687 2005-05-12  Wim Taymans  <wim@fluendo.com>
15688
15689         * gst/base/Makefile.am:
15690         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15691         (gst_basesrc_start):
15692         * gst/base/gstbasesrc.h:
15693         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15694         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15695         (gst_pushsrc_init), (gst_pushsrc_create):
15696         * gst/base/gstpushsrc.h:
15697         Added is_seekable to BaseSrc
15698         Added simple PushSrc.
15699
15700 2005-05-11  Wim Taymans  <wim@fluendo.com>
15701
15702         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15703         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15704         (gst_element_link_pads), (gst_element_query_position),
15705         (gst_element_query_convert), (intersect_caps_func),
15706         (gst_pad_query_position), (gst_pad_query_convert):
15707         Fix refcounting in utils function.
15708         No point in trying to activate a pad when it's added, it could
15709         be added from the state change function and then we deadlock, the
15710         element has to decide what to do.
15711
15712 2005-05-10  Andy Wingo  <wingo@pobox.com>
15713
15714         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15715         *all* the arguments.
15716
15717         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15718         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15719         lock (according to the docs -- if this is wrong change the docs).
15720
15721         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15722         flush messages in the NULL state.
15723
15724         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15725         message immediately and return.
15726         (gst_bus_set_flushing): New function. If a bus is flushing, it
15727         flushes out any queued messages and immediately unrefs new
15728         messages. This is so when an element goes to NULL, all of the
15729         unhandled messages coming from it can be freed, and their
15730         references to the element dropped. In other words: message source
15731         ref considered harmful :P
15732
15733         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15734         we're finished with it.
15735
15736         * gst/gstmessage.c (gst_message_new_state_changed): 
15737
15738 2005-05-10  Wim Taymans  <wim@fluendo.com>
15739
15740         * gst/gstvalue.c: (gst_value_compare_flags),
15741         (gst_value_serialize_flags), (gst_value_deserialize_flags),
15742         (_gst_value_initialize):
15743         Added flags serialize/deserialize/compare code.
15744
15745 2005-05-09  Andy Wingo  <wingo@pobox.com>
15746
15747         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15748         Intersect the peer's caps with our caps.
15749
15750 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15751
15752         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15753         * gst/elements/gsttypefindelement.c: (find_peek):
15754           Handle negative offsets better. Fixes decodebin.
15755
15756 2005-05-09  Wim Taymans  <wim@fluendo.com>
15757
15758         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15759         (gst_base_transform_event):
15760         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15761         Implement accept_caps.
15762         Fix silly lock/unlock mismatch in base class.
15763
15764 2005-05-09  Wim Taymans  <wim@fluendo.com>
15765
15766         * docs/design/draft-push-pull.txt:
15767         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15768         * gst/elements/gstfilesink.c: (gst_filesink_init),
15769         (gst_filesink_query):
15770         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15771         (gst_type_find_handle_src_query), (find_element_get_length):
15772         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15773         * gst/gstelement.h:
15774         * gst/gstmessage.c:
15775         * gst/gstmessage.h:
15776         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15777         (gst_real_pad_get_caps_unlocked),
15778         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15779         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15780         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15781         (gst_real_pad_dispose), (gst_real_pad_finalize),
15782         (gst_pad_load_and_link), (gst_pad_save_thyself),
15783         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15784         (gst_pad_check_pull_range), (gst_pad_pull_range),
15785         (gst_pad_template_get_type), (gst_pad_template_class_init),
15786         (gst_pad_template_init), (gst_pad_template_dispose),
15787         (name_is_valid), (gst_static_pad_template_get),
15788         (gst_pad_template_new), (gst_static_pad_template_get_caps),
15789         (gst_pad_template_get_caps), (gst_pad_set_element_private),
15790         (gst_pad_get_element_private), (gst_pad_start_task),
15791         (gst_pad_pause_task), (gst_pad_stop_task),
15792         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
15793         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
15794         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
15795         (gst_ghost_pad_new):
15796         * gst/gstpad.h:
15797         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
15798         (gst_query_new_position), (gst_query_set_position),
15799         (gst_query_parse_position), (gst_query_new_convert),
15800         (gst_query_set_convert), (gst_query_parse_convert):
15801         * gst/gstquery.h:
15802         * gst/gstqueryutils.c:
15803         * gst/gstqueryutils.h:
15804         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15805         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15806         (gst_queue_handle_src_query):
15807         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15808         (gst_element_query_position), (gst_element_query_convert),
15809         (intersect_caps_func), (gst_pad_query_position),
15810         (gst_pad_query_convert):
15811         * gst/gstutils.h:
15812         * tools/gst-inspect.c: (print_pad_info):
15813         * tools/gst-xmlinspect.c: (print_element_info):
15814         Remove old query functions. Ported old code.
15815         Added position/convert helper functions to gstutils.
15816         Reordered gstpad.c code, grouping relevant things.
15817         Remove gst_message_new(), always need to speficy a specific
15818         message.
15819
15820
15821 2005-05-09  Andy Wingo  <wingo@pobox.com>
15822
15823         * gst/gstiterator.h: Add some includes.
15824
15825         * gst/gstqueryutils.h: Include more headers.
15826
15827         * gst/gstpad.h:
15828         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15829         some uses of gst_pad_query.
15830
15831         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15832         NULL out parameters.
15833         (gst_query_new_position): New proc, allocates a new position
15834         query.
15835
15836         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15837         gstqueryutils.c to the build.
15838
15839         * gst/gststructure.c (gst_structure_set_valist): Implement with
15840         the generic G_VALUE_COLLECT.
15841         
15842 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15843
15844         * gst/Makefile.am: (gst_headers):
15845         Added gstqueryutils.h to the list of headers to install, that was
15846         a 'nachty' move wingo :)
15847
15848 2005-05-06  Andy Wingo  <wingo@pobox.com>
15849
15850         * gst/gstquery.h
15851         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15852         GstData, init a memchunk.
15853         (standard_definitions): Add a few query types, deprecate a few.
15854         (gst_query_get_type): New proc.
15855         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15856         implementation.
15857         (gst_query_new_application, gst_query_get_structure): New public
15858         procs.
15859
15860         * docs/design/draft-query.txt: Removed LINKS from the query types,
15861         because all the rest can be dispatched to other pads -- seemed
15862         ugly to have a query that couldn't be dispatched. internal_links
15863         is fine as a pad method.
15864
15865         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15866         in gstpad.c, but maintain binary compatibility for the moment.
15867         Will fix before 0.9 is out.
15868
15869         * gst/gstqueryutils.c: 
15870         * gst/gstqueryutils.h: New files, implement 3 methods for each
15871         query type: parse_query, parse_response, and set. Probably need an
15872         allocator as well.
15873
15874         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15875
15876         * gst/elements/gstfilesink.c (gst_filesink_query2):
15877         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15878         query_types, and formats methods.
15879
15880         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15881         (gst_pad_set_query2_function): New functions.
15882         (gst_real_pad_init): Set query2_default as the default query2
15883         function. Basically just dispatches to internally linked pads.
15884
15885         Needs review!
15886         
15887         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15888         without using the atomic operations. Only one thread can possibly
15889         be accessing the data at this point. Changed so as to avoid
15890         gst_atomic operations.
15891
15892 2005-05-06  Wim Taymans  <wim@fluendo.com>
15893
15894         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
15895         Also set caps if we use the fallback buffer alloc.
15896
15897 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
15898
15899         * docs/gst/Makefile.am:
15900         * docs/gst/gstreamer-docs.sgml:
15901         * docs/gst/gstreamer-sections.txt:
15902         * docs/gst/tmpl/gstatomic.sgml:
15903         * docs/gst/tmpl/gstmemchunk.sgml:
15904         * testsuite/elements/struct_i386.h:
15905         * win32/GStreamer.vcproj:
15906         * win32/Makefile:
15907           Purge GstAtomic stuff from docs and win32 makefiles as well
15908
15909 2005-05-06  Wim Taymans  <wim@fluendo.com>
15910
15911         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
15912         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
15913         * gst/gstpad.c: (gst_pad_peer_get_caps):
15914         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15915         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15916         (gst_queue_src_activate), (gst_queue_change_state):
15917         * gst/gstqueue.h:
15918         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15919         (intersect_caps_func):
15920         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
15921         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
15922         Some fixes for the peer_get_caps() change.
15923
15924 2005-05-06  Wim Taymans  <wim@fluendo.com>
15925
15926         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15927         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
15928         (gst_basesink_activate):
15929         Actually do something with error codes returned from the push
15930         functions.
15931
15932 2005-05-06  Wim Taymans  <wim@fluendo.com>
15933
15934         * docs/design/part-element-sink.txt:
15935         * docs/design/part-element-source.txt:
15936         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15937         (gst_basesink_event), (gst_basesink_activate):
15938         * gst/base/gstbasesink.h:
15939         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
15940         (gst_basesrc_activate):
15941         * gst/base/gstbasesrc.h:
15942         * gst/gstelement.c: (gst_element_pads_activate):
15943         Some more documentation.
15944         Fixed scheduling decision in _pads_activate().
15945
15946 2005-05-05  Andy Wingo  <wingo@pobox.com>
15947
15948         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
15949         the test suite.
15950
15951 2005-05-05  Wim Taymans  <wim@fluendo.com>
15952
15953         * gst/base/Makefile.am:
15954         * gst/base/gstbasesink.h:
15955         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15956         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
15957         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
15958         (gst_collectpads_class_init), (gst_collectpads_init),
15959         (gst_collectpads_finalize), (gst_collectpads_new),
15960         (gst_collectpads_set_function), (gst_collectpads_add_pad),
15961         (find_pad), (gst_collectpads_remove_pad),
15962         (gst_collectpads_is_active), (gst_collectpads_collect),
15963         (gst_collectpads_collect_range), (gst_collectpads_start),
15964         (gst_collectpads_stop), (gst_collectpads_peek),
15965         (gst_collectpads_pop), (gst_collectpads_available),
15966         (gst_collectpads_read), (gst_collectpads_flush),
15967         (gst_collectpads_chain):
15968         * gst/base/gstcollectpads.h:
15969         * gst/elements/Makefile.am:
15970         * gst/elements/gstelements.c:
15971         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15972         (gst_fakesink_get_times), (gst_fakesink_event),
15973         (gst_fakesink_preroll), (gst_fakesink_render):
15974         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
15975         (gst_filesink_init), (gst_filesink_set_location),
15976         (gst_filesink_open_file), (gst_filesink_close_file),
15977         (gst_filesink_pad_query), (gst_filesink_event),
15978         (gst_filesink_render), (gst_filesink_change_state):
15979         * gst/elements/gstfilesink.h:
15980         Added object to help in making collect pad based elements.
15981         Ported filesink.
15982         Make event function in sink baseclass return gboolean.
15983
15984 2005-05-05  Wim Taymans  <wim@fluendo.com>
15985
15986         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
15987         (gst_bin_get_by_name):
15988         * gst/gstbuffer.h:
15989         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
15990         (gst_clock_finalize):
15991         * gst/gstdata.c: (gst_data_replace):
15992         * gst/gstdata.h:
15993         * gst/gstelement.c: (gst_element_request_pad),
15994         (gst_element_pads_activate):
15995         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15996         (gst_object_unref):
15997         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15998         (gst_pad_set_checkgetrange_function),
15999         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16000         (gst_pad_check_pull_range), (gst_pad_pull_range),
16001         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16002         (gst_pad_pause_task), (gst_pad_stop_task):
16003         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16004         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16005         Fix name lookup in GstBin.
16006         Added _data_replace() function and _buffer_replace()
16007         Use finalize method to clean up clock.
16008         Fix refcounting on request pads.
16009         Fix pad schedule mode error.
16010         Some more object refcounting debug info,
16011
16012
16013 2005-05-04  Andy Wingo <wingo@pobox.com>
16014
16015         * check/Makefile.am:
16016         * docs/gst/tmpl/gstatomic.sgml:
16017         * docs/gst/tmpl/gstplugin.sgml:
16018         * gst/base/gstbasesink.c: (gst_basesink_activate):
16019         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16020         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16021         (gst_basesrc_query), (gst_basesrc_set_property),
16022         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16023         (gst_basesrc_activate):
16024         * gst/base/gstbasesrc.h:
16025         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16026         (gst_base_transform_src_activate):
16027         * gst/elements/gstelements.c:
16028         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16029         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16030         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16031         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16032         (gst_type_find_element_checkgetrange),
16033         (gst_type_find_element_activate):
16034         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16035         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16036         (gst_caps_load_thyself):
16037         * gst/gstelement.c: (gst_element_pads_activate),
16038         (gst_element_save_thyself), (gst_element_restore_thyself):
16039         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16040         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16041         * gst/gstpad.h:
16042         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16043         (gst_xml_parse_file), (gst_xml_parse_memory),
16044         (gst_xml_get_element), (gst_xml_make_element):
16045         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16046         (_file_index_id_save_xml), (gst_file_index_commit):
16047         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16048         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16049         (load_paths):
16050         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16051         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16052         * tools/gst-complete.c: (main):
16053         * tools/gst-compprep.c: (main):
16054         * tools/gst-inspect.c: (print_element_properties_info):
16055         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16056         * tools/gst-xmlinspect.c: (print_element_properties):
16057         GCC 4 fixen.
16058         
16059 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16060
16061         * gst/gstplugin.c: (gst_plugin_check_module),
16062         (gst_plugin_check_file), (gst_plugin_load_file):
16063             apply patch from #172526 to make register work on MacOSX
16064
16065 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16066
16067         * docs/gst/tmpl/gstconfig.sgml:
16068         * gst/gstconfig.h.in:
16069           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16070         * testsuite/debug/printf_extension.c: (main):
16071           Do not use GST_PTR_FORMAT on pointers to types with
16072           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16073         * testsuite/elements/property.h:
16074           use correct printf format
16075
16076 2005-05-02  Wim Taymans  <wim@fluendo.com>
16077
16078         * docs/design/draft-push-pull.txt:
16079         * docs/design/draft-query.txt:
16080         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16081         (gst_basesrc_start):
16082         Added draft for new query API.
16083         Added draft for better selecting scheduling methods.
16084         Make basesrc ignore length if the subclass does not support
16085         it.
16086
16087 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16088
16089         * gst/Makefile.am:
16090           possible fixes for automake-1.5 - _LIBADD is reserved
16091
16092 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16093
16094         * docs/faq/Makefile.am:
16095         * docs/manual/Makefile.am:
16096         * docs/manuals.mak:
16097         * docs/pwg/Makefile.am:
16098         * gst/Makefile.am:
16099           possible fixes for automake-1.5
16100
16101 2005-04-28  Wim Taymans  <wim@fluendo.com>
16102
16103         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16104         (gst_basesink_pad_getcaps), (gst_basesink_init),
16105         (gst_basesink_do_sync):
16106         * gst/gstclock.c: (gst_clock_entry_new):
16107         * gst/gstevent.c: (gst_event_discont_get_value):
16108         * gst/gstpipeline.c: (pipeline_bus_handler),
16109         (gst_pipeline_change_state):
16110         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16111         Better debugging of clocking info.
16112         Allow NULL values when getting discont values.
16113
16114 2005-04-27  Wim Taymans  <wim@fluendo.com>
16115
16116         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16117         * check/gst/gstpad.c: (gst_pad_suite):
16118         Increase timeout for checks.
16119
16120 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16121
16122         * check/Makefile.am:
16123           fix the broken rule for cleanup.  Apparently this rule is
16124           only needed on FC2, so maybe this warrants further autotool
16125           inspection.
16126
16127 2005-04-26  Wim Taymans  <wim@fluendo.com>
16128
16129         * gst/gsttrashstack.h:
16130         Ooohh. a nasty one! After having a failed pop() from the stack,
16131         it's possible that the stack is empty. In that case, don't
16132         follow the NULL pointer.
16133
16134 2005-04-25  Wim Taymans  <wim@fluendo.com>
16135
16136         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16137         (gst_pad_set_checkgetrange_function),
16138         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16139         (gst_pad_check_pull_range), (gst_pad_pull_range),
16140         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16141         (gst_pad_pause_task), (gst_pad_stop_task):
16142         * gst/gstplugin.c: (gst_plugin_load):
16143         * gst/gstplugin.h:
16144         Remove gst_library_load as it does more harm than good with
16145         the new g_module flags.
16146         Revert bogus caps template check in pad linking, pad caps
16147         are important when linking not the template, which is more
16148         general than the current caps.
16149
16150 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16151
16152         * gst/autoplug/.cvsignore:
16153         * gst/autoplug/Makefile.am:
16154         * gst/autoplug/gstsearchfuncs.c:
16155         * gst/autoplug/gstsearchfuncs.h:
16156         * gst/autoplug/gstspider.c:
16157         * gst/autoplug/gstspider.h:
16158         * gst/autoplug/gstspideridentity.c:
16159         * gst/autoplug/gstspideridentity.h:
16160         * gst/autoplug/spidertest.c:
16161           Die, spider, die.
16162
16163 2005-04-25  Wim Taymans  <wim@fluendo.com>
16164
16165         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16166         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16167         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16168         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16169         * gst/gstpad.h:
16170         Added stubs for unimplemented functions. 
16171
16172 2005-04-24  David Schleef  <ds@schleef.org>
16173
16174         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16175         please fix.
16176
16177 2005-04-24  David Schleef  <ds@schleef.org>
16178
16179         Convert everything from GstAtomicInt to g_atomic_int_*, and
16180         remove gstatomic.
16181         * gst/Makefile.am:
16182         * gst/gstatomic.c:
16183         * gst/gstatomic.h:
16184         * gst/gstatomic_impl.h:
16185         * gst/gstbuffer.c:
16186         * gst/gstcaps.c:
16187         * gst/gstcaps.h:
16188         * gst/gstclock.c:
16189         * gst/gstclock.h:
16190         * gst/gstdata.c:
16191         * gst/gstdata.h:
16192         * gst/gstdata_private.h:
16193         * gst/gstevent.c:
16194         * gst/gstinfo.c:
16195         * gst/gstinfo.h:
16196         * gst/gstmessage.c:
16197         * gst/gstobject.c:
16198         * gst/gstobject.h:
16199         * gst/gststructure.c:
16200         * gst/gststructure.h:
16201         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16202         * gst/gstutils.h:
16203
16204 2005-04-24  David Schleef  <ds@schleef.org>
16205
16206         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16207         make the regressions tests work.  Remove some code that is no
16208         longer true.
16209         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16210         Disable warning for pads without templates.
16211
16212 2005-04-24  David Schleef  <ds@schleef.org>
16213
16214         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16215         functions that handle filtered links.
16216         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16217         removed functions.
16218         * gst/gstutils.c: Fix/remove utility functions that handle
16219         filtered caps.
16220         * gst/gstutils.h:
16221         * gst/gstvalue.c: Add serialization/deserialization of caps
16222         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16223         requires fixing so that the filter caps notation creates
16224         a capsfilter element and sets the filter_caps property.  I
16225         think everyone probably wants to keep the shorthand notation.
16226         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16227         * docs/gst/tmpl/gstpad.sgml:
16228
16229         * gst/elements/gstelements.c: Register capsfilter element.
16230         * gst/Makefile.am: fix spacing
16231         * docs/random/ds/0.9-suggested-changes: random
16232
16233 2005-04-23  David Schleef  <ds@schleef.org>
16234
16235         * gst/elements/Makefile.am:
16236         * gst/elements/gstcapsfilter.c: New element that acts like an
16237         identity, but filters caps.  Will eventually replace filtered
16238         caps in pad linking.
16239         * gst/gstutils.c: (gst_element_create_all_pads): New function
16240         to create all the ALWAYS pads that are registered with an
16241         element class.  This functionality should eventually be
16242         merged in with GstElement initialization.
16243         * gst/gstutils.h:
16244         * testsuite/trigger/README: part of trigger test code that should
16245         have been checked in a long time ago.
16246
16247 2005-04-23  David Schleef  <ds@schleef.org>
16248
16249         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16250         needed with new versions of libtool (nobody will confirm this),
16251         and hard to carry around.
16252         * gst/autoplug/Makefile.am:
16253         * gst/base/Makefile.am:
16254         * gst/elements/Makefile.am:
16255         * gst/indexers/Makefile.am:
16256         * gst/schedulers/Makefile.am:
16257         * libs/gst/bytestream/Makefile.am:
16258         * libs/gst/control/Makefile.am:
16259         * libs/gst/dataprotocol/Makefile.am:
16260         * libs/gst/getbits/Makefile.am:
16261
16262 2005-04-21  Wim Taymans  <wim@fluendo.com>
16263
16264         * docs/design/draft-push-pull.txt:
16265         * docs/design/part-MT-refcounting.txt:
16266         * docs/design/part-TODO.txt:
16267         * docs/design/part-caps.txt:
16268         * docs/design/part-events.txt:
16269         * docs/design/part-gstbus.txt:
16270         * docs/design/part-gstpipeline.txt:
16271         * docs/design/part-messages.txt:
16272         * docs/design/part-push-pull.txt:
16273         * docs/design/part-query.txt:
16274         Some more docs.
16275
16276 2005-04-21  Wim Taymans  <wim@fluendo.com>
16277
16278         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16279         (gst_message_new), (gst_message_new_error),
16280         (gst_message_new_warning), (gst_message_new_tag),
16281         (gst_message_new_state_changed), (gst_message_new_application),
16282         (gst_message_get_structure):
16283         * gst/gstmessage.h:
16284         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16285         (gst_structure_copy_conditional):
16286         Use parent refcount in GstMessage to ensure GstStructure
16287         consistency.
16288         Cleaned up headers a bit.
16289         
16290
16291 2005-04-20  Wim Taymans  <wim@fluendo.com>
16292
16293         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16294         (gst_basesink_pad_getcaps), (gst_basesink_init),
16295         (gst_basesink_chain_unlocked):
16296         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16297         (gst_type_find_helper):
16298         * gst/elements/gsttypefindelement.c:
16299         (gst_type_find_element_have_type), (gst_type_find_element_init),
16300         (stop_typefinding), (gst_type_find_element_handle_event),
16301         (find_suggest), (gst_type_find_element_chain),
16302         (gst_type_find_element_checkgetrange),
16303         (gst_type_find_element_getrange), (do_typefind),
16304         (gst_type_find_element_activate):
16305         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16306         (gst_buffer_default_free), (gst_buffer_default_copy),
16307         (gst_buffer_set_caps):
16308         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16309         (gst_caps_replace):
16310         * gst/gstmessage.c: (gst_message_new),
16311         (gst_message_new_state_changed):
16312         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16313         (gst_pad_set_checkgetrange_function),
16314         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16315         (gst_pad_set_caps), (gst_pad_check_pull_range),
16316         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16317         * gst/gstpad.h:
16318         * gst/gsttypefind.c: (gst_type_find_register):
16319         Make gst_caps_replace() work like other _replace() functions.
16320         Use _caps_replace() where possible.
16321         Make sure _message_new() initialises its field.
16322         Add gst_static_pad_template_get_caps()
16323
16324
16325 2005-04-18  Andy Wingo  <wingo@pobox.com>
16326
16327         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16328         on the peer, not the pad. I think that was a typo. Pass an extra
16329         arg to see if random access is possible. Activate the pads as
16330         PULL_RANGE if possible.
16331
16332         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16333
16334         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16335         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16336         to PROP_....
16337
16338 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16339
16340         * docs/faq/using.xml:
16341           Add note on gstreamer-properties (#154996).
16342
16343 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16344
16345         * docs/random/bbb/optional-properties:
16346           Some analysis on optional properties.
16347
16348 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16349
16350         * docs/gst/tmpl/gstelementfactory.sgml:
16351         * gst/gstelement.h:
16352         * gst/gstelementfactory.c: (gst_element_factory_init),
16353         (gst_element_factory_cleanup), (gst_element_register),
16354         (__gst_element_factory_add_static_pad_template),
16355         (gst_element_factory_get_static_pad_templates),
16356         (gst_element_factory_can_src_caps),
16357         (gst_element_factory_can_sink_caps):
16358         * gst/registries/Makefile.am:
16359         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16360         (gst_xml_registry_class_init), (gst_xml_registry_init),
16361         (gst_xml_registry_new), (gst_xml_registry_set_property),
16362         (gst_xml_registry_get_property), (get_time), (make_dir),
16363         (gst_xml_registry_get_perms_func),
16364         (plugin_times_older_than_recurse), (plugin_times_older_than),
16365         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16366         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16367         (add_to_char_array), (read_string), (read_uint), (read_enum),
16368         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16369         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16370         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16371         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16372         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16373         (gst_xml_registry_rebuild):
16374         * gst/registries/gstlibxmlregistry.h:
16375         * tools/gst-compprep.c: (main):
16376         * tools/gst-inspect.c: (print_pad_templates_info):
16377         * tools/gst-xmlinspect.c: (print_element_info):
16378           Use libxml2 for registry parsing, use staticpadtemplates in
16379           elementfactories. Makes gst_init() +/- 10x faster.
16380
16381 2005-04-12  Wim Taymans  <wim@fluendo.com>
16382
16383         * gst/base/Makefile.am:
16384         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16385         (gst_basesink_pad_getcaps), (gst_basesink_init),
16386         (gst_basesink_event), (gst_basesink_change_state):
16387         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16388         (gst_basesrc_init), (gst_basesrc_query),
16389         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16390         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16391         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16392         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16393         (gst_basesrc_stop), (gst_basesrc_activate),
16394         (gst_basesrc_change_state):
16395         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16396         (helper_find_suggest), (gst_type_find_helper):
16397         * gst/base/gsttypefindhelper.h:
16398         * gst/elements/Makefile.am:
16399         * gst/elements/gstelements.c:
16400         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16401         (gst_fakesink_get_times), (gst_fakesink_event),
16402         (gst_fakesink_preroll), (gst_fakesink_render):
16403         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16404         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16405         (gst_fakesrc_get_property), (gst_fakesrc_create),
16406         (gst_fakesrc_start), (gst_fakesrc_stop):
16407         * gst/elements/gstfakesrc.h:
16408         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16409         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16410         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16411         (gst_filesrc_create_read), (gst_filesrc_create),
16412         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16413         (gst_filesrc_start):
16414         * gst/elements/gsttypefindelement.c:
16415         (gst_type_find_element_have_type), (gst_type_find_element_init),
16416         (start_typefinding), (stop_typefinding), (push_buffer_store),
16417         (gst_type_find_element_handle_event),
16418         (gst_type_find_element_chain),
16419         (gst_type_find_element_checkgetrange),
16420         (gst_type_find_element_getrange), (do_typefind),
16421         (gst_type_find_element_activate),
16422         (gst_type_find_element_change_state):
16423         * gst/elements/gsttypefindelement.h:
16424         * gst/gstpipeline.c: (pipeline_bus_handler):
16425         Added typefind helper.
16426         Small preroll fix in the base sink.
16427         Disable typefind code in basesrc.
16428         Crude port of typefindelement.
16429         Fakesrc cleanups.
16430
16431
16432 2005-04-11  Wim Taymans  <wim@fluendo.com>
16433
16434         * check/gst/gstbus.c: (gstbus_suite):
16435         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16436         * check/gstcheck.h:
16437           Fix up the timeout so that the test does not fail.
16438
16439 2005-04-06  Wim Taymans  <wim@fluendo.com>
16440
16441         * gst/base/README:
16442         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16443         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16444         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16445         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16446         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16447         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16448         (gst_basesrc_stop), (gst_basesrc_activate),
16449         (gst_basesrc_change_state), (basesrc_find_peek),
16450         (basesrc_find_suggest), (gst_basesrc_type_find):
16451         * gst/base/gstbasesrc.h:
16452         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16453         (gst_filesrc_class_init), (gst_filesrc_init),
16454         (gst_filesrc_finalize), (gst_filesrc_set_location),
16455         (gst_filesrc_set_property), (gst_filesrc_get_property),
16456         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16457         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16458         (gst_filesrc_create_read), (gst_filesrc_create),
16459         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16460         * gst/elements/gstfilesrc.h:
16461         * gst/gstelement.c: (gst_element_get_state_func),
16462         (gst_element_lost_state), (gst_element_pads_activate):
16463         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16464         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16465         (gst_pad_pull_range):
16466         * gst/gstpad.h:
16467         More work on the generic source base class, implement seeking,
16468         query.
16469         Make filesrc extend the base source class.
16470         Added gst_pad_set_checkgetrange_function to GstPad.
16471
16472 2005-04-06  Andy Wingo  <wingo@pobox.com>
16473
16474         * pkgconfig/gstreamer-base.pc.in:
16475         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16476
16477         * pkgconfig/Makefile.am:
16478         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16479
16480 2005-04-04  Wim Taymans  <wim@fluendo.com>
16481
16482         * gst/base/Makefile.am:
16483         * gst/base/README:
16484         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16485         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16486         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16487         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16488         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16489         (gst_basesrc_base_init), (gst_basesrc_class_init),
16490         (gst_basesrc_init), (gst_basesrc_get_formats),
16491         (gst_basesrc_get_query_types), (gst_basesrc_query),
16492         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16493         (gst_basesrc_set_property), (gst_basesrc_get_property),
16494         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16495         (gst_basesrc_loop), (gst_basesrc_activate),
16496         (gst_basesrc_change_state):
16497         * gst/base/gstbasesrc.h:
16498         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16499         (gst_fakesrc_class_init), (gst_fakesrc_init),
16500         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16501         (gst_fakesrc_get_property), (gst_fakesrc_create):
16502         * gst/elements/gstfakesrc.h:
16503         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16504         (gst_filesrc_open_file), (gst_filesrc_loop),
16505         (gst_filesrc_activate), (filesrc_find_peek),
16506         (gst_filesrc_type_find):
16507         Made base source class, make fakesrc extend it.
16508         Add comments to basesink class.
16509         Some filesrc cleanup.
16510
16511 2005-03-31  David Schleef  <ds@schleef.org>
16512
16513         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16514         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16515         expected to link against libgstreamer.
16516         * gst/base/Makefile.am: link against libgstreamer
16517         * gst/elements/Makefile.am: same
16518
16519 2005-03-31  Andy Wingo  <wingo@pobox.com>
16520
16521         * tests/instantiate/Makefile.am:
16522         * tests/instantiate/caps.c: Add test to test speed of caps copy
16523         and free.
16524
16525         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16526         GMemChunk to be fair.
16527
16528         * gst/gsttrashstack.h: Remove warning about using the fallback
16529         trash stack implementation, it's still faster than malloc.
16530
16531 2005-03-30  Andy Wingo  <wingo@pobox.com>
16532
16533         * tests/complexity.c: Add a copyright.
16534
16535 2005-03-31  Wim Taymans  <wim@fluendo.com>
16536
16537         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16538         (gst_base_transform_class_init), (gst_base_transform_init),
16539         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16540         (gst_base_transform_get_property),
16541         (gst_base_transform_sink_activate),
16542         (gst_base_transform_src_activate),
16543         (gst_base_transform_change_state):
16544         * gst/base/gstbasetransform.h:
16545         * gst/elements/gstidentity.c: (gst_identity_class_init),
16546         (gst_identity_event), (gst_identity_check_perfect),
16547         (gst_identity_transform), (gst_identity_start),
16548         (gst_identity_stop):
16549         Added start/stop methods to transform base class so subclasses 
16550         don't need to deal with state changes even.
16551
16552 2005-03-31  Wim Taymans  <wim@fluendo.com>
16553
16554         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16555         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16556         * gst/gstevent.h:
16557         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16558         (gst_pad_pull_range):
16559         Added rate to the discont event to prepare for variable speed
16560         and reverse playback.
16561
16562 2005-03-29  David Schleef  <ds@schleef.org>
16563
16564         * configure.ac:
16565         * testsuite/trigger/Makefile.am:
16566         * testsuite/trigger/trigger.c: A little example program to show
16567         how trigger-based elements can work.
16568
16569 2005-03-29  Wim Taymans  <wim@fluendo.com>
16570
16571         * gst/base/Makefile.am:
16572         * gst/base/README:
16573         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16574         (gst_basesink_base_init), (gst_basesink_class_init),
16575         (gst_basesink_pad_getcaps), (gst_basesink_init),
16576         (gst_basesink_activate), (gst_basesink_change_state):
16577         * gst/base/gstbasesink.h:
16578         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16579         (gst_base_transform_base_init), (gst_base_transform_finalize),
16580         (gst_base_transform_class_init), (gst_base_transform_init),
16581         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16582         (gst_base_transform_event), (gst_base_transform_getrange),
16583         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16584         (gst_base_transform_set_property),
16585         (gst_base_transform_get_property),
16586         (gst_base_transform_sink_activate),
16587         (gst_base_transform_src_activate),
16588         (gst_base_transform_change_state):
16589         * gst/base/gstbasetransform.h:
16590         * gst/elements/gstidentity.c: (gst_identity_finalize),
16591         (gst_identity_class_init), (gst_identity_init),
16592         (gst_identity_event), (gst_identity_check_perfect),
16593         (gst_identity_transform), (gst_identity_set_property),
16594         (gst_identity_get_property), (gst_identity_change_state):
16595         * gst/elements/gstidentity.h:
16596         * gst/gstelement.c: (gst_element_get_state_func),
16597         (gst_element_lost_state), (gst_element_pads_activate):
16598         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16599         (gst_pad_check_pull_range), (gst_pad_pull_range):
16600         * gst/gstpad.h:
16601         Simplify pad activation.
16602         Added function to check if pull_range can be performed.
16603         Error out when pulling inactive or flushing pads.
16604         Removed const from refcounted types as it does not make sense.
16605         Simplify pad templates in basesink
16606         Added base class for simple 1-to-1 transforms.
16607         Make identity subclass the base transform.
16608
16609 2005-03-29  Andy Wingo  <wingo@pobox.com>
16610
16611         * docs/libs/gstreamer-libs-overrides.txt: 
16612         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16613         really don't understand what's going on, but like whatever. I want
16614         green buildbot!
16615
16616         * docs/gst/Makefile.am:
16617         * docs/libs/Makefile.am: Dist the overrides files.
16618
16619         * check/Makefile.am (clean-local): Remove .libs directories.
16620
16621         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16622         elements to EXTRA_DIST, so po/ files are happy.
16623
16624         * po/POTFILES.in: Er, remove it here.
16625
16626         * po/POTFILES: Remove gstspider.c.
16627
16628         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16629
16630         * docs/libs/gstreamer-libs-docs.sgml: 
16631         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16632         bytestream.
16633
16634         * tests/complexity.c (main): Set the length of the preroll queue
16635         on the sinks to prevent a lockup.
16636
16637         * libs/gst/dataprotocol/Makefile.am: 
16638         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16639         the same as the one in check/gst-libs/gdp.c.
16640
16641         * po/, docs/gst/: Commit automatic changes to docs and po files.
16642
16643         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16644         the versioned libgstbase.
16645
16646         * check/Makefile.am: Depend on an unversioned gst-register, seems
16647         to make autoconf happier.
16648
16649         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16650
16651 2005-03-28  Wim Taymans  <wim@fluendo.com>
16652
16653         * configure.ac:
16654         * docs/design/part-gstelement.txt:
16655         * docs/design/part-negotiation.txt:
16656         * docs/design/part-preroll.txt:
16657         * docs/design/part-scheduling.txt:
16658         * docs/design/part-states.txt:
16659         * gst/Makefile.am:
16660         * gst/base/Makefile.am:
16661         * gst/base/README:
16662         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16663         (gst_basesink_base_init), (gst_basesink_class_init),
16664         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16665         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16666         (gst_basesink_set_pad_functions),
16667         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16668         (gst_basesink_set_property), (gst_basesink_get_property),
16669         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16670         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16671         (gst_basesink_preroll_queue_push),
16672         (gst_basesink_preroll_queue_empty),
16673         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16674         (gst_basesink_event), (gst_basesink_get_times),
16675         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16676         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16677         (gst_basesink_loop), (gst_basesink_activate),
16678         (gst_basesink_change_state):
16679         * gst/base/gstbasesink.h:
16680         * gst/elements/Makefile.am:
16681         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16682         (gst_fakesink_class_init), (gst_fakesink_init),
16683         (gst_fakesink_set_property), (gst_fakesink_get_property),
16684         (gst_fakesink_get_times), (gst_fakesink_event),
16685         (gst_fakesink_preroll), (gst_fakesink_render),
16686         (gst_fakesink_change_state):
16687         * gst/elements/gstfakesink.h:
16688         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16689         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16690         * gst/gstelement.c: (gst_element_add_pad),
16691         (gst_element_get_state_func), (gst_element_abort_state),
16692         (gst_element_commit_state), (gst_element_lost_state),
16693         (gst_element_set_state), (gst_element_pads_activate):
16694         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16695         * gst/gstpipeline.c: (gst_pipeline_send_event),
16696         (gst_pipeline_change_state):
16697         Added state change code.
16698         Added/updated docs.
16699         Added sink base class, make fakesink extend the base class.
16700         Small cleanups in GstPipeline.
16701
16702 2005-03-26  David Schleef  <ds@schleef.org>
16703
16704         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16705         is broken and should be implemented in a different library.
16706         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16707         * gst/gst.h: remove gstcpu.h
16708         * gst/gstcpu.c: remove
16709         * gst/gstcpu.h: remove
16710         * gst/Makefile.am.future: Remove this file.  It's ancient.
16711
16712 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16713
16714         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16715         (gst_bin_send_event):
16716           Add default event/set_manager handlers. The set_manager handler
16717           takes care that the manager is distributed over kids that were
16718           already in the bin before the manager was set. The event handler
16719           is a utility virtual function that sends the event over all sinks,
16720           so that gst_element_send_event (bin, event); has the expected
16721           behaviour.
16722         * gst/gstpad.c: (gst_pad_event_default):
16723           Re-install default event handling for discontinuities, so that
16724           seeking works without requiring hacks in applications or extra
16725           code in sinks.
16726         * gst/gstpipeline.c: (gst_pipeline_class_init),
16727         (gst_pipeline_send_event):
16728           Half hack, half utility: set a pipeline to PAUSED for seek events,
16729           since that is the only way we can guarantee a/v sync. Means that
16730           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16731           and it "just works".
16732
16733 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16734
16735         * gst/gstpipeline.c: (gst_pipeline_use_clock):
16736           Lock/unlock mismatch.
16737
16738 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16739
16740         * docs/faq/gst-uninstalled:
16741           add gst-plugins-base
16742         * docs/gst/Makefile.am:
16743           don't error out until docs are fixed
16744         * docs/gst/gstreamer.types:
16745           remove thread
16746
16747 2005-03-22  Wim Taymans  <wim@fluendo.com>
16748
16749         * check/Makefile.am:
16750         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16751         * gst/gststructure.c: (gst_structure_set_valist),
16752         (gst_structure_copy_conditional):
16753         Activated more tests.
16754         Added message test.
16755         Added G_TYPE_POINTER to GstStructure.
16756         
16757
16758 2005-03-22  Wim Taymans  <wim@fluendo.com>
16759
16760         * docs/design/part-TODO.txt:
16761         * docs/design/part-events.txt:
16762         * docs/design/part-gstbin.txt:
16763         * docs/design/part-gstbus.txt:
16764         * docs/design/part-gstpipeline.txt:
16765         * docs/design/part-messages.txt:
16766         * gst/gstbus.c:
16767         * gst/gstmessage.c:
16768         Docs updates
16769
16770 2005-03-21  Wim Taymans  <wim@fluendo.com>
16771
16772         * gst/gstbus.c: (gst_bus_post):
16773         Fix copy-and-paste error.
16774
16775 2005-03-21  Wim Taymans  <wim@fluendo.com>
16776
16777         * check/Makefile.am:
16778         * gst/Makefile.am:
16779         * gst/elements/Makefile.am:
16780         * gst/elements/gstelements.c:
16781         * gst/elements/gstfakesink.c: (gst_fakesink_init),
16782         (gst_fakesink_event), (gst_fakesink_chain):
16783         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16784         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16785         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16786         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16787         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16788         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16789         (gst_fakesrc_loop), (gst_fakesrc_activate),
16790         (gst_fakesrc_change_state):
16791         * gst/elements/gstfakesrc.h:
16792         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
16793         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
16794         (gst_filesrc_open_file), (gst_filesrc_loop),
16795         (gst_filesrc_activate), (gst_filesrc_change_state),
16796         (filesrc_find_peek), (filesrc_find_suggest),
16797         (gst_filesrc_type_find):
16798         * gst/elements/gstidentity.c: (gst_identity_finalize),
16799         (gst_identity_class_init), (gst_identity_init),
16800         (gst_identity_proxy_getcaps), (identity_queue_push),
16801         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
16802         (gst_identity_getrange), (gst_identity_chain),
16803         (gst_identity_sink_loop), (gst_identity_src_loop),
16804         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
16805         (gst_identity_set_property), (gst_identity_get_property),
16806         (gst_identity_change_state):
16807         * gst/elements/gstidentity.h:
16808         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
16809         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
16810         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
16811         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
16812         (gst_tee_sink_activate):
16813         * gst/elements/gsttee.h:
16814         * gst/gst.c: (gst_register_core_elements), (init_post):
16815         * gst/gst.h:
16816         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
16817         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
16818         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
16819         (gst_bin_change_state):
16820         * gst/gstbin.h:
16821         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
16822         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
16823         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
16824         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
16825         (gst_bus_set_sync_handler), (gst_bus_create_watch),
16826         (bus_watch_callback), (bus_watch_destroy),
16827         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
16828         (poll_timeout), (gst_bus_poll):
16829         * gst/gstbus.h:
16830         * gst/gstcaps.h:
16831         * gst/gstdata.h:
16832         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16833         (gst_element_post_message), (gst_element_message_full),
16834         (gst_element_get_state_func), (gst_element_get_state),
16835         (gst_element_abort_state), (gst_element_commit_state),
16836         (gst_element_lost_state), (gst_element_set_state),
16837         (gst_element_pads_activate), (gst_element_change_state),
16838         (gst_element_dispose), (gst_element_set_manager_func),
16839         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16840         (gst_element_set_manager), (gst_element_get_manager),
16841         (gst_element_set_bus), (gst_element_get_bus),
16842         (gst_element_set_scheduler), (gst_element_get_scheduler):
16843         * gst/gstelement.h:
16844         * gst/gstevent.c: (gst_event_new_segment_seek),
16845         (gst_event_new_flush):
16846         * gst/gstevent.h:
16847         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16848         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16849         (gst_message_new_eos), (gst_message_new_error),
16850         (gst_message_new_warning), (gst_message_new_tag),
16851         (gst_message_new_state_changed), (gst_message_new_application),
16852         (gst_message_get_structure), (gst_message_parse_tag),
16853         (gst_message_parse_state_changed), (gst_message_parse_error),
16854         (gst_message_parse_warning):
16855         * gst/gstmessage.h:
16856         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16857         (gst_real_pad_set_property), (gst_pad_set_active),
16858         (gst_pad_is_active), (gst_pad_set_blocked_async),
16859         (gst_pad_set_blocked), (gst_pad_is_blocked),
16860         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16861         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16862         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16863         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16864         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16865         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16866         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16867         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16868         (gst_pad_set_caps), (gst_pad_configure_sink),
16869         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16870         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16871         (gst_real_pad_dispose), (gst_real_pad_finalize),
16872         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16873         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16874         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16875         * gst/gstpad.h:
16876         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16877         (pipeline_bus_handler), (gst_pipeline_change_state),
16878         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16879         * gst/gstpipeline.h:
16880         * gst/gstprobe.h:
16881         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16882         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16883         (gst_queue_link_src), (gst_queue_bufferalloc),
16884         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16885         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16886         (gst_queue_loop), (gst_queue_handle_src_event),
16887         (gst_queue_handle_src_query), (gst_queue_src_activate),
16888         (gst_queue_change_state):
16889         * gst/gstqueue.h:
16890         * gst/gstscheduler.c: (gst_scheduler_init),
16891         (gst_scheduler_dispose), (gst_scheduler_create_task),
16892         (gst_scheduler_factory_create):
16893         * gst/gstscheduler.h:
16894         * gst/gststructure.c: (gst_structure_get_type),
16895         (gst_structure_copy_conditional):
16896         * gst/gststructure.h:
16897         * gst/gsttaginterface.h:
16898         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16899         (gst_task_init), (gst_task_dispose), (gst_task_create),
16900         (gst_task_get_state), (gst_task_start), (gst_task_stop),
16901         (gst_task_pause):
16902         * gst/gsttask.h:
16903         * gst/gstthread.c:
16904         * gst/gstthread.h:
16905         * gst/gsttypes.h:
16906         * gst/schedulers/Makefile.am:
16907         * gst/schedulers/cothreads_compat.h:
16908         * gst/schedulers/entryscheduler.c:
16909         * gst/schedulers/faircothreads.c:
16910         * gst/schedulers/faircothreads.h:
16911         * gst/schedulers/fairscheduler.c:
16912         * gst/schedulers/gstbasicscheduler.c:
16913         * gst/schedulers/gstoptimalscheduler.c:
16914         * gst/schedulers/gthread-cothreads.h:
16915         * gst/schedulers/threadscheduler.c:
16916         (gst_thread_scheduler_task_get_type),
16917         (gst_thread_scheduler_task_class_init),
16918         (gst_thread_scheduler_task_init),
16919         (gst_thread_scheduler_task_start),
16920         (gst_thread_scheduler_task_stop),
16921         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
16922         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16923         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
16924         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
16925         (plugin_init):
16926         * libs/gst/Makefile.am:
16927         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
16928         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
16929         (gst_file_pad_parent_set):
16930         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16931         (gst_dp_event_from_packet):
16932         * tests/complexity.c: (main):
16933         * tests/mass_elements.c: (main):
16934         * testsuite/states/locked.c: (message_received), (main):
16935         * testsuite/states/parent.c: (main):
16936         * tools/gst-inspect.c: (print_element_flag_info),
16937         (print_implementation_info), (print_pad_info):
16938         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
16939         (main):
16940         * tools/gst-md5sum.c: (event_loop), (main):
16941         * tools/gst-typefind.c: (main):
16942         * tools/gst-xmlinspect.c: (print_element_info):
16943         Next big merge.
16944         Added GstBus for mainloop integration.
16945         Added GstMessage for sending notifications on the bus.
16946         Added GstTask as an abstraction for pipeline entry points.
16947         Removed GstThread.
16948         Removed Schedulers.
16949         Simplified GstQueue for multithreaded core.
16950         Made _link threadsafe, removed old capsnego.
16951         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
16952         Added pad blocking functions.
16953         Reworked scheduling functions in GstPad to prepare for
16954         scheduling updates soon.
16955         Moved events out of data stream.
16956         Simplified GstEvent types.
16957         Added return values to push/pull.
16958         Removed clocking from GstElement.
16959         Added prototypes for state change function for next merge.
16960         Removed iterate from bins and state change management.
16961         Fixed some elements, disabled others for now.
16962         Fixed -inspect and -launch.
16963         Added check for GstBus.
16964
16965 2005-03-10  Wim Taymans  <wim@fluendo.com>
16966
16967         * docs/design/part-MT-refcounting.txt:
16968         * docs/design/part-clocks.txt:
16969         * docs/design/part-gstelement.txt:
16970         * docs/design/part-gstobject.txt:
16971         * docs/design/part-standards.txt:
16972         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16973         (gst_bin_remove_func), (gst_bin_remove):
16974         * gst/gstbin.h:
16975         * gst/gstbuffer.c:
16976         * gst/gstcaps.h:
16977         * testsuite/clock/clock1.c: (main):
16978         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
16979         (main):
16980         * testsuite/dlopen/loadgst.c: (do_test):
16981         * testsuite/refcounting/bin.c: (add_remove_test1),
16982         (add_remove_test2), (main):
16983         * testsuite/refcounting/element.c: (main):
16984         * testsuite/refcounting/element_pad.c: (main):
16985         * testsuite/refcounting/pad.c: (main):
16986         * tools/gst-launch.c: (sigint_handler_sighandler):
16987         * tools/gst-typefind.c: (main):
16988         Doc updates.
16989         Added doc about clock.
16990         removed gst_bin_iterate_recurse_up(), marked methods
16991         for removal.
16992         Fix more testsuites.
16993
16994 2005-03-09  Wim Taymans  <wim@fluendo.com>
16995
16996         * gst/gstpad.c: (gst_pad_get_direction),
16997         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
16998         (gst_pad_collect_valist):
16999         * testsuite/bins/interface.c: (main):
17000         * testsuite/caps/audioscale.c: (test_caps):
17001         * testsuite/caps/caps.c: (test1), (test2), (test3):
17002         * testsuite/caps/deserialize.c: (main):
17003         * testsuite/caps/enumcaps.c: (main):
17004         * testsuite/caps/filtercaps.c: (main):
17005         * testsuite/caps/intersect2.c: (main):
17006         * testsuite/caps/random.c: (main):
17007         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17008         * testsuite/caps/sets.c: (check_caps):
17009         * testsuite/caps/simplify.c: (check_caps), (main):
17010         * testsuite/caps/subtract.c: (check_caps):
17011         Fix _pad_get_direction wrt ghostpads.
17012         Fix caps testsuite.
17013
17014 2005-03-09  Wim Taymans  <wim@fluendo.com>
17015
17016         * check/Makefile.am:
17017         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17018         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17019         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17020         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17021         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17022         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17023         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17024         (bin_element_is_sink), (gst_bin_iterate_sinks),
17025         (gst_bin_iterate_all_by_interface):
17026         * gst/gstbin.h:
17027         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17028         (gst_element_change_state), (gst_element_dispose),
17029         (gst_element_finalize), (gst_element_set_loop_function):
17030         * gst/gstelement.h:
17031         * gst/gstiterator.c: (find_custom_fold_func):
17032         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17033         (gst_pad_collectv), (gst_pad_collect_valist),
17034         (gst_pad_template_new):
17035         * gst/gstpipeline.c: (gst_pipeline_class_init),
17036         (gst_pipeline_dispose), (gst_pipeline_set_property),
17037         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17038         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17039         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17040         * gst/gstutils.h:
17041         * gst/schedulers/entryscheduler.c:
17042         * gst/schedulers/gstbasicscheduler.c:
17043         (gst_basic_scheduler_cothreaded_chain),
17044         (gst_basic_scheduler_chain_add_element):
17045         * testsuite/bins/interface.c: (main):
17046         Added GstBin test.
17047         Added GstSystemClock test.
17048         Implemented clock distribution code in GstBin.
17049         Implemented iterate sinks method for future use.
17050         Rearranged gstelement.h
17051         Fix GstIterator comparison bug.
17052         Moved some code to GstPipeline, mostly clocking related.
17053
17054 2005-03-09  Wim Taymans  <wim@fluendo.com>
17055
17056         * configure.ac:
17057         * gst/gst_private.h:
17058         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17059         (gst_bin_remove_func), (gst_bin_remove),
17060         (gst_bin_get_by_name_recurse_up):
17061         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17062         (gst_clock_id_compare_func), (gst_clock_id_wait),
17063         (gst_clock_id_wait_async), (gst_clock_init),
17064         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17065         * gst/gstelement.h:
17066         * gst/gstinfo.c: (_gst_debug_init):
17067         * gst/gstobject.h:
17068         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17069         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17070         * gst/gstpad.h:
17071         Bump version number, we're now 0.9.0
17072         Add future debugging category.
17073         Fix NULL _unref() in _get_by_name_recurse_up
17074         Rearrange gstpad.h.
17075         Update some docs.
17076
17077 2005-03-08  Wim Taymans  <wim@fluendo.com>
17078
17079         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17080         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17081         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17082         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17083         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17084         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17085         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17086         * gst/elements/gstidentity.c: (gst_identity_class_init):
17087         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17088         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17089         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17090         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17091         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17092         (gst_tee_link):
17093         * gst/gstelement.c: (gst_element_class_init),
17094         (gst_element_base_class_init), (gst_element_init),
17095         (gst_element_get_random_pad), (gst_element_wait_state_change),
17096         (gst_element_change_state), (gst_element_dispose),
17097         (gst_element_finalize), (gst_element_set_loop_function):
17098         * gst/gstelement.h:
17099         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17100         * gst/gstthread.c: (gst_thread_class_init),
17101         (gst_thread_release_children_locks), (gst_thread_change_state):
17102         * gst/schedulers/gstbasicscheduler.c:
17103         (gst_basic_scheduler_loopfunc_wrapper),
17104         (gst_basic_scheduler_chain_wrapper),
17105         (gst_basic_scheduler_src_wrapper),
17106         (gst_basic_scheduler_remove_element):
17107         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17108         Remove threadsafe properties. Fix elements because GObject
17109         complains when installing a property before declaring a
17110         set/get_property handler.
17111         Rearrange gstelement.h file, use STATE macros for state locks.
17112         Free mutexes in the finalize method instead of dispose.
17113
17114 2005-03-08  Wim Taymans  <wim@fluendo.com>
17115
17116         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17117         * gst/gstthread.c: (gst_thread_release_children_locks):
17118         Added parentage check.
17119         Fix build og GstThread again.
17120
17121 2005-03-08  Wim Taymans  <wim@fluendo.com>
17122
17123         * docs/design/part-MT-refcounting.txt:
17124         * docs/design/part-conventions.txt:
17125         * docs/design/part-gstobject.txt:
17126         * docs/design/part-relations.txt:
17127         * docs/design/part-standards.txt:
17128         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17129         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17130         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17131         (gst_bin_iterate_all_by_interface):
17132         * gst/gstbuffer.h:
17133         * gst/gstclock.h:
17134         * gst/gstelement.c: (gst_element_class_init),
17135         (gst_element_change_state), (gst_element_set_loop_function):
17136         * gst/gstelement.h:
17137         * gst/gstiterator.c:
17138         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17139         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17140         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17141         (gst_object_set_parent), (gst_object_unparent),
17142         (gst_object_check_uniqueness):
17143         * gst/gstobject.h:
17144         Docs updates, clean up some headers.
17145
17146 2005-03-07  Wim Taymans  <wim@fluendo.com>
17147
17148         * check/.cvsignore:
17149         * check/Makefile.am:
17150         * check/gst-libs/.cvsignore:
17151         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17152         * check/gst/.cvsignore:
17153         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17154         (START_TEST), (gstbus_suite), (main):
17155         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17156         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17157         (gst_data_suite), (main):
17158         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17159         (add_fold_func), (gstiterator_suite), (main):
17160         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17161         (thread_name_object), (thread_name_object_default),
17162         (gst_object_name_compare), (gst_object_suite), (main):
17163         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17164         (gst_pad_suite), (main):
17165         * check/gstcheck.c: (gst_check_log_message_func),
17166         (gst_check_log_critical_func), (gst_check_init):
17167         * check/gstcheck.h:
17168         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17169         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17170         Added checks.
17171
17172 2005-03-07  Wim Taymans  <wim@fluendo.com>
17173
17174         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17175         (gst_list_iterator_next), (gst_list_iterator_resync),
17176         (gst_list_iterator_free), (gst_iterator_new_list),
17177         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17178         (gst_iterator_free), (gst_iterator_push), (filter_next),
17179         (filter_resync), (filter_uninit), (filter_free),
17180         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17181         (gst_iterator_foreach), (find_custom_fold_func),
17182         (gst_iterator_find_custom):
17183         * gst/gstiterator.h:
17184         Added missing files.
17185
17186 2005-03-07  Wim Taymans  <wim@fluendo.com>
17187
17188         * Makefile.am:
17189         * configure.ac:
17190         * docs/design/part-MT-refcounting.txt:
17191         * docs/design/part-conventions.txt:
17192         * docs/design/part-gstobject.txt:
17193         * docs/design/part-relations.txt:
17194         * examples/mixer/mixer.c: (main):
17195         * examples/thread/thread.c: (eos), (main):
17196         * gst/Makefile.am:
17197         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17198         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17199         (gst_spider_plug_from_srcpad):
17200         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17201         (gst_spider_identity_change_state),
17202         (gst_spider_identity_sink_loop_type_finding):
17203         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17204         * gst/elements/gstidentity.c: (gst_identity_init):
17205         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17206         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17207         * gst/elements/gsttypefindelement.c: (free_entry):
17208         * gst/gst.c:
17209         * gst/gst.h:
17210         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17211         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17212         (gst_bin_set_index), (gst_bin_set_element_sched),
17213         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17214         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17215         (gst_bin_iterate_elements), (iterate_child_recurse),
17216         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17217         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17218         (compare_interface), (gst_bin_get_by_interface),
17219         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17220         * gst/gstbin.h:
17221         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17222         (gst_buffer_default_free), (gst_buffer_default_copy),
17223         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17224         (gst_buffer_create_sub):
17225         * gst/gstbuffer.h:
17226         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17227         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17228         (gst_caps_unref), (gst_static_caps_get),
17229         (gst_caps_remove_and_get_structure), (gst_caps_append),
17230         (gst_caps_append_structure), (gst_caps_remove_structure),
17231         (gst_caps_copy_nth), (gst_caps_set_simple),
17232         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17233         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17234         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17235         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17236         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17237         (gst_caps_structure_figure_out_union),
17238         (gst_caps_switch_structures), (gst_caps_do_simplify),
17239         (gst_caps_replace), (gst_caps_from_string),
17240         (gst_caps_copy_conditional):
17241         * gst/gstcaps.h:
17242         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17243         (_gst_clock_id_free), (gst_clock_id_unref),
17244         (gst_clock_id_compare_func), (gst_clock_id_wait),
17245         (gst_clock_id_wait_async), (gst_clock_class_init),
17246         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17247         (gst_clock_get_time), (gst_clock_set_time_adjust),
17248         (gst_clock_set_property), (gst_clock_get_property):
17249         * gst/gstclock.h:
17250         * gst/gstcompat.h:
17251         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17252         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17253         * gst/gstdata.h:
17254         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17255         (gst_element_requires_clock), (gst_element_provides_clock),
17256         (gst_element_set_clock), (gst_element_clock_wait),
17257         (gst_element_wait), (gst_element_set_time_delay),
17258         (gst_element_is_indexable), (gst_element_add_pad),
17259         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17260         (pad_compare_name), (gst_element_get_static_pad),
17261         (gst_element_request_pad), (gst_element_get_request_pad),
17262         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17263         (gst_element_class_get_pad_template_list),
17264         (gst_element_class_get_pad_template), (gst_element_error_func),
17265         (gst_element_get_random_pad), (gst_element_get_event_masks),
17266         (gst_element_send_event), (gst_element_seek),
17267         (gst_element_get_query_types), (gst_element_query),
17268         (gst_element_get_formats), (gst_element_convert),
17269         (gst_element_is_locked_state), (gst_element_set_locked_state),
17270         (gst_element_sync_state_with_parent), (gst_element_change_state),
17271         (gst_element_finalize), (gst_element_yield),
17272         (gst_element_interrupt), (gst_element_set_scheduler),
17273         (gst_element_get_scheduler), (gst_element_set_loop_function):
17274         * gst/gstelement.h:
17275         * gst/gstevent.h:
17276         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17277         (gst_format_get_by_nick), (gst_format_get_details),
17278         (gst_format_iterate_definitions):
17279         * gst/gstformat.h:
17280         * gst/gstindex.c: (gst_index_gtype_resolver):
17281         * gst/gstinfo.c:
17282         * gst/gstinfo.h:
17283         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17284         (gst_mem_chunk_free):
17285         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17286         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17287         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17288         (gst_object_dispatch_properties_changed),
17289         (gst_object_set_name_default), (gst_object_set_name),
17290         (gst_object_get_name), (gst_object_set_name_prefix),
17291         (gst_object_get_name_prefix), (gst_object_set_parent),
17292         (gst_object_get_parent), (gst_object_unparent),
17293         (gst_object_check_uniqueness), (gst_object_save_thyself),
17294         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17295         (gst_object_set_property), (gst_object_get_property),
17296         (gst_object_get_path_string):
17297         * gst/gstobject.h:
17298         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17299         (gst_real_pad_init), (gst_real_pad_get_property),
17300         (gst_pad_custom_new), (gst_pad_get_direction),
17301         (gst_pad_set_active), (gst_pad_is_active),
17302         (gst_pad_set_event_function), (gst_pad_is_linked),
17303         (gst_pad_link_free), (gst_pad_link_intersect),
17304         (gst_pad_link_fixate), (gst_pad_set_caps),
17305         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17306         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17307         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17308         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17309         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17310         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17311         (gst_pad_realize), (gst_pad_get_allowed_caps),
17312         (gst_real_pad_dispose), (gst_real_pad_finalize),
17313         (gst_pad_collectv), (gst_pad_collect_valist),
17314         (gst_pad_template_dispose), (gst_pad_template_new),
17315         (gst_pad_get_internal_links):
17316         * gst/gstpad.h:
17317         * gst/gstpipeline.c: (gst_pipeline_dispose),
17318         (gst_pipeline_change_state):
17319         * gst/gstpipeline.h:
17320         * gst/gstplugin.c:
17321         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17322         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17323         * gst/gstpluginfeature.h:
17324         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17325         * gst/gstquery.c: (_gst_query_type_initialize),
17326         (gst_query_type_register), (gst_query_type_get_by_nick),
17327         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17328         * gst/gstquery.h:
17329         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17330         * gst/gstscheduler.c: (gst_scheduler_add_element),
17331         (gst_scheduler_factory_create):
17332         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17333         (gst_structure_free), (gst_structure_set_name),
17334         (gst_structure_id_set_value), (gst_structure_set_value),
17335         (gst_structure_set_valist), (gst_structure_remove_field),
17336         (gst_structure_remove_fields),
17337         (gst_structure_remove_fields_valist),
17338         (gst_structure_remove_all_fields), (gst_structure_foreach),
17339         (gst_structure_map_in_place),
17340         (gst_caps_structure_fixate_field_nearest_int),
17341         (gst_caps_structure_fixate_field_nearest_double):
17342         * gst/gststructure.h:
17343         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17344         (gst_system_clock_init), (gst_system_clock_dispose),
17345         (gst_system_clock_async_thread),
17346         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17347         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17348         * gst/gstsystemclock.h:
17349         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17350         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17351         * gst/gsttaginterface.c:
17352         * gst/gstthread.c: (gst_thread_dispose),
17353         (gst_thread_release_children_locks), (gst_thread_change_state),
17354         (gst_thread_main_loop):
17355         * gst/gsttrashstack.h:
17356         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17357         * gst/gsttypes.h:
17358         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17359         (gst_element_request_pad), (gst_element_get_pad_from_template),
17360         (gst_element_request_compatible_pad),
17361         (gst_element_get_compatible_pad_filtered),
17362         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17363         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17364         (gst_element_link_many), (gst_element_link),
17365         (gst_element_link_pads), (gst_element_unlink_pads),
17366         (gst_element_unlink_many), (gst_element_unlink),
17367         (gst_pad_can_link_filtered), (gst_pad_can_link),
17368         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17369         (gst_object_default_error), (gst_bin_add_many),
17370         (gst_bin_remove_many), (gst_element_populate_std_props),
17371         (gst_element_class_install_std_props), (gst_buffer_merge),
17372         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17373         (link_fold_func), (gst_pad_proxy_setcaps):
17374         * gst/gstutils.h:
17375         * gst/gstvalue.c: (gst_value_deserialize_string):
17376         * gst/parse/grammar.y:
17377         * gst/schedulers/gstbasicscheduler.c:
17378         (gst_basic_scheduler_cothreaded_chain),
17379         (gst_basic_scheduler_chain_recursive_add),
17380         (gst_basic_scheduler_pad_link):
17381         * gst/schedulers/gstoptimalscheduler.c:
17382         (get_group_schedule_function),
17383         (gst_opt_scheduler_state_transition),
17384         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17385         * libs/gst/bytestream/bytestream.c:
17386         * libs/gst/dataprotocol/dataprotocol.c:
17387         (gst_dp_header_from_buffer):
17388         * po/nb.po:
17389         * po/ru.po:
17390         * tests/threadstate/threadstate2.c: (eos):
17391         * tools/gst-compprep.c: (main):
17392         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17393         (print_pad_info), (print_children_info):
17394         * tools/gst-launch.c: (idle_func), (main):
17395         * tools/gst-md5sum.c: (idle_func), (main):
17396         * tools/gst-xmlinspect.c: (print_element_info):
17397         First THREADED backport attempt, focusing on adding locks and
17398         making sure the API is threadsafe. Needs more work. More docs
17399         follow this week.
17400
17401 2005-02-24  Andy Wingo  <wingo@pobox.com>
17402
17403         * tests/bench-complexity.scm:
17404         * tests/complexity.gnuplot: New files, good for running complexity
17405         benchmarks.
17406
17407         * tests/Makefile.am:
17408         * tests/complexity.c: New test, sets up N elements, at each level
17409         teeing into M streams per element. Eeeenteresting.
17410
17411         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17412         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17413         running bench-mass_elements.scm.
17414
17415         * tests/bench-mass_elements.scm: New script, runs mass_elements
17416         for various numbers of identities, outputting the results to a
17417         file. Requires guile 1.6. Just for testing.
17418
17419 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17420
17421         * gst/schedulers/fairscheduler.c:
17422           compile with debug disabled
17423
17424 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17425
17426         * configure.ac:
17427           hunting season on 0.9 is now OPEN