6d522d0f44f9e44b5a5db8bba0285fce31928524
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
4         * libs/gst/check/gstcheck.h:
5           factor out the method from tests that checks size of structures,
6           and add code to generate the header containing these sizes
7         * tests/check/gst/gstabi.c: (GST_START_TEST):
8         * tests/check/gst/struct_i386.h:
9         * tests/check/libs/libsabi.c: (GST_START_TEST):
10         * tests/check/libs/struct_i386.h:
11           use it
12
13 2006-06-06  Michael Smith  <msmith@fluendo.com>
14
15         * gst/gstsegment.h:
16           Don't use c++-style comments, fixes #343929
17
18 2006-06-05  Edward Hervey  <edward@fluendo.com>
19
20         * gst/gst.c:
21         plugin_paths is not used if we build without registry support.
22
23         * gst/gstsegment.c: (gst_segment_copy): 
24         _copy() was always returning NULL...
25
26 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
27
28         * libs/gst/dataprotocol/dataprotocol.c:
29         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
30         (gst_dp_packet_from_event):
31           factor out CRC code
32
33 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
34
35         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
36           make sure we unset caps
37
38 2006-06-02  Michael Smith  <msmith@fluendo.com>
39
40         * libs/gst/check/gstcheck.c: (gst_check_init),
41         (gst_check_chain_func):
42         * libs/gst/check/gstcheck.h:
43           Add a cond/mutex to the check support lib, signal this whenever we
44           add to the buffers list. This will allow tests to not busy-wait on
45           the buffer-list.
46
47 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
48
49         * libs/gst/dataprotocol/dataprotocol.c:
50         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
51         (gst_dp_packet_from_event):
52           factor out some common header init code
53
54 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
55
56         * docs/libs/gstreamer-libs-sections.txt:
57         * docs/libs/tmpl/gstdataprotocol.sgml:
58         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
59         * libs/gst/dataprotocol/dataprotocol.h:
60           API: make gst_dp_crc() public
61
62 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
63
64         * plugins/indexers/gstindexers.c: (plugin_init):
65         conditionally register fileindexer (fixes #343598)
66
67 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
68
69         * gst/gsttagsetter.h:
70         Can't cast ifaces to a class
71
72         * libs/gst/net/gstnetclientclock.h:
73         * libs/gst/net/gstnettimeprovider.h:
74         * plugins/elements/gstfakesink.h:
75         * plugins/elements/gstfakesrc.h:
76         * plugins/elements/gstfdsink.h:
77         * plugins/elements/gstfdsrc.h:
78         * plugins/elements/gstfilesink.h:
79         * plugins/elements/gstfilesrc.h:
80         * plugins/elements/gstidentity.h:
81         * plugins/elements/gstqueue.h:
82         * plugins/elements/gsttee.h:
83         * plugins/indexers/gstfileindex.c:
84         * plugins/indexers/gstmemindex.c:
85         * tests/old/examples/plugins/example.h:
86         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
87
88 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
89
90         * libs/gst/dataprotocol/dataprotocol.c:
91         (gst_dp_header_from_buffer):
92           make sure we zero the whole ABI-compatible area
93
94 2006-06-01  Wim Taymans  <wim@fluendo.com>
95
96         Patch by: Alessandro Decina <alessandro at nnva dot org>
97
98         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
99         Make sure the EOS flag is cleared from pads after a flush
100         or stop. Fixes #343538.
101
102         * tests/check/libs/collectpads.c: (GST_START_TEST),
103         (gst_collect_pads_suite):
104         Added test for collectpads reusage after EOS.
105
106 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
107
108         * gst/gst.c:
109          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
110         * win32/common/libgstbase.def:
111          export gst_collect_pads_set_flushing
112         * win32/common/libgstreamer.def:
113          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
114          gst_value_fraction_multiply
115         * win32/vs6/gst_inspect.dsp:
116          add a link to intl.lib
117
118 2006-05-30  Wim Taymans  <wim@fluendo.com>
119
120         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
121         (gst_collect_pads_chain):
122         Handle the case where a pad is removed from the collection
123         that could cause the other pads to become collectable.
124
125 2006-05-30  Wim Taymans  <wim@fluendo.com>
126
127         * gst/gstelement.c:
128         Clarify the use of _release_request_pad() and
129         _get_request_pad() a bit better.
130
131         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
132         (gst_adapter_take_buffer):
133         Fix some doc and comment typos.
134
135 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
136
137         * docs/gst/gstreamer-sections.txt:
138         * docs/libs/gstreamer-libs-sections.txt:
139           add declared symbols
140
141 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
142
143         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
144         Add debug that can be enabled using a #define at the top of the file,
145         for dumping stats about how late/early we were when waking up from
146         waiting on the clock.
147
148 2006-05-30  Wim Taymans  <wim@fluendo.com>
149
150         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
151         When rebuilding the pad list, don't leak the previous list.
152
153 2006-05-30  Wim Taymans  <wim@fluendo.com>
154
155         Patch by: Lutz Mueller <lutz at topfrose dot de>
156
157         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
158         (gst_base_src_get_query_types), (gst_base_src_update_length):
159         Publish supported query types.
160         Update last_stop field in get_range mode so the position
161         query works. Fixes #342321.
162
163 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
164
165         * docs/gst/gstreamer-sections.txt:
166         * gst/gsttaglist.c: (_gst_tag_initialize):
167         * gst/gsttaglist.h:
168           API: add GST_TAG_PREVIEW_IMAGE (#343341).
169
170 2006-05-30  Wim Taymans  <wim@fluendo.com>
171
172         Patch by: Alessandro Decina <alessandro at nnva dot org>
173
174         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
175         Unlock mutex when removing an unknown pad.
176         Fixes #343334.
177
178         * tests/check/Makefile.am:
179         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
180         (push_event), (setup), (teardown), (GST_START_TEST),
181         (gst_collect_pads_suite), (main):
182         Added collecpads check, disabled for now as check crashes for
183         some reason.
184
185 2006-05-29  Wim Taymans  <wim@fluendo.com>
186
187         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
188         Don't leak pads lists.
189
190 2006-05-29  Wim Taymans  <wim@fluendo.com>
191
192         * docs/libs/gstreamer-libs-sections.txt:
193         * libs/gst/base/gstcollectpads.c:
194         (gst_collect_pads_set_flushing_unlocked),
195         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
196         (gst_collect_pads_stop):
197         * libs/gst/base/gstcollectpads.h:
198         API: gst_collect_pads_set_flushing
199         Added api to set the pads to flushing, usefull for seeking
200         code in elements using collectpads.
201         Clear segment when receiving a flush.
202
203 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
204
205         * gst/gst.c: (add_path_func), (init_post):
206           Don't scan registry paths passed via --gst-plugin--path immediately
207           (will crash, because absolutely nothing is set up and no types are
208           registered etc.); do this later in init_post(). Fixes #343057.
209
210 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
211
212         * gst/gst.c: (init_post):
213           if we have fork, fork while reading/rebuilding the registry
214           so the parent doesn't take the hit of having all plugins loaded
215           in memory.  Fixes #342777.
216         * configure.ac:
217           Check if we have fork()
218         * win32/common/config.h.in:
219           no fork() on win32
220
221 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
222
223         * plugins/elements/gstelements.c:
224         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
225         (gst_file_src_init), (gst_file_src_set_property),
226         (gst_file_src_get_property), (gst_file_src_start):
227         * plugins/elements/gstfilesrc.h:
228
229         Add a use-mmap property to enable easier testing of all code paths.
230         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
231         in the absence of gnomevfssrc. (Closes #340501)
232
233 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
234
235         * tools/gst-inspect.c:
236         Add missing include, removes warning of ngettext not being defined on
237         some arches.
238
239 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
240
241         * gst/gstvalue.c: (gst_value_deserialize_fraction):
242         Handle NULL input and output pointers silently as a failed conversion,
243         rather than g_warnings.
244
245 2006-05-25  Wim Taymans  <wim@fluendo.com>
246
247         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
248         Initialize variable before using. Fixes #342820.
249
250 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
251
252         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
253           Fix off-by-one bug that would only allow peeks of N-1 bytes
254           from the start even if the buffer to typefind on contains
255           in fact N bytes of data (makes vorbis typefinding from a
256           vorbis identification header buffer work).
257
258         * tests/check/Makefile.am:
259         * tests/check/libs/.cvsignore:
260         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
261         (gst_typefindhelper_suite), (main), (foobar_typefind),
262         (plugin_init):
263           Add very basic unit test for gst_type_find_helper_for_buffer()
264           that checks for the problem fixed above.
265
266 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
267
268         * tools/gst-inspect.c: (print_interfaces),
269         (print_element_properties_info), (print_element_list), (main):
270           add more translatable strings
271
272 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
273
274         Patch by: Julien Moutte  <julien at moutte net>
275
276         * docs/gst/gstreamer-sections.txt:
277           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
278           
279         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
280         (gst_fake_sink_preroll):
281         * plugins/elements/gstfakesink.h:
282           Add new ::preroll-handoff signal (#337100).
283
284 2006-05-23  Wim Taymans  <wim@fluendo.com>
285
286         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
287         * gst/gstpad.h:
288         Added _CUSTOM error and success GstFlowReturn that can be
289         used be elements internally. 
290         Added macro to check for SUCCESS flowreturns.
291         API: GST_FLOW_CUSTOM_SUCCESS
292         API: GST_FLOW_CUSTOM_ERROR
293         API: GST_FLOW_IS_SUCCESS
294
295         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
296         Added check for GstFlowReturn sanity.
297
298 2006-05-23  Wim Taymans  <wim@fluendo.com>
299
300         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
301
302         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
303         (gst_collect_pads_event):
304         clear/reset segment info in FLUSH_STOP.
305         Fixes #336929.
306
307 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
308
309         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
310         (gst_collect_pads_check_collected):
311         Flush queued buffer on _stop(), fixes playing again (#342454)
312
313 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
314
315         * tests/check/gst/gststructure.c: (GST_START_TEST),
316         (gst_structure_suite):
317           add a test for a complete structure
318
319 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
320
321         * docs/faq/developing.xml:
322         * docs/faq/faq.xml:
323         * docs/faq/troubleshooting.xml:
324         * docs/faq/using.xml:
325           Some minor FAQ updates that won't change the fact that
326           our FAQ is badly structured, full of information hardly
327           anyone new to GStreamer needs to know and lacking lots
328           of information people constantly ask for.
329           
330 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
331
332         * gst/gstpad.c: (gst_pad_set_caps):
333           Short-circuit gst_pad_set_caps if setting the existing
334           caps pointer again, and avoid printing debug and 
335           reffing/unreffing the caps.
336
337         * plugins/elements/gstqueue.c: (gst_queue_push_one):
338           There's actually no need to set the caps before pushing -
339           the acceptcaps method will handle it anyway.
340
341 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
342
343         * docs/gst/gstreamer-sections.txt:
344         * win32/common/libgstreamer.def:
345         * gst/gstutils.c: (gst_element_seek_simple):
346         * gst/gstutils.h:
347           API: add gst_element_seek_simple() (#342238).
348
349 2006-05-18  Edward Hervey  <edward@fluendo.com>
350
351         * gst/gsttypefind.c: (gst_type_find_get_type):
352         * gst/gsttypefind.h:
353         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
354         registered for GstTypeFind pointers. This allows wrapping the structure
355         in bindings (i.e. gst-python).
356
357 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
358
359         * gst/gsttagsetter.c:
360           Docs additions and fixes (see #339918).
361
362 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
363
364         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
365         The caps intersection algorithm can produce multiple copies of the
366         caps. Until that is fixed, we need to simplify the result to be
367         sure whether the allowed caps are fixed or not.
368
369         * plugins/elements/gstqueue.c: (gst_queue_init),
370         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
371         (gst_queue_push_one):
372         Proxied buffer alloc should not set the caps on the source pad.
373         When pushing buffers, we always accept the caps change that triggers.
374         This prevents negotiation errors caused by caps changing mid-stream 
375         and then being refused on our source pad (because upstream is now
376         refusing those caps).
377
378 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
379
380         * tests/examples/helloworld/helloworld.c: (main):
381           Must plug audioconvert and audioresample between decoder
382           and audio sink.
383
384 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
385
386         * gst/gstregistryxml.c: (read_string), (load_pad_template),
387         (load_feature), (load_plugin):
388         Allow empty strings for some of the plugin fields so we don't 
389         drop valid plugin entries that were written out correctly
390         (Fixes #341479)
391
392 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
393         
394         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
395           Use g_remove and g_rename instead of remove and rename that don't 
396           handle utf8 characters. rename was failing for users who had specific
397           characters in their name then the registry was built at each 
398           gstreamer init.
399         * win32/vs6/gst_inspect.dsp:
400         * win32/vs6/gst_launch.dsp:
401         * win32/vs6/libgstbase.dsp:
402         * win32/vs6/libgstcoreelements.dsp:
403         * win32/vs6/libgstreamer.dsp:
404           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
405           build of libgstreamer and clean unused libraries in projects link 
406           settings.
407
408 2006-05-17  Edward Hervey  <edward@fluendo.com>
409
410         * plugins/elements/gstqueue.c: (gst_queue_push_one):
411         The queue is not responsible for pushing an EOS when receiving a fatal
412         flow error. It's up to the real element driving the pipeline to do that.
413
414 2006-05-16  Edward Hervey  <edward@fluendo.com>
415
416         * plugins/elements/gstqueue.c: (gst_queue_push_one):
417         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
418         buffer returned a fatal error. It should just send an EOS and stop
419         it's task.
420         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
421         when pushing buffers on the queue and will be able to handle the event.
422
423 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
424
425         * docs/manual/basics-bins.xml:
426         * docs/manual/basics-init.xml:
427           Fix typos and minor errors in sample code (#341856).
428
429 2006-05-16  Wim Taymans  <wim@fluendo.com>
430
431         * docs/design/part-qos.txt:
432         Fix indexes in formulas to make more sense.
433
434 2006-05-15  Wim Taymans  <wim@fluendo.com>
435
436         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
437         Don't report POSITION based on clock time if sync is
438         disabled in a sink.
439
440 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
441
442         * gst/gstobject.h:
443           Add cast to make compiler happy - refcount variable was a gint
444           in GstObject but is a guint in GObject and g_atomic_int_get()
445           wants a gint *.
446
447 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
448
449         * gst/parse/Makefile.am:
450           chain commands using &&, which also makes parallel make work
451
452 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
453
454         * docs/gst/gstreamer-sections.txt:
455         * gst/gstevent.c:
456         * gst/gstevent.h:
457         * gst/gstmessage.h:
458           Minor docs fixes.
459
460 === release 0.10.6 ===
461
462 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
463
464         * configure.ac:
465           releasing 0.10.6, "Take the cannoli"
466
467 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
468
469         * tools/gst-launch.c: (print_tag):
470           Fix use of uninitialized variable in the hypothetical
471           case that some broken plugin creates a GST_TAG_IMAGE
472           tag containing a NULL buffer (#341667).
473
474 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
475
476         * tools/gst-launch.c: (print_tag):
477           Print something more intelligible for image tags when
478           using the -t switch (#341556).
479
480 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
481
482         * Makefile.am:
483           updates for win32
484         * configure.ac:
485           define GST_MAJORMINOR so we have it available in win32/common/config.h
486           Possibly remove it from our Makefile.am files later
487         * win32/common/config.h:
488         * win32/common/config.h.in:
489           added GST_MAJORMINOR
490         * win32/common/gstenumtypes.c: (register_gst_resource_error):
491         * win32/common/gstversion.h:
492           updated
493
494 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
495
496         * win32/MANIFEST:
497           Update win32 files listing.
498         * win32/common/gstversion.h:
499           Add GST_MAJORMINOR definition.
500         * win32/common/libgstreamer.def:
501           Add new exported functions.
502           
503 2006-05-12  Michael Smith  <msmith@fluendo.com>
504
505         * gst/gstplugin.c: (gst_plugin_load_file):
506           If an so file has no plugin entry point, unload the module.
507
508 2006-05-11  Wim Taymans  <wim@fluendo.com>
509
510         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
511         (gst_queue_set_property):
512         Don't forget to signal the _chain or _loop function 
513         when the queue size or thresholds change since that might
514         cause them to make progres again.
515
516 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
517
518         * gst/gstclock.c: (gst_clock_class_init):
519         * gst/gstindex.c: (gst_index_class_init):
520         * gst/gstobject.c: (gst_object_class_init):
521         * gst/gstpad.c: (gst_pad_class_init):
522         * gst/gstpipeline.c: (gst_pipeline_class_init):
523         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
524         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
525         * libs/gst/base/gstbasetransform.c:
526         (gst_base_transform_class_init):
527         * libs/gst/net/gstnetclientclock.c:
528         (gst_net_client_clock_class_init):
529         * libs/gst/net/gstnettimeprovider.c:
530         (gst_net_time_provider_class_init):
531         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
532         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
533         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
534         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
535         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
536         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
537         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
538         * plugins/elements/gstidentity.c: (gst_identity_class_init):
539         * plugins/elements/gsttee.c: (gst_tee_class_init):
540         * tests/old/examples/plugins/example.c: (gst_example_class_init):
541         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
542           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
543
544 2006-05-11  Wim Taymans  <wim@fluendo.com>
545
546         * gst/gstbuffer.c: (_gst_buffer_initialize):
547         Register subbufer along with the buffer type so that
548         it does not accidentally gets registered from N
549         different streaming threads in a non threadsafe way.
550
551 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
552
553         * gst/gstbuffer.h:
554         * gst/gstevent.h:
555         * gst/gstmessage.h:
556           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
557           gst_event_ref() and gst_message_ref() functions again
558           (ugly hack, please do fix if there's a better way besides
559           overrides.txt, which doesn't seem to work).
560
561 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
562
563         * libs/gst/check/gstcheck.h:
564           add an assert for setting state to avoid lots of repetitive code
565           in the future
566
567 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
568
569         * gst/gstvalue.c: (gst_value_serialize_flags):
570           fix a leak if no flags are set
571         * tests/check/gst/gstvalue.c: (GST_START_TEST):
572           fix leak in tests
573
574 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
575
576         * docs/manual/basics-pads.xml:
577           Expand a bit on caps and filtered links and update
578           examples that were still using the no longer existing
579           gst_pad_link_filtered() (#338206).
580
581 2006-05-10  Wim Taymans  <wim@fluendo.com>
582
583         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
584         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
585         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
586         (gst_collect_pads_stop):
587         * libs/gst/base/gstcollectpads.h:
588         No need to call _stop in _finalize.
589         Iterate the main pad list in _finalize.
590         Added some more debug.
591         Free lists and data in the right order.
592         Also free data whem doing _remove_pad when stopped for
593         backward compatibility protect ::started with PAD_LOCK as
594         well.
595
596 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
597
598         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
599         (gst_structure_parse_value):
600           add some comments
601           rename a method so that it actually says what it does better
602
603 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
604
605         * gst/gstevent.c: (_gst_event_initialize):
606         * gst/gstformat.c: (_gst_format_initialize):
607           make sure some essential types used by events are registered
608           as part of gst_init()
609         * gst/gstvalue.c: (gst_value_serialize_flags):
610           if no flags are set, serialize them to a value that represents NONE
611           so that deserializing them works
612         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
613           add tests for serialization and deserialization of flags
614
615 2006-05-10  Wim Taymans  <wim@fluendo.com>
616
617         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
618         (gst_collect_pads_collect_range), (gst_collect_pads_available),
619         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
620         (gst_collect_pads_event), (gst_collect_pads_chain):
621         Update docs.
622         Better debug info.
623         Catch and return errors from the collect function
624         Refuse data on eos pads.
625
626 2006-05-10  Edward Hervey  <edward@fluendo.com>
627
628         * gst/gstinterface.h:
629         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
630         GInterface type checking.
631         They were previously using non-defined macros.
632
633 2006-05-09  Wim Taymans  <wim@fluendo.com>
634
635         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
636         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
637         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
638         (gst_collect_pads_start), (gst_collect_pads_stop),
639         (gst_collect_pads_peek), (gst_collect_pads_pop),
640         (gst_collect_pads_available), (gst_collect_pads_read),
641         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
642         (gst_collect_pads_is_collected), (gst_collect_pads_event),
643         (gst_collect_pads_chain):
644         * libs/gst/base/gstcollectpads.h:
645         Clean up the mess that is collectpads, add comments and
646         FIXMEs where needed.
647         Maintain a separate pad list so we can add pads while
648         collecting the other ones. For this we need a new separate 
649         lock (see comics).
650         Fix memory leak in finalize.
651         Refactor some weird code to set/unset pad flushing flags, mark
652         with comments.
653         Don't crash in _available, _read, _flush when we're EOS.
654
655         * tests/check/libs/.cvsignore:
656         Ignore adapter check binary.
657
658 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
659
660         * gst/gstindex.c: (gst_index_resolver_get_type):
661         * plugins/elements/gstfakesink.c:
662         (gst_fake_sink_state_error_get_type):
663         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
664         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
665         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
666           Const-ify GEnumValue arrays.
667
668 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
669
670         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
671           Add test case for flags + gst_buffer_make_metadata_writable().
672
673 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
674
675         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
676           gst_buffer_make_metadata_writable() should maintain the
677           buffer flags (those that make sense at least) (see #340859).
678
679 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
680
681         * tools/gst-inspect.c:
682         * tools/gst-launch.c:
683         * tools/gst-typefind.c:
684         * tools/gst-xmlinspect.c:
685         * tools/tools.h:
686           Fix up includes: need to include stdlib.h in tools.h for exit().
687
688 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
689
690         * gst/gsttaglist.c: (_gst_tag_initialize):
691         * gst/gsttaglist.h:
692           API: add GST_TAG_IMAGE tag (#340721).
693
694 2006-05-08  Wim Taymans  <wim@fluendo.com>
695
696         * gst/gstquery.c:
697         Added some docs for the segment query.
698
699 2006-05-08  Wim Taymans  <wim@fluendo.com>
700
701         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
702         (gst_base_src_loop), (gst_base_src_change_state):
703         Always push non-flushing serialized events in the streaming 
704         thread.
705
706 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
707
708         * gst/gsterror.c: (_gst_stream_errors_init):
709           Add a missing error string.
710
711 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
712
713         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
714         Add applied_rate to the debug
715
716         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
717         Copy applied_rate into the outgoing NEWSEGMENT event
718
719 2006-05-08  Wim Taymans  <wim@fluendo.com>
720
721         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
722
723         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
724         (gst_base_sink_change_state):
725         call ::unlock before taking the PREROLL_LOCK so we can safely
726         handle elements that lock in ::render.
727         Fixes #340174.
728
729 2006-05-08  Edward Hervey  <edward@fluendo.com>
730
731         * autogen.sh: (CONFIGURE_DEF_OPT): 
732         Darwin's libtoolize is in fact called glibtoolize.
733         Adding glibtoolize to the list of accepted names for libtoolize.
734
735 2006-05-08  Wim Taymans  <wim@fluendo.com>
736
737         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
738         Unify error handling, don't post an error message
739         when a push() returns EOS but perform our normal EOS
740         handling code. Fixes #340772.
741
742 2006-05-08  Wim Taymans  <wim@fluendo.com>
743
744         * docs/design/part-overview.txt:
745         Make upsteam/downstream concepts more clear.
746         Give an example of serialized/non-serialized events.
747
748         * docs/design/part-events.txt:
749         * docs/design/part-streams.txt:
750         Mention applied_rate.
751
752         * docs/design/part-trickmodes.txt:
753         Mention applied rate, flesh out some more use cases.
754
755         * gst/gstevent.c: (gst_event_new_new_segment),
756         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
757         (gst_event_parse_new_segment_full), (gst_event_new_tag),
758         (gst_event_parse_tag), (gst_event_new_buffer_size),
759         (gst_event_parse_buffer_size), (gst_event_new_qos),
760         (gst_event_parse_qos), (gst_event_parse_seek),
761         (gst_event_new_navigation):
762         * gst/gstevent.h:
763         Add applied_rate field to NEWSEGMENT event.
764         API: gst_event_new_new_segment_full()
765         API: gst_event_parse_new_segment_full()
766
767         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
768         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
769         (gst_segment_to_stream_time), (gst_segment_to_running_time):
770         * gst/gstsegment.h:
771         Add applied_rate to GstSegment structure.
772         Make calculation of stream_time and running_time more correct
773         wrt rate/applied_rate.
774         Add some more docs.
775         API: GstSegment::applied_rate field
776         API: gst_segment_set_newsegment_full();
777
778         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
779         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
780         * libs/gst/base/gstbasetransform.c:
781         (gst_base_transform_sink_eventfunc),
782         (gst_base_transform_handle_buffer):
783         Parse and use applied_rate in the GstSegment field.
784
785         * tests/check/gst/gstevent.c: (GST_START_TEST):
786         Add check for applied_rate field.
787
788         * tests/check/gst/gstsegment.c: (GST_START_TEST),
789         (gstsegments_suite):
790         Add more checks for various GstSegment operations.
791
792 2006-05-08  Wim Taymans  <wim@fluendo.com>
793
794         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
795         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
796         (gst_base_sink_get_position), (gst_base_sink_change_state):
797         Store the sync time of the buffer end position separatly in a
798         new variable eos_rtime so we can properly sync the EOS event.
799         Fixes #340697.
800         Fix the docs for gst_base_sink_set_qos_enabled().
801         Don't set segment start to invalid value when we receive a 
802         non TIME newsegment.
803         get closer to handling position reporting for negative rates 
804         correctly.
805
806 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
807
808         * gst/gstcaps.c:
809         Docs about how to print caps for debug purposes.
810
811         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
812         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
813
814 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
815
816         * gst/gstelement.c:
817           use full enum names and preprend a '%' in docs strings to make recent 
818           gtk-doc turn that into a link
819
820 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
821
822         * docs/manual/basics-bins.xml:
823         * docs/manual/basics-bus.xml:
824         * docs/manual/basics-pads.xml:
825           Some typo fixes, some additions, some clarifications. 
826
827 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
828
829         * tools/gst-inspect.c: (main):
830         * tools/gst-launch.c: (main):
831         * tools/gst-run.c: (main):
832         * tools/gst-typefind.c: (main):
833         * tools/gst-xmlinspect.c: (main):
834           Use the string passed to g_option_context_new() for
835           what it's intended for - the program name is already
836           printed elsewhere.
837
838 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
839
840         * tools/Makefile.am:
841         * tools/gst-inspect.c: (main):
842         * tools/gst-launch.c: (main):
843         * tools/gst-xmlinspect.c: (main):
844         * tools/tools.h:
845           Add back --version command line option (#340460).
846
847         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
848           Add --version option and use GOption for argument parsing; refactor a
849           bit; accept directories as arguments and recurse into them; lastly,
850           print a decent error message when things go wrong.
851
852 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
853
854         * docs/manual/basics-bins.xml:
855         Don't mention GstThread (#340611)
856         * docs/manual/basics-elements.xml:
857         Update link to GObject tutorial (#340607)
858         
859 2006-05-05  Wim Taymans  <wim@fluendo.com>
860
861         * gst/gstbuffer.h:
862         * gst/gstminiobject.c:
863         Add note about refcounting and miniobject/buffer writeability
864         to docs. Fixes #340604
865
866         * gst/gstelementfactory.h:
867         Added some explanation about @klass.
868
869 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
870
871         * docs/manual/intro-motivation.xml:
872         * docs/manual/manual.xml:
873         Avoid CORBA & Bonobo references (#340598)
874
875 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
876
877         * docs/manual/basics-bus.xml:
878         * docs/manual/basics-pads.xml:
879         Fix up some inaccuracies and omissions (#340609)
880         
881 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
882
883         * gst/gstghostpad.c:
884           Small typo in docs (#340625)
885
886 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
887
888         * gst/parse/Makefile.am:
889           Make 'make -j' proof (see #340698).
890
891 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
892
893         * configure.ac:
894           Require GLib-2.8 here as well.
895
896 2006-05-05  Wim Taymans  <wim@fluendo.com>
897
898         * gst/glib-compat.c:
899         * gst/gst.c: (init_pre):
900         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
901         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
902         (gst_object_dispatch_properties_changed):
903         * gst/gstobject.h:
904         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
905         * gst/gststructure.c: (gst_structure_set_valist):
906         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
907         Remove pre glib2.8 compatibility, fixes #340508
908
909 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
910
911         * gst/gsttaglist.h:
912           Mention type of tags in doc blurbs.
913
914 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
915
916         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
917         (gst_pad_configure_src), (gst_pad_push):
918         Restore acceptcaps checking behaviour now that good plugins have
919         been released.
920
921 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
922
923         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
924
925         * gst/gst.c:
926         * gst/gstbus.c:
927         * gst/gstclock.c:
928         * gst/gstevent.c:
929         * gst/gstformat.c:
930         * gst/gstmessage.c:
931         * gst/gstparse.c:
932         * gst/gstquery.c:
933         * gst/gstutils.c:
934         * gst/parse/Makefile.am:
935         * libs/gst/base/gstadapter.c:
936         * libs/gst/base/gstbasesrc.c:
937         * libs/gst/base/gstpushsrc.c:
938         * libs/gst/base/gsttypefindhelper.c:
939         * plugins/elements/gstfakesrc.c:
940         * plugins/elements/gstidentity.c:
941           Make sure gstprivate.h and/or config.h are
942           always included first, otherwise some of our
943           defines (like _FILE_OFFSET_BITS) might be
944           redefined in the system headers. Fixes build
945           on opensolaris (#340016).
946
947 2006-05-04  Wim Taymans  <wim@fluendo.com>
948
949         * docs/libs/gstreamer-libs-sections.txt:
950         API: addition: gst_adapter_take_buffer()
951         
952         * libs/gst/base/gstadapter.c: (gst_adapter_push),
953         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
954         (gst_adapter_available_fast):
955         * libs/gst/base/gstadapter.h:
956         Prepare for optimizing the hell out of this hugely inefficient
957         piece of code. 
958         Added gst_adapter_take_buffer() so we can at least start thinking
959         about subbuffering and merging.
960         Added some comments.
961
962         * tests/check/Makefile.am:
963         * tests/check/libs/adapter.c: (GST_START_TEST),
964         (gst_adapter_suite), (main):
965         Added GstAdapter check.
966
967 2006-05-04  Wim Taymans  <wim@fluendo.com>
968
969         * docs/design/part-overview.txt:
970         Fix some typos, add blurb about buffer flags.
971
972 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
973
974         * docs/libs/gstreamer-libs-sections.txt:
975           make sure GstBaseTransformClass shows up in the docs
976         * libs/gst/base/gstbasetransform.c:
977         * libs/gst/base/gstbasetransform.h:
978           move docs so gtk-doc picks it up now
979
980 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
981
982         * docs/libs/gstreamer-libs-sections.txt:
983           add missing symbols to docs
984
985 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
986
987         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
988           back out the newsegment handling change, see #340060 for ongoing
989           discussion
990
991 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
992
993         * tools/gst-run.c: (get_candidates), (main):
994           Fix wrong g_file_test() usage (see glib docs for why it doesn't
995           work); fix typo in error message. Fixes #340079.
996
997 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
998
999         * common/Makefile.am:
1000         * docs/Makefile.am:
1001         * docs/faq/Makefile.am:
1002         * docs/gst/Makefile.am:
1003         * docs/libs/Makefile.am:
1004         * docs/manual/Makefile.am:
1005         * docs/plugins/Makefile.am:
1006         * docs/pwg/Makefile.am:
1007         * docs/slides/Makefile.am:
1008         * docs/upload.mak:
1009         * common/upload.mak:
1010           move upload.mak to common
1011
1012 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1013
1014         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1015           add more asserts on refcounts
1016           do more cleanup at end of tests
1017           fix test leaks showing in FC5
1018
1019 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1020
1021         * plugins/elements/gsttypefindelement.c:
1022         (gst_type_find_element_handle_event):
1023         reverted wrong change and reflowed code to avoid others falling into
1024         this trap
1025
1026 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1027
1028         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1029           fix changelog entry about last collectpads change,
1030           add notes about proper fix
1031
1032 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1033
1034         * gst/gst.c:
1035         * gst/gstregistry.c: (gst_registry_scan_path_level),
1036         (gst_registry_scan_path):
1037         * gst/gstregistry.h:
1038           only write out registry if it has changed, fixes #338339
1039
1040 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1041
1042         * gst/gstbin.c:
1043         * gst/gstpipeline.c:
1044         * plugins/elements/gstcapsfilter.c:
1045         * plugins/elements/gstfakesink.c:
1046         * plugins/elements/gstfakesrc.c:
1047         * plugins/elements/gstfdsink.c:
1048         * plugins/elements/gstfdsrc.c:
1049         * plugins/elements/gstfilesink.c:
1050         * plugins/elements/gstfilesrc.c:
1051         * plugins/elements/gstidentity.c:
1052         * plugins/elements/gstqueue.c:
1053         * plugins/elements/gsttee.c:
1054         * plugins/elements/gsttypefindelement.c:
1055         (gst_type_find_element_handle_event):
1056           make GstElementDetails const
1057
1058 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1059
1060         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1061         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1062         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1063           more detailed debug and formatting cleanup,
1064           forward newsegments to src-pad (so that e.g. adder not eats them)
1065
1066 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1067
1068         * gst/gstutils.c: (gst_element_link_pads):
1069           cleanup double code
1070
1071 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1072
1073         * libs/gst/controller/gstcontroller.c:
1074         (gst_controller_sync_values):
1075           some little tuning
1076         * tests/check/libs/controller.c: (GST_START_TEST),
1077         (gst_controller_suite):
1078           a new test for live value handling
1079
1080 2006-04-28  Wim Taymans  <wim@fluendo.com>
1081
1082         * gst/gstutils.c: (push_and_ref):
1083         Added some more docs.
1084         Fix refcount issue whith gst_element_found_tags() helper 
1085         function. Fixes #338335
1086
1087         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1088         Added testsuite for gst_element_found_tags().
1089
1090 2006-04-28  Michael Smith  <msmith@fluendo.com>
1091
1092         * gst/gstvalue.c: (gst_value_serialize_flags):
1093           Avoid NULL dereference when trying to serialize flags containing
1094           invalid values.
1095
1096 2006-04-28  Michael Smith  <msmith@fluendo.com>
1097
1098         * plugins/elements/gsttypefindelement.c:
1099         (gst_type_find_element_handle_event):
1100           If we get EOS before any data is accumulated, don't use
1101           uninitialised local variables.
1102
1103 2006-04-28  Michael Smith  <msmith@fluendo.com>
1104
1105         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1106         (gst_dp_event_from_packet):
1107           Fixes in reading/writing events over GDP (not currently used?) - 
1108           dereferencing NULL events for unknown/invalid event types, memory
1109           leak, and change g_warning to GST_WARNING.
1110
1111 2006-04-28  Wim Taymans  <wim@fluendo.com>
1112
1113         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1114         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1115         (gst_base_sink_get_position), (gst_base_sink_change_state):
1116         When frame dropping is enabled, we should not ignore frames
1117         without a duration.
1118         Update some documentation.
1119
1120 2006-04-28  Wim Taymans  <wim@fluendo.com>
1121
1122         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1123         (gst_base_src_send_event), (gst_base_src_change_state):
1124         Documentation updates.
1125
1126 2006-04-28  Wim Taymans  <wim@fluendo.com>
1127
1128         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1129         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1130         handle EAGAIN, EINTR and short writes correctly. Also clean
1131         up some error cases, avoid a deadlock on bad file descriptors and
1132         use GST_DEBUG_OBJECT.
1133         Fixes #339843
1134
1135 2006-04-28  Wim Taymans  <wim@fluendo.com>
1136
1137         * gst/gstvalue.c: (gst_value_serialize_buffer),
1138         (gst_value_deserialize_buffer):
1139         Don't try to serialize a GValue with a NULL buffer. 
1140         Fixes #339821.
1141
1142         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1143         Added check for serialisation of NULL buffers.
1144
1145 2006-04-28  Wim Taymans  <wim@fluendo.com>
1146
1147         * gst/gstminiobject.c: (gst_value_take_mini_object):
1148         Taking a NULL miniobject is valid, fix the case where
1149         we try to unref the NULL miniobject.
1150
1151 2006-04-28  Wim Taymans  <wim@fluendo.com>
1152
1153         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1154
1155         * gst/gstbin.c: (gst_bin_handle_message_func):
1156         Update docs.
1157         Don't leak bin refcount when a state recalc is
1158         in progress and we delay another one #339808.
1159
1160 2006-04-28  Wim Taymans  <wim@fluendo.com>
1161
1162         * docs/design/part-TODO.txt:
1163         Mention QoS as an ongoing work item.
1164
1165         * docs/design/part-buffering.txt:
1166         New doc about buffering that needs to be fleshed out
1167         at some point.
1168
1169         * docs/design/part-qos.txt:
1170         More QoS policy for decoders/demuxers/transforms
1171
1172         * docs/design/part-trickmodes.txt:
1173         Small update.
1174
1175 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1176
1177         * configure.ac:
1178           back to HEAD
1179
1180 === release 0.10.5 ===
1181
1182 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1183
1184         * configure.ac:
1185           releasing 0.10.5, "Fogo"
1186
1187 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1188
1189         patch by: Wim Taymans
1190
1191         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1192         (gst_pad_configure_src), (gst_pad_push):
1193         * gst/gstpipeline.c: (gst_pipeline_init):
1194           Fix internal data flow errors.  Fixes #338711.
1195
1196 2006-04-12  Wim Taymans  <wim@fluendo.com>
1197
1198         * tests/check/gst/gstelement.c: (GST_START_TEST):
1199         Don't leak the factory.
1200
1201 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1202
1203         * configure.ac:
1204         * win32/common/config.h:
1205           prerelease
1206
1207 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1208
1209         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1210         (gst_controller_unset_all):
1211           Free allocated GstTimedValues when freeing list nodes.
1212           Should fix leaks 'make check-valgrind' complains about.
1213
1214         * win32/common/libgstcontroller.def:
1215           Add gst_controller_unset_all.
1216
1217 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1218
1219         * docs/libs/gstreamer-libs-sections.txt:
1220         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1221         (gst_controller_unset_all):
1222         * libs/gst/controller/gstcontroller.h:
1223         API: Added new method gst_controller_unset_all()
1224         fixed gst_controller_unset()
1225         * tests/check/libs/controller.c: (GST_START_TEST),
1226         (gst_controller_suite):
1227         Added two testcases for new and fixed method
1228
1229 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1230
1231         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1232           MSG_DONTWAIT is not defined on Cygwin, so work
1233           around that (fixes #317048).
1234           
1235 2006-04-11  Wim Taymans  <wim@fluendo.com>
1236
1237         * gst/gstelementfactory.c: (gst_element_register),
1238         (gst_element_factory_create), (gst_element_factory_make):
1239         Some cleanups.
1240         Fixed a FIXME.
1241         Updated docs (Fixes #131079)
1242
1243         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1244         Small cleanups.
1245
1246         * tests/check/gst/gstelement.c: (GST_START_TEST),
1247         (gst_element_suite):
1248         Added testcase for elementfactory class field.
1249
1250 2006-04-10  Wim Taymans  <wim@fluendo.com>
1251
1252         * gst/gstsegment.c:
1253         Added some more docs.
1254
1255         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1256         (gst_base_sink_reset_qos):
1257         Calculate more accurate rate values.
1258
1259 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1260
1261         * gst/gst_private.h:
1262           add a new #ifdef to use __declspec(dllimport) only for
1263           other modules and not for gstreamer core
1264         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1265           use gst_guint64_to_gdouble for conversion
1266         * win32/common/libgstreamer.def:
1267           add new exported functions
1268         * win32/vs6/gst_inspect.dsp:
1269         * win32/vs6/gst_launch.dsp:
1270         * win32/vs6/libgstbase.dsp:
1271         * win32/vs6/libgstcontroller.dsp:
1272         * win32/vs6/libgstcoreelements.dsp:
1273         * win32/vs6/libgstdataprotocol.dsp:
1274         * win32/vs6/libgstnet.dsp:
1275           update project files
1276
1277 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1278
1279         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1280         * gst/gstclock.c: (gst_clock_class_init):
1281         * gst/gstelement.c: (gst_element_class_init):
1282         * gst/gstindex.c: (gst_index_class_init):
1283         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1284         * gst/gstobject.c: (gst_object_class_init),
1285         (gst_signal_object_class_init):
1286         * gst/gstpad.c: (gst_pad_class_init):
1287         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1288         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1289         * gst/gstregistry.c: (gst_registry_class_init):
1290         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1291         * gst/gsttask.c: (gst_task_class_init):
1292         * gst/gstxml.c: (gst_xml_class_init):
1293         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1294         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1295         (gst_base_src_loop):
1296         * libs/gst/controller/gstcontroller.c:/
1297         (_gst_controller_class_init):
1298         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1299         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1300         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1301         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1302         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1303         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1304
1305 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1306
1307         * gst/gstpad.c: (gst_pad_link):
1308           Must set peer pads before calling the link function, otherwise
1309           a task started from a link function might get a flow-not-linked
1310           result when trying to push because the other thread where the
1311           linking happens hasn't had a chance to set the peers yet. This
1312           might happen for example when a queue gets linked to a downstream
1313           element, as queue starts a streaming task when its source pad
1314           gets linked. Happens in real life when playing back flac/musepack
1315           files in playbin (#332390).
1316           
1317 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1318
1319         * gst/gstindex.h:
1320         * gst/gstxml.h:
1321         * libs/gst/base/gstadapter.h:
1322         * libs/gst/base/gstbasesink.h:
1323         * libs/gst/base/gstbasesrc.h:
1324         * libs/gst/base/gstbasetransform.h:
1325         * libs/gst/base/gstcollectpads.h:
1326         * libs/gst/base/gstpushsrc.h:
1327         Fix broken GObject macros
1328
1329 2006-04-07  Wim Taymans  <wim@fluendo.com>
1330
1331         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1332         Initialize start and stop times, thanks valgrind.
1333
1334 2006-04-07  Wim Taymans  <wim@fluendo.com>
1335
1336         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1337         Be a bit nicer to badly behaving upstream elements that expect
1338         us to deal with non TIME segments and timestamps (such as fakesrc
1339         in the testsuite).
1340
1341 2006-04-07  Wim Taymans  <wim@fluendo.com>
1342
1343         * gst/gstbus.c:
1344         Small documentation clarification about the signal watch.
1345
1346         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1347         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1348         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1349         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1350         (gst_base_sink_get_position_last),
1351         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1352         Convert and store timestamps in stream time and running time, the
1353         raw timestamps are not usefull, also document this better.
1354         Use different window sizes for good and bad QoS observations so
1355         we react to badness a little quicker.
1356         Keep track of the amount of rendered and dropped buffers.
1357         Send QoS timestamps in running time.
1358
1359         * libs/gst/base/gstbasetransform.c:
1360         (gst_base_transform_sink_eventfunc),
1361         (gst_base_transform_handle_buffer):
1362         Compare QoS timestamps against running time.
1363
1364 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1365
1366         * gst/gstpad.c:
1367           Typo fixes in docs.
1368
1369 2006-04-06  Michael Smith  <msmith@fluendo.com>
1370
1371         * gst/gstpad.c: (gst_pad_set_property):
1372           Use g_value_get_object() instead of g_value_dup_gst_object(),
1373           to avoid double-reffing the pad template (which we then sink,
1374           so this worked previously if (and only if) the pad template
1375           was floating.
1376
1377         * gst/gstpadtemplate.c: (gst_pad_template_init),
1378         (gst_pad_template_pad_created):
1379           Never return floating references to pad templates, create
1380           them as initially-sunken.
1381
1382           Document an extra function (and make this stop sinking our
1383           pad template, since that is now guaranteed to do nothing,
1384           since we created it sunken).
1385
1386         * gst/gstghostpad.c:
1387           Fix docs typo.
1388
1389 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1390
1391         * gst/gstinfo.c: (__gst_in_valgrind):
1392           Add some newlines.
1393
1394         * plugins/elements/gsttypefindelement.c:
1395         (gst_type_find_element_chain):
1396           Don't leak buffer caps.
1397
1398 2006-04-06  Michael Smith  <msmith@fluendo.com>
1399
1400         * gst/parse/grammar.y:
1401           Fix a leak in parse-launch for any source-or-sink named element 
1402           references used.
1403
1404         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1405           Unref the pipeline if it exists after we've failed parsing.
1406
1407 2006-04-05  Michael Smith  <msmith@fluendo.com>
1408
1409         * gst/gstpipeline.c: (gst_pipeline_init):
1410           When we create a pipeline bus, initially create it in flushing mode.
1411           Fixes leaks in at least one test, and makes a new pipeline work the
1412           same as one that has gone to READY and then back to NULL.
1413
1414         * gst/gstelement.c:
1415           Typo fix in docs.
1416
1417 2006-04-05  Michael Smith  <msmith@fluendo.com>
1418
1419         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1420           Unref a pad we reffed.
1421         * tests/check/gst/gstutils.c: (GST_START_TEST):
1422           Unref bins
1423
1424 2006-04-05  Michael Smith  <msmith@fluendo.com>
1425
1426         * gst/gstquery.c: (gst_query_set_formats),
1427         (gst_query_set_formatsv):
1428           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1429
1430 2006-04-05  Michael Smith  <msmith@fluendo.com>
1431
1432         * tests/check/generic/sinks.c: (GST_START_TEST):
1433           Fix a variety of memleaks in sinks check, which are only sometimes 
1434           shown by running the tests under valgrind (weird?).
1435
1436 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1437
1438         * docs/version.entities.in:
1439           Fix the substituted entity name after thomas' changes on the
1440           weekend.
1441
1442 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1443
1444         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1445         VALGRIND_PRINTF
1446         
1447 2006-04-05  Andy Wingo  <wingo@pobox.com>
1448
1449         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1450
1451         * libs/gst/base/gstbasetransform.c
1452         (gst_base_transform_sink_eventfunc): When resetting our segment on
1453         FLUSH_STOP, also update the flag saying we haven't seen a
1454         newsegment.
1455
1456 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1457
1458         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1459
1460         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1461         (gst_plugin_check_license):
1462           minor clean-ups: G_DEFINE_TYPE already takes care of the
1463           parent_class stuff, no need to do it twice. Mark array of
1464           license strings as constant. (#337103)
1465           
1466 2006-04-04  Michael Smith  <msmith@fluendo.com>
1467
1468         * tools/gst-inspect.c: (print_element_list):
1469           Free the right plugin list; fixes a memory leak.
1470
1471 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1472
1473         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1474
1475         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1476           Don't error out on empty buffers (#336945).
1477           
1478 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1479
1480         * docs/libs/gstreamer-libs-sections.txt:
1481         * gst/gsttaglist.c:
1482         * libs/gst/base/gstbasesink.c:
1483         * libs/gst/base/gstbasesink.h:
1484         * libs/gst/base/gstbasesrc.c:
1485         * libs/gst/base/gstbasesrc.h:
1486           Documentation updates. Make BaseSink and BaseSrc docs contain the
1487           class structure so that people can actually see the prototypes for
1488           virtual functions they're supposed to be overriding.
1489
1490 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1491
1492         * plugins/elements/gsttypefindelement.c:
1493         (gst_type_find_element_chain):
1494           More debug info; when skipping typefinding, send cached
1495           events in all cases.
1496
1497 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1498
1499         * configure.ac:
1500           use new AS_VERSION and AS_NANO macros
1501         * gst/gst-i18n-lib.h:
1502         * gst/gst.c:
1503         * gst/gsterror.c:
1504         * gst/gstversion.h.in:
1505         * win32/common/config.h:
1506         * win32/common/config.h.in:
1507           update accordingly
1508
1509 2006-03-31  Michael Smith  <msmith@fluendo.com>
1510
1511         * plugins/elements/gsttypefindelement.c:
1512         (gst_type_find_element_chain):
1513           Do not typefind content if the buffers already have caps.
1514           Neccesary for icydemux (#333657), and the right thing to do anyway.
1515
1516 2006-03-30  Wim Taymans  <wim@fluendo.com>
1517
1518         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1519         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1520         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1521         (gst_base_sink_record_qos_observation),
1522         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1523         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1524         (gst_base_sink_change_state):
1525         More QoS measurements as described in the design doc.
1526         Get rid of ringbuffer with observations, running average is
1527         more simple and equally good.
1528         Calculates valid proportion now.
1529         Added beginning of flood measurement.
1530
1531 2006-03-29  Wim Taymans  <wim@fluendo.com>
1532
1533         * docs/design/part-qos.txt:
1534         * gst/gstclock.c:
1535         Small documentation updates and additions.
1536
1537 2006-03-29  Wim Taymans  <wim@fluendo.com>
1538
1539         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1540         (gst_base_src_send_event), (gst_base_src_loop),
1541         (gst_base_src_change_state):
1542         Perform the EOS logic when we reach the segment stop position.
1543         Fix compilation on gcc4.1
1544
1545 2006-03-29  Wim Taymans  <wim@fluendo.com>
1546
1547         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1548
1549         * plugins/elements/gstqueue.c: (gst_queue_init),
1550         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1551         (gst_queue_set_property):
1552         * plugins/elements/gstqueue.h:
1553         In queue, when EOS is received, if minimum threshold > max_size -
1554         current_level, there is chance that queue blocks forever in conditional
1555         item del wait. This is because the queue is not emptied completely due
1556         to minimum threshold.  Here is another approach. Instead of setting
1557         cur_levels to max in EOS, just zero all minimum threshold levels. This
1558         should make sure that queue gives out all data. When going to READY
1559         (stop) state, just reset the original minimum threshold levels.
1560         Fixes #336336.
1561
1562 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1563
1564         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1565         (gst_type_find_element_handle_event),
1566         (gst_type_find_element_send_cached_events),
1567         (gst_type_find_element_change_state):
1568         * plugins/elements/gsttypefindelement.h:
1569           When typefinding is done in push mode, we should cache
1570           events we receive during typefinding instead of just
1571           dropping them (e.g. newsegment, custom events from
1572           dvdreadsrc etc.) and then send them out once we've
1573           determined the type of the stream (and decodebin
1574           has had a chance to plug in a decoder/demuxer).
1575           
1576 2006-03-27  Wim Taymans  <wim@fluendo.com>
1577
1578         * docs/design/part-qos.txt:
1579         First QoS ideas.
1580
1581 2006-03-27  Wim Taymans  <wim@fluendo.com>
1582
1583         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1584
1585         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1586         (gst_base_src_send_event), (gst_base_src_change_state):
1587         Handle element seek correctly when we are streaming.
1588         Fixes #326998.
1589
1590 2006-03-24  Michael Smith  <msmith@fluendo.com>
1591
1592         * docs/faq/gst-uninstalled:
1593           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1594           allow you to correctly run intalled applications built against old 
1595           core, using plugins that require updated core (e.g. running
1596           installed totem against a full uninstalled gstreamer stack)
1597
1598 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1599
1600         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1601         more debug details
1602
1603 2006-03-24  Wim Taymans  <wim@fluendo.com>
1604
1605         * docs/gst/gstreamer-sections.txt:
1606         Rearrange the order of the methods so that related methods
1607         are grouped together in sections.
1608
1609 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1610
1611         * gst/gstelement.c:
1612           Little clarification in the docs
1613
1614 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1615
1616         * docs/README:
1617         formatting fix
1618         * plugins/elements/gstidentity.c:
1619         * plugins/elements/gstqueue.c:
1620         * plugins/elements/gsttee.c:
1621         * plugins/elements/gsttypefindelement.c:
1622         GST_ELEMENT_DETAILS formatting
1623
1624 2006-03-24  Wim Taymans  <wim@fluendo.com>
1625
1626         * libs/gst/base/gstbasesink.h:
1627         Only add fields, not insert or we break ABI.
1628
1629 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1630
1631         * win32/common/libgstbase.def:
1632         * win32/common/libgstreamer.def:
1633           Update, add recently added functions.
1634
1635 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1636
1637         * docs/gst/gstreamer-sections.txt:
1638         * gst/gstutils.c: (gst_pad_query_peer_position),
1639         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1640         * gst/gstutils.h:
1641           API: add some new utility functions:
1642            - gst_pad_query_peer_position()
1643            - gst_pad_query_peer_duration()
1644            - gst_pad_query_peer_convert()
1645           
1646 2006-03-23  Wim Taymans  <wim@fluendo.com>
1647
1648         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1649         (gst_base_sink_init), (gst_base_sink_finalize),
1650         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1651         (gst_base_sink_set_property), (gst_base_sink_get_property),
1652         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1653         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1654         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1655         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1656         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1657         (gst_base_sink_preroll_object), (gst_base_sink_event),
1658         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1659         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1660         (gst_base_sink_query), (gst_base_sink_change_state):
1661         Decouple max-lateness and the fact that QoS messages are generated
1662         with a new property (qos).
1663         added API: GstBaseSink::async_play()
1664         Add vmethod so subclasses can be notified of ASYNC playing
1665         state changes.
1666         Collect timestamp start and stop to report better current
1667         position in EOS/PLAYING/PAUSED/READY/NULL.
1668         Refactor QoS/frame dropping and other measurements.
1669         API: GstBaseSrc::qos
1670         Fixes #326311
1671
1672         * libs/gst/base/gstbasesink.h:
1673         Added Private struct.
1674         API: gst_base_sink_set_qos_enabled()
1675         API: gst_base_sink_is_qos_enabled()
1676
1677 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1678
1679         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1680           If compiling against GLib-2.8 or newer, try to read the
1681           registry file using GMappedFile first before falling back
1682           to fopen() + fread() (#332151).
1683
1684 2006-03-22  Wim Taymans  <wim@fluendo.com>
1685
1686         * gst/gstinfo.c: (gst_debug_set_active),
1687         (gst_debug_category_set_threshold):
1688         Disable debugging unless explicitly activated.
1689         Fixes #335480.
1690
1691 2006-03-22  Wim Taymans  <wim@fluendo.com>
1692
1693         * gst/gstelement.c: (gst_element_set_locked_state),
1694         (gst_element_dispose):
1695         Cleanup the error case.
1696
1697         * gst/gstobject.c: (gst_object_dispose):
1698         print a critical when some object was disposed with
1699         a parent, also revive the object since it might
1700         crash the parent.
1701
1702 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1703
1704         * tools/gst-launch.1.in:
1705           Fix another typo.
1706
1707 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1708
1709         * configure.ac:
1710         * tests/check/Makefile.am:
1711           disable some tests when we don't have a registry
1712         * tests/check/gst/gstutils.c: (gst_utils_suite):
1713           don't build the part that needs parsing
1714
1715 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1716
1717         * gst/Makefile.am
1718         * tests/examples/Makefile.am:
1719           fix --disable-parse build
1720
1721 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1722
1723         * tools/gst-feedback.1.in:
1724           Fix typo: s/feeback/feedback/ (#133494).
1725
1726 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1727
1728         * tools/Makefile.am:
1729         * tools/gst-launch.1.in:
1730           Add FILES section and correct entry about GST_REGISTRY_PATH
1731           environment variable (#133495; #133494).
1732
1733 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1734
1735         * tools/Makefile.am:
1736         * tools/gst-md5sum.1.in:
1737         * tools/gst-md5sum.c:
1738           Remove gst-md5sum and man page (the md5sink element
1739           required was removed ages ago)
1740
1741 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1742
1743         * gst/gststructure.c: (gst_structure_id_set_value):
1744           Make sure that string fields in structures/taglists
1745           contain valid UTF-8 - we don't want to pass rubbish to
1746           applications because of a buggy plugin (cp. #334167).
1747
1748 2006-03-21  Edward Hervey  <edward@fluendo.com>
1749
1750         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1751         (gst_bin_handle_message_func):
1752         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1753         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1754         (gst_element_set_bus_func):
1755         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1756         * gst/gstminiobject.c: (gst_value_set_mini_object),
1757         (gst_value_take_mini_object):
1758         * gst/gstpad.c: (gst_pad_set_pad_template):
1759         * gst/gstpipeline.c: (gst_pipeline_dispose),
1760         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1761         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1762         (gst_collect_pads_chain):
1763         * libs/gst/net/gstnettimeprovider.c:
1764         (gst_net_time_provider_set_property):
1765         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1766         It's in fact all issues with gst_*object_replace().
1767
1768 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1769
1770         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1771         
1772         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1773         * pkgconfig/gstreamer-check.pc.in:
1774           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1775
1776 2006-03-21  Edward Hervey  <edward@fluendo.com>
1777
1778         * gst/gstbuffer.h:
1779         * gst/gstevent.h:
1780         * gst/gstmessage.h:
1781         gst_[buffer|event|message]_ref() macros are replaced by a static
1782         inline functions because gcc-4.1 will about if the return value
1783         isn't used.
1784         * tests/check/gst/gstevent.c: (event_probe):
1785         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1786
1787 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1788
1789         * gst/gstutils.h:
1790         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1791         the type' case. (Closes: #335195 for now). In the future, when we
1792         depend on GLib 2.10, we could also intern the type name using
1793         g_intern_static_string()
1794
1795 2006-03-20  Wim Taymans  <wim@fluendo.com>
1796
1797         * gst/gstbin.c: (gst_bin_handle_message_func),
1798         (bin_query_max_init), (bin_query_position_fold),
1799         (bin_query_position_done), (gst_bin_query):
1800         Position query should also take max of all streams.
1801
1802 2006-03-20  Wim Taymans  <wim@fluendo.com>
1803
1804         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1805         (gst_fake_src_finalize):
1806         Fix leaks in fakesrc.
1807
1808         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1809         Fix leaks in the testcase.
1810
1811 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
1812
1813         * gst/gst_private.h:
1814           add win32 specific import decoration(__declspec(dllimport)) 
1815           for all extern GstDebugCategory * variables
1816         * win32/common/libgstbase.def:
1817         * win32/common/libgstcontroller.def:
1818         * win32/common/libgstreamer.def:
1819           Add some exports, remove empty lines
1820         * win32/common/libgstdataprotocol.def:
1821         * win32/common/libgstdataprotocol.dsp:
1822         * win32/common/libgstnet.def:
1823         * win32/common/libgstnet.dsp:
1824           new project files and exportation files added
1825         
1826 2006-03-19  Wim Taymans  <wim@fluendo.com>
1827
1828         * tests/check/libs/basesrc.c: (eos_event_counter):
1829         Use proper return value for probe.
1830
1831 2006-03-17  Wim Taymans  <wim@fluendo.com>
1832
1833         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1834         (gst_pad_push):
1835         Don't leak buffers, caps and pads on negotiation errors.
1836
1837 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
1838
1839         * docs/faq/cvs.xml:
1840         * docs/faq/dependencies.xml:
1841         * docs/faq/developing.xml:
1842         * docs/faq/faq.xml:
1843         * docs/faq/general.xml:
1844         * docs/faq/getting.xml:
1845         * docs/faq/legal.xml:
1846         * docs/faq/troubleshooting.xml:
1847         * docs/faq/using.xml:
1848         Faq review and update.
1849
1850 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
1851
1852         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1853         (gst_pad_push):
1854         Don't pound the cpu to pieces by checking get_caps when accept_caps
1855         is called with the same caps as the pad already has.
1856         Use GST_DEBUG_OBJECT when outputting caps change information.
1857
1858 2006-03-15  Wim Taymans  <wim@fluendo.com>
1859
1860         * gst/gstclock.c: (gst_clock_class_init):
1861         Fix docs.
1862
1863 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
1864
1865         * gst/gstbuffer.h:
1866         Documentation fix.
1867
1868         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
1869         (gst_pad_accept_caps), (gst_pad_configure_sink),
1870         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
1871         Make the default acceptcaps behaviour be to check the requested 
1872         caps against the gst_pad_get_caps output. 
1873
1874         Ensure that gst_pad_accept_caps is used to check caps when a pad
1875         doesn't have a setcaps function, so that pads automatically refuse 
1876         caps that they don't allow in their pad template. (Fixes #332986)
1877
1878         When a buffer with attached caps is pushed, ensure that the source 
1879         pad receives those caps even if the element didn't call
1880         gst_pad_set_caps first.
1881
1882 2006-03-15  Wim Taymans  <wim@fluendo.com>
1883
1884         * libs/gst/base/gstadapter.c:
1885         Add some docs.
1886
1887 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1888
1889         * win32/common/libgstbase.def:
1890         * win32/common/libgstcontroller.def:
1891         * win32/common/libgstreamer.def:
1892           Add a whole bunch of missing functions (#334434).
1893
1894 2006-03-14  Wim Taymans  <wim@fluendo.com>
1895
1896         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1897         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1898         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1899         Better debug info when we receive a segment event.
1900         Reorganize a bit so we can pass the get_times() results around.
1901         Use the segment format when calculating the running time.
1902         Don't do QoS is sync is disabled or we have no clock or the
1903         element does not want us to sync to the clock.
1904         Don't drop buffers if QoS is disabled for now.
1905
1906 2006-03-14  Wim Taymans  <wim@fluendo.com>
1907
1908         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1909         Marked the stats property as unimplemented so people don't get
1910         wild ideas.
1911         Add debug message when regression goes wrong.
1912         Added some more docs.
1913
1914 2006-03-14  Wim Taymans  <wim@fluendo.com>
1915
1916         * gst/gstsegment.c: (gst_segment_to_stream_time):
1917         Return correct return type in case of errors.
1918
1919 2006-03-14  Wim Taymans  <wim@fluendo.com>
1920
1921         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1922           Don't segfault on invalid formats.
1923
1924 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1925
1926         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1927           Can't use gst_segment_to_running_time() when the segment
1928           is not in GST_TIME_FORMAT (like with filesink, for example).
1929           Stops flac encoding pipelines from spewing critical warnings
1930           at EOS (#331248).
1931           
1932 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1933
1934         * gst/gstpipeline.c: (gst_pipeline_class_init):
1935           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1936
1937         * plugins/elements/gsttypefindelement.c:
1938         (gst_type_find_element_handle_event):
1939           Don't try to typefind empty streams.
1940
1941 2006-03-14  Wim Taymans  <wim@fluendo.com>
1942
1943         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1944         (gst_base_sink_do_qos):
1945         Separate QoS calculation.
1946         Only drop buffers when lateness is bigger than the 
1947         duration of the buffer.
1948
1949 2006-03-13  Wim Taymans  <wim@fluendo.com>
1950
1951         * gst/gstpipeline.c: (gst_pipeline_set_property),
1952         (gst_pipeline_get_property), (do_pipeline_seek),
1953         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1954         (gst_pipeline_get_delay):
1955         Don't deadlock when reading properties.
1956
1957 2006-03-13  Wim Taymans  <wim@fluendo.com>
1958
1959         * libs/gst/base/gstbasetransform.c:
1960         (gst_base_transform_class_init), (gst_base_transform_init),
1961         (gst_base_transform_sink_event),
1962         (gst_base_transform_sink_eventfunc),
1963         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
1964         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1965         (gst_base_transform_set_property),
1966         (gst_base_transform_get_property),
1967         (gst_base_transform_change_state), (gst_base_transform_update_qos),
1968         (gst_base_transform_set_qos_enabled),
1969         (gst_base_transform_is_qos_enabled):
1970         * libs/gst/base/gstbasetransform.h:
1971         Make basetransform virtual method for src events too.
1972         Handle QOS in basetransform.
1973         API: gst_base_transform_update_qos()
1974         API: gst_base_transform_set_qos_enabled()
1975         API: gst_base_transform_is_qos_enabled()
1976
1977 2006-03-13  Wim Taymans  <wim@fluendo.com>
1978
1979         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1980         (gst_base_sink_do_sync):
1981         Small cleanups.
1982         Use QOS debug category.
1983
1984 2006-03-13  Wim Taymans  <wim@fluendo.com>
1985
1986         * plugins/elements/gstqueue.c:
1987         Very small doc update.
1988
1989 2006-03-13  Wim Taymans  <wim@fluendo.com>
1990
1991         * gst/gst_private.h:
1992         * gst/gstinfo.c: (_gst_debug_init):
1993         Added QOS debug category
1994
1995 2006-03-13  Wim Taymans  <wim@fluendo.com>
1996
1997         * docs/gst/gstreamer-sections.txt:
1998         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
1999         * gst/gstbin.h:
2000         * gst/gstbus.c: (gst_bus_class_init):
2001         * gst/gstbus.h:
2002         * gst/gstclock.c:
2003         * gst/gstelement.c: (gst_element_set_locked_state):
2004         * gst/gstsegment.c:
2005         Documentation updates.
2006
2007         * gst/gstpipeline.c: (gst_pipeline_get_type),
2008         (gst_pipeline_class_init), (gst_pipeline_init),
2009         (gst_pipeline_dispose), (gst_pipeline_set_property),
2010         (gst_pipeline_get_property), (do_pipeline_seek),
2011         (gst_pipeline_send_event), (gst_pipeline_change_state),
2012         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2013         (gst_pipeline_get_delay):
2014         * gst/gstpipeline.h:
2015         Added methods for setting the delay.
2016         API: gst_pipeline_set_delay()
2017         API: gst_pipeline_get_delay()
2018         Add pipeline debug category
2019         Various cleanups.
2020         Updated docs.
2021         Don't reset stream time when seek failed.
2022
2023 2006-03-13  Wim Taymans  <wim@fluendo.com>
2024
2025         * docs/design/draft-klass.txt:
2026         * docs/design/part-clocks.txt:
2027         * docs/design/part-events.txt:
2028         * docs/design/part-gstbin.txt:
2029         * docs/design/part-gstpipeline.txt:
2030         * docs/design/part-messages.txt:
2031         * docs/design/part-negotiation.txt:
2032         * docs/design/part-overview.txt:
2033         * docs/design/part-preroll.txt:
2034         * docs/design/part-seeking.txt:
2035         * docs/design/part-states.txt:
2036         * docs/design/part-streams.txt:
2037         Documentation updates.
2038
2039 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2040
2041         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2042         us to leak strings...
2043
2044 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2045
2046         * libs/gst/net/gstnettimeprovider.c:
2047           fix docs
2048         * win32/common/config.h:
2049           update
2050
2051 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2052
2053         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2054
2055         * configure.ac:
2056           Don't check for libgnomeui (leftover from old examples
2057           that aren't built or disted any longer) (#334303).
2058           
2059 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2060
2061         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2062         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2063           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2064           there's no space left on the device.
2065
2066 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2067
2068         * gst/gstclock.h:
2069           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2070           to cast the input to GstClockTime before comparing with
2071           another GstClockTime value.
2072
2073 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2074
2075         * configure.ac:
2076           back to trunk
2077
2078 === release 0.10.4 ===
2079
2080 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2081
2082         * configure.ac:
2083           releasing 0.10.4, "Light"
2084
2085 2006-03-10  Michael Smith  <msmith@fluendo.com>
2086
2087         * libs/gst/dataprotocol/dataprotocol.c:
2088           Fix docs for dataprocotol to not get the return types completely
2089           wrong for a few functions.
2090
2091 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2092
2093         * docs/gst/gstreamer-sections.txt:
2094         * gst/gstpipeline.c: (gst_pipeline_class_init),
2095         (gst_pipeline_init), (gst_pipeline_set_property),
2096         (gst_pipeline_get_property), (gst_pipeline_change_state),
2097         (gst_pipeline_set_auto_flush_bus),
2098         (gst_pipeline_get_auto_flush_bus):
2099         * gst/gstpipeline.h:
2100           Add new API: gst_pipeline_set_auto_flush_bus() and
2101           gst_pipeline_get_auto_flush_bus() to disable automatic
2102           flushing of the pipeline's GstBus when going from READY
2103           to NULL state (#332045).
2104
2105 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2106
2107         * docs/gst/gstreamer-sections.txt:
2108         * gst/gsturi.c: (gst_uri_has_protocol):
2109         * gst/gsturi.h:
2110            Add new API: gst_uri_has_protocol() (#333779).
2111
2112 2006-03-09  Wim Taymans  <wim@fluendo.com>
2113
2114         * gst/gstclock.c: (gst_clock_entry_new),
2115         (gst_clock_id_compare_func), (gst_clock_id_wait),
2116         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2117         (gst_clock_init), (gst_clock_get_internal_time),
2118         (gst_clock_set_master), (do_linear_regression),
2119         (gst_clock_add_observation), (gst_clock_set_property):
2120         * gst/gstclock.h:
2121         Review docs.
2122         Small cleanups.
2123         Fix a possible segfault when the window-size is made smaller.
2124         Calculate jitter before performing the clock wait. Ideally
2125         the clock implementation should calculate jitter but we need
2126         API breakage for that.
2127
2128         * gst/gstsystemclock.c: (gst_system_clock_init):
2129         Docs review.
2130         
2131         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2132         Remove leftover else
2133
2134         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2135         (gst_systemclock_suite):
2136         Added check to test GST_CLOCK_DIFF.
2137
2138 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2139
2140         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2141         (gst_type_find_helper_get_range):
2142           If we are provided with the size, we should implement
2143           GstTypeFind::get_length, so that typefind functions who
2144           want to can actually peek at the middle of a file.
2145
2146 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2147
2148         * docs/manual/advanced-dataaccess.xml:
2149           Add some very very basic error checking.
2150
2151         * docs/pwg/appendix-checklist.xml:
2152           Some updates to the list of things to check when writing an element.
2153
2154 2006-03-08  Wim Taymans  <wim@fluendo.com>
2155
2156         * docs/design/part-element-transform.txt:
2157         Added some docs about the design of tranform elements.
2158
2159         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2160         (gst_base_src_loop), (gst_base_src_change_state):
2161         Mark buffers with the DISCONT flag.
2162
2163 2006-03-08  Michael Smith  <msmith@fluendo.com>
2164
2165         * gst/gstregistry.h:
2166         * gst/gstregistryxml.c: (gst_registry_save),
2167         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2168         (gst_registry_xml_save_pad_template),
2169         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2170         (gst_registry_xml_write_cache):
2171           Rewrite registry-saving to avoid race conditions and check for
2172           failed writes.
2173
2174 2006-03-08  Wim Taymans  <wim@fluendo.com>
2175
2176         * libs/gst/base/gstbasetransform.c:
2177         (gst_base_transform_transform_caps),
2178         (gst_base_transform_transform_size),
2179         (gst_base_transform_prepare_output_buffer),
2180         (gst_base_transform_get_unit_size),
2181         (gst_base_transform_buffer_alloc),
2182         (gst_base_transform_handle_buffer),
2183         (gst_base_transform_change_state):
2184         Cleanups, separate normal flow from errors, add sensible
2185         DEBUG lines.
2186         Don't try to renegotiate when allocating an output buffer.
2187         Also copy DISCONT buffer flag when copying a buffer.
2188         Reset the transform after we finish streaming, not during.
2189
2190 2006-03-08  Wim Taymans  <wim@fluendo.com>
2191
2192         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2193         Use last buffer timestamp in qos message.
2194
2195 2006-03-07  Wim Taymans  <wim@fluendo.com>
2196
2197         Patch by: Christophe Fergeau
2198
2199         * docs/pwg/advanced-tagging.xml:
2200         * docs/pwg/building-pads.xml:
2201           fixes #333416
2202
2203 2006-03-07  Wim Taymans  <wim@fluendo.com>
2204
2205         * docs/libs/gstreamer-libs-sections.txt:
2206         Added basesink new methods.
2207
2208         * gst/gstevent.c:
2209         * gst/gstevent.h:
2210         Docs updates. Flesh out the QoS docs.
2211
2212         * libs/gst/base/gstadapter.c:
2213         Small doc clarification about ownership and flushing.
2214
2215         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2216         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2217         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2218         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2219         * libs/gst/base/gstbasesink.h:
2220         API additions: 
2221         Added new methods to allow subclass to control max-lateness 
2222         and sync.
2223         Generate very basic QoS events based on last sync observation.
2224         Updated docs, fix typo, added some QoS blurb.
2225
2226         * libs/gst/base/gstbasesrc.c:
2227         Remove obsolete _get_state() calls from docs.
2228
2229 2006-03-07  Wim Taymans  <wim@fluendo.com>
2230
2231         * docs/libs/gstreamer-libs-sections.txt:
2232         * libs/gst/base/gstbasetransform.h:
2233         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2234         Fix docs for GstBaseSrc.
2235
2236 2006-03-07  Wim Taymans  <wim@fluendo.com>
2237
2238         * docs/gst/gstreamer-sections.txt:
2239         * gst/gstbuffer.h:
2240         * gst/gstvalue.c:
2241         * libs/gst/base/gstbasetransform.h:
2242         Small documentation fixes.
2243
2244 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2245
2246         * gst/gstvalue.c:
2247           Document thread-unsafety of gst_value_register_foo_func()
2248           when used at the same time as gst_value_foo() (#322628).
2249
2250 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2251
2252         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2253         (gst_push_src_check_get_range):
2254           Push sources don't support pull mode by default.
2255
2256 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2257
2258         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2259         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2260         (gst_base_src_default_check_get_range):
2261         * libs/gst/base/gstbasesrc.h:
2262           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2263           provide default implementation, and rename
2264           gst_base_src_check_get_range() to
2265           gst_base_src_pad_check_get_range() for clarity.
2266
2267 2006-03-06  Wim Taymans  <wim@fluendo.com>
2268
2269         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2270         Make property overridable.
2271
2272 2006-03-06  Wim Taymans  <wim@fluendo.com>
2273
2274         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2275         (gst_base_sink_init), (gst_base_sink_set_property),
2276         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2277         * libs/gst/base/gstbasesink.h:
2278         API addition: Make max-lateness a property.
2279
2280 2006-03-06  Wim Taymans  <wim@fluendo.com>
2281
2282         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2283         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2284         Don't ever draw a frame that is >10ms late.
2285
2286 2006-03-06  Michael Smith  <msmith@fluendo.com>
2287
2288         * gst/gstmessage.c: (_gst_message_copy):
2289           When copying a message, set the parent_refcount of the enclosed
2290           structure to point at the copy, not the original message.
2291
2292 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2293
2294         Patch by: Christophe Fergeau
2295
2296         * gst/gstutils.h:
2297           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2298           usable in c++ code (#333417)
2299
2300 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2301
2302         * gst/gstclock.h:
2303           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2304
2305 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2306
2307         * libs/gst/base/gstbasetransform.c:
2308         (gst_base_transform_transform_caps):
2309           Make sure caps are writable before passing them to
2310           gst_caps_append().
2311
2312 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2313
2314         * gst/gsterror.h:
2315           Fix some minor docs errors.
2316
2317 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2318
2319           Patch by: Ross Burton <ross at burtonini dot com>
2320
2321         * gst/gsterror.c: (_gst_resource_errors_init):
2322         * gst/gsterror.h:
2323           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2324
2325 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2326
2327         * gst/gst.c:
2328         Add a check and output a g_warning when GStreamer is built
2329         against GLib 2.6 but running against 2.8 or higher, and vice 
2330         versa. (Closes: #323542)
2331
2332 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2333
2334         * gst/parse/parse.l:
2335           Commit patch for parse_launch syntax from #331255. Removes 
2336           support for quoted strings and mimetypes when writing filtered 
2337           caps. See the bug report for more details - I'm pretty sure this
2338           obscure feature is not in use by _anyone_ anywhere.
2339
2340           With this simple change, the size of the gstreamer.so here 
2341           drops from 2193KB to 1565KB.
2342
2343 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2344
2345         * plugins/elements/gsttypefindelement.h:
2346         * plugins/elements/gsttypefindelement.c:
2347         (gst_type_find_element_src_event), (start_typefinding),
2348         (stop_typefinding), (gst_type_find_element_handle_event),
2349         (gst_type_find_element_chain),
2350         (gst_type_find_element_chain_do_typefinding):
2351           Use gst_type_find_helper_for_buffer() for chain-based
2352           typefinding.
2353
2354 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2355
2356         * plugins/elements/gsttypefindelement.c:
2357         (gst_type_find_element_class_init),
2358         (gst_type_find_element_set_property),
2359         (gst_type_find_element_get_property):
2360           Deprecate "maximum" property (not only was it only taken into
2361           account for typefinding in push-mode anyway, it also was never
2362           actually possible to set it in the first place because the
2363           property was registered with the numeric property ID for the
2364           "minimum" property). Register "maximum" property correctly,
2365           for the sake of future copy'n'pasters. Remove some cruft
2366           from property get/set functions.
2367
2368 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2369
2370         * plugins/elements/gsttypefindelement.c:
2371         (gst_type_find_element_activate):
2372           Use gst_type_find_helper_get_range() here, so we
2373           can honour the "minimum" property and also emit
2374           the signal with the correct probability of the found caps.
2375
2376 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2377
2378         * docs/libs/gstreamer-libs-sections.txt:
2379         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2380         (helper_find_suggest), (gst_type_find_helper_get_range),
2381         (gst_type_find_helper):
2382         * libs/gst/base/gsttypefindhelper.h:
2383           New API: gst_type_find_helper_get_range() (#333042).
2384
2385 2006-03-02  Michael Smith  <msmith@fluendo.com>
2386
2387         * gst/gstregistryxml.c: (load_feature):
2388           Asserting on a failure to read part of the registry is Not Cool.
2389           Just log a warning and return NULL (which is already handled)
2390
2391 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2392
2393         * win32/common/libgstbase.def:
2394           added export of gst_type_find_helper_for_buffer
2395         * win32/common/libgstbase.def:
2396           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2397           gst_ghost_pad_get_target
2398
2399 2006-02-28  Wim Taymans  <wim@fluendo.com>
2400
2401         * docs/design/draft-klass.txt:
2402         We use Filter now.
2403         Added Connector to mark elements that are only used to
2404         allow pipeline connections.
2405         Moved Debug to extra feature since most of them are 
2406         functionally something else.
2407
2408 2006-02-28  Wim Taymans  <wim@fluendo.com>
2409
2410         * docs/design/draft-klass.txt:
2411         Some updates and clarifications.
2412
2413 2006-02-28  Wim Taymans  <wim@fluendo.com>
2414
2415         * docs/design/draft-klass.txt:
2416         Proposal for klass field values.
2417
2418         * docs/design/part-streams.txt:
2419         Start of a doc describing stream anatomy.
2420
2421 2006-02-28  Wim Taymans  <wim@fluendo.com>
2422
2423         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2424         Help the compiler a bit with type registration.
2425         Use existing forward cod path instead of duplicating it when 
2426         handling a message.
2427         
2428         * gst/gstbus.c: (gst_bus_get_type):
2429         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2430         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2431         * gst/gstclock.c: (gst_clock_get_type):
2432         * gst/gstelement.c: (gst_element_get_type),
2433         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2434         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2435         * gst/gstminiobject.c: (gst_mini_object_get_type):
2436         * gst/gstpad.c: (gst_pad_get_type):
2437         * gst/gstsegment.c: (gst_segment_get_type):
2438         * gst/gststructure.c: (gst_structure_get_type):
2439         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2440         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2441         * gst/gstvalue.c:
2442         Help compiler with type registration.
2443
2444         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2445         Small doc update.
2446
2447 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2448
2449         * plugins/elements/gsttypefindelement.c:
2450         (gst_type_find_element_handle_event):
2451           When we get an EOS event and have not found a type yet
2452           (most likely because we had not yet accumulated
2453           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2454           type given the data we have so far. Fixes typefinding
2455           for very short streams again, most notably quicktime
2456           redirections as used on Apple's trailer site (#331701).
2457
2458 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2459
2460         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2461         (gst_type_find_helper):
2462           Try typefinding factories with the highest rank first.
2463
2464 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2465
2466         * docs/libs/gstreamer-libs-docs.sgml:
2467         * docs/libs/gstreamer-libs-sections.txt:
2468         * libs/gst/base/gsttypefindhelper.c:
2469           Add section for typefind helper and add documentation
2470           for the old and the new function.
2471
2472 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2473
2474         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2475         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2476         (gst_type_find_helper_for_buffer):
2477         * libs/gst/base/gsttypefindhelper.h:
2478           New API: gst_type_find_helper_for_buffer() (#332723).
2479           
2480 2006-02-27  Michael Smith  <msmith@fluendo.com>
2481
2482         Patch by: Loïc Minier
2483
2484         * configure.ac:
2485         * docs/Makefile.am:
2486         * docs/slides/Makefile.am:
2487           prevent CVS directories getting disted.
2488
2489 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2490
2491         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2492           Use the REFCOUNTING category for caps refcounting.
2493           
2494 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2495
2496         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2497           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2498
2499 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2500
2501         * plugins/elements/gsttypefindelement.c:
2502         (gst_type_find_element_activate):
2503           Use gst_pad_check_pull_range() before _activate_pull()
2504           to avoid unnecessary open/close (see #331690).
2505
2506 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2507
2508         * gst/gstutils.c:
2509           Docs enhancement: make it crystal clear what the
2510           gst_pad_add_*_probe() callbacks should look like.
2511
2512 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2513
2514         * libs/gst/base/gstbasesrc.c:
2515           Document how applications can stop recording from
2516           live sources (see #330996).
2517
2518 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2519
2520         * tests/check/Makefile.am:
2521         * tests/check/libs/basesrc.c: (eos_event_counter),
2522         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2523         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2524         (gst_basesrc_suite), (main):
2525           ... and add some tests for the base source EOS stuff.
2526
2527 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2528
2529         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2530           Test case originally showed the problem fixed below,
2531           but was then amended. Add checks back at the place
2532           where they used to be.
2533
2534 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2535
2536         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2537         (gst_base_src_init), (gst_base_src_loop),
2538         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2539         (gst_base_src_change_state):
2540         * libs/gst/base/gstbasesrc.h:
2541           Don't unconditionally send EOS when going from PAUSED to
2542           READY state, esp. make sure we don't send two EOS events
2543           in some cases (e.g. one when reaching EOS and one when
2544           going from PAUSED to READY). Also, we don't want to send
2545           EOS events when operating in pull mode. However, we do
2546           want to send an EOS event when shutting down a live
2547           source explicitly, for example (fixes #330996).
2548           
2549 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2550
2551         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2552           Update src->read_position after a seek when not using mmap.
2553           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2554
2555 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2556
2557         * gst/Makefile.am:
2558         * gst/gstparse.h:
2559         * gst/gstutils.c:
2560         * gst/gstutils.h:
2561         Make things work with --disable-parse as they do with 
2562         --disable-load-save - the symbols involved disappear, but the
2563         header is still installed and GST_DISABLE_PARSE is included via
2564         gstconfig.h
2565
2566 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2567
2568         * libs/gst/base/gstbasetransform.c:
2569         (gst_base_transform_change_state): Fix a stupid bug. I was 
2570         sure I compiled that.
2571
2572 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2573
2574         * gst/gstpad.c: (gst_pad_set_blocked_async):
2575         * gst/gstutils.c: (gst_pad_add_data_probe),
2576         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2577         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2578         (gst_pad_remove_buffer_probe): Make those function act on the
2579         ghostpad target when it's a ghostpad. (Closes #331727)
2580
2581 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2582
2583         * libs/gst/base/gstbasetransform.c:
2584         (gst_base_transform_change_state): Make basetransform reusable.
2585         (Closes #331898)
2586
2587 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2588
2589         * docs/random/release:
2590         Move the current documentation of how to do a release to the top
2591         of the file.
2592
2593         * gst/gstbin.c: (gst_bin_class_init),
2594         (gst_bin_handle_message_func):
2595         Allow multiple state-recalculation threads. (Closes #328873)
2596
2597 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2598
2599         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2600         * gst/gstpad.c: (gst_pad_set_event_function),
2601         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2602         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2603         2 strings. You can't use the STR_NULL macro on that.
2604
2605 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2606
2607         * gst/gstpad.c: (gst_pad_set_event_function),
2608         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2609         (gst_pad_set_getcaps_function)
2610         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2611           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2612           So now, we can use --gst-debug-level=5 on Windows
2613         * win32/common/libgstcontroller.def:
2614           Added export of gst_controller_init
2615         * win32/vs6/libgstcontroller.dsp:
2616           Fixed Release post build configuration
2617
2618 2006-02-17  Wim Taymans  <wim@fluendo.com>
2619
2620         * tests/check/gst/gstquery.c: (GST_START_TEST):
2621         Added another check.
2622
2623 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2624
2625         * plugins/elements/gsttypefindelement.c: (find_peek):
2626           We can do peeks at non-zero offsets, as long as they
2627           fall within the buffer we have.
2628
2629 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2630
2631         * tests/check/Makefile.am:
2632         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2633         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2634         (parse_suite), (main):
2635           Add testsuite for parse launch syntax
2636
2637 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2638
2639         * plugins/elements/gsttypefindelement.c:
2640         (gst_type_find_element_chain):
2641           When typefinding is unsuccessful in the chain function, don't
2642           error out immediately. Only error out with NO_CAPS_FOUND if
2643           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2644           otherwise simply wait for more data so we can try typefinding
2645           again with more data later. Also, don't attempt to typefind
2646           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2647           this should improve typefinding from network sources where the
2648           size of the first buffer can be somewhat random.
2649
2650 2006-02-14  Wim Taymans  <wim@fluendo.com>
2651
2652         * docs/gst/gstreamer-sections.txt:
2653         * gst/gstpadtemplate.c:
2654         * gst/gstpadtemplate.h:
2655         Fix padtemplate docs, fixes #328805.
2656
2657 2006-02-14  Wim Taymans  <wim@fluendo.com>
2658
2659         * tools/gst-launch.c: (main):
2660         NO_PREROLL is not an ERROR so don't send confusing messages
2661         to the user.
2662
2663 2006-02-14  Wim Taymans  <wim@fluendo.com>
2664
2665         Patch by: Torsten Schoenfeld
2666
2667         * gst/gstregistry.c: (gst_registry_get_default),
2668         (_gst_registry_cleanup):
2669         Protect default registry with lock and ref/sink it.
2670         Fixes #324818
2671
2672 2006-02-14  Wim Taymans  <wim@fluendo.com>
2673
2674         * gst/gstbuffer.c:
2675         * gst/gstquery.c: (gst_query_list_add_format),
2676         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2677         (gst_query_parse_formats_nth):
2678         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2679         Docs fixes.
2680
2681 2006-02-14  Wim Taymans  <wim@fluendo.com>
2682
2683         * docs/gst/gstreamer-sections.txt:
2684         Reworked query docs.
2685
2686         * gst/gstquery.c: (gst_query_new_formats),
2687         (gst_query_list_add_format), (gst_query_set_formats),
2688         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2689         (gst_query_parse_formats_nth):
2690         * gst/gstquery.h:
2691         Flesh out formats query, added some new methods.
2692         Fix part of #324398.
2693
2694         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2695         Added query creation tests.
2696
2697 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2698
2699         * gst/gstpad.c: (fixate_value):
2700         Add a default fixation for fraction lists.
2701
2702 2006-02-13  Wim Taymans  <wim@fluendo.com>
2703
2704         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2705         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2706         (gst_task_join):
2707         * gst/gsttask.h:
2708         Detect and warn for obvious deadlocks. fixes #320340
2709         Fix error case where lock was not released.
2710
2711         * tests/check/Makefile.am:
2712         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2713         (task_func), (gst_element_suite), (main):
2714         Add task check.
2715
2716 2006-02-13  Wim Taymans  <wim@fluendo.com>
2717
2718         * docs/gst/gstreamer-sections.txt:
2719         * gst/gstbus.c:
2720         Add new functions to docs.
2721
2722 2006-02-13  Wim Taymans  <wim@fluendo.com>
2723
2724         * docs/design/part-TODO.txt:
2725         Updated TODO list, basesrc supports seeking to non-bytes
2726         formats.
2727
2728         * docs/design/part-element-sink.txt:
2729         Update docs.
2730
2731         * gst/gstbin.c: (bin_replace_message),
2732         (gst_bin_handle_message_func):
2733         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2734         * gst/gstevent.c: (gst_event_finalize):
2735         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2736         (gst_pad_send_event):
2737         Use shiny new _TYPE_NAME macros.
2738
2739         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2740         Move debug statement up.
2741
2742         * gst/gstelement.c: (gst_element_set_locked_state):
2743         Add some debugging.
2744
2745 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2746
2747         * docs/gst/gstreamer-sections.txt:
2748         * gst/gstmessage.h:
2749         * gst/gstquery.h:
2750           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2751           macros (#330906). Also, document the already existing
2752           GST_QUERY_TYPE macro.
2753
2754 2006-02-13  Wim Taymans  <wim@fluendo.com>
2755
2756         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2757         (event_probe), (GST_START_TEST):
2758         Only events up to the pipeline EOS are counted, there are
2759         some more when going to NULL currently which we don't care
2760         about for now.
2761
2762 2006-02-13  Wim Taymans  <wim@fluendo.com>
2763
2764         * gst/gstpad.c: (gst_pad_send_event):
2765         Correctly check flushing and emit probes. fixes #330125
2766
2767 2006-02-10  Andy Wingo  <wingo@pobox.com>
2768
2769         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2770         structure.
2771         (gst_bus_init): Cache the location of the private data in the
2772         instance structure.
2773         (gst_bus_enable_sync_message_emission) 
2774         (gst_bus_disable_sync_message_emission): Implement new public
2775         functions.
2776         (gst_bus_post): Emit the sync-message signal if the user asked for
2777         it. Fixes #330684.
2778
2779         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2780         location of the bus-private structure.
2781         (gst_bus_enable_sync_message_emission)
2782         (gst_bus_disable_sync_message_emission): API addition
2783
2784 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2785
2786         Patch by: Vincent Torri
2787
2788         * docs/pwg/building-boiler.xml:
2789         PWG patch from #326800
2790
2791 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2792
2793         * configure.ac:
2794         * docs/Makefile.am:
2795         * docs/design/Makefile.am:
2796           Dist design docs.
2797
2798 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2799
2800         * configure.ac:
2801           back to CVS
2802
2803 === release 0.10.3 ===
2804
2805 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
2806
2807         * configure.ac:
2808           releasing 0.10.3, "Like a virgin"
2809
2810 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2811
2812         * configure.ac:
2813           2nd prerelease of 0.10.3
2814           Bump libtool versioning.
2815
2816 2006-02-07  Andy Wingo  <wingo@pobox.com>
2817
2818         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2819         update last_stop if we're in TIME format and the timestamp is
2820         valid.
2821
2822         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
2823         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
2824         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2825         If we get a new newsegment with a different format, adapt
2826         accordingly.
2827
2828         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2829         of 0. Not a problem, really.
2830
2831         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2832         warn if sync=true.
2833
2834 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
2835
2836         * configure.ac:
2837           Prelease of 0.10.3
2838
2839 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
2840
2841         * win32/vs7:
2842           project files updated to the default vs7 configuration
2843         * win32/common/libgstbase.def:
2844         * win32/common/libgstreamer.def:
2845           added new symbols,
2846           removed empty lines,
2847           sorted all exported symbols alphabetically
2848         * win32/common/dirent.c:
2849         * win32/common/dirent.h:
2850         * win32/common/gchar.h:
2851           use windows line end.
2852           
2853 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2854
2855         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2856           Send EOS event when stopping.
2857
2858 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2859
2860         * docs/README:
2861           Tell folks what to do if the plugin-foobar.xml file
2862           hasn't been generated for a newly-added plugin.
2863
2864 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2865
2866         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2867         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2868         (gst_collect_pads_start), (gst_collect_pads_stop),
2869         (gst_collect_pads_event): Collectpads now holds a reference
2870         to the GstPad that was added. Indeed we don't want to look
2871         at pads that might just go away with no warning...
2872
2873 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2874
2875         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2876         (gst_collect_pads_start), (gst_collect_pads_stop),
2877         (gst_collect_pads_event), (gst_collect_pads_chain):
2878         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
2879         Mark Nauwelaerts's patch on bug #328491.
2880
2881 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2882
2883         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
2884         (gst_utils_suite):
2885           Add some simple tests for gst_parse_bin_from_description() and
2886           gst_bin_find_unconnected_pad() (#329069).
2887
2888 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2889
2890         * tools/gst-launch.c: (event_loop), (main):
2891           Catch errors during preroll (#320084).
2892
2893 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2894
2895         * plugins/elements/gsttypefindelement.c:
2896         (gst_type_find_element_activate):
2897           Post TYPE_NOT_FOUND error message when typefinding
2898           is unsuccessful in the activate function as well.
2899
2900 2006-02-02  Wim Taymans  <wim@fluendo.com>
2901
2902         * docs/design/part-element-sink.txt:
2903         Updated doc.
2904
2905 2006-02-02  Wim Taymans  <wim@fluendo.com>
2906
2907         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2908         (gst_base_sink_render_object),
2909         (gst_base_sink_queue_object_unlocked):
2910         Only keep track of prerollable items when we are 
2911         prerolling.
2912         Before rendering after preroll, always check if we
2913         have queued items.
2914         Added some more debugging.
2915
2916 2006-02-02  Wim Taymans  <wim@fluendo.com>
2917
2918         * gst/gstelement.c: (gst_element_continue_state),
2919         (gst_element_set_state_func), (gst_element_change_state):
2920         Fixed #326576, been running this for quite some time with
2921         no regressions at all.
2922
2923 2006-02-02  Wim Taymans  <wim@fluendo.com>
2924
2925         * common/gst.supp:
2926         Added more suppressions
2927
2928 2006-02-02  Wim Taymans  <wim@fluendo.com>
2929
2930         * docs/design/part-element-sink.txt:
2931         Updated document.
2932
2933         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2934         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2935         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2936         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2937         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2938         (gst_base_sink_preroll_object),
2939         (gst_base_sink_queue_object_unlocked),
2940         (gst_base_sink_queue_object), (gst_base_sink_event),
2941         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2942         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2943         (gst_base_sink_get_position), (gst_base_sink_change_state):
2944         * libs/gst/base/gstbasesink.h:
2945         Totally refactored matching the design doc.
2946         Use two segments, one to clip incomming buffers and another to
2947         perform sync.
2948         Handle queueing correctly, bypass the queue when playing.
2949         Make EOS cancelable.
2950         Handle errors correctly when operating in pull based mode.
2951
2952         * tests/check/elements/fakesink.c: (GST_START_TEST),
2953         (fakesink_suite):
2954         Added new check for sinks.
2955
2956 2006-02-02  Wim Taymans  <wim@fluendo.com>
2957
2958         * gst/gstsegment.c: (gst_segment_clip):
2959         No reason to refuse to clip when start == -1
2960
2961 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
2962
2963         * docs/README:
2964         * docs/manual/intro-basics.xml:
2965         * docs/manual/intro-preface.xml:
2966         * docs/manual/manual.xml:
2967         * docs/pwg/advanced-dparams.xml:
2968         * docs/pwg/intro-basics.xml:
2969         * docs/pwg/intro-preface.xml:
2970         * docs/pwg/pwg.xml:
2971           describe dparams (controller) for plugins
2972           unify docs a little more
2973
2974 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
2975
2976         * docs/gst/gstreamer-sections.txt:
2977         * gst/gstutils.c: (element_find_unconnected_pad),
2978         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
2979         * gst/gstutils.h:
2980           Add new API: gst_parse_bin_from_description() and
2981           gst_bin_find_unconnected_pad() (#329069).
2982
2983 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
2984
2985         * docs/manual/README:
2986           uncover a nasty detail of the docs build
2987
2988 2006-01-31  Wim Taymans  <wim@fluendo.com>
2989
2990         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
2991         Don't cache duration messages if we're not going to use or
2992         free them.
2993
2994 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
2995
2996         * docs/manual/advanced-dparams.xml:
2997         * docs/pwg/advanced-dparams.xml:
2998           more dparam docs
2999         * gst/gstindex.c:
3000           fix docs
3001         * libs/gst/controller/lib.c: (gst_controller_init):
3002           init just once
3003
3004 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3005
3006         * gst/gstelement.c: (gst_element_message_full):
3007           also show file/line/func if no additional debug was given
3008
3009 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3010         
3011         * win32/vs7/grammar.vcproj:
3012           activate copy of autogenerated files for Release mode
3013
3014 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3015         
3016         * win32/common/libgstreamer.def:
3017           export gst_value_compare
3018
3019 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3020
3021         * plugins/elements/Makefile.am:
3022         * plugins/elements/gstelements.c:
3023         * plugins/elements/gstfdsink.c: (_do_init),
3024         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3025         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3026         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3027         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3028         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3029         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3030         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3031         * plugins/elements/gstfdsink.h:
3032         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3033
3034 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3035
3036         * docs/manual/advanced-dparams.xml:
3037           describe controller
3038         * docs/manual/advanced-position.xml:
3039         * docs/manual/basics-init.xml:
3040         * docs/manual/manual.xml:
3041         * docs/manual/titlepage.xml:
3042         * docs/pwg/pwg.xml:
3043         * docs/pwg/titlepage.xml:
3044           cleanup xml (more to come)
3045         * libs/gst/controller/gstcontroller.c:
3046           fix typo
3047
3048 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3049         
3050         * win32/vs6/grammar.dsp:
3051           add autogen of gstmarshal.c,h for Release mode
3052                 
3053 2006-01-30  Wim Taymans  <wim@fluendo.com>
3054
3055         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3056         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3057         (gst_base_sink_handle_object), (gst_base_sink_event),
3058         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3059         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3060         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3061         (gst_base_sink_deactivate), (gst_base_sink_activate),
3062         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3063         (gst_base_sink_query), (gst_base_sink_change_state):
3064         Basesink cleanups, remove some old code.
3065         Handle the case where a subclass can preroll in the render
3066         method (mostly audiosinks).
3067         Handle more events.
3068         Remove some locks around variables that are now protected
3069         with the PREROLL_LOCK (clock_id, flushing, ..).
3070         Optimize position query some more, do correct locking.
3071         Remove old code to push queue in state change, this is not
3072         needed anymore since preroll blocks on all prerollable items 
3073         now.
3074         Almost implemented as described in design doc.
3075
3076 2006-01-30  Wim Taymans  <wim@fluendo.com>
3077
3078         * tests/check/gst/gstbin.c: (GST_START_TEST):
3079         Wait for refcount to settle down before checking.
3080
3081 2006-01-30  Wim Taymans  <wim@fluendo.com>
3082
3083         * docs/design/part-element-sink.txt:
3084         Pseudo code overview of desired sink behaviour regarding
3085         preroll.
3086
3087 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3088         * win32/vs6/grammar.dsp:
3089           fix some bugs in Release mode for autogenerated files
3090                 
3091 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3092         * win32/common/libgstbase.def:
3093         * win32/common/libgstreamer.def:
3094           export some new symbols: gst_base_src_set_format,
3095           gst_iterator_next, gst_structure_set_valist
3096
3097 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3098
3099         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3100         Set pad functions unconditionally. Fixes #329105.
3101
3102 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3103         * win32/vs8:
3104           add vs8 project files created by Sergey Scobich
3105
3106 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3107
3108         * gst/gstutils.c: (gst_element_unlink_pads):
3109         Don't leak pad references.
3110
3111         * tests/check/elements/fakesink.c: (GST_START_TEST):
3112         * tests/check/generic/sinks.c: (GST_START_TEST):
3113         * tests/check/generic/states.c: (GST_START_TEST):
3114         * tests/check/gst/gstbin.c: (GST_START_TEST):
3115         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3116         * tests/check/gst/gstelement.c: (GST_START_TEST):
3117         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3118         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3119         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3120         Fix a bunch of leaks. Make generic/sinks.c
3121         use a bit less cpu by slowing the buffer rate
3122         between fakesrc and fakesink.
3123         
3124 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3125         * gst/gstcaps.c:
3126         * gst/gstelement.c: (gst_element_send_event):
3127         * gst/gstevent.c:
3128         * gst/gstinfo.c:
3129         * gst/gstiterator.c:
3130         * gst/gstiterator.h:
3131         * gst/gstpad.c: (gst_pad_send_event):
3132         * gst/gststructure.c:
3133         * gst/gsturi.c:
3134         * gst/gstutils.c:
3135         * gst/gstvalue.c:
3136         * libs/gst/base/gstadapter.c:
3137           doc fixes, to link to function, just write gst_cool_function(), don't
3138           prefix with '#'
3139
3140 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3141
3142         * plugins/elements/gsttee.c: (gst_tee_do_push),
3143         (gst_tee_handle_buffer):
3144         Always prefer an actual return value from a src
3145         pad in place of NOT_LINKED. This means we return
3146         WRONG_STATE when all src pads are WRONG_STATE
3147         instead of NOT_LINKED.
3148
3149         Lock when replacing the last message to prevent
3150         racing with the get_property method.
3151
3152         Add debug output
3153
3154 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3155
3156         * tests/check/Makefile.am:
3157         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3158         (main):
3159         Add a very simple check that should have caught the memleak I fixed
3160         last night (if not for the slice allocator hiding it)
3161
3162 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3163
3164         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3165         (gst_bin_remove_func), (gst_bin_handle_message_func),
3166         (bin_query_duration_fold), (bin_query_generic_fold):
3167         Clean up references to the clock provider when disposed or when
3168         handling a clock-lost message from it.
3169
3170         Unref sinks when performing a query via gst_iterator_fold, as the
3171         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3172
3173         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3174         (gst_clock_set_master):
3175         Drop our reference to the master clock, if any, when we are disposed.
3176
3177         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3178         Chain up in dispose. 
3179
3180 2006-01-26  Wim Taymans  <wim@fluendo.com>
3181
3182         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3183         Add some debugging.
3184
3185 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3186
3187         * plugins/elements/gsttee.c: (gst_tee_do_push),
3188         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3189         handles pad being NOT_LINKED or in WRONG_STATE.
3190
3191 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3192
3193         * win32/MANIFEST:
3194           more updating
3195
3196 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3197
3198         * win32/MANIFEST:
3199           remove obsolete entry
3200
3201 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3202
3203         * docs/gst/gstreamer-sections.txt:
3204         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3205         (gst_bin_iterate_sources), (gst_bin_send_event):
3206         * gst/gstbin.h:
3207         * gst/gstelement.c: (gst_element_send_event):
3208         * gst/gstevent.c:
3209         * gst/gstpad.c: (gst_pad_send_event):
3210           added code for downstream events, reviewed docs in gstevent.c
3211
3212 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3213
3214         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3215         We only query position using the clock in the playing state.
3216         Query peer in the other cases.
3217         * win32/common/config.h: Updates.
3218
3219 2006-01-24  Wim Taymans  <wim@fluendo.com>
3220
3221         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3222         A clock entry that is scheduled for the exact time of the
3223         clock is still in time.
3224
3225         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3226         (gst_base_sink_do_sync):
3227         Add some more debug info.
3228
3229 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3230
3231         * win32/vs7:
3232           Add new vs7 project files and solution.
3233
3234 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3235
3236         * win32/vs7:
3237           all files removed as they were out-dated.
3238
3239 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3240
3241         * docs/random/release:
3242           update notes
3243         * gst/gstbin.c: (gst_bin_init):
3244         * gst/gstbus.c: (gst_bus_new):
3245         * gst/gstbus.h:
3246         * gst/gstpipeline.c: (gst_pipeline_init):
3247           use gst_bus_new(), improve logging, fix docs
3248         * win32/common/config.h:
3249           update for cvs build
3250
3251 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3252
3253         * autogen.sh:
3254           up required version of automake to 1.7
3255
3256 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3257
3258         * win32/common/libgstreamer.def:
3259           export gst_buffer_is_metadata_writable
3260
3261 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3262
3263         * docs/gst/gstreamer-sections.txt:
3264         * gst/gstevent.h:
3265           Add gst_event_replace() (#327001)
3266
3267 2006-01-20  Wim Taymans  <wim@fluendo.com>
3268
3269         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3270         Make it actually compile too..
3271
3272 2006-01-20  Wim Taymans  <wim@fluendo.com>
3273
3274         * gst/gstcaps.c:
3275         Clarify behaviour of _is_equal() when passing NULL parameters.
3276
3277         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3278         (gst_pad_set_caps):
3279         Cleanups. Don't unref NULL caps.
3280         When setting the same caps, protect caps of the pad with
3281         proper lock.
3282         Use full functionality of _is_equal() when comparing caps.
3283
3284 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3285
3286         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3287         Don't loop infinitely if there are no buffers to present. Partially
3288         fixes #327197, but collectpads is just broken for reusing elements
3289         to do multiple encodes atm.
3290
3291 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3292
3293         * tools/gst-inspect.c: (print_element_features):
3294         * tools/gst-xmlinspect.c: (main):
3295         URL_HANDLER is not a plugin feature we can search for in
3296         the registry.
3297
3298 2006-01-19  Edward Hervey  <edward@fluendo.com>
3299
3300         * gst/gstelement.c: (gst_element_pads_activate): 
3301         When activating, do src pads first, then sink pads.
3302         When de-activating, do sink pads first, then src pads.
3303
3304 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3305
3306         * docs/gst/gstreamer-sections.txt:
3307         Add gst_index_add_associationv to the docs
3308
3309 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3310
3311         * gst/gstevent.c:
3312           Fix docs typo
3313
3314         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3315         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3316           Do some refactoring. Doesn't actually change functionality,
3317           but makes landing the DRAIN event easier later.
3318
3319 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3320
3321         * docs/pwg/advanced-scheduling.xml:
3322           Update from 0.9.x to 0.10 API and make example a bit
3323           clearer.
3324
3325 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3326
3327         * docs/gst/gstreamer-sections.txt:
3328         Add gst_buffer_(is|make)_metadata_writable methods.
3329
3330 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3331
3332         * docs/design/part-sparsestreams.txt:
3333         Update sparse streams doc, hopefully for greater clarity
3334
3335 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3336
3337         * docs/design/part-events.txt:
3338         Remove mention of FILLER events.
3339         Add DRAIN event.
3340
3341         * docs/design/part-sparsestreams.txt:
3342         Write some things about using NEWSEGMENT to keep sparse streams
3343         flowing.
3344
3345 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3346
3347         * gst/gstbin.c: (gst_bin_dispose):
3348           Guard gst_object_unref call against a NULL object (dispose
3349           can theoretically be called multiple times).
3350           
3351 2006-01-18  Wim Taymans  <wim@fluendo.com>
3352
3353         * gst/gstbin.c: (gst_bin_element_set_state):
3354         * gst/gstclock.c: (gst_clock_id_wait):
3355         Added some more debug info.
3356
3357         * libs/gst/base/gstadapter.c:
3358         Added more docs.
3359
3360         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3361         (gst_base_sink_do_sync), (gst_base_sink_chain):
3362         Added some comments.
3363
3364 2006-01-18  Wim Taymans  <wim@fluendo.com>
3365
3366         * tests/check/Makefile.am:
3367         * tests/check/elements/fakesink.c: (chain_async_buffer),
3368         (chain_async), (chain_async_return), (GST_START_TEST),
3369         (fakesink_suite), (main):
3370         Added fakesink test that checks prerolling and clipping
3371         behaviour.
3372
3373         * tests/check/gst/gstutils.c: (GST_START_TEST):
3374         Make check run faster so that buildbots don't timeout.
3375
3376 2006-01-18  Wim Taymans  <wim@fluendo.com>
3377
3378         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3379         (gst_base_sink_do_sync):
3380         Some cleanups.
3381         When the sink finishes blocking on the preroll buffer, it can
3382         immediatly render it instead of rendering when the next buffer
3383         arrives.
3384
3385 2006-01-18  Wim Taymans  <wim@fluendo.com>
3386
3387         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3388         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3389         (gst_base_sink_chain):
3390         Small cleanups.
3391         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3392         Don't store _last_stop if the buffer is dropped.
3393
3394 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3395
3396         * plugins/elements/gsttypefindelement.c:
3397         (gst_type_find_element_class_init):
3398           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3399           object method handler that sets the caps on the pad and we want
3400           that to happen before we emit the signal (fixes e.g. feeding a
3401           plain text file to decodebin).
3402
3403 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3404
3405         * gst/gstplugin.c: Add MPL and Proprietary as license options
3406
3407 2006-01-18  Andy Wingo  <wingo@pobox.com>
3408
3409         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3410         symbol was exported before, it appears this was just an oversight.
3411         Fixes #168703.
3412         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3413
3414         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3415         prototype to gint. OK since this prototype was not in the header.
3416
3417 2006-01-17  Andy Wingo  <wingo@pobox.com>
3418
3419         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3420         registry while we remove plugins.
3421
3422         * tools/gst-inspect.c (print_element_info): Don't unref the
3423         factory arg, that should be the responsibility of whatever code
3424         received the ref. Fixes a double-free when called from
3425         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3426         (main): Unref the factory if we have one.
3427         (print_element_list): No change -- relies on the
3428         plugin_feature_list_free to free the list of features.
3429
3430 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3431
3432         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3433         (gst_buffer_make_metadata_writable):
3434         * gst/gstbuffer.h:
3435         * libs/gst/base/gstbasetransform.c:
3436         (gst_base_transform_prepare_output_buf):
3437         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3438         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3439           Replace gst_buffer_(make|is)_metadata_writable patch now
3440           that the release is out.
3441
3442 2006-01-17  Andy Wingo  <wingo@pobox.com>
3443
3444         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3445         in the present tense without reference to versions.
3446
3447         * gst/gstregistry.c (gst_registry_add_plugin)
3448         (gst_registry_remove_plugin, gst_registry_remove_feature)
3449         (gst_registry_find_feature, gst_registry_get_feature_list)
3450         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3451         (gst_registry_lookup, gst_registry_scan_path)
3452         (_gst_registry_remove_cache_plugins)
3453         (gst_registry_get_feature_list_by_plugin): Add argument
3454         validation.
3455
3456 === release 0.10.2 ===
3457
3458 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3459
3460         * configure.ac:
3461           releasing 0.10.2, "If man is five"
3462
3463 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3464
3465         * gst/gstbuffer.c:
3466         * gst/gstbuffer.h:
3467         * libs/gst/base/gstbasetransform.c:
3468         (gst_base_transform_prepare_output_buf):
3469         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3470         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3471           Back out patch until after the release.
3472
3473 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3474
3475         * gst/gstminiobject.c:
3476           Spelling fix in docs.
3477         * ChangeLog - remove conflict indicator
3478
3479 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3480
3481         Reviewed By: Andy Wingo
3482
3483         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3484         (gst_buffer_make_metadata_writable):
3485         * gst/gstbuffer.h:
3486           Add gst_buffer_(is|make)_metadata_writable as analogues of
3487           gst_buffer_(is|make)_writable.
3488
3489         * libs/gst/base/gstbasetransform.c:
3490         (gst_base_transform_prepare_output_buf):
3491         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3492           Use name gst_buffer_(is|make)_metadata_writable functions.
3493
3494         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3495           Test gst_buffer_(is|make)_metadata_writable
3496         
3497           (Closes: #324162)
3498
3499 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3500
3501         * docs/manual/Makefile.am:
3502           don't do parallel make
3503         * configure.ac:
3504           AC_SUBST HOST_CPU
3505         * win32/common/config.h.in:
3506           add generations for HOST_CPU and GST_MAJORMINOR
3507         * win32/common/config.h:
3508           commit generated result
3509
3510 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3511
3512         * docs/manual/appendix-integration.xml:
3513           Update GNOME integration section to use gst_init_get_option_group()
3514           instead of the old popt stuff (#322911). Also, GNOME applications
3515           should  now use gconf*sink and gconf*src instead of the old gconf
3516           helper lib we had.
3517
3518 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3519
3520
3521         * docs/gst/gstreamer-docs.sgml:
3522         * docs/gst/gstreamer-sections.txt:
3523         * docs/libs/gstreamer-libs-sections.txt:
3524           add new API entries to the docs
3525         * libs/gst/controller/Makefile.am:
3526         * libs/gst/controller/gstcontroller.c:
3527         * libs/gst/controller/gstcontroller.h:
3528         * libs/gst/controller/gstcontrollerprivate.h:
3529         * libs/gst/controller/gsthelper.c:
3530         * libs/gst/controller/gstinterpolation.c:
3531           move private structs to private header
3532         * po/README:
3533           gstreamer-0.7 -> gstreamer-0.10
3534         * tests/check/libs/struct_i386.h:
3535           remove private structs
3536
3537 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3538
3539         * plugins/indexers/Makefile.am:
3540           Fixes as part of #317048
3541
3542 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3543
3544         * plugins/indexers/Makefile.am:
3545           fix #316086 - compilation when mmap is missing
3546
3547 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3548
3549         * libs/gst/base/gstbasesink.c:
3550           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3551           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3552         * win32/common/config.h:
3553           added some defines GST_MAJORMINOR and HOST_CPU
3554         * win32/common/libgstbase.def:
3555         * win32/common/libgstreamer.def:
3556           added some exported functions.
3557
3558 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3559
3560         * libs/gst/controller/gstcontroller.c:
3561         (gst_controlled_property_set_interpolation_mode),
3562         (gst_controlled_property_new):
3563         * libs/gst/controller/gstcontroller.h:
3564         * libs/gst/controller/gstinterpolation.c:
3565         (interpolate_none_get_string_value_array):
3566           make G_TYPE_STRING controlable
3567
3568 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3569
3570         * tools/README:
3571         * tools/gst-feedback.1.in:
3572         * tools/gst-inspect.1.in:
3573         * tools/gst-launch.1.in:
3574         * tools/gst-md5sum.1.in:
3575         * tools/gst-typefind.1.in:
3576         * tools/gst-xmlinspect.1.in:
3577         * tools/gst-xmllaunch.1.in:
3578           cleanup man-pages, remove reference to gst-register, document env-vars
3579
3580 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3581
3582         * gst/gstbuffer.c: (gst_buffer_span):
3583           gst_buffer_span should copy the timestamp of the first buffer
3584           if they were both originally overlapping subbuffers of the 
3585           same parent, using the same logic as the 'slow copy' case.
3586
3587 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3588
3589         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3590           Need to awaken ALL the pads when we pop a buffer, otherwise
3591           collectpads only works when there is 2 input streams.
3592
3593 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3594
3595         * docs/random/ensonic/media-device-daemon.txt:
3596           more ideas (dbus)
3597         * gst/gstbuffer.c:
3598           fix doc example, add clarification
3599         * tools/gst-launch.1.in:
3600           add initial info about GST_PLUGIN_PATH, needs more work
3601
3602 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3603
3604         * docs/manual/basics-bins.xml:
3605         * docs/manual/basics-elements.xml:
3606         * docs/manual/intro-basics.xml:
3607           Some more minor docs additions and updates.
3608
3609 2006-01-11  Wim Taymans  <wim@fluendo.com>
3610
3611         * docs/manual/basics-bins.xml:
3612         * docs/manual/basics-elements.xml:
3613         Some small fixes as pointed out by Ser-ver on IRC.
3614
3615 2006-01-10  Edward Hervey  <edward@fluendo.com>
3616
3617         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3618         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3619         the single-segment mode.
3620
3621 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3622
3623         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3624
3625         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3626         (gst_base_src_perform_seek), (gst_base_src_send_event),
3627         (gst_base_src_set_property), (gst_base_src_get_property),
3628         (gst_base_src_loop), (gst_base_src_start),
3629         (gst_base_src_activate_push):
3630         * libs/gst/base/gstbasesrc.h:
3631           Name (private) union; makes Sun's Forte compiler happy (#324900).
3632
3633 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3634
3635         * README:
3636           gst-register is gone.
3637
3638 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3639
3640         * gst/gstvalue.c: (_gst_value_initialize):
3641           make the G_TYPE_DATE instantiation work if debug is disabled
3642
3643 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3644
3645         * gst/gstmessage.c: (gst_message_parse_tag),
3646         (gst_message_parse_error), (gst_message_parse_warning):
3647           Don't crash when return location for error/warning debug
3648           string is NULL; add fact that return locations can be
3649           NULL to docs where appropriate.
3650
3651 2006-01-05  Wim Taymans  <wim@fluendo.com>
3652
3653         * gst/gstplugin.c: (gst_plugin_load_file):
3654         Replace strdup by g_strdup.
3655
3656 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3657
3658         * docs/pwg/advanced-types.xml:
3659           fix doc borkage
3660
3661 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3662
3663         submitted by: Abel Cheung
3664
3665         * po/LINGUAS:
3666         * po/zh_TW.po:
3667           Added Chinese (traditional) translation
3668
3669 2006-01-04  Wim Taymans  <wim@fluendo.com>
3670
3671         * docs/manual/basics-pads.xml:
3672         * docs/plugins/Makefile.am:
3673         * docs/plugins/gstreamer-plugins-docs.sgml:
3674         * docs/plugins/gstreamer-plugins-sections.txt:
3675         * docs/pwg/advanced-clock.xml:
3676         * docs/pwg/advanced-scheduling.xml:
3677         * docs/pwg/advanced-types.xml:
3678         * plugins/elements/gstfdsink.c:
3679         * plugins/elements/gstfdsrc.c:
3680         * plugins/elements/gstfdsrc.h:
3681         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3682         * plugins/elements/gstidentity.h:
3683         * plugins/elements/gstqueue.h:
3684         * plugins/elements/gsttee.c:
3685         * plugins/elements/gsttee.h:
3686         * plugins/elements/gsttypefindelement.c:
3687         (gst_type_find_element_class_init):
3688         * plugins/elements/gsttypefindelement.h:
3689         Small updates to various docs.
3690         Added core plugins to docs.
3691
3692 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3693
3694         * common/gst.supp:
3695           add a suppression for liboil's uninitialized variable
3696
3697 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3698
3699         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3700
3701         * gst/gstutils.h:
3702           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3703           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3704           compiler switch is being used (#325429).
3705
3706 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3707
3708         * gst/gstbin.c: (gst_bin_query):
3709           Disable duration query caching in bins until it gets
3710           fixed (see #324807).
3711
3712 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3713
3714         * tools/gst-inspect.c: (print_element_properties_info):
3715           Handle properties of POINTER and BOXED type.
3716
3717 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * gst/gst.c: (init_post):
3720           Init tags stuff and some other things before loading
3721           any static plugins (there may be other static plugins
3722           than just the GStreamer ones, and they may want to
3723           register their own tags or formats or whatever, and
3724           preferably without segfaulting).
3725
3726         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3727           Print at least a warning in the debug logs if we drop a
3728           query just because we don't know how to adjust the value
3729           in the particular format.
3730
3731 2005-12-24  David Schleef  <ds@schleef.org>
3732
3733         * tools/gstreamer-completion:
3734           Replacement for gst-complete written in sh and sed.  Only
3735           completes names of features, but that's 90% of what I want
3736           it for.  Properties are not available in registry.xml.  (Maybe
3737           they should be...)
3738
3739 === release 0.10.1 ===
3740
3741 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3742
3743         * configure.ac:
3744           releasing 0.10.1, "Nollaig chridheil"
3745
3746 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3747
3748         * docs/faq/cvs.xml:
3749           Add missing quote, should be make ERROR_CFLAGS="".
3750
3751 2005-12-20  Wim Taymans  <wim@fluendo.com>
3752
3753         * docs/design/part-trickmodes.txt:
3754         More documentation on trickmodes.
3755
3756 2005-12-20  Edward Hervey  <edward@fluendo.com>
3757
3758         * gst/gstcaps.c: (gst_static_caps_get_type):
3759         * gst/gstcaps.h:
3760           API addition: GST_TYPE_STATIC_CAPS
3761         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3762         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3763         * gst/gstpadtemplate.h:
3764           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3765         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3766         bindings.
3767
3768 2005-12-18  Wim Taymans  <wim@fluendo.com>
3769
3770         * libs/gst/base/gstadapter.c:
3771         * libs/gst/base/gstadapter.h:
3772         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3773         (gst_base_sink_get_position):
3774         * libs/gst/base/gstbasesink.h:
3775         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3776         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3777         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3778         (gst_base_src_send_event), (gst_base_src_update_length),
3779         (gst_base_src_get_range), (gst_base_src_loop),
3780         (gst_base_src_start):
3781         * libs/gst/base/gstbasesrc.h:
3782         * libs/gst/base/gstbasetransform.h:
3783         * libs/gst/base/gstcollectpads.h:
3784         * libs/gst/base/gstpushsrc.c:
3785         * libs/gst/base/gstpushsrc.h:
3786         * libs/gst/dataprotocol/dataprotocol.c:
3787         * libs/gst/dataprotocol/dataprotocol.h:
3788         * libs/gst/net/gstnetclientclock.h:
3789         * libs/gst/net/gstnettimeprovider.h:
3790         Documentation updates.
3791
3792 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3793
3794         * docs/manual/basics-helloworld.xml:
3795           Remove superfluous closing bracket in helloworld example.
3796
3797 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3798
3799         * tools/gst-launch.1.in:
3800           Update gst-launch man page; add a section with useful
3801           environment variables. Fixes #323882.
3802
3803 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
3804
3805         * gst/gst.c:
3806         * gst/gst_private.h:
3807           change some char* into char[]
3808
3809 2005-12-16  Wim Taymans  <wim@fluendo.com>
3810
3811         * gst/gstregistryxml.c: (load_feature):
3812         Cleanups.
3813         Don't use g_object_unref on GstObjects so that we avoid
3814         leaks on unsafe glibs.
3815
3816 2005-12-16  Wim Taymans  <wim@fluendo.com>
3817
3818         * gst/gstbin.c: (gst_bin_recalc_state):
3819         Small doc updates.
3820
3821 2005-12-16  Wim Taymans  <wim@fluendo.com>
3822
3823         * common/check.mak:
3824         Added make forever target for check.
3825
3826 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3827
3828         * gst/gst.c: (init_post):
3829           make the registry cache file HOST_CPU-dependent
3830
3831 2005-12-16  Andy Wingo  <wingo@pobox.com>
3832
3833         * plugins/elements/gstbufferstore.c
3834         (gst_buffer_store_cleared_func): Pay attention to g_list_append
3835         return value.
3836
3837         * tests/check/gst/gstobject.c
3838         (test_fake_object_name_threaded_unique): Pay attention to
3839         g_list_sort return value.
3840
3841 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3842
3843         * tools/gst-feedback-m.m:
3844           Update for 0.9/0.10 (fixes #323870).
3845
3846 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
3847
3848         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3849           Fix lcopy for mini objects, the mini object needs to be ref'ed.
3850           
3851         * tests/check/gst/gstminiobject.c: (my_foo_init),
3852         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3853         (test_value_collection), (gst_mini_object_suite):
3854           Add test to ensure refcounts end up as expected when passing
3855           GstMiniObjects through g_object_get() and g_object_set().
3856
3857 2005-12-14  Julien MOUTTE  <julien@moutte.net>
3858
3859         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3860         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
3861         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
3862         of collectpads. This version removes a lot of races without
3863         touching API/ABI. Yay !
3864
3865 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
3866
3867         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
3868           Don't allow activation of a srcpad in pull_range if it has no
3869           getrange function.
3870           Change some debug statements to be a little clearer
3871
3872         * plugins/elements/gsttypefindelement.c:
3873         (gst_type_find_handle_src_query):
3874           Check that we have a peer before executing queries thereupon.
3875
3876         * tests/examples/metadata/read-metadata.c: (message_loop):
3877           Use gst_bus_pop instead of gst_bus_poll when we just want it to
3878           immediately return us any available message with 0 timeout.
3879
3880 2005-12-12  Michael Smith  <msmith@fluendo.com>
3881
3882         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3883           Don't unref factories after calling them.
3884         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
3885         * plugins/elements/gsttypefindelement.c:
3886         (gst_type_find_element_chain):
3887           Free lists of factories after using them. Fixing typefinding memory
3888           leaks.
3889
3890 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3891
3892         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3893         (gst_plugin_feature_load):
3894           more meaningful debug output
3895         * configure.ac:
3896         * tests/Makefile.am:
3897         * tests/old/examples/Makefile.am:
3898           make make distcheck happy again
3899
3900 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3901
3902         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3903           Catch the special case where we are operating chain-based,
3904           but the downstream peer pad has no chain function. Emit a
3905           custom error message in this case instead of letting the
3906           core generate one implying that this is some sort of core
3907           bug. It's not, it just means that whatever got plugged
3908           into the pipeline downstream when we announced the type
3909           can only operate pull-based, while our source can only
3910           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3911           Error string has not been marked for translation yet, as
3912           it probably needs some more work first.
3913
3914         (gst_type_find_element_get_best_possibility):
3915           Add helper function to find the best of all available
3916           found possibilities that qualify given the min. threshold.
3917
3918         (gst_type_find_element_handle_event):
3919           Fix the case where we get an EOS while still in TYPEFIND
3920           mode (we want to chose the best of all possible types,
3921           not just the first type that happens to be in our unsorted
3922           list of possible types).
3923
3924         (gst_type_find_element_chain):
3925           Make sure we return GST_FLOW_ERROR when we errored out
3926           in stop_typefinding(); also, don't just find the best of
3927           all found type entries and then use the last examined
3928           type entry, but actually use the best entry.
3929
3930 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3931
3932         * tests/examples/typefind/typefind.c: (type_found):
3933         * tests/examples/xml/runxml.c: (xml_loaded):
3934           More gcc4 fixes and a mem leak fix.
3935
3936 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3937
3938         * tests/examples/xml/createxml.c: (object_saved):
3939           gcc 4 fixes
3940
3941 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3942
3943         * tests/Makefile.am:
3944           enable the examples even more
3945
3946 2005-12-12  Andy Wingo  <wingo@pobox.com>
3947
3948         * libs/gst/net/gstnettimeprovider.c
3949         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3950         (gst_net_time_provider_set_property)
3951         (gst_net_time_provider_get_property):
3952         API addition: Export "active" as a GObject property.
3953         (gst_net_time_provider_thread): Only respond to time queries if
3954         the time provider is active.
3955
3956         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
3957         NetTimeProvider, preserving binary compat.
3958
3959 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3960
3961         * tests/examples/controller/audio-example.c: (main):
3962         * tests/examples/launch/Makefile.am:
3963           convert comments again
3964
3965 2005-12-12  Wim Taymans  <wim@fluendo.com>
3966
3967         * libs/gst/base/gstpushsrc.c:
3968         Fix typo.
3969
3970 2005-12-12  Wim Taymans  <wim@fluendo.com>
3971
3972         * docs/libs/gstreamer-libs-sections.txt:
3973         Added new symbol to docs.
3974
3975         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3976         (gst_base_src_init), (gst_base_src_set_format),
3977         (gst_base_src_default_query), (gst_base_src_query),
3978         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
3979         (gst_base_src_perform_seek), (gst_base_src_send_event),
3980         (gst_base_src_default_event), (gst_base_src_event_handler),
3981         (gst_base_src_set_property), (gst_base_src_get_property),
3982         (gst_base_src_wait), (gst_base_src_do_sync),
3983         (gst_base_src_update_length), (gst_base_src_get_range),
3984         (gst_base_src_check_get_range), (gst_base_src_loop),
3985         (gst_base_src_default_negotiate), (gst_base_src_start),
3986         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3987         (gst_base_src_change_state):
3988         * libs/gst/base/gstbasesrc.h:
3989         Implement seeking to other formats than _BYTES.
3990         Implement more seeking methods correctly.
3991         Doc updates.
3992         Added query vmethod.
3993         Added do_seek vmethod to make life easier for subclasses
3994         when seeking.
3995         API addition: gst_base_src_set_format()
3996
3997 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3998
3999         * tests/examples/Makefile.am:
4000           added that too
4001
4002 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4003
4004         * configure.ac:
4005         * docs/random/ensonic/media-device-daemon.txt:
4006         * tests/examples/controller/.cvsignore:
4007         * tests/examples/controller/Makefile.am:
4008         * tests/examples/controller/audio-example.c: (main):
4009         * tests/examples/helloworld/.cvsignore:
4010         * tests/examples/helloworld/Makefile.am:
4011         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4012         * tests/examples/launch/.cvsignore:
4013         * tests/examples/launch/Makefile.am:
4014         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4015         * tests/examples/metadata/.cvsignore:
4016         * tests/examples/metadata/Makefile.am:
4017         * tests/examples/metadata/read-metadata.c: (message_loop),
4018         (make_pipeline), (print_tag), (main):
4019         * tests/examples/queue/.cvsignore:
4020         * tests/examples/queue/Makefile.am:
4021         * tests/examples/queue/queue.c: (event_loop), (main):
4022         * tests/examples/typefind/.cvsignore:
4023         * tests/examples/typefind/Makefile.am:
4024         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4025         (main):
4026         * tests/examples/xml/.cvsignore:
4027         * tests/examples/xml/Makefile.am:
4028         * tests/examples/xml/createxml.c: (object_saved), (main):
4029         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4030         * tests/old/examples/Makefile.am:
4031         * tests/old/examples/TODO:
4032         * tests/old/examples/controller/.cvsignore:
4033         * tests/old/examples/controller/Makefile.am:
4034         * tests/old/examples/controller/audio-example.c:
4035         * tests/old/examples/helloworld/.cvsignore:
4036         * tests/old/examples/helloworld/Makefile.am:
4037         * tests/old/examples/helloworld/helloworld.c:
4038         * tests/old/examples/launch/.cvsignore:
4039         * tests/old/examples/launch/Makefile.am:
4040         * tests/old/examples/launch/mp3parselaunch.c:
4041         * tests/old/examples/launch/mp3play:
4042         * tests/old/examples/manual/Makefile.am:
4043         * tests/old/examples/metadata/Makefile.am:
4044         * tests/old/examples/metadata/read-metadata.c:
4045         * tests/old/examples/queue/.cvsignore:
4046         * tests/old/examples/queue/Makefile.am:
4047         * tests/old/examples/queue/queue.c:
4048         * tests/old/examples/typefind/.cvsignore:
4049         * tests/old/examples/typefind/Makefile.am:
4050         * tests/old/examples/typefind/typefind.c:
4051         * tests/old/examples/xml/.cvsignore:
4052         * tests/old/examples/xml/Makefile.am:
4053         * tests/old/examples/xml/createxml.c:
4054         * tests/old/examples/xml/runxml.c:
4055           applied some simple fixing to some examples
4056           re-enabled the working examples
4057
4058 2005-12-12  Wim Taymans  <wim@fluendo.com>
4059
4060         * gst/gstsegment.c: (gst_segment_init),
4061         (gst_segment_set_last_stop), (gst_segment_set_seek),
4062         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4063         (gst_segment_to_running_time):
4064         Added more documentation.
4065         Make sure the last_pos value is updated properly.
4066         Make sure to_stream_time and to_running_time don't
4067         operate on wrong values.
4068
4069         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4070         Update check.
4071
4072 2005-12-12  Michael Smith  <msmith@fluendo.com>
4073
4074         * plugins/elements/gsttypefindelement.c: (free_entry),
4075         (gst_type_find_element_chain):
4076           Now that we're not leaking factories, make sure we keep references
4077           to them while we need them.
4078
4079 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4080
4081         * tests/check/gst/struct_i386.h:
4082           ifdef out the XML structs
4083
4084 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4085
4086         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4087           floor is not needed, F is always positive; this obviates the
4088           need for adding -lm when building without libxml
4089
4090 2005-12-12  Wim Taymans  <wim@fluendo.com>
4091
4092         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4093         Take current playback rate into account when reporting
4094         the position.
4095
4096 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4097
4098         * docs/manual/mime-world.fig:
4099           Let's try this again, this time with a file that is
4100           actually in XFig format.
4101
4102 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4103
4104         * docs/manual/mime-world.fig:
4105           Add audioconvert element to diagram so that it
4106           matches the text and the code (fixes #319526).
4107
4108 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4109
4110         * docs/pwg/building-chainfn.xml:
4111         * docs/pwg/building-pads.xml:
4112         * docs/pwg/building-state.xml:
4113         * docs/pwg/other-source.xml:
4114           Update state change stuff for 0.10 (fixes #322969).
4115
4116 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4117
4118         * docs/manual/advanced-dataaccess.xml:
4119         * docs/manual/appendix-checklist.xml:
4120         * docs/manual/appendix-programs.xml:
4121         * docs/manual/basics-pads.xml:
4122         * docs/manual/highlevel-components.xml:
4123         * docs/manual/manual.xml:
4124           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4125           add converters in front of pipelines; remove curly
4126           brackets for threads stuff, they no longer exist; use
4127           GST_TYPE_FRACTION for framerates; update some pieces of
4128           code to 0.10, but there's plenty more to do.
4129
4130         * docs/manual/appendix-porting.xml:
4131           Expand on asynchroneous state changes; s/0.9/0.10/;
4132           mention disappearance of gst_init_get_popt_table()
4133           (fixes #322916).
4134
4135 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4136
4137         * docs/faq/using.xml:
4138           Spider no longer exists, and neither does gst-launch-ext.
4139           Update examples to use decodebin and playbin and put
4140           converters in front of sinks (fixes #323726).
4141
4142 2005-12-09  Michael Smith  <msmith@fluendo.com>
4143
4144         * plugins/elements/gsttypefindelement.c: (find_peek),
4145         (gst_type_find_element_chain):
4146           Fix leaking element factories in typefinding.
4147           Fix problem where we forgot about a probable type on non-seekable
4148           files, and thus later mis-typefound it.
4149
4150 2005-12-09  Michael Smith  <msmith@fluendo.com>
4151
4152         * common/m4/gst-makecontext.m4:
4153         * common/m4/gst-mcsc.m4:
4154         * configure.ac:
4155         * win32/common/config.h:
4156         * win32/common/config.h.in:
4157           Remove makecontext stuff; not used in 0.10 and causes problems on
4158           HPUX according to bug #322441
4159
4160 2005-12-07  Wim Taymans  <wim@fluendo.com>
4161
4162         * tests/check/Makefile.am:
4163         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4164         (main):
4165         * tests/check/libs/struct_i386.h:
4166         Added ABI check for libs
4167
4168 2005-12-07  Wim Taymans  <wim@fluendo.com>
4169
4170         * tests/check/Makefile.am:
4171         And add the struct_i386.h to dist.
4172
4173 2005-12-07  Wim Taymans  <wim@fluendo.com>
4174
4175         * tests/check/Makefile.am:
4176         * tests/check/gst/.cvsignore:
4177         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4178         (main):
4179         * tests/check/gst/struct_i386.h:
4180         Added check for ABI compatibility.
4181
4182 2005-12-07  Wim Taymans  <wim@fluendo.com>
4183
4184         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4185         (gst_fake_src_get_times), (gst_fake_src_create):
4186         Fix broken sync option, fixes #323259
4187
4188 2005-12-07  Wim Taymans  <wim@fluendo.com>
4189
4190         * gst/gstbuffer.c:
4191         Small docs update.
4192
4193         * gst/gstcaps.c: (gst_caps_is_equal):
4194         Don't assert on NULL <--> X. Fixes #323260
4195
4196         * gst/gstminiobject.c: (gst_mini_object_replace):
4197         If we're doing atomic operations, we might just as well use
4198         the proper way to get an atomic pointer.
4199
4200         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4201         Clean up debugging.
4202
4203 2005-12-07  Michael Smith  <msmith@fluendo.com>
4204
4205         * gst/parse/grammar.y:
4206           Remove handling of { } for threads.
4207
4208 2005-12-06  David Schleef  <ds@schleef.org>
4209
4210         * libs/gst/base/gstbasetransform.c: speling fix.
4211
4212 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4213
4214         * docs/libs/tmpl/gstdataprotocol.sgml:
4215         * docs/random/omega/testing/gstobject.c:
4216         * gst/gst.c:
4217         * gst/gstclock.c:
4218         * gst/gstelement.c:
4219         * gst/gstelementfactory.c:
4220         * gst/gsterror.c:
4221         * gst/gstevent.c:
4222         * gst/gstghostpad.c:
4223         * gst/gstinfo.c:
4224         * gst/gstpadtemplate.c:
4225         * gst/gstregistryxml.c:
4226         * gst/gsttaglist.c:
4227         * gst/gsttagsetter.c:
4228         * gst/gsttypefind.c:
4229         * gst/gstvalue.c:
4230         * libs/gst/base/gstbasesrc.c:
4231         * libs/gst/net/gstnetclientclock.c:
4232         * libs/gst/net/gstnettimeprovider.c:
4233         * plugins/elements/gstfakesrc.c:
4234         * plugins/elements/gstfdsrc.c:
4235         * plugins/elements/gstfilesrc.c:
4236         * plugins/elements/gstidentity.c:
4237         * plugins/elements/gstqueue.c:
4238         * plugins/elements/gsttypefindelement.c:
4239         * plugins/indexers/gstfileindex.c:
4240         * plugins/indexers/gstmemindex.c:
4241         * tests/check/gst/gsttag.c:
4242         * tests/old/examples/cutter/cutter.c:
4243         * tests/old/examples/mixer/mixer.c:
4244         * tests/old/examples/xml/runxml.c: (main):
4245         * tests/old/testsuite/caps/normalisation.c:
4246         * tests/old/testsuite/debug/global.c:
4247         * tests/old/testsuite/parse/parse1.c:
4248         * tools/gst-xmlinspect.c:
4249         * win32/common/dirent.c:
4250           expand tabs
4251
4252 === release 0.10.0 ===
4253
4254 2005-12-05   <thomas (at) apestaart (dot) org>
4255
4256         * configure.ac:
4257           releasing 0.10.0, "Maroilles"
4258
4259 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4260
4261         submitted by: Funda Wang <fundawang@linux.net.cn>
4262
4263         * po/LINGUAS:
4264         * po/zh_CN.po:
4265           added Chinese (Traditional) translation
4266
4267 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4268
4269         * docs/gst/gstreamer-sections.txt:
4270         * docs/libs/tmpl/gstdataprotocol.sgml:
4271         * docs/random/thomasvs/TODO:
4272         * gst/gstutils.c:
4273         * gst/gstutils.h:
4274           fix docs
4275
4276 2005-12-05  Andy Wingo  <wingo@pobox.com>
4277
4278         patch by: Wim Taymans <wim@fluendo.com>
4279
4280         * libs/gst/base/gstbasetransform.c
4281         (gst_base_transform_prepare_output_buf)
4282         (gst_base_transform_buffer_alloc):
4283         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4284         alloc_buffer_and_set_caps.
4285
4286         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4287         set_caps on the source pad.
4288         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4289         alloc_buffer used to do. Fixes #322874.
4290
4291         * docs/gst/gstreamer-sections.txt: 
4292         * docs/design/part-negotiation.txt: 
4293         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4294         changes.
4295
4296 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4297
4298         patch by: Sebastien Moutte
4299
4300         * win32/MANIFEST:
4301         * win32/common/config.h.in:
4302         * win32/vs6/libgstcontroller.dsp:
4303           win32 build fixes
4304
4305 2005-12-05  Wim Taymans  <wim@fluendo.com>
4306
4307         * gst/gstcaps.c: (gst_caps_is_equal):
4308         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4309         (gst_fake_src_create):
4310         Back out previous code changes, leave doc updates, file bugs 
4311         instead. 
4312
4313 2005-12-05  Wim Taymans  <wim@fluendo.com>
4314
4315         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4316         (gst_fake_src_get_times), (gst_fake_src_create):
4317         * plugins/elements/gstfakesrc.h:
4318         Fix broken sync code.
4319
4320 2005-12-05  Wim Taymans  <wim@fluendo.com>
4321
4322         * gst/gstcaps.c: (gst_caps_is_equal):
4323         Comparing NULL against !NULL yields different caps, not a
4324         failure.
4325
4326 2005-12-05  Wim Taymans  <wim@fluendo.com>
4327
4328         * gst/gstpipeline.c:
4329         Fix small typo in docs.
4330
4331 2005-12-05  Andy Wingo  <wingo@pobox.com>
4332
4333         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4334
4335         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4336         registries/plugins with a MAJORMINOR one.
4337         (plugin_desc): Rename library from gstcoreleements to
4338         staticelements. Fixes #323222.
4339
4340 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4341
4342         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4343           Change debug category to 'collectpads' from 'collect_pads'
4344           (fixes #323250).
4345
4346 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4347
4348         patch by: Sebastien Moutte
4349
4350         * libs/gst/controller/gstinterpolation.c:
4351           use convert function for uint64/double
4352         * win32/vs6/libgstcontroller.dsp:
4353           link to GLib
4354
4355 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4358         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4359         * gst/gstutils.h:
4360         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4361           add tests that seem to show that the guint64/gdouble conversions
4362           are correct.
4363
4364 2005-12-02  Wim Taymans  <wim@fluendo.com>
4365
4366         * gst/gstregistry.c: (gst_registry_add_path):
4367         * gst/gstregistry.h:
4368         * gst/gstregistryxml.c:
4369         Fix docs again.
4370
4371 2005-12-02  Wim Taymans  <wim@fluendo.com>
4372
4373         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4374         (gst_util_uint64_scale_int):
4375         Small cleanup.
4376
4377         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4378         Add debug log line.
4379
4380         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4381         Add FIXME.
4382
4383 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4384
4385         * win32/MANIFEST:
4386         * win32/common/config.h:
4387         * win32/vs6/gstreamer.dsw:
4388         * win32/vs6/libgstcoreelements.dsp:
4389         * win32/vs6/libgstelements.dsp:
4390           renamed core elements plugin
4391
4392 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4393
4394         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4395         (get_candidates):
4396           do piece-wise major/minor comparison so 0.9 < 0.10
4397           also allow .exe extensions for tools
4398
4399 2005-12-02  Michael Smith  <msmith@fluendo.com>
4400
4401         * gst/gst.c:
4402           Escape a % to make gtkdoc happier; bug 322958.
4403
4404 === release 0.9.7 ===
4405
4406 2005-12-01   <thomas (at) apestaart (dot) org>
4407
4408         * configure.ac:
4409           releasing 0.9.7, "My Dog Has No Nose"
4410
4411 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4412
4413         * common/gst-xmlinspect.py:
4414         * configure.ac:
4415         * docs/libs/tmpl/gstdataprotocol.sgml:
4416         * docs/random/release:
4417         * po/af.po:
4418         * po/az.po:
4419         * po/bg.po:
4420         * po/ca.po:
4421         * po/cs.po:
4422         * po/de.po:
4423         * po/en_GB.po:
4424         * po/fr.po:
4425         * po/it.po:
4426         * po/nb.po:
4427         * po/nl.po:
4428         * po/ru.po:
4429         * po/sq.po:
4430         * po/sr.po:
4431         * po/sv.po:
4432         * po/tr.po:
4433         * po/uk.po:
4434         * po/vi.po:
4435         * win32/common/config.h:
4436         * win32/common/config.h.in:
4437         * win32/vs6/gst_inspect.dsp:
4438         * win32/vs6/gst_launch.dsp:
4439         * win32/vs6/libgstbase.dsp:
4440         * win32/vs6/libgstelements.dsp:
4441         * win32/vs6/libgstreamer.dsp:
4442         * win32/vs7/GStreamer.vcproj:
4443         * win32/vs7/gst-inspect.vcproj:
4444         * win32/vs7/gst-launch.vcproj:
4445         * win32/vs7/libgstbase.vcproj:
4446           bump GST_MAJORMINOR to 0.10
4447           reset libtool version
4448
4449 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4450
4451         * po/LINGUAS:
4452         * po/bg.po:
4453           Added Bulgarian translation by (Alexander Shopov)
4454
4455 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4456
4457         * tests/check/gst/gstplugin.c:
4458           fix test
4459
4460 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4461
4462         * common/gst-xmlinspect.py:
4463         * common/gtk-doc-plugins.mak:
4464         * configure.ac:
4465         * docs/Makefile.am:
4466         * docs/gst/Makefile.am:
4467         * docs/gst/gstreamer-docs.sgml:
4468         * docs/gst/gstreamer-sections.txt:
4469         * docs/gst/gstreamer.types:
4470         * docs/gst/gstreamer.types.in:
4471         * docs/plugins/Makefile.am:
4472         * docs/plugins/gstreamer-plugins-docs.sgml:
4473         * docs/plugins/gstreamer-plugins-sections.txt:
4474         * docs/plugins/gstreamer-plugins.types:
4475         * docs/plugins/inspect.stamp:
4476         * docs/plugins/inspect/plugin-coreelements.xml:
4477         * docs/plugins/inspect/plugin-coreindexers.xml:
4478         * docs/plugins/scanobj-build.stamp:
4479         * gstreamer.spec.in:
4480         * plugins/elements/Makefile.am:
4481         * plugins/elements/gstelements.c:
4482         * plugins/elements/gstfakesink.c:
4483         * plugins/elements/gstfakesrc.c:
4484         * plugins/elements/gstfilesink.c:
4485         * plugins/elements/gstfilesrc.c:
4486         * plugins/elements/gstqueue.c:
4487         * plugins/indexers/Makefile.am:
4488         * plugins/indexers/gstindexers.c:
4489           document core plugins in a separate document just like all the
4490           others
4491           rename these plugins to something starting with core
4492
4493 2005-12-01  Andy Wingo  <wingo@pobox.com>
4494
4495         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4496         padding here before, but it missed the commit.
4497
4498 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4499
4500         * libs/gst/controller/gstinterpolation.c:
4501           whitespace prices have crashed, we should feel free to use some now
4502           use gst_guint64_to_gdouble
4503
4504 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4505
4506         * libs/gst/controller/gstcontroller.c:
4507         * libs/gst/controller/gsthelper.c:
4508         * libs/gst/controller/gstinterpolation.c:
4509         * libs/gst/controller/lib.c:
4510           wrap config.h include
4511
4512 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4513
4514         * docs/gst/gstreamer-sections.txt:
4515           update docs
4516
4517 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4518
4519         * plugins/elements/gstelements.c:
4520         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4521         (gst_fd_sink__class_init), (gst_fd_sink__init),
4522         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4523         (gst_fd_sink__get_property):
4524         * plugins/elements/gstfdsink.h:
4525         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4526         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4527         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4528         (gst_fd_src_unlock), (gst_fd_src_set_property),
4529         (gst_fd_src_get_property), (gst_fd_src_create),
4530         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4531         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4532         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4533         (gst_fd_src_uri_handler_init):
4534         * plugins/elements/gstfdsrc.h:
4535         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4536           more anal cleanup
4537
4538 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4539
4540         * docs/gst/Makefile.am:
4541         * docs/gst/gstreamer.types.in:
4542         * gst/Makefile.am:
4543           fix the docs build
4544
4545 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4546
4547         * configure.ac:
4548         * gst/Makefile.am:
4549         * gst/gst.c:
4550         * gst/gstplugin.h:
4551         * gst/gstregistry.h:
4552         * tests/benchmarks/complexity.c:
4553         * tests/benchmarks/mass-elements.c:
4554         * tests/check/Makefile.am:
4555         * tools/Makefile.am:
4556         * tools/gst-inspect.c:
4557         * tools/gst-xmlinspect.c:
4558           various fixes to make
4559           --disable-nls --disable-registry --disable-loadsave
4560           --disable-parse --disable-gst-debug
4561           work and get the core .so down to 360444 bytes after stripping
4562
4563 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4564
4565         * Makefile.am:
4566         * configure.ac:
4567           descend into tests
4568         * docs/random/thomasvs/TODO:
4569         * tests/Makefile.am:
4570         * tests/README:
4571           add a README
4572
4573 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4574
4575         * win32/GStreamer.vcproj:
4576         * win32/MANIFEST:
4577         * win32/Makefile:
4578         * win32/Makefile.inspect:
4579         * win32/Makefile.launch:
4580         * win32/Makefile.register:
4581         * win32/README.txt:
4582         * win32/gst-inspect.vcproj:
4583         * win32/gst-launch.vcproj:
4584         * win32/gst-register.vcproj:
4585         * win32/gstelements.vcproj:
4586         * win32/gstgetbits.def:
4587         * win32/gstgetbits.vcproj:
4588         * win32/gstreamer-dbg.def:
4589         * win32/gstreamer.def:
4590         * win32/libgstbase.def:
4591         * win32/libgstbase.vcproj:
4592         * win32/link_oldruntime.c:
4593         * win32/mman.c:
4594         * win32/mman.h:
4595         * win32/mman.inl:
4596         * win32/msvc71.sln:
4597           move even more stuff, win32/ is nice and clean now
4598
4599 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4600
4601         * libs/gst/control/.cvsignore:
4602         * win32/MANIFEST:
4603         * win32/config.h:
4604         * win32/dirent.c:
4605         * win32/dirent.h:
4606         * win32/gstbytestream.def:
4607         * win32/gstbytestream.vcproj:
4608         * win32/gstconfig.h:
4609         * win32/gstenumtypes.c:
4610         * win32/gstenumtypes.h:
4611         * win32/gstoptimalscheduler.vcproj:
4612         * win32/gstversion.h:
4613         * win32/gtchar.h:
4614         * win32/testsuite/bins.vcproj:
4615         * win32/testsuite/bytestream.vcproj:
4616         * win32/testsuite/caps.vcproj:
4617         * win32/testsuite/cleanup.vcproj:
4618         * win32/testsuite/clock.vcproj:
4619         * win32/testsuite/debug.vcproj:
4620         * win32/testsuite/dlopen.vcproj:
4621         * win32/testsuite/dynparams.vcproj:
4622         * win32/testsuite/elements.vcproj:
4623         * win32/testsuite/ghostpads.vcproj:
4624         * win32/testsuite/indexers.vcproj:
4625         * win32/testsuite/negotiation.vcproj:
4626         * win32/testsuite/parse.vcproj:
4627         * win32/testsuite/plugin.vcproj:
4628         * win32/testsuite/refcounting.vcproj:
4629         * win32/testsuite/schedulers.vcproj:
4630         * win32/testsuite/states.vcproj:
4631         * win32/testsuite/tags.vcproj:
4632         * win32/testsuite/threads.vcproj:
4633           remove old win32 stuff that isn't maintained and should be
4634           reorganized
4635
4636 2005-11-30  Andy Wingo  <wingo@pobox.com>
4637
4638         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4639         loading the gst.interfaces python module bork.
4640
4641         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4642         available since GLib 2.2. Fixes #318031.
4643
4644 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4645
4646         * Makefile.am:
4647         * check/.cvsignore:
4648         * check/Makefile.am:
4649         * check/elements/.cvsignore:
4650         * check/elements/fakesrc.c:
4651         * check/elements/fdsrc.c:
4652         * check/elements/identity.c:
4653         * check/generic/.cvsignore:
4654         * check/generic/states.c:
4655         * check/gst-libs/.cvsignore:
4656         * check/gst-libs/controller.c:
4657         * check/gst-libs/gdp.c:
4658         * check/gst/.cvsignore:
4659         * check/gst/capslist.h:
4660         * check/gst/gst.c:
4661         * check/gst/gstbin.c:
4662         * check/gst/gstbuffer.c:
4663         * check/gst/gstbus.c:
4664         * check/gst/gstcaps.c:
4665         * check/gst/gstelement.c:
4666         * check/gst/gstevent.c:
4667         * check/gst/gstghostpad.c:
4668         * check/gst/gstiterator.c:
4669         * check/gst/gstmessage.c:
4670         * check/gst/gstminiobject.c:
4671         * check/gst/gstobject.c:
4672         * check/gst/gstpad.c:
4673         * check/gst/gstpipeline.c:
4674         * check/gst/gstplugin.c:
4675         * check/gst/gstsegment.c:
4676         * check/gst/gststructure.c:
4677         * check/gst/gstsystemclock.c:
4678         * check/gst/gsttag.c:
4679         * check/gst/gstutils.c:
4680         * check/gst/gstvalue.c:
4681         * check/net/.cvsignore:
4682         * check/net/gstnetclientclock.c:
4683         * check/net/gstnettimeprovider.c:
4684         * check/pipelines/.cvsignore:
4685         * check/pipelines/cleanup.c:
4686         * check/pipelines/simple_launch_lines.c:
4687         * check/pipelines/stress.c:
4688         * check/states/.cvsignore:
4689         * check/states/sinks.c:
4690         * configure.ac:
4691         * examples/Makefile.am:
4692         * examples/appreader/.cvsignore:
4693         * examples/appreader/Makefile.am:
4694         * examples/appreader/appreader.c:
4695         * examples/controller/.cvsignore:
4696         * examples/controller/Makefile.am:
4697         * examples/controller/audio-example.c:
4698         * examples/cutter/.cvsignore:
4699         * examples/cutter/Makefile.am:
4700         * examples/cutter/cutter.c:
4701         * examples/cutter/cutter.h:
4702         * examples/events/Makefile.am:
4703         * examples/events/seek.c:
4704         * examples/helloworld/.cvsignore:
4705         * examples/helloworld/Makefile.am:
4706         * examples/helloworld/helloworld.c:
4707         * examples/helloworld2/.cvsignore:
4708         * examples/helloworld2/Makefile.am:
4709         * examples/helloworld2/helloworld2.c:
4710         * examples/launch/.cvsignore:
4711         * examples/launch/Makefile.am:
4712         * examples/launch/mp3parselaunch.c:
4713         * examples/launch/mp3play:
4714         * examples/manual/.cvsignore:
4715         * examples/manual/Makefile.am:
4716         * examples/manual/extract.pl:
4717         * examples/metadata/Makefile.am:
4718         * examples/metadata/read-metadata.c:
4719         * examples/mixer/.cvsignore:
4720         * examples/mixer/Makefile.am:
4721         * examples/mixer/mixer.c:
4722         * examples/mixer/mixer.h:
4723         * examples/pingpong/.cvsignore:
4724         * examples/pingpong/Makefile.am:
4725         * examples/pingpong/pingpong.c:
4726         * examples/plugins/.cvsignore:
4727         * examples/plugins/Makefile.am:
4728         * examples/plugins/example.c:
4729         * examples/plugins/example.h:
4730         * examples/pwg/.cvsignore:
4731         * examples/pwg/Makefile.am:
4732         * examples/pwg/extract.pl:
4733         * examples/queue/.cvsignore:
4734         * examples/queue/Makefile.am:
4735         * examples/queue/queue.c:
4736         * examples/queue2/.cvsignore:
4737         * examples/queue2/Makefile.am:
4738         * examples/queue2/queue2.c:
4739         * examples/queue3/.cvsignore:
4740         * examples/queue3/Makefile.am:
4741         * examples/queue3/queue3.c:
4742         * examples/queue4/.cvsignore:
4743         * examples/queue4/Makefile.am:
4744         * examples/queue4/queue4.c:
4745         * examples/retag/.cvsignore:
4746         * examples/retag/Makefile.am:
4747         * examples/retag/retag.c:
4748         * examples/retag/transcode.c:
4749         * examples/thread/.cvsignore:
4750         * examples/thread/Makefile.am:
4751         * examples/thread/thread.c:
4752         * examples/typefind/.cvsignore:
4753         * examples/typefind/Makefile.am:
4754         * examples/typefind/typefind.c:
4755         * examples/xml/.cvsignore:
4756         * examples/xml/Makefile.am:
4757         * examples/xml/createxml.c:
4758         * examples/xml/runxml.c:
4759         * tests/Makefile.am:
4760         * tests/check/Makefile.am:
4761         * testsuite/.cvsignore:
4762         * testsuite/Makefile.am:
4763         * testsuite/Rules:
4764         * testsuite/caps/.cvsignore:
4765         * testsuite/caps/Makefile.am:
4766         * testsuite/caps/app_fixate.c:
4767         * testsuite/caps/audioscale.c:
4768         * testsuite/caps/caps.c:
4769         * testsuite/caps/caps.h:
4770         * testsuite/caps/caps_strings:
4771         * testsuite/caps/compatibility.c:
4772         * testsuite/caps/deserialize.c:
4773         * testsuite/caps/enumcaps.c:
4774         * testsuite/caps/eratosthenes.c:
4775         * testsuite/caps/filtercaps.c:
4776         * testsuite/caps/fixed.c:
4777         * testsuite/caps/fraction-convert.c:
4778         * testsuite/caps/fraction-multiply-and-zero.c:
4779         * testsuite/caps/intersect2.c:
4780         * testsuite/caps/intersection.c:
4781         * testsuite/caps/normalisation.c:
4782         * testsuite/caps/random.c:
4783         * testsuite/caps/renegotiate.c:
4784         * testsuite/caps/sets.c:
4785         * testsuite/caps/simplify.c:
4786         * testsuite/caps/string-conversions.c:
4787         * testsuite/caps/structure.c:
4788         * testsuite/caps/subtract.c:
4789         * testsuite/caps/union.c:
4790         * testsuite/debug/.cvsignore:
4791         * testsuite/debug/Makefile.am:
4792         * testsuite/debug/category.c:
4793         * testsuite/debug/commandline.c:
4794         * testsuite/debug/global.c:
4795         * testsuite/debug/output.c:
4796         * testsuite/debug/printf_extension.c:
4797         * testsuite/dlopen/.cvsignore:
4798         * testsuite/dlopen/Makefile.am:
4799         * testsuite/dlopen/dlopen_gst.c:
4800         * testsuite/dlopen/loadgst.c:
4801         * testsuite/elements/.cvsignore:
4802         * testsuite/elements/Makefile.am:
4803         * testsuite/elements/gst-inspect-check.in:
4804         * testsuite/elements/struct_i386.h:
4805         * testsuite/elements/struct_size.c:
4806         * testsuite/indexers/.cvsignore:
4807         * testsuite/indexers/Makefile.am:
4808         * testsuite/indexers/cache1.c:
4809         * testsuite/indexers/indexdump.c:
4810         * testsuite/parse/.cvsignore:
4811         * testsuite/parse/Makefile.am:
4812         * testsuite/parse/parse1.c:
4813         * testsuite/parse/parse2.c:
4814         * testsuite/plugin/.cvsignore:
4815         * testsuite/plugin/Makefile.am:
4816         * testsuite/plugin/README:
4817         * testsuite/plugin/dynamic.c:
4818         * testsuite/plugin/linked.c:
4819         * testsuite/plugin/loading.c:
4820         * testsuite/plugin/registry.c:
4821         * testsuite/plugin/static.c:
4822         * testsuite/plugin/static2.c:
4823         * testsuite/plugin/testplugin.c:
4824         * testsuite/plugin/testplugin2.c:
4825         * testsuite/plugin/testplugin2_s.c:
4826         * testsuite/plugin/testplugin_s.c:
4827         * testsuite/refcounting/.cvsignore:
4828         * testsuite/refcounting/Makefile.am:
4829         * testsuite/refcounting/bin.c:
4830         * testsuite/refcounting/element.c:
4831         * testsuite/refcounting/element_pad.c:
4832         * testsuite/refcounting/mainloop.c:
4833         * testsuite/refcounting/mem.c:
4834         * testsuite/refcounting/mem.h:
4835         * testsuite/refcounting/object.c:
4836         * testsuite/refcounting/pad.c:
4837         * testsuite/refcounting/sched.c:
4838         * testsuite/refcounting/thread.c:
4839         * testsuite/states/.cvsignore:
4840         * testsuite/states/Makefile.am:
4841         * testsuite/states/bin.c:
4842         * testsuite/states/locked.c:
4843         * testsuite/states/parent.c:
4844         * testsuite/threads/.cvsignore:
4845         * testsuite/threads/159566.c:
4846         * testsuite/threads/159852.c:
4847         * testsuite/threads/Makefile.am:
4848         * testsuite/threads/queue.c:
4849         * testsuite/threads/signals.c:
4850         * testsuite/threads/staticrec.c:
4851         * testsuite/threads/thread.c:
4852         * testsuite/threads/threadb.c:
4853         * testsuite/threads/threadc.c:
4854         * testsuite/threads/threadd.c:
4855         * testsuite/threads/threade.c:
4856         * testsuite/threads/threadf.c:
4857         * testsuite/threads/threadg.c:
4858         * testsuite/threads/threadh.c:
4859         * testsuite/threads/threadi.c:
4860           move all of these under tests
4861
4862 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4863
4864         * configure.ac:
4865         * tests/Makefile.am:
4866           fix distcheck
4867
4868 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * docs/gst/gstreamer-sections.txt:
4871         * tests/sched/.cvsignore:
4872         * tests/sched/Makefile.am:
4873         * tests/sched/cases/(fs-fs).xml:
4874         * tests/sched/cases/(fs-i-fs).xml:
4875         * tests/sched/cases/(fs-i-i-fs).xml:
4876         * tests/sched/cases/(fs-i-q[i-fs]).xml:
4877         * tests/sched/dynamic-pipeline.c:
4878         * tests/sched/interrupt1.c:
4879         * tests/sched/interrupt2.c:
4880         * tests/sched/interrupt3.c:
4881         * tests/sched/runtestcases:
4882         * tests/sched/runxml.c:
4883         * tests/sched/sched-stress.c:
4884         * tests/sched/sort.c:
4885         * tests/sched/testcases:
4886         * tests/sched/testcases1.tc:
4887         * tests/seeking/.cvsignore:
4888         * tests/seeking/Makefile.am:
4889         * tests/seeking/seeking1.c:
4890         * tests/threadstate/.cvsignore:
4891         * tests/threadstate/Makefile.am:
4892         * tests/threadstate/test1.c:
4893         * tests/threadstate/test2.c:
4894         * tests/threadstate/threadstate1.c:
4895         * tests/threadstate/threadstate2.c:
4896         * tests/threadstate/threadstate3.c:
4897         * tests/threadstate/threadstate4.c:
4898         * tests/threadstate/threadstate5.c:
4899           remove obsolete tests
4900         * configure.ac:
4901         * tests/bench-complexity.scm:
4902         * tests/bench-mass_elements.scm:
4903         * tests/complexity.c:
4904         * tests/complexity.gnuplot:
4905         * tests/instantiate/.cvsignore:
4906         * tests/instantiate/Makefile.am:
4907         * tests/instantiate/caps.c:
4908         * tests/mass_elements.c:
4909         * tests/network-clock-utils.scm:
4910         * tests/network-clock.scm:
4911         * tests/plot-data:
4912         First pass at cleaning up tests/ dir before moving the rest
4913         Combined with CVS surgery
4914
4915 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4916
4917         * po/POTFILES.in:
4918           queue has moved, update
4919
4920 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4921
4922         * docs/gst/gstreamer-sections.txt:
4923           remove double entries from the docs
4924         * gst/gst_private.h:
4925         * gst/gstinfo.c: (_gst_debug_init):
4926           remove the THREAD debug category
4927         * gst/Makefile.am:
4928         * gst/gstqueue.c:
4929         * gst/gstqueue.h:
4930         * docs/gst/gstreamer.types:
4931         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4932         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4933           completely move queue and fix up debugging categories
4934
4935 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4936
4937         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4938           make initialization portable, using LL is not
4939
4940 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4941
4942         * win32/common/gstconfig.h:
4943           add large padding
4944
4945 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4946
4947         * win32/common/libgstreamer.def:
4948           rename symbols; sort base section
4949
4950 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4951
4952         * gst/gstclock.c: (do_linear_regression):
4953           remove crack non-portable handrolled DEBUG macro
4954
4955 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4956
4957         * docs/random/release:
4958           update notes
4959         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4960         (gst_object_flags_get_type), (register_gst_bin_flags),
4961         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4962         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4963         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4964         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
4965         (gst_caps_flags_get_type), (register_gst_clock_return),
4966         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4967         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4968         (gst_clock_flags_get_type), (register_gst_state),
4969         (gst_state_get_type), (register_gst_state_change_return),
4970         (gst_state_change_return_get_type), (register_gst_state_change),
4971         (gst_state_change_get_type), (register_gst_element_flags),
4972         (gst_element_flags_get_type), (register_gst_core_error),
4973         (gst_core_error_get_type), (register_gst_library_error),
4974         (gst_library_error_get_type), (register_gst_resource_error),
4975         (gst_resource_error_get_type), (register_gst_stream_error),
4976         (gst_stream_error_get_type), (register_gst_event_type_flags),
4977         (gst_event_type_flags_get_type), (register_gst_event_type),
4978         (gst_event_type_get_type), (register_gst_seek_type),
4979         (gst_seek_type_get_type), (register_gst_seek_flags),
4980         (gst_seek_flags_get_type), (register_gst_format),
4981         (gst_format_get_type), (register_gst_index_certainty),
4982         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4983         (gst_index_entry_type_get_type),
4984         (register_gst_index_lookup_method),
4985         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4986         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4987         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4988         (gst_index_flags_get_type), (register_gst_debug_level),
4989         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4990         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4991         (gst_iterator_result_get_type), (register_gst_iterator_item),
4992         (gst_iterator_item_get_type), (register_gst_message_type),
4993         (gst_message_type_get_type), (register_gst_mini_object_flags),
4994         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4995         (gst_pad_link_return_get_type), (register_gst_flow_return),
4996         (gst_flow_return_get_type), (register_gst_activate_mode),
4997         (gst_activate_mode_get_type), (register_gst_pad_direction),
4998         (gst_pad_direction_get_type), (register_gst_pad_flags),
4999         (gst_pad_flags_get_type), (register_gst_pad_presence),
5000         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5001         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5002         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5003         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5004         (gst_plugin_flags_get_type), (register_gst_rank),
5005         (gst_rank_get_type), (register_gst_query_type),
5006         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5007         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5008         (gst_tag_flag_get_type), (register_gst_task_state),
5009         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5010         (gst_alloc_trace_flags_get_type),
5011         (register_gst_type_find_probability),
5012         (gst_type_find_probability_get_type), (register_gst_uri_type),
5013         (gst_uri_type_get_type), (register_gst_parse_error),
5014         (gst_parse_error_get_type):
5015         * win32/common/gstenumtypes.h:
5016         * win32/common/gstversion.h:
5017           update visual studio generated files
5018
5019 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5020
5021         * win32/vs6/libgstbase.dsp:
5022         * win32/vs6/libgstelements.dsp:
5023           update project files for new locations
5024
5025 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5026
5027         * Makefile.am:
5028           remove some files
5029         * README:
5030           reinstate and update
5031         * DEVEL:
5032         * REQUIREMENTS:
5033           removed
5034         * LICENSE:
5035         * docs/random/LICENSE:
5036           moved to random
5037
5038 2005-11-30  Edward Hervey  <edward@fluendo.com>
5039
5040         * gst/gsttypefind.c: (gst_type_find_register):
5041         * gst/gsttypefind.h:
5042         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5043         (gst_type_find_factory_dispose):
5044         * gst/gsttypefindfactory.h:
5045         Fix memory leak in GstTypeFindFactory.
5046
5047 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5048
5049         * gst/gst.c:
5050         * plugins/elements/Makefile.am:
5051         * plugins/elements/gstelements.c:
5052         * plugins/elements/gstqueue.c:
5053           move queue from core to the elements plugin
5054
5055 2005-11-29  Andy Wingo  <wingo@pobox.com>
5056
5057         * libs/gst/base/gstbasetransform.h: 
5058         * libs/gst/base/gstbasesrc.h: 
5059         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5060
5061         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5062         of pointers by which to pad very extensible base classes (like the
5063         ones in libs/gst/base).
5064
5065 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5066
5067         * docs/gst/gstreamer-docs.sgml:
5068         * docs/gst/gstreamer-sections.txt:
5069         * docs/libs/gstreamer-libs-docs.sgml:
5070         * docs/libs/gstreamer-libs-sections.txt:
5071           moving documentation from core to lib
5072
5073 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5074
5075         * check/Makefile.am:
5076         * configure.ac:
5077         * docs/gst/Makefile.am:
5078         * gst/Makefile.am:
5079         * gst/base/.cvsignore:
5080         * gst/base/Makefile.am:
5081         * gst/base/README:
5082         * gst/base/gstadapter.c:
5083         * gst/base/gstadapter.h:
5084         * gst/base/gstbasesink.c:
5085         * gst/base/gstbasesink.h:
5086         * gst/base/gstbasesrc.c:
5087         * gst/base/gstbasesrc.h:
5088         * gst/base/gstbasetransform.c:
5089         * gst/base/gstbasetransform.h:
5090         * gst/base/gstcollectpads.c:
5091         * gst/base/gstcollectpads.h:
5092         * gst/base/gstpushsrc.c:
5093         * gst/base/gstpushsrc.h:
5094         * gst/base/gsttypefindhelper.c:
5095         * gst/base/gsttypefindhelper.h:
5096         * gst/check/Makefile.am:
5097         * gst/check/gstcheck.c:
5098         * gst/check/gstcheck.h:
5099         * gst/net/Makefile.am:
5100         * gst/net/gstnet.h:
5101         * gst/net/gstnetclientclock.c:
5102         * gst/net/gstnetclientclock.h:
5103         * gst/net/gstnettimepacket.c:
5104         * gst/net/gstnettimepacket.h:
5105         * gst/net/gstnettimeprovider.c:
5106         * gst/net/gstnettimeprovider.h:
5107         * libs/gst/Makefile.am:
5108         * libs/gst/base/Makefile.am:
5109         * libs/gst/base/gstbasetransform.c:
5110         * libs/gst/check/Makefile.am:
5111         * plugins/elements/Makefile.am:
5112         * po/POTFILES.in:
5113           CVS surgery + support to move base, check, and net out of gst
5114           and into libs/gst
5115
5116 2005-11-29  Andy Wingo  <wingo@pobox.com>
5117
5118         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5119
5120         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5121         padding.
5122
5123         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5124
5125         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5126
5127         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5128
5129         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5130         padding; reduces object size by about 30%. We don't expect
5131         anything else to go into gstobject.
5132
5133         * gst/gstminiobject.h (struct _GstMiniObject)
5134         (struct _GstMiniObjectClass): Only one pointer of padding; the
5135         payload is only a pointer and two ints anyway. For the class there
5136         are only two methods as well.
5137         
5138         * gst/gstelement.h (struct _GstElementClass): Removed
5139         the state_changed signal callback, it is not used.
5140
5141 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5142
5143         * docs/gst/gstreamer.types:
5144           fix includes, though they are a little dinky
5145
5146 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5147
5148         * check/Makefile.am:
5149           look in the right place for elements, a lot more chance of
5150           success
5151         * gst/Makefile.am:
5152           remove indexers and elements subdirs
5153         * plugins/Makefile.am:
5154           make indexers conditional
5155
5156 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5157
5158         * Makefile.am:
5159         * configure.ac:
5160         * plugins/elements/Makefile.am:
5161         * plugins/elements/gstcapsfilter.c:
5162         * plugins/elements/gstfilesink.c:
5163         * plugins/elements/gstfilesrc.c:
5164         * plugins/elements/gstidentity.c:
5165         * plugins/indexers/Makefile.am:
5166           do CVS surgery and related build fixery to move elements
5167           and indexers in a new gstreamer/plugins directory, out of the
5168           gst/ directory
5169
5170 2005-11-29  Andy Wingo  <wingo@pobox.com>
5171
5172         * check/Makefile.am:
5173         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5174         * pkgconfig/gstreamer-net.pc.in:
5175         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5176         #322257.
5177
5178 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5179
5180         * tools/Makefile.am:
5181         * tools/gst-complete.1.in:
5182         * tools/gst-complete.c:
5183         * tools/gst-compprep.1.in:
5184         * tools/gst-compprep.c:
5185           removing -compprep and -complete
5186
5187 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5188
5189         * gst/gstevent.c: (gst_event_new_new_segment),
5190         (gst_event_parse_new_segment):
5191         * gst/gstevent.h:
5192           fix #320529 - clean up new_segment API and structure.
5193           Let's hope everyone was using the methods, and not the structure.
5194
5195 2005-11-29  Edward Hervey  <edward@fluendo.com>
5196
5197         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5198         (gst_base_sink_event), (gst_base_sink_do_sync),
5199         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5200         Properly handle non GST_FORMAT_TIME segment
5201         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5202         Properly handle non GST_FORMAT_TIME segment
5203         * gst/gstsegment.c:
5204         This function is valid if the accumulator is 0 and the format
5205         is different from the requested format.
5206         
5207 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5208
5209         * docs/gst/gstreamer-sections.txt:
5210         Add gst_query_new_seeking and gst_query_parse_seeking to the
5211         docs.
5212
5213 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5214
5215         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5216           Treat a pad alloc with new caps the same as if we were not
5217           negotiated, in order to allow a changing upstream output
5218           to produce a new format of data.
5219
5220 2005-11-29  Edward Hervey  <edward@fluendo.com>
5221
5222         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5223         (gst_base_transform_event), (gst_base_transform_eventfunc):
5224         The event virtual method is now properly implemented, with a default
5225         handler
5226         Sub classes should call the parent_class event method. They should
5227         return FALSE if they had a problem handling the given event, or don't
5228         want GstBaseTransform to send that even downstream
5229         * gst/elements/gstidentity.c: (gst_identity_class_init),
5230         (gst_identity_init), (gst_identity_event),
5231         (gst_identity_transform_ip), (gst_identity_set_property),
5232         (gst_identity_get_property):
5233         * gst/elements/gstidentity.h:
5234         Added the single-segment boolean property.
5235         If set to TRUE, it will output a single segment of data, starting from
5236         0, will eat up all incoming newsegment, and modify the timestamp of the
5237         buffers accordingly
5238
5239 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5240
5241         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5242           Don't ref NULL target pad (#322751). Improve docs.
5243
5244 2005-11-29  Michael Smith  <msmith@fluendo.com>
5245
5246         * gst/gstregistryxml.c: (load_plugin):
5247           Don't crash if we failed to load a feature from a plugin. 
5248
5249 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5250
5251         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5252         (GST_START_TEST):
5253           use more check API and less GLib API
5254
5255 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5256
5257         * Makefile.am:
5258           don't run checks if we don't have check
5259         * common/check.mak:
5260           remove the registry when running make torture
5261         * docs/gst/gstreamer-sections.txt:
5262           remove second multiply
5263         * gst/gstqueue.c: (gst_queue_loop):
5264           fix a compile warning when disabling debug
5265
5266 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5267
5268         * gst/gstinfo.h:
5269         Hey! Let's print the pad name if the pointer != NULL instead
5270         of when it == NULL :-)
5271
5272 2005-11-28  Wim Taymans  <wim@fluendo.com>
5273
5274         * check/gst/gstutils.c: (GST_START_TEST):
5275         Updated check, add some scaling accuracy checking code.
5276
5277         * gst/gstutils.c: (gst_util_div128_64),
5278         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5279         (gst_util_uint64_scale_int):
5280         Fix 6 times faster division code. Optimize for common 
5281         1/1 and less common X/1 cases.
5282
5283 2005-11-28  Wim Taymans  <wim@fluendo.com>
5284
5285         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5286         More checks.
5287
5288         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5289         (do_linear_regression), (gst_clock_add_observation):
5290         Cleanups.
5291         Release lock when the clock cannot be slaved.
5292         Catch the case where the regression returned an invalid denominator.
5293
5294         * gst/gstutils.c: (gst_util_div128_64_iterate),
5295         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5296         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5297         Add protentially more performant non-iterative 128/64 divide function
5298         that unfortunatly does not work yet.
5299         Shortcut the trivial 0/X = 0 case.
5300         Remove the warnings on overflow.
5301
5302 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5303
5304         * gst/gstplugin.c: (gst_plugin_register_func):
5305           everything causing a plugin not to load should be at least a WARNING
5306
5307 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5308
5309         * docs/random/ensonic/dparams.txt:
5310           some TODOs for the next dev cycle
5311         * libs/gst/controller/gstcontroller.c:
5312         (gst_controlled_property_set_interpolation_mode),
5313         (gst_controlled_property_new):
5314         * libs/gst/controller/gstcontroller.h:
5315           use base type to assign acccessor functions
5316
5317 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5318
5319         * check/Makefile.am:
5320         Oops, that should have been top_srcdir
5321
5322 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5323
5324         * check/Makefile.am:
5325         * check/elements/fdsrc.c: (GST_START_TEST):
5326         Use a cmdline define to specify the location of a file to use for
5327         testing, to avoid breaking distcheck.
5328
5329 2005-11-28  Andy Wingo  <wingo@pobox.com>
5330
5331         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5332
5333 2005-11-28  Edward Hervey  <edward@fluendo.com>
5334
5335         * tools/gst-launch.c: (main):
5336         Clarify the output strings, makes it easier to translate.
5337         Fixes #322626
5338
5339 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5340
5341         * gst/Makefile.am:
5342           don't try and build net if we don't even have <sys/socket.h>
5343
5344 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5345
5346         * check/Makefile.am:
5347         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5348         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5349           Add tests for fdsrc seekability
5350
5351         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5352         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5353         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5354         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5355         * gst/elements/gstfdsrc.h:
5356           fdsrc should not be a 'live' source.
5357           Implement seeking on seekable fd's.
5358
5359         * gst/gstquery.c: (gst_query_new_seeking),
5360         (gst_query_parse_seeking):
5361         * gst/gstquery.h:
5362           Implement SEEKING query functions: 
5363             *_new_seeking and *_parse_seeking
5364
5365 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5366
5367         * gst/gstelement.c: (gst_element_dispose):
5368           don't loop forever
5369
5370         * gst/gstiterator.c:
5371         * gst/gststructure.c:
5372           doc fixes
5373
5374         * libs/gst/controller/gstcontroller.c:
5375         (gst_controlled_property_set_interpolation_mode):
5376         * libs/gst/controller/gstcontroller.h:
5377         * libs/gst/controller/gstinterpolation.c:
5378         (interpolate_none_get_enum_value_array):
5379           support controlling enums
5380
5381 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5382
5383         * gst/gstvalue.c:
5384           Improve documentation for gst_value_union().
5385
5386         * gst/gstvalue.h:
5387           Change return value for union, intersect and subtract functions
5388           from gint to gboolean.
5389
5390 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5391
5392         * gst/gstvalue.c: (gst_value_serialize_any_list),
5393         (gst_value_transform_any_list_string),
5394         (gst_value_deserialize_list), (gst_value_deserialize_array),
5395         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5396         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5397         (gst_value_set_fraction_range_full),
5398         (gst_value_deserialize_fraction_range),
5399         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5400         (gst_value_deserialize_boolean),
5401         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5402         (gst_value_serialize_float), (gst_value_deserialize_float),
5403         (gst_string_wrap), (gst_value_deserialize_string),
5404         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5405         (gst_value_union_int_range_int_range),
5406         (gst_value_intersect_int_range_int_range),
5407         (gst_value_intersect_double_range_double_range),
5408         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5409         (gst_value_subtract_int_range_int_range),
5410         (gst_value_subtract_double_double_range),
5411         (gst_value_subtract_double_range_double_range),
5412         (gst_value_deserialize_fraction):
5413         * gst/gstvalue.h:
5414           Use gint, gdouble and gchar in our API instead of int, double and
5415           char (and make usage in gstvalue.c more consistent).
5416
5417 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5418
5419         * check/Makefile.am:
5420         * libs/gst/controller/Makefile.am:
5421         * libs/gst/dataprotocol/Makefile.am:
5422           fix up Makefile.am and remove GST_ENABLE_NEW
5423
5424 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5425
5426         * configure.ac:
5427         * gst/Makefile.am:
5428         * gst/base/Makefile.am:
5429         * gst/check/Makefile.am:
5430         * gst/elements/Makefile.am:
5431         * gst/net/Makefile.am:
5432           update LDFLAGS use some more
5433
5434 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5435
5436         * common/m4/gst-doc.m4:
5437           Fixes #312589
5438
5439 2005-11-26  Edward Hervey  <edward@fluendo.com>
5440
5441         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5442         This shouldn't issue a g_warning since it returns NULL if it
5443         couldn't find the plugin, and all functions using this behave
5444         properly on a NULL return. Switching to a GST_WARNING.
5445
5446 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5447
5448         * gst/gstbin.c: (gst_bin_handle_message_func):
5449         Don't leak clock messages.
5450
5451 2005-11-25  Wim Taymans  <wim@fluendo.com>
5452
5453         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5454         (gst_util_uint64_scale_int):
5455         Optimisations, remove unneeded vars.
5456
5457 2005-11-25  Wim Taymans  <wim@fluendo.com>
5458
5459         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5460         Added more checks for the high precision uint64 cases.
5461
5462         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5463         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5464         Implement high precision (guint64 * guint64) / guint64.
5465
5466 2005-11-24  Wim Taymans  <wim@fluendo.com>
5467
5468         * gst/base/gstbasesrc.c: (gst_base_src_query):
5469         Fix wrong percentage query.
5470
5471         * gst/gstutils.c: (gst_util_uint64_scale),
5472         (gst_util_uint64_scale_int):
5473         Add some more common cases that can be handled 
5474         efficiently to _scale.
5475
5476 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5477
5478         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5479         (gst_mini_object_suite):
5480           don't use check calls from threads; check probably isn't
5481           threadsafe and using a lock to make it threadsafe would
5482           defeat the purpose of this check
5483         * gst/check/gstcheck.c:
5484         * gst/check/gstcheck.h:
5485           use GST_DEBUG some more
5486
5487 2005-11-24  Wim Taymans  <wim@fluendo.com>
5488
5489         * gst/gstutils.c: (gst_util_uint64_scale),
5490         (gst_util_uint64_scale_int):
5491         Chain trivial case to _scale_int.
5492
5493 2005-11-24  Wim Taymans  <wim@fluendo.com>
5494
5495         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5496         Added test for scaling.
5497
5498         * gst/gstclock.h:
5499         Small doc fix.
5500
5501         * gst/gstutils.c: (gst_util_uint64_scale_int):
5502         Implemented high precision scaling code.
5503
5504 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5505
5506         * gst/gstinfo.h:
5507           do not crash on pad==NULL
5508
5509 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         Patch by: Stefan Kost
5512
5513         * common/gtk-doc.mak:
5514         * docs/gst/Makefile.am:
5515         * docs/libs/Makefile.am:
5516           Fix distcheck issues for the libraries docs build
5517           Closes #319599.
5518
5519 2005-11-24  Michael Smith <msmith@fluendo.com>
5520
5521         * docs/manual/basics-helloworld.xml:
5522           Fix bug #315027: memory leak in example code in docs.
5523
5524 2005-11-24  Michael Smith <msmith@fluendo.com>
5525
5526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5527           Unlock the PREROLL_LOCK in a failure case.
5528
5529 2005-11-24  Wim Taymans  <wim@fluendo.com>
5530
5531         * docs/gst/gstreamer-sections.txt:
5532         * gst/base/gstadapter.h:
5533         * gst/base/gstbasesink.h:
5534         * gst/base/gstbasesrc.h:
5535         * gst/base/gstbasetransform.h:
5536         * gst/base/gstpushsrc.h:
5537         * gst/elements/gstfakesink.h:
5538         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5539         * gst/elements/gstfakesrc.h:
5540         * gst/elements/gstfilesink.h:
5541         * gst/elements/gstfilesrc.h:
5542         * gst/gst.c:
5543         * gst/gstbin.c:
5544         * gst/gstbuffer.c: (_gst_buffer_copy):
5545         * gst/gstbus.h:
5546         * gst/gstcaps.c:
5547         * gst/gstchildproxy.c:
5548         * gst/gstclock.c:
5549         * gst/gstelement.c:
5550         * gst/gstelementfactory.c:
5551         * gst/gstelementfactory.h:
5552         * gst/gstevent.c:
5553         * gst/gstghostpad.h:
5554         * gst/gstindex.h:
5555         * gst/gstinterface.h:
5556         * gst/gstminiobject.c:
5557         * gst/gstminiobject.h:
5558         * gst/gstpad.c:
5559         * gst/gstpad.h:
5560         * gst/gstpadtemplate.h:
5561         * gst/gstpipeline.h:
5562         * gst/gstpluginfeature.h:
5563         * gst/gstquery.h:
5564         * gst/gstqueue.h:
5565         * gst/gsttaglist.c:
5566         * gst/gsttaglist.h:
5567         * gst/gsttagsetter.c:
5568         * gst/gsttagsetter.h:
5569         * gst/gsttrace.c:
5570         * gst/gsttrace.h:
5571         * gst/gsttypefind.h:
5572         * gst/gsturi.h:
5573         * gst/gstvalue.c:
5574         * gst/net/gstnetclientclock.c:
5575         * gst/net/gstnetclientclock.h:
5576         * gst/net/gstnettimepacket.c:
5577         * gst/net/gstnettimeprovider.c:
5578         * gst/net/gstnettimeprovider.h:
5579         Doc fixes.
5580
5581 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * configure.ac: back to HEAD
5584
5585 === release 0.9.6 ===
5586
5587 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5588
5589         * configure.ac:
5590           releasing 0.9.6, "Always On Time"
5591
5592 2005-11-23  Wim Taymans  <wim@fluendo.com>
5593
5594         * docs/gst/gstreamer-sections.txt:
5595         * gst/glib-compat.c:
5596         * gst/gsttagsetter.c:
5597         * gst/gstvalue.c:
5598         * gst/net/gstnetclientclock.c:
5599         * gst/net/gstnettimepacket.h:
5600         Doc updates.
5601
5602 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5603
5604         * docs/faq/using.xml:
5605         * docs/libs/tmpl/gstcontrol.sgml:
5606         * docs/manual/advanced-dparams.xml:
5607         * docs/manual/appendix-checklist.xml:
5608         * docs/manual/basics-elements.xml:
5609         * docs/pwg/other-source.xml:
5610         * docs/random/moving-plugins:
5611         * gst/gstpad.c:
5612         * tools/gst-launch.1.in:
5613           remove mentions of sinesrc
5614
5615 2005-11-23  Michael Smith <msmith@fluendo.com>
5616
5617         * docs/gst/gstreamer-sections.txt:
5618           Update for new API and API changes.
5619         * gst/gstobject.h:
5620           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5621         * gst/gstvalue.c:
5622           Documentation typo fix.
5623         * gst/net/gstnettimepacket.c:
5624           Documentation fixes for arguments.
5625
5626 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5627
5628         * gst/gststructure.c: (gst_structure_get_fraction),
5629         (gst_structure_parse_value),
5630         (gst_structure_fixate_field_nearest_fraction):
5631         * gst/gststructure.h:
5632         * gst/gstutils.c: (gst_util_uint64_scale_int):
5633         * gst/gstutils.h:
5634         * scripts/update-funcnames:
5635         API Changes. 
5636         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5637         Make gst_structure_fixate_field_nearest_fraction take a numerator
5638         and denominator argument instead of a GValue
5639         add gst_structure_get_fraction helper function.
5640
5641 2005-11-23  Wim Taymans  <wim@fluendo.com>
5642
5643         * docs/design/part-TODO.txt:
5644         Update TODO.
5645
5646         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5647         * gst/net/gstnetclientclock.h:
5648         Use parent fields for timeout and window_size.
5649
5650 2005-11-23  Andy Wingo  <wingo@pobox.com>
5651
5652         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5653         rate_num/rate_denom change.
5654
5655         * gst/net/gstnetclientclock.c
5656         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5657         OBJECT_LOCK. Don't call add_observation with the lock.
5658
5659         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5660         fraction.
5661         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5662         rate fraction.
5663         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5664         deal with rate as a fraction whose numerator and denominator are
5665         GstClockTime values.
5666         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5667         master; the other fields are protected by the SLAVE_LOCK.
5668         (do_linear_regression): Note that this must be called with the
5669         SLAVE_LOCK.
5670         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5671         OBJECT_LOCK. Call set_calibration instead of touching the
5672         variables directly.
5673         (gst_clock_set_property, gst_clock_get_property): Protect
5674         master/slave parameters with the SLAVE_LOCK.
5675
5676         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5677         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5678         note that all of the instance variables that add_observation and
5679         the set_master functions use are protected by that lock and not
5680         the OBJECT_LOCK.
5681         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5682
5683         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5684         the caller to take the object lock.
5685
5686 2005-11-23  Wim Taymans  <wim@fluendo.com>
5687
5688         * gst/gsterror.c: (_gst_core_errors_init):
5689         * gst/gsterror.h:
5690         Add error for clock stuff.
5691
5692         * gst/gstpipeline.c: (gst_pipeline_change_state),
5693         (gst_pipeline_set_clock):
5694         Post clock error when clock cannot be used in a pipeline.
5695
5696 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5697
5698         * docs/gst/gstreamer-sections.txt:
5699           make two symbols from gstinfo private for the docs
5700         * gst/base/gstcollectpads.h:
5701         * gst/gstutils.c:
5702           fix doc typos, update docs
5703
5704 2005-11-22  Wim Taymans  <wim@fluendo.com>
5705
5706         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5707         (gst_base_sink_wait), (gst_base_sink_do_sync),
5708         (gst_base_sink_handle_event):
5709         * gst/base/gstbasesink.h:
5710         No need to store the clock, the parent element class already
5711         has it.
5712
5713         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5714         Updates for clock_set returning a gboolean
5715
5716         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5717         (gst_clock_id_wait_async), (gst_clock_class_init),
5718         (gst_clock_init), (gst_clock_finalize),
5719         (gst_clock_get_internal_time), (gst_clock_get_time),
5720         (gst_clock_slave_callback), (gst_clock_set_master),
5721         (gst_clock_get_master), (do_linear_regression),
5722         (gst_clock_add_observation), (gst_clock_set_property),
5723         (gst_clock_get_property):
5724         * gst/gstclock.h:
5725         Implement master/slave. When setting a clock as a slave, a
5726         periodic timeout is scheduled to sample master and slave times.
5727         Then the slave clock is recalibrated to match offset and rate
5728         of the master clock.
5729         Update logging a bit.
5730         Add flag so that a clock can state that is cannot be slaved to
5731         another clock.
5732
5733         * gst/gstelement.c: (gst_element_set_clock):
5734         * gst/gstelement.h:
5735         The set clock returns a gboolean for when an element cannot
5736         deal with the selected clock in the pipeline. 
5737
5738         * gst/gstpipeline.c: (gst_pipeline_change_state),
5739         (gst_pipeline_set_clock):
5740         * gst/gstpipeline.h:
5741         Handle the case where the selected clock cannot be set on
5742         the pipeline.
5743
5744         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5745         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5746         (gst_net_client_clock_set_property),
5747         (gst_net_client_clock_get_property),
5748         (gst_net_client_clock_observe_times):
5749         * gst/net/gstnetclientclock.h:
5750         Use regression code in GstClock parent, remove duplicated
5751         functionality.
5752
5753 2005-11-22  Michael Smith <msmith@fluendo.com>
5754
5755         * gst/gstutils.c: (gst_util_clock_time_scale):
5756         * gst/gstutils.h:
5757         * docs/gst/gstreamer-sections.txt:
5758           Rename method to have extra underscore.
5759
5760 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5761
5762         * gst/elements/Makefile.am:
5763         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5764         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5765         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5766         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5767         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5768         * gst/elements/gstfakesrc.h:
5769         * gst/gstqueue.c: (queue_leaky_get_type):
5770           correctly fix GEnumValues so that nick is the short lowercase
5771           dashed tag
5772         * tools/gst-inspect.c: (print_element_properties_info):
5773           also show the nick, since it's useful to use from parse_launch
5774           syntax
5775           Fixes #322139
5776
5777 2005-11-22  Michael Smith <msmith@fluendo.com>
5778
5779         * gst/gstutils.c: (gst_util_clocktime_scale):
5780         * gst/gstutils.h:
5781         * docs/gst/gstreamer-sections.txt:
5782           Add util method for scaling a clocktime by a fraction. Useful 
5783           implementation is left as an exercise for the reader.
5784
5785 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5786
5787         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5788         If needed, allocate storage in the destination value during
5789         collection.
5790
5791 2005-11-22  Edward Hervey  <edward@fluendo.com>
5792
5793         * docs/gst/gstreamer-sections.txt:
5794         * gst/Makefile.am:
5795         * gst/gst.h:
5796         * gst/gsturitype.c:
5797         * gst/gsturitype.h:
5798         * gst/gstutils.c: (gst_util_set_object_arg):
5799         * tools/gst-compprep.c: (main):
5800         * tools/gst-inspect.c: (print_element_properties_info):
5801         Removed GstURI, closes bug #321061
5802
5803 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5804
5805         * check/gst/gststructure.c: (GST_START_TEST):
5806         * gst/gststructure.c: (gst_structure_parse_value):
5807           Oops, broke automatic string type parsing.
5808           Add a test to catch it in future.
5809
5810 2005-11-22  Andy Wingo  <wingo@pobox.com>
5811
5812         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
5813         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5814         Actually rename the function implementations. Grr.
5815
5816 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5817
5818         * check/gst/capslist.h:
5819           Comment test cases
5820         * check/gst/gststructure.c: (GST_START_TEST),
5821         (gst_structure_suite):
5822           Test automatic value type detection in gst_structure_from_string.
5823         * gst/gststructure.c: (gst_structure_parse_value):
5824           Add fraction as a type we try and guess automatically in
5825           caps/structure strings.
5826
5827 2005-11-22  Andy Wingo  <wingo@pobox.com>
5828
5829         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5830
5831         * gst/gsttagsetter.h:
5832         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5833         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5834         (gst_tag_setter_add_tag_valist)
5835         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5836         _add_values, _add_valist, and _add_valist_values. Since this is an
5837         interface the function suffixes should be more explicit so
5838         language binding don't end up with element.add_valist ->
5839         gst_tag_setter_add_valist, for example. Fixes #322069.
5840
5841 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5842
5843         * check/gst/gstcaps.c: (GST_START_TEST):
5844           Extend caps string tests to check that a caps to string
5845           conversion is reversible and produces the same caps.
5846
5847         * gst/gststructure.c: (gst_structure_value_get_generic_type):
5848           Output "fraction" as the generic type fraction range, so caps
5849           serialisation and deserialisation works.
5850         * check/gst/capslist.h:
5851         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5852           Support 'MIN' and 'MAX' for deserialising fractions.
5853
5854 2005-11-22  Andy Wingo  <wingo@pobox.com>
5855
5856         * gst/gstevent.h (gst_event_new_new_segment)
5857         (gst_event_parse_new_segment, gst_event_new_buffer_size)
5858         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
5859         Renamed from *_newsegment, *_buffersize, *_notarget.
5860
5861         * scripts/update-funcnames: New script, performs the changes
5862         listed above.
5863
5864 2005-11-22  Wim Taymans  <wim@fluendo.com>
5865
5866         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5867         Make sure the GstFlowReturn is returned.
5868
5869         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
5870         (gst_bus_add_signal_watch):
5871         * gst/gstbus.h:
5872         add gst_bus_add_signal_watch_full.
5873
5874         * gst/gstplugin.c: (gst_plugin_load_file):
5875         Small style cleanup.
5876
5877 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5878
5879         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
5880           Block the fakesrc srcpad when we send an event, to avoid
5881           contention on the stream_lock causing random test failures.
5882
5883 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5884
5885         * check/gst/gstvalue.c: (GST_START_TEST):
5886         * gst/gstvalue.c: (gst_value_fraction_subtract):
5887           Fix subtraction.
5888
5889 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
5890
5891         * gst/gst.h:
5892           include "gstchildproxy.h"
5893         * gst/gstchildproxy.h:
5894         * libs/gst/controller/gstcontroller.h:
5895           use G_GNUC_NULL_TERMINATED
5896
5897 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5898
5899         * check/gst/capslist.h:
5900         * check/gst/gstcaps.c: (GST_START_TEST):
5901         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5902         * gst/gststructure.c: (gst_structure_parse_range),
5903         (gst_structure_fixate_field_nearest_fraction):
5904         * gst/gststructure.h:
5905         * gst/gstvalue.c: (gst_value_init_fraction_range),
5906         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5907         (gst_value_collect_fraction_range),
5908         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5909         (gst_value_set_fraction_range_full),
5910         (gst_value_get_fraction_range_min),
5911         (gst_value_get_fraction_range_max),
5912         (gst_value_serialize_fraction_range),
5913         (gst_value_transform_fraction_range_string),
5914         (gst_value_compare_fraction_range),
5915         (gst_value_deserialize_fraction_range),
5916         (gst_value_intersect_fraction_fraction_range),
5917         (gst_value_intersect_fraction_range_fraction_range),
5918         (gst_value_subtract_fraction_fraction_range),
5919         (gst_value_subtract_fraction_range_fraction),
5920         (gst_value_subtract_fraction_range_fraction_range),
5921         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5922         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5923         (gst_value_transform_string_fraction), (_gst_value_initialize):
5924         * gst/gstvalue.h:
5925           Implement fraction ranges and extend GstFraction to support
5926           arithmetic subtraction, as well as deserialization from integer
5927           strings such as "100"
5928           Add a testsuite as for int and double range set operations
5929
5930 2005-11-21  Andy Wingo  <wingo@pobox.com>
5931
5932         * gst/gsttaglist.h: 
5933         * gst/gstcaps.h: 
5934         * gst/gststructure.h: Add glib-compat.h.
5935
5936 2005-11-21  Wim Taymans  <wim@fluendo.com>
5937
5938         * gst/gstbin.c: (gst_bin_change_state_func):
5939         Fix for #321595
5940
5941 2005-11-21  Wim Taymans  <wim@fluendo.com>
5942
5943         * gst/gstsegment.h:
5944         And add a nice define too.
5945
5946 2005-11-21  Wim Taymans  <wim@fluendo.com>
5947
5948         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5949         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5950         (gst_segment_set_duration), (gst_segment_set_last_stop),
5951         (gst_segment_set_seek), (gst_segment_set_newsegment),
5952         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5953         (gst_segment_clip):
5954         * gst/gstsegment.h:
5955         Make binding friendly.
5956
5957 2005-11-21  Andy Wingo  <wingo@pobox.com>
5958
5959         * gst/gsttagsetter.h: 
5960         * gst/gsttaglist.h: 
5961         * gst/gststructure.h: 
5962         * gst/gstcaps.h: 
5963         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
5964         #319940.
5965
5966         * gst/gsterror.c (_gst_core_errors_init):
5967         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
5968         category.
5969
5970         * gst/Makefile.am (gst_headers): Add glib-compat.h.
5971         (noinst_HEADERS): noinst the -private.
5972
5973 2005-11-21  Michael Smith <msmith@fluendo.com>
5974
5975         * gst/gstplugin.h:
5976         * gst/gstregistry.h:
5977           Remove unimplemented declarations for which we can see no sensible
5978           use.
5979
5980 2005-11-21  Andy Wingo  <wingo@pobox.com>
5981
5982         * gst/gst.h: Include glib-compat.h.
5983
5984         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
5985
5986         * gst/glib-compat.c: Include the public and the private header.
5987
5988         * gst/glib-compat-private.h: Copied here from glib-compat.h.
5989
5990         * gst/gstvalue.c: 
5991         * gst/gstpad.c: 
5992         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
5993
5994         * check/gst/gstevent.c (create_custom_events): Check that
5995         FLUSH_STOP is serialized.
5996
5997         * check/elements/identity.c (event_func): 
5998         * check/elements/fakesrc.c (event_func): No stream lock, the core
5999         takes it.
6000
6001         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6002         stream lock taking, yay.
6003
6004         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6005         ensure that core takes the stream lock.
6006
6007         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6008         lock name change.
6009
6010         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6011         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6012         it already. For the flush start we do take it though so we get the
6013         right preroll state change messages.
6014
6015         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6016         the stream lock here, the core does it for us.
6017
6018         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6019         GST_STREAM_GET_LOCK.
6020         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6021         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6022         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6023         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6024         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6025         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6026
6027         * gst/gstpad.c: Update for stream lock name change.
6028
6029         * gst/base/gstbasesink.c: Update for preroll lock name change.
6030
6031 2005-11-21  Wim Taymans  <wim@fluendo.com>
6032
6033         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6034         (gst_clock_get_master):
6035         * gst/gstclock.h:
6036         * gst/gstsystemclock.c: (gst_system_clock_init):
6037         Convert Clock flags to object flags.
6038         Added methods to manage master/slave clocks.
6039
6040 2005-11-21  Wim Taymans  <wim@fluendo.com>
6041
6042         * check/gst/gstsegment.c: (GST_START_TEST):
6043         * docs/design/part-TODO.txt:
6044         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6045         (gst_base_sink_event), (gst_base_sink_do_sync),
6046         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6047         (gst_base_sink_query), (gst_base_sink_change_state):
6048         * gst/base/gstbasesink.h:
6049         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6050         (gst_base_src_default_newsegment),
6051         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6052         (gst_base_src_get_range), (gst_base_src_loop),
6053         (gst_base_src_change_state):
6054         * gst/base/gstbasesrc.h:
6055         * gst/base/gstbasetransform.c:
6056         (gst_base_transform_prepare_output_buf),
6057         (gst_base_transform_event), (gst_base_transform_change_state):
6058         * gst/base/gstbasetransform.h:
6059         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6060         (gst_collect_pads_event):
6061         * gst/base/gstcollectpads.h:
6062         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6063         (gst_fake_src_create):
6064         * gst/elements/gstfakesrc.h:
6065         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6066         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6067         (gst_segment_set_last_stop), (gst_segment_set_seek),
6068         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6069         (gst_segment_to_running_time), (gst_segment_clip):
6070         * gst/gstsegment.h:
6071         More segment updates, replace code in plugins with segment
6072         helper functions.
6073
6074 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6075
6076         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6077         Don't ignore sscanf results
6078
6079 2005-11-21  Andy Wingo  <wingo@pobox.com>
6080
6081         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6082
6083         * *.h:
6084         * *.c: Ran scripts/update-macros. Oh yes.
6085
6086         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6087         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6088         GST_GET_LOCK, etc.
6089
6090         * scripts/update-macros: New script. Run it on your files to
6091         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6092         well.
6093
6094 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6095
6096         * docs/gst/Makefile.am:
6097         * docs/gst/gstreamer-docs.sgml:
6098         * docs/gst/gstreamer-sections.txt:
6099         * docs/gst/gstreamer.types:
6100         * gst/gstinfo.h:
6101           more docs fixes, add new api to the docs
6102
6103 2005-11-21  Andy Wingo  <wingo@pobox.com>
6104
6105         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6106         state_broadcast call.
6107
6108         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6109
6110 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6111
6112         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6113         function calls for arrays.
6114
6115 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6116
6117         * docs/random/ensonic/media-device-daemon.txt:
6118           wild idea, can this be done?
6119         * docs/gst/gstreamer-sections.txt:
6120         * gst/gsterror.h:
6121         * gst/gstfilter.c:
6122         * gst/gstfilter.h:
6123         * gst/gstplugin.h:
6124         * gst/gstpluginfeature.c:
6125         * gst/gsttrace.c:
6126         * gst/gstvalue.c:
6127         * gst/gstvalue.h:
6128           doc fixes and additions
6129
6130 2005-11-21  Andy Wingo  <wingo@pobox.com>
6131
6132         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6133         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6134         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6135         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6136         private to the basesrc implementation.
6137
6138         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6139         behalf of event function if necessary. It should no longer be
6140         necessary to take the stream lock in pad's event functions. Fixes
6141         #320299.
6142
6143 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6144         * docs/gst/gstreamer-sections.txt:
6145         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6146         (gst_structure_fixate_field_nearest_double),
6147         (gst_structure_fixate_field_boolean):
6148         * gst/gststructure.h:
6149         * win32/common/libgstreamer.def:
6150         * win32/gstreamer.def:
6151
6152         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6153         (#322027)
6154
6155 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6156
6157         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6158         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6159         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6160         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6161         (gst_fdsrc_uri_handler_init):
6162         * gst/elements/gstfdsrc.h:
6163           Port fd:// URI handler from 0.8 to fdsrc
6164
6165 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6166
6167         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6168         (gst_value_serialize_fourcc):
6169         * gst/gstvalue.h:
6170           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6171           consistent with our other format defines (#320324).
6172
6173 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6174
6175         * gst/gstvalue.c: (gst_value_is_fixed):
6176           Revert previous commit. Value lists are by definition
6177           not fixed, as they are a list of possible values.
6178
6179 2005-11-21  Andy Wingo  <wingo@pobox.com>
6180
6181         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6182         during the stable series if we need it. Fixes #319178.
6183
6184         * gst/gstevent.c (gst_event_new_filler): Removed.
6185
6186         * check/gst/gstevent.c: Update comment about filler events.
6187
6188 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6189
6190         * gst/gstvalue.c: (gst_value_is_fixed):
6191           Should handle both value arrays and value lists.
6192
6193 2005-11-21  Andy Wingo  <wingo@pobox.com>
6194
6195         patch by: Alessandro Dessina <alessandro nnva org>
6196
6197         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6198         functions to access arrays. Fixes #321962.
6199
6200 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6201
6202         * docs/gst/gstreamer.types:
6203           gst_collectpads_get_type => gst_collect_pads_get_type.
6204           
6205         * gst/base/gstbasetransform.c:
6206           Remove unused SIGNAL_HANDOFF enum.
6207
6208 2005-11-21  Andy Wingo  <wingo@pobox.com>
6209
6210         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6211         the event type (upstream, downstream, serialized). Renamed
6212         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6213         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6214         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6215
6216         * gst/gstevent.c: Update for new CUSTOM event names.
6217
6218         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6219
6220         * gst/gstevent.h:
6221         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6222         bug #319392.
6223
6224 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6225
6226         * docs/gst/gstreamer-sections.txt:
6227         * win32/common/libgstbase.def:
6228         * win32/libgstbase.def:
6229         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6230         (gst_collect_pads_class_init), (gst_collect_pads_init),
6231         (gst_collect_pads_finalize), (gst_collect_pads_new),
6232         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6233         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6234         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6235         (gst_collect_pads_start), (gst_collect_pads_stop),
6236         (gst_collect_pads_peek), (gst_collect_pads_pop),
6237         (gst_collect_pads_available), (gst_collect_pads_read),
6238         (gst_collect_pads_flush), (gst_collect_pads_event),
6239         (gst_collect_pads_chain):
6240         * gst/base/gstcollectpads.h:
6241           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6242           unimplemented functions as unimplemented. Add padding to
6243           GstCollectData. (#320766, #320423)
6244
6245 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6246
6247         * gst/gstmessage.c:
6248           Improve docs for DURATION message (usage of duration parameter)
6249           (#320113)
6250
6251 2005-11-20  Wim Taymans  <wim@fluendo.com>
6252
6253         * check/Makefile.am:
6254         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6255         (main):
6256         * gst/Makefile.am:
6257         * gst/gst.h:
6258         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6259         (gst_segment_set_seek), (gst_segment_set_newsegment),
6260         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6261         (gst_segment_clip):
6262         * gst/gstsegment.h:
6263         Added segment helper structure and methods. Not fully implemented
6264         yet.
6265         Added segment check.
6266
6267 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6268
6269         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6270           Add a deserialisation test for fractions
6271         * examples/metadata/read-metadata.c: (message_loop),
6272         (make_pipeline), (main):
6273           Fix up metadata reading sample.
6274         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6275           Debug format fix
6276         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6277           Don't try and fixate empty caps
6278         * gst/gst_private.h:
6279           Wrap in G_BEGIN_DECLS/G_END_DECLS
6280         * gst/gstvalue.c: (gst_value_collect_fraction),
6281         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6282         (gst_value_transform_string_fraction),
6283         (gst_value_compare_fraction):
6284           Add some extra guards to ensure that we don't end up 
6285           with an invalid denominator of 0 in a gstfraction and
6286           that fractions always get reduced.
6287
6288 2005-11-20  Wim Taymans  <wim@fluendo.com>
6289
6290         * docs/gst/gstreamer-sections.txt:
6291         * gst/gstbuffer.h:
6292         * gst/gstelement.c:
6293         * gst/gstformat.c:
6294         * gst/gstformat.h:
6295         * gst/gstindex.h:
6296         * gst/gstquery.c:
6297         * gst/gstquery.h:
6298         * gst/gstvalue.c:
6299         Doc fixes.
6300
6301 2005-11-20  Wim Taymans  <wim@fluendo.com>
6302
6303         * docs/design/part-TODO.txt:
6304         * gst/gstcaps.h:
6305         Make a proper enum of the flag.
6306
6307 2005-11-19  Wim Taymans  <wim@fluendo.com>
6308
6309         * docs/design/part-TODO.txt:
6310         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6311         (gst_format_to_quark), (gst_format_register):
6312         * gst/gstformat.h:
6313         * gst/gstquery.c: (_gst_query_initialize),
6314         (gst_query_type_get_name), (gst_query_type_to_quark),
6315         (gst_query_type_register):
6316         * gst/gstquery.h:
6317         Add type to quark and type to string conversions.
6318
6319 2005-11-19  Andy Wingo  <wingo@pobox.com>
6320
6321         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6322         #320097.
6323
6324 2005-11-19  Wim Taymans  <wim@fluendo.com>
6325
6326         * docs/design/part-TODO.txt:
6327         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6328         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6329         (gst_bin_handle_message_func):
6330         * gst/gstbin.h:
6331         Make message handling overridable.
6332
6333 2005-11-19  Andy Wingo  <wingo@pobox.com>
6334
6335         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6336
6337         * gst/gstclock.h:
6338         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6339         be a GstClockTime.
6340         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6341         is a GstClockTime. Fixes #321710.
6342
6343         * gst/gstclock.h (GstClock): Remove offset property. Add
6344         internal_calibration and external_calibration. Fix padding. Pad
6345         also by GstClockTime so we don't run into problems.
6346
6347         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6348         (gst_clock_get_rate_offset): Remove.
6349         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6350
6351         * gst/gstutils.h:
6352         * gst/gstutils.c (g_static_rec_cond_wait)
6353         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6354
6355         * gst/gstbin.c: Remove terrible continue_state prototype.
6356
6357         * gst/gstelement.h (gst_element_continue_state): Make public.
6358
6359         * gst/gstelement.h:
6360         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6361         by continue_state. Fixes #319389.
6362
6363         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6364         Really fixes #168438. However I don't see anywhere where the
6365         filter function is called... stupid GStreamer...
6366         
6367         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6368         don't have a dispose function, so it won't get called when the
6369         object is unreffed, but oh well!
6370
6371         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6372         allows a destroy function to be set so user_data can be freed.
6373         Fixes #168438.
6374         (gst_index_set_filter): Call gst_index_set_filter_full.
6375
6376         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6377
6378         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6379         string should produce an error, given the lack of a way to
6380         represent NULL strings. Fixes #165650.
6381         
6382         * gst/gstvalue.h: 
6383         * gst/gstvalue.c (gst_value_array_append_value) 
6384         (gst_value_array_prepend_value, gst_value_array_get_size) 
6385         (gst_value_array_get_value): New API, copied from
6386         gst_value_list_*, only operates on arrays.
6387         (gst_value_list_append_value, gst_value_list_prepend_value) 
6388         (gst_value_list_concat, gst_value_list_get_size) 
6389         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6390
6391         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6392         init_list, because it works on both.
6393         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6394         (gst_value_copy_list_or_array): Renamed from copy_list.
6395         (gst_value_free_list_or_array): Renamed from free_list.
6396         (gst_value_collect_list_or_array): Renamed from collect_list.
6397         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6398         (gst_value_list_or_array_peek_pointer): Renamed from
6399         list_peek_pointer.
6400         (_gst_value_array_value_table, _gst_value_list_value_table):
6401         Update value table functions.
6402         (gst_value_compare_list_or_array): Renamed from compare_list.
6403
6404         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6405         some constness.
6406
6407         * gst/gsttaglist.c:
6408         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6409         GstTagList*. Fixes #143472.
6410
6411         * gst/gststructure.h: Clarify what the foreach/map functions can
6412         or can't do to their arguments.
6413
6414 2005-11-18  Wim Taymans  <wim@fluendo.com>
6415
6416         * gst/gstclock.c: (gst_clock_set_calibration),
6417         (gst_clock_get_calibration):
6418         Doc and API fixes.
6419         Calibration can be set with internal time equal to current
6420         internal time too.
6421
6422 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6423
6424         * gst/gsterror.c:
6425         * gst/gsterror.h:
6426           document
6427
6428 2005-11-18  Andy Wingo  <wingo@pobox.com>
6429
6430         * configure.ac: 
6431         * pkgconfig/gstreamer-net.pc.in:
6432         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6433         * pkgconfig/Makefile.am: Add net pkgconfig files.
6434
6435 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6436
6437         * gst/gstcaps.c:
6438         * gst/gstghostpad.c:
6439         * gst/gsttrace.c:
6440         * gst/gstvalue.c:
6441         * gst/gstvalue.h:
6442           docs fixes
6443
6444 2005-11-18  Andy Wingo  <wingo@pobox.com>
6445
6446         * gst/net/gstnetclientclock.c: Turn off debugging.
6447
6448         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6449         times connverge somewhat. Can't make a real test.
6450
6451         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6452         integer arithmetic. Return the minimum of the domain, which can be
6453         set as "internal" for gst_clock_set_calibration.
6454         (gst_net_client_clock_observe_times): Call _set_calibration.
6455         (gst_net_client_clock_new): Call _set_calibration instead of
6456         rate_offset.
6457
6458         * check/net/gstnetclientclock.c (test_functioning): Use the right
6459         adjustment api.
6460
6461         * gst/gstclock.h:
6462         * gst/gstclock.c (gst_clock_get_calibration) 
6463         (gst_clock_set_calibration): New functions, obsolete the ones I
6464         added yesterday. Doh. Precision issues mean we have to extrapolate
6465         from a point in the more recent past than 1970.
6466         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6467         obsolete.
6468         (gst_clock_adjust_unlocked): Use the right calibration data.
6469
6470 2005-11-18  Edward Hervey  <edward@fluendo.com>
6471
6472         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6473         Also reset the ->current_* values in READY->PAUSED
6474
6475 2005-11-18  Andy Wingo  <wingo@pobox.com>
6476
6477         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6478         Whoops, check the right fd. Also add some debugging.
6479         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6480         (do_linear_regression): Add a crapload of debugging. Subtract off
6481         the minimum values from the input series to discard unneeded bits.
6482         Use only int arithmetic. There is still double arithmetic when
6483         calculating the intercept that needs fixing. Return boolean to
6484         indicate success; FALSE would mean the domain or range is too
6485         great. Still needs fixes.
6486
6487 2005-11-18  Wim Taymans  <wim@fluendo.com>
6488
6489         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6490         For the current position in stream time, we need to subtract
6491         accumulated time.
6492         
6493         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6494         Release lock before calling the callback function of async
6495         entries.
6496
6497 2005-11-18  Andy Wingo  <wingo@pobox.com>
6498
6499         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6500         Port goes all the way to MAXUINT16.
6501
6502         * gst/net/gstnettimeprovider.c: Make the port range the same as
6503         for the kernel: 0 assigns, otherwise ports are less than
6504         MAXUINT16.
6505
6506         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6507         port change.
6508
6509         * check/net/gstnetclientclock.c (test_functioning): Add the start
6510         of another test. 
6511
6512 2005-11-18  Wim Taymans  <wim@fluendo.com>
6513
6514         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6515         (gst_bin_remove_func), (bin_bus_handler):
6516         * gst/gstbin.h:
6517         Removing a clock provider from a bin, triggers a clock lost message
6518         so that a new clock will be selected.
6519         Adding a clock to a bin triggers a clock provider message.
6520         Make sure we reselect a clock when we received a clock lost message.
6521         Keep a reference to the element that provided the clock.
6522
6523 2005-11-18  Andy Wingo  <wingo@pobox.com>
6524
6525         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6526         the clock initially so it produces values around the base time.
6527         (gst_net_client_clock_class_init): Typo fix.
6528         (gst_net_client_clock_thread): Add note on when the socket gets
6529         closed.
6530
6531 2005-11-17  Wim Taymans  <wim@fluendo.com>
6532
6533         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6534         Free remote and local time arrays.
6535
6536 2005-11-17  Wim Taymans  <wim@fluendo.com>
6537
6538         * gst/net/gstnetclientclock.c: (do_linear_regression),
6539         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6540         Fix compilation, uninitialized vars and a forgotten continue.
6541
6542 2005-11-17  Andy Wingo  <wingo@pobox.com>
6543
6544         * check/Makefile.am (check_PROGRAMS): 
6545         * check/net/gstnetclientclock.c: Add a most minimal test for the
6546         net client clock. More to come later.
6547
6548         * gst/net/gstnet.h: 
6549         * gst/net/Makefile.am: Add netclientclock.
6550
6551         * gst/net/gstnetclientclock.h:
6552         * gst/net/gstnetclientclock.c: New files, implement an untested
6553         GstClock that takes its time from a network time provider.
6554         Implements the algorithm in network-clock.scm.
6555
6556         * tests/network-clock.scm (*window-size*): Rename from
6557         *queue-length*.
6558         * tests/network-clock.scm (network-time): 
6559         * tests/network-clock-utils.scm (q-push): Update callers.
6560
6561 2005-11-17  Wim Taymans  <wim@fluendo.com>
6562
6563         * gst/gstbin.c: (gst_bin_provide_clock_func),
6564         (gst_bin_sort_iterator_new):
6565         And unref the child too..
6566
6567 2005-11-17  Wim Taymans  <wim@fluendo.com>
6568
6569         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6570         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6571         Refactor the sort iterator so it can be used while holding the
6572         LOCK too.
6573         Make clock selection select a clock closest to the source.
6574
6575 2005-11-17  Michael Smith <msmith@fluendo.com>
6576
6577         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6578         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6579         * gst/gstclock.h:
6580           Anonymous structs are a gcc (and some other compilers) extension, so
6581           don't use them. Since this is only for ABI-compatibility, and our
6582           API/ABI freeze is over in a few days, this whole thing will only
6583           last a few days, so don't bother trying to think up a meaningful
6584           name for the struct.
6585
6586 2005-11-17  Andy Wingo  <wingo@pobox.com>
6587
6588         * gst/gstclock.h (GstClock): Add rate and offset properties,
6589         preserving ABI stability. Add rate/offset accessors. Will file bug
6590         for the freeze break.
6591
6592         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6593         and offset, trying to keep precision and avoiding
6594         underflow/overflow.
6595         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6596         functions. Make gst_clock_set_time_adjust obsolete.
6597         (gst_clock_set_time_adjust): Note that this function is obsolete.
6598         Will file bug soon.
6599
6600         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6601         greppable by using GST_PADDING-1+1.
6602
6603 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6604
6605         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6606
6607         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6608           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6609
6610         * gst/gstpadtemplate.h:
6611         * gst/gstpluginfeature.h:
6612           Don't use c++ style comments in headers (#321638).
6613
6614 2005-11-16  Andy Wingo  <wingo@pobox.com>
6615
6616         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6617         buffer.
6618
6619         * check/net/gstnettimeprovider.c: Check to see that the time
6620         provider actually provides times. Works, yo!
6621
6622 2005-11-16  Wim Taymans  <wim@fluendo.com>
6623
6624         * check/Makefile.am:
6625         Enable more tests.
6626
6627         * check/elements/fakesrc.c: (GST_START_TEST):
6628         Set element to NULL before disposing it.
6629
6630 2005-11-16  Andy Wingo  <wingo@pobox.com>
6631
6632         * gst/net/Makefile.am:
6633         * gst/net/gstnet.h:
6634         * gst/net/gstnettimeprovider.c: 
6635         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6636         provider, include it from gstnet.h, and add it to the build.
6637
6638         * gst/net/gstnettimepacket.h: 
6639         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6640         sending and receiving.
6641
6642 2005-11-16  Wim Taymans  <wim@fluendo.com>
6643
6644         * check/Makefile.am:
6645         Enable valgrind check.
6646
6647         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6648         (gst_fake_src_alloc_buffer):
6649         Fix memleak.
6650
6651 2005-11-16  Wim Taymans  <wim@fluendo.com>
6652
6653         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6654         Call parent finalize too.
6655
6656 2005-11-16  Wim Taymans  <wim@fluendo.com>
6657
6658         * check/Makefile.am:
6659         Enable valgrind check that should work fine now.
6660
6661         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6662         * gst/gstqueue.c: (gst_queue_init):
6663         Fix memleaks in pad allocation.
6664
6665 2005-11-16  Andy Wingo  <wingo@pobox.com>
6666
6667         * gst/net/Makefile.am:
6668         * gst/net/gstnet.h: New part of core to hold network elements and
6669         objects. Put in core because it exposes API that applications want
6670         to use. The library is named libgstnet-tempname right now because
6671         of the existing libgstnet in gst-plugins-base. Solution is
6672         probably to rename the one in plugins-base; will file a bug for
6673         the freeze break.
6674
6675         * gst/net/gstnettimeprovider.c: 
6676         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6677         get_time call over the network.
6678
6679         * configure.ac: 
6680         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6681
6682         * check/Makefile.am:
6683         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6684         get additions shortly.
6685
6686 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6687
6688         * gst/gstpad.c: (gst_pad_new_from_static_template):
6689         * gst/gstpad.h:
6690           add gst_pad_new_from_static_template functions
6691         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6692         (gst_check_setup_sink_pad):
6693         * gst/elements/gsttee.c: (gst_tee_init):
6694           and use them
6695
6696 2005-11-16  Wim Taymans  <wim@fluendo.com>
6697
6698         * gst/gstpad.c: (gst_pad_pause_task):
6699         Removed warning, it's not really an error either.
6700
6701 2005-11-16  Wim Taymans  <wim@fluendo.com>
6702
6703         * gst/base/gstbasetransform.c:
6704         (gst_base_transform_prepare_output_buf),
6705         (gst_base_transform_event):
6706         Check if the caps are NULL, this can happen if the element
6707         is shutting down and the pad caps are set to NULL.
6708
6709 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6710
6711         * gst/elements/gsttee.c: (gst_tee_init):
6712           fix pad template leak in tee
6713
6714 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6715
6716         * gst/glib-compat.c: (g_value_dup_gst_object):
6717         * gst/glib-compat.h:
6718         * gst/gstpad.c: (gst_pad_set_property):
6719           use gst_object_ref when setting the pad template; this will
6720           trigger the pad template leaks on GLib 2.6 and the slaves
6721
6722 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6723
6724         * gst/glib-compat.c: (gst_flags_get_first_value):
6725         * gst/glib-compat.h:
6726         * gst/gstregistryxml.c:
6727           remove functions copied from GLib 2.6
6728
6729 2005-11-16  Michael Smith <msmith@fluendo.com>
6730
6731         * gst/Makefile.am:
6732           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6733           do, but only breaks with newer valgrind versions. We're not a
6734           valgrind tool, we have no link-time dependencies on libcoregrind.
6735
6736 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6737
6738         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6739           some debug changes
6740         * gst/gstmessage.h:
6741           typo fixes
6742
6743 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6744
6745         * gst/base/gstbasesrc.c: (gst_base_src_init):
6746         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6747         * gst/gstqueue.c: (gst_queue_init):
6748         * gst/gstregistryxml.c: (load_feature):
6749           Revert all these unrefs, they don't even pass make check !
6750
6751 2005-11-15  Johan Dahlin  <johan@gnome.org>
6752
6753         * gst/base/gstbasesrc.c: (gst_base_src_init):
6754         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6755         * gst/gstqueue.c: (gst_queue_init): 
6756         Free pad templates, fixes a couple of leaks.
6757
6758 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6759
6760         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6761
6762         * gst/gstpad.c: (gst_pad_get_property):
6763           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6764           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6765           (#321452)
6766
6767 2005-11-15  Wim Taymans  <wim@fluendo.com>
6768
6769         * gst/gstevent.c:
6770         Small doc update.
6771
6772 2005-11-15  Andy Wingo  <wingo@pobox.com>
6773
6774         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6775
6776         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6777         using GST_CLOCK_TIME_NONE to disable base time management.
6778         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6779         time if it was NONE before.
6780         (gst_pipeline_change_state): Only munge the base time if
6781         stream_time != GST_CLOCK_TIME_NONE.
6782
6783         * check/gst/gstpipeline.c (test_base_time): Punt around the
6784         problem of the probe not being called, because that's not the
6785         issue I'm looking at. Add a check that setting stream_time to NONE
6786         disables base time management.
6787         
6788 2005-11-15  Wim Taymans  <wim@fluendo.com>
6789
6790         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6791         segment_stop == -1 at startup.
6792
6793         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6794         (gst_base_transform_change_state):
6795         Init segment values at start.
6796
6797 2005-11-15  Wim Taymans  <wim@fluendo.com>
6798
6799         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6800         0 segment values are 0 in any format.
6801
6802         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6803         * gst/base/gstbasetransform.h:
6804         Parse newsegment correctly in basetransform
6805
6806         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6807         Sync to clock using updated segment values.
6808
6809 2005-11-15  Andy Wingo  <wingo@pobox.com>
6810
6811         * check/gst/gstpipeline.c (test_base_time): Add check that the
6812         base time and stream time are reset correctly.
6813
6814 2005-11-15  Wim Taymans  <wim@fluendo.com>
6815
6816         * docs/design/part-TODO.txt:
6817         Some more TODO items.
6818
6819 2005-11-15  Andy Wingo  <wingo@pobox.com>
6820
6821         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6822         error if the user selected "no clock" as the clocking method.
6823
6824         * check/gst/gstpipeline.c (test_base_time): New test for buffer
6825         timestamps with live capture.
6826
6827         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6828         is 0 but we are a live source, timestamp the buffers using the
6829         element's clock.
6830
6831 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
6832
6833         * docs/gst/gstreamer-sections.txt:
6834         * gst/gsterror.c:
6835         * gst/gstghostpad.c:
6836         * gst/gstobject.h:
6837         * gst/gstxml.c:
6838           more section docs
6839
6840 2005-11-14  Wim Taymans  <wim@fluendo.com>
6841
6842         * common/gst.supp:
6843           add suppressions from Wim's Debian machine
6844
6845 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6846
6847         * common/gst.supp:
6848           add suppressions from Andy's AMD64 Ubuntu machine
6849
6850 2005-11-14  Andy Wingo  <wingo@pobox.com>
6851
6852         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6853         STATE_LOCK not necessary. Fixes #311489.
6854
6855         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6856         #305291.
6857
6858         * gst/gstindex.c (gst_index_add_object): Note in the docs that
6859         this function is not implemented.
6860
6861 2005-11-14  Julien MOUTTE  <julien@moutte.net>
6862
6863         * gst/base/gstbasetransform.c:
6864         (gst_base_transform_prepare_output_buf):
6865         Ref the source pad caps while we need them.
6866         Fixes (#321386)
6867
6868 2005-11-11  Wim Taymans  <wim@fluendo.com>
6869
6870         * docs/gst/gstreamer-sections.txt:
6871         Added some docs for GstCollectData.
6872
6873         * gst/base/gstadapter.c:
6874         Some small code example fix.
6875
6876         * gst/base/gstcollectpads.c:
6877         * gst/base/gstcollectpads.h:
6878         Document some more.
6879
6880 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6881
6882         * configure.ac: back to HEAD
6883
6884 === release 0.9.5 ===
6885
6886 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
6887
6888         * configure.ac:
6889           releasing 0.9.5, "Bike Lunch Day"
6890
6891 2005-11-11  Wim Taymans  <wim@fluendo.com>
6892
6893         * gst/gstbuffer.c: (_gst_buffer_copy):
6894         Copy more flags.
6895
6896         * gst/gstcaps.c: (gst_caps_is_equal):
6897         Fix some docs.
6898         Make _is_equal fast in the trivial cases.
6899
6900         * gst/gstminiobject.c:
6901         * gst/gstminiobject.h:
6902         More docs. Spifify .h file.
6903
6904         * gst/gstutils.c:
6905         Small doc update.
6906
6907 2005-11-11  Wim Taymans  <wim@fluendo.com>
6908
6909         * gst/base/gstbasetransform.c:
6910         (gst_base_transform_prepare_output_buf),
6911         (gst_base_transform_handle_buffer):
6912         Small cleanups.
6913         If we're processing a buffer and need to allocate an output
6914         buffer, we cannot accept a format change. If we did get a 
6915         format change, we have to alloc a buffer ourselves of the 
6916         right size.
6917
6918 2005-11-11  Wim Taymans  <wim@fluendo.com>
6919
6920         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6921         While checking the flag for reentrancy in the gstcaps function
6922         is nice to detect recursive invocations, it also makes it 
6923         impossible to call getcaps from multiple threads, which must be
6924         possible. So, checking for recursive calls has to go.
6925
6926 2005-11-11  Michael Smith <msmith@fluendo.com>
6927
6928         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6929           Don't sync on buffers that fall partially outside our current
6930           segment. Prevents an assertion failure/abort playing some files.
6931
6932 2005-11-10  Andy Wingo  <wingo@pobox.com>
6933
6934         * check/gst/gstbin.c (test_message_state_changed_children): Style
6935         fix..
6936
6937         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6938         gst_bus_poll with the signal watch. Ensures that poll and a signal
6939         watch see the same messages.
6940
6941         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6942         a poll and a watch at the same time get the same messages.
6943
6944 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6945
6946         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6947         * gst/gstcaps.c: (gst_caps_intersect):
6948           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6949           and it's not needed.
6950
6951 2005-11-10  Wim Taymans  <wim@fluendo.com>
6952
6953         * docs/design/part-TODO.txt:
6954         Updated todo.
6955
6956 2005-11-10  Wim Taymans  <wim@fluendo.com>
6957
6958         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6959         * gst/base/gstbasesrc.c: (gst_base_src_wait),
6960         (gst_base_src_do_sync), (gst_base_src_get_range):
6961         Implement clock sync in base class.
6962
6963 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6964
6965         patch by: Tim-Philipp Müller <tim at centricular dot net>
6966
6967         * gst/gststructure.c: (gst_structure_parse_field),
6968         (gst_structure_from_string):
6969           Forward-port a 0.8 patch to handle escaped spaces in structure string,
6970           so that gst_parse_launch() can deal with spaces in filtered link
6971           caps (fixes #164479)
6972         * check/gst/capslist.h:
6973         * check/gst/gststructure.c: (GST_START_TEST):
6974           add unit tests for this change
6975
6976 2005-11-10  Wim Taymans  <wim@fluendo.com>
6977
6978         * docs/gst/gstreamer-sections.txt:
6979         * gst/gstelement.c:
6980         * gst/gstelement.h:
6981         Fix docs, move some STATE macros to private.
6982
6983 2005-11-10  Wim Taymans  <wim@fluendo.com>
6984
6985         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6986         Added check for bug #317341
6987
6988         * gst/gstbuffer.c:
6989         * gst/gstbuffer.h:
6990         Some more spiffifying.
6991
6992         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
6993         Call peer linkfunction if we are a source pad. Totally fixes
6994         #317341
6995
6996         * gst/gstpad.c:
6997         Update docs, source pads should call the peer linkfunction
6998         so they can atomically perform the pad link.
6999
7000 2005-11-09  Wim Taymans  <wim@fluendo.com>
7001
7002         * gst/gstbuffer.c:
7003         * gst/gstbuffer.h:
7004         Uber-spiffy-spiffify some more.
7005
7006 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7007
7008         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7009         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7010         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7011         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7012         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7013         * gst/gstpad.c: (gst_pad_init):
7014           Use GST_DEBUG_FUNCPTR() more extensively.
7015
7016 2005-11-09  Wim Taymans  <wim@fluendo.com>
7017
7018         * gst/gstobject.c: (gst_object_class_init):
7019         * gst/gstobject.h:
7020         Documentation fixes.
7021
7022 2005-11-09  Edward Hervey  <edward@fluendo.com>
7023
7024         * gst/gsttypefindfactory.c:
7025         Fix docs.
7026         
7027 2005-11-09  Edward Hervey  <edward@fluendo.com>
7028
7029         * gst/base/gsttypefindhelper.c:
7030         * gst/gsttypefind.c:
7031         * gst/gsttypefind.h:
7032         Fix docs.
7033
7034 2005-11-09  Wim Taymans  <wim@fluendo.com>
7035
7036         * gst/gstiterator.c:
7037         Fix revision data.
7038
7039         * gst/gsttask.c:
7040         * gst/gsttask.h:
7041         Fix docs.
7042
7043 2005-11-09  Wim Taymans  <wim@fluendo.com>
7044
7045         * gst/gstevent.h:
7046         * gst/gsturi.h:
7047         Fix docs.
7048
7049 2005-11-09  Wim Taymans  <wim@fluendo.com>
7050
7051         * docs/gst/gstreamer-sections.txt:
7052         Moved the message async delivery private lock and cond
7053         to the private section.
7054
7055         * gst/gstmessage.c:
7056         * gst/gstmessage.h:
7057         Fixed docs.
7058
7059 2005-11-09  Edward Hervey  <edward@fluendo.com>
7060
7061         * docs/gst/gstreamer-sections.txt:
7062         * gst/gsturi.c:
7063         * gst/gsturi.h:
7064         Document GstURIHandler
7065
7066 2005-11-09  Wim Taymans  <wim@fluendo.com>
7067
7068         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7069         (gst_iterator_find_custom):
7070         * gst/gstiterator.h:
7071         Fix iterator docs.
7072
7073 2005-11-09  Wim Taymans  <wim@fluendo.com>
7074
7075         * gst/gstbin.h:
7076         Document another field.
7077
7078         * gst/gststructure.c:
7079         * gst/gststructure.h:
7080         Document.
7081
7082 2005-11-09  Wim Taymans  <wim@fluendo.com>
7083
7084         * gst/gstbin.h:
7085         Documented structs.
7086
7087 2005-11-09  Wim Taymans  <wim@fluendo.com>
7088
7089         * docs/gst/gstreamer-sections.txt:
7090         Added some new macros.
7091
7092         * gst/gstclock.c:
7093         * gst/gstclock.h:
7094         * gst/gstobject.h:
7095         Docs updates.
7096
7097 2005-11-09  Wim Taymans  <wim@fluendo.com>
7098
7099         * docs/design/part-TODO.txt:
7100         Some more items for the TODO
7101
7102         * gst/gstcaps.c:
7103         * gst/gstcaps.h:
7104         Document GstCaps.
7105
7106 2005-11-09  Andy Wingo  <wingo@pobox.com>
7107
7108         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7109         to work on something else now tho...
7110
7111         * gst/base/gstadapter.c: More adapter docs.
7112
7113         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7114         (gst_file_sink_stop): New functions, replace the state change
7115         handler.
7116         (gst_file_sink_class_init): Hook up the start and stop functions.
7117         (gst_file_sink_base_init): Don't set the state change handler any
7118         more. It was a bit ugly too, being set from here...
7119         (gst_file_sink_get_property, gst_file_sink_set_property):
7120         Cleanups...
7121         (gst_file_sink_set_location): More robust check that doesn't call
7122         GST_STATE. Ugggggg.
7123
7124 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7125
7126         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7127           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7128
7129 2005-11-08  Wim Taymans  <wim@fluendo.com>
7130
7131         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7132         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7133         (gst_base_sink_chain), (gst_base_sink_change_state):
7134         * gst/base/gstbasesink.h:
7135         * gst/base/gstbasesrc.h:
7136         * gst/gstelement.h:
7137         * gst/gstevent.h:
7138         Avoid excessive typechecking in macros.
7139
7140         * gst/gstminiobject.c: (gst_mini_object_get_type),
7141         (gst_mini_object_init), (gst_mini_object_new),
7142         (gst_mini_object_free):
7143         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7144         (gst_object_finalize):
7145         Remove cruft code, optimize alloc_trace.
7146
7147 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7148
7149         * docs/faq/gst-uninstalled:
7150           fix up PS1 for systems that try to reset it
7151
7152 2005-11-07  Wim Taymans  <wim@fluendo.com>
7153
7154         * gst/base/gstbasesrc.c: (gst_base_src_init),
7155         (gst_base_src_get_range):
7156         Set the segment_end to -1 initially. Fixed typefind.
7157
7158 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7159
7160         * gst/base/gstadapter.c:
7161           Debug category should be 'adapter', not 'GstAdapter'.
7162           
7163         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7164         (gst_collectpads_class_init), (gst_collectpads_init),
7165         (gst_collectpads_peek), (gst_collectpads_pop),
7166         (gst_collectpads_event), (gst_collectpads_chain):
7167           Add debug category and some debugging output. Use boilerplate
7168           macros. Remove some extraneous words from docs.
7169
7170 2005-11-05  Andy Wingo  <wingo@pobox.com>
7171
7172         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7173         macro.
7174
7175 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7176
7177         * docs/gst/gstreamer-sections.txt:
7178         * gst/gstcaps.h:
7179         * gst/gstinfo.c:
7180         * gst/gstminiobject.h:
7181         * gst/gstobject.h:
7182         * gst/gstutils.h:
7183           more docs added
7184
7185 2005-11-04  Wim Taymans  <wim@fluendo.com>
7186
7187         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7188         Small update to stop at the configured segment_end
7189         position.
7190
7191 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7192
7193         * gst/gstregistry.c:
7194         * gst/gstregistry.h:
7195           added missing docs
7196
7197 2005-11-04  Edward Hervey  <edward@fluendo.com>
7198
7199         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7200         Check if we are doing a segment seek and have arrived at the
7201         end of that segment.
7202
7203 2005-11-04  Wim Taymans  <wim@fluendo.com>
7204
7205         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7206         Don't leak a mutex unlock in case of an error.
7207
7208         * gst/gstbus.h:
7209         Doc fixes.
7210
7211 2005-11-04  Wim Taymans  <wim@fluendo.com>
7212
7213         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7214         (gst_bus_post):
7215         Get the context to wake up only once.
7216
7217 2005-11-03  Wim Taymans  <wim@fluendo.com>
7218
7219         * check/states/sinks.c: (GST_START_TEST):
7220         Uncomment fixed check.
7221
7222         * docs/design/part-TODO.txt:
7223         Updated TODO.
7224
7225         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7226         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7227         (gst_base_sink_get_position):
7228         If we are going to PLAYING, post the right pending state
7229         when we post the intermediate paused message.
7230
7231         * gst/gstelement.c: (gst_element_continue_state),
7232         (gst_element_set_state_func), (gst_element_change_state):
7233         Don't post state changes that were between the same state
7234         and were not ASYNC.
7235
7236 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7237
7238         * docs/gst/gstreamer-sections.txt:
7239         * gst/gstcaps.h:
7240         * gst/gstinfo.c:
7241         * gst/gstminiobject.h:
7242         * gst/gstobject.h:
7243         * gst/gstutils.h:
7244           more docs and doc style fixes
7245
7246 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7247
7248         * docs/gst/gstreamer-sections.txt:
7249         * gst/gstelement.c:
7250         * gst/gstminiobject.c:
7251         doc fixes
7252
7253 2005-11-03  Andy Wingo  <wingo@pobox.com>
7254
7255         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7256         state-changed messages actually have the right order and the right
7257         values.
7258
7259 2005-11-03  Wim Taymans  <wim@fluendo.com>
7260
7261         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7262         Added some more checks. Specifically the case where NO_PREROLL
7263         elements are in the pipeline.
7264
7265         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7266         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7267         (gst_base_sink_get_position):
7268         Post READY->PAUSED state change messages too.
7269         Fix bug where VOID was posted as pending state...
7270
7271         * gst/gstbin.c: (gst_bin_recalc_state):
7272         use _element_continue_state() to continue the state change.
7273
7274         * gst/gstelement.c: (gst_element_continue_state),
7275         (gst_element_commit_state), (gst_element_set_state_func),
7276         (gst_element_change_state), (gst_element_change_state_func):
7277         Lots of state change cleanups, assign the STATE_RETURN in
7278         a new continue_state() function that also propagates the
7279         last return value from a state change to the app.
7280         Update some debug statements with proper category.
7281
7282 2005-11-03  Wim Taymans  <wim@fluendo.com>
7283
7284         * docs/design/part-events.txt:
7285         * docs/design/part-gstpipeline.txt:
7286         * docs/design/part-messages.txt:
7287         * docs/design/part-overview.txt:
7288         * docs/design/part-seeking.txt:
7289         * docs/design/part-states.txt:
7290         * docs/design/part-trickmodes.txt:
7291         * docs/manual/advanced-position.xml:
7292         Small docs updates.
7293
7294         * gst/gstobject.h:
7295         People think !! is ugly, this looks better.
7296
7297         * gst/gstpad.c: (gst_pad_set_blocked_async):
7298         Remove !! since it's fixed elsewhere now.
7299
7300 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7301
7302         * gst/gstminiobject.h:
7303         * gst/gstobject.h:
7304           Add !! to _FLAG_IS_SET macros to make the result boolean.
7305
7306 2005-11-03  Edward Hervey  <edward@fluendo.com>
7307
7308         * gst/gstpad.c: (gst_pad_set_blocked_async):
7309         comparing a flag and a gboolean rarely returns coherent results...
7310         Added two characters (!!) to make that work correctly.
7311         
7312 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7313
7314         * gst/gstbus.c: (gst_bus_class_init):
7315           Fix some typos.
7316           
7317         * gst/gstqueue.c: (gst_queue_loop):
7318           Don't assume a miniobject that isn't a buffer is an
7319           event (it could be that there is a refcounting
7320           problem somewhere and the pointer is stale and
7321           refers to an already destroyed miniobject).
7322
7323 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7324
7325         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7326
7327 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7328
7329         * docs/manual/advanced-position.xml:
7330           Update seek example and explanations to current 0.9 API.
7331
7332         * gst/elements/gsttypefindelement.c:
7333         (gst_type_find_element_activate):
7334           Remove FIXME comment now that the found caps
7335           are unreffed.
7336
7337 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7338
7339         * gst/gstregistryxml.c: (load_feature):
7340           Add another GST_STR_NULL instance
7341
7342 2005-11-02  Edward Hervey  <edward@fluendo.com>
7343
7344         * gst/gstpad.c: (handle_pad_block):
7345         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7346         
7347 2005-11-02  Wim Taymans  <wim@fluendo.com>
7348
7349         * gst/gstbin.c:
7350         Fix typo in docs.
7351
7352         * gst/gstelement.c: (gst_element_commit_state):
7353         Remove unused value.
7354
7355         * gst/gstiterator.c:
7356         Mention that the returned element is reffed in the docs.
7357
7358 2005-11-02  Wim Taymans  <wim@fluendo.com>
7359
7360         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7361         (gst_pad_push), (gst_pad_push_event):
7362         Unlock blocked pads when they are flushed.
7363
7364 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7365
7366         * docs/README:
7367         * docs/gst/gstreamer-sections.txt:
7368         * gst/gstbin.c:
7369           doc updates
7370         * gst/gstregistry.c: (gst_registry_scan_path_level):
7371           fix for a nasty little missed situation where an installed plug-in
7372           which was in the cache did not get overridden by an uninstalled one
7373           which was earlier in the plugin path because the newly created plugin
7374           for the uninstalled one (not in the registry) didn't get its
7375           ->registered set to TRUE
7376
7377 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7378
7379         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7380         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7381         (gst_collectpads_is_active), (gst_collectpads_collect),
7382         (gst_collectpads_collect_range), (gst_collectpads_start),
7383         (gst_collectpads_stop), (gst_collectpads_peek),
7384         (gst_collectpads_pop), (gst_collectpads_available),
7385         (gst_collectpads_read), (gst_collectpads_flush):
7386           Guard public API with assertions.
7387         
7388         * gst/gstpad.c:
7389           Fix docs for gst_pad_set_link_function().
7390
7391 2005-11-02  Johan Dahlin  <johan@gnome.org>
7392
7393         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7394         Unref found_caps after we used it.
7395
7396 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7397
7398         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7399           Don't try to ref NULL.
7400
7401 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7402
7403         * win32/common/config.h.in:
7404           provide a GST_FUNCTION that just gives a string for now
7405
7406 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7407
7408         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7409         (gst_object_flags_get_type), (register_gst_bin_flags),
7410         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7411         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7412         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7413         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7414         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7415         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7416         (gst_clock_flags_get_type), (register_gst_state),
7417         (gst_state_get_type), (register_gst_state_change_return),
7418         (gst_state_change_return_get_type), (register_gst_state_change),
7419         (gst_state_change_get_type), (register_gst_element_flags),
7420         (gst_element_flags_get_type), (register_gst_core_error),
7421         (gst_core_error_get_type), (register_gst_library_error),
7422         (gst_library_error_get_type), (register_gst_resource_error),
7423         (gst_resource_error_get_type), (register_gst_stream_error),
7424         (gst_stream_error_get_type), (register_gst_event_type),
7425         (gst_event_type_get_type), (register_gst_seek_type),
7426         (gst_seek_type_get_type), (register_gst_seek_flags),
7427         (gst_seek_flags_get_type), (register_gst_format),
7428         (gst_format_get_type), (register_gst_index_certainty),
7429         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7430         (gst_index_entry_type_get_type),
7431         (register_gst_index_lookup_method),
7432         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7433         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7434         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7435         (gst_index_flags_get_type), (register_gst_debug_level),
7436         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7437         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7438         (gst_iterator_result_get_type), (register_gst_iterator_item),
7439         (gst_iterator_item_get_type), (register_gst_message_type),
7440         (gst_message_type_get_type), (register_gst_mini_object_flags),
7441         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7442         (gst_pad_link_return_get_type), (register_gst_flow_return),
7443         (gst_flow_return_get_type), (register_gst_activate_mode),
7444         (gst_activate_mode_get_type), (register_gst_pad_direction),
7445         (gst_pad_direction_get_type), (register_gst_pad_flags),
7446         (gst_pad_flags_get_type), (register_gst_pad_presence),
7447         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7448         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7449         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7450         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7451         (gst_plugin_flags_get_type), (register_gst_rank),
7452         (gst_rank_get_type), (register_gst_query_type),
7453         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7454         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7455         (gst_tag_flag_get_type), (register_gst_task_state),
7456         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7457         (gst_alloc_trace_flags_get_type),
7458         (register_gst_type_find_probability),
7459         (gst_type_find_probability_get_type), (register_gst_uri_type),
7460         (gst_uri_type_get_type), (register_gst_parse_error),
7461         (gst_parse_error_get_type):
7462         * win32/common/gstversion.h:
7463           update win32 copies
7464
7465 2005-11-01  Luca Ognibene  <luogni@tin.it>
7466
7467         * gst/gst.c:
7468           fix docs. popt is dead, long live GOption.
7469
7470 2005-10-31  Wim Taymans  <wim@fluendo.com>
7471
7472         * gst/gstbuffer.h:
7473         Small doc fix.
7474
7475 2005-10-31  Andy Wingo  <wingo@pobox.com>
7476
7477         * Boo!
7478
7479         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7480
7481         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7482         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7483         the possibility of deadlocks here if code calling notify() or
7484         set() has a lock that can be taken in another notify handler (ABBA
7485         with class lock and e.g. python GIL state lock).
7486
7487 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7488
7489         * gst/gstbus.c: Doc updates.
7490
7491 2005-10-28  Wim Taymans  <wim@fluendo.com>
7492
7493         * docs/design/part-TODO.txt:
7494         * gst/gstiterator.c:
7495         * gst/gstsystemclock.c:
7496         * gst/gstsystemclock.h:
7497         Doc updates.
7498
7499 2005-10-28  Edward Hervey  <edward@fluendo.com>
7500
7501         * docs/gst/gstreamer-docs.sgml:
7502         * docs/gst/gstreamer-sections.txt:
7503         the GstURIType documentation page is private, it only defines GstURIType
7504         which should be defined in the GstURIHandler page
7505         
7506 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7507
7508         * gst/gstbin.c: (gst_bin_class_init):
7509         * gst/gstbin.h:
7510         * gst/gstutils.c:
7511         Documentation updates.
7512
7513 2005-10-28  Wim Taymans  <wim@fluendo.com>
7514
7515         * docs/gst/gstreamer-sections.txt:
7516         * gst/gstclock.c:
7517         * gst/gstclock.h:
7518         Documented the clocks.
7519
7520 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7521
7522         * docs/gst/gstreamer-sections.txt:
7523           move some macros to private sections
7524         * gst/gstminiobject.c:
7525         * gst/gstminiobject.h:
7526           add descriptions provided by ds and some more
7527         * gst/gstpad.h:
7528           mark macro as to be removed
7529
7530 2005-10-28  Wim Taymans  <wim@fluendo.com>
7531
7532         * docs/design/part-TODO.txt:
7533         Add an item to TODO.
7534
7535         * gst/gstiterator.c: (gst_iterator_fold),
7536         (gst_iterator_find_custom):
7537         * gst/gstiterator.h:
7538         Add iterator docs.
7539
7540 2005-10-28  Wim Taymans  <wim@fluendo.com>
7541
7542         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7543         (gst_base_transform_init):
7544         Don't leak class.
7545
7546         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7547         An EOS event marks the queue as completely filled.
7548
7549 2005-10-27  Wim Taymans  <wim@fluendo.com>
7550
7551         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7552         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7553         Some more debugging.
7554
7555         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7556         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7557         (gst_base_transform_event), (gst_base_transform_getrange),
7558         (gst_base_transform_chain):
7559         * gst/base/gstbasetransform.h:
7560         Fix debugging,
7561         Protect transform and concurrent buffer alloc with a new lock.
7562         Try not to break ABI/API.
7563
7564 2005-10-27  Wim Taymans  <wim@fluendo.com>
7565
7566         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7567         (gst_base_src_init), (gst_base_src_query),
7568         (gst_base_src_default_newsegment),
7569         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7570         (gst_base_src_send_event), (gst_base_src_event_handler),
7571         (gst_base_src_pad_get_range), (gst_base_src_loop),
7572         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7573         (gst_base_src_start), (gst_base_src_deactivate),
7574         (gst_base_src_activate_push), (gst_base_src_change_state):
7575         Move some stuff around and cleanup things.
7576
7577 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7578
7579         * gst/base/gstbasesrc.c: (gst_base_src_query):
7580           Add missing break statements.
7581
7582 2005-10-27  Wim Taymans  <wim@fluendo.com>
7583
7584         * check/gst/gstbin.c: (GST_START_TEST):
7585         An extra refcount is taken in basesrc.
7586
7587         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7588         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7589         (gst_base_src_loop):
7590         Small cleanups, check for flushing after being unlocked from the 
7591         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7592         Don't send out EOS when going to READY.
7593
7594 2005-10-27  Wim Taymans  <wim@fluendo.com>
7595
7596         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7597         (gst_base_sink_get_position):
7598         Some more debug.
7599
7600         * gst/gstbin.c: (message_check), (bin_replace_message),
7601         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7602         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7603         (bin_query_duration_init), (bin_query_duration_fold),
7604         (bin_query_duration_done), (bin_query_generic_fold),
7605         (gst_bin_query):
7606         * tools/gst-launch.c: (main):
7607         Remove old option.
7608
7609 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7610
7611         * examples/controller/audio-example.c: (main):
7612         * examples/queue/queue.c: (event_loop):
7613         * gst/base/gstbasetransform.h:
7614         * gst/gstelement.c: (gst_element_send_event):
7615         * gst/gstevent.h:
7616         * gst/gstpad.c: (gst_pad_send_event):
7617           fixing examples
7618           fixing docs typos
7619           changing log priority in error situations
7620
7621 2005-10-25  Wim Taymans  <wim@fluendo.com>
7622
7623         * gst/gstbin.c: (message_check), (bin_replace_message),
7624         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7625         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7626         (bin_query_duration_init), (bin_query_duration_fold),
7627         (bin_query_duration_done), (bin_query_generic_fold),
7628         (gst_bin_query):
7629         Some doc and debug updates.
7630         Cache previously requested query DURATION for speed. invalidate
7631         cached duration if element posts a DURATION message.
7632
7633 2005-10-25  Wim Taymans  <wim@fluendo.com>
7634
7635         * docs/design/part-TODO.txt:
7636         Update TODO.
7637
7638         * gst/gstbin.c: (message_check), (bin_replace_message),
7639         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7640         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7641         (bin_query_duration_init), (bin_query_duration_fold),
7642         (bin_query_duration_done), (bin_query_generic_fold),
7643         (gst_bin_query):
7644         Handle SEGMENT_START/DONE messages correctly.
7645         More evolved query algorithm that handles duration queries
7646         correctly.
7647
7648         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7649         (gst_element_get_state_func), (gst_element_abort_state),
7650         (gst_element_commit_state), (gst_element_lost_state):
7651         Some more debugging.
7652
7653         * gst/gstmessage.h:
7654         Added doc.
7655
7656 2005-10-25  Wim Taymans  <wim@fluendo.com>
7657
7658         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7659         Don't use invalid stream_time.
7660
7661         * gst/gstevent.c: (gst_event_new_newsegment):
7662         stream_time in newsegment cannot be undefined.
7663
7664 2005-10-24  Wim Taymans  <wim@fluendo.com>
7665
7666         * gst/gstbus.c:
7667         Doc fix.
7668
7669         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7670         (gst_queue_loop):
7671         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7672
7673 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7674
7675         * docs/libs/tmpl/gstdparam.sgml:
7676         * docs/libs/tmpl/gstdplinint.sgml:
7677         * docs/libs/tmpl/gstdpman.sgml:
7678         * docs/libs/tmpl/gstdpsmooth.sgml:
7679         * docs/libs/tmpl/gstunitconvert.sgml:
7680           these are obsolete
7681
7682 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7683
7684         * configure.ac:
7685           back to HEAD
7686
7687 === release 0.9.4 ===
7688
7689 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7690
7691         * configure.ac:
7692           releasing 0.9.4, "Tyrannosaurus Rex"
7693
7694 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7695
7696         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7697         (gst_file_sink_get_current_offset):
7698           Use fseeko() and ftello() if available. When falling back on
7699           lseek() to get the current offset, fflush() first to make sure
7700           everything is up-to-date and we get the right offset.
7701
7702 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7703
7704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7705         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7706         * gst/gsterror.c: (_gst_stream_errors_init):
7707         * gst/gsterror.h:
7708         * gst/gstqueue.c: (gst_queue_loop):
7709         * po/POTFILES.in:
7710           remove prematurely added error category and clean up the instances
7711
7712 2005-10-21  Wim Taymans  <wim@fluendo.com>
7713
7714         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7715         (gst_base_sink_get_position), (gst_base_sink_query),
7716         (gst_base_sink_change_state):
7717         Simply set the right flag when going to playing, that's all
7718         we need to do instead of calling a function inside the object
7719         lock (that could take the lock as well and deadlock)
7720
7721 2005-10-21  Wim Taymans  <wim@fluendo.com>
7722
7723         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7724         (gst_base_src_loop):
7725         Don't warn, the peer element knows what to do best when
7726         the seek failed, it might try something else.
7727
7728 2005-10-21  Wim Taymans  <wim@fluendo.com>
7729
7730         * gst/base/gstbasesrc.c: (gst_base_src_init),
7731         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7732         Fix seeking.
7733
7734 2005-10-21  Wim Taymans  <wim@fluendo.com>
7735
7736         * docs/design/part-segments.txt:
7737         More docs.
7738
7739         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7740         Correctly set caps, even on the subbufer.
7741
7742 2005-10-21  Wim Taymans  <wim@fluendo.com>
7743
7744         * docs/gst/gstreamer-docs.sgml:
7745         * docs/gst/gstreamer-sections.txt:
7746         * gst/gstelement.h:
7747         * gst/gstevent.c:
7748         * gst/gstevent.h:
7749         * gst/gstmessage.h:
7750         * gst/gstpad.h:
7751         * gst/gstparse.h:
7752         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7753         * gst/gsttask.h:
7754         * gst/gstutils.c:
7755         * gst/gstutils.h:
7756         And 2% more doc coverage.
7757
7758 2005-10-21  Andy Wingo  <wingo@pobox.com>
7759
7760         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7761         position reporting.
7762
7763 2005-10-20  Wim Taymans  <wim@fluendo.com>
7764
7765         * gst/gsterror.c: (gst_error_get_message):
7766         * gst/gstparse.h:
7767         * gst/gstquery.h:
7768         * gst/gststructure.c:
7769         * gst/gsttrace.c:
7770         * gst/gstutils.c:
7771         More docs.
7772
7773 2005-10-20  Wim Taymans  <wim@fluendo.com>
7774
7775         * gst/gstbuffer.h:
7776         * gst/gstpad.c:
7777         * gst/gstparse.c:
7778         Another 1% more coverage.
7779
7780 2005-10-20  Wim Taymans  <wim@fluendo.com>
7781
7782         * docs/gst/gstreamer-sections.txt:
7783         * gst/gstelement.c: (gst_element_get_state_func),
7784         (gst_element_abort_state), (gst_element_commit_state),
7785         (gst_element_lost_state):
7786         * gst/gstevent.h:
7787         * gst/gstquery.c: (gst_query_set_position),
7788         (gst_query_parse_position), (gst_query_set_duration),
7789         (gst_query_parse_duration), (gst_query_new_convert):
7790         * gst/gstutils.c:
7791         Yay! 1% more docs coverage.
7792
7793 2005-10-20  Wim Taymans  <wim@fluendo.com>
7794
7795         * gst/gstpad.h:
7796         * gst/gstquery.c: (gst_query_set_position),
7797         (gst_query_parse_position), (gst_query_set_duration),
7798         (gst_query_parse_duration), (gst_query_new_convert):
7799         * gst/gstquery.h:
7800         * gst/gstutils.c: (gst_element_query_convert):
7801         * gst/gstutils.h:
7802         Docs and consistency fixes.
7803
7804 2005-10-20  Wim Taymans  <wim@fluendo.com>
7805
7806         * gst/gsttask.c:
7807         * gst/gsttask.h:
7808         More docs.
7809
7810 2005-10-20  Wim Taymans  <wim@fluendo.com>
7811
7812         * gst/gstbin.c: (message_check), (bin_replace_message),
7813         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7814         (update_degree), (gst_bin_sort_iterator_next),
7815         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7816         Reworked the message handling a bit, cache the messages instead of
7817         only the senders. alows us to do more in the future.
7818
7819 2005-10-20  Wim Taymans  <wim@fluendo.com>
7820
7821         * docs/design/part-TODO.txt:
7822         Update TODO
7823
7824         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7825         (gst_base_sink_query):
7826         Don't use clock time to report position when in EOS.
7827
7828 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
7829
7830         * tools/gst-inspect.c: (print_interfaces),
7831         (print_element_properties_info), (print_element_info):
7832           Fix interface output with gst-inspect -a; don't print
7833           newlines after double/float properties.
7834
7835 2005-10-20  Wim Taymans  <wim@fluendo.com>
7836
7837         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7838         (gst_base_sink_query):
7839         Speed up current position calculation.
7840
7841         * gst/base/gstbasesrc.c: (gst_base_src_query),
7842         (gst_base_src_default_newsegment):
7843         Correctly set stream position in newsegment.
7844
7845         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7846         (update_degree), (gst_bin_sort_iterator_next),
7847         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7848         * gst/gstmessage.c: (gst_message_new_custom):
7849         Clean up debugging info
7850
7851         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7852         (gst_queue_loop), (gst_queue_handle_src_query):
7853         Pause task faster.
7854
7855 2005-10-19  Wim Taymans  <wim@fluendo.com>
7856
7857         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7858         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7859         Fix query handling again.
7860
7861 2005-10-19  Wim Taymans  <wim@fluendo.com>
7862
7863         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7864         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7865         * gst/base/gstbasesrc.c: (gst_base_src_query):
7866         * gst/elements/gstfilesink.c: (gst_file_sink_query):
7867         * gst/elements/gsttypefindelement.c:
7868         (gst_type_find_handle_src_query), (find_element_get_length),
7869         (gst_type_find_element_activate):
7870         API change fix.
7871
7872         * gst/gstquery.c: (gst_query_new_position),
7873         (gst_query_set_position), (gst_query_parse_position),
7874         (gst_query_new_duration), (gst_query_set_duration),
7875         (gst_query_parse_duration), (gst_query_set_segment),
7876         (gst_query_parse_segment):
7877         * gst/gstquery.h:
7878         Bundling query position/duration is not a good idea since duration
7879         does not change much and we don't want to recalculate it for every
7880         position query, so they are separated again..
7881         Base value in segment query is not needed.
7882
7883         * gst/gstqueue.c: (gst_queue_handle_src_query):
7884         * gst/gstutils.c: (gst_element_query_position),
7885         (gst_element_query_duration), (gst_pad_query_position),
7886         (gst_pad_query_duration):
7887         * gst/gstutils.h:
7888         Updates for query API change.
7889         Added some docs here and there.
7890
7891 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7892
7893         * check/gst/gstbin.c: (GST_START_TEST):
7894         * check/gst/gstghostpad.c: (GST_START_TEST):
7895         * check/pipelines/cleanup.c: (GST_START_TEST):
7896           wait on thread to die so we can check refcount correctly
7897
7898 2005-10-18  Wim Taymans  <wim@fluendo.com>
7899
7900         * check/pipelines/stress.c: (GST_START_TEST):
7901         Make check a little more time consuming.
7902
7903 2005-10-18  Wim Taymans  <wim@fluendo.com>
7904
7905         * check/Makefile.am:
7906         * check/pipelines/stress.c: (GST_START_TEST),
7907         (simple_launch_lines_suite), (main):
7908         Small state change torture test.
7909
7910         * docs/design/part-states.txt:
7911         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7912         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7913         (gst_base_sink_change_state):
7914         Never take state lock from streaming thread, clean up ugly
7915         hacks. Unfortunatly core does not yet support nice ways to
7916         async commit state.
7917         
7918         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7919         (bin_bus_handler):
7920         Start state recalc if a STATE_DIRTY message is posted, but only
7921         on the toplevel bin.
7922
7923         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7924         (gst_element_get_state_func), (gst_element_abort_state),
7925         (gst_element_commit_state), (gst_element_lost_state),
7926         (gst_element_set_state_func), (gst_element_change_state):
7927         * gst/gstelement.h:
7928         State variables are now protected with the LOCK, the state
7929         lock is only used to serialize _set_state().
7930
7931 2005-10-18  Wim Taymans  <wim@fluendo.com>
7932
7933         * check/gst/gstbin.c: (GST_START_TEST):
7934         * check/gst/gstmessage.c: (GST_START_TEST):
7935         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7936         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7937         (bin_bus_handler):
7938         * gst/gstelement.c: (gst_element_abort_state),
7939         (gst_element_commit_state), (gst_element_lost_state):
7940         * gst/gstmessage.c: (gst_message_new_state_changed),
7941         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7942         (gst_message_new_segment_done), (gst_message_new_duration),
7943         (gst_message_parse_state_changed),
7944         (gst_message_parse_segment_start),
7945         (gst_message_parse_segment_done), (gst_message_parse_duration):
7946         * gst/gstmessage.h:
7947         * tools/gst-launch.c: (event_loop):
7948         Seriously, this is better than a previous commit as we only need
7949         to notify the fact that an element changed state in a streaming
7950         thread, marking the state of the parents dirty, hence the 
7951         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7952         message.
7953
7954 2005-10-18  Wim Taymans  <wim@fluendo.com>
7955
7956         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7957         (gst_bin_recalc_func):
7958         * gst/gstelement.c: (gst_element_set_clock),
7959         (gst_element_abort_state), (gst_element_lost_state):
7960         Cleanups, prepare for state change fixes.
7961
7962 2005-10-18  Wim Taymans  <wim@fluendo.com>
7963
7964         * gst/gstbin.h:
7965         * gst/gstelement.c: (gst_element_class_init),
7966         (gst_element_set_state), (gst_element_set_state_func):
7967         * gst/gstelement.h:
7968         Pending ABI changes.
7969         GThreadPool in GstBinClass to monitor async state changes.
7970         state_cookie in GstElement to detect concurrent gst/set state.
7971         set_state is now virtual too in case a very complicated element
7972         has to be constructed.
7973
7974 2005-10-18  Wim Taymans  <wim@fluendo.com>
7975
7976         * check/gst/gstbin.c: (GST_START_TEST):
7977         * check/gst/gstmessage.c: (GST_START_TEST):
7978         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7979         * gst/gstbin.c: (bin_bus_handler):
7980         * gst/gstelement.c: (gst_element_commit_state),
7981         (gst_element_lost_state):
7982         * gst/gstmessage.c: (gst_message_new_state_changed),
7983         (gst_message_new_segment_start), (gst_message_new_segment_done),
7984         (gst_message_new_duration), (gst_message_parse_state_changed),
7985         (gst_message_parse_segment_start),
7986         (gst_message_parse_segment_done), (gst_message_parse_duration):
7987         * gst/gstmessage.h:
7988         * tools/gst-launch.c: (event_loop):
7989         Make messages future proof.
7990         state-change gets a flag if it was a message comming from the
7991         streaming thread.
7992         segment-start/stop can also be specified in other formats.
7993         A message to notify an app that a pipeline changed playback 
7994         duration.
7995         Also fix a GstMessage leak in -launch
7996
7997 2005-10-18  Andy Wingo  <wingo@pobox.com>
7998
7999         * gst/gstelement.c (gst_element_dispose): More helpful message.
8000
8001 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8002
8003         reviewed by: <delete if not using a buddy>
8004
8005         * common/gtk-doc.mak:
8006
8007 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8008
8009         * gst/gstregistry.c: (gst_registry_scan_path_level):
8010           unref a plug-in we get that was already initialized
8011
8012 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8013
8014         * docs/gst/gstreamer-sections.txt:
8015         * docs/libs/gstreamer-libs-sections.txt:
8016         * gst/gstelement.h:
8017           add new api entries
8018           hide internal macro
8019
8020 2005-10-17  Andy Wingo  <wingo@pobox.com>
8021
8022         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8023         cleanup.
8024
8025         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8026
8027         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8028
8029         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8030         (gst_element_get_state_func): Better debug message.
8031         (gst_element_commit_state): s/INFO/DEBUG/.
8032         (gst_element_lost_state, gst_element_change_state): 
8033
8034         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8035         (gst_message_new_custom): s/INFO/LOG/.
8036
8037 2005-10-17  Michael Smith <msmith@fluendo.com>
8038
8039         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8040           Check if end time is valid using end time, not start time.
8041
8042 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8043
8044         * check/gst-libs/controller.c: (GST_START_TEST),
8045         (gst_controller_suite):
8046         * libs/gst/controller/gstcontroller.c:
8047         (gst_controlled_property_set_interpolation_mode):
8048         * libs/gst/controller/gstcontroller.h:
8049         * libs/gst/controller/gstinterpolation.c:
8050         * testsuite/controller/.cvsignore:
8051         * testsuite/controller/Makefile.am:
8052         * testsuite/controller/interpolator.c:
8053           merge controller testsuites
8054           fix broken tests
8055           remove mem-chunk from docs
8056
8057 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8058
8059         * gst/gstmemchunk.c:
8060         * gst/gstmemchunk.h:
8061         * gst/gsttrashstack.c:
8062         * gst/gsttrashstack.h:
8063           out.  get out.  you're fired.  to the Attic !
8064
8065 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8066
8067         * gst/gstcaps.c: (gst_caps_intersect):
8068           fix signedness issues in a (hopefully) correct way
8069         * gst/gstelement.c: (gst_element_pads_activate):
8070           some debugging
8071         * gst/gstobject.c: (gst_object_set_parent):
8072           some debugging
8073
8074 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8075
8076         * gst/gstvalue.h: Fix prototypes.
8077
8078 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8079
8080         * docs/gst/gstreamer-sections.txt:
8081         * gst/gst.c: (gst_version_string):
8082         * gst/gst.h:
8083         * gst/gstversion.h.in:
8084         * win32/common/libgstreamer.def:
8085           add gst_version_string ()
8086
8087 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8088
8089         * configure.ac:
8090           clean up further
8091         * gst/gst.c: (init_post):
8092         * win32/common/config.h.in:
8093           it's PLUGINDIR now
8094         * gst/gstcaps.c: (gst_caps_intersect):
8095           use gint64, the range could be bigger than a guint
8096
8097 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8098
8099         * gst/gstclock.h:
8100           document potential problem in 2038
8101
8102 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8103
8104         * gst/gstcaps.c: (gst_caps_intersect):
8105           Fix guint j diving under 0
8106
8107 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8108
8109         * configure.ac:
8110         * win32/common/config.h:
8111         * win32/common/config.h.in:
8112           check for process.h, declares getpid() on Windows
8113         * gst/gstinfo.c:
8114           include process.h if we have it
8115         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8116         * gst/gstmemchunk.h:
8117           fix signedness issues
8118         * win32/common/libgstreamer.def:
8119           fix get_type's
8120
8121 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8122
8123         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8124         fix. Because of unsigned ints, caps intersection was going nuts and
8125         trying to access structures with G_MAXUINT index. That fixes
8126         videotestsrc ! ffmpegcolorspace ! fakesink
8127         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8128         consistency.
8129
8130 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8131
8132         * configure.ac:
8133           use the gettext macro
8134         * gst/elements/gstelements.c:
8135         * gst/gst.c:
8136         * gst/indexers/gstindexers.c:
8137           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8138         * win32/common/config.h:
8139           updated config.h
8140         * win32/common/config.h.in:
8141           add the template to generate config.h
8142         * win32/common/gstenumtypes.c:
8143         * win32/common/gstversion.h:
8144           updated copies
8145
8146 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8147
8148         * gst/gst.c: (gst_version):
8149         * gst/gstversion.h.in:
8150           add the nano
8151
8152 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8153
8154         * gst/gstevent.h:
8155           Oops, add missing closing bracket.
8156
8157 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8158
8159         * configure.ac:
8160           use common m4's for argument checking
8161
8162 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8163
8164         * docs/gst/gstreamer-sections.txt:
8165         * gst/gstevent.h:
8166           Add GST_EVENT_TYPE_NAME() macro.
8167
8168 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8169
8170         * gst/gstinfo.c:
8171         * gst/gstpluginfeature.c:
8172         * gst/gsttask.c:
8173           privatize more symbols
8174
8175 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8176
8177         * configure.ac:
8178           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8179           everything that uses GStreamer API should have the includes
8180
8181 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8182
8183         * docs/gst/gstreamer-sections.txt:
8184         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8185         * gst/gstvalue.h:
8186           give each value a _get_type, removes the DATA exports
8187
8188 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8189
8190         * gst/gst.c:
8191         * gst/gst.h:
8192           remove _gst_registry_auto_load, not used anymore
8193         * gst/gstbin.c: (gst_bin_get_type):
8194         * gst/gstbin.h:
8195         * gst/gstelement.c: (gst_element_get_type):
8196         * gst/gstelement.h:
8197         * gst/gstobject.c: (gst_object_get_type):
8198         * gst/gstobject.h:
8199         * gst/gstpad.c: (gst_pad_get_type):
8200         * gst/gstpad.h:
8201           make _get_type functions similar, fixes data export from library
8202
8203 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8204
8205         * configure.ac:
8206           correctly make conditionals
8207         * gst/elements/Makefile.am:
8208         * gst/elements/gstelements.c:
8209           fix typo causing fdsrc not to build
8210
8211 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8212
8213         * testsuite/Makefile.am:
8214         * testsuite/bytestream/.cvsignore:
8215         * testsuite/bytestream/Makefile.am:
8216         * testsuite/bytestream/filepadsink.c:
8217         * testsuite/bytestream/gstbstest.c:
8218         * testsuite/bytestream/test1.c:
8219         * testsuite/bytestream/testfile1:
8220         * testsuite/caps/normalisation.c:
8221         * testsuite/caps/random.c: (main):
8222         * testsuite/cleanup/.cvsignore:
8223         * testsuite/cleanup/Makefile.am:
8224         * testsuite/cleanup/cleanup1.c:
8225         * testsuite/cleanup/cleanup2.c:
8226         * testsuite/cleanup/cleanup3.c:
8227         * testsuite/cleanup/cleanup4.c:
8228         * testsuite/cleanup/cleanup5.c:
8229         * testsuite/controller/interpolator.c:
8230         * testsuite/debug/printf_extension.c: (main):
8231         * testsuite/elements/tee.c:
8232         * testsuite/negotiation/.cvsignore:
8233         * testsuite/negotiation/Makefile.am:
8234         * testsuite/negotiation/pad_link.c:
8235         * testsuite/pad/Makefile.am:
8236         * testsuite/pad/chainnopull.c:
8237         * testsuite/pad/getnopush.c:
8238         * testsuite/pad/link.c:
8239         * testsuite/refcounting/sched.c: (create_pipeline):
8240         * testsuite/registry/Makefile.am:
8241         * testsuite/registry/gst-print-formats.c:
8242         * testsuite/schedulers/.cvsignore:
8243         * testsuite/schedulers/142183-2.c:
8244         * testsuite/schedulers/142183.c:
8245         * testsuite/schedulers/143777-2.c:
8246         * testsuite/schedulers/143777.c:
8247         * testsuite/schedulers/147713.c:
8248         * testsuite/schedulers/147819.c:
8249         * testsuite/schedulers/147894-2.c:
8250         * testsuite/schedulers/147894.c:
8251         * testsuite/schedulers/Makefile.am:
8252         * testsuite/schedulers/group_link.c:
8253         * testsuite/schedulers/queue_link.c:
8254         * testsuite/schedulers/relink.c:
8255         * testsuite/schedulers/unlink.c:
8256         * testsuite/schedulers/unref.c:
8257         * testsuite/schedulers/useless_iteration.c:
8258         * testsuite/states/bin.c:
8259           clean out/remove some stuff from the testsuite directories
8260
8261 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8262
8263         * configure.ac:
8264           check for some headers
8265         * gst/elements/Makefile.am:
8266         * gst/elements/gstelements.c:
8267           don't compile fdsrc without sys/socket.h
8268         * gst/indexers/Makefile.am:
8269         * gst/indexers/gstindexers.c: (plugin_init):
8270           don't compile fileindex without mmap
8271
8272 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8273
8274         * configure.ac:
8275           reorganize
8276           clean up
8277           document more
8278           remove cruft
8279         * check/Makefile.am:
8280         * docs/gst/Makefile.am:
8281         * examples/helloworld/Makefile.am:
8282         * gst/Makefile.am:
8283         * gst/base/Makefile.am:
8284         * gst/check/Makefile.am:
8285         * gst/elements/Makefile.am:
8286         * gst/indexers/Makefile.am:
8287         * gst/parse/Makefile.am:
8288         * libs/gst/controller/Makefile.am:
8289         * libs/gst/dataprotocol/Makefile.am:
8290         * examples/helloworld/helloworld.c: (event_loop):
8291           compile fixes, though it's not being compiled currently
8292
8293 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8294
8295         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8296           Add some simple tests for the new taglist date API.
8297
8298 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8299
8300         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8301         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8302           Beautify 'last-message' output: print 'none' for buffer timestamps
8303           and durations if none is set; improve alignment with next messages.
8304
8305 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8306
8307         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8308         * gst/gstpluginfeature.h:
8309         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8310         * gst/gstregistry.h:
8311         * docs/gst/gstreamer-sections.txt:
8312           Add new API to check plugin feature version requirements.
8313
8314         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8315           Some basic tests for the above.         
8316
8317 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8318
8319         * gst/gststructure.c: (gst_structure_to_string):
8320           guard against NULL printf - happens when for example
8321           a message structure with GstClock gets serialized
8322
8323 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8324
8325         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8326           Fix presumable copy'n'pasto.
8327
8328 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8329
8330         * gst/elements/gstfakesrc.h:
8331         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8332         * gst/elements/gsttypefindelement.c:
8333           fix some signedness
8334         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8335           I wonder if this could actually write +2GB files before
8336
8337 2005-10-13  Andy Wingo  <wingo@pobox.com>
8338
8339         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8340         Fix Timmeke Waymans bug.
8341         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8342         string of the proper length to gst_caps_from_string. There's a
8343         potential for, before this fix, that this could cause someone
8344         connecting over the network to cause a segfault if the payload is
8345         not NUL-terminated.
8346
8347 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8348
8349         * docs/design/draft-push-pull.txt:
8350         * docs/design/part-overview.txt:
8351         * docs/random/TODO-pre-0.9:
8352         * docs/random/old/ChangeLog.gstreamer:
8353         * gst/base/gstpushsrc.c:
8354         * gst/gstclock.c:
8355           fixed typos
8356
8357 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8358
8359         * gst/glib-compat.c: (gst_flags_get_first_value):
8360         * gst/glib-compat.h:
8361         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8362         (gst_value_compare_double), (gst_value_serialize_flags):
8363           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8364           infinite loop
8365
8366 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8367
8368         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8369         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8370           fix up debugging
8371         * tools/gst-launch.c: (event_loop):
8372           print out clock nicely
8373
8374 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8375
8376         * docs/gst/gstreamer-sections.txt:
8377         * gst/gsttaglist.h:
8378         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8379         (gst_tag_list_get_date_index):
8380           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8381           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8382
8383 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8384
8385         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8386         (gst_collectpads_chain):
8387         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8388         in CollectData.
8389
8390 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8391
8392         * docs/gst/gstreamer-sections.txt:
8393         * gst/gst.c:
8394         * gst/gsterror.h:
8395         * tools/gst-inspect.c: (main):
8396         * tools/gst-launch.c: (main):
8397         * tools/gst-run.c: (main):
8398         * tools/gst-xmlinspect.c: (main):
8399           fix GOption context leaks
8400           doc fixes
8401
8402 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8403
8404         * gst/gstbus.c:
8405           use HAVE_UNISTD_H
8406         * win32/common/config.h:
8407           update config
8408         * win32/vs6/grammar.dsp:
8409         * win32/vs6/libgstelements.dsp:
8410         * win32/vs6/libgstreamer.dsp:
8411           update vs6 files
8412
8413 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8414
8415         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8416         * gst/base/gstbasesrc.c: (gst_base_src_query):
8417           fix more guint64<->gdouble conversions
8418
8419 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8420
8421         * Makefile.am:
8422           add win32-update target
8423         * win32/common/gstconfig.h:
8424         * win32/common/gstenumtypes.c:
8425         * win32/common/gstenumtypes.h:
8426         * win32/common/gstversion.h:
8427           add files that visual studio can't generate
8428
8429 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8430
8431         * Makefile.am:
8432           add a win32-update target
8433         * configure.ac:
8434
8435 2005-10-12  Wim Taymans  <wim@fluendo.com>
8436
8437         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8438         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8439         * gst/gstelement.c: (gst_element_commit_state),
8440         (gst_element_set_state):
8441         Protect flags with proper lock.
8442         unref provided cached clock in dispose.
8443
8444 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8445
8446         * gst/gst.c:
8447         * gst/gstminiobject.h:
8448         * gst/gstpad.h:
8449         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8450           removed unused flags from miniobject
8451           doc fixes
8452
8453 2005-10-12  Wim Taymans  <wim@fluendo.com>
8454
8455         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8456         (gst_file_sink_event), (gst_file_sink_render):
8457         Flush before seeking.
8458
8459 2005-10-12  Andy Wingo  <wingo@pobox.com>
8460
8461         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8462         always been the case.
8463
8464 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8465
8466         * check/gst/gstbin.c: (GST_START_TEST):
8467         * docs/gst/gstreamer-sections.txt:
8468         * gst/base/gstbasesink.c: (gst_base_sink_init):
8469         * gst/base/gstbasesrc.c: (gst_base_src_init),
8470         (gst_base_src_get_range), (gst_base_src_check_get_range),
8471         (gst_base_src_start), (gst_base_src_stop):
8472         * gst/base/gstbasesrc.h:
8473         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8474         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8475         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8476         (bin_bus_handler):
8477         * gst/gstbin.h:
8478         * gst/gstbuffer.h:
8479         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8480         * gst/gstbus.h:
8481         * gst/gstelement.c: (gst_element_is_locked_state),
8482         (gst_element_set_locked_state), (gst_element_commit_state),
8483         (gst_element_set_state):
8484         * gst/gstelement.h:
8485         * gst/gstindex.c: (gst_index_init):
8486         * gst/gstindex.h:
8487         * gst/gstminiobject.h:
8488         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8489         (gst_object_set_parent):
8490         * gst/gstobject.h:
8491         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8492         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8493         * gst/gstpad.h:
8494         * gst/gstpadtemplate.h:
8495         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8496         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8497         * gst/gstpipeline.h:
8498         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8499         (gst_file_index_commit):
8500         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8501         * testsuite/pad/link.c: (gst_test_src_init),
8502         (gst_test_filter_init), (gst_test_sink_init):
8503         * testsuite/states/locked.c: (main):
8504           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8505           moved bitshift from macro to enum definition
8506
8507 2005-10-12  Wim Taymans  <wim@fluendo.com>
8508
8509         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8510         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8511         (gst_file_sink_render):
8512         Some more debugging info.
8513
8514 2005-10-12  Wim Taymans  <wim@fluendo.com>
8515
8516         * docs/design/part-states.txt:
8517         * tools/gst-launch.c: (main):
8518         Some doc updates.
8519         Revert non-intentional change.
8520
8521 2005-10-12  Wim Taymans  <wim@fluendo.com>
8522
8523         * check/gst/gstbin.c: (GST_START_TEST):
8524         * check/gst/gstelement.c: (GST_START_TEST):
8525         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8526         * check/gst/gstghostpad.c: (GST_START_TEST):
8527         * check/gst/gstpipeline.c: (GST_START_TEST):
8528         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8529         * check/states/sinks.c: (GST_START_TEST):
8530         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8531         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8532         (gst_bin_remove_func), (gst_bin_get_state_func),
8533         (gst_bin_recalc_state), (gst_bin_change_state_func),
8534         (bin_bus_handler):
8535         * gst/gstelement.c: (gst_element_get_state_func),
8536         (gst_element_get_state), (gst_element_abort_state),
8537         (gst_element_commit_state), (gst_element_set_state),
8538         (gst_element_change_state), (gst_element_change_state_func):
8539         * gst/gstelement.h:
8540         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8541         (gst_pipeline_provide_clock_func):
8542         * gst/gstutils.c: (gst_element_link_pads_filtered):
8543         * tools/gst-launch.c: (main):
8544         * tools/gst-typefind.c: (main):
8545         Use GstClockTime in _get_state() instead of GTimeVal.
8546         Remove old code in gstutils.c
8547
8548 2005-10-12  Andy Wingo  <wingo@pobox.com>
8549
8550         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8551         removed.
8552
8553         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8554         there is no task. Shouldn't affect any code, as nothing in our
8555         plugins checks this return value.
8556         (gst_pad_stop_task): Also take the stream lock if the pad has no
8557         task. Docs updated.
8558
8559 2005-10-12  Wim Taymans  <wim@fluendo.com>
8560
8561         * gst/gstpad.c: (pre_activate), (post_activate),
8562         (gst_pad_activate_pull), (gst_pad_activate_push):
8563         Cleanup activation code. Reset old state if
8564         activation failed.
8565
8566 2005-10-12  Wim Taymans  <wim@fluendo.com>
8567
8568         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8569         (gst_base_sink_change_state):
8570         No need to prerol after receiving EOS.
8571
8572         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8573         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8574         * gst/elements/gstidentity.c: (gst_identity_event):
8575         Print events more verbosely.
8576
8577 2005-10-12  Wim Taymans  <wim@fluendo.com>
8578
8579         * check/Makefile.am:
8580         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8581         * check/states/sinks2.c:
8582         Moved sinks2 testcode in sinks check.
8583
8584         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8585         (gst_bin_remove_func), (gst_bin_recalc_state),
8586         (gst_bin_change_state_func), (bin_bus_handler):
8587         Fix potential race condition when _get_state() iterated over an
8588         ASYNC element right before it posted a state completion.
8589
8590         * gst/gstclock.h:
8591         Do proper cast here.
8592
8593         * gst/gstevent.c: (gst_event_new_newsegment),
8594         (gst_event_parse_newsegment):
8595         A playback rate of 0.0 is not allowed.
8596
8597 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8598
8599         * win32/common/config.h:
8600         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8601         (_trewinddir), (_ttelldir), (_tseekdir):
8602         * win32/common/dirent.h:
8603         * win32/common/gtchar.h:
8604         * win32/common/libgstbase.def:
8605         * win32/common/libgstreamer.def:
8606         * win32/vs6/grammar.dsp:
8607         * win32/vs6/gst_inspect.dsp:
8608         * win32/vs6/gst_launch.dsp:
8609         * win32/vs6/gstreamer.dsw:
8610         * win32/vs6/libgstbase.dsp:
8611         * win32/vs6/libgstelements.dsp:
8612         * win32/vs6/libgstreamer.dsp:
8613           Visual Studio 6 project files, and a new common directory.
8614           Phear.
8615
8616 2005-10-11  Wim Taymans  <wim@fluendo.com>
8617
8618         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8619         (gst_base_sink_do_sync), (gst_base_sink_query),
8620         (gst_base_sink_change_state):
8621         * gst/base/gstbasesink.h:
8622         Correctly parse newsegment info.
8623
8624 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8625
8626         * gst/gst.c: (init_post):
8627           split plugin paths correctly
8628
8629 2005-10-11  Wim Taymans  <wim@fluendo.com>
8630
8631         * check/gst/gstevent.c: (GST_START_TEST):
8632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8633         (gst_base_sink_change_state):
8634         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8635         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8636         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8637         * gst/gstevent.c: (gst_event_new_newsegment),
8638         (gst_event_parse_newsegment):
8639         * gst/gstevent.h:
8640         Added extra flag to newsegment for future API freeze.
8641         Updated check and base elements.
8642
8643 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8644
8645         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8646         (gst_collectpads_add_pad), (gst_collectpads_pop),
8647         (gst_collectpads_event), (gst_collectpads_chain):
8648         * gst/base/gstcollectpads.h: Handle EOS correctly.
8649
8650 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8651
8652         * tools/gst-launch.c: (main):
8653           more null protecting
8654
8655 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8656
8657         * gst/gst-i18n-lib.h:
8658           check for ENABLE_NLS, not GETTEXT_PACKAGE
8659         * gst/gstregistry.c: (gst_registry_add_plugin),
8660         (gst_registry_scan_path_level),
8661         (_gst_registry_remove_cache_plugins):
8662           protect possibly NULL strings
8663         * gst/parse/types.h:
8664           config.h already included before
8665         * tools/gst-inspect.c: (main):
8666           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8667           check for ENABLE_NLS, not GETTEXT_PACKAGE
8668         * tools/gst-launch.c: (main):
8669           check for ENABLE_NLS, not GETTEXT_PACKAGE
8670
8671 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8672
8673         * configure.ac:
8674           if we don't have glib, fail before testing 2.8
8675         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8676           fix a leak, should fix plugins-base testsuite
8677
8678 2005-10-11  Andy Wingo  <wingo@pobox.com>
8679
8680         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8681         take the mode we're going to as an arg. Go head and set the mode
8682         and flushing flags now, so that if the activate function starts a
8683         thread all the flags will be in the right state.
8684         (post_activate): Renamed also. Just handle making sure streaming
8685         finishes for the deactivation case, and setting the deactivated
8686         mode.
8687         (gst_pad_set_active): Complain loudly if deactivation fails.
8688         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8689         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8690         remove the terrible hack.
8691
8692 2005-10-11  Wim Taymans  <wim@fluendo.com>
8693
8694         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8695         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8696         (gst_bin_recalc_state), (gst_bin_change_state_func),
8697         (gst_bin_dispose), (bin_bus_handler):
8698         * gst/gstbin.h:
8699         Prepare to make current EOS message queue more generic.
8700         Fix some typos.
8701
8702         * gst/gstevent.c: (gst_event_new_newsegment),
8703         (gst_event_parse_newsegment):
8704         * gst/gstevent.h:
8705         Rename base to stream_time.
8706
8707         * gst/gstmessage.h:
8708         Fix typo in docs.
8709
8710 2005-10-11  Wim Taymans  <wim@fluendo.com>
8711
8712         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8713         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8714         (gst_bin_change_state_func), (bin_bus_handler):
8715         * gst/gstbin.h:
8716         Work on proper clock selection.
8717
8718 2005-10-11  Edward Hervey  <edward@fluendo.com>
8719
8720         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8721         * libs/gst/controller/gstcontroller.h:
8722         Added GList* version of _remove_properties() in order to be able to wrap
8723         it in bindings.
8724
8725 2005-10-11  Wim Taymans  <wim@fluendo.com>
8726
8727         * docs/design/part-states.txt:
8728         Some more docs.
8729
8730         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8731         (gst_bin_change_state_func), (bin_bus_handler):
8732         Doc updates. Don't distribute the same clock over and over again.
8733
8734         * gst/gstclock.c:
8735         * gst/gstclock.h:
8736         Doc updates.
8737
8738         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8739         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8740         (gst_pad_send_event):
8741         * gst/gstpad.h:
8742         Make probe emission threadsafe again.
8743         Register quarks and move _get_name() from utils.
8744         Doc updates.
8745
8746         * gst/gstpipeline.c: (gst_pipeline_class_init),
8747         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8748         Only redistribute the clock of it changed.
8749
8750         * gst/gstsystemclock.h:
8751         Doc updates. 
8752
8753         * gst/gstutils.c:
8754         * gst/gstutils.h:
8755         Moved the _flow_get_name() to GstPad.
8756
8757 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8758
8759         * check/gst-libs/gdp.c: (GST_START_TEST):
8760         * check/gst/gstcaps.c: (GST_START_TEST):
8761         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8762         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8763         (gst_dp_packet_from_caps):
8764           fix more valgrind warnings before turning up the heat
8765
8766 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8767
8768         * gst/parse/grammar.y:
8769           some cleanup before the hacking
8770
8771 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8772
8773         * gst/base/gstbasesrc.c: (gst_base_src_query):
8774           use conversions
8775         * gst/gstutils.c: (gst_guint64_to_gdouble),
8776         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8777         * gst/gstutils.h:
8778           externalize, basesrc uses it
8779           obviously the implementation needs testing
8780
8781 2005-10-10  Wim Taymans  <wim@fluendo.com>
8782
8783         * tests/sched/Makefile.am:
8784         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8785         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8786
8787 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8790           apparently converting from guint64 to double is not implemented
8791           on MSVC
8792
8793 2005-10-10  Wim Taymans  <wim@fluendo.com>
8794
8795         * check/Makefile.am:
8796         * check/generic/states.c: (GST_START_TEST):
8797         * check/gst/gstbin.c: (GST_START_TEST):
8798         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8799         * check/states/sinks.c: (GST_START_TEST):
8800         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8801         (main):
8802         Check fixes, use API as stated in design docs, remove hacks.
8803
8804         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8805         (gst_base_sink_change_state):
8806         Catch stopping our task while we're shutting down.
8807
8808         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8809         (gst_bin_remove_func), (gst_bin_get_state_func),
8810         (gst_bin_recalc_state), (gst_bin_change_state_func),
8811         (bin_bus_handler):
8812         * gst/gstbin.h:
8813         * gst/gstelement.c: (gst_element_init),
8814         (gst_element_get_state_func), (gst_element_abort_state),
8815         (gst_element_commit_state), (gst_element_lost_state),
8816         (gst_element_set_state), (gst_element_change_state),
8817         (gst_element_change_state_func):
8818         * gst/gstelement.h:
8819         New state change algorithm (see #318116)
8820
8821         * gst/gstpipeline.c: (gst_pipeline_class_init),
8822         (gst_pipeline_init), (gst_pipeline_set_property),
8823         (gst_pipeline_get_property), (do_pipeline_seek),
8824         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8825         * gst/gstpipeline.h:
8826         Remove crude state change hacks.
8827
8828         * gst/gstutils.h:
8829         Remove crude hacks.
8830
8831         * tools/gst-launch.c: (main):
8832         Fixes for state change. Needs some more work to fully use the
8833         new stuff.
8834
8835 2005-10-10  Andy Wingo  <wingo@pobox.com>
8836
8837         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8838
8839         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8840         this flag, but it's not even in GLib 2.6. Odd. Hack around the
8841         issue.
8842
8843 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8844
8845         * gst/gstiterator.c: (gst_iterator_new):
8846           Fix my previous commit: GTypes passed to gst_iterator_new()
8847           can be fundamental types.
8848
8849 2005-10-10  Wim Taymans  <wim@fluendo.com>
8850
8851         * gst/gstelement.c: (gst_element_iterate_pad_list),
8852         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8853         (gst_element_iterate_sink_pads):
8854         Use src/sink pads lists for the respective iterators instead
8855         of filtering.
8856
8857 2005-10-10  Andy Wingo  <wingo@pobox.com>
8858
8859         Merged in popt removal + GOption addition patch from Ronald, bug
8860         #169772.
8861
8862         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
8863         GstElement macros around, remove popt-related symbols, add goption
8864         stuff.
8865
8866         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
8867         
8868         * docs/gst/Makefile.am:
8869         * docs/libs/Makefile.am: No POPT_CFLAGS.
8870         
8871         * examples/manual/Makefile.am:
8872         * docs/manual/basics-init.xml: Doc updates with an example.
8873         
8874         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8875         (gst_init), (parse_one_option), (parse_goption_arg):
8876         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
8877         bit of hand merging and debugging to get the GOption stuff working
8878         tho.
8879         
8880         * tests/Makefile.am:
8881         * tools/Makefile.am:
8882         * tools/gst-inspect.c: (main):
8883         * tools/gst-launch.c: (main):
8884         * tools/gst-run.c: (main):
8885         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
8886
8887 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8888
8889         * gst/gstiterator.c: (gst_iterator_new):
8890           Add assertions to make sure passed GType is likely to really
8891           be a GType (as the compiler won't catch it if the size and
8892           GType arguments get mixed up, see #318447).
8893
8894 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8895
8896         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8897
8898         * gst/gstbin.c: (gst_bin_iterate_sorted):
8899           Pass GType and size arguments to gst_iterator_new() in the right
8900           order (maybe we should make _new() take the GType as first argument
8901           just like _new_list()?) (#318447).
8902           
8903
8904 2005-10-10  Wim Taymans  <wim@fluendo.com>
8905
8906         * gst/gstelement.c: (gst_element_finalize):
8907         And free the GStaticRecMutex too
8908
8909 2005-10-10  Andy Wingo  <wingo@pobox.com>
8910
8911         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8912         Allocate and free the mutex properly.
8913
8914         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8915         New macros.
8916         (GstElement): The state_lock is now recursive. Rebuild your
8917         plugins, suckers. Old macros adapted.
8918
8919         * docs/gst/gstreamer-sections.txt: Doc updates.
8920
8921         * gst/gstutils.h:
8922         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8923         (g_static_rec_cond_wait): Ported from state changes patch, while
8924         we wait on bug #317802 to be solved in a well-distributed GLib.
8925
8926         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8927         gst_element_change_state, variable name changes.
8928         (gst_element_change_state): Split out of gst_element_set_state in
8929         preparation for the state change merge. Doesn't pay attention to
8930         the 'transition' argument.
8931         (gst_element_set_state): Updates, hopefully purely cosmetic.
8932         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8933         state change patch.
8934         (gst_element_get_state_func): Renamed from get_state, cosmetic
8935         changes.
8936
8937 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8938
8939         * gst/elements/gstelements.c:
8940         * win32/GStreamer.vcproj:
8941         * win32/config.h:
8942         * win32/dirent.c: (_tseekdir):
8943         * win32/gst-inspect.vcproj:
8944         * win32/gst-launch.vcproj:
8945         * win32/gstconfig.h:
8946         * win32/gstelements.vcproj:
8947         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8948         * win32/gstreamer.def:
8949         * win32/msvc71.sln:
8950           updates for the win32 build (patch from Sebastien Moutte)
8951
8952 2005-10-10  Andy Wingo  <wingo@pobox.com>
8953
8954         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8955         gst_bin_get_state, cleaned up (but no logic changes).
8956         (bin_element_is_sink): Comment updates.
8957         (sink_iterator_filter): Remove needless cast.
8958         (gst_bin_iterate_sinks): Doc update.
8959         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
8960         cleaned up (but no logic changes).
8961
8962         * check/states/sinks.c (test_src_sink): Cleanups from the state
8963         change patch.
8964         (test_livesrc_sink): Sync on the state.
8965
8966         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
8967         the state change patch.
8968
8969         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
8970         change patch.
8971
8972         * check/gst/gstbin.c: Merge in some style fixes and additional
8973         checks from Wim's state change patch.
8974
8975 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8976
8977         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8978         (gst_type_find_helper):
8979           Check whether we have the requested data already in our list of
8980           cached buffers before pulling a new buffer; also make the buffer
8981           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
8982
8983 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8984
8985         * gst/gstcaps.c:
8986         * gst/gstevent.c:
8987           doc updates
8988         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8989           don't use long long, it's not portable.  Replacing with
8990           gint64 seems to work; let's hope no skeletons fall out of the closet.
8991
8992 2005-10-10  Andy Wingo  <wingo@pobox.com>
8993
8994         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
8995
8996 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
8997
8998         * docs/gst/gstreamer-sections.txt:
8999         * gst/gstevent.c:
9000         * gst/gstevent.h:
9001         * gst/gstinfo.c:
9002         * gst/gstinfo.h:
9003         * gst/gstmessage.c: (gst_message_parse_state_changed):
9004         * gst/gstpad.c:
9005         * gst/gstpad.h:
9006           more docs, fix compilation
9007
9008 2005-10-09  Philippe Khalaf <burger@speedy.org>
9009         * gst/gstmessage.c:
9010           Fixed a few forgotten variables on previous commit
9011
9012 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9013
9014         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9015           Fix evil typefind crasher: getrange() might return a short
9016           buffer at the end of a file, but gst_type_find_peek() must
9017           either return the full data as requested or NULL, but
9018           never a short buffer.
9019
9020 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9021
9022         * gst/gstmessage.c: (gst_message_new_state_changed),
9023         (gst_message_parse_state_changed):
9024         * gst/gstmessage.h:
9025           don't use "new", it's a C++ keyword
9026
9027 2005-10-08  Wim Taymans  <wim@fluendo.com>
9028
9029         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9030         * gst/gstelement.c: (gst_element_post_message):
9031         * gst/gstpipeline.c: (gst_pipeline_change_state):
9032         Small docs and debug updates.
9033
9034 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9035
9036         * docs/gst/gstreamer-sections.txt:
9037         * gst/gstelementfactory.c:
9038         * gst/gstevent.c:
9039         * gst/gsttaglist.c:
9040           more docs
9041
9042 2005-10-08  Wim Taymans  <wim@fluendo.com>
9043
9044         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9045         (gst_bin_dispose), (bin_bus_handler):
9046         Fix typos, add comments.
9047         Clear EOS list when going to PAUSED from any direction and do it
9048         in a threadsafe way.
9049         Get base time in a threadsafe way too.
9050         Fix confusing debug in the change_state function.
9051         Various other small cleanups.
9052         
9053         * gst/gstelement.c: (gst_element_post_message):
9054         Fix very verbose bus posting code.
9055
9056         * gst/gstpipeline.c: (gst_pipeline_class_init),
9057         (gst_pipeline_set_property), (gst_pipeline_get_property),
9058         (gst_pipeline_change_state):
9059         Small ARG_ -> PROP_ cleanup
9060
9061 2005-10-08  Wim Taymans  <wim@fluendo.com>
9062
9063         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9064         Do a less CPU demanding EOS check because we can.
9065
9066 2005-10-08  Wim Taymans  <wim@fluendo.com>
9067
9068         * libs/gst/dataprotocol/dataprotocol.c:
9069         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9070         (gst_dp_packet_from_event):
9071         * libs/gst/dataprotocol/dataprotocol.h:
9072         * libs/gst/dataprotocol/dp-private.h:
9073         It's about time we bump the version number.
9074         Since event types don't fit in the guint8 anymore describing
9075         the payload type, make payload type 16 bits wide.
9076
9077 2005-10-08  Wim Taymans  <wim@fluendo.com>
9078
9079         * docs/design/part-TODO.txt:
9080         * docs/design/part-clocks.txt:
9081         * docs/design/part-events.txt:
9082         * docs/design/part-gstbin.txt:
9083         * docs/design/part-gstelement.txt:
9084         * docs/design/part-gstpipeline.txt:
9085         * docs/design/part-live-source.txt:
9086         * docs/design/part-messages.txt:
9087         * docs/design/part-overview.txt:
9088         * docs/design/part-states.txt:
9089         Many doc updates.
9090
9091 2005-10-08  Wim Taymans  <wim@fluendo.com>
9092
9093         * gst/gstevent.c:
9094         * gst/gstevent.h:
9095         Fix event quark registration.
9096         Add some space between events so we can insert them in the
9097         right groups.
9098
9099 2005-10-08  Wim Taymans  <wim@fluendo.com>
9100
9101         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9102         (gst_base_sink_handle_buffer):
9103         Better log message.
9104
9105         * gst/gstbus.h:
9106         * gst/gstelement.h:
9107         More docs.
9108
9109         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9110         (gst_queue_set_property), (gst_queue_get_property):
9111         * gst/gstqueue.h:
9112         Remove old unused properties.
9113
9114 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9115         * docs/gst/gstreamer-sections.txt:
9116         * gst/gstmessage.c:
9117         * gst/gstmessage.h:
9118         * gst/gstminiobject.c:
9119         * gst/gstminiobject.h:
9120         * gst/gstobject.h:
9121         * gst/gstpad.h:
9122         * gst/gstutils.h:
9123           lots of new docs and doc fixes
9124
9125 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9126
9127         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9128         * gst/gstplugin.h:
9129         * gst/gstregistry.c: (gst_registry_lookup_locked),
9130         (gst_registry_scan_path_level):
9131         * gst/gstregistryxml.c: (load_plugin):
9132           Only ever load one plugin for a given plugin basename.
9133           This ensures correct overriding of GST_PLUGIN_PATH over
9134           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9135           system installed plugins.
9136
9137 2005-10-08  Wim Taymans  <wim@fluendo.com>
9138
9139         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9140         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9141         Prepare for doing QOS.
9142
9143 2005-10-08  Wim Taymans  <wim@fluendo.com>
9144
9145         * check/gst/gstbin.c: (GST_START_TEST):
9146         * check/pipelines/cleanup.c: (GST_START_TEST):
9147         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9148         Allow new clock message too.
9149
9150 2005-10-08  Wim Taymans  <wim@fluendo.com>
9151
9152         * gst/gstmessage.c: (gst_message_new_error),
9153         (gst_message_new_warning), (gst_message_new_tag),
9154         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9155         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9156         (gst_message_new_segment_start), (gst_message_new_segment_done),
9157         (gst_message_parse_state_changed),
9158         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9159         (gst_message_parse_new_clock):
9160         * gst/gstmessage.h:
9161         Also carry the clock in question.
9162
9163 2005-10-08  Wim Taymans  <wim@fluendo.com>
9164
9165         * gst/gstmessage.c: (gst_message_new_custom),
9166         (gst_message_new_eos), (gst_message_new_error),
9167         (gst_message_new_warning), (gst_message_new_tag),
9168         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9169         (gst_message_new_new_clock), (gst_message_new_segment_start),
9170         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9171         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9172         * gst/gstmessage.h:
9173         Clean up.
9174         Added clock related messages.
9175
9176         * gst/gstpipeline.c: (gst_pipeline_change_state):
9177         Post message when the clock changed.
9178
9179         * tools/gst-launch.c: (event_loop):
9180         Print new clock.
9181
9182 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9183
9184         * tools/gst-inspect.c: (print_element_properties_info):
9185           Can't pass NULL strings to g_print() on windows.
9186
9187 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9188
9189         * docs/Makefile.am:
9190         * docs/gst/Makefile.am:
9191         * docs/gst/gstreamer-docs.sgml:
9192         * docs/gst/running.xml:
9193         * docs/version.entities.in:
9194           add a chapter on running GStreamer.
9195           document GST_DEBUG and GST_PLUGIN* env vars
9196
9197 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9198
9199         * Makefile.am:
9200           remove include dir
9201         * configure.ac:
9202           remove PLUGINS_BUILDDIR stuff
9203         * gst/gst.c: (init_post):
9204           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9205         * idiottest.mak:
9206           remove, it was condescending and not needed
9207
9208 2005-10-08  Wim Taymans  <wim@fluendo.com>
9209
9210         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9211         (gst_base_sink_handle_object), (gst_base_sink_event),
9212         (gst_base_sink_wait), (gst_base_sink_handle_event),
9213         (gst_base_sink_change_state):
9214         * gst/base/gstbasesink.h:
9215         Repost EOS message while going to PLAYING if still EOS.
9216         Make sure that when receiving a FLUSH_START we don't attempt
9217         to sync on the clock anymore.
9218
9219 2005-10-08  Wim Taymans  <wim@fluendo.com>
9220
9221         * tools/gst-launch.c: (event_loop):
9222         Better message printout.
9223
9224 2005-10-08  Wim Taymans  <wim@fluendo.com>
9225
9226         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9227         (gst_bin_child_proxy_get_children_count):
9228         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9229         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9230         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9231         (gst_child_proxy_set_valist):
9232         * gst/parse/grammar.y:
9233         Make ChildProxy threadsafe and fix mem leaks.
9234
9235 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9236
9237         * gst/gst.c: (init_post):
9238           debug the GST_PLUGIN_ env vars
9239
9240 2005-10-08  Wim Taymans  <wim@fluendo.com>
9241
9242         * check/gst/gstbin.c: (GST_START_TEST):
9243         * check/gst/gstmessage.c: (GST_START_TEST):
9244         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9245         * gst/gstelement.c: (gst_element_commit_state),
9246         (gst_element_lost_state):
9247         * gst/gstmessage.c: (gst_message_new_state_changed),
9248         (gst_message_parse_state_changed):
9249         * gst/gstmessage.h:
9250         * tools/gst-launch.c: (event_loop):
9251         Added extra field to STATE_CHANGE message with the pending
9252         state, which will be different from the new state soon.
9253
9254 2005-10-08  Wim Taymans  <wim@fluendo.com>
9255
9256         * gst/gstbus.c: (gst_bus_pop):
9257         * gst/gstclock.c:
9258         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9259         Small cleanups and doc updates.
9260
9261 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9262
9263         * gst/gst.c: (init_pre):
9264         * gst/gstbin.c: (gst_bin_add_func):
9265           log distributing clocks and base time
9266         * gst/gstregistry.c: (gst_registry_add_plugin),
9267         (gst_registry_scan_path_level), (gst_registry_scan_path):
9268           clean up the debugging output a little
9269         * gst/gstutils.c: (gst_element_state_get_name):
9270           warn about a memleak (I've actually seen this be used, though
9271           it was probably a bug)
9272
9273 2005-10-07  Wim Taymans  <wim@fluendo.com>
9274
9275         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9276         (gst_base_src_init), (gst_base_src_default_newsegment),
9277         (gst_base_src_newsegment), (gst_base_src_do_seek),
9278         (gst_base_src_loop), (gst_base_src_start):
9279         * gst/base/gstbasesrc.h:
9280         Make the newsegment event customizable by subclasses.
9281
9282 2005-10-07  Wim Taymans  <wim@fluendo.com>
9283
9284         * gst/gstevent.c: (gst_event_new_buffersize),
9285         (gst_event_parse_buffersize):
9286         * gst/gstevent.h:
9287         New event for future idea.
9288
9289 2005-10-07  Andy Wingo  <wingo@pobox.com>
9290
9291         * gst/gstelement.c (gst_element_post_message): Doc update.
9292
9293         * docs/gst/gstreamer-sections.txt: Update.
9294
9295         * gst/gstmessage.c (gst_message_new_application): Made into a
9296         function like honest API calls.
9297         (gst_message_new_element): New message type.
9298
9299         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9300
9301         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9302         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9303         times.
9304
9305         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9306         NO_PREROLL from gst_element_change_state to fall through.
9307
9308 2005-10-07  Wim Taymans  <wim@fluendo.com>
9309
9310         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9311         (gst_ghost_pad_do_activate_push):
9312         Activating a ghostpad with no internal pad in push mode
9313         is ok.
9314
9315 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9316
9317         * gst/gstobject.h:
9318           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9319           Fixes compilation on Windows.
9320
9321 2005-10-07  Michael Smith <msmith@fluendo.com>
9322
9323         * tools/gst-inspect.c:
9324           Print out feature and plugin count at the end when printing out
9325           all features.
9326
9327 2005-10-04  Michael Smith <msmith@fluendo.com>
9328
9329         * gst/gsterror.c: (_gst_stream_errors_init):
9330           Add another error string used in a few existing plugins.
9331
9332         * gst/gstplugin.c:
9333         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9334         * tools/gst-inspect.c: (print_element_info):
9335           When a feature disappears from a plugin (and the feature exists in
9336           the cached registry file), things went horribly wrong. This isn't a
9337           complete fix, we should actually be removing the 'missing' features
9338           from the features list when we load the actual plugin. That's not
9339           yet implemented. 
9340
9341 2005-10-04  Johan Dahlin  <johan@gnome.org>
9342
9343         * check/gst/gstiterator.c: (GST_START_TEST):
9344         * gst/gstbin.c: (gst_bin_iterate_elements),
9345         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9346         * gst/gstelement.c: (gst_element_iterate_pads):
9347         * gst/gstformat.c: (gst_format_iterate_definitions):
9348         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9349         (gst_iterator_new_list), (gst_iterator_filter):
9350         * gst/gstiterator.h:
9351         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9352         Add a GType to GstIterator, update callsites and tests.
9353
9354 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9355
9356         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9357           give events a chance to be handled by event probes when the pad
9358           is not linked
9359
9360 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * gst/gstevent.c: (gst_event_type_get_name),
9363         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9364         * gst/gstevent.h:
9365           add string representations for event types
9366
9367 2005-10-06  Wim Taymans  <wim@fluendo.com>
9368
9369         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9370         Don't use NULL pointers.
9371
9372 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9373
9374         * gst/gst_private.h:
9375         * gst/gstbus.c:
9376         * gst/gstelement.c:
9377         * gst/gstinfo.c:
9378         * gst/gstpluginfeature.c:
9379           widen the debug category in output to fit the biggest one we have
9380           add a bus category and use it
9381           play with the colors
9382           fix up some categories
9383
9384 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9385
9386         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9387           add push activation of sink ghost pads.
9388           Andye, please verify
9389
9390 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9391
9392         * gst/gstutils.c: (gst_element_link_pads):
9393           fix a bug in the case where neither element has a pad
9394         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9395           add a test for that case
9396
9397 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9398
9399         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9400           emit have-data before checking for peers.  This allows
9401           for probe handlers to connect elements.  This helps autopluggers.
9402         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9403         (gst_pad_suite):
9404           add six checks, linked/unlinked with no/true/false probe
9405
9406 2005-10-04  Wim Taymans  <wim@fluendo.com>
9407
9408         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9409         (gst_fake_sink_event), (gst_fake_sink_preroll),
9410         (gst_fake_sink_render), (gst_fake_sink_change_state):
9411         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9412         (gst_fake_src_get_property), (gst_fake_src_create),
9413         (gst_fake_src_stop):
9414         * gst/elements/gstidentity.c: (gst_identity_stop):
9415         Protect last_message with lock.
9416
9417 2005-10-04  Edward Hervey  <edward@fluendo.com>
9418
9419         * gst/gstformat.h: 
9420         Added precision in the comments for GST_FORMAT_DEFAULT
9421
9422 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9423
9424         * tools/gst-launch.c: (main):
9425           Don't try to run erroneous pipelines.
9426
9427 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9428
9429         * gst/gstbus.c: We don't need this header.
9430
9431 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9432
9433         * configure.ac:
9434           back to development
9435
9436 === release 0.9.3 ===
9437
9438 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9439
9440         * README:
9441         * configure.ac:
9442           Releasing 0.9.3, "Unregistered"
9443
9444 2005-10-03  Andy Wingo  <wingo@pobox.com>
9445
9446         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9447         whereby calling a pad's activatepush() function can start a thread
9448         that starts to push or pull before the pad gets the FLUSHING flag
9449         unset. Hack around it by holding the stream lock until the flag is
9450         set. Need to replace this with a proper solution. Together with
9451         the ghost pad fixes, this fixes mp3 playing/tagreading.
9452
9453         * docs/design/part-gstghostpad.txt: Add a note about activation of
9454         proxy pads outside of ghost pads.
9455
9456         * gst/gstghostpad.c: Implement the ghost pad activation design.
9457
9458 2005-10-02  Andy Wingo  <wingo@pobox.com>
9459
9460         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9461         It is volatile, after all.
9462
9463         * docs/design/part-gstghostpad.txt: Flesh out activation with
9464         ghost pads.
9465
9466         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9467         GST_DEBUG_FUNCPTR.
9468
9469 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9470
9471         * configure.ac:
9472           Fix (unused) AM_CONDITIONAL tests.
9473
9474 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9475
9476         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9477
9478         * gst/gstutils.c: (gst_pad_query_convert):
9479           Add assertion that makes sure src_val is >=0, just like
9480           gst_query_new_convert() has. (#315895)
9481
9482 2005-09-30  Edward Hervey  <edward@fluendo.com>
9483
9484         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9485         Let's not iterate pads we're not interested in, it avoids getting 
9486         sky-high refcounts on sinkpad.
9487
9488 2005-09-30  Wim Taymans  <wim@fluendo.com>
9489
9490         * gst/gstelement.c: (gst_element_set_state),
9491         (gst_element_change_state):
9492         Small tweak, element in ASYNC remains ASYNC.
9493
9494 2005-09-30  Wim Taymans  <wim@fluendo.com>
9495
9496         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9497         Only error is an error.
9498
9499         * gst/gstbin.c: (gst_bin_change_state):
9500         Better debugging.
9501
9502         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9503         Also call pad_block in pad alloc.
9504
9505         * gst/gstutils.c: (gst_flow_get_name):
9506         Better debugging.
9507
9508 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9509
9510         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9511         (gst_base_src_get_range):
9512           Fix documentation typos. Add some more debug info.
9513
9514 2005-09-29  David Schleef  <ds@schleef.org>
9515
9516         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9517           more end-user friendly.
9518         * tools/gst-inspect.c: (main): Check if command-line argument is
9519           a file and attempt to load that file as a plugin.
9520
9521 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9522
9523         * check/gst/gstbin.c:
9524         * check/states/sinks.c:
9525           fix tests for the new warning
9526         * check/gst/gstpipeline.c:
9527           add a test for pipeline and bus interaction
9528         * gst/gstelement.c:
9529           elements should be NULL if they get disposed; add a warning if not
9530
9531 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9532
9533         * gst/gstobject.c:
9534           for 2.6 refcounting, make debug log more correct by printing
9535           the actual refcounts at the time of swap (Wim)
9536
9537 2005-09-29  Andy Wingo  <wingo@pobox.com>
9538
9539         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9540         removes signal watches previously added via
9541         gst_bus_add_signal_watch.
9542         (gst_bus_add_signal_watch): Don't return the source id, just store
9543         it on the bus if there wasn't an id already.
9544
9545         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9546         add_signal_watch and remove_signal_watch.
9547
9548 2005-09-29  Edward Hervey  <edward@fluendo.com>
9549
9550         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9551         Better if we actually iterate the list :)
9552
9553 2005-09-29  Wim Taymans  <wim@fluendo.com>
9554
9555         * check/gst/gstbin.c: (GST_START_TEST):
9556         Change for new bus API.
9557
9558         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9559         (send_messages), (GST_START_TEST), (gstbus_suite):
9560         Change for new bus signal API.
9561
9562         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9563         (gst_bus_source_prepare), (gst_bus_source_check),
9564         (gst_bus_create_watch), (gst_bus_add_watch_full),
9565         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9566         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9567         * gst/gstbus.h:
9568         Remove support for multiple GSources operating on different
9569         message types as it is too complex and unneeded when using
9570         signals.
9571         Added support for receiving signals from the bus.
9572
9573 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9574
9575         * docs/libs/tmpl/gstdataprotocol.sgml:
9576         * docs/manual/advanced-dataaccess.xml:
9577         * gst/elements/gstcapsfilter.c:
9578         * gst/gstutils.c:
9579           rename filter-caps to caps property
9580
9581 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9582
9583         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9584           More robust fraction string parsing.
9585
9586         * docs/pwg/appendix-porting.xml:
9587           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9588
9589 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9590
9591         * gst/gstcaps.c: (gst_caps_do_simplify):
9592           Thou shalt not free a structure and then continue using it
9593           in the next loop iteration.
9594
9595         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9596         (gst_caps_suite):
9597           Add test case for caps simplification.
9598
9599 2005-09-29  Wim Taymans  <wim@fluendo.com>
9600
9601         * check/gst/gstbin.c: (GST_START_TEST):
9602         Oops.
9603
9604 2005-09-29  Wim Taymans  <wim@fluendo.com>
9605
9606         * check/gst/gstbin.c: (GST_START_TEST):
9607         Add bus to bin.
9608
9609         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9610         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9611         (find_element), (gst_bin_sort_iterator_next),
9612         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9613         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9614         (gst_bin_change_state), (gst_bin_dispose):
9615         A bin does not have a bus, it gets the bus from the parent.
9616
9617         * gst/gstelement.c: (gst_element_requires_clock),
9618         (gst_element_provides_clock), (gst_element_is_indexable),
9619         (gst_element_is_locked_state), (gst_element_change_state),
9620         (gst_element_set_bus_func):
9621         Small cleanups.
9622
9623         * gst/gstpipeline.c: (gst_pipeline_class_init),
9624         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9625         The pipeline provides a bus.
9626
9627 2005-09-28  Johan Dahlin  <johan@gnome.org>
9628
9629         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9630         gst_structure_get_enum instead of gst_structure_get_int
9631
9632         * gst/gststructure.c (gst_structure_get_enum): Impl.
9633
9634         * gst/gststructure.h (gst_structure_get_enum): Add
9635
9636         * docs/gst/gstreamer-sections.txt: Ditto
9637
9638         * gst/gstmessage.c (gst_message_new_state_changed): Use
9639         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9640         which does introspection.
9641         Reviewed by Christian Schaller
9642
9643 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9644
9645         * gst/gstinfo.c: (gst_debug_log_default):
9646           don't do dummy g_strdup()s
9647         * libs/gst/controller/gstcontroller.c:
9648         (on_object_controlled_property_changed),
9649         (gst_controlled_property_new), (gst_controller_new_valist),
9650         (gst_controller_new_list),
9651         (gst_controller_remove_properties_valist), (gst_controller_set),
9652         (gst_controller_get), (gst_controller_sync_values),
9653         (gst_controller_get_value_array), (_gst_controller_class_init),
9654         (gst_controller_get_type):
9655         * libs/gst/controller/gstcontroller.h:
9656         * libs/gst/controller/gstinterpolation.c:
9657         (gst_controlled_property_find_timed_value_node):
9658           convert // to /**/ comments
9659
9660 2005-09-28  Wim Taymans  <wim@fluendo.com>
9661
9662         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9663         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9664         (gst_bus_sync_signal_handler):
9665         * gst/gstbus.h:
9666         Added async-message and sync-message signals to the bus.
9667         Added helper BusFunc to emit signals for all posted messages.
9668
9669         * gst/gstmessage.c: (gst_message_type_get_name),
9670         (gst_message_type_to_quark), (gst_message_get_type):
9671         * gst/gstmessage.h:
9672         Register quarks for message names.
9673
9674 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9675
9676         * docs/libs/gstreamer-libs-sections.txt:
9677         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9678         (gst_controller_new_list):
9679         * libs/gst/controller/gstcontroller.h:
9680           added another constructor for language bindings
9681
9682 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9683
9684         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9685           add another check
9686         * gst/gstbus.c:
9687           add some doc
9688         * gst/gstinfo.c: (_gst_debug_init):
9689           slightly more readable color for refcount debugging
9690
9691 2005-09-28  Wim Taymans  <wim@fluendo.com>
9692
9693         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9694         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9695         (find_element), (gst_bin_sort_iterator_next),
9696         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9697         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9698         (gst_bin_change_state), (gst_bin_dispose):
9699         Small doc fixes. get_clock -> provide_clock.
9700
9701         * gst/gstelement.c: (gst_element_class_init),
9702         (gst_element_provides_clock), (gst_element_provide_clock),
9703         (gst_element_get_clock), (gst_element_commit_state),
9704         (gst_element_lost_state):
9705         * gst/gstelement.h:
9706         Make get/set_clock() symetric. Add provide_clock vmethod since
9707         that is actually what this function does.
9708
9709         * gst/gstpipeline.c: (gst_pipeline_class_init),
9710         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9711         (gst_pipeline_get_clock):
9712         get_clock -> provide_clock.
9713
9714 2005-09-28  Andy Wingo  <wingo@pobox.com>
9715
9716         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9717         lieu of real docs...
9718
9719         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9720
9721 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9722
9723         * gst/elements/gstcapsfilter.c:
9724         * gst/elements/gstfakesink.c:
9725         * gst/elements/gstfakesrc.c:
9726         * gst/elements/gstfdsink.c:
9727         * gst/elements/gstfdsrc.c:
9728         * gst/elements/gstfilesink.c:
9729         * gst/elements/gstfilesrc.c:
9730         * gst/elements/gstidentity.c:
9731         * gst/elements/gsttee.c:
9732         * gst/elements/gsttypefindelement.c:
9733           Make element details static.
9734
9735 2005-09-28  Wim Taymans  <wim@fluendo.com>
9736
9737         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9738         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9739         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9740         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9741         (gst_bin_change_state), (gst_bin_dispose):
9742         Some documentation updates.
9743         Clean up dispose handlers.
9744
9745         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9746         * gst/gstpad.c: (gst_pad_dispose):
9747         Clean up dispose handler.
9748
9749         * gst/gstpipeline.c: (gst_pipeline_change_state):
9750         Removed spurious UNLOCK.
9751
9752 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9753
9754         * docs/gst/gstreamer-sections.txt:
9755         * gst/base/gstbasesrc.h:
9756         * gst/gstelement.h:
9757         * gst/gstevent.h:
9758         * gst/gstobject.h:
9759         * gst/gstpad.h:
9760         * gst/gstpipeline.c:
9761         * gst/gstpipeline.h:
9762         * gst/gstutils.h:
9763         * gst/gstxml.h:
9764           added two new functions to the docs
9765                 documents all undocumented GstXXXFlags
9766                 completed some incomplete docs 
9767
9768 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9769
9770         * gst/gstbin.c: (gst_bin_dispose):
9771         * gst/gstelement.c: (gst_element_dispose):
9772           remove now useless and leaky resurrection code in dispose
9773         * gst/base/gstbasesrc.c: (gst_base_src_init):
9774         * gst/gstelementfactory.c: (gst_element_factory_create):
9775         * gst/gstobject.c: (gst_object_set_parent):
9776           add some debugging
9777
9778 2005-09-27  Wim Taymans  <wim@fluendo.com>
9779
9780         * docs/design/part-TODO.txt:
9781         Update TODO.
9782
9783         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9784         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9785         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9786         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9787         (gst_bin_change_state):
9788         * gst/gstelement.h:
9789         Remove element variable, we keep element info in the iterator now.
9790
9791 2005-09-27  Andy Wingo  <wingo@pobox.com>
9792
9793         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9794         values.
9795
9796 2005-09-27  Wim Taymans  <wim@fluendo.com>
9797
9798         * check/gst/gstbin.c: (GST_START_TEST):
9799         Enable check that works now.
9800
9801         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9802         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9803         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9804         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9805         (gst_bin_change_state):
9806         * gst/gstbin.h:
9807         Redid the state change algorithm using a topological sort algo.
9808         Handles all cases correctly.
9809         Exposed iterator for state change order.
9810
9811         * gst/gstelement.h:
9812         Temp storage for state changes. Need to get rid of this soon.
9813
9814 2005-09-27  Wim Taymans  <wim@fluendo.com>
9815
9816         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9817         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9818         (link_fold_func), (gst_pad_proxy_setcaps):
9819         Leak fixes, the fold functions need to unref the passed object and
9820         _get_parent_*() returns ref to parent.
9821
9822 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9823
9824         * check/gst/gstbuffer.c: (test_make_writable):
9825           Plug leak in test case and fix 'make check-valgrind'
9826
9827 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9828
9829         * gst/gstbuffer.c: (gst_subbuffer_init):
9830           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9831           works correctly in all circumstances (we could have just copied
9832           the parent buffer's readonly flag, but conceptually it seems
9833           cleaner to mark all subbuffers as read-only). (based on patch
9834           by Alessandro Decina, #314710).
9835         
9836         * check/gst/gstbuffer.c: (create_read_only_buffer),
9837         (test_make_writable), (test_subbuffer_make_writable),
9838         (gst_test_suite):
9839           Add some tests for gst_buffer_make_writable().
9840
9841 2005-09-27  Wim Taymans  <wim@fluendo.com>
9842
9843         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9844         use gst_object_has_ancestor().
9845
9846         * gst/gstobject.c: (gst_object_has_ancestor):
9847         * gst/gstobject.h:
9848         gst_object_has_ancestor() copied from gstbin.c as it is a
9849         usefull function.
9850
9851         * tests/instantiate/create.c: (create_all_elements):
9852         * tests/lat.c: (handoff_src), (handoff_sink):
9853         * tests/sched/runxml.c: (main):
9854         * tests/seeking/seeking1.c: (main):
9855         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9856         (main):
9857         Fix compilation of some tests.
9858
9859 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9860
9861         * gst/gsterror.h:
9862           Remove comment. GST_TYPE_G_ERROR is here to stay,
9863           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
9864           (#316961, #300610).
9865
9866 2005-09-26  Wim Taymans  <wim@fluendo.com>
9867
9868         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9869         Added check that shows error in state change order.
9870
9871 2005-09-26  Wim Taymans  <wim@fluendo.com>
9872
9873         * gst/gstbin.c: (gst_bin_change_state):
9874         Make state change function use 3 queues again, we were
9875         adding elements in the wrong order.
9876
9877         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9878         Some debug info,
9879
9880         * gst/gstpad.c: (gst_pad_dispose):
9881         Added some debug info first.
9882
9883 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
9884
9885         * docs/design/draft-push-pull.txt:
9886         * docs/design/part-events.txt:
9887         * docs/design/part-overview.txt:
9888         * docs/design/part-scheduling.txt:
9889           Replace all _pull_region() with _pull_range()
9890           
9891 2005-09-26  Andy Wingo  <wingo@pobox.com>
9892
9893         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
9894
9895         * check/gst-libs/controller.c: Update for controller api change.
9896
9897         * configure.ac: 
9898         * tests/Makefile.am:
9899         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9900         over by GLib bug 118439.
9901         
9902         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9903         routines to a function.
9904
9905         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9906
9907         * libs/gst/controller/gsthelper.c:
9908         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9909         (gst_object_sync_values): Renamed from sink_values. Ugh.
9910
9911         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9912
9913         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9914         Renamed from controller_key, as it is exported.
9915
9916         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9917
9918 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9919
9920         * gst/Makefile.am:
9921         * gst/gst.h:
9922         * gst/gstpad.h:
9923         * gst/gstpadtemplate.h:
9924         * gst/gstquery.c:
9925         * gst/gstquery.h:
9926         * gst/gstqueryutils.c:
9927         * gst/gstqueryutils.h:
9928           remove queryutils headers after moving the two used functions
9929           to gstquery.  also fixes build problem for gstsiddec
9930
9931 2005-09-26  Michael Smith <msmith@fluendo.com>
9932
9933         * tools/gst-launch.1.in:
9934         Correct documentation in manpage of debug syntax
9935
9936 2005-09-26  Wim Taymans  <wim@fluendo.com>
9937
9938         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9939         (gst_base_src_is_seekable), (gst_base_src_change_state):
9940         Some more debugging info.
9941
9942 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9943
9944         * docs/gst/gstreamer-sections.txt:
9945         * gst/base/gstbasetransform.h:
9946         * gst/gstindex.h:
9947           added more docs
9948
9949 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9950
9951         * docs/gst/.cvsignore:
9952         * docs/gst/tmpl/.cvsignore:
9953         * docs/gst/tmpl/gstpipeline.sgml:
9954         * docs/gst/tmpl/gstplugin.sgml:
9955         * gst/gstpipeline.c:
9956         * gst/gstplugin.c:
9957         * gst/gstplugin.h:
9958           inlined the last two docs files
9959           removed the tmpl directory from cvs (no more conflicts here!)
9960
9961 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9962
9963         * docs/gst/gstreamer-sections.txt:
9964         * docs/gst/tmpl/.cvsignore:
9965         * docs/gst/tmpl/gstpad.sgml:
9966         * docs/gst/tmpl/gstpadtemplate.sgml:
9967         * gst/Makefile.am:
9968         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9969         (gst_pad_finalize), (gst_pad_set_pad_template):
9970         * gst/gstpad.h:
9971         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9972         (gst_pad_template_class_init), (gst_pad_template_init),
9973         (gst_pad_template_dispose), (name_is_valid),
9974         (gst_static_pad_template_get), (gst_pad_template_new),
9975         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
9976         (gst_pad_template_pad_created):
9977         * gst/gstpadtemplate.h:
9978           inlined two more docs
9979           factored gstpadtemplate out of gstpad
9980
9981 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
9982
9983         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9984         (test_children_state_change_order_semi_sink):
9985           Fix test case: we can't rely on a fixed state change order when
9986           going from READY => PAUSED because the sink might commit its 
9987           new state first when the first buffer created by the source 
9988           reaches the sink before the source has finished its change state.
9989           (Test case still fails at times, see #316856, comment 5 onwards)
9990
9991 2005-09-24  Wim Taymans  <wim@fluendo.com>
9992
9993         * docs/design/part-events.txt:
9994         * docs/design/part-gstbus.txt:
9995         * docs/design/part-gstpipeline.txt:
9996         * docs/design/part-messages.txt:
9997         * docs/design/part-overview.txt:
9998         * docs/design/part-segments.txt:
9999         * gst/gstbin.c:
10000         * gst/gstbuffer.c:
10001         * gst/gstclock.c:
10002         * gst/gstelement.c:
10003         * gst/gstevent.c:
10004         * gst/gstfilter.c:
10005         * gst/gstiterator.c:
10006         Various documentation updates.
10007
10008 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10009
10010         * gst/gstclock.h:
10011           Well, that's embarassing.  Luckily we weren't using
10012           GST_CLOCK_DIFF anywhere.
10013
10014 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10015
10016         * common/gtk-doc.mak:
10017           don't fail on building XML, FC4 slave shows a bunch of doc
10018           missing bits that I don't get
10019         * gst/gstpad.c:
10020         * gst/gstpipeline.c:
10021         * gst/gststructure.c:
10022           some doc updates
10023
10024 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10025
10026         * docs/design/part-gstbin.txt:
10027         * docs/design/part-gstbus.txt:
10028         * gst/gstbus.c:
10029           Add blurb about how the bus goes into flushing mode and
10030           drops all messages when its bin goes from READY into NULL 
10031           state.
10032
10033 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10034
10035         * docs/gst/gstreamer-sections.txt:
10036         * gst/gststructure.c: (gst_structure_get_clock_time):
10037         * gst/gststructure.h:
10038           add a method to get a GstClockTime out of a structure
10039
10040 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10041
10042         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10043         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10044           Added test to check state change order in bins (can still be made
10045           to fail here under heavy disk load; bails out with 'Push on pad
10046           fakesink:sink0, but it was not activated in push mode').
10047
10048         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10049           Fix state change order when there is only a semi sink (#316856)
10050
10051         * gst/gstbus.c: (gst_bus_class_init):
10052           Use _class_peek_parent(), not _class_ref(); fix docs to say
10053           'default main context' instead of 'mainloop' where that is
10054           what's meant.
10055
10056         * gst/gstelement.c: (gst_element_commit_state),
10057         (gst_element_set_state):
10058           Fix typos in debug messages
10059
10060 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10061
10062         * docs/README:
10063         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10064         * gst/gstpluginfeature.c:
10065         * gst/gstutils.c:
10066           various doc updates
10067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10068           change an assert into an error until it gets fixed properly
10069
10070 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10071
10072         * docs/gst/gstreamer-sections.txt:
10073         * docs/gst/tmpl/.cvsignore:
10074         * docs/gst/tmpl/gstelement.sgml:
10075         * docs/gst/tmpl/gstinfo.sgml:
10076         * docs/gst/tmpl/gstobject.sgml:
10077         * gst/gstelement.c:
10078         * gst/gstelement.h:
10079         * gst/gstinfo.c:
10080         * gst/gstinfo.h:
10081         * gst/gstobject.c: (gst_object_class_init):
10082         * gst/gstobject.h:
10083           inlined 3 more biiiig doc files and added some missing docs on the fly
10084
10085 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10086
10087         * check/gst/.cvsignore:
10088         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10089         * gst/gstregistryxml.c: (load_plugin),
10090         (gst_registry_xml_save_plugin):
10091           put back source in registry.  add checks for find_plugin.
10092         * testsuite/states/bin.c: (assert_state), (empty_bin),
10093         (test_adding_one_element), (main):
10094         * testsuite/states/locked.c: (main):
10095           some compile/run fixes
10096
10097 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10098
10099         * check/gst/gstvalue.c: (GST_START_TEST):
10100           fix leaks in the test itself
10101
10102 2005-09-22  Wim Taymans  <wim@fluendo.com>
10103
10104         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10105         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10106         (gst_base_sink_query):
10107         Prepare for more accurate position reporting and query
10108         handling.
10109
10110         * gst/gstelement.c: (gst_element_send_event),
10111         (gst_element_set_state):
10112         Add some comment.
10113
10114 2005-09-22  Wim Taymans  <wim@fluendo.com>
10115
10116         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10117         (gst_query_parse_segment):
10118         * gst/gstquery.h:
10119         More documentation.
10120         Add segment query for future use.
10121
10122 2005-09-22  Wim Taymans  <wim@fluendo.com>
10123
10124         * gst/gstbin.c: (gst_bin_add_func):
10125         Some more debug info.
10126
10127         * gst/gstelement.c: (gst_element_send_event):
10128         Simplify send_event
10129
10130         * gst/gstelement.h:
10131         Don't know how flags got broken.
10132
10133         * gst/gstquery.h:
10134         Added new query.
10135
10136 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10137
10138         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10139           Add simplistic test suite for GST_TYPE_DATE serialisation and
10140           deserialisation.
10141
10142 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10143
10144         * docs/gst/gstreamer-sections.txt:
10145         * gst/gststructure.c: (gst_structure_set_valist),
10146         (gst_structure_get_date):
10147         * gst/gststructure.h:
10148         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10149         (gst_date_copy), (gst_value_compare_date),
10150         (gst_value_serialize_date), (gst_value_deserialize_date),
10151         (gst_value_transform_date_string),
10152         (gst_value_transform_string_date), (_gst_value_initialize):
10153         * gst/gstvalue.h:
10154           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10155           bunch of utility functions along with a hack that checks that
10156           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10157           is required. Part of the grand scheme in #170777.
10158
10159 2005-09-22  Andy Wingo  <wingo@pobox.com>
10160
10161         * gst/gstconfig.h.in: Psych out gtk-doc.
10162
10163         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10164
10165         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10166
10167         * tools/gst-inspect.c (print_element_list): Plug some
10168         inconsequential leaks.
10169
10170         * gst/gstregistry.c (gst_registry_get_default): Doc.
10171
10172         * check/gst/gstplugin.c: 
10173         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10174         * gst/gstelementfactory.c (gst_element_factory_create): 
10175         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10176         refcount changes.
10177
10178         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10179         (gst_plugin_feature_load): Doc, don't eat refs.
10180
10181         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10182         (gst_plugin_list_free): Doc.
10183         (gst_plugin_load_file): Doc updates.
10184
10185         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10186         accessors returning refcounted objects, return a ref.
10187
10188         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10189         accessor for caps. IDEMPOTENCE. Oh yes.
10190
10191 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10192
10193         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10194
10195         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10196         (_gst_debug_register_funcptr):
10197           Add mutex to serialise access to the hash table with
10198           the function pointer => function name string mapping;
10199           make that hash table static scope (#316809).
10200
10201         * gst/registries/.cvsignore:
10202           Remove left-over file.
10203
10204 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10205
10206         * docs/pwg/appendix-porting.xml:
10207           And something about newsegment events and caps-on-buffers to
10208           the porting guide (feel free to improve).
10209
10210 2005-09-21  Andy Wingo  <wingo@pobox.com>
10211
10212         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10213         data and event probes on the same pad.
10214         (test_buffer_probe_once): Test that removing probes from within
10215         the probe functions works.
10216
10217 2005-09-21  Andy Wingo  <wingo@pobox.com>
10218
10219         * check/gst/gstutils.c: New file.
10220         (test_buffer_probe_n_times): A simple buffer probe test. More to
10221         come, foolios.
10222
10223         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10224         have-data::buffer, not have-data.
10225         (gst_pad_add_event_probe): Likewise for have-data::event.
10226         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10227         peer' isn't quite right yet though.
10228         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10229         (gst_pad_remove_data_probe): Change to take the guint handler_id
10230         as their arg, not the function+data, which is more glib-like.
10231
10232         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10233         the signal emission to indicate if the data is a buffer or an
10234         event.
10235         (gst_pad_get_type): Initialize buffer and event quarks.
10236         (gst_pad_class_init): have-data is now a detailed signal, yes it
10237         is.
10238
10239 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10240
10241         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10242         * gst/gstutils.c: (gst_util_set_value_from_string),
10243         (gst_util_set_object_arg):
10244           Don't put functional code in g_return_if_fail() or
10245           g_return_val_if_fail() statements, otherwise things will 
10246           break when G_DISABLE_CHECKS is defined during compilation.
10247
10248 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10249
10250         * docs/gst/tmpl/.cvsignore:
10251         * docs/gst/tmpl/gstvalue.sgml:
10252         * gst/gstvalue.c:
10253         * gst/gstvalue.h:
10254           inlied another one and added  some obvious docs
10255
10256 2005-09-21  Wim Taymans  <wim@fluendo.com>
10257
10258         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10259         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10260         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10261         (gst_fdsrc_get_property), (gst_fdsrc_create):
10262         * gst/elements/gstfdsrc.h:
10263         Properly implement fdsrc. Removed signal and timeout,
10264         better implemented somewhere else.
10265
10266 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10267
10268         * docs/gst/tmpl/.cvsignore:
10269         * docs/gst/tmpl/gstimplementsinterface.sgml:
10270         * gst/gstinterface.c:
10271           inlined more docs
10272
10273 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10274
10275         * docs/gst/gstreamer-sections.txt:
10276         * docs/gst/tmpl/.cvsignore:
10277         * docs/gst/tmpl/gstenumtypes.sgml:
10278           remove obsolete doc file
10279
10280 2005-09-21  David Schleef  <ds@schleef.org>
10281
10282         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10283         little beer, fix a little leak.
10284
10285 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10286
10287         * docs/gst/gstreamer-docs.sgml:
10288         * docs/gst/gstreamer-sections.txt:
10289         * docs/gst/tmpl/.cvsignore:
10290         * gst/Makefile.am:
10291         * gst/gst.h:
10292         * gst/gstbin.c:
10293         * gst/gstelement.h:
10294         * gst/gstindex.c: (gst_index_class_init):
10295         * gst/gstindex.h:
10296         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10297         (gst_index_factory_class_init), (gst_index_factory_init),
10298         (gst_index_factory_finalize), (gst_index_factory_new),
10299         (gst_index_factory_destroy), (gst_index_factory_find),
10300         (gst_index_factory_create), (gst_index_factory_make):
10301         * gst/gstindexfactory.h:
10302         * gst/gstpluginfeature.c:
10303         * gst/gstpluginfeature.h:
10304         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10305           more docs inlined, splitted gstindex.{c,h}
10306
10307 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10310           fix a leak
10311
10312 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10313
10314         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10315           Set sync to FALSE by default.
10316
10317 2005-09-20  Wim Taymans  <wim@fluendo.com>
10318
10319         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10320         (gst_base_sink_init):
10321         Make sync property settable from subclass.
10322
10323         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10324         (gst_fake_sink_change_state):
10325         Set sync to FALSE by default.
10326
10327 2005-09-20  Wim Taymans  <wim@fluendo.com>
10328
10329         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10330         * tools/gst-launch.c: (main):
10331         The timeout handler should have lower priority than the source
10332         so we don't timeout before popping a message with 0 timeout.
10333         Dump error messages after failed state change.
10334
10335 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10336
10337         * tools/gst-inspect.c: (print_element_properties_info):
10338           Fix two typos.
10339
10340 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10341
10342         * check/gst/gstevent.c:
10343         * gst/elements/gstfakesink.c:
10344         * gst/elements/gstfakesink.h:
10345           remove the sync property from fakesink.
10346           has the side effect of setting sync TRUE
10347           for fakesink, which is a change.  Anyone who knows how
10348           to fix this nicely in a GObject-y way, feel free.
10349
10350 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10351
10352         * docs/gst/gstreamer-docs.sgml:
10353           remove probe refsection
10354
10355 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10356
10357         * check/Makefile.am:
10358           disable valgrinding the controller test again
10359         * docs/gst/gstreamer-sections.txt:
10360           update for api-changes
10361
10362 2005-09-20  Wim Taymans  <wim@fluendo.com>
10363
10364         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10365         (gst_base_sink_set_property), (gst_base_sink_get_property),
10366         (gst_base_sink_do_sync):
10367         * gst/base/gstbasesink.h:
10368         Added sync property to basesink to disable clock sync.
10369
10370 2005-09-20  Andy Wingo  <wingo@pobox.com>
10371
10372         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10373         eating the caller's refcount.
10374
10375         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10376         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10377         refcount.
10378
10379         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10380         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10381         of GLib 2.8 public, so we can know which refcount to check in
10382         tests.
10383
10384         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10385         (gst_object_init): Only set the gst refcount if we're going ahead
10386         with the refcount hack.
10387
10388 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10389
10390         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10391         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10392           more leaks plumbed, added more debug-logging
10393         * gst/gstmacros.h:
10394           whitespace fix
10395
10396 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10397
10398         * gst/gstmessage.c:
10399           remove include of gstmemchunk.h
10400
10401 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10402
10403         * gst/gstclock.c: (_gst_clock_id_free):
10404           Commit from the Political Party For More Atomic CVS Commits,
10405           so that people don't waste too much of their day fishing
10406           out obvious leaks out of massive commits.
10407           Oh, and fix a pretty damn obvious leak in the memchunk
10408           removal code.
10409
10410 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10411
10412         * check/Makefile.am:
10413         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10414           plug mem-leak, re-add to valgrindable tests
10415
10416 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10417
10418         * gst/gstplugin.h:
10419           unbreak the build for those who have chronic arthritis
10420           and typing "make check" is just too taxing on the hands
10421
10422 2005-09-20  Andy Wingo  <wingo@pobox.com>
10423
10424         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10425         really want it out, you should fix plugins at the same time.
10426
10427 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10428
10429         * configure.ac:
10430         * docs/gst/gstreamer-sections.txt:
10431         * gst/gstobject.c:
10432           added missing symbols to api docs
10433           disable ref-count hack if we have glib >= 2.8
10434
10435 2005-09-19  David Schleef  <ds@schleef.org>
10436
10437         * docs/gst/Makefile.am: Ignore a few more internal headers
10438         * docs/gst/gstreamer-docs.sgml: Remove old sections
10439         * docs/gst/gstreamer-sections.txt: Remove old sections
10440         * docs/gst/tmpl/gstobject.sgml: update
10441         * docs/gst/tmpl/gstplugin.sgml: update
10442         * docs/gst/tmpl/gstpluginfeature.sgml: update
10443         * docs/random/ds/0.9-suggested-changes: update.
10444         * gst/Makefile.am: remove memchunk and trashstack, since they're
10445           not used.
10446         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10447         * gst/gst.h: don't include some headers
10448         * gst/gstchildproxy.c: add gstmarshal.h
10449         * gst/gstclock.c: Don't use memchunks
10450         * gst/gstminiobject.c: Add some docs
10451         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10452         * gst/gstobject.h: same
10453         * gst/gstplugin.c: include gstmacros.h
10454         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10455         * gst/gstquery.c: don't use memchunks
10456         * gst/gstregistry.c: rename gst_registry_deinit()
10457         * gst/gstregistry.h: same
10458
10459 2005-09-19  David Schleef  <ds@schleef.org>
10460
10461         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10462         * docs/libs/gstreamer-libs-sections.txt:
10463         * docs/libs/tmpl/gstgetbits.sgml:
10464         * docs/libs/tmpl/gstputbits.sgml:
10465
10466 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10467
10468         * win32/gstenumtypes.c:
10469         * win32/gstenumtypes.h:
10470           Update.
10471
10472 2005-09-19  Wim Taymans  <wim@fluendo.com>
10473
10474         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10475         Automatically PAUSE and RESUME a pipeline when a flushing seek
10476         is performed.
10477
10478 2005-09-19  Andy Wingo  <wingo@pobox.com>
10479
10480         * gst/gstregistry.h: Spacing fixen.
10481
10482 2005-09-19  Wim Taymans  <wim@fluendo.com>
10483
10484         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10485         Handle state change failure more correctly.
10486
10487 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10488
10489         * check/Makefile.am:
10490         * check/pipelines/cleanup.c: (run_pipeline):
10491         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10492         (GST_START_TEST):
10493           enable cleanup again after fixing the leak
10494         * docs/README:
10495           some more info on docs
10496
10497 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10498
10499         * check/Makefile.am:
10500           re-enable tests now that leaks are plugged
10501         * check/gst/gst.c:
10502         * check/gst/gstbin.c:
10503         * check/gst/gstpipeline.c:
10504           add some more tests while fixing leaks
10505         * common/check.mak:
10506           make sure binaries are uptodate when valgrinding/gdbing
10507         * gst/gst.c:
10508         * gst/gstelementfactory.c:
10509           remove a ref too many, and add a FIXME for when we get
10510           round to disposing of classes
10511         * gst/gstplugin.c:
10512           fix the refcounting when loading a plugin from a file and
10513           the code pretends that the pointer is the same even though
10514           of course it can change
10515         * gst/gstpluginfeature.c:
10516           unref plugins marked cached (a bit confusing as a name)
10517           as the docs state should be done
10518           various doc additions to explain refcounting
10519         * gst/gstregistry.c:
10520         * gst/gstregistryxml.c:
10521           debugging
10522
10523 2005-09-19  Wim Taymans  <wim@fluendo.com>
10524
10525         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10526         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10527         (send_messages), (GST_START_TEST), (gstbus_suite):
10528         * check/gst/gstpipeline.c: (GST_START_TEST):
10529         * check/pipelines/cleanup.c: (run_pipeline):
10530         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10531         (GST_START_TEST):
10532         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10533         (gst_bus_source_check), (gst_bus_source_dispatch),
10534         (gst_bus_create_watch), (gst_bus_add_watch_full),
10535         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10536         * gst/gstbus.h:
10537         * tools/gst-launch.c: (event_loop):
10538         * tools/gst-md5sum.c: (event_loop):
10539         GstBusHandler -> GstBusFunc, return value has the same meaning as
10540         any other GSource (FALSE == remove source).
10541         _add_watch() and _add_watch_full() now take a MessageType mask to
10542         only handle specific types of messages.
10543         _poll() returns the GstMessage instead of the message type to avoid
10544         race conditions.
10545         _have_pending() takes a MessageType mask now too.
10546         Added testsuite for multiple bus watches.
10547         Fix testsuites and applications for new bus API.
10548
10549 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10550
10551         * check/Makefile.am:
10552           mark a bunch of the tests as to fix until we fix them
10553
10554 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10555
10556         * common/check.mak:
10557           use GST_PLUGIN settings for valgrind tests as well, so we're
10558           valgrinding the correct thing
10559         * gst/gst.c: (init_post):
10560           plug another leak
10561
10562 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10563
10564         * gst/gst.c: (init_post), (gst_deinit):
10565         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10566         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10567         * gst/gstindex.c: (gst_index_factory_class_init),
10568         (gst_index_factory_finalize):
10569         * gst/gstobject.c: (gst_object_dispose):
10570         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10571         (gst_plugin_load_file), (gst_plugin_desc_free):
10572         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10573         (gst_plugin_feature_finalize):
10574         * gst/gstregistry.c: (gst_registry_class_init),
10575         (gst_registry_init), (gst_registry_finalize),
10576         (gst_registry_get_default), (gst_registry_deinit):
10577         * gst/gstregistry.h:
10578         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10579           various cleanups and memleak plugging.  make valgrind is happy now.
10580
10581 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10582
10583         * common/check.mak:
10584           add a check-valgrind target
10585
10586 2005-09-18  David Schleef  <ds@schleef.org>
10587
10588         * tools/gst-inspect.c: Revert the GOption code.
10589
10590 2005-09-17  David Schleef  <ds@schleef.org>
10591
10592         * check/Makefile.am: Fix environment variables.
10593         * check/gst/gstplugin.c: Fix for API changes.
10594         * tools/gst-inspect.c: Fix for API changes.
10595         * tools/gst-xmlinspect.c: Fix for API changes.
10596         * gst/gstelementfactory.c:
10597         * gst/gstplugin.c:
10598         * gst/gstplugin.h:
10599         * gst/gstpluginfeature.c:
10600         * gst/gstpluginfeature.h:
10601         * gst/gstregistry.c:
10602         * gst/gstregistry.h:
10603         * gst/gstregistryxml.c:
10604         * gst/gsttypefind.c:
10605         * gst/gsttypefindfactory.c:
10606         * gst/indexers/gstfileindex.c:
10607         * gst/indexers/gstmemindex.c:
10608         * gst/schedulers/Makefile.am:
10609           Change registry to keep track of both plugins and features,
10610           removing the feature tracking from plugins themselves.
10611
10612 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10613
10614         * check/Makefile.am:
10615         * tools/gst-register.1.in:
10616           remove gst-register
10617
10618 2005-09-15  David Schleef  <ds@schleef.org>
10619
10620         * check/gst/gstplugin.c:
10621         * gst/gstelementfactory.c:
10622         * gst/gstplugin.c:
10623         * gst/gstpluginfeature.c:
10624         * gst/gstregistry.c:
10625           Getting tired of debugging.  Disabled all the unreffing of
10626           plugins and features, which fixes the segfaults, but of
10627           course leaks like crazy.  At least playbin works.
10628
10629 2005-09-15  David Schleef  <ds@schleef.org>
10630
10631         * check/gst/gstplugin.c: (register_check_elements),
10632         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10633         More testing
10634         * gst/elements/gsttypefindelement.c: Fix refcounting.
10635         * gst/gsttypefind.c:
10636         * gst/gsttypefindfactory.c:
10637         * gst/gsttypefindfactory.h:
10638
10639 2005-09-15  David Schleef  <ds@schleef.org>
10640
10641         * gst/gstindex.c: get refcounting correct.
10642         * gst/gstregistry.c: Handle the case where a feature/plugin is
10643           not found.
10644
10645 2005-09-15  David Schleef  <ds@schleef.org>
10646
10647         * check/Makefile.am:
10648         * check/gst/gstplugin.c: Add test
10649         * gst/gstplugin.c: Fix problems noticed by testsuite
10650         * gst/gstplugin.h:
10651         * gst/gstregistry.c: 
10652         * gst/gstregistry.h:
10653
10654 2005-09-15  David Schleef  <ds@schleef.org>
10655
10656         * gst/gstplugin.c: Implement semi-decent recounting and locking
10657           in plugins and plugin features.
10658         * gst/gstplugin.h:
10659         * gst/gstpluginfeature.c:
10660         * gst/gstpluginfeature.h:
10661         * gst/gstregistry.c:
10662
10663 2005-09-15  Michael Smith <msmith@fluendo.com>
10664
10665         * gst/gstregistry.c: (gst_registry_get_feature_list):
10666           Implement this. Makes oggdemux work; decodebin still broken.
10667
10668 2005-09-14  David Schleef  <ds@schleef.org>
10669
10670         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10671           #316076)
10672         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10673         * gst/check/Makefile.am:
10674         * libs/gst/controller/Makefile.am:
10675         * libs/gst/dataprotocol/Makefile.am:
10676
10677 2005-09-14  David Schleef  <ds@schleef.org>
10678
10679         * configure.ac: Remove getbits library.  Nothing uses it, and
10680           it should be in something like liboil if someone did want
10681           to use it.
10682         * libs/gst/Makefile.am:
10683         * libs/gst/getbits/Makefile.am:
10684         * libs/gst/getbits/gbtest.c:
10685         * libs/gst/getbits/getbits.c:
10686         * libs/gst/getbits/getbits.h:
10687         * libs/gst/getbits/gstgetbits_generic.c:
10688         * libs/gst/getbits/gstgetbits_i386.s:
10689         * libs/gst/getbits/gstgetbits_inl.h:
10690
10691 2005-09-14  David Schleef  <ds@schleef.org>
10692
10693         * gst/Makefile.am: Dist glib-compat.h
10694
10695 2005-09-14  David Schleef  <ds@schleef.org>
10696
10697         * configure.ac: Remove gst/registries, since it's no longer used.
10698         * gst/registries/Makefile.am:
10699         * gst/registries/gstlibxmlregistry.c:
10700         * gst/registries/gstlibxmlregistry.h:
10701         * gst/registries/gstxmlregistry.c:
10702         * gst/registries/gstxmlregistry.h:
10703         * gst/registries/registrytest.c:
10704
10705 2005-09-14  David Schleef  <ds@schleef.org>
10706
10707         * gst/glib-compat.h:
10708         * gst/gstregistryxml.c:
10709           Convergence is near.  Seriously.
10710
10711 2005-09-14  David Schleef  <ds@schleef.org>
10712
10713         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10714         * gst/glib-compat.h:
10715           Attempt #4 to appease the buildbots.
10716
10717 2005-09-14  David Schleef  <ds@schleef.org>
10718
10719         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10720           Attempt #3.
10721
10722 2005-09-14  David Schleef  <ds@schleef.org>
10723
10724         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10725         Attempt #2.
10726
10727 2005-09-14  David Schleef  <ds@schleef.org>
10728
10729         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10730           the new functions.
10731
10732 2005-09-14  David Schleef  <ds@schleef.org>
10733
10734         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10735         * gst/glib-compat.h: Add some functions that are in newer versions
10736           of glib than we care to require.
10737         * gst/gstregistryxml.c: Use them.
10738
10739 2005-09-14  David Schleef  <ds@schleef.org>
10740
10741         * po/POTFILES.in: remove gst-register.c
10742
10743 2005-09-14  David Schleef  <ds@schleef.org>
10744
10745         * docs/gst/gstreamer-docs.sgml:
10746         * docs/gst/gstreamer-sections.txt:
10747         * docs/gst/gstreamer.types:
10748         * docs/gst/tmpl/gstelement.sgml:
10749         * docs/gst/tmpl/gstplugin.sgml:
10750         * docs/gst/tmpl/gstpluginfeature.sgml:
10751           Documentation updates for registry changes.
10752
10753 2005-09-14  David Schleef  <ds@schleef.org>
10754
10755         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10756           because we don't require glib-2.8.
10757
10758 2005-09-14  David Schleef  <ds@schleef.org>
10759
10760         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10761           registries directory.
10762
10763 2005-09-14  David Schleef  <ds@schleef.org>
10764
10765         * check/Makefile.am:
10766         * check/generic/states.c:
10767         * gst/Makefile.am:
10768         * gst/gst.c:
10769         * gst/gst.h:
10770         * gst/gst_private.h:
10771         * gst/gstelementfactory.c:
10772         * gst/gstindex.c:
10773         * gst/gstinfo.c:
10774         * gst/gstplugin.c:
10775         * gst/gstplugin.h:
10776         * gst/gstpluginfeature.c:
10777         * gst/gstpluginfeature.h:
10778         * gst/gstregistry.c:
10779         * gst/gstregistry.h:
10780         * gst/gstregistrypool.c: remove
10781         * gst/gstregistrypool.h: remove
10782         * gst/gsttypefind.c:
10783         * gst/gsttypefindfactory.c:
10784         * gst/gsturi.c:
10785         * tools/Makefile.am:
10786         * tools/gst-compprep.c:
10787         * tools/gst-inspect.c:
10788         * tools/gst-register.c: remove
10789         * tools/gst-xmlinspect.c:
10790           Registry rewrite.  Changes registry from being a file created
10791           by a tool into a simple cache file created automatically by 
10792           libgstreamer.  Removed gst-register (because it's no longer
10793           needed).  Remove registry pools, because we only have one
10794           registry implementation (XML).  Fix up other subsystems as
10795           necessary.
10796
10797 2005-09-13  Michael Smith <msmith@fluendo.com>
10798
10799         * gst/gstconfig.h.in:
10800           Don't Use windows linking attributes for MinGW. Fixes #316157
10801
10802 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10803
10804         * gst/gstutils.c: (set_state_async_thread_func),
10805         (gst_element_set_state_async):
10806           Apparently people think it's better if this function doesn't
10807           try to set the state to whatever state was asked for on the first
10808           call to this function for any object.  Seriously.
10809
10810 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10811
10812         * check/gst/gstpipeline.c: (GST_START_TEST):
10813         * docs/gst/gstreamer-sections.txt:
10814         * gst/gstutils.c: (set_state_async_thread_func),
10815         (gst_element_set_state_async):
10816         * gst/gstutils.h:
10817           add a "gst_element_set_state_async" method that
10818           sets the state and starts a thread to make sure the state
10819           change completes as best as it can
10820
10821 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10822
10823         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10824           codify design+behaviour in testsuite after discussion
10825
10826 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10827
10828         * docs/gst/tmpl/gstelement.sgml:
10829         * docs/manual/appendix-quotes.xml:
10830           add a quote
10831         * gst/gstelement.c: (gst_element_set_state):
10832           add some debug
10833
10834 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
10835
10836         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10837         (gst_base_transform_prepare_output_buf),
10838         (gst_base_transform_handle_buffer):
10839         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10840         (gst_capsfilter_prepare_buf):
10841           Remove the requirement for sub-classes to call the parent
10842           implementation of prepare_output_buffer with a wrapper function.
10843           
10844         * gst/gsttaglist.h:
10845         * gst/gsttagsetter.h:
10846           Fix #define wrapper
10847
10848 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
10849
10850         * docs/gst/gstreamer-sections.txt:
10851           more doc cleanups
10852
10853 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10854
10855         * docs/gst/gstreamer-sections.txt:
10856         * docs/gst/tmpl/gstelement.sgml:
10857         * docs/gst/tmpl/gstplugin.sgml:
10858         * gst/gstminiobject.c:
10859         * gst/gstvalue.h:
10860           docs now stop throwing warnings
10861
10862 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10863
10864         * docs/gst/gstreamer-sections.txt:
10865         * docs/gst/gstreamer.types:
10866         * docs/gst/tmpl/gstpad.sgml:
10867         * docs/gst/tmpl/gsttypes.sgml:
10868         * gst/base/gstadapter.h:
10869         * gst/base/gstbasesink.h:
10870         * gst/base/gstbasesrc.h:
10871         * gst/gstbin.h:
10872         * gst/gstbuffer.h:
10873         * gst/gstbus.h:
10874         * gst/gstcaps.h:
10875         * gst/gstclock.h:
10876         * gst/gstelement.h:
10877         * gst/gstevent.h:
10878         * gst/gstmessage.h:
10879         * gst/gstpad.h:
10880         * gst/gststructure.c:
10881         * gst/registries/gstlibxmlregistry.h:
10882           various documentation fixes
10883
10884 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10885
10886         * docs/gst/gstreamer-sections.txt:
10887         * docs/gst/tmpl/gstvalue.sgml:
10888           rearrange gstvalue section
10889         * gst/gstutils.c: (gst_element_state_get_name):
10890           NONE -> VOID
10891         * gst/gstvalue.c: (_gst_value_initialize):
10892         * gst/gstvalue.h:
10893           doc updates
10894
10895 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10896
10897         * check/gst-libs/controller.c:
10898           Header include fix.
10899         * gst/base/gstbasetransform.c:
10900         (gst_base_transform_default_prepare_buf),
10901         (gst_base_transform_handle_buffer):
10902         * gst/base/gstbasetransform.h:
10903           Some more basetransform changes and fixes to enable sub-classes
10904           that modify buffer metadata only.
10905         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10906         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10907         (gst_capsfilter_prepare_buf):
10908           If the output pad has fixed allowed caps and input buffers 
10909           don't have any, set the fixed caps on outgoing buffers.
10910
10911 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10912         * check/elements/identity.c: (GST_START_TEST):
10913           Make the error a little clearer when the test fails because
10914           identity made a copy of the buffer.
10915         * docs/gst/gstreamer-sections.txt:
10916           New symbols in gstbasetransform.h
10917         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10918         (gst_base_transform_init), (gst_base_transform_transform_size),
10919         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10920         (gst_base_transform_default_prepare_buf),
10921         (gst_base_transform_get_unit_size),
10922         (gst_base_transform_buffer_alloc),
10923         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10924         (gst_base_transform_change_state),
10925         (gst_base_transform_set_passthrough),
10926         (gst_base_transform_set_in_place),
10927         (gst_base_transform_is_in_place):
10928         * gst/base/gstbasetransform.h:
10929           Change BaseTransform to separate in_place operate from same_caps
10930           output. in_place implies that the element can perform the transform
10931           on incoming buffers in-place, even if the caps on the output are
10932           different.
10933           Sub-class elements can now implement special buffer allocation
10934           methods for outgoing buffers if they wish to.
10935           Big documentation addition.
10936         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10937         * gst/elements/gstelements.c:
10938           Changes for basetransform modifications.
10939         * gst/elements/Makefile.am:
10940         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10941           Compile fix. Extra debug output.
10942
10943 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10944
10945         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10946         (gst_pad_suite):
10947           add tests for valid pad naming
10948         * gst/check/gstcheck.c: (gst_check_log_message_func),
10949         (gst_check_log_critical_func):
10950           add ASSERT_WARNING
10951           remove printing of code, it is fragile when the code contains
10952           % and the line number is enough info
10953         * gst/check/gstcheck.h:
10954         * gst/gstpad.c: (gst_pad_template_new):
10955           fix memleaks
10956
10957 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10958
10959         * configure.ac:
10960           say what CHECK flags we use
10961         * docs/libs/gstreamer-libs.types:
10962         * libs/gst/controller/Makefile.am:
10963         * libs/gst/controller/gst-controller.c:
10964         * libs/gst/controller/gst-controller.h:
10965         * libs/gst/controller/gst-helper.c:
10966         * libs/gst/controller/gst-interpolation.c:
10967         * libs/gst/controller/gstcontroller.c:
10968         * libs/gst/controller/gsthelper.c:
10969         * libs/gst/controller/gstinterpolation.c:
10970         * tools/gst-inspect.c: (print_plugin_info):
10971           we don't use dashes in header names
10972
10973 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10974
10975         * check/Makefile.am:
10976         * check/gst/.cvsignore:
10977         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
10978         (gst_pipeline_suite), (main):
10979           adding a test for pipelines and state changes
10980         * gst/gstutils.c: (get_state_func):
10981           add some debugging
10982         * gstreamer.spec.in:
10983           fix up spec file
10984
10985 2005-09-08  Michael Smith <msmith@fluendo.com>
10986
10987         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
10988         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
10989         (gst_file_src_is_seekable), (gst_file_src_get_size),
10990         (gst_file_src_start):
10991         * gst/elements/gstfilesrc.h:
10992           Various fixes for unseekable, unmmapable, and non-normal files, so
10993           that fallback to read() rather than mmap() works.
10994         * gst/gstevent.c: (gst_event_new_newsegment):
10995           Allow newsegment events with segment_start == segment_end, as will
10996           correctly happen if you use filesrc on a zero-size file, for
10997           example.
10998
10999 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11000
11001         * gst/gstplugin.c: (gst_plugin_load_file):
11002           Call g_module_close when we don't load the module
11003
11004         * gst/registries/gstlibxmlregistry.c:
11005         (gst_xml_registry_get_property):
11006           Port leak fix from 0.8
11007
11008 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11009
11010         * docs/gst/gstreamer-docs.sgml:
11011         * docs/gst/tmpl/.cvsignore:
11012         * docs/gst/tmpl/gsttrace.sgml:
11013         * docs/gst/tmpl/gsttrashstack.sgml:
11014         * gst/Makefile.am:
11015         * gst/gst.h:
11016         * gst/gstelement.h:
11017         * gst/gstevent.h:
11018         * gst/gstmessage.c:
11019         * gst/gstmessage.h:
11020         * gst/gsttag.c:
11021         * gst/gsttag.h:
11022         * gst/gsttaginterface.c:
11023         * gst/gsttaginterface.h:
11024         * gst/gsttaglist.c:
11025         * gst/gsttaglist.h:
11026         * gst/gsttagsetter.c:
11027         * gst/gsttagsetter.h:
11028         * gst/gsttrace.c:
11029         * gst/gsttrace.h:
11030         * gst/gsttrashstack.c:
11031           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11032           inlined docs for gsttrace, gsttrashstack
11033
11034 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11035
11036         * gst/Makefile.am:
11037         * gst/elements/gstbufferstore.h:
11038         * gst/elements/gsttypefindelement.c:
11039         * gst/elements/gsttypefindelement.h:
11040         * gst/gst.h:
11041         * gst/gsttypefind.c:
11042         * gst/gsttypefind.h:
11043         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11044         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11045         (gst_type_find_factory_dispose),
11046         (gst_type_find_factory_unload_thyself),
11047         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11048         (gst_type_find_factory_get_caps),
11049         (gst_type_find_factory_get_extensions),
11050         (gst_type_find_factory_call_function):
11051         * gst/gsttypefindfactory.h:
11052         * gst/registries/gstlibxmlregistry.c:
11053         * gst/registries/gstxmlregistry.c:
11054           splitted gsttypefind into gsttypefind, gsttypefindfactory
11055
11056 2005-09-07  Andy Wingo  <wingo@pobox.com>
11057
11058         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11059         condition whereby the pad's task function is entered before the
11060         pad_mode variable was set.
11061
11062 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11063
11064         * gst/gstpad.c: (gst_pad_alloc_buffer):
11065           Catch misbehaving pad_alloc functions that don't
11066           set up caps and do it for them.
11067
11068 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11069
11070         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11071           test for pipe!=NULL
11072         * docs/gst/tmpl/.cvsignore:
11073         * docs/gst/tmpl/gstmemchunk.sgml:
11074         * docs/gst/tmpl/gstparse.sgml:
11075         * docs/gst/tmpl/gsttaglist.sgml:
11076         * docs/gst/tmpl/gsttagsetter.sgml:
11077         * docs/gst/tmpl/gsttypefind.sgml:
11078         * docs/gst/tmpl/gsttypefindfactory.sgml:
11079         * gst/gstmemchunk.c:
11080         * gst/gstparse.c:
11081         * gst/gsttag.c:
11082         * gst/gsttaginterface.c:
11083         * gst/gsttypefind.c:
11084         * gst/gsttypefind.h:
11085           inlined more docs
11086
11087 === release 0.9.2 ===
11088
11089 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11090
11091         * NEWS:
11092         * RELEASE:
11093         * configure.ac:
11094           releasing 0.9.2, "South"
11095
11096 2005-09-05  Andy Wingo  <wingo@pobox.com>
11097
11098         * gst/registries/gstxmlregistry.h:
11099         * gst/registries/gstxmlregistry.c: Um... resurrect...
11100         
11101         * gst/registries/gstxmlregistry.h:
11102         * gst/registries/gstxmlregistry.c: and update to newer API.
11103         Incidentally they should be a bit faster now that they don't have
11104         to parse the caps.
11105         
11106 2005-09-05  Andy Wingo  <wingo@pobox.com>
11107
11108         * gst/registries/gstxmlregistry.h:
11109         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11110         replaced by the libxml registry a while back
11111
11112 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11113
11114         * docs/gst/tmpl/gstplugin.sgml:
11115         * gst/elements/gstelements.c:
11116         * gst/gst.c:
11117         * gst/gstplugin.c: (gst_plugin_register_func),
11118         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11119         (gst_plugin_get_source):
11120         * gst/gstplugin.h:
11121         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11122         (gst_xml_registry_save_plugin):
11123         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11124         (gst_xml_registry_save_plugin):
11125         * tools/gst-inspect.c: (print_plugin_info):
11126           add a "source" plugin description field, to represent the source
11127           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11128           will set it to PACKAGE, which is automake's idea of the name of
11129           the source project.
11130
11131 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11132
11133         * Makefile.am:
11134         * autogen.sh:
11135         * configure.ac:
11136         * docs/Makefile.am:
11137         * docs/faq/Makefile.am:
11138         * docs/gst/tmpl/gstelement.sgml:
11139         * docs/gst/tmpl/gsttypes.sgml:
11140         * docs/htmlinstall.mak:
11141         * docs/manual/Makefile.am:
11142         * docs/pwg/Makefile.am:
11143           reorganize doc build a little
11144           split out docbook and gtk-doc stuff
11145           have two separate --enable's and enable them through autogen
11146           but disable by default in configure (to be similar to other
11147           projects)
11148         * gstreamer.spec.in:
11149           clean up docs install
11150         * po/af.po:
11151         * po/az.po:
11152         * po/ca.po:
11153         * po/cs.po:
11154         * po/de.po:
11155         * po/en_GB.po:
11156         * po/fr.po:
11157         * po/it.po:
11158         * po/nb.po:
11159         * po/nl.po:
11160         * po/ru.po:
11161         * po/sq.po:
11162         * po/sr.po:
11163         * po/sv.po:
11164         * po/tr.po:
11165         * po/uk.po:
11166         * po/vi.po:
11167           translation updates
11168
11169 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11170
11171         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11172           Add comment.
11173           
11174         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11175         (gst_fake_sink_change_state):
11176           Make state change function thread-safe.
11177           
11178         * gst/gstpad.c: (gst_pad_alloc_buffer):
11179           Set offset on generic buffer allocated by fallback.
11180
11181 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11182
11183         * docs/gst/gstreamer-sections.txt:
11184         * docs/gst/tmpl/gstelement.sgml:
11185         * gst/gstpad.c:
11186         * libs/gst/controller/gst-controller.c:
11187         (gst_controlled_property_set_interpolation_mode),
11188         (gst_controlled_property_new),
11189         (gst_controller_find_controlled_property):
11190          run the wingo-magic script against the docs
11191
11192 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11193
11194         * docs/gst/gstreamer-docs.sgml:
11195         * docs/gst/gstreamer-sections.txt:
11196         * docs/gst/tmpl/.cvsignore:
11197         * docs/gst/tmpl/gstelementdetails.sgml:
11198         * docs/gst/tmpl/gstelementfactory.sgml:
11199         * gst/gst.c:
11200         * gst/gstbus.c:
11201         * gst/gstelementfactory.c:
11202         * gst/gstelementfactory.h:
11203           merged elementdetails docs into elementfactory docs
11204           inlined both
11205
11206 2005-09-02  Andy Wingo  <wingo@pobox.com>
11207
11208         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11209         consider this enum an enum and not a flags.
11210
11211 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11212
11213         * docs/gst/gstreamer-docs.sgml:
11214         * docs/gst/tmpl/.cvsignore:
11215         * docs/gst/tmpl/gstghostpad.sgml:
11216         * docs/gst/tmpl/gstiterator.sgml:
11217         * docs/gst/tmpl/gstmacros.sgml:
11218         * docs/gst/tmpl/gstrealpad.sgml:
11219         * docs/gst/tmpl/gstregistry.sgml:
11220         * docs/gst/tmpl/gstregistrypool.sgml:
11221         * docs/gst/tmpl/gststructure.sgml:
11222         * docs/gst/tmpl/gstsystemclock.sgml:
11223         * docs/gst/tmpl/gsttrace.sgml:
11224         * gst/gstghostpad.c:
11225         * gst/gstmacros.h:
11226         * gst/gstmemchunk.c:
11227         * gst/gstmemchunk.h:
11228         * gst/gstqueue.c:
11229         * gst/gstregistry.c:
11230         * gst/gstregistrypool.c:
11231         * gst/gststructure.c:
11232         * gst/gstsystemclock.c:
11233           more docs inlined
11234
11235 2005-09-02  Andy Wingo  <wingo@pobox.com>
11236
11237         * gst/gstelement.h (GstState): Renamed from GstElementState,
11238         changed to be a normal enum instead of flags.
11239         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11240         munged to be GST_STATE_CHANGE_*.
11241         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11242         work with the new state representation.
11243         (GstStateChange): New enumeration of possible state transitions.
11244         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11245         (GstElementClass::change_state): Pass the GstStateChange along as
11246         an argument. Helps language bindings, so they don't have to use
11247         tricky lock-needing macros like GST_STATE_CHANGE ().
11248
11249         * scripts/update-states (file): New script. Run it on a file to
11250         update it for state naming and API changes. Updates files in
11251         place.
11252
11253         * All files updated for the new API.
11254
11255 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11256
11257         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11258         * gst/gstutils.c: (gst_util_set_value_from_string),
11259         (gst_util_set_object_arg):
11260           fix a bunch of unchecked return values
11261         * tools/gst-complete.c: (main):
11262         * gstreamer.spec.in:
11263           clean up a little
11264
11265 2005-09-01  Wim Taymans  <wim@fluendo.com>
11266
11267         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11268         (gst_base_sink_event), (gst_base_sink_do_sync),
11269         (gst_base_sink_handle_event):
11270         * gst/base/gstbasesink.h:
11271         Handle newsegments more correctly.
11272
11273         * gst/gstbus.c:
11274         Fix docs.
11275
11276         * gst/gstevent.c: (gst_event_new_newsegment):
11277         A newsegment cannot have a start_time of -1
11278
11279 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11280
11281         * win32/gstenumtypes.c:
11282         * win32/gstenumtypes.h:
11283           Update
11284
11285 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11286
11287         * libs/gst/controller/gst-controller.c:
11288         (gst_controlled_property_set_interpolation_mode),
11289         (gst_controlled_property_new):
11290          fixed boolean again
11291
11292 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11293
11294         * docs/faq/gst-uninstalled:
11295           add -good
11296         * gst/gstevent.c:
11297         * gst/gstevent.h:
11298           remove wrong docs
11299         * gst/gstutils.c: (gst_element_link_filtered):
11300         * gst/gstutils.h:
11301           add gst_element_link_filtered
11302
11303 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11304
11305         * docs/gst/gstreamer-docs.sgml:
11306         * docs/gst/gstreamer-sections.txt:
11307         * docs/gst/tmpl/.cvsignore:
11308         * docs/gst/tmpl/gsterror.sgml:
11309         * docs/gst/tmpl/gstfilter.sgml:
11310         * docs/gst/tmpl/gsturihandler.sgml:
11311         * docs/gst/tmpl/gsturitype.sgml:
11312         * docs/gst/tmpl/gstutils.sgml:
11313         * docs/gst/tmpl/gstxml.sgml:
11314         * gst/gsterror.c:
11315         * gst/gsterror.h:
11316         * gst/gstfilter.c:
11317         * gst/gsturi.c:
11318         * gst/gsturitype.c:
11319         * gst/gstutils.c:
11320         * gst/gstxml.c:
11321           inlined more docs, fixed double id-ref
11322
11323 2005-08-31  Wim Taymans  <wim@fluendo.com>
11324
11325         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11326         (gst_base_transform_handle_buffer):
11327         Passthrough elements don't need the caps as they don't care.
11328
11329 2005-08-31  Wim Taymans  <wim@fluendo.com>
11330
11331         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11332         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11333         Don't leak refcounts on buffers.
11334
11335 2005-08-31  Wim Taymans  <wim@fluendo.com>
11336
11337         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11338         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11339         (gst_base_transform_chain), (gst_base_transform_change_state):
11340         * gst/base/gstbasetransform.h:
11341         Handle the case where we are not negotiated more gracefully.
11342
11343 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11344
11345         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11346         (gst_file_src_map_region):
11347           Set READONLY flag on mmap'ed buffers, otherwise
11348           gst_buffer_make_writable() won't work properly (#314708).
11349
11350 2005-08-31  Wim Taymans  <wim@fluendo.com>
11351
11352         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11353         passthrough elements can even do inplace on non writable
11354         buffers (as they don't touch them).
11355
11356 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11357
11358         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11359         (gst_test_mono_source_set_property),
11360         (gst_test_mono_source_class_init), (GST_START_TEST),
11361         (gst_controller_suite):
11362           more tests (hehe I have the most)
11363         * gst/gstbus.c:
11364           describe popping messages whenusing mulltiple sources
11365         * libs/gst/controller/gst-controller.c:
11366         (gst_controlled_property_set_interpolation_mode),
11367         (gst_controlled_property_new):
11368         * libs/gst/controller/gst-controller.h:
11369         * libs/gst/controller/gst-interpolation.c:
11370           implement boolean properties
11371
11372 2005-08-31  Wim Taymans  <wim@fluendo.com>
11373
11374         * gst/gstminiobject.c: (gst_mini_object_ref):
11375         Cannot assert that the refcount has to be positive
11376         since a disposed object can be resurrected.
11377
11378 2005-08-31  Wim Taymans  <wim@fluendo.com>
11379
11380         * gst/gstpad.c: (gst_pad_init):
11381         Revert change, need to first fix badly behaving 
11382         apps.
11383
11384 2005-08-30  Wim Taymans  <wim@fluendo.com>
11385
11386         * check/elements/fakesrc.c: (setup_fakesrc):
11387         * check/elements/identity.c: (setup_identity):
11388         Activate pads before using them.
11389
11390 2005-08-30  Wim Taymans  <wim@fluendo.com>
11391
11392         * gst/base/gstadapter.c: (gst_adapter_flush):
11393         Flushing out 0 bytes is ok for this function.
11394
11395         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11396         no newsegment gives a warning and sets the start/stop to 
11397         invalid.
11398
11399         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11400         (gst_base_transform_set_passthrough):
11401         Some debug info.
11402
11403         * gst/gstminiobject.c: (gst_mini_object_ref):
11404         Check refcount here too.
11405
11406         * gst/gstpad.c: (gst_pad_init):
11407         Pads are initially flushing and refusing data.
11408
11409         * gst/gstutils.c: (gst_element_link_pads_filtered):
11410         When adding a capsfilter element make sure it has the
11411         same state as the parent bin.
11412
11413 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11414
11415         * docs/gst/tmpl/.cvsignore:
11416         * docs/gst/tmpl/gstformat.sgml:
11417         * docs/gst/tmpl/gstversion.sgml:
11418         * gst/gstbus.h:
11419         * gst/gstformat.c:
11420         * gst/gstformat.h:
11421         * gst/gstversion.h.in:
11422           more docs and two more inlined
11423
11424 2005-08-30  Wim Taymans  <wim@fluendo.com>
11425
11426         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11427         Don't sync to clock.
11428
11429 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11430
11431         * docs/gst/gstreamer-sections.txt:
11432           ultral33t func10ns deserve to appear in the docs actually
11433         * docs/gst/tmpl/.cvsignore:
11434         * docs/gst/tmpl/gstcompat.sgml:
11435         * docs/gst/tmpl/gstconfig.sgml:
11436         * gst/check/gstcheck.c:
11437         * gst/gstcompat.h:
11438         * gst/gstconfig.h.in:
11439           inlined more docs
11440
11441 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11442
11443         * docs/gst/tmpl/.cvsignore:
11444         * docs/gst/tmpl/gstquery.sgml:
11445         * docs/gst/tmpl/gstutils.sgml:
11446         * gst/gstquery.c:
11447         * gst/gstquery.h:
11448           inlined and extended docs
11449
11450 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11451
11452         * check/gst-libs/controller.c: (GST_START_TEST),
11453         (gst_controller_suite):
11454           more tests
11455         * docs/gst/tmpl/gstutils.sgml:
11456         * docs/libs/gstreamer-libs-sections.txt:
11457         * docs/libs/tmpl/gstdataprotocol.sgml:
11458           include path fixes
11459         * examples/controller/audio-example.c: (main):
11460           controller example works now
11461         * gst/gstclock.h:
11462           doc fixes
11463         * tools/gst-inspect.c: (print_element_properties_info):
11464           show param spec flags
11465
11466 2005-08-29  Andy Wingo  <wingo@pobox.com>
11467
11468         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11469
11470 2005-08-28  Andy Wingo  <wingo@pobox.com>
11471
11472         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11473         as having two arguments instead of just one. Allows superclasses
11474         to access information on subclasses -- see the terrible for() loop
11475         in gtype.c:g_type_create_instance for the reason why. All callers
11476         changed.
11477
11478 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11479
11480         * docs/design/part-messages.txt:
11481           update info
11482         * docs/gst/tmpl/.cvsignore:
11483         * docs/gst/tmpl/gstcaps.sgml:
11484         * docs/gst/tmpl/gstclock.sgml:
11485         * gst/gstbus.c:
11486         * gst/gstcaps.c:
11487         * gst/gstcaps.h:
11488         * gst/gstclock.c:
11489         * gst/gstclock.h:
11490         * gst/gstmessage.c:
11491           added descriptions for bus and message
11492           inline caps and clock docs
11493
11494 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11495
11496         * gst/gstmessage.c:
11497         * gst/gstmessage.h:
11498           doc fixes
11499
11500 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11501
11502         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11503           fix div-by-zero
11504
11505 2005-08-26  Andy Wingo  <wingo@pobox.com>
11506
11507         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11508         element_set_state's return val.
11509         (test_2_elements): Add test that's been disabled for months.
11510
11511         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11512         can-activate-pull properties.
11513
11514         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11515         can-activate-pull properties. Implement is_seekable so fakesrc can
11516         operate in pull mode.
11517
11518         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11519         properties.
11520         (gst_base_sink_activate, gst_base_sink_activate_pull)
11521         (gst_base_sink_activate_push): Make activation mode choosing work.
11522         Cleanups.
11523         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11524         is right. Make pull mode work. Post an eos before pausing in pull
11525         mode.
11526         (gst_base_sink_change_state): Pay attention to the core's
11527         change_state() return val.
11528         
11529         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11530         has-getrange properties. Cleanups.
11531         
11532         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11533         has_getrange and replace with can_activate_pull and
11534         can_activate_push.
11535
11536         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11537         locking comments. Remove has_loop, has_chain and replace with
11538         can_activate_pull and can_activate_push.
11539
11540 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11541
11542         * configure.ac:
11543         * examples/Makefile.am:
11544         * examples/metadata/Makefile.am:
11545         * examples/metadata/read-metadata.c: (message_loop),
11546         (have_pad_handler), (make_pipeline), (print_tag), (main):
11547           Add metadata reading example that loops over a list of filenames,
11548           dumping any tags found.
11549
11550         * gst/gstbus.c: (gst_bus_dispose):
11551         * gst/gstelement.c: (gst_element_dispose):
11552           Release a few potentially-held references in dispose.
11553
11554 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11555
11556         * docs/gst/tmpl/gstminiobject.sgml:
11557           do *not* add tmpl/*.sgml files to CVS!
11558
11559 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11560
11561         * libs/gst/bytestream/.cvsignore:
11562         * libs/gst/bytestream/Makefile.am:
11563         * libs/gst/bytestream/adapter.c:
11564         * libs/gst/bytestream/adapter.h:
11565         * libs/gst/bytestream/bytestream.c:
11566         * libs/gst/bytestream/bytestream.h:
11567         * libs/gst/bytestream/filepad.c:
11568         * libs/gst/bytestream/filepad.h:
11569           removing obsolete files
11570
11571 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11572
11573         * docs/gst/gstreamer-docs.sgml:
11574         * docs/libs/gstreamer-libs-docs.sgml:
11575           disabed additional index entries again, as this makes docs-gen just
11576           slow and they aren't useful yet
11577         * docs/libs/gstreamer-libs-sections.txt:
11578           little -section.txt cleanup for libs
11579
11580 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11581
11582         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11583         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11584           fix up some debugging
11585         (gst_base_transform_get_unit_size),
11586         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11587         (gst_base_transform_handle_buffer):
11588         * gst/base/gstbasetransform.h:
11589           handle and store timed NEWSEGMENT events so that subclasses that
11590           calculate time by counting samples have a segment_start time they
11591           need to add to their timestamps - see audioresample
11592
11593 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11594
11595         * gst/gstbin.h:
11596           removed ';' from the end of macro defs
11597         * docs/gst/gstreamer-docs.sgml:
11598         * docs/gst/gstreamer-sections.txt:
11599         * docs/gst/tmpl/.cvsignore:
11600         * gst/gstbus.h:
11601         * gst/gstelement.c: (gst_element_class_init),
11602         (gst_element_set_state), (activate_pads),
11603         (gst_element_save_thyself):
11604         * gst/gstevent.c: (gst_event_new_newsegment):
11605         * gst/gstevent.h:
11606         * gst/gstiterator.c:
11607         * gst/gstiterator.h:
11608         * gst/gstpad.c:
11609         * gst/gstprobe.h:
11610         * gst/gstutils.c: (gst_pad_query_convert):
11611         * gst/gstutils.h:
11612           fixed parameter name mismatches between source, header and docs
11613           added some more docs, resolved the last batch of unused elements in
11614           docs (now someone needs to doc them)
11615
11616 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11617
11618         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11619         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11620           don't walk through the plugins backwards.  Where is all this
11621           reversed logic coming from ?
11622
11623 2005-08-25  Wim Taymans  <wim@fluendo.com>
11624
11625         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11626         (gst_base_transform_transform_size),
11627         (gst_base_transform_configure_caps),
11628         (gst_base_transform_get_unit_size),
11629         (gst_base_transform_buffer_alloc),
11630         (gst_base_transform_change_state):
11631         * gst/base/gstbasetransform.h:
11632         Cache caps unit_size.
11633         Make sure we cannot negotiate up and downstream at the
11634         same time.
11635
11636 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11637
11638         * gst/gst.c: (init_pre), (init_post):
11639           register the installed plugin path after the env var
11640         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11641         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11642           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11643           directories, so the tests can prefer uninstalled over installed
11644
11645 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11646
11647         * gst/base/gstbasetransform.h:
11648           comment
11649         * gst/gstpad.c:
11650           add to docs
11651
11652 2005-08-25  Wim Taymans  <wim@fluendo.com>
11653
11654         * gst/gstbin.c: (bin_bus_handler):
11655         Be a bit more conservative about the posted message.
11656         
11657         * gst/gstbus.c: (gst_bus_post):
11658         Some cleanups, warn wrong return values.
11659
11660 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11661
11662         * check/gst/gstbin.c: (GST_START_TEST):
11663         * gst/gstbin.c: (bin_bus_handler):
11664         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11665         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11666         (gst_message_new_warning), (gst_message_new_tag),
11667         (gst_message_new_state_changed), (gst_message_new_segment_start),
11668         (gst_message_new_segment_done), (gst_message_new_custom):
11669         * gst/gstmessage.h:
11670         * tools/gst-launch.c: (event_loop):
11671         * tools/gst-md5sum.c: (event_loop):
11672           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11673
11674 2005-08-25  Wim Taymans  <wim@fluendo.com>
11675
11676         * check/generic/states.c: (GST_START_TEST):
11677         Cleanup can be done at the end.
11678
11679         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11680         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11681         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11682         Oh boy.. Thanks for finding this, Thomas. 
11683
11684 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11685
11686         * docs/gst/gstreamer.types:
11687           added missing types
11688
11689 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11690
11691         * docs/gst/gstreamer-docs.sgml:
11692         * docs/gst/gstreamer-sections.txt:
11693         * docs/gst/tmpl/.cvsignore:
11694         * gst/gstbin.c:
11695         * gst/gstiterator.c:
11696         * gst/gstutils.c:
11697         * gst/registries/gstxmlregistry.h:
11698           added missing classes and symbols (123 more to go)
11699           removed removed symbols from section file
11700           fixed many doc-comments
11701
11702 2005-08-24  Wim Taymans  <wim@fluendo.com>
11703
11704         * check/generic/states.c: (GST_START_TEST):
11705         Make sure all tasks are stopped.
11706
11707         * check/gst/gstbin.c: (GST_START_TEST):
11708         Unref after usage for proper valgrinding.
11709
11710         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11711         Really wait for the task to stop before destroying the
11712         mutex.
11713
11714         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11715         (gst_queue_src_activate_push):
11716         Small cleanups. Don't stop the task when we did not start
11717         it.
11718
11719         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11720         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11721         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11722         (gst_task_join):
11723         * gst/gsttask.h:
11724         Protect the stream lock with the object lock.
11725         Disallow setting the stream lock when running.
11726         Add cleanup_all to wait for the threadpool to finish.
11727         Remove code to autoallocate a mutex if none was provided.
11728         Add _join() to wait for a task to stop.
11729         Protect the thread pool with a global lock.
11730
11731 2005-08-24  Wim Taymans  <wim@fluendo.com>
11732
11733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11734         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11735         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11736         * gst/base/gstbasesink.h:
11737         Handle newsegment events correctly.
11738         Drop buffers out of the segment range.
11739
11740 2005-08-22  Andy Wingo  <wingo@pobox.com>
11741
11742         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11743         macro, implements an interface and gstimplementsinterface for a
11744         new type.
11745
11746 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11747
11748         * check/Makefile.am:
11749         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11750           add a test that does a bunch of state changes on elements
11751           needs some fixing for valgrind
11752         * check/states/sinks.c: (gst_object_suite):
11753           whitespace
11754         * gst/gstcaps.h:
11755           add prototype for gst_caps_is_equal_fixed
11756         * gst/gstplugin.c:
11757         * gst/gstregistrypool.c:
11758           doc fixes
11759
11760 2005-08-24  Andy Wingo  <wingo@pobox.com>
11761
11762         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11763         convert a negative value. Doesn't make much sense. Mostly this is
11764         here to force callers to ensure -1 maps to -1.
11765
11766 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11767
11768         * docs/pwg/advanced-types.xml:
11769           Well done to Michael for catching my deliberate introduction
11770           of this spelling mistake. 
11771         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11772         * gst/gstelement.h:
11773           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11774           unlink pads before removing the element from the bin.
11775
11776 2005-08-24  Andy Wingo  <wingo@pobox.com>
11777
11778         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11779         the same thing as GST_DEBUG=*:4.
11780         (parse_debug_level, parse_debug_category): New helper parsers.
11781
11782 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11783
11784         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11785         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11786         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11787         (gst_base_transform_buffer_alloc),
11788         (gst_base_transform_handle_buffer):
11789           use gboolean return values and pointers to size so we can use the
11790           full GST_BUFFER_SIZE range (guint) for buffer sizes
11791           use GstPadDirection for transform_caps
11792         * gst/base/gstbasetransform.h:
11793           rename get_size to get_unit_size since that's what it is
11794         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11795           use GstPadDirection for transform_caps
11796         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11797         * gst/gstutils.h:
11798           cleanup and debugging
11799
11800 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11801
11802         * gst/gstelement.c: (gst_element_class_init),
11803         (gst_element_set_state), (activate_pads),
11804         (gst_element_save_thyself):
11805         * tools/gst-compprep.c: (main):
11806         * tools/gst-inspect.c: (print_element_properties_info):
11807         * tools/gst-xmlinspect.c: (print_element_properties):
11808           Fixed long standing mem-leak
11809
11810 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11811
11812         * check/gst/gstbin.c: (GST_START_TEST):
11813         * gst/gstbin.c: (bin_bus_handler):
11814         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11815         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11816         (gst_message_new_warning), (gst_message_new_tag),
11817         (gst_message_new_state_changed), (gst_message_new_segment_start),
11818         (gst_message_new_segment_done), (gst_message_new_custom):
11819         * gst/gstmessage.h:
11820         * tools/gst-launch.c: (event_loop):
11821         * tools/gst-md5sum.c: (event_loop):
11822           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11823           that applications can sensibly post custom messages with references
11824           to their own objects.
11825
11826 2005-08-24  Andy Wingo  <wingo@pobox.com>
11827
11828         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11829         already.
11830
11831 2005-08-24  Wim Taymans  <wim@fluendo.com>
11832
11833         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11834         (gst_base_transform_transform_caps),
11835         (gst_base_transform_transform_size),
11836         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11837         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11838         (gst_base_transform_handle_buffer):
11839         * gst/base/gstbasetransform.h:
11840         Many fixes and new features added by Thomas. Can now also do
11841         transforms with variable sizes and a custom fixate_caps function.
11842
11843 2005-08-24  Wim Taymans  <wim@fluendo.com>
11844
11845         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11846         Some debugging.
11847
11848         * gst/gstclock.h:
11849         Cast to ClockTime before formatting to time.
11850
11851         * gst/gstutils.h:
11852         Cleanups.
11853
11854 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11855
11856         * check/gst-libs/controller.c: (GST_START_TEST),
11857         (gst_controller_suite):
11858         * docs/gst/tmpl/gstcaps.sgml:
11859         * docs/gst/tmpl/gstghostpad.sgml:
11860         * docs/gst/tmpl/gstquery.sgml:
11861         * docs/gst/tmpl/gstutils.sgml:
11862         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
11863         (gst_object_sink_values), (gst_object_get_value_arrays),
11864         (gst_object_get_value_array):
11865           gracefully handle helper method calls to objects that are not beeing
11866           controlled, added test case for that          
11867
11868 2005-08-23  Wim Taymans  <wim@fluendo.com>
11869
11870         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
11871         (gst_event_new_newsegment), (gst_event_parse_newsegment),
11872         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
11873         (gst_event_parse_qos), (gst_event_new_seek),
11874         (gst_event_parse_seek):
11875         * gst/gstevent.h:
11876         Some more debugging output and doc cleanups.
11877
11878         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11879         Fix possible deadlock.
11880
11881 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11882
11883         * docs/gst/gstreamer-docs.sgml:
11884         * docs/gst/gstreamer-sections.txt:
11885         * docs/gst/gstreamer.types:
11886         * docs/gst/tmpl/.cvsignore:
11887         * gst/gstbin.h:
11888         * gst/gstbus.c:
11889         * gst/gstelement.c:
11890         * gst/gstevent.h:
11891           added 100 symbols from gstreamer-unused.txt to the right sections
11892           fixed more broken comments
11893           added GstBus to docs
11894
11895 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11896
11897         * docs/gst/gstreamer-sections.txt:
11898         * docs/gst/tmpl/.cvsignore:
11899         * docs/gst/tmpl/gstbin.sgml:
11900         * docs/gst/tmpl/gstbuffer.sgml:
11901         * gst/base/gstbasesrc.c:
11902         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11903         * gst/gstbuffer.c:
11904         * gst/gstbuffer.h:
11905         * tools/gst-launch.1.in:
11906           inlined more doc comments, added missing comments and fixed comments
11907           fixed typos
11908
11909 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11910
11911         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11912           some debugging
11913         * gst/gstcaps.h:
11914           whitespace fixes
11915         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11916           more debugging
11917         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11918         * gst/gststructure.h:
11919           add a fixate function for booleans; add a FIXME that these func
11920           names should probably be gst_structure_fixate_*
11921
11922 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11923
11924         * docs/gst/gstreamer-docs.sgml:
11925         * docs/gst/gstreamer-sections.txt:
11926         * gst/Makefile.am:
11927         * gst/gstbin.c: (gst_bin_get_type),
11928         (gst_bin_child_proxy_get_child_by_index),
11929         (gst_bin_child_proxy_get_children_count),
11930         (gst_bin_child_proxy_init):
11931         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11932         (gst_child_proxy_get_child_by_index),
11933         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11934         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11935         (gst_child_proxy_get), (gst_child_proxy_set_property),
11936         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11937         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11938         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11939         * gst/gstchildproxy.h:
11940         * gst/parse/grammar.y:
11941         * tools/gst-inspect.c: (print_interfaces),
11942         (print_element_properties_info), (print_element_info):
11943           ported gstchildproxy over from 0.8
11944           ported gst-inspect fixes and enhancements over from 0.8
11945
11946 2005-08-22  Wim Taymans  <wim@fluendo.com>
11947
11948         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11949         (gst_base_transform_handle_buffer):
11950         Also call the transform function if we have ANY caps.
11951
11952         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11953         Fix debug info.
11954
11955 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11956
11957         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
11958           Don't pretend to handle seek events if the source is not seekable
11959
11960 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11961
11962         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11963           Remove extra parameter to debug output
11964
11965         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11966         (gst_base_src_do_seek), (gst_base_src_activate_push):
11967           Fix seek event handling.
11968
11969         * gst/gstpipeline.c: (gst_pipeline_change_state):
11970         * gst/gstqueue.c: (gst_queue_handle_sink_event),
11971         (gst_queue_src_activate_push):
11972           Don't start the src pad task on FLUSH_STOP if the pad
11973           isn't linked.
11974           Debug changes.
11975
11976 2005-08-22  Wim Taymans  <wim@fluendo.com>
11977
11978         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11979         Added check for gst_static_caps_get() refcounting.
11980
11981 2005-08-22  Wim Taymans  <wim@fluendo.com>
11982
11983         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
11984         Make _static_caps_get() refcounting sane.
11985         
11986         * gst/gstelement.c: (gst_element_set_state):
11987         Add g_return_val_if_fail() to protect against segfaults.
11988
11989 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
11990
11991         * docs/gst/tmpl/gstevent.sgml:
11992         * gst/gstevent.c:
11993         * gst/gstevent.h:
11994           inlined remaining docs, added missing doc comments
11995
11996 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11997
11998         * check/gst/gstbin.c: (GST_START_TEST):
11999           since we don't know when preroll is done, use refcount range
12000           check for the sink
12001         * gst/check/gstcheck.h:
12002           add macro for checking refcount range
12003
12004 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12005
12006         * check/Makefile.am:
12007           clean up environment for when registry gets built versus
12008           when actual tests are run; valgrind seems to not report
12009           leaks if GST_PLUGIN_PATH is set to some specific values
12010         * check/gst/gstbin.c: (GST_START_TEST):
12011           add more refcounting checks; maybe this exposes a
12012           preroll lock bug ?
12013         * common/check.mak:
12014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12015         * gst/check/gstcheck.h:
12016         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12017         (gst_bin_change_state):
12018         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12019           add/fix debugging/whitespace
12020
12021 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12022
12023         * check/gst/gstevent.c: (event_probe), (test_event),
12024         (GST_START_TEST):
12025          Er, don't call gst_bin_watch_for_state_change you idiot.
12026
12027 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12028
12029         * check/Makefile.am:
12030           Use CHECK_CFLAGS and CHECK_LIBS
12031         * check/gst/gstevent.c: (event_probe), (test_event),
12032         (GST_START_TEST):
12033           Don't leak events.
12034         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12035         (gst_base_src_start), (gst_base_src_stop),
12036         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12037         (gst_base_src_change_state):
12038           Sprinkle gst_base_src_stop liberally around error paths to fix
12039           problems reusing a source after failed state changes.
12040         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12041         (helper_find_suggest), (gst_type_find_helper):
12042           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12043         * gst/gstevent.h:
12044         * docs/gst/tmpl/gstevent.sgml:
12045           Migrate part of the docs from the SGML file. Wait for ensonic to
12046           tell me how I did it wrong ;)
12047         * tools/gst-typefind.c: (main):
12048           Extra robustness to state changes between files.
12049
12050 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12051
12052         * check/Makefile.am:
12053           don't valgrind the controller test - it's leaking - Stefan, HELP
12054         * gst/check/gstcheck.c: (gst_check_message_error),
12055         (gst_check_chain_func), (gst_check_setup_element),
12056         (gst_check_teardown_element), (gst_check_setup_src_pad),
12057         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12058         (gst_check_teardown_sink_pad):
12059         * gst/check/gstcheck.h:
12060           add a bunch of methods to set up elements, and src and sink pads
12061         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12062         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12063         (GST_START_TEST):
12064           use them
12065         * gst/gstmessage.c:
12066         * gst/gsttag.h:
12067           whitespace/doc fixes
12068
12069 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12070
12071         * gst/gstelement.h:
12072           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12073           be handled by the application and not always printed as well
12074
12075 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * check/Makefile.am:
12078           set GST_TOOLS_DIR
12079         * gst/check/gstcheck.c: (gst_check_message_error):
12080         * gst/check/gstcheck.h:
12081           add a fail_unless_equals_int
12082           add fail_unless for error messages
12083
12084 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12085
12086         * check/Makefile.am:
12087         * check/gst.supp:
12088         * common/Makefile.am:
12089         * common/check.mak:
12090         * common/gst.supp:
12091           factor out some of the common stuff so we can use it
12092
12093 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12094
12095         * check/Makefile.am:
12096         * check/gst/gstiterator.c: (GST_START_TEST):
12097         * check/gst/gstsystemclock.c: (GST_START_TEST),
12098         (gst_systemclock_suite):
12099         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12100         * gst/gstclock.c:
12101           valgrind more tests
12102
12103 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12104
12105         * check/elements/.cvsignore:
12106         * check/elements/gstfakesrc.c:
12107           rename to name of element
12108         * check/elements/identity.c: (chain_func), (event_func),
12109         (setup_identity), (cleanup_identity), (GST_START_TEST),
12110         (identity_suite), (main):
12111           add a test for identity
12112         * check/Makefile.am:
12113         * pkgconfig/Makefile.am:
12114         * pkgconfig/gstreamer-check.pc.in:
12115         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12116         * gst/check:
12117         * gst/Makefile.am:
12118         * configure.ac:
12119           move the check stuff to a library that gets installed
12120         * check/gst-libs/controller.c: (GST_START_TEST):
12121         * check/gst-libs/gdp.c:
12122         * check/gst/gst.c: (GST_START_TEST):
12123         * check/gst/gstbin.c:
12124         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12125         * check/gst/gstbus.c:
12126         * check/gst/gstcaps.c: (GST_START_TEST):
12127         * check/gst/gstelement.c:
12128         * check/gst/gstghostpad.c:
12129         * check/gst/gstiterator.c:
12130         * check/gst/gstmessage.c:
12131         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12132         * check/gst/gstobject.c:
12133         * check/gst/gstpad.c: (GST_START_TEST):
12134         * check/gst/gststructure.c: (GST_START_TEST):
12135         * check/gst/gstsystemclock.c: (GST_START_TEST),
12136         (gst_systemclock_suite):
12137         * check/gst/gsttag.c: (gst_tag_suite):
12138         * check/gst/gstvalue.c:
12139         * check/pipelines/cleanup.c:
12140         * check/pipelines/simple_launch_lines.c:
12141         * check/states/sinks.c:
12142           change include statement
12143
12144         * docs/gst/gstreamer-sections.txt:
12145         * docs/gst/tmpl/gstpad.sgml:
12146           document more pad stuff
12147         * gst/gstminiobject.c: (gst_mini_object_ref),
12148         (gst_mini_object_unref):
12149           debug refcounting
12150
12151 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12152
12153         * docs/gst/tmpl/gst.sgml:
12154         * gst/gst.c:
12155           eliminate another tmpl file, fix spelling in the long-description
12156
12157 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12158
12159         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12160         (test_event), (timediff), (gstevents_suite):
12161           Should fix build on 64-bit arch's
12162
12163 2005-08-18  Andy Wingo  <wingo@pobox.com>
12164
12165         Make sure that when a pipeline goes to PLAYING, that data has
12166         actually hit the sink.
12167
12168         * check/states/sinks.c (test_sink): A sink that doesn't get any
12169         data shouldn't return SUCCESS for going to either PLAYING or
12170         PAUSED. Test also the return values on the way back down.
12171
12172         * gst/gstelement.c (gst_element_set_state): When changing the
12173         state of an element currently changing state asynchronously, go to
12174         lost-state after commiting the pending state. Makes future calls
12175         to get_state continue to return ASYNC.
12176
12177         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12178         ASYNC when going to PLAYING if we still don't have preroll, as can
12179         happen with live sources.
12180
12181 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12182
12183         * docs/pwg/advanced-types.xml:
12184           Hack long paragraph into 2 chunks as a workaround for buggy
12185           jadetex version in sid and breezy that loops infinitely and
12186           eats all RAM.
12187
12188 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12189
12190         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12191         (test_event), (timediff), (gstevents_suite):
12192           Provide more error margin in clock measurements to allow for 
12193           g_get_current_time inaccuracies.
12194
12195 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12196
12197         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12198         (test_event), (timediff), (gstevents_suite):
12199            Fix error message output so I might be able to tell why the
12200            test works here but fails on the build farm.
12201
12202 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12203
12204         * check/Makefile.am:
12205         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12206         (test_event), (timediff), (gstevents_suite), (main):
12207           I wrote a test!
12208
12209         * docs/design/part-seeking.txt:
12210           Spelling correction
12211
12212         * docs/gst/tmpl/gstevent.sgml:
12213         * docs/gst/tmpl/gstfakesrc.sgml:
12214           Docs updates.
12215
12216         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12217           Treat a buffer-without-newsegment the same as a receiving 
12218           a newsegment not in time format, and disable syncing to the clock
12219           with a warning.
12220
12221         * gst/gstbus.c: (gst_bus_set_sync_handler):
12222           Assert if anyone tries to replace the existing sync_handler for bus, 
12223           as only the owner should be setting it.
12224
12225         * gst/gstevent.h:
12226           Have a fixed set of custom event enums with events identified by
12227           their structure name (as in 0.8), rather than a free-for-all
12228           allowing collisions between enum values from different plugins.
12229
12230         * gst/gstpad.c: (gst_pad_class_init):
12231           Docs change.
12232           
12233         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12234           Handle out-of-band downstream events from the sending thread.
12235
12236 2005-08-17  Andy Wingo  <wingo@pobox.com>
12237
12238         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12239         play-timeout==0 to mean no timeout at all. In that case, don't
12240         bother with a get_state or a warning, just return directly, even
12241         if it's ASYNC.
12242
12243         * gst/base/gstbasetransform.c: Debug changes.
12244
12245         * gst/gstutils.h:
12246         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12247         ensure bins post state change messages. A bit of a hack but I can't
12248         think of a way to avoid it.
12249
12250         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12251
12252 2005-08-16  Andy Wingo  <wingo@pobox.com>
12253
12254         * gst/base/gstadapter.h:
12255         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12256         peek() but you own the data. Not terribly efficient atm.
12257
12258 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12259
12260         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12261         (gst_element_found_tags):
12262         * gst/gstutils.h:
12263           Add two utility functions for tag handling.
12264
12265 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12266
12267         * docs/manual/advanced-dataaccess.xml:
12268         * docs/manual/basics-helloworld.xml:
12269           Fix docs to use _bin_add() before _link(), which fixes the examples
12270           with recent core versions (reported by Madhan Raj M
12271           <raj_madan@rediffmail.com>, #313199).
12272
12273 2005-08-16  Wim Taymans  <wim@fluendo.com>
12274
12275         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12276         Added subtract checks.
12277
12278         * docs/design/part-events.txt:
12279         Some more docs about newsegment
12280
12281         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12282         Fix FIXME
12283
12284         * gst/gstcaps.c: (gst_caps_to_string):
12285         Add comments, cleanups.
12286         
12287         * gst/gstelement.c: (gst_element_save_thyself):
12288         cleanups
12289         
12290         * gst/gstvalue.c: (gst_value_collect_int_range),
12291         (gst_string_unwrap), (gst_value_union_int_int_range),
12292         (gst_value_union_int_range_int_range),
12293         (gst_value_intersect_int_int_range),
12294         (gst_value_intersect_int_range_int_range),
12295         (gst_value_intersect_double_double_range),
12296         (gst_value_intersect_double_range_double_range),
12297         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12298         (gst_value_subtract_int_range_int),
12299         (gst_value_subtract_double_range_double),
12300         (gst_value_subtract_double_range_double_range),
12301         (gst_value_subtract_from_list), (gst_value_subtract_list),
12302         (gst_value_can_compare), (gst_value_compare_fraction):
12303         Cleanups, add comments, remove unneeded asserts.
12304
12305 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12306
12307         * tools/gst-launch.c: (event_loop):
12308           don't convert NULL structures to strings
12309
12310 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12311
12312         * docs/gst/gstreamer-sections.txt:
12313           made some defines private
12314         * docs/gst/tmpl/gstconfig.sgml:
12315         * docs/gst/tmpl/gstqueue.sgml:
12316         * docs/gst/tmpl/gsttaglist.sgml:
12317         * docs/gst/tmpl/gsttypes.sgml:
12318         * docs/gst/tmpl/gstutils.sgml:
12319         * docs/pwg/appendix-porting.xml:
12320         * gst/base/gstbasesink.h:
12321         * gst/base/gstbasesrc.c:
12322         * gst/base/gstbasesrc.h:
12323         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12324         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12325         * gst/gstelement.c: (gst_element_class_init):
12326         * gst/gstpad.c: (gst_pad_class_init):
12327         * gst/gstqueue.c: (gst_queue_class_init):
12328         * gst/gstxml.c: (gst_xml_class_init):
12329           documented all undocumented signal inline
12330         * libs/gst/controller/gst-controller.h:
12331           added padding
12332
12333 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12334
12335         * docs/pwg/appendix-porting.xml:
12336           Document _set_link_function -> _set_setcaps_function.
12337
12338 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12339
12340         * check/Makefile.am:
12341           add a .check target for running the check
12342         * check/gst-libs/controller.c: (GST_START_TEST):
12343           cosmetic fixups
12344         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12345           complete checks for gstbuffer; would be nice if I could get the
12346           gcov stuff to work so I can see if I actually completed gstbuffer.c
12347         * check/gstcheck.h:
12348           add ASSERT_BUFFER_REFCOUNT
12349
12350 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12351
12352         * docs/gst/gstreamer-sections.txt:
12353         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12354         * gst/gsttag.h:
12355           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12356           spew out a warning if a tag that is already registered
12357           is re-registered, unless it is re-registered with a 
12358           different type (#308438).
12359
12360 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12361
12362         * docs/pwg/appendix-porting.xml:
12363         * docs/pwg/building-state.xml:
12364           Add some paragraphs about state changes in 0.9 to the PWG
12365           and the porting guide, in particular about the new meaning
12366           of GST_STATE_PAUSED and how to write state change functions
12367           with concurrent access by multiple threads in mind.
12368
12369 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12370
12371         * docs/gst/gstreamer-docs.sgml:
12372         * docs/libs/gstreamer-libs-docs.sgml:
12373           added deprecation and since indexes
12374         * libs/gst/controller/gst-controller.c:
12375         * libs/gst/controller/gst-helper.c:
12376           added since tags
12377
12378
12379 2005-08-11  Wim Taymans  <wim@fluendo.com>
12380
12381         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12382         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12383         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12384         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12385         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12386         (gst_ghost_pad_set_target):
12387         Actually implement (re)setting the target on a ghostpad
12388         as described in the docs.
12389
12390 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12391
12392         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12393           Check whether GST_DEBUG_NO_COLOR environment variable is
12394           set and disable coloured debug output if that is the case.
12395
12396 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12397
12398         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12399         (gst_type_find_helper):
12400           The memory returned by gst_type_find_peek() needs to
12401           stay valid until the end of a typefind function, and
12402           typefind functions may keep results from different 
12403           offsets around, so we can't just unref the buffer from
12404           the previous _peek(), but have to save all buffers 
12405           returned by _peek() until typefinding is done and only
12406           free them then.
12407
12408 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12409
12410         * docs/gst/gstreamer-sections.txt:
12411         * gst/gstutils.h:
12412           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12413
12414 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12415
12416         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12417           Fix a pretty good memleak.
12418
12419 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12420
12421         * gst/gstiterator.h:
12422           Fix wrong include and 'make distcheck'.
12423
12424 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12425
12426         * gst/gstbin.c: (bin_bus_handler):
12427           Use gst_element_post_message() instead.
12428
12429 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12430
12431         * gst/base/gstadapter.h:
12432         * gst/base/gstbasesink.h:
12433         * gst/base/gstbasesrc.h:
12434         * gst/base/gstbasetransform.h:
12435         * gst/base/gstcollectpads.h:
12436         * gst/base/gstpushsrc.h:
12437         * gst/gstiterator.h:
12438           Add padding to our base elements' class and instance structs and
12439           to GstIterator (you will need to rebuild all plugins and apps!)
12440
12441 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12442
12443         * gst/gstbin.c: (bin_bus_handler):
12444           Make default message forwarding from child->bus to bin->bus
12445           threadsafe and make it not emit warnings if the parent has no bus.
12446
12447 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12448
12449         * gst/gstelement.c: (activate_pads):
12450           On paused->ready, set pad->caps to NULL, as is the documented
12451           behaviour in this state change. Fixes playback of series of
12452           media files when visualization is enabled in Totem.
12453
12454 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12455
12456         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12457           Allow NULL as filter-caps (which means "any").
12458
12459 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12460
12461         * docs/libs/gstreamer-libs-sections.txt:
12462         * libs/gst/controller/gst-controller.c:
12463         * libs/gst/controller/gst-controller.h:
12464         * libs/gst/controller/gst-helper.c:
12465           adding more entries to the docs and fix small doc-bugs
12466
12467 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12468
12469         * docs/gst/gstreamer-docs.sgml:
12470         * docs/gst/gstreamer-sections.txt:
12471         * docs/gst/gstreamer.types:
12472         * docs/gst/tmpl/gstbasesink.sgml:
12473         * docs/gst/tmpl/gstbasesrc.sgml:
12474         * docs/gst/tmpl/gstbasetransform.sgml:
12475         * docs/gst/tmpl/gstfakesrc.sgml:
12476         * gst/base/gstcollectpads.c:
12477         * gst/base/gstcollectpads.h:
12478         * libs/gst/controller/gst-controller.c:
12479         * libs/gst/controller/gst-controller.h:
12480         * libs/gst/controller/gst-helper.c:
12481         * libs/gst/controller/gst-interpolation.c:
12482         * libs/gst/controller/lib.c:
12483           added long/short desc for controller docs
12484           added collectpads base class docs
12485           added correct includes to base-class docs
12486
12487 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12488
12489         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12490         (gst_test_mono_source_set_property),
12491         (gst_test_mono_source_class_init), (GST_START_TEST),
12492         (gst_controller_suite):
12493         * docs/gst/gstreamer-docs.sgml:
12494         * docs/gst/gstreamer-sections.txt:
12495         * docs/gst/gstreamer.types:
12496         * docs/libs/gstreamer-libs-docs.sgml:
12497         * docs/libs/gstreamer-libs-sections.txt:
12498         * gst/base/gstadapter.c:
12499         * libs/gst/controller/gst-controller.c:
12500         (gst_controlled_property_new), (gst_controlled_property_free),
12501         (gst_controller_new_valist),
12502         (gst_controller_remove_properties_valist),
12503         (gst_controller_sink_values), (_gst_controller_finalize):
12504         * libs/gst/controller/gst-controller.h:
12505         * libs/gst/controller/gst-helper.c:
12506         (gst_object_control_properties), (gst_object_uncontrol_properties),
12507         (gst_object_get_controller), (gst_object_set_controller),
12508         (gst_object_sink_values), (gst_object_get_value_arrays),
12509         (gst_object_get_value_array):
12510           more tests (and fixes) for the controller
12511           more docs for the controller
12512           integrated companies docs for the adapter 
12513
12514 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12515
12516         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12517         (GST_START_TEST), (fakesrc_suite):
12518           add tests for sizetype
12519
12520 2005-08-04  Andy Wingo  <wingo@pobox.com>
12521
12522         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12523         fixes buffer_alloc proxying among other things.
12524
12525         * gst/base/gstbasetransform.c:
12526         * gst/base/gstbasetransform.h:
12527         Revert patch to gstbasetransform from 7-28 removing
12528         delay_configure.
12529
12530         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12531         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12532         Semantics changed, should return not the size of the output buffer
12533         but the byte size of a buffer with a given caps.
12534
12535         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12536         debug object.
12537         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12538         out) are not the pad caps until setcaps finishes.
12539         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12540         not-in-place case as well. Deal with changing from in-place to
12541         not-in-place within calling pad_alloc_buffer. Still a bit
12542         concerned about the overhead here...
12543
12544 2005-08-03  Andy Wingo  <wingo@pobox.com>
12545
12546         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12547         fixating is an error.
12548
12549 2005-08-04  Edward Hervey  <edward@fluendo.com>
12550
12551         * gst/base/gstadapter.h: 
12552         Added gst_adapter_get_type() to the header
12553
12554 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12555
12556         * check/Makefile.am:
12557         * check/gst-libs/controller.c:
12558         * libs/gst/controller/gst-controller.c:
12559         (gst_controller_new_valist):
12560           added check test suite for the controller
12561         * gst/base/gstpushsrc.c:
12562           fixed a doc typo
12563
12564 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12565
12566         * docs/gst/Makefile.am:
12567         * docs/gst/gstreamer-docs.sgml:
12568         * docs/gst/gstreamer-sections.txt:
12569         * docs/gst/gstreamer.types:
12570         * docs/gst/tmpl/gstfakesrc.sgml:
12571         * gst/base/README:
12572         * gst/base/gstbasesink.c:
12573         * gst/base/gstbasesink.h:
12574         * gst/base/gstbasesrc.c:
12575         * gst/base/gstbasesrc.h:
12576         * gst/base/gstbasetransform.c:
12577         * gst/base/gstpushsrc.c:
12578         * gst/base/gstpushsrc.h:
12579           add short/long description docs to base classes
12580           add pushsrc to the docs
12581           remove consolidated doc fragments
12582
12583 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12584
12585         * configure.ac:
12586         * docs/libs/Makefile.am:
12587         * docs/libs/gstreamer-libs-docs.sgml:
12588         * docs/libs/gstreamer-libs-sections.txt:
12589         * docs/libs/gstreamer-libs.types:
12590         * examples/Makefile.am:
12591         * examples/controller/.cvsignore:
12592         * examples/controller/Makefile.am:
12593         * examples/controller/audio-example.c: (main):
12594         * libs/gst/Makefile.am:
12595         * libs/gst/controller/.cvsignore:
12596         * libs/gst/controller/Makefile.am:
12597         * libs/gst/controller/gst-controller.c:
12598         (on_object_controlled_property_changed), (gst_timed_value_compare),
12599         (gst_timed_value_find),
12600         (gst_controlled_property_set_interpolation_mode),
12601         (gst_controlled_property_new), (gst_controlled_property_free),
12602         (gst_controller_find_controlled_property),
12603         (gst_controller_new_valist), (gst_controller_new),
12604         (gst_controller_remove_properties_valist),
12605         (gst_controller_remove_properties), (gst_controller_set),
12606         (gst_controller_set_from_list), (gst_controller_unset),
12607         (gst_controller_get), (gst_controller_get_all),
12608         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12609         (gst_controller_get_value_array),
12610         (gst_controller_set_interpolation_mode),
12611         (_gst_controller_finalize), (_gst_controller_init),
12612         (_gst_controller_class_init), (gst_controller_get_type):
12613         * libs/gst/controller/gst-controller.h:
12614         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12615         (g_object_uncontrol_properties), (g_object_get_controller),
12616         (g_object_set_controller), (g_object_sink_values),
12617         (g_object_get_value_arrays), (g_object_get_value_array):
12618         * libs/gst/controller/gst-interpolation.c:
12619         (gst_controlled_property_find_timed_value_node),
12620         (interpolate_none_get), (interpolate_trigger_get),
12621         (interpolate_trigger_get_value_array):
12622         * libs/gst/controller/lib.c: (gst_controller_init):
12623         * pkgconfig/Makefile.am:
12624         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12625         * pkgconfig/gstreamer-control.pc.in:
12626         * testsuite/Makefile.am:
12627         * testsuite/controller/.cvsignore:
12628         * testsuite/controller/Makefile.am:
12629         * testsuite/controller/interpolator.c: (main):
12630           added controller code
12631           removed dparam pc files
12632
12633 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12634         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12635         (gst_collectpads_stop):
12636           Broadcast the condition when shutting down, to make sure we wake all
12637           threads up. Shut down pads on finalize, for safety.
12638
12639 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12640         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12641         (gst_base_transform_handle_buffer),
12642         (gst_base_transform_change_state):
12643           Handle PAUSED->READY->PAUSED transition after negotiation
12644           occurred already.
12645         * gst/gstmessage.c: (gst_message_init):
12646           Extra piece of debug for new messages.
12647
12648 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12649
12650         * configure.ac:
12651         * docs/gst/tmpl/gstbasesrc.sgml:
12652         * docs/gst/tmpl/gstelement.sgml:
12653         * docs/gst/tmpl/gstevent.sgml:
12654         * docs/gst/tmpl/gstfakesrc.sgml:
12655         * docs/gst/tmpl/gstformat.sgml:
12656         * docs/gst/tmpl/gstghostpad.sgml:
12657         * docs/gst/tmpl/gstpad.sgml:
12658         * docs/gst/tmpl/gstquery.sgml:
12659         * docs/gst/tmpl/gststructure.sgml:
12660         * docs/gst/tmpl/gsttaglist.sgml:
12661         * docs/gst/tmpl/gstvalue.sgml:
12662         * docs/libs/gstreamer-libs-docs.sgml:
12663         * docs/libs/gstreamer-libs-sections.txt:
12664         * docs/libs/gstreamer-libs.types:
12665         * libs/gst/Makefile.am:
12666         * libs/gst/control/.cvsignore:
12667         * libs/gst/control/Makefile.am:
12668         * libs/gst/control/control.c:
12669         * libs/gst/control/control.h:
12670         * libs/gst/control/dparam.c:
12671         * libs/gst/control/dparam.h:
12672         * libs/gst/control/dparam_smooth.c:
12673         * libs/gst/control/dparam_smooth.h:
12674         * libs/gst/control/dparamcommon.h:
12675         * libs/gst/control/dparammanager.c:
12676         * libs/gst/control/dparammanager.h:
12677         * libs/gst/control/dplinearinterp.c:
12678         * libs/gst/control/dplinearinterp.h:
12679         * libs/gst/control/unitconvert.c:
12680         * libs/gst/control/unitconvert.h:
12681         * testsuite/Makefile.am:
12682         * testsuite/dynparams/.cvsignore:
12683         * testsuite/dynparams/Makefile.am:
12684         * testsuite/dynparams/dparamstest.c:
12685         * tools/Makefile.am:
12686         * tools/gst-inspect.c: (print_element_info), (main):
12687         * tools/gst-xmlinspect.c: (print_element_info), (main):
12688           deactivate and remove dparams (libgstcontrol)
12689
12690 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12691
12692         * gst/elements/gsttypefindelement.c:
12693         (gst_type_find_element_have_type), (gst_type_find_element_init),
12694         (stop_typefinding), (gst_type_find_element_handle_event),
12695         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12696         * gst/elements/gsttypefindelement.h:
12697           Set caps on all outgoing buffers, not just the first one.
12698
12699 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12700
12701         * gst/elements/gsttypefindelement.c:
12702         (gst_type_find_element_have_type),
12703         (gst_type_find_element_check_set_buffer_caps),
12704         (gst_type_find_element_init), (stop_typefinding),
12705         (gst_type_find_element_handle_event),
12706         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12707         * gst/elements/gsttypefindelement.h:
12708           Set caps on first outgoing buffer when we've found the type.
12709
12710 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12711
12712         * docs/gst/gstreamer-docs.sgml:
12713         * docs/gst/gstreamer-sections.txt:
12714         * docs/gst/tmpl/gstscheduler.sgml:
12715         * docs/gst/tmpl/gstschedulerfactory.sgml:
12716           Remove some old cruft from docs.
12717
12718 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12719
12720         * gst/gstpad.h:
12721           Fix inline docs for GstPadLinkReturn.
12722           
12723         * gst/gststructure.c: (gst_structure_has_name):
12724         * gst/gststructure.h:
12725         * docs/gst/gstreamer-sections.txt:
12726           New API: gst_structure_has_name().
12727
12728 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12729
12730         * configure.ac:
12731           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12732           and _LARGEFILE_SOURCE in config.h as required. Do not 
12733           export those flags in our .pc files any longer (#142209).
12734
12735           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12736
12737         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12738         (gst_file_sink_do_seek), (gst_file_sink_event),
12739         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12740           Redo seek/tell calls with large file support in mind; add some
12741           debugging messages; add log message that tells us when large
12742           file support is unavailable or not enabled for some reason.
12743
12744         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12745           Add log message that tells us when large file support 
12746           is unavailable or not enabled for some reason.
12747
12748 2005-07-29  Wim Taymans  <wim@fluendo.com>
12749
12750         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12751         Added test for removing an element with ghostpad from a bin.
12752         Fixed test as current implementation does the right thing.
12753
12754         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12755         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12756         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12757         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12758         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12759         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12760         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12761         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12762         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12763         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12764         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12765         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12766         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12767         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12768         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12769         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12770         * gst/gstghostpad.h:
12771         Clean up ghostpads, remove properties for internal stuff.
12772         Make threadsafe.
12773         Fix refcounting.
12774         Prepare for switching targets, not all use cases work yet.
12775
12776 2005-07-29  Wim Taymans  <wim@fluendo.com>
12777
12778         * docs/design/part-gstghostpad.txt:
12779         Small update.
12780
12781         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12782         (gst_bin_remove_func):
12783         Unlinking pads while holding the bin LOCK is not a good
12784         idea.
12785
12786         * gst/gstpad.c: (gst_pad_class_init),
12787         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12788         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12789         No prob setting template after creating the pad.
12790
12791 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12792
12793         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12794         (gst_bus_peek), (gst_bus_source_dispatch),
12795         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12796         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12797           gst_bus_poll may be called from other threads. Handle
12798           this nicely by not making poll_data disappear off the
12799           stack once gst_bus_poll returns.
12800           gst_bus_peek now increments the refcount on the returned
12801           message.
12802
12803 2005-07-29  Wim Taymans  <wim@fluendo.com>
12804
12805         * docs/design/part-gstghostpad.txt:
12806         Overview of current GhostPad datastructures and use
12807         cases for changing the target.
12808
12809 2005-07-28  Wim Taymans  <wim@fluendo.com>
12810
12811         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12812         Added checks for hierarchy consistency whan adding linked
12813         elements to bins.
12814
12815         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12816         Added check to test element scheduling without bin/pipeline.
12817
12818         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12819         First add elements to bin, then link.
12820         
12821         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12822         (gst_bin_remove_func):
12823         Unlink pads from elements added/removed from bin to maintain
12824         hierarchy consistency.
12825
12826 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12827
12828         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12829         (gst_base_transform_handle_buffer):
12830         * gst/base/gstbasetransform.h:
12831           Remove broken delay_configure (fixes renegotiation of software
12832           scaling pipelines); remove some leftover printf()s.
12833
12834 2005-07-28  Wim Taymans  <wim@fluendo.com>
12835
12836         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12837         Added some more tests for wrong hierarchy
12838
12839         * docs/design/part-overview.txt:
12840         Some updates.
12841
12842         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12843         Cleanups.
12844
12845         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12846         (gst_element_dispose):
12847         Some more cleanups.
12848
12849         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12850         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12851         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12852         (gst_pad_set_caps), (gst_pad_send_event):
12853         Check for correct hierarchy when linking pads. Moving to
12854         strict requirement for ghostpads when linking elements in
12855         different bins.
12856
12857         * gst/gstpad.h:
12858         Clean ups. Added WRONG_HIERARCHY return value.
12859
12860 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12861
12862         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12863           Better debug if no transform is possible.
12864
12865 2005-07-27  Wim Taymans  <wim@fluendo.com>
12866
12867         * docs/random/wtay/network-transp:
12868         Some old doc I had.
12869
12870 2005-07-27  Wim Taymans  <wim@fluendo.com>
12871
12872         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12873         (gst_dp_event_from_packet):
12874         Fix serialization of seek events.
12875
12876 2005-07-27  Wim Taymans  <wim@fluendo.com>
12877
12878         * check/gst-libs/gdp.c: (GST_START_TEST):
12879         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12880         Fix compilation and fix event serialization.
12881
12882 2005-07-27  Wim Taymans  <wim@fluendo.com>
12883
12884         * CHANGES-0.9:
12885         * docs/design/part-TODO.txt:
12886         * docs/design/part-events.txt:
12887         Some docs updates
12888
12889         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12890         (gst_base_sink_event), (gst_base_sink_do_sync),
12891         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12892         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12893         (gst_base_src_do_seek), (gst_base_src_event_handler),
12894         (gst_base_src_loop):
12895         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12896         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12897         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12898         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12899         (gst_base_transform_set_passthrough),
12900         (gst_base_transform_is_passthrough):
12901         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12902         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12903         Event updates.
12904
12905         * gst/gstbuffer.h:
12906         Use faster casts.
12907
12908         * gst/gstelement.c: (gst_element_seek):
12909         * gst/gstelement.h:
12910         Update gst_element_seek.
12911
12912         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12913         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12914         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12915         (gst_event_new_eos), (gst_event_new_newsegment),
12916         (gst_event_parse_newsegment), (gst_event_new_tag),
12917         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12918         (gst_event_parse_qos), (gst_event_new_seek),
12919         (gst_event_parse_seek), (gst_event_new_navigation):
12920         * gst/gstevent.h:
12921         Make GstEvent use GstStructure. Add parsing code, make sure the
12922         API is sufficiently generic.
12923         Mark possible directions of events and serialization.
12924
12925         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12926         (_gst_message_copy), (gst_message_new_segment_start),
12927         (gst_message_new_segment_done), (gst_message_new_custom),
12928         (gst_message_parse_segment_start),
12929         (gst_message_parse_segment_done):
12930         Small cleanups.
12931
12932         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12933         (gst_pad_set_caps), (gst_pad_send_event):
12934         Update for new events. 
12935         Catch events sent in wrong directions.
12936
12937         * gst/gstqueue.c: (gst_queue_link_src),
12938         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12939         (gst_queue_handle_src_query):
12940         Event updates.
12941
12942         * gst/gsttag.c:
12943         * gst/gsttag.h:
12944         Remove event code from this file.
12945
12946         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12947         (gst_dp_event_from_packet):
12948         Event updates.
12949
12950 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12951
12952         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12953         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12954         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12955           Make debugging actually useful.
12956
12957 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12958
12959         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
12960         (gst_pad_fixate_caps):
12961           Implement default fixation once again, so that gst_pad_fixate()
12962           actually does anything at all. This probably needs to be some
12963           sort of a last resort, and use profile-based fixation first, but
12964           since that doesn't exist yet, this is the best we have. Fixes
12965           visualization in Totem.
12966
12967 2005-07-22  Wim Taymans  <wim@fluendo.com>
12968
12969         * docs/design/part-events.txt:
12970         Small update.
12971
12972         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12973         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
12974         (gst_base_sink_activate_pull):
12975         Some more comments.
12976
12977         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
12978         (gst_fake_src_create):
12979         Fix handoff marshall.
12980
12981         * gst/elements/gstidentity.c: (gst_identity_class_init),
12982         (gst_identity_transform_ip):
12983         We're a real inplace element.
12984
12985         * gst/gstbus.c: (gst_bus_post):
12986         Added some comments.
12987
12988         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
12989         * tests/muxing/case1.c: (main):
12990         * tests/sched/dynamic-pipeline.c: (main):
12991         * tests/sched/interrupt1.c: (main):
12992         * tests/sched/interrupt2.c: (main):
12993         * tests/sched/interrupt3.c: (main):
12994         * tests/sched/runxml.c: (main):
12995         * tests/sched/sched-stress.c: (main):
12996         * tests/seeking/seeking1.c: (event_received), (main):
12997         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12998         (main):
12999         * tests/threadstate/threadstate3.c: (main):
13000         * tests/threadstate/threadstate4.c: (main):
13001         * tests/threadstate/threadstate5.c: (main):
13002         Fix the tests.
13003
13004 2005-07-21  Wim Taymans  <wim@fluendo.com>
13005
13006         * docs/design/part-seeking.txt:
13007         Some small additions.
13008
13009         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13010         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13011         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13012         * gst/base/gstbasesink.h:
13013         discont values are gint64, handle the math correctly.
13014
13015         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13016         Make the basesrc report error if the source pad is not linked.
13017
13018         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13019         (gst_queue_loop), (gst_queue_handle_src_query),
13020         (gst_queue_src_activate_push):
13021         Make queue collect data even if the srcpad is not linked.
13022         Start pushing out data as soon as it is linked.
13023
13024         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13025         * gst/gstutils.h:
13026         Added gst_flow_get_name() to ease error reporting.
13027
13028 2005-07-20  Wim Taymans  <wim@fluendo.com>
13029
13030         * gst/gstmessage.c: (gst_message_new_segment_start),
13031         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13032         (gst_message_parse_segment_done):
13033         * gst/gstmessage.h:
13034         Added a bunch of messages for advanced seeking.
13035
13036         * gst/parse/grammar.y:
13037         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13038         (gst_dpman_state_changed):
13039         Fix some new-pad -> pad-added signals
13040
13041 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13042
13043         * docs/manual/appendix-porting.xml:
13044         * docs/pwg/appendix-porting.xml:
13045           Document new-pad/state-change signal renames and the FixedList
13046           type rename.
13047
13048 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13049
13050         * docs/manual/advanced-autoplugging.xml:
13051         * docs/manual/basics-helloworld.xml:
13052         * docs/manual/basics-pads.xml:
13053         * docs/random/ds/0.9-suggested-changes:
13054         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13055         * gst/gstelement.h:
13056         * gst/gstevent.h:
13057         * gst/gstformat.h:
13058         * gst/gstquery.h:
13059         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13060         (gst_structure_parse_array), (gst_structure_parse_value):
13061         * gst/gstvalue.c: (gst_type_is_fixed),
13062         (gst_value_list_prepend_value), (gst_value_list_append_value),
13063         (gst_value_list_get_size), (gst_value_list_get_value),
13064         (gst_value_transform_array_string), (gst_value_serialize_array),
13065         (gst_value_deserialize_array), (gst_value_intersect_array),
13066         (gst_value_is_fixed), (_gst_value_initialize):
13067         * gst/gstvalue.h:
13068           GstElement::new-pad -> pad-added, GstElement::state-change ->
13069           state-changed, GstValueFixedList -> GstValueArray, add format and
13070           flags as their own arguments in gst_element_seek() (should improve
13071           "bindeability"), remove function generators since they don't work
13072           under a whole bunch of compilers (they were deprecated already
13073           anyway).
13074
13075 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13076
13077         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13078         (_gst_debug_register_funcptr):
13079         * gst/gstinfo.h:
13080           Fix illegal cast on some platforms (#309253).
13081
13082 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13083
13084         * gst/gstmessage.c: (gst_message_new_custom):
13085         * gst/gstmessage.h:
13086           Add _new_custom, make _new_application a macro to _new_custom.
13087
13088 2005-07-20  Wim Taymans  <wim@fluendo.com>
13089
13090         * gst/base/gstbasesrc.c: (gst_base_src_init),
13091         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13092         * gst/base/gstbasesrc.h:
13093         Add a gboolean to decide when to push out a discont.
13094
13095         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13096         (gst_queue_loop), (gst_queue_handle_src_query),
13097         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13098         (gst_queue_set_property), (gst_queue_get_property):
13099         Some cleanups.
13100
13101         * tests/threadstate/threadstate1.c: (main):
13102         Make a thread test compile and run... very silly..
13103
13104
13105 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13106
13107         * docs/manual/appendix-porting.xml:
13108           Mention removal of libgstgconf-0.9.la and existence of gconf
13109           elements.
13110
13111 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13112
13113         * docs/pwg/advanced-clock.xml:
13114         * docs/pwg/appendix-porting.xml:
13115         * docs/pwg/intro-preface.xml:
13116         * docs/pwg/other-base.xml:
13117         * docs/pwg/other-manager.xml:
13118         * docs/pwg/other-nton.xml:
13119         * docs/pwg/other-ntoone.xml:
13120         * docs/pwg/other-oneton.xml:
13121         * docs/pwg/pwg.xml:
13122           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13123           demuxer), remove n-to-n (was never written), fix some code examples
13124           and links and update the porting section to include all this.
13125
13126 2005-07-19  Wim Taymans  <wim@fluendo.com>
13127
13128         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13129         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13130         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13131         (gst_queue_src_activate_push), (gst_queue_change_state),
13132         (gst_queue_get_property):
13133         * gst/gstqueue.h:
13134         Propagate GstFlowReturn more intelligently upstream and output
13135         an ERROR/EOS when streaming stopped due to fatal error.
13136
13137 2005-07-19  Wim Taymans  <wim@fluendo.com>
13138
13139         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13140         Don't block forever for the state change to complete, the
13141         pipeline already did with a sensible timeout.
13142
13143 2005-07-19  Wim Taymans  <wim@fluendo.com>
13144
13145         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13146         Make sure we never call the create function is we
13147         got deactivated.
13148
13149 2005-07-19  Andy Wingo  <wingo@pobox.com>
13150
13151         * gst/parse/parse.l: Attempt to solve bug #172815.
13152
13153 2005-07-19  Wim Taymans  <wim@fluendo.com>
13154
13155         * docs/design/part-clocks.txt:
13156         * docs/design/part-events.txt:
13157         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13158         Small docs updates.
13159         Only update the seeking values when we are not
13160         busy streaming.
13161
13162 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13163
13164         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13165           Oops, ignore the result of gst_pad_push_event here.
13166
13167 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13168
13169         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13170         (gst_base_src_activate_push):
13171           Send discont event from the loop function, as pads
13172           aren't activated yet in the activate_push handler.
13173
13174         * gst/gstbin.c: (bin_bus_handler):
13175           Don't leak element name.
13176
13177 2005-07-18  Andy Wingo  <wingo@pobox.com>
13178
13179         * configure.ac: Use AS_LIBTOOL_TAGS.
13180
13181 2005-07-18  Wim Taymans  <wim@fluendo.com>
13182
13183         * docs/gst/gstreamer.types:
13184         Remove deleted types.
13185
13186 2005-07-18  Wim Taymans  <wim@fluendo.com>
13187
13188         * check/elements/gstfakesrc.c: (GST_START_TEST):
13189         * configure.ac:
13190         * gst/Makefile.am:
13191         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13192         (init_popt_callback):
13193         * gst/gst.h:
13194         * gst/gst_private.h:
13195         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13196         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13197         * gst/gstbin.h:
13198         * gst/gstbus.h:
13199         * gst/gstconfig.h.in:
13200         * gst/gstelement.c: (gst_element_class_init),
13201         (gst_element_set_base_time), (gst_element_get_base_time),
13202         (iterator_fold_with_resync), (gst_element_change_state),
13203         (gst_element_dispose), (gst_element_get_bus):
13204         * gst/gstelement.h:
13205         * gst/gstelementfactory.h:
13206         * gst/gsterror.c: (_gst_core_errors_init):
13207         * gst/gsterror.h:
13208         * gst/gstevent.h:
13209         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13210         * gst/gstindex.c:
13211         * gst/gstinfo.c: (_gst_debug_init):
13212         * gst/gstmessage.c: (_gst_message_copy):
13213         * gst/gstmessage.h:
13214         * gst/gstminiobject.h:
13215         * gst/gstobject.c:
13216         * gst/gstobject.h:
13217         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13218         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13219         * gst/gstpad.h:
13220         * gst/gstparse.h:
13221         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13222         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13223         (gst_pipeline_get_last_stream_time):
13224         * gst/gstpipeline.h:
13225         * gst/gstpluginfeature.h:
13226         * gst/gstquery.h:
13227         * gst/gstscheduler.c:
13228         * gst/gstscheduler.h:
13229         * gst/gststructure.h:
13230         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13231         (gst_task_finalize), (gst_task_func), (gst_task_create),
13232         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13233         (gst_task_stop), (gst_task_pause):
13234         * gst/gsttask.h:
13235         * gst/gsttypefind.h:
13236         * gst/gsttypes.h:
13237         * gst/registries/gstlibxmlregistry.c: (load_feature),
13238         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13239         * gst/registries/gstxmlregistry.c:
13240         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13241         * gst/schedulers/threadscheduler.c:
13242         * libs/gst/control/dparammanager.h:
13243         * tools/gst-inspect.c: (print_element_list),
13244         (print_plugin_features), (print_element_features):
13245         * tools/gst-xmlinspect.c: (print_element_list),
13246         (print_plugin_info), (main):
13247         Removed plugable schedulers.
13248         Removed Scheduler/Manager from elements.
13249         Removed gsttypes.h, rearranged includes.
13250         Removed dependency pad<->element, element<>pipeline, and
13251         various others,  fix includes.
13252         implement gst_pad_get_parent() with gst_object_get_parent()
13253         Make GstTask sefcontained.
13254         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13255         timeout.
13256         Fix endless loop in iterator_fold_with_resync.
13257
13258
13259 2005-07-18  Wim Taymans  <wim@fluendo.com>
13260
13261         * gst/Makefile.am:
13262         * gst/gstarch.h:
13263         Remove old file.
13264
13265 2005-07-18  Wim Taymans  <wim@fluendo.com>
13266
13267         * gst/Makefile.am:
13268         No more cothreads.h
13269
13270 2005-07-18  Wim Taymans  <wim@fluendo.com>
13271
13272         * gst/cothreads.c:
13273         * gst/cothreads.h:
13274         Let's remove these.
13275
13276 2005-07-18  Wim Taymans  <wim@fluendo.com>
13277
13278         * docs/design/part-dynamic.txt:
13279         * docs/design/part-events.txt:
13280         * docs/design/part-seeking.txt:
13281         Some more docs in the works.
13282
13283         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13284         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13285         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13286         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13287         (gst_base_transform_handle_buffer),
13288         (gst_base_transform_sink_activate_push),
13289         (gst_base_transform_src_activate_pull),
13290         (gst_base_transform_set_passthrough),
13291         (gst_base_transform_is_passthrough):
13292         Refcounting fixes.
13293
13294         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13295         Cleanups.
13296
13297         * gst/gstevent.c: (gst_event_finalize):
13298         Set SRC to NULL.
13299
13300         * gst/gstutils.c: (gst_element_unlink),
13301         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13302         (gst_pad_proxy_setcaps):
13303         * gst/gstutils.h:
13304         Add _get_parent_element() to get a pads parent as an element.
13305
13306 2005-07-18  Wim Taymans  <wim@fluendo.com>
13307
13308         * check/gst/gstbin.c: (GST_START_TEST):
13309         Remove bogus test.
13310
13311 2005-07-18  Wim Taymans  <wim@fluendo.com>
13312
13313         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13314         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13315         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13316         (gst_base_sink_event), (gst_base_sink_do_sync),
13317         (gst_base_sink_chain), (gst_base_sink_loop),
13318         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13319         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13320         Refcounting fixes.
13321         Fix logic for returning ASYNC when not prerolled.
13322
13323 2005-07-18  Wim Taymans  <wim@fluendo.com>
13324
13325         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13326         Fix nasty refcount bug.
13327
13328 2005-07-16 Philippe Khalaf <burger@speedy.org>
13329
13330         * gst/elements/gstfdsrc.c:
13331         * gst/elements/gstfdsrc.h:
13332         * gst/elements/gstelements.c:
13333         * gst/elements/Makefile.am:
13334         Ported fdsrc to 0.9.
13335
13336 2005-07-16  Wim Taymans  <wim@fluendo.com>
13337
13338         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13339         (gst_base_sink_do_sync):
13340         Fix compile error.
13341
13342 2005-07-16  Wim Taymans  <wim@fluendo.com>
13343
13344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13345         (gst_base_sink_event), (gst_base_sink_get_times),
13346         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13347         * gst/base/gstbasesink.h:
13348         Store and use discont values when syncing buffers as described
13349         in design docs.
13350         
13351         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13352         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13353         (gst_base_src_activate_push):
13354         Push discont event when starting.
13355
13356         * gst/elements/gstidentity.c: (gst_identity_transform):
13357         Small cleanups.
13358
13359         * gst/gstbin.c: (gst_bin_change_state):
13360         Small cleanups in base_time  distribution.
13361
13362         * gst/gstelement.c: (gst_element_set_base_time),
13363         (gst_element_get_base_time), (gst_element_change_state):
13364         * gst/gstelement.h:
13365         Added methods for the base_time of the element.
13366         Some MT fixes.
13367
13368         * gst/gstpipeline.c: (gst_pipeline_send_event),
13369         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13370         (gst_pipeline_get_last_stream_time):
13371         * gst/gstpipeline.h:
13372         MT fixes.
13373         Handle seeking as described in design doc, remove stream_time
13374         hack.
13375         Cleanups clock and stream_time selection code. Added accessors
13376         for the stream_time.
13377         
13378
13379 2005-07-16  Andy Wingo  <wingo@pobox.com>
13380
13381         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13382         (#305291).
13383
13384 2005-07-16  Wim Taymans  <wim@fluendo.com>
13385
13386         * check/gst/gstbin.c: (GST_START_TEST):
13387         Make elements silent as the deep_notify refs the
13388         parent, which might make the test fail.
13389
13390         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13391         Don't hold the lock for too long.
13392
13393 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13394
13395         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13396           Don't unref the caps we passed to gst_caps_make_writable() after
13397           passing them. gst_caps_make_writable() will do that for us.
13398
13399 2005-07-15  Andy Wingo  <wingo@pobox.com>
13400
13401         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13402         (#157311).
13403
13404         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13405         own marshalling function for the handoff signal. Properly type the
13406         buffer as a buffer. Fixes some warnings. Should do a more general
13407         solution.
13408         (gst_identity_class_init): Plug into the right marshaller.
13409
13410 2005-07-15  Wim Taymans  <wim@fluendo.com>
13411
13412         * docs/design/part-TODO.txt:
13413         * docs/design/part-clocks.txt:
13414         * docs/design/part-element-sink.txt:
13415         * docs/design/part-events.txt:
13416         * docs/design/part-gstpipeline.txt:
13417         Updated docs, mostly DISCONT related.
13418
13419 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13420
13421         * docs/pwg/building-pads.xml:
13422           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13423
13424 2005-07-15  Andy Wingo  <wingo@pobox.com>
13425
13426         * tools/gst-typefind.c: Update, add copyright block.
13427
13428         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13429         Normalize and truncate caps before fixation.
13430
13431         * gst/gstcaps.h:
13432         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13433         discards all but the first structure from its argument.
13434
13435 2005-07-15  Wim Taymans  <wim@fluendo.com>
13436
13437         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13438         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13439         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13440         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13441         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13442         (gst_base_transform_chain), (gst_base_transform_change_state),
13443         (gst_base_transform_set_passthrough),
13444         (gst_base_transform_is_passthrough):
13445         * gst/base/gstbasetransform.h:
13446         Make passthrough work using the bufferpools.
13447         Changed API a bit, subclasses have to write into a buffer
13448         provided by the base class.
13449         More debug info in nego functions.
13450         
13451         * gst/elements/gstidentity.c: (gst_identity_init),
13452         (gst_identity_transform):
13453         Port to new base class.
13454
13455 2005-07-15  Wim Taymans  <wim@fluendo.com>
13456
13457         * gst/gstmessage.c: (gst_message_new_state_changed):
13458         * tools/gst-launch.c: (event_loop), (main):
13459         Totally dump messages in -launch with the -m option.
13460         Fix message name for State messages,
13461
13462 2005-07-14  Wim Taymans  <wim@fluendo.com>
13463
13464         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13465         Post error messages on errors.
13466
13467 2005-07-14  Wim Taymans  <wim@fluendo.com>
13468
13469         * gst/gstcaps.c: (gst_caps_do_simplify):
13470         Remove debug info.
13471
13472         * gst/gsterror.h:
13473         Define error for stream stopped.
13474
13475         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13476         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13477         Do proper return values.
13478
13479         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13480         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13481         (gst_pad_get_range):
13482         Better return values.
13483
13484         * gst/gstpad.h:
13485         Reorganise return values, add macro to check for fatal errors.
13486
13487         * gst/gstqueue.c: (gst_queue_chain):
13488         Return proper GstFlowReturn values,
13489
13490 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13491
13492         * docs/gst/gstreamer-sections.txt:
13493         * docs/gst/gstreamer.types:
13494         * docs/gst/tmpl/gst.sgml:
13495         * docs/gst/tmpl/gstbasesink.sgml:
13496         * docs/gst/tmpl/gstbasesrc.sgml:
13497         * docs/gst/tmpl/gstbasetransform.sgml:
13498         * docs/gst/tmpl/gstbin.sgml:
13499         * docs/gst/tmpl/gstbuffer.sgml:
13500         * docs/gst/tmpl/gstcaps.sgml:
13501         * docs/gst/tmpl/gstclock.sgml:
13502         * docs/gst/tmpl/gstcompat.sgml:
13503         * docs/gst/tmpl/gstconfig.sgml:
13504         * docs/gst/tmpl/gstelement.sgml:
13505         * docs/gst/tmpl/gstelementdetails.sgml:
13506         * docs/gst/tmpl/gstelementfactory.sgml:
13507         * docs/gst/tmpl/gstenumtypes.sgml:
13508         * docs/gst/tmpl/gsterror.sgml:
13509         * docs/gst/tmpl/gstevent.sgml:
13510         * docs/gst/tmpl/gstfakesink.sgml:
13511         * docs/gst/tmpl/gstfakesrc.sgml:
13512         * docs/gst/tmpl/gstfilesink.sgml:
13513         * docs/gst/tmpl/gstfilesrc.sgml:
13514         * docs/gst/tmpl/gstfilter.sgml:
13515         * docs/gst/tmpl/gstformat.sgml:
13516         * docs/gst/tmpl/gstghostpad.sgml:
13517         * docs/gst/tmpl/gstimplementsinterface.sgml:
13518         * docs/gst/tmpl/gstindex.sgml:
13519         * docs/gst/tmpl/gstindexfactory.sgml:
13520         * docs/gst/tmpl/gstinfo.sgml:
13521         * docs/gst/tmpl/gstiterator.sgml:
13522         * docs/gst/tmpl/gstmacros.sgml:
13523         * docs/gst/tmpl/gstmemchunk.sgml:
13524         * docs/gst/tmpl/gstminiobject.sgml:
13525         * docs/gst/tmpl/gstobject.sgml:
13526         * docs/gst/tmpl/gstpad.sgml:
13527         * docs/gst/tmpl/gstpadtemplate.sgml:
13528         * docs/gst/tmpl/gstparse.sgml:
13529         * docs/gst/tmpl/gstpipeline.sgml:
13530         * docs/gst/tmpl/gstplugin.sgml:
13531         * docs/gst/tmpl/gstpluginfeature.sgml:
13532         * docs/gst/tmpl/gstquery.sgml:
13533         * docs/gst/tmpl/gstqueue.sgml:
13534         * docs/gst/tmpl/gstregistry.sgml:
13535         * docs/gst/tmpl/gstregistrypool.sgml:
13536         * docs/gst/tmpl/gstscheduler.sgml:
13537         * docs/gst/tmpl/gstschedulerfactory.sgml:
13538         * docs/gst/tmpl/gststructure.sgml:
13539         * docs/gst/tmpl/gstsystemclock.sgml:
13540         * docs/gst/tmpl/gsttaglist.sgml:
13541         * docs/gst/tmpl/gsttagsetter.sgml:
13542         * docs/gst/tmpl/gsttrace.sgml:
13543         * docs/gst/tmpl/gsttrashstack.sgml:
13544         * docs/gst/tmpl/gsttypefind.sgml:
13545         * docs/gst/tmpl/gsttypefindfactory.sgml:
13546         * docs/gst/tmpl/gsttypes.sgml:
13547         * docs/gst/tmpl/gsturihandler.sgml:
13548         * docs/gst/tmpl/gsturitype.sgml:
13549         * docs/gst/tmpl/gstutils.sgml:
13550         * docs/gst/tmpl/gstvalue.sgml:
13551         * docs/gst/tmpl/gstversion.sgml:
13552         * docs/gst/tmpl/gstxml.sgml:
13553         * docs/libs/tmpl/gstcontrol.sgml:
13554         * docs/libs/tmpl/gstdataprotocol.sgml:
13555         * docs/libs/tmpl/gstdparam.sgml:
13556         * docs/libs/tmpl/gstdplinint.sgml:
13557         * docs/libs/tmpl/gstdpman.sgml:
13558         * docs/libs/tmpl/gstdpsmooth.sgml:
13559         * docs/libs/tmpl/gstgetbits.sgml:
13560         * docs/libs/tmpl/gstunitconvert.sgml:
13561         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13562         (gst_push_src_base_init), (gst_push_src_class_init),
13563         (gst_push_src_init), (gst_push_src_create):
13564         * gst/base/gstpushsrc.h:
13565         * gst/elements/gstelements.c:
13566         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13567         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13568         (gst_fake_sink_init), (gst_fake_sink_set_property),
13569         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13570         (gst_fake_sink_event), (gst_fake_sink_preroll),
13571         (gst_fake_sink_render), (gst_fake_sink_change_state):
13572         * gst/elements/gstfakesink.h:
13573         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13574         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13575         (gst_fake_src_base_init), (gst_fake_src_class_init),
13576         (gst_fake_src_init), (gst_fake_src_event_handler),
13577         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13578         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13579         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13580         (gst_fake_src_create_buffer), (gst_fake_src_create),
13581         (gst_fake_src_start), (gst_fake_src_stop):
13582         * gst/elements/gstfakesrc.h:
13583         * gst/elements/gstfilesink.c: (_do_init),
13584         (gst_file_sink_base_init), (gst_file_sink_class_init),
13585         (gst_file_sink_init), (gst_file_sink_dispose),
13586         (gst_file_sink_set_location), (gst_file_sink_set_property),
13587         (gst_file_sink_get_property), (gst_file_sink_open_file),
13588         (gst_file_sink_close_file), (gst_file_sink_query),
13589         (gst_file_sink_event), (gst_file_sink_render),
13590         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13591         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13592         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13593         * gst/elements/gstfilesink.h:
13594         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13595         (gst_file_src_class_init), (gst_file_src_init),
13596         (gst_file_src_finalize), (gst_file_src_set_location),
13597         (gst_file_src_set_property), (gst_file_src_get_property),
13598         (gst_file_src_map_region), (gst_file_src_map_small_region),
13599         (gst_file_src_create_mmap), (gst_file_src_create_read),
13600         (gst_file_src_create), (gst_file_src_is_seekable),
13601         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13602         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13603         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13604         (gst_file_src_uri_handler_init):
13605         * gst/elements/gstfilesrc.h:
13606           more autistic cleanliness in functions/names/defines
13607
13608 2005-07-13  Andy Wingo  <wingo@pobox.com>
13609
13610         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13611         source couldn't negotiate.
13612
13613         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13614         connections again.
13615
13616         * gst/gstutils.h:
13617         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13618         function. I am channeling Hades. Put your boots on suckers!!!
13619
13620 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13621
13622         * testsuite/caps/Makefile.am:
13623         * testsuite/caps/value_compare.c:
13624         * testsuite/caps/value_intersect.c:
13625         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13626           move two testsuite apps over to the check dir
13627
13628 2005-07-12  Wim Taymans  <wim@fluendo.com>
13629
13630         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13631         Added more debug info in the negotiate process.
13632
13633         * gst/gstmessage.h:
13634         Prepare for segment playback.
13635
13636         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13637         Better debugging.
13638
13639         * gst/gstutils.c:
13640         Some more docs.
13641
13642         * tools/gst-launch.c: (main):
13643         NULL pipeline on errors.
13644
13645 2005-07-12  Andy Wingo  <wingo@pobox.com>
13646
13647         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13648         not it comes from a malloc region. Make sure our copy gets freed.
13649
13650 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13651
13652         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13653         * check/gst/gstmessage.c: (GST_START_TEST):
13654         * check/gst/gststructure.c: (GST_START_TEST),
13655         (gst_structure_suite), (main):
13656           more testing
13657         * gst/gstelement.c: (gst_element_message_full):
13658           clean up GError and debug string now that they get copied
13659         * gst/gstmessage.c: (gst_message_new_error),
13660         (gst_message_new_warning), (gst_message_parse_error),
13661         (gst_message_parse_warning):
13662           use GST_TYPE_G_ERROR for structure_new, and take copies of
13663           arguments, so that we don't mess up refcounting
13664
13665 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13666
13667         * check/Makefile.am:
13668           add per-test valgrind targets
13669         * check/gst-libs/gdp.c: (GST_START_TEST),
13670         (gst_data_protocol_suite), (main):
13671           clean up
13672
13673 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13674
13675         * check/Makefile.am:
13676           instate more valgrindable tests
13677         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13678         (GST_START_TEST), (fakesrc_suite):
13679         * check/gst/gstpad.c: (GST_START_TEST):
13680         * check/gst/gststructure.c: (GST_START_TEST):
13681           fix test leaks
13682         * docs/gst/tmpl/gstminiobject.sgml:
13683         * gst/gstpad.c: (gst_pad_finalize):
13684           fix the static mutex leak
13685
13686 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13687
13688         * check/Makefile.am:
13689           add two more tests for valgrinding
13690         * check/gst/gstvalue.c: (GST_START_TEST):
13691           test refcount of deserialized buffer, found a leak
13692         * docs/gst/gstreamer-docs.sgml:
13693         * docs/gst/gstreamer-sections.txt:
13694         * docs/gst/gstreamer.types:
13695         * docs/gst/tmpl/gstminiobject.sgml:
13696           add miniobject to docs
13697         * gst/gstminiobject.c:
13698           add some docs
13699         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13700         (gst_string_unwrap):
13701           fix a hard-to-find invalid write for one of the tests
13702           fix a leak for deserialized buffers
13703
13704 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13705
13706         * docs/pwg/advanced-events.xml:
13707         * docs/pwg/advanced-request.xml:
13708         * docs/pwg/advanced-scheduling.xml:
13709         * docs/pwg/appendix-porting.xml:
13710         * docs/pwg/building-boiler.xml:
13711         * docs/pwg/intro-preface.xml:
13712         * docs/pwg/other-ntoone.xml:
13713           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13714           of example code and explanation for pad activation, loop() and
13715           getrange() functions and a bit more. Remove old comments pointing
13716           to loop-functions.
13717         * examples/pwg/Makefile.am:
13718           Add loop/getrange examples.
13719
13720 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13721
13722         * configure.ac:
13723           check for valgrind binary + some fixes
13724         * check/gst.supp:
13725           valgrind suppressions for the tests
13726         * check/Makefile.am:
13727           add a valgrind: target that valgrinds the unit tests
13728         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13729         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13730         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13731         * check/gst/gstghostpad.c:
13732           added some cleanup
13733         * check/gst/gstdata.c:
13734           removed
13735         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13736         (thread_unref), (gst_mini_object_suite), (main):
13737           added
13738         * gst/gst.c: (gst_deinit):
13739         * gst/gst.h:
13740           add a method to clean up.
13741         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13742         (gst_system_clock_obtain):
13743           allow for disposing the system clock.
13744         * tools/gst-launch.c: (main):
13745           deinit
13746
13747 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13748
13749         * docs/gst/tmpl/gstbasesrc.sgml:
13750         * docs/gst/tmpl/gstfakesrc.sgml:
13751         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13752         (gst_base_src_init), (gst_base_src_set_property),
13753         (gst_base_src_get_property), (gst_base_src_get_range),
13754         (gst_base_src_start):
13755         * gst/base/gstbasesrc.h:
13756           add num-buffers property
13757         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13758         (gst_fakesrc_init), (gst_fakesrc_set_property),
13759         (gst_fakesrc_get_property), (gst_fakesrc_create),
13760         (gst_fakesrc_start):
13761           remove num-buffers property
13762
13763 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13764
13765         * docs/gst/gstreamer-sections.txt:
13766         * docs/gst/tmpl/gstbasesink.sgml:
13767         * docs/gst/tmpl/gstbasesrc.sgml:
13768         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13769         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13770         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13771         (gst_base_sink_set_property), (gst_base_sink_get_property),
13772         (gst_base_sink_handle_object), (gst_base_sink_event),
13773         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13774         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13775         (gst_base_sink_loop), (gst_base_sink_deactivate),
13776         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13777         (gst_base_sink_change_state):
13778         * gst/base/gstbasesink.h:
13779         * gst/base/gstbasesrc.h:
13780         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13781         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13782         (gst_filesink_init):
13783           more macro splitting
13784
13785 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13786
13787         * gst/gstelement.c: (gst_element_get_bus):
13788           add debug
13789         * tools/gst-launch.c: (check_intr), (event_loop):
13790           fix bus leaks
13791
13792 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13793
13794         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13795           fix a caps leak
13796
13797 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13798
13799         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13800         (gst_base_src_finalize):
13801           add finalize method and clean up properly
13802         * gst/gstpipeline.c: (gst_pipeline_dispose):
13803           add debug
13804
13805 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13806
13807         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13808         (gst_bin_suite):
13809           add more things to check
13810         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13811         * gst/gstelement.c:
13812           more debug
13813
13814 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13815
13816         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13817         (GST_START_TEST), (fakesrc_suite):
13818         * check/gst-libs/gdp.c: (GST_START_TEST):
13819         * check/gst/gst.c: (GST_START_TEST):
13820         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13821         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13822         * check/gst/gstbus.c: (GST_START_TEST):
13823         * check/gst/gstcaps.c: (GST_START_TEST):
13824         * check/gst/gstdata.c: (GST_START_TEST):
13825         * check/gst/gstelement.c: (GST_START_TEST):
13826         * check/gst/gstghostpad.c: (GST_START_TEST):
13827         * check/gst/gstiterator.c: (GST_START_TEST):
13828         * check/gst/gstmessage.c: (GST_START_TEST):
13829         * check/gst/gstobject.c: (GST_START_TEST):
13830         * check/gst/gstpad.c: (GST_START_TEST):
13831         * check/gst/gststructure.c: (GST_START_TEST):
13832         * check/gst/gstsystemclock.c: (GST_START_TEST),
13833         (gst_systemclock_suite):
13834         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13835         * check/gst/gstvalue.c: (GST_START_TEST):
13836         * check/pipelines/cleanup.c: (GST_START_TEST):
13837         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13838         * check/states/sinks.c: (GST_START_TEST):
13839         * check/gstcheck.c: (gst_check_init):
13840         * check/gstcheck.h:
13841           add debugging category
13842           use GST_START_TEST now, so we add a debug line
13843
13844 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13845
13846         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13847           add test for state change message on a bin
13848         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13849           add another test
13850         * gst/gstbin.c: (gst_bin_init):
13851         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13852         * gst/gstelement.c: (gst_element_post_message),
13853         (gst_element_set_state):
13854         * gst/gstelementfactory.c: (gst_element_factory_create):
13855         * gst/gstmessage.c: (gst_message_new):
13856         * gst/gstscheduler.c:
13857           various debugging additions and cleanups
13858
13859 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13860
13861         * check/Makefile.am:
13862         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
13863         (main):
13864           adding tests for elements
13865         * gst/gstelement.c: (gst_element_dispose):
13866
13867 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13868
13869         * gst/registries/gstlibxmlregistry.c: (load_feature):
13870           plug more leaks.  A simple gst_init() now is leakfree, yay.
13871
13872 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13873
13874         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
13875         (gst_xml_registry_load):
13876           plug another memleak
13877
13878 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13879
13880         * configure.ac:
13881           use GST_SET_ERROR_CFLAGS
13882         * docs/faq/cvs.xml:
13883           change to ERROR_CFLAGS
13884
13885 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13886
13887         * configure.ac:
13888           make GST_ERROR_CFLAGS overridable and re-enable Werror
13889         * docs/faq/cvs.xml:
13890           add a note about error CFLAGS
13891         * docs/gst/tmpl/gstfakesrc.sgml:
13892         * gst/elements/gstfakesrc.c:
13893           comment out some unused code
13894         * gst/gst.c: (split_and_iterate):
13895         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13896         (load_feature):
13897           plug some memleaks
13898
13899 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13900
13901         * common/Makefile.am:
13902         * common/gtk-doc.mak:
13903         * docs/gst/Makefile.am:
13904           factor out gtk-doc.mak
13905
13906 2005-07-07  Wim Taymans  <wim@fluendo.com>
13907
13908         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13909         (gst_thread_scheduler_dispose):
13910         Unlock the STREAM_LOCK completely.
13911
13912 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13913
13914         * check/Makefile.am:
13915         * check/elements/.cvsignore:
13916         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13917         (START_TEST), (fakesrc_suite), (main):
13918         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13919         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13920         (gst_fakesrc_create), (gst_fakesrc_start):
13921         * gst/elements/gstfakesrc.h:
13922           adding a first element test
13923
13924 2005-07-07  Andy Wingo  <wingo@pobox.com>
13925
13926         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13927         debug message.
13928
13929 2005-07-07  Wim Taymans  <wim@fluendo.com>
13930
13931         * gst/gstquery.c:
13932         * gst/gstquery.h:
13933         Remove old types
13934
13935 2005-07-07  Wim Taymans  <wim@fluendo.com>
13936
13937         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13938         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13939         Allow subclasses to implement their own negotiation.
13940
13941 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13942
13943         * docs/design/part-gstbin.txt:
13944         * docs/design/part-gstpipeline.txt:
13945           Update design notes to reflect the movement of
13946           responsibility for bus handling from GstPipeline to
13947           GstBin
13948
13949 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13950
13951         * configure.ac:
13952           Remove unnecessary queue2/3/4 examples.
13953
13954 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13955
13956         * examples/Makefile.am:
13957         * examples/helloworld/helloworld.c: (event_loop), (main):
13958         * examples/queue/queue.c: (event_loop), (main):
13959         * examples/queue2/queue2.c: (main):
13960           Update a couple of the examples to work again.
13961
13962         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13963         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
13964          Spelling corrections and extra debug.
13965         
13966         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
13967         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
13968         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
13969         * gst/gstbin.h:
13970         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13971         (gst_pipeline_change_state):
13972         * gst/gstpipeline.h:
13973           Move the bus handler for children to the GstBin, and create a
13974           separate bus for receiving messages from children to the one the
13975           bus sends 'upwards' on.
13976
13977 2005-07-06  Wim Taymans  <wim@fluendo.com>
13978
13979         * gst/base/README:
13980         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13981         (gst_base_sink_handle_object), (gst_base_sink_loop),
13982         (gst_base_sink_change_state):
13983         * gst/base/gstbasesink.h:
13984         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13985         (gst_base_src_init), (gst_base_src_setcaps),
13986         (gst_base_src_getcaps), (gst_base_src_loop),
13987         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
13988         (gst_base_src_start), (gst_base_src_change_state):
13989         * gst/base/gstbasesrc.h:
13990         Make basesrc negotiate.
13991         Handle the case where preroll fails in basesink.
13992         Update README.
13993
13994 2005-07-06  Wim Taymans  <wim@fluendo.com>
13995
13996         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
13997         Implement the fixate function.
13998         Clean up acceptcaps.
13999
14000 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14001
14002         * docs/pwg/building-filterfactory.xml:
14003         * docs/pwg/pwg.xml:
14004           Remove never-written filter-factory chapter; I'll add the various
14005           base classes to part 4 ("other element types") later on.
14006
14007 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14008
14009         * docs/pwg/advanced-negotiation.xml:
14010         * docs/pwg/building-boiler.xml:
14011         * docs/pwg/building-pads.xml:
14012         * docs/pwg/pwg.xml:
14013         * examples/pwg/Makefile.am:
14014           Add a chapter on caps negotiation, simplify the original code
14015           samples a bit w.r.t. caps negotiation, add link to the advanced
14016           section. Add a bunch of examples showing different use cases of
14017           different types of caps negotiation. Upstream renegotiation isn't
14018           fully documented yet since nobody knows how that works.
14019
14020 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14021
14022         * check/gst/gstpad.c:
14023         * check/gstcheck.c:
14024         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14025           if pad has no parent, return NULL as list of internal links
14026
14027 2005-07-05  Andy Wingo  <wingo@pobox.com>
14028
14029         * gst/elements/gstfilesrc.c:
14030         * gst/elements/gstfakesrc.c: 
14031         * gst/base/gstpushsrc.c:
14032         * gst/base/gstbasesrc.h: 
14033         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14034         
14035 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14036
14037         * Makefile.am:
14038           better report generation target (lcov needs a patch)
14039
14040 2005-07-05  Andy Wingo  <wingo@pobox.com>
14041
14042         * gst/elements, testsuite: Null if we got it...
14043
14044 2005-07-05  Wim Taymans  <wim@fluendo.com>
14045
14046         * configure.ac:
14047         * libs/gst/dataprotocol/Makefile.am:
14048         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14049         * libs/gst/dataprotocol/dataprotocol.h:
14050         * pkgconfig/Makefile.am:
14051         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14052         * pkgconfig/gstreamer-dataprotocol.pc.in:
14053         Ported dataprotol to 0.9. 
14054         Added pkgconfig files.
14055
14056 2005-07-05  Andy Wingo  <wingo@pobox.com>
14057
14058         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14059         Default to returning TRUE for the case when tranform_caps returns
14060         a fixed caps, like for identity or volume.
14061
14062         * check/gst/gstbus.c (pound_bus_with_messages): 
14063         * check/gst/gstmessage.c (START_TEST): 
14064         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14065         message API change.
14066
14067         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14068         logic weaks here: always run transform_caps, trying passthrough
14069         operation only if the original caps intersects with the transform.
14070
14071         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14072         source and sink caps.
14073
14074         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14075         Intersect the peer caps with the pad template before going into
14076         transform_caps.
14077         (gst_base_transform_transform_caps): More debugging.
14078
14079         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14080         src argument.
14081
14082 2005-07-04  Edward Hervey  <edward@fluendo.com>
14083
14084         * gst/gstutils.c:
14085         * gst/gstutils.h:
14086         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14087         in bindings.
14088
14089 2005-07-04  Andy Wingo  <wingo@pobox.com>
14090
14091         * check/gst/gstpad.c: Only set explicit caps on pads.
14092
14093 2005-07-01  Andy Wingo  <wingo@pobox.com>
14094
14095         * tests/network-clock.scm: Commentary update.
14096
14097         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14098         Didn't really make sense, not implementable with basetransform,
14099         etc.
14100         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14101         attempt at implementing the sync property, needs an unlock method.
14102
14103         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14104         New func, by default returns the same caps (the identity
14105         transformation).
14106         (gst_base_transform_getcaps): Uses transform_caps to return
14107         something sensible.
14108         (gst_base_transform_setcaps): Complicated logic to get caps on
14109         both pads, even if they are different, and to call set_caps once
14110         for every time both pads get their caps set.
14111         (gst_base_transform_handle_buffer): Give the ref to the transform
14112         function. Allows in-place modification of the buffer.
14113
14114         * gst/base/gstbasetransform.h (transform_caps): New class method.
14115         Given caps on one side, what can I do on the other.
14116         (set_caps): Take two caps, one for each side of the element.
14117
14118         * gst/gstpad.h:
14119         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14120         caps in place. This is safe because we can check the mutability of
14121         the caps, and a good idea because fixate functions are just called
14122         as a matter of last resort. (Not actually implemented.)
14123         (gst_pad_set_caps): If the caps we're setting is actually the same
14124         as the existing pad caps, just update the pointer without calling
14125         setcaps. Assert that caps is either NULL or fixed, as per the
14126         docs.
14127
14128         * gst/gstghostpad.c: Update for fixate changes.
14129
14130 2005-07-02  Andy Wingo  <wingo@pobox.com>
14131
14132         * gst/gstcaps.c:
14133         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14134         two refcounts makes it immutable, which is enough. Doc more.
14135
14136 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14137
14138         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14139           Put the mini_object into GValue as a mini_object,
14140           not a gpointer, since that's how we declared
14141           the signal.
14142
14143 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14144
14145         * examples/pwg/Makefile.am:
14146           Fix buildbot again.
14147
14148 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14149
14150         * docs/pwg/building-testapp.xml:
14151           Add extra check.
14152         * examples/pwg/Makefile.am:
14153           Fix buildbot.
14154
14155 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14156
14157         * configure.ac:
14158         * examples/Makefile.am:
14159         * examples/pwg/Makefile.am:
14160         * examples/pwg/extract.pl:
14161           Enable building the PWG examples.
14162         * docs/pwg/advanced-interfaces.xml:
14163           Add URI interface stub.
14164         * docs/pwg/advanced-types.xml:
14165         * docs/pwg/other-autoplugger.xml:
14166         * docs/pwg/appendix-porting.xml:
14167         * docs/pwg/pwg.xml:
14168           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14169         * docs/pwg/building-boiler.xml:
14170         * docs/pwg/building-chainfn.xml:
14171         * docs/pwg/building-pads.xml:
14172         * docs/pwg/building-props.xml:
14173         * docs/pwg/building-state.xml:
14174         * docs/pwg/building-testapp.xml:
14175           Update the building-*.xml parts for 0.9 changes. All examples
14176           code blocks compile in examples/pwg/*.
14177
14178 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14179
14180         * docs/manual/advanced-autoplugging.xml:
14181         * docs/manual/appendix-checklist.xml:
14182         * docs/manual/appendix-integration.xml:
14183         * docs/manual/highlevel-components.xml:
14184           Fix playbin/decodebin examples, update docs a bit, mention bus
14185           instead of signals in various places, mention kmplayer and
14186           kaffeine since they have a working GStreamer backend in the KDE
14187           section.
14188
14189 2005-06-30  Wim Taymans  <wim@fluendo.com>
14190
14191         * CHANGES-0.9:
14192         * docs/design/draft-ghostpads.txt:
14193         * docs/design/draft-push-pull.txt:
14194         * docs/design/draft-query.txt:
14195         * docs/design/part-TODO.txt:
14196         * docs/design/part-query.txt:
14197         Added CHANGES-0.9 doc, updated status of other docs.
14198         
14199         * gst/gstquery.h:
14200         Remove "hmm" macro
14201
14202 2005-06-30  Wim Taymans  <wim@fluendo.com>
14203
14204         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14205         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14206         (gst_base_sink_change_state):
14207         * gst/base/gstbasesink.h:
14208         Some tweaks, only EOS and a buffer complete a preroll.
14209
14210 2005-06-30  Andy Wingo  <wingo@pobox.com>
14211
14212         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14213         activate_push down to the internal pad as well.
14214
14215 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14216
14217         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14218
14219         * gst/gsttaginterface.c:
14220           Some documentation fixes (#307394 and #307397).
14221
14222 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14223
14224         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14225
14226         * gst/gstvalue.c: (gst_value_intersect_list):
14227           Fix memleak (#309125).
14228
14229 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14230
14231         * docs/manual/advanced-dataaccess.xml:
14232           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14233         * docs/manual/basics-pads.xml:
14234           Add reference for filtered caps to above chapter.
14235
14236 2005-06-30  Wim Taymans  <wim@fluendo.com>
14237
14238         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14239         (gst_bin_change_state):
14240         Probes are gone.
14241         Lame attempt at making the state change function a bit
14242         more readable.
14243
14244 2005-06-30  Wim Taymans  <wim@fluendo.com>
14245
14246         * docs/design/part-clocks.txt:
14247         * docs/design/part-element-sink.txt:
14248         * docs/design/part-events.txt:
14249         * docs/design/part-preroll.txt:
14250         * docs/design/part-states.txt:
14251         Some more tweeks and additions to the docs.
14252
14253 2005-06-30  Wim Taymans  <wim@fluendo.com>
14254
14255         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14256         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14257         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14258         (gst_pad_check_pull_range), (gst_pad_get_range),
14259         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14260         * gst/gstpad.h:
14261         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14262         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14263         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14264         (gst_pad_remove_buffer_probe):
14265         Removed atomic operations, use existing LOCK.
14266         Move exception handling out of main code path.
14267
14268 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14269
14270         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14271         (silly_return_true_function), (gst_pad_class_init),
14272         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14273         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14274         (gst_pad_send_event):
14275           Fix accumulator, add default value by using _emitv() instead
14276           of _emit() for signal emission.
14277
14278 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14279
14280         * docs/manual/advanced-dataaccess.xml:
14281         * examples/manual/Makefile.am:
14282           Add probe example.
14283         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14284           Make work (??).
14285
14286 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14287
14288         * gst/elements/gstfilesink.c: (gst_filesink_render):
14289           Simplify code so that we don't have to handle short
14290           writes and return GST_FLOW_ERROR if an error occured.
14291
14292 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14293
14294         * docs/gst/gstreamer-docs.sgml:
14295           Remove probes more.
14296
14297 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14298
14299         * docs/gst/gstreamer-sections.txt:
14300         * docs/gst/tmpl/gstpad.sgml:
14301         * docs/gst/tmpl/gstprobe.sgml:
14302         * gst/Makefile.am:
14303         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14304         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14305         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14306         (gst_pad_push_event), (gst_pad_send_event):
14307         * gst/gstpad.h:
14308         * gst/gstutils.c: (gst_pad_add_data_probe),
14309         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14310         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14311         (gst_pad_remove_buffer_probe):
14312         * gst/gstutils.h:
14313           Remove old probes, add new g-signal-based probes and some utility
14314           functions.
14315
14316 2005-06-29  Edward Hervey  <edward@fluendo.com>
14317
14318         * gst/gstelementfactory.c:
14319         * gst/gstutils.h:
14320         * gst/gstutils.c:
14321         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14322         the definition to the header file.
14323
14324 2005-06-29  Andy Wingo  <wingo@pobox.com>
14325
14326         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14327         plugins from the source directory.
14328
14329 2005-06-29  Wim Taymans  <wim@fluendo.com>
14330
14331         * docs/gst/tmpl/gstbuffer.sgml:
14332         * docs/gst/tmpl/gstclock.sgml:
14333         Some fixings for blantently wrong text.
14334
14335 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14336
14337         * check/Makefile.am:
14338         * gst/gst.c: (add_path_func), (init_pre):
14339         * gst/gstregistry.c: (gst_registry_add_path):
14340           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14341           only scan the GST_PLUGIN_PATH locations, and not add
14342           system locations
14343
14344 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14345
14346         * docs/gst/gstreamer-sections.txt:
14347         * docs/gst/tmpl/gstbasesrc.sgml:
14348         * gst/gstelement.c:
14349         * gst/gstelement.h:
14350         * gst/gstevent.c:
14351         * gst/gstutils.c:
14352           doc fixes
14353
14354 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14355
14356         * docs/manual/advanced-autoplugging.xml:
14357           Fix autoplugging example.
14358
14359 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14360
14361         * docs/manual/advanced-autoplugging.xml:
14362         * docs/manual/mime-world.fig:
14363           Try to get autoplugging working, fix type detection. Fix text
14364           in hello-world image.
14365
14366 2005-06-29  Wim Taymans  <wim@fluendo.com>
14367
14368         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14369         (gst_base_sink_change_state):
14370         Small debug line.
14371
14372         * gst/gstclock.h:
14373         map SIGNAL and BROADCAST to the right function.
14374
14375         * gst/gstobject.h:
14376         Remove redundant braces.
14377
14378         * gst/gstpad.c: (gst_pad_set_caps):
14379         Don't call setcaps function when reseting caps to NULL.
14380
14381         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14382         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14383         (gst_system_clock_id_unschedule):
14384         Use BROADCAST as this is what we do.
14385
14386 2005-06-29  Wim Taymans  <wim@fluendo.com>
14387
14388         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14389         We are actually prerolling before commiting the state
14390         change. 
14391
14392 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14393
14394         * docs/manual/advanced-clocks.xml:
14395         * docs/manual/advanced-interfaces.xml:
14396         * docs/manual/advanced-metadata.xml:
14397         * docs/manual/advanced-position.xml:
14398         * docs/manual/advanced-schedulers.xml:
14399         * docs/manual/advanced-threads.xml:
14400         * docs/manual/appendix-porting.xml:
14401         * docs/manual/basics-bins.xml:
14402         * docs/manual/basics-bus.xml:
14403         * docs/manual/basics-elements.xml:
14404         * docs/manual/basics-helloworld.xml:
14405         * docs/manual/basics-pads.xml:
14406         * docs/manual/highlevel-components.xml:
14407         * docs/manual/manual.xml:
14408         * docs/manual/thread.fig:
14409           Update (until threads/scheduling) Application Development Manual;
14410           remove GstThread, add GstBus, add simple porting checklist, add
14411           documentation for tag writing, clocks, make all examples until this
14412           part compile and run.
14413         * examples/manual/Makefile.am:
14414           Update from changes to Application Development Manual; add bus
14415           example, remove thread example.
14416
14417 2005-06-28  Wim Taymans  <wim@fluendo.com>
14418
14419         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14420         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14421         (gst_bus_source_dispatch):
14422         Add debugging messages.
14423         Make internal methods static.
14424         Handle the case where the bus is flushed in the handler.
14425         
14426         * gst/gstelement.c: (gst_element_get_bus):
14427         Fix refcount in _get_bus();
14428
14429         * gst/gstpipeline.c: (gst_pipeline_change_state),
14430         (gst_pipeline_get_clock_func):
14431         Clock refcounting fixes.
14432         Handle the case where preroll timed out more gracefully.
14433         
14434         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14435         Clean up the internal thread in dispose. This is needed
14436         for subclasses that actually get disposed.
14437         
14438         * gst/schedulers/threadscheduler.c:
14439         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14440         (gst_thread_scheduler_dispose):
14441         Free thread pool in dispose.
14442
14443 2005-06-28  Andy Wingo  <wingo@pobox.com>
14444
14445         * tests/network-clock-utils.scm (debug, print-event): New utils.
14446
14447         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14448         (*packet-loss*): Unified loss probability.
14449         (network-time): Report out-of-band events.
14450
14451         * tests/plot-data: Add support for out-of-band events. Hack it
14452         into this script instead of passing it down the pipe; should fix
14453         this later.
14454
14455 2005-06-28  Wim Taymans  <wim@fluendo.com>
14456
14457         * docs/gst/gstreamer.types:
14458         * docs/gst/tmpl/gstbasesrc.sgml:
14459         * docs/gst/tmpl/gstpad.sgml:
14460         Docs fixes.
14461
14462 2005-06-28  Wim Taymans  <wim@fluendo.com>
14463
14464         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14465         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14466         (gst_proxy_pad_do_fixatecaps):
14467         Correctly proxy the check_pull_range function.
14468
14469 2005-06-28  Andy Wingo  <wingo@pobox.com>
14470
14471         * tests/network-clock.scm: Removed need for slib.
14472         
14473 2005-06-28  Wim Taymans  <wim@fluendo.com>
14474
14475         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14476         (gst_basesink_preroll_queue_flush):
14477         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14478         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14479         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14480         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14481         (gst_proxy_pad_set_property):
14482         * gst/gstpad.c:
14483         * gst/gstpad.h:
14484         * gst/gstqueue.c: (gst_queue_init):
14485         The deprecated pad loop function is removed now.
14486
14487 2005-06-28  Andy Wingo  <wingo@pobox.com>
14488
14489         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14490         New parameters, simulate network packet loss.
14491
14492         * tests/network-clock-utils.scm: Initialize the RNG.
14493
14494 2005-06-28  Wim Taymans  <wim@fluendo.com>
14495
14496         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14497         (gst_basesink_event), (gst_basesink_deactivate):
14498         Flushing the preroll queue always needs to unlock the waiters.
14499
14500 2005-06-28  Edward Hervey  <edward@fluendo.com>
14501
14502         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14503         Wheen a seek was successful on a pipeline, set the stream_time to the
14504         seek offset in order to have a synchronized stream_time.
14505
14506 2005-06-28  Wim Taymans  <wim@fluendo.com>
14507
14508         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14509         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14510         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14511         (gst_proxy_pad_do_fixatecaps):
14512         Call wrapper function instead of just calling the function
14513         pointers. This takes care of any locking and whatmore.
14514
14515 2005-06-28  Wim Taymans  <wim@fluendo.com>
14516
14517         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14518         (gst_pad_pull_range):
14519         * gst/gstpad.h:
14520         CONNECTED -> LINKED.
14521
14522 2005-06-28  Andy Wingo  <wingo@pobox.com>
14523
14524         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14525         source-munging commit!!!
14526
14527         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14528         (gst_object_sink): Take gpointer arguments, not GstObject --
14529         avoids casts. Like GLib.
14530
14531         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14532         activate.
14533
14534 2005-06-27  Andy Wingo  <wingo@pobox.com>
14535
14536         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14537         remaining buffer.
14538
14539         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14540         returns a sorted copy of the trace list.
14541         (gst_alloc_trace_print_live): New API, only prints traces with
14542         live objects. Sort the list.
14543         (gst_alloc_trace_print_all): Sort the list.
14544         (gst_alloc_trace_print): Align columns.
14545
14546         * gst/elements/gstttypefindelement.c:
14547         * gst/elements/gsttee.c:
14548         * gst/base/gstbasesrc.c:
14549         * gst/base/gstbasesink.c:
14550         * gst/base/gstbasetransform.c:
14551         * gst/gstqueue.c: Adapt for pad activation changes.
14552
14553         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14554         sched.
14555         (gst_pipeline_dispose): Drop ref on sched.
14556
14557         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14558         (gst_pad_activate_default): Push mode by default.
14559         (pre_activate_switch, post_activate_switch): New stubs, things to
14560         do before and after switching activation modes on pads.
14561         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14562         the pad's activate function to choose which mode to activate.
14563         Shortcut on deactivation and call the right function directly.
14564         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14565         mode.
14566         (gst_pad_activate_push): New API, same for push mode.
14567         (gst_pad_set_activate_function) 
14568         (gst_pad_set_activatepull_function) 
14569         (gst_pad_set_activatepush_function): Setters for new API.
14570
14571         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14572         Trace all miniobjects.
14573         (gst_mini_object_make_writable): Unref the arg if we copy, like
14574         gst_caps_make_writable.
14575
14576         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14577
14578         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14579         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14580         Adapt for new pad API.
14581
14582         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14583
14584         * gst/gstelement.h:
14585         * gst/gstelement.c (gst_element_iterate_src_pads) 
14586         (gst_element_iterate_sink_pads): New API functions.
14587         
14588         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14589         should fold into gstiterator.c in some form.
14590         (gst_element_pads_activate): Simplified via use of fold and
14591         delegation of decisions to gstpad->activate.
14592
14593         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14594         help in debugging.
14595
14596         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14597         class once in init, like gstmessage. Didn't run into this issue
14598         but it seems correct. Don't initialize a trace, gstminiobject does
14599         that.
14600
14601         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14602         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14603         to the bus.
14604         (assert_live_count): New util function, uses alloc traces to check
14605         cleanup.
14606
14607         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14608         To be modified when unlink drops the internal pad.
14609
14610 2005-06-27  Wim Taymans  <wim@fluendo.com>
14611
14612         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14613         (gst_bin_change_state):
14614         Cleanup the get_state() function a little, make sure it
14615         iterates the same set of elements.
14616         Added stub iterate_state_order().
14617
14618 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14619
14620         * docs/gst/gstreamer-docs.sgml:
14621         * docs/gst/gstreamer-sections.txt:
14622         * docs/gst/gstreamer.types:
14623         * docs/gst/tmpl/gstbasesink.sgml:
14624         * docs/gst/tmpl/gstbasesrc.sgml:
14625         * docs/gst/tmpl/gstbasetransform.sgml:
14626         * docs/gst/tmpl/gstelement.sgml:
14627         * docs/gst/tmpl/gstiterator.sgml:
14628         * gst/base/gstbasesrc.c:
14629         * gst/base/gstbasesrc.h:
14630         * gst/base/gstbasetransform.h:
14631         * gst/gstelement.c:
14632         * gst/gstiterator.h:
14633           adding basetransform and iterator docs
14634
14635 2005-06-27  Andy Wingo  <wingo@pobox.com>
14636
14637         * docs/design/part-activation.txt: Notes on how activation should
14638         work -- not quite implemented yet.
14639
14640 2005-06-25  Wim Taymans  <wim@fluendo.com>
14641
14642         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14643         At least get the chain function correct, needs more
14644         fixing.
14645
14646 2005-06-25  Wim Taymans  <wim@fluendo.com>
14647
14648         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14649         (gst_basesink_handle_object), (gst_basesink_event),
14650         (gst_basesink_do_sync), (gst_basesink_handle_event),
14651         (gst_basesink_change_state):
14652         * gst/gsttask.h:
14653         Right, two problems here: ghostpads don't take locks and
14654         glib _rec_mutex_lock_full() with depth==0 still locks.
14655         Catch illegal locking and g_warn them.
14656
14657 2005-06-25  Wim Taymans  <wim@fluendo.com>
14658
14659         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14660         Have to check for completion now...
14661
14662 2005-06-25  Wim Taymans  <wim@fluendo.com>
14663
14664         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14665         (gst_basesink_handle_object), (gst_basesink_event),
14666         (gst_basesink_do_sync), (gst_basesink_handle_event),
14667         (gst_basesink_change_state):
14668         * gst/gstpad.h:
14669         Unlock STREAM_LOCK whatever the recursion was.
14670
14671 2005-06-25  Wim Taymans  <wim@fluendo.com>
14672
14673         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14674         (gst_basesink_preroll_queue_empty),
14675         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14676         (gst_basesink_event), (gst_basesink_do_sync),
14677         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14678         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14679         (gst_basesink_change_state):
14680         Reworked the base sink, handle event and buffer serialisation
14681         correctly and removed possible deadlock.
14682         Handle EOS correctly.
14683
14684 2005-06-25  Wim Taymans  <wim@fluendo.com>
14685
14686         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14687         (gst_pipeline_change_state):
14688         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14689         Allow elements to post EOS in the state change function.
14690         Fix up -launch, make it exit the poll loop when the
14691         pipeline actually changed state.
14692         Fix up warning parsing in -launch.
14693
14694 2005-06-25  Wim Taymans  <wim@fluendo.com>
14695
14696         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14697         (gst_tee_sink_activate):
14698         Core takes STREAM_LOCK for us now.
14699
14700 2005-06-25  Wim Taymans  <wim@fluendo.com>
14701
14702         * gst/gstelement.c: (gst_element_get_state_func),
14703         (gst_element_set_state):
14704         * gst/gstelement.h:
14705         * gst/gstmessage.c: (gst_message_parse_error),
14706         (gst_message_parse_warning):
14707         Keep track of current target state while performing a state
14708         change so that subclasses can do something interesting.
14709         Fix parsing of warning/error messages when GError is NULL.
14710
14711 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14712
14713         * docs/gst/Makefile.am:
14714         * docs/gst/gstreamer-docs.sgml:
14715         * docs/gst/gstreamer-sections.txt:
14716         * docs/gst/gstreamer.types:
14717         * docs/gst/tmpl/gstbasesink.sgml:
14718         * docs/gst/tmpl/gstbasesrc.sgml:
14719         * docs/gst/tmpl/gstbin.sgml:
14720         * docs/gst/tmpl/gstcompat.sgml:
14721         * docs/gst/tmpl/gstfakesink.sgml:
14722         * docs/gst/tmpl/gstfakesrc.sgml:
14723         * docs/gst/tmpl/gstfilesink.sgml:
14724         * docs/gst/tmpl/gstfilesrc.sgml:
14725         * docs/gst/tmpl/gstindex.sgml:
14726         * docs/manual/appendix-quotes.xml:
14727         * gst/base/gstbasesrc.h:
14728         * gst/elements/gstfakesrc.h:
14729         * gst/gstmessage.h:
14730           start pulling in base classes and elements in our docs
14731
14732 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14733
14734         * docs/gst/Makefile.am:
14735         * docs/libs/Makefile.am:
14736           fixed make distcheck with gtk-doc 1.3
14737
14738 2005-06-23  Wim Taymans  <wim@fluendo.com>
14739
14740         * gst/gstelement.c: (gst_element_get_state_func),
14741         (gst_element_set_state), (gst_element_change_state):
14742         When the state did not change, also report NO_PREROLL
14743         when it matters.
14744
14745 2005-06-23  Wim Taymans  <wim@fluendo.com>
14746
14747         * gst/gstpad.c: (gst_pad_event_default):
14748         * gst/gstqueue.c: (gst_queue_loop):
14749         No unsafe task pausing please.
14750
14751 2005-06-23  Wim Taymans  <wim@fluendo.com>
14752
14753         * gst/schedulers/threadscheduler.c:
14754         (gst_thread_scheduler_task_start),
14755         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14756         Ref the task before pushing it on the threadpool. This
14757         makes sure that we have a ref when the threadfunction is
14758         actually called.
14759
14760 2005-06-23  Andy Wingo  <wingo@pobox.com>
14761
14762         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14763         offset is greater than the file's size.
14764
14765         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14766         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14767         * gst/gstobject.c (gst_object_class_init): Make the class lock
14768         recursive. Wim won't let me drop deep_notify. Decodebin works
14769         again, whoopdy doo.
14770
14771         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14772         internal pad, and hacks accordingly. Doesn't do it on the target
14773         pad because we change its caps. Probably catches all cases of
14774         interest tho.
14775         (gst_ghost_pad_set_property): Connect to notify::caps as
14776         appropritate.
14777
14778         * tests/network-clock.scm (plot-simulation): Pipe data to the
14779         elite python skript.
14780
14781         * tests/network-clock-utils.scm (define-parameter): New macro,
14782         defines a parameter that can be set via the command line.
14783         (set-parameter!, parse-parameter-arguments): Command line args
14784         parser.
14785
14786         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14787         stdin.
14788
14789 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14790
14791         * gst/elements/gsttypefindelement.c:
14792         (gst_type_find_element_handle_event):
14793           Don't restart typefinding on a discont.
14794         * gst/gstelement.c: (gst_element_set_state):
14795           Debug spelling fix.
14796         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14797           Allow changing mode of an active pad.
14798           Debug output fixes.
14799         * gst/registries/gstlibxmlregistry.c: (load_feature):
14800           Don't cast a static pad template to a normal pad template.
14801
14802 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14803
14804         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14805         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14806           remove gst_strtoll completely, since it didn't actually do
14807           anything more than what g_ascii_strtoull already does.
14808           check for range errors when deserializing
14809           do a cast for the unsigned cases; but further fixing needs
14810           a decision on what the interpretation of "(int)" and
14811           deserialization should be for values that fall outside the
14812           type's boundaries (ie, refuse, or interpret as casting)
14813
14814 2005-06-23  Wim Taymans  <wim@fluendo.com>
14815
14816         * check/Makefile.am:
14817         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14818         * docs/design/part-live-source.txt:
14819         * docs/design/part-states.txt:
14820         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14821         (gst_basesrc_set_live), (gst_basesrc_is_live),
14822         (gst_basesrc_get_range), (gst_basesrc_activate),
14823         (gst_basesrc_change_state):
14824         * gst/base/gstbasesrc.h:
14825         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14826         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14827         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14828         * gst/gstelement.c: (gst_element_get_state_func),
14829         (gst_element_set_state):
14830         * gst/gstelement.h:
14831         * gst/gsttypes.h:
14832         * tools/gst-launch.c: (event_loop), (main):
14833         Added support for live sources and other elements that
14834         cannot do preroll.
14835         Updated design docs, added live-source design doc.
14836         Implemented live source functionality in basesrc
14837         Fix error condition in _bin_get_state()
14838         Implement live source handling in -launch.
14839         Added check for live sources.
14840         Fixed case in GstBin where elements were changed state
14841         multiple times.
14842
14843
14844 2005-06-23  Andy Wingo  <wingo@pobox.com>
14845
14846         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14847         borken refcounting.
14848
14849         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14850         gst_caps_replace takes care of this for us.
14851
14852         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14853         gst_pad_set_caps on the target, not just its setcaps() function.
14854
14855         * tests/network-clock.scm: 
14856         * tests/network-clock-utils.scm: A network clock simulator.
14857         Something of an algorithmic testbed before doing something in C.
14858
14859 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14860
14861         * check/Makefile.am:
14862         * check/gst/capslist.h:
14863           copy over from 0.8, and add two with bitmasks specified with
14864           (int) 0xFF...
14865         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14866           add test to parse everything from capslist.h
14867         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
14868         (main):
14869           add test for structure deserialization
14870         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14871           add tests for deserialization of strings to int types
14872         * gst/gststructure.c: (gst_structure_nth_field_name):
14873         * gst/gststructure.h:
14874           add a way to get the name of a field referenced by index
14875         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14876           instead of checking if the resulting long long lies between
14877           min and max, we check if the long long would fit into
14878           a number of bytes for the final type.
14879           This fixes cases where a string represents 2^32 - 1, which
14880           when cast to int would be the (valid) -1, but is bigger than
14881           G_MAXINT
14882
14883 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14884
14885         * gst/parse/grammar.y:
14886           add a log line for type deserialization
14887
14888 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14889
14890         * check/gst/gstvalue.c: (START_TEST):
14891         * gst/gstvalue.c: (gst_value_deserialize):
14892           return long long, not int, so gint64 deserialization actually
14893           works.  Is there any flag that makes the compiler check this ?
14894           Fixes #308559
14895
14896 2005-06-22  Wim Taymans  <wim@fluendo.com>
14897
14898         * gst/gstbuffer.h:
14899         Added convenience macros for setting buffers in GValue.
14900
14901 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14902
14903         * check/gst/.cvsignore:
14904         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14905           add a test deserializing int64, and comment part out because
14906           it fails, yay !
14907
14908 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14909
14910         * check/Makefile.am:
14911         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14912         * testsuite/Makefile.am:
14913         * testsuite/caps/Makefile.am:
14914         * testsuite/caps/value_serialize.c:
14915         * testsuite/test_gst_init.c:
14916           move a value_serialize test over
14917
14918 2005-06-20  Wim Taymans  <wim@fluendo.com>
14919
14920         * gst/gstpad.c:
14921         Small doc updates.
14922         
14923         * gst/gstvalue.c: (gst_value_compare_buffer),
14924         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14925         (gst_value_compare_flags), (gst_value_serialize_flags),
14926         (gst_value_deserialize_flags), (_gst_value_initialize):
14927         Fix serialisation of buffers, they are not boxed types anymore
14928
14929 2005-06-20  Wim Taymans  <wim@fluendo.com>
14930
14931         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14932         Testcase to show error in buffer-on-caps serialisation.
14933
14934 2005-06-20  Andy Wingo  <wingo@pobox.com>
14935
14936         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14937         will be adding to later.
14938
14939         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14940         if its socks fill with rocks.
14941         (gst_system_clock_obtain): Set the name on object construction.
14942         Avoid double-checked locking.
14943
14944 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14945
14946         * gst/gsturi.c: (gst_element_make_from_uri):
14947           Fix potential endless loop.
14948
14949 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14950
14951         * check/Makefile.am:
14952           add gsttag
14953         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14954         (main):
14955           move over from testsuite dir and clean up
14956         * configure.ac:
14957         * gst/gsttag.c:
14958         * testsuite/Makefile.am:
14959         * testsuite/tags/.cvsignore:
14960         * testsuite/tags/Makefile.am:
14961         * testsuite/tags/merge.c:
14962           remove testsuite/tags
14963
14964 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14965
14966         * docs/gst/gstreamer-sections.txt:
14967         * docs/gst/tmpl/gstenumtypes.sgml:
14968         * win32/gstenumtypes.c:
14969           clean up documentation build a little
14970
14971 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14972
14973         * check/gstcheck.h:
14974           add macros for checking refcounts on objects and caps
14975         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
14976           add some more unit tests
14977         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14978         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
14979           fix leaked refcounts (I hope :)) so unittest works
14980         * gst/gstpad.h:
14981           whitespace removal
14982
14983 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14984
14985         * configure.ac: back to HEAD
14986
14987 === release 0.9.1 ===
14988
14989 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14990
14991         * NEWS:
14992         * RELEASE:
14993           updated
14994
14995 2005-06-17  Andy Wingo  <wingo@pobox.com>
14996
14997         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
14998         assert; it's always possible that the pad gets deactivated in
14999         between the checks in gstpad.c and the implementation. Rely on
15000         finish_preroll() to return a FLUSHING or similar instead of on the
15001         assert.
15002         
15003         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15004         clock and post an EOS message if we come out of finish_preroll in
15005         the playing state.
15006
15007 2005-06-16  David Schleef  <ds@schleef.org>
15008
15009         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15010         (gst_capsfilter_set_property): Allow NULL as possible value
15011         for filter_caps property, indicating GST_CAPS_ANY.
15012
15013 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15014
15015         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15016           fix debug output
15017         * gst/schedulers/Makefile.am:
15018           use libgst prefix
15019         * gstreamer.spec.in:
15020           fix spec for it
15021
15022 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15023
15024         * gstreamer.spec.in:
15025           clean up
15026
15027 2005-06-08  Andy Wingo  <wingo@pobox.com>
15028
15029         * gst/gstutils.c: RPAD fixes all around.
15030         (gst_element_link_pads): Refcounting fixes.
15031
15032         * tools/gst-inspect.c:
15033         * tools/gst-xmlinspect.c:
15034         * parse/grammar.y:
15035         * gst/base/gsttypefindhelper.c:
15036         * gst/base/gstbasesink.c:
15037         * gst/gstqueue.c: RPAD fixes.
15038
15039         * gst/gstghostpad.h:
15040         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15041         pads. The tricky thing is they provide both source and sink
15042         interfaces, since they proxy the internal pad for the external
15043         pad, and vice versa. Implement with lower-level ProxyPad objects,
15044         with the interior proxy pad as a child of the exterior ghost pad.
15045         Should write a doc on this.
15046         
15047         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15048         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15049         gst_object API.
15050         
15051         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15052         pads are real pads. No ghost pads in this file. Not documenting
15053         the myriad s/RPAD/PAD/ and REALIZE fixes.
15054         (gst_pad_class_init): Add properties for "direction" and
15055         "template". Both are construct-only, so they can't change during
15056         the life of the pad. Fixes properly deriving from GstPad.
15057         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15058         derived objects, just set properties when creating the objects via
15059         g_object_new.
15060         (gst_pad_get_parent): Implement as a function, return NULL if the
15061         parent is not an element.
15062         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15063         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15064         
15065         * gst/gstobject.c (gst_object_class_init): Make name a construct
15066         property. Don't set it in the object init.
15067
15068         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15069         with UNKNOWN direction.
15070         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15071         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15072         (gst_element_remove_pad): Remove ghost-pad special cases.
15073         (gst_element_pads_activate): Remove rpad cruft.
15074
15075         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15076         catch the pad's-parent-not-an-element case.
15077
15078         * gst/gst.h: Include gstghostpad.h.
15079
15080         * gst/gst.c (init_post): No more real, ghost pads.
15081
15082         * gst/Makefile.am: Add gstghostpad.[ch].
15083
15084         * check/Makefile.am:
15085         * check/gst/gstbin.c:
15086         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15087         into a bin creates ghost pads, and that the refcounts are right.
15088         Partly moved from gstbin.c.
15089
15090 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15091
15092         * check/gst-libs/.cvsignore:
15093         * check/gst/.cvsignore:
15094         * check/pipelines/.cvsignore:
15095           ignore more
15096         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15097         (START_TEST), (cleanup_suite), (main):
15098           add some tests related to cleanup after running pipelines
15099
15100 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15101
15102         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15103           add a testsuite for GstBuffer
15104
15105 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15106
15107         * gst/gstminiobject.h:
15108           add defines for accessing the refcount
15109
15110 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15111
15112         * Makefile.am: added support for html unit test coverage reports
15113
15114 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15115
15116         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15117           Free existing caps if the capsfilter changes. Add a FIXME about
15118           setting those caps on the pads.
15119
15120         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15121           Before adding a ghost pad to a parent bin, check that there isn't
15122           already one for the element on the bin. Prevents infinite recursion
15123           when using decodebin in parse pipelines. Andy says he'll rewrite the
15124           way this works anyway, so ignore the hack.
15125
15126 2005-06-02  Andy Wingo  <wingo@pobox.com>
15127
15128         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15129         file size, pass it on to the type find helper.
15130
15131         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15132         segment_start and segment_end properly according to the seek
15133         method. Segment_end is still a bit flaky because offset can be
15134         negative for CUR and END cases, but it takes -1 as an "unset"
15135         value.
15136
15137 2005-06-02  Wim Taymans  <wim@fluendo.com>
15138
15139         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15140         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15141         (gst_basesink_activate):
15142         * gst/base/gstbasesink.h:
15143         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15144         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15145         (gst_pad_query), (gst_pad_start_task):
15146         * gst/gstpad.h:
15147         * gst/gstqueue.c: (gst_queue_bufferalloc),
15148         (gst_queue_handle_sink_event), (gst_queue_chain):
15149         Bufferalloc: return GstFlowReturn to more accuratly report
15150         why allocation failed.
15151
15152 2005-06-02  Wim Taymans  <wim@fluendo.com>
15153
15154         * gst/gstpipeline.c: (gst_pipeline_send_event):
15155         Take snapshot of state without blocking.
15156
15157 2005-06-02  Wim Taymans  <wim@fluendo.com>
15158
15159         * docs/design/part-TODO.txt:
15160         * docs/design/part-caps.txt:
15161         * docs/design/part-clocks.txt:
15162         * docs/design/part-negotiation.txt:
15163         * docs/design/part-preroll.txt:
15164         Small doc updates 
15165
15166 2005-05-30  Wim Taymans  <wim@fluendo.com>
15167
15168         * gst/elements/gstidentity.c: (gst_identity_event),
15169         (gst_identity_transform), (gst_identity_get_property):
15170         Protect last_message property as it is accessed from
15171         multiple threads.
15172
15173 2005-05-30  Wim Taymans  <wim@fluendo.com>
15174
15175         * gst/gstelement.c: (gst_element_init),
15176         (gst_element_pads_activate), (gst_element_change_state):
15177         Slicker pad activation code.
15178
15179 2005-05-30  Wim Taymans  <wim@fluendo.com>
15180
15181         * gst/Makefile.am:
15182         * gst/gstelement.h:
15183         * gst/gstelementfactory.h:
15184         * gst/gsttypes.h:
15185         Move elementfactory methods to separate .h file.
15186
15187 2005-05-30  Wim Taymans  <wim@fluendo.com>
15188
15189         * docs/design/part-overview.txt:
15190         * gst/gstsystemclock.h:
15191         Small typo fixes, doc updates.
15192
15193 2005-05-30  Wim Taymans  <wim@fluendo.com>
15194
15195         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15196         (init_popt_callback):
15197         Remove cpu-opt flag.
15198
15199 2005-05-30  Wim Taymans  <wim@fluendo.com>
15200
15201         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15202         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15203         * gst/gstbuffer.h:
15204         Avoid typechecking in places where not needed.
15205         Added accessor for malloc_data.
15206
15207 2005-05-30  Wim Taymans  <wim@fluendo.com>
15208
15209         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15210         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15211         (gst_pad_configure_sink), (gst_pad_configure_src),
15212         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15213         (gst_pad_start_task):
15214         Propagate errors from _set_caps() in configure_src/sink
15215         functions instead of returning TRUE.
15216         FLUSH events can travel up and downstream
15217
15218
15219 2005-05-30  Wim Taymans  <wim@fluendo.com>
15220
15221         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15222         (gst_basesink_activate):
15223         Handle EOS in preroll.
15224
15225 2005-05-30  Wim Taymans  <wim@fluendo.com>
15226
15227         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15228         (gst_queue_loop), (gst_queue_handle_src_event):
15229         Remove old pieces of code
15230         Flushing the queue in an upstream event is a very bad idea.
15231
15232 2005-05-26  Andy Wingo  <wingo@pobox.com>
15233
15234         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15235         gst_value_set_mini_object so as to add a ref on the object (which
15236         will be removed when the value is unset).
15237
15238         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15239         arg type in ::handoff.
15240
15241         * gst/gstelement.c (gst_element_change_state): Also deactivate
15242         pads in READY->NULL, just in case the element didn't make it to
15243         PAUSED. Wingo tested, Wim approved.
15244
15245 2005-05-26  Wim Taymans  <wim@fluendo.com>
15246
15247         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15248         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15249         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15250         A flushing pad cannot be used to alloc_buffer from.
15251
15252 2005-05-26  Wim Taymans  <wim@fluendo.com>
15253
15254         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15255         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15256         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15257         (gst_bus_create_watch), (gst_bus_add_watch_full):
15258         * gst/gstbus.h:
15259         Implement a real GSource and use g_main_context_wakeup() to
15260         signal new messages instead of the socketpair.
15261
15262 2005-05-25  Wim Taymans  <wim@fluendo.com>
15263
15264         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15265         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15266         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15267         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15268         (gst_pad_send_event), (gst_pad_start_task):
15269         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15270         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15271         (gst_queue_sink_activate), (gst_queue_src_activate),
15272         (gst_queue_change_state):
15273         * gst/gstqueue.h:
15274         Fix state changes for non sinks. We now change sinks, then elements
15275         with unconnected srcpads, then the rest.
15276         More efficient queue unlocking in flush and state changes.
15277         Set the pad activate mode even if it does not have an activate
15278         function.
15279
15280 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15281
15282         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15283           Don't go in pull mode for non-seekable sources.
15284         * gst/elements/gsttypefindelement.h:
15285         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15286         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15287         (free_entry), (stop_typefinding),
15288         (gst_type_find_element_handle_event), (find_peek),
15289         (gst_type_find_element_chain), (do_pull_typefind),
15290         (gst_type_find_element_change_state):
15291           Allow typefinding (w/o seeking) in push-mode, simplified version
15292           of what was in 0.8.
15293         * gst/gstutils.c: (gst_buffer_join):
15294         * gst/gstutils.h:
15295           gst_buffer_join() from 0.8.
15296
15297 2005-05-25  Wim Taymans  <wim@fluendo.com>
15298
15299         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15300         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15301         (gst_pad_send_event), (gst_pad_start_task):
15302         Disable attempt at mode switching until it is figured out.
15303
15304 2005-05-25  Wim Taymans  <wim@fluendo.com>
15305
15306         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15307         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15308         (gst_basesink_finish_preroll), (gst_basesink_chain),
15309         (gst_basesink_loop), (gst_basesink_activate),
15310         (gst_basesink_change_state):
15311         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15312         (gst_basesrc_get_range), (gst_basesrc_loop),
15313         (gst_basesrc_activate):
15314         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15315         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15316         (gst_real_pad_init), (gst_real_pad_set_property),
15317         (gst_real_pad_get_property), (gst_pad_set_active),
15318         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15319         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15320         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15321         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15322         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15323         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15324         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15325         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15326         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15327         (gst_pad_stop_task):
15328         * gst/gstpad.h:
15329         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15330         (gst_queue_loop), (gst_queue_src_activate):
15331         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15332         (gst_task_get_state):
15333         * gst/gsttask.h:
15334         * gst/schedulers/threadscheduler.c:
15335         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15336         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15337         in task function.
15338         Remove ACTIVE pad flag, use FLUSHING everywhere
15339         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15340         functions.
15341         Add locks around IS_FLUSHING when reading.
15342         Take STREAM lock in chain(), get_range() functions so plugins
15343         don't need to take it anymore.
15344         
15345
15346
15347 2005-05-25  Wim Taymans  <wim@fluendo.com>
15348
15349         * tools/gst-launch.c: (event_loop):
15350         Unref message after using its contents instead of
15351         before.
15352
15353 2005-05-24  Wim Taymans  <wim@fluendo.com>
15354
15355         * docs/design/draft-ghostpads.txt:
15356         * docs/design/draft-push-pull.txt:
15357         * docs/design/draft-query.txt:
15358         * docs/design/part-overview.txt:
15359         Docs updates, added general overview doc.
15360
15361 2005-05-21  David Schleef  <ds@schleef.org>
15362
15363         * docs/gst/tmpl/old/GstBin.sgml:
15364         * docs/gst/tmpl/old/GstBuffer.sgml:
15365         * docs/gst/tmpl/old/GstCaps.sgml:
15366         * docs/gst/tmpl/old/GstClock.sgml:
15367         * docs/gst/tmpl/old/GstCompat.sgml:
15368         * docs/gst/tmpl/old/GstData.sgml:
15369         * docs/gst/tmpl/old/GstElement.sgml:
15370         * docs/gst/tmpl/old/GstEvent.sgml:
15371         * docs/gst/tmpl/old/GstIndex.sgml:
15372         * docs/gst/tmpl/old/GstStructure.sgml:
15373         * docs/gst/tmpl/old/GstTag.sgml:
15374         * docs/gst/tmpl/old/cothreads.sgml:
15375         * docs/gst/tmpl/old/cothreads_compat.sgml:
15376         * docs/gst/tmpl/old/gettext.sgml:
15377         * docs/gst/tmpl/old/gobject2gtk.sgml:
15378         * docs/gst/tmpl/old/grammar.tab.sgml:
15379         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15380         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15381         * docs/gst/tmpl/old/gst_private.sgml:
15382         * docs/gst/tmpl/old/gstaggregator.sgml:
15383         * docs/gst/tmpl/old/gstarch.sgml:
15384         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15385         * docs/gst/tmpl/old/gstbufferstore.sgml:
15386         * docs/gst/tmpl/old/gstdata_private.sgml:
15387         * docs/gst/tmpl/old/gstdisksink.sgml:
15388         * docs/gst/tmpl/old/gstdisksrc.sgml:
15389         * docs/gst/tmpl/old/gstelementfactory.sgml:
15390         * docs/gst/tmpl/old/gstextratypes.sgml:
15391         * docs/gst/tmpl/old/gstfakesink.sgml:
15392         * docs/gst/tmpl/old/gstfakesrc.sgml:
15393         * docs/gst/tmpl/old/gstfdsink.sgml:
15394         * docs/gst/tmpl/old/gstfdsrc.sgml:
15395         * docs/gst/tmpl/old/gstfilesink.sgml:
15396         * docs/gst/tmpl/old/gstfilesrc.sgml:
15397         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15398         * docs/gst/tmpl/old/gstidentity.sgml:
15399         * docs/gst/tmpl/old/gstindexfactory.sgml:
15400         * docs/gst/tmpl/old/gstmarshal.sgml:
15401         * docs/gst/tmpl/old/gstmd5sink.sgml:
15402         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15403         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15404         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15405         * docs/gst/tmpl/old/gstpipefilter.sgml:
15406         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15407         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15408         * docs/gst/tmpl/old/gstshaper.sgml:
15409         * docs/gst/tmpl/old/gstspider.sgml:
15410         * docs/gst/tmpl/old/gstspideridentity.sgml:
15411         * docs/gst/tmpl/old/gststatistics.sgml:
15412         * docs/gst/tmpl/old/gsttee.sgml:
15413         * docs/gst/tmpl/old/gsttimecache.sgml:
15414         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15415         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15416         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15417         * docs/gst/tmpl/old/types.sgml:
15418           I didn't intend to add these or check them in.
15419
15420 2005-05-19  David Schleef  <ds@schleef.org>
15421
15422         * configure.ac: Use -no-common everywhere.  In a sane world, it
15423           would be the default in libtool, because without it, you can't
15424           build DLLs on Windows.
15425         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15426         * docs/gst/gstreamer-sections.txt:
15427         * docs/gst/tmpl/gstcpu.sgml:
15428         * docs/gst/tmpl/gstdata.sgml:
15429         * docs/gst/tmpl/gstthread.sgml:
15430
15431 2005-05-19  David Schleef  <ds@schleef.org>
15432
15433         * gst/gstminiobject.c: (gst_value_set_mini_object),
15434         (gst_value_take_mini_object), (gst_value_get_mini_object):
15435         * gst/gstminiobject.h: Add GValue set/get functions.
15436
15437 2005-05-19  Wim Taymans  <wim@fluendo.com>
15438
15439         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15440         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15441         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15442         * gst/gstbuffer.h:
15443         * gst/gstbus.c: (gst_bus_post):
15444         * gst/gstelement.c: (gst_element_get_random_pad):
15445         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15446         Make subbufer unref the parent in finalize.
15447         some more debugging info.
15448
15449
15450 2005-05-19  Wim Taymans  <wim@fluendo.com>
15451
15452         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15453         (gst_basesink_init), (gst_basesink_finalize),
15454         (gst_basesink_activate), (gst_basesink_change_state):
15455         Don't free preroll queue too early.
15456
15457 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15458
15459         * gst/Makefile.am:
15460         * gst/ROADMAP:
15461           Hi, I'm outdated. Please shoot me.
15462
15463 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15464
15465         * gst/gstpipeline.c: (gst_pipeline_send_event):
15466           Do not access variables after they have been deleted.
15467
15468 2005-05-19  Wim Taymans  <wim@fluendo.com>
15469
15470         * tools/gst-inspect.c: (print_plugin_features):
15471         A plugin feature does unfortunatly not use the
15472         object name yet...
15473
15474 2005-05-18  Wim Taymans  <wim@fluendo.com>
15475
15476         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15477         Port _span() functions to new subbuffers.
15478
15479 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15480
15481         * gst/gstbin.c: (gst_bin_add_func):
15482           Fix clock settery in bins when adding kids after the clock has
15483           been selected.
15484
15485 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15486
15487         * gst/elements/gstidentity.c: (gst_identity_class_init):
15488           Workaround until signals support GstMiniObject.
15489
15490 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15491
15492         * gst/gstbuffer.c:
15493         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15494
15495 2005-05-18  Wim Taymans  <wim@fluendo.com>
15496
15497         * gst/base/Makefile.am:
15498         * gst/base/gstadapter.c: (gst_adapter_base_init),
15499         (gst_adapter_class_init), (gst_adapter_init),
15500         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15501         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15502         (gst_adapter_flush), (gst_adapter_available),
15503         (gst_adapter_available_fast):
15504         * gst/base/gstadapter.h:
15505         Ported and added adapter to the base classes.
15506
15507 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15508
15509         * gst/gst.c:
15510         * gst/gstmessage.c:
15511           Make sure the class is reffed/unreffed once before threads can be
15512           used.  Fixes #304551.
15513
15514 2005-05-17  Wim Taymans  <wim@fluendo.com>
15515
15516         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15517         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15518         * gst/gstminiobject.c: (gst_mini_object_get_type),
15519         (gst_mini_object_free):
15520         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15521         (gst_pad_push), (gst_pad_push_event):
15522         * gst/gstqueue.c: (gst_queue_change_state):
15523         Don't queue buffers in basesink when we are flushing.
15524         Unref buffer when flushing in basesink.
15525         Flush queue when going to READY
15526         Unref buffer when _push() returns an error.
15527         Don't free MiniObject instance when refcount is incremented
15528         in _finalize() so that we can recover objects.
15529
15530 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15531
15532         * docs/manual/advanced-schedulers.xml:
15533         * docs/manual/appendix-checklist.xml:
15534         * docs/pwg/advanced-clock.xml:
15535         * docs/pwg/advanced-interfaces.xml:
15536         * docs/pwg/advanced-request.xml:
15537         * docs/pwg/advanced-types.xml:
15538         * docs/pwg/intro-preface.xml:
15539         * examples/plugins/example.c: (gst_example_get_type),
15540         (gst_example_class_init), (gst_example_chain),
15541         (gst_example_set_property), (gst_example_get_property),
15542         (gst_example_change_state), (plugin_init):
15543         * examples/plugins/example.h:
15544           small doc fixes
15545
15546 2005-05-17  Wim Taymans  <wim@fluendo.com>
15547
15548         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15549         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15550         * gst/gstqueue.c: (gst_queue_change_state):
15551         Clear queue when going to READY.
15552         Remove IN_SETCAPS flag too.
15553
15554 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15555
15556         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15557           Remove implicit cast from gboolean to GstElementStateReturn;
15558           make sure we still return failure in paused => ready case if
15559           the parent class fails to change state and our own stop 
15560           vfunc succeeds.
15561
15562 2005-05-17  Wim Taymans  <wim@fluendo.com>
15563
15564         * tools/gst-launch.c: (event_loop):
15565         Message was unreffed too soon.
15566
15567 2005-05-16  Andy Wingo  <wingo@pobox.com>
15568
15569         * gst/gstbin.c (sink_iterator_filter): Err... um...
15570
15571         * check/gst/gstbin.c (test_ghost_pads): New test for the
15572         ghosting-if-elements-not-in-same-bin behavior.
15573
15574 2005-05-16  David Schleef  <ds@schleef.org>
15575
15576         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15577         accessing refcount directly.
15578
15579 2005-05-15  David Schleef  <ds@schleef.org>
15580
15581         * check/Makefile.am: remove GstData checks
15582         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15583         * gst/Makefile.am: add miniobject, remove data
15584         * gst/gst.h: add miniobject, remove data
15585         * gst/gstdata.c: remove
15586         * gst/gstdata.h: remove
15587         * gst/gstdata_private.h: remove
15588         * gst/gsttypes.h: remove GstEvent and GstMessage
15589         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15590         * gst/gstmarshal.list: change BOXED -> OBJECT
15591
15592         Implement GstMiniObject.
15593         * gst/gstminiobject.c:
15594         * gst/gstminiobject.h:
15595
15596         Modify to be subclasses of GstMiniObject.
15597         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15598         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15599         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15600         (gst_subbuffer_get_type), (gst_subbuffer_init),
15601         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15602         (gst_buffer_span):
15603         * gst/gstbuffer.h:
15604         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15605         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15606         (_gst_event_copy), (gst_event_new):
15607         * gst/gstevent.h:
15608         * gst/gstmessage.c: (_gst_message_initialize),
15609         (gst_message_get_type), (gst_message_class_init),
15610         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15611         (gst_message_new), (gst_message_new_error),
15612         (gst_message_new_warning), (gst_message_new_tag),
15613         (gst_message_new_state_changed), (gst_message_new_application):
15614         * gst/gstmessage.h:
15615         * gst/gstprobe.c: (gst_probe_perform),
15616         (gst_probe_dispatcher_dispatch):
15617         * gst/gstprobe.h:
15618         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15619         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15620         (_gst_query_copy), (gst_query_new):
15621
15622         Update elements for GstData -> GstMiniObject changes
15623         * gst/gstquery.h:
15624         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15625         (gst_queue_chain), (gst_queue_loop):
15626         * gst/elements/gstbufferstore.c:
15627         (gst_buffer_store_add_buffer_func),
15628         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15629         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15630         (gst_fakesink_render):
15631         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15632         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15633         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15634         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15635         (gst_filesrc_create_read):
15636         * gst/elements/gstidentity.c: (gst_identity_class_init):
15637         * gst/elements/gsttypefindelement.c:
15638         (gst_type_find_element_src_event), (free_entry_buffers),
15639         (gst_type_find_element_handle_event):
15640         * libs/gst/dataprotocol/dataprotocol.c:
15641         (gst_dp_header_from_buffer):
15642         * libs/gst/dataprotocol/dataprotocol.h:
15643         * libs/gst/dataprotocol/dp-private.h:
15644
15645 2005-05-15  David Schleef  <ds@schleef.org>
15646
15647         * gst/elements/gstelements.c: Don't include headers that were
15648         just removed.
15649
15650 2005-05-15  David Schleef  <ds@schleef.org>
15651
15652         * gst/elements/Makefile.am: Remove some elements that don't
15653         need to be in the core (or even exist at all).
15654         * gst/elements/gstaggregator.c:
15655         * gst/elements/gstaggregator.h:
15656         * gst/elements/gstmd5sink.c:
15657         * gst/elements/gstmd5sink.h:
15658         * gst/elements/gstmultifilesrc.c:
15659         * gst/elements/gstmultifilesrc.h:
15660         * gst/elements/gstpipefilter.c:
15661         * gst/elements/gstpipefilter.h:
15662         * gst/elements/gstshaper.c:
15663         * gst/elements/gstshaper.h:
15664         * gst/elements/gststatistics.c:
15665         * gst/elements/gststatistics.h:
15666         * po/POTFILES.in: Remove above files.
15667
15668 2005-05-14  Andy Wingo  <wingo@pobox.com>
15669
15670         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15671         so as to get the refs right.
15672         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15673         unreffing objects that don't pass the filter.
15674
15675         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15676         gst_element_set_bus.
15677         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15678         normal cases, this will destroy the bus.
15679
15680         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15681         object.
15682
15683         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15684         has no sinks.
15685
15686 2005-05-13  Andy Wingo  <wingo@pobox.com>
15687
15688         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15689         gst_pad_link, call pad_link_maybe_ghosting,
15690         (pad_link_maybe_ghosting): Links pads, making sure that the
15691         elements being linked are in the same bin.
15692         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15693         Helpers for pad_link_maybe_ghosting.
15694
15695 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15696
15697         * configure.ac:
15698           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15699
15700 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15701
15702         * docs/design/part-element-source.txt:
15703           Mention GstPushSrc
15704
15705 2005-05-12  Wim Taymans  <wim@fluendo.com>
15706
15707         * gst/base/gstbasesink.c: (gst_basesink_init),
15708         (gst_basesink_activate):
15709         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15710         (gst_basesrc_is_seekable):
15711         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15712         (bin_element_is_sink), (gst_bin_change_state):
15713         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15714         * gst/gstelement.h:
15715         Identify sinks by their flag to avoid overly complicated
15716         checks (fow now).
15717         Do state changes even for elements not reachable from the
15718         sinks.
15719         BaseSink is a sink now :)
15720         Some more debugging info in the basesrc.
15721
15722
15723 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15724
15725         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15726           Implement _query on a bin, similar to _send_event.
15727
15728 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15729
15730         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15731           Discont event offset format should be GST_FORMAT_BYTES,
15732           not GST_FORMAT_TIME.
15733
15734 2005-05-12  Wim Taymans  <wim@fluendo.com>
15735
15736         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15737         Same fix as Ronald's but without the signal. 
15738
15739 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15740
15741         * gst/gstutils.c: (gst_element_query_position):
15742           No, an element is not a pad.
15743
15744 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15745
15746         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15747         (gst_bin_get_state):
15748           If a child is removed from a bin while we remove the child from
15749           the bin and while we're retrieving its state, signal this to the
15750           get_state function so we abort the wait (instead of waiting for
15751           a timeout) and can immediately re-iterate over all other elements.
15752
15753 2005-05-12  Wim Taymans  <wim@fluendo.com>
15754
15755         * gst/base/Makefile.am:
15756         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15757         (gst_basesrc_start):
15758         * gst/base/gstbasesrc.h:
15759         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15760         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15761         (gst_pushsrc_init), (gst_pushsrc_create):
15762         * gst/base/gstpushsrc.h:
15763         Added is_seekable to BaseSrc
15764         Added simple PushSrc.
15765
15766 2005-05-11  Wim Taymans  <wim@fluendo.com>
15767
15768         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15769         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15770         (gst_element_link_pads), (gst_element_query_position),
15771         (gst_element_query_convert), (intersect_caps_func),
15772         (gst_pad_query_position), (gst_pad_query_convert):
15773         Fix refcounting in utils function.
15774         No point in trying to activate a pad when it's added, it could
15775         be added from the state change function and then we deadlock, the
15776         element has to decide what to do.
15777
15778 2005-05-10  Andy Wingo  <wingo@pobox.com>
15779
15780         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15781         *all* the arguments.
15782
15783         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15784         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15785         lock (according to the docs -- if this is wrong change the docs).
15786
15787         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15788         flush messages in the NULL state.
15789
15790         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15791         message immediately and return.
15792         (gst_bus_set_flushing): New function. If a bus is flushing, it
15793         flushes out any queued messages and immediately unrefs new
15794         messages. This is so when an element goes to NULL, all of the
15795         unhandled messages coming from it can be freed, and their
15796         references to the element dropped. In other words: message source
15797         ref considered harmful :P
15798
15799         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15800         we're finished with it.
15801
15802         * gst/gstmessage.c (gst_message_new_state_changed): 
15803
15804 2005-05-10  Wim Taymans  <wim@fluendo.com>
15805
15806         * gst/gstvalue.c: (gst_value_compare_flags),
15807         (gst_value_serialize_flags), (gst_value_deserialize_flags),
15808         (_gst_value_initialize):
15809         Added flags serialize/deserialize/compare code.
15810
15811 2005-05-09  Andy Wingo  <wingo@pobox.com>
15812
15813         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15814         Intersect the peer's caps with our caps.
15815
15816 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15817
15818         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15819         * gst/elements/gsttypefindelement.c: (find_peek):
15820           Handle negative offsets better. Fixes decodebin.
15821
15822 2005-05-09  Wim Taymans  <wim@fluendo.com>
15823
15824         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15825         (gst_base_transform_event):
15826         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15827         Implement accept_caps.
15828         Fix silly lock/unlock mismatch in base class.
15829
15830 2005-05-09  Wim Taymans  <wim@fluendo.com>
15831
15832         * docs/design/draft-push-pull.txt:
15833         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15834         * gst/elements/gstfilesink.c: (gst_filesink_init),
15835         (gst_filesink_query):
15836         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15837         (gst_type_find_handle_src_query), (find_element_get_length):
15838         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15839         * gst/gstelement.h:
15840         * gst/gstmessage.c:
15841         * gst/gstmessage.h:
15842         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15843         (gst_real_pad_get_caps_unlocked),
15844         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15845         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15846         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15847         (gst_real_pad_dispose), (gst_real_pad_finalize),
15848         (gst_pad_load_and_link), (gst_pad_save_thyself),
15849         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15850         (gst_pad_check_pull_range), (gst_pad_pull_range),
15851         (gst_pad_template_get_type), (gst_pad_template_class_init),
15852         (gst_pad_template_init), (gst_pad_template_dispose),
15853         (name_is_valid), (gst_static_pad_template_get),
15854         (gst_pad_template_new), (gst_static_pad_template_get_caps),
15855         (gst_pad_template_get_caps), (gst_pad_set_element_private),
15856         (gst_pad_get_element_private), (gst_pad_start_task),
15857         (gst_pad_pause_task), (gst_pad_stop_task),
15858         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
15859         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
15860         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
15861         (gst_ghost_pad_new):
15862         * gst/gstpad.h:
15863         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
15864         (gst_query_new_position), (gst_query_set_position),
15865         (gst_query_parse_position), (gst_query_new_convert),
15866         (gst_query_set_convert), (gst_query_parse_convert):
15867         * gst/gstquery.h:
15868         * gst/gstqueryutils.c:
15869         * gst/gstqueryutils.h:
15870         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15871         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15872         (gst_queue_handle_src_query):
15873         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15874         (gst_element_query_position), (gst_element_query_convert),
15875         (intersect_caps_func), (gst_pad_query_position),
15876         (gst_pad_query_convert):
15877         * gst/gstutils.h:
15878         * tools/gst-inspect.c: (print_pad_info):
15879         * tools/gst-xmlinspect.c: (print_element_info):
15880         Remove old query functions. Ported old code.
15881         Added position/convert helper functions to gstutils.
15882         Reordered gstpad.c code, grouping relevant things.
15883         Remove gst_message_new(), always need to speficy a specific
15884         message.
15885
15886
15887 2005-05-09  Andy Wingo  <wingo@pobox.com>
15888
15889         * gst/gstiterator.h: Add some includes.
15890
15891         * gst/gstqueryutils.h: Include more headers.
15892
15893         * gst/gstpad.h:
15894         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15895         some uses of gst_pad_query.
15896
15897         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15898         NULL out parameters.
15899         (gst_query_new_position): New proc, allocates a new position
15900         query.
15901
15902         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15903         gstqueryutils.c to the build.
15904
15905         * gst/gststructure.c (gst_structure_set_valist): Implement with
15906         the generic G_VALUE_COLLECT.
15907         
15908 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15909
15910         * gst/Makefile.am: (gst_headers):
15911         Added gstqueryutils.h to the list of headers to install, that was
15912         a 'nachty' move wingo :)
15913
15914 2005-05-06  Andy Wingo  <wingo@pobox.com>
15915
15916         * gst/gstquery.h
15917         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15918         GstData, init a memchunk.
15919         (standard_definitions): Add a few query types, deprecate a few.
15920         (gst_query_get_type): New proc.
15921         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15922         implementation.
15923         (gst_query_new_application, gst_query_get_structure): New public
15924         procs.
15925
15926         * docs/design/draft-query.txt: Removed LINKS from the query types,
15927         because all the rest can be dispatched to other pads -- seemed
15928         ugly to have a query that couldn't be dispatched. internal_links
15929         is fine as a pad method.
15930
15931         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15932         in gstpad.c, but maintain binary compatibility for the moment.
15933         Will fix before 0.9 is out.
15934
15935         * gst/gstqueryutils.c: 
15936         * gst/gstqueryutils.h: New files, implement 3 methods for each
15937         query type: parse_query, parse_response, and set. Probably need an
15938         allocator as well.
15939
15940         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15941
15942         * gst/elements/gstfilesink.c (gst_filesink_query2):
15943         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15944         query_types, and formats methods.
15945
15946         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15947         (gst_pad_set_query2_function): New functions.
15948         (gst_real_pad_init): Set query2_default as the default query2
15949         function. Basically just dispatches to internally linked pads.
15950
15951         Needs review!
15952         
15953         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15954         without using the atomic operations. Only one thread can possibly
15955         be accessing the data at this point. Changed so as to avoid
15956         gst_atomic operations.
15957
15958 2005-05-06  Wim Taymans  <wim@fluendo.com>
15959
15960         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
15961         Also set caps if we use the fallback buffer alloc.
15962
15963 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
15964
15965         * docs/gst/Makefile.am:
15966         * docs/gst/gstreamer-docs.sgml:
15967         * docs/gst/gstreamer-sections.txt:
15968         * docs/gst/tmpl/gstatomic.sgml:
15969         * docs/gst/tmpl/gstmemchunk.sgml:
15970         * testsuite/elements/struct_i386.h:
15971         * win32/GStreamer.vcproj:
15972         * win32/Makefile:
15973           Purge GstAtomic stuff from docs and win32 makefiles as well
15974
15975 2005-05-06  Wim Taymans  <wim@fluendo.com>
15976
15977         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
15978         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
15979         * gst/gstpad.c: (gst_pad_peer_get_caps):
15980         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15981         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15982         (gst_queue_src_activate), (gst_queue_change_state):
15983         * gst/gstqueue.h:
15984         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15985         (intersect_caps_func):
15986         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
15987         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
15988         Some fixes for the peer_get_caps() change.
15989
15990 2005-05-06  Wim Taymans  <wim@fluendo.com>
15991
15992         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15993         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
15994         (gst_basesink_activate):
15995         Actually do something with error codes returned from the push
15996         functions.
15997
15998 2005-05-06  Wim Taymans  <wim@fluendo.com>
15999
16000         * docs/design/part-element-sink.txt:
16001         * docs/design/part-element-source.txt:
16002         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16003         (gst_basesink_event), (gst_basesink_activate):
16004         * gst/base/gstbasesink.h:
16005         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16006         (gst_basesrc_activate):
16007         * gst/base/gstbasesrc.h:
16008         * gst/gstelement.c: (gst_element_pads_activate):
16009         Some more documentation.
16010         Fixed scheduling decision in _pads_activate().
16011
16012 2005-05-05  Andy Wingo  <wingo@pobox.com>
16013
16014         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16015         the test suite.
16016
16017 2005-05-05  Wim Taymans  <wim@fluendo.com>
16018
16019         * gst/base/Makefile.am:
16020         * gst/base/gstbasesink.h:
16021         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16022         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16023         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16024         (gst_collectpads_class_init), (gst_collectpads_init),
16025         (gst_collectpads_finalize), (gst_collectpads_new),
16026         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16027         (find_pad), (gst_collectpads_remove_pad),
16028         (gst_collectpads_is_active), (gst_collectpads_collect),
16029         (gst_collectpads_collect_range), (gst_collectpads_start),
16030         (gst_collectpads_stop), (gst_collectpads_peek),
16031         (gst_collectpads_pop), (gst_collectpads_available),
16032         (gst_collectpads_read), (gst_collectpads_flush),
16033         (gst_collectpads_chain):
16034         * gst/base/gstcollectpads.h:
16035         * gst/elements/Makefile.am:
16036         * gst/elements/gstelements.c:
16037         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16038         (gst_fakesink_get_times), (gst_fakesink_event),
16039         (gst_fakesink_preroll), (gst_fakesink_render):
16040         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16041         (gst_filesink_init), (gst_filesink_set_location),
16042         (gst_filesink_open_file), (gst_filesink_close_file),
16043         (gst_filesink_pad_query), (gst_filesink_event),
16044         (gst_filesink_render), (gst_filesink_change_state):
16045         * gst/elements/gstfilesink.h:
16046         Added object to help in making collect pad based elements.
16047         Ported filesink.
16048         Make event function in sink baseclass return gboolean.
16049
16050 2005-05-05  Wim Taymans  <wim@fluendo.com>
16051
16052         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16053         (gst_bin_get_by_name):
16054         * gst/gstbuffer.h:
16055         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16056         (gst_clock_finalize):
16057         * gst/gstdata.c: (gst_data_replace):
16058         * gst/gstdata.h:
16059         * gst/gstelement.c: (gst_element_request_pad),
16060         (gst_element_pads_activate):
16061         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16062         (gst_object_unref):
16063         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16064         (gst_pad_set_checkgetrange_function),
16065         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16066         (gst_pad_check_pull_range), (gst_pad_pull_range),
16067         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16068         (gst_pad_pause_task), (gst_pad_stop_task):
16069         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16070         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16071         Fix name lookup in GstBin.
16072         Added _data_replace() function and _buffer_replace()
16073         Use finalize method to clean up clock.
16074         Fix refcounting on request pads.
16075         Fix pad schedule mode error.
16076         Some more object refcounting debug info,
16077
16078
16079 2005-05-04  Andy Wingo <wingo@pobox.com>
16080
16081         * check/Makefile.am:
16082         * docs/gst/tmpl/gstatomic.sgml:
16083         * docs/gst/tmpl/gstplugin.sgml:
16084         * gst/base/gstbasesink.c: (gst_basesink_activate):
16085         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16086         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16087         (gst_basesrc_query), (gst_basesrc_set_property),
16088         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16089         (gst_basesrc_activate):
16090         * gst/base/gstbasesrc.h:
16091         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16092         (gst_base_transform_src_activate):
16093         * gst/elements/gstelements.c:
16094         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16095         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16096         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16097         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16098         (gst_type_find_element_checkgetrange),
16099         (gst_type_find_element_activate):
16100         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16101         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16102         (gst_caps_load_thyself):
16103         * gst/gstelement.c: (gst_element_pads_activate),
16104         (gst_element_save_thyself), (gst_element_restore_thyself):
16105         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16106         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16107         * gst/gstpad.h:
16108         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16109         (gst_xml_parse_file), (gst_xml_parse_memory),
16110         (gst_xml_get_element), (gst_xml_make_element):
16111         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16112         (_file_index_id_save_xml), (gst_file_index_commit):
16113         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16114         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16115         (load_paths):
16116         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16117         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16118         * tools/gst-complete.c: (main):
16119         * tools/gst-compprep.c: (main):
16120         * tools/gst-inspect.c: (print_element_properties_info):
16121         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16122         * tools/gst-xmlinspect.c: (print_element_properties):
16123         GCC 4 fixen.
16124         
16125 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16126
16127         * gst/gstplugin.c: (gst_plugin_check_module),
16128         (gst_plugin_check_file), (gst_plugin_load_file):
16129             apply patch from #172526 to make register work on MacOSX
16130
16131 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16132
16133         * docs/gst/tmpl/gstconfig.sgml:
16134         * gst/gstconfig.h.in:
16135           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16136         * testsuite/debug/printf_extension.c: (main):
16137           Do not use GST_PTR_FORMAT on pointers to types with
16138           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16139         * testsuite/elements/property.h:
16140           use correct printf format
16141
16142 2005-05-02  Wim Taymans  <wim@fluendo.com>
16143
16144         * docs/design/draft-push-pull.txt:
16145         * docs/design/draft-query.txt:
16146         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16147         (gst_basesrc_start):
16148         Added draft for new query API.
16149         Added draft for better selecting scheduling methods.
16150         Make basesrc ignore length if the subclass does not support
16151         it.
16152
16153 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16154
16155         * gst/Makefile.am:
16156           possible fixes for automake-1.5 - _LIBADD is reserved
16157
16158 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16159
16160         * docs/faq/Makefile.am:
16161         * docs/manual/Makefile.am:
16162         * docs/manuals.mak:
16163         * docs/pwg/Makefile.am:
16164         * gst/Makefile.am:
16165           possible fixes for automake-1.5
16166
16167 2005-04-28  Wim Taymans  <wim@fluendo.com>
16168
16169         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16170         (gst_basesink_pad_getcaps), (gst_basesink_init),
16171         (gst_basesink_do_sync):
16172         * gst/gstclock.c: (gst_clock_entry_new):
16173         * gst/gstevent.c: (gst_event_discont_get_value):
16174         * gst/gstpipeline.c: (pipeline_bus_handler),
16175         (gst_pipeline_change_state):
16176         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16177         Better debugging of clocking info.
16178         Allow NULL values when getting discont values.
16179
16180 2005-04-27  Wim Taymans  <wim@fluendo.com>
16181
16182         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16183         * check/gst/gstpad.c: (gst_pad_suite):
16184         Increase timeout for checks.
16185
16186 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16187
16188         * check/Makefile.am:
16189           fix the broken rule for cleanup.  Apparently this rule is
16190           only needed on FC2, so maybe this warrants further autotool
16191           inspection.
16192
16193 2005-04-26  Wim Taymans  <wim@fluendo.com>
16194
16195         * gst/gsttrashstack.h:
16196         Ooohh. a nasty one! After having a failed pop() from the stack,
16197         it's possible that the stack is empty. In that case, don't
16198         follow the NULL pointer.
16199
16200 2005-04-25  Wim Taymans  <wim@fluendo.com>
16201
16202         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16203         (gst_pad_set_checkgetrange_function),
16204         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16205         (gst_pad_check_pull_range), (gst_pad_pull_range),
16206         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16207         (gst_pad_pause_task), (gst_pad_stop_task):
16208         * gst/gstplugin.c: (gst_plugin_load):
16209         * gst/gstplugin.h:
16210         Remove gst_library_load as it does more harm than good with
16211         the new g_module flags.
16212         Revert bogus caps template check in pad linking, pad caps
16213         are important when linking not the template, which is more
16214         general than the current caps.
16215
16216 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16217
16218         * gst/autoplug/.cvsignore:
16219         * gst/autoplug/Makefile.am:
16220         * gst/autoplug/gstsearchfuncs.c:
16221         * gst/autoplug/gstsearchfuncs.h:
16222         * gst/autoplug/gstspider.c:
16223         * gst/autoplug/gstspider.h:
16224         * gst/autoplug/gstspideridentity.c:
16225         * gst/autoplug/gstspideridentity.h:
16226         * gst/autoplug/spidertest.c:
16227           Die, spider, die.
16228
16229 2005-04-25  Wim Taymans  <wim@fluendo.com>
16230
16231         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16232         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16233         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16234         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16235         * gst/gstpad.h:
16236         Added stubs for unimplemented functions. 
16237
16238 2005-04-24  David Schleef  <ds@schleef.org>
16239
16240         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16241         please fix.
16242
16243 2005-04-24  David Schleef  <ds@schleef.org>
16244
16245         Convert everything from GstAtomicInt to g_atomic_int_*, and
16246         remove gstatomic.
16247         * gst/Makefile.am:
16248         * gst/gstatomic.c:
16249         * gst/gstatomic.h:
16250         * gst/gstatomic_impl.h:
16251         * gst/gstbuffer.c:
16252         * gst/gstcaps.c:
16253         * gst/gstcaps.h:
16254         * gst/gstclock.c:
16255         * gst/gstclock.h:
16256         * gst/gstdata.c:
16257         * gst/gstdata.h:
16258         * gst/gstdata_private.h:
16259         * gst/gstevent.c:
16260         * gst/gstinfo.c:
16261         * gst/gstinfo.h:
16262         * gst/gstmessage.c:
16263         * gst/gstobject.c:
16264         * gst/gstobject.h:
16265         * gst/gststructure.c:
16266         * gst/gststructure.h:
16267         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16268         * gst/gstutils.h:
16269
16270 2005-04-24  David Schleef  <ds@schleef.org>
16271
16272         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16273         make the regressions tests work.  Remove some code that is no
16274         longer true.
16275         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16276         Disable warning for pads without templates.
16277
16278 2005-04-24  David Schleef  <ds@schleef.org>
16279
16280         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16281         functions that handle filtered links.
16282         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16283         removed functions.
16284         * gst/gstutils.c: Fix/remove utility functions that handle
16285         filtered caps.
16286         * gst/gstutils.h:
16287         * gst/gstvalue.c: Add serialization/deserialization of caps
16288         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16289         requires fixing so that the filter caps notation creates
16290         a capsfilter element and sets the filter_caps property.  I
16291         think everyone probably wants to keep the shorthand notation.
16292         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16293         * docs/gst/tmpl/gstpad.sgml:
16294
16295         * gst/elements/gstelements.c: Register capsfilter element.
16296         * gst/Makefile.am: fix spacing
16297         * docs/random/ds/0.9-suggested-changes: random
16298
16299 2005-04-23  David Schleef  <ds@schleef.org>
16300
16301         * gst/elements/Makefile.am:
16302         * gst/elements/gstcapsfilter.c: New element that acts like an
16303         identity, but filters caps.  Will eventually replace filtered
16304         caps in pad linking.
16305         * gst/gstutils.c: (gst_element_create_all_pads): New function
16306         to create all the ALWAYS pads that are registered with an
16307         element class.  This functionality should eventually be
16308         merged in with GstElement initialization.
16309         * gst/gstutils.h:
16310         * testsuite/trigger/README: part of trigger test code that should
16311         have been checked in a long time ago.
16312
16313 2005-04-23  David Schleef  <ds@schleef.org>
16314
16315         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16316         needed with new versions of libtool (nobody will confirm this),
16317         and hard to carry around.
16318         * gst/autoplug/Makefile.am:
16319         * gst/base/Makefile.am:
16320         * gst/elements/Makefile.am:
16321         * gst/indexers/Makefile.am:
16322         * gst/schedulers/Makefile.am:
16323         * libs/gst/bytestream/Makefile.am:
16324         * libs/gst/control/Makefile.am:
16325         * libs/gst/dataprotocol/Makefile.am:
16326         * libs/gst/getbits/Makefile.am:
16327
16328 2005-04-21  Wim Taymans  <wim@fluendo.com>
16329
16330         * docs/design/draft-push-pull.txt:
16331         * docs/design/part-MT-refcounting.txt:
16332         * docs/design/part-TODO.txt:
16333         * docs/design/part-caps.txt:
16334         * docs/design/part-events.txt:
16335         * docs/design/part-gstbus.txt:
16336         * docs/design/part-gstpipeline.txt:
16337         * docs/design/part-messages.txt:
16338         * docs/design/part-push-pull.txt:
16339         * docs/design/part-query.txt:
16340         Some more docs.
16341
16342 2005-04-21  Wim Taymans  <wim@fluendo.com>
16343
16344         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16345         (gst_message_new), (gst_message_new_error),
16346         (gst_message_new_warning), (gst_message_new_tag),
16347         (gst_message_new_state_changed), (gst_message_new_application),
16348         (gst_message_get_structure):
16349         * gst/gstmessage.h:
16350         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16351         (gst_structure_copy_conditional):
16352         Use parent refcount in GstMessage to ensure GstStructure
16353         consistency.
16354         Cleaned up headers a bit.
16355         
16356
16357 2005-04-20  Wim Taymans  <wim@fluendo.com>
16358
16359         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16360         (gst_basesink_pad_getcaps), (gst_basesink_init),
16361         (gst_basesink_chain_unlocked):
16362         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16363         (gst_type_find_helper):
16364         * gst/elements/gsttypefindelement.c:
16365         (gst_type_find_element_have_type), (gst_type_find_element_init),
16366         (stop_typefinding), (gst_type_find_element_handle_event),
16367         (find_suggest), (gst_type_find_element_chain),
16368         (gst_type_find_element_checkgetrange),
16369         (gst_type_find_element_getrange), (do_typefind),
16370         (gst_type_find_element_activate):
16371         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16372         (gst_buffer_default_free), (gst_buffer_default_copy),
16373         (gst_buffer_set_caps):
16374         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16375         (gst_caps_replace):
16376         * gst/gstmessage.c: (gst_message_new),
16377         (gst_message_new_state_changed):
16378         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16379         (gst_pad_set_checkgetrange_function),
16380         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16381         (gst_pad_set_caps), (gst_pad_check_pull_range),
16382         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16383         * gst/gstpad.h:
16384         * gst/gsttypefind.c: (gst_type_find_register):
16385         Make gst_caps_replace() work like other _replace() functions.
16386         Use _caps_replace() where possible.
16387         Make sure _message_new() initialises its field.
16388         Add gst_static_pad_template_get_caps()
16389
16390
16391 2005-04-18  Andy Wingo  <wingo@pobox.com>
16392
16393         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16394         on the peer, not the pad. I think that was a typo. Pass an extra
16395         arg to see if random access is possible. Activate the pads as
16396         PULL_RANGE if possible.
16397
16398         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16399
16400         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16401         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16402         to PROP_....
16403
16404 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16405
16406         * docs/faq/using.xml:
16407           Add note on gstreamer-properties (#154996).
16408
16409 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16410
16411         * docs/random/bbb/optional-properties:
16412           Some analysis on optional properties.
16413
16414 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16415
16416         * docs/gst/tmpl/gstelementfactory.sgml:
16417         * gst/gstelement.h:
16418         * gst/gstelementfactory.c: (gst_element_factory_init),
16419         (gst_element_factory_cleanup), (gst_element_register),
16420         (__gst_element_factory_add_static_pad_template),
16421         (gst_element_factory_get_static_pad_templates),
16422         (gst_element_factory_can_src_caps),
16423         (gst_element_factory_can_sink_caps):
16424         * gst/registries/Makefile.am:
16425         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16426         (gst_xml_registry_class_init), (gst_xml_registry_init),
16427         (gst_xml_registry_new), (gst_xml_registry_set_property),
16428         (gst_xml_registry_get_property), (get_time), (make_dir),
16429         (gst_xml_registry_get_perms_func),
16430         (plugin_times_older_than_recurse), (plugin_times_older_than),
16431         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16432         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16433         (add_to_char_array), (read_string), (read_uint), (read_enum),
16434         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16435         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16436         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16437         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16438         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16439         (gst_xml_registry_rebuild):
16440         * gst/registries/gstlibxmlregistry.h:
16441         * tools/gst-compprep.c: (main):
16442         * tools/gst-inspect.c: (print_pad_templates_info):
16443         * tools/gst-xmlinspect.c: (print_element_info):
16444           Use libxml2 for registry parsing, use staticpadtemplates in
16445           elementfactories. Makes gst_init() +/- 10x faster.
16446
16447 2005-04-12  Wim Taymans  <wim@fluendo.com>
16448
16449         * gst/base/Makefile.am:
16450         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16451         (gst_basesink_pad_getcaps), (gst_basesink_init),
16452         (gst_basesink_event), (gst_basesink_change_state):
16453         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16454         (gst_basesrc_init), (gst_basesrc_query),
16455         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16456         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16457         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16458         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16459         (gst_basesrc_stop), (gst_basesrc_activate),
16460         (gst_basesrc_change_state):
16461         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16462         (helper_find_suggest), (gst_type_find_helper):
16463         * gst/base/gsttypefindhelper.h:
16464         * gst/elements/Makefile.am:
16465         * gst/elements/gstelements.c:
16466         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16467         (gst_fakesink_get_times), (gst_fakesink_event),
16468         (gst_fakesink_preroll), (gst_fakesink_render):
16469         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16470         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16471         (gst_fakesrc_get_property), (gst_fakesrc_create),
16472         (gst_fakesrc_start), (gst_fakesrc_stop):
16473         * gst/elements/gstfakesrc.h:
16474         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16475         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16476         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16477         (gst_filesrc_create_read), (gst_filesrc_create),
16478         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16479         (gst_filesrc_start):
16480         * gst/elements/gsttypefindelement.c:
16481         (gst_type_find_element_have_type), (gst_type_find_element_init),
16482         (start_typefinding), (stop_typefinding), (push_buffer_store),
16483         (gst_type_find_element_handle_event),
16484         (gst_type_find_element_chain),
16485         (gst_type_find_element_checkgetrange),
16486         (gst_type_find_element_getrange), (do_typefind),
16487         (gst_type_find_element_activate),
16488         (gst_type_find_element_change_state):
16489         * gst/elements/gsttypefindelement.h:
16490         * gst/gstpipeline.c: (pipeline_bus_handler):
16491         Added typefind helper.
16492         Small preroll fix in the base sink.
16493         Disable typefind code in basesrc.
16494         Crude port of typefindelement.
16495         Fakesrc cleanups.
16496
16497
16498 2005-04-11  Wim Taymans  <wim@fluendo.com>
16499
16500         * check/gst/gstbus.c: (gstbus_suite):
16501         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16502         * check/gstcheck.h:
16503           Fix up the timeout so that the test does not fail.
16504
16505 2005-04-06  Wim Taymans  <wim@fluendo.com>
16506
16507         * gst/base/README:
16508         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16509         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16510         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16511         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16512         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16513         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16514         (gst_basesrc_stop), (gst_basesrc_activate),
16515         (gst_basesrc_change_state), (basesrc_find_peek),
16516         (basesrc_find_suggest), (gst_basesrc_type_find):
16517         * gst/base/gstbasesrc.h:
16518         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16519         (gst_filesrc_class_init), (gst_filesrc_init),
16520         (gst_filesrc_finalize), (gst_filesrc_set_location),
16521         (gst_filesrc_set_property), (gst_filesrc_get_property),
16522         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16523         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16524         (gst_filesrc_create_read), (gst_filesrc_create),
16525         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16526         * gst/elements/gstfilesrc.h:
16527         * gst/gstelement.c: (gst_element_get_state_func),
16528         (gst_element_lost_state), (gst_element_pads_activate):
16529         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16530         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16531         (gst_pad_pull_range):
16532         * gst/gstpad.h:
16533         More work on the generic source base class, implement seeking,
16534         query.
16535         Make filesrc extend the base source class.
16536         Added gst_pad_set_checkgetrange_function to GstPad.
16537
16538 2005-04-06  Andy Wingo  <wingo@pobox.com>
16539
16540         * pkgconfig/gstreamer-base.pc.in:
16541         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16542
16543         * pkgconfig/Makefile.am:
16544         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16545
16546 2005-04-04  Wim Taymans  <wim@fluendo.com>
16547
16548         * gst/base/Makefile.am:
16549         * gst/base/README:
16550         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16551         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16552         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16553         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16554         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16555         (gst_basesrc_base_init), (gst_basesrc_class_init),
16556         (gst_basesrc_init), (gst_basesrc_get_formats),
16557         (gst_basesrc_get_query_types), (gst_basesrc_query),
16558         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16559         (gst_basesrc_set_property), (gst_basesrc_get_property),
16560         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16561         (gst_basesrc_loop), (gst_basesrc_activate),
16562         (gst_basesrc_change_state):
16563         * gst/base/gstbasesrc.h:
16564         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16565         (gst_fakesrc_class_init), (gst_fakesrc_init),
16566         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16567         (gst_fakesrc_get_property), (gst_fakesrc_create):
16568         * gst/elements/gstfakesrc.h:
16569         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16570         (gst_filesrc_open_file), (gst_filesrc_loop),
16571         (gst_filesrc_activate), (filesrc_find_peek),
16572         (gst_filesrc_type_find):
16573         Made base source class, make fakesrc extend it.
16574         Add comments to basesink class.
16575         Some filesrc cleanup.
16576
16577 2005-03-31  David Schleef  <ds@schleef.org>
16578
16579         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16580         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16581         expected to link against libgstreamer.
16582         * gst/base/Makefile.am: link against libgstreamer
16583         * gst/elements/Makefile.am: same
16584
16585 2005-03-31  Andy Wingo  <wingo@pobox.com>
16586
16587         * tests/instantiate/Makefile.am:
16588         * tests/instantiate/caps.c: Add test to test speed of caps copy
16589         and free.
16590
16591         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16592         GMemChunk to be fair.
16593
16594         * gst/gsttrashstack.h: Remove warning about using the fallback
16595         trash stack implementation, it's still faster than malloc.
16596
16597 2005-03-30  Andy Wingo  <wingo@pobox.com>
16598
16599         * tests/complexity.c: Add a copyright.
16600
16601 2005-03-31  Wim Taymans  <wim@fluendo.com>
16602
16603         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16604         (gst_base_transform_class_init), (gst_base_transform_init),
16605         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16606         (gst_base_transform_get_property),
16607         (gst_base_transform_sink_activate),
16608         (gst_base_transform_src_activate),
16609         (gst_base_transform_change_state):
16610         * gst/base/gstbasetransform.h:
16611         * gst/elements/gstidentity.c: (gst_identity_class_init),
16612         (gst_identity_event), (gst_identity_check_perfect),
16613         (gst_identity_transform), (gst_identity_start),
16614         (gst_identity_stop):
16615         Added start/stop methods to transform base class so subclasses 
16616         don't need to deal with state changes even.
16617
16618 2005-03-31  Wim Taymans  <wim@fluendo.com>
16619
16620         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16621         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16622         * gst/gstevent.h:
16623         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16624         (gst_pad_pull_range):
16625         Added rate to the discont event to prepare for variable speed
16626         and reverse playback.
16627
16628 2005-03-29  David Schleef  <ds@schleef.org>
16629
16630         * configure.ac:
16631         * testsuite/trigger/Makefile.am:
16632         * testsuite/trigger/trigger.c: A little example program to show
16633         how trigger-based elements can work.
16634
16635 2005-03-29  Wim Taymans  <wim@fluendo.com>
16636
16637         * gst/base/Makefile.am:
16638         * gst/base/README:
16639         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16640         (gst_basesink_base_init), (gst_basesink_class_init),
16641         (gst_basesink_pad_getcaps), (gst_basesink_init),
16642         (gst_basesink_activate), (gst_basesink_change_state):
16643         * gst/base/gstbasesink.h:
16644         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16645         (gst_base_transform_base_init), (gst_base_transform_finalize),
16646         (gst_base_transform_class_init), (gst_base_transform_init),
16647         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16648         (gst_base_transform_event), (gst_base_transform_getrange),
16649         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16650         (gst_base_transform_set_property),
16651         (gst_base_transform_get_property),
16652         (gst_base_transform_sink_activate),
16653         (gst_base_transform_src_activate),
16654         (gst_base_transform_change_state):
16655         * gst/base/gstbasetransform.h:
16656         * gst/elements/gstidentity.c: (gst_identity_finalize),
16657         (gst_identity_class_init), (gst_identity_init),
16658         (gst_identity_event), (gst_identity_check_perfect),
16659         (gst_identity_transform), (gst_identity_set_property),
16660         (gst_identity_get_property), (gst_identity_change_state):
16661         * gst/elements/gstidentity.h:
16662         * gst/gstelement.c: (gst_element_get_state_func),
16663         (gst_element_lost_state), (gst_element_pads_activate):
16664         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16665         (gst_pad_check_pull_range), (gst_pad_pull_range):
16666         * gst/gstpad.h:
16667         Simplify pad activation.
16668         Added function to check if pull_range can be performed.
16669         Error out when pulling inactive or flushing pads.
16670         Removed const from refcounted types as it does not make sense.
16671         Simplify pad templates in basesink
16672         Added base class for simple 1-to-1 transforms.
16673         Make identity subclass the base transform.
16674
16675 2005-03-29  Andy Wingo  <wingo@pobox.com>
16676
16677         * docs/libs/gstreamer-libs-overrides.txt: 
16678         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16679         really don't understand what's going on, but like whatever. I want
16680         green buildbot!
16681
16682         * docs/gst/Makefile.am:
16683         * docs/libs/Makefile.am: Dist the overrides files.
16684
16685         * check/Makefile.am (clean-local): Remove .libs directories.
16686
16687         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16688         elements to EXTRA_DIST, so po/ files are happy.
16689
16690         * po/POTFILES.in: Er, remove it here.
16691
16692         * po/POTFILES: Remove gstspider.c.
16693
16694         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16695
16696         * docs/libs/gstreamer-libs-docs.sgml: 
16697         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16698         bytestream.
16699
16700         * tests/complexity.c (main): Set the length of the preroll queue
16701         on the sinks to prevent a lockup.
16702
16703         * libs/gst/dataprotocol/Makefile.am: 
16704         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16705         the same as the one in check/gst-libs/gdp.c.
16706
16707         * po/, docs/gst/: Commit automatic changes to docs and po files.
16708
16709         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16710         the versioned libgstbase.
16711
16712         * check/Makefile.am: Depend on an unversioned gst-register, seems
16713         to make autoconf happier.
16714
16715         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16716
16717 2005-03-28  Wim Taymans  <wim@fluendo.com>
16718
16719         * configure.ac:
16720         * docs/design/part-gstelement.txt:
16721         * docs/design/part-negotiation.txt:
16722         * docs/design/part-preroll.txt:
16723         * docs/design/part-scheduling.txt:
16724         * docs/design/part-states.txt:
16725         * gst/Makefile.am:
16726         * gst/base/Makefile.am:
16727         * gst/base/README:
16728         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16729         (gst_basesink_base_init), (gst_basesink_class_init),
16730         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16731         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16732         (gst_basesink_set_pad_functions),
16733         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16734         (gst_basesink_set_property), (gst_basesink_get_property),
16735         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16736         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16737         (gst_basesink_preroll_queue_push),
16738         (gst_basesink_preroll_queue_empty),
16739         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16740         (gst_basesink_event), (gst_basesink_get_times),
16741         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16742         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16743         (gst_basesink_loop), (gst_basesink_activate),
16744         (gst_basesink_change_state):
16745         * gst/base/gstbasesink.h:
16746         * gst/elements/Makefile.am:
16747         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16748         (gst_fakesink_class_init), (gst_fakesink_init),
16749         (gst_fakesink_set_property), (gst_fakesink_get_property),
16750         (gst_fakesink_get_times), (gst_fakesink_event),
16751         (gst_fakesink_preroll), (gst_fakesink_render),
16752         (gst_fakesink_change_state):
16753         * gst/elements/gstfakesink.h:
16754         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16755         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16756         * gst/gstelement.c: (gst_element_add_pad),
16757         (gst_element_get_state_func), (gst_element_abort_state),
16758         (gst_element_commit_state), (gst_element_lost_state),
16759         (gst_element_set_state), (gst_element_pads_activate):
16760         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16761         * gst/gstpipeline.c: (gst_pipeline_send_event),
16762         (gst_pipeline_change_state):
16763         Added state change code.
16764         Added/updated docs.
16765         Added sink base class, make fakesink extend the base class.
16766         Small cleanups in GstPipeline.
16767
16768 2005-03-26  David Schleef  <ds@schleef.org>
16769
16770         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16771         is broken and should be implemented in a different library.
16772         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16773         * gst/gst.h: remove gstcpu.h
16774         * gst/gstcpu.c: remove
16775         * gst/gstcpu.h: remove
16776         * gst/Makefile.am.future: Remove this file.  It's ancient.
16777
16778 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16779
16780         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16781         (gst_bin_send_event):
16782           Add default event/set_manager handlers. The set_manager handler
16783           takes care that the manager is distributed over kids that were
16784           already in the bin before the manager was set. The event handler
16785           is a utility virtual function that sends the event over all sinks,
16786           so that gst_element_send_event (bin, event); has the expected
16787           behaviour.
16788         * gst/gstpad.c: (gst_pad_event_default):
16789           Re-install default event handling for discontinuities, so that
16790           seeking works without requiring hacks in applications or extra
16791           code in sinks.
16792         * gst/gstpipeline.c: (gst_pipeline_class_init),
16793         (gst_pipeline_send_event):
16794           Half hack, half utility: set a pipeline to PAUSED for seek events,
16795           since that is the only way we can guarantee a/v sync. Means that
16796           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16797           and it "just works".
16798
16799 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16800
16801         * gst/gstpipeline.c: (gst_pipeline_use_clock):
16802           Lock/unlock mismatch.
16803
16804 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16805
16806         * docs/faq/gst-uninstalled:
16807           add gst-plugins-base
16808         * docs/gst/Makefile.am:
16809           don't error out until docs are fixed
16810         * docs/gst/gstreamer.types:
16811           remove thread
16812
16813 2005-03-22  Wim Taymans  <wim@fluendo.com>
16814
16815         * check/Makefile.am:
16816         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16817         * gst/gststructure.c: (gst_structure_set_valist),
16818         (gst_structure_copy_conditional):
16819         Activated more tests.
16820         Added message test.
16821         Added G_TYPE_POINTER to GstStructure.
16822         
16823
16824 2005-03-22  Wim Taymans  <wim@fluendo.com>
16825
16826         * docs/design/part-TODO.txt:
16827         * docs/design/part-events.txt:
16828         * docs/design/part-gstbin.txt:
16829         * docs/design/part-gstbus.txt:
16830         * docs/design/part-gstpipeline.txt:
16831         * docs/design/part-messages.txt:
16832         * gst/gstbus.c:
16833         * gst/gstmessage.c:
16834         Docs updates
16835
16836 2005-03-21  Wim Taymans  <wim@fluendo.com>
16837
16838         * gst/gstbus.c: (gst_bus_post):
16839         Fix copy-and-paste error.
16840
16841 2005-03-21  Wim Taymans  <wim@fluendo.com>
16842
16843         * check/Makefile.am:
16844         * gst/Makefile.am:
16845         * gst/elements/Makefile.am:
16846         * gst/elements/gstelements.c:
16847         * gst/elements/gstfakesink.c: (gst_fakesink_init),
16848         (gst_fakesink_event), (gst_fakesink_chain):
16849         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16850         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16851         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16852         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16853         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16854         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16855         (gst_fakesrc_loop), (gst_fakesrc_activate),
16856         (gst_fakesrc_change_state):
16857         * gst/elements/gstfakesrc.h:
16858         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
16859         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
16860         (gst_filesrc_open_file), (gst_filesrc_loop),
16861         (gst_filesrc_activate), (gst_filesrc_change_state),
16862         (filesrc_find_peek), (filesrc_find_suggest),
16863         (gst_filesrc_type_find):
16864         * gst/elements/gstidentity.c: (gst_identity_finalize),
16865         (gst_identity_class_init), (gst_identity_init),
16866         (gst_identity_proxy_getcaps), (identity_queue_push),
16867         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
16868         (gst_identity_getrange), (gst_identity_chain),
16869         (gst_identity_sink_loop), (gst_identity_src_loop),
16870         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
16871         (gst_identity_set_property), (gst_identity_get_property),
16872         (gst_identity_change_state):
16873         * gst/elements/gstidentity.h:
16874         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
16875         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
16876         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
16877         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
16878         (gst_tee_sink_activate):
16879         * gst/elements/gsttee.h:
16880         * gst/gst.c: (gst_register_core_elements), (init_post):
16881         * gst/gst.h:
16882         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
16883         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
16884         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
16885         (gst_bin_change_state):
16886         * gst/gstbin.h:
16887         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
16888         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
16889         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
16890         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
16891         (gst_bus_set_sync_handler), (gst_bus_create_watch),
16892         (bus_watch_callback), (bus_watch_destroy),
16893         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
16894         (poll_timeout), (gst_bus_poll):
16895         * gst/gstbus.h:
16896         * gst/gstcaps.h:
16897         * gst/gstdata.h:
16898         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16899         (gst_element_post_message), (gst_element_message_full),
16900         (gst_element_get_state_func), (gst_element_get_state),
16901         (gst_element_abort_state), (gst_element_commit_state),
16902         (gst_element_lost_state), (gst_element_set_state),
16903         (gst_element_pads_activate), (gst_element_change_state),
16904         (gst_element_dispose), (gst_element_set_manager_func),
16905         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16906         (gst_element_set_manager), (gst_element_get_manager),
16907         (gst_element_set_bus), (gst_element_get_bus),
16908         (gst_element_set_scheduler), (gst_element_get_scheduler):
16909         * gst/gstelement.h:
16910         * gst/gstevent.c: (gst_event_new_segment_seek),
16911         (gst_event_new_flush):
16912         * gst/gstevent.h:
16913         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16914         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16915         (gst_message_new_eos), (gst_message_new_error),
16916         (gst_message_new_warning), (gst_message_new_tag),
16917         (gst_message_new_state_changed), (gst_message_new_application),
16918         (gst_message_get_structure), (gst_message_parse_tag),
16919         (gst_message_parse_state_changed), (gst_message_parse_error),
16920         (gst_message_parse_warning):
16921         * gst/gstmessage.h:
16922         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16923         (gst_real_pad_set_property), (gst_pad_set_active),
16924         (gst_pad_is_active), (gst_pad_set_blocked_async),
16925         (gst_pad_set_blocked), (gst_pad_is_blocked),
16926         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16927         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16928         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16929         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16930         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16931         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16932         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16933         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16934         (gst_pad_set_caps), (gst_pad_configure_sink),
16935         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16936         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16937         (gst_real_pad_dispose), (gst_real_pad_finalize),
16938         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16939         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16940         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16941         * gst/gstpad.h:
16942         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16943         (pipeline_bus_handler), (gst_pipeline_change_state),
16944         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16945         * gst/gstpipeline.h:
16946         * gst/gstprobe.h:
16947         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16948         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16949         (gst_queue_link_src), (gst_queue_bufferalloc),
16950         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16951         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16952         (gst_queue_loop), (gst_queue_handle_src_event),
16953         (gst_queue_handle_src_query), (gst_queue_src_activate),
16954         (gst_queue_change_state):
16955         * gst/gstqueue.h:
16956         * gst/gstscheduler.c: (gst_scheduler_init),
16957         (gst_scheduler_dispose), (gst_scheduler_create_task),
16958         (gst_scheduler_factory_create):
16959         * gst/gstscheduler.h:
16960         * gst/gststructure.c: (gst_structure_get_type),
16961         (gst_structure_copy_conditional):
16962         * gst/gststructure.h:
16963         * gst/gsttaginterface.h:
16964         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16965         (gst_task_init), (gst_task_dispose), (gst_task_create),
16966         (gst_task_get_state), (gst_task_start), (gst_task_stop),
16967         (gst_task_pause):
16968         * gst/gsttask.h:
16969         * gst/gstthread.c:
16970         * gst/gstthread.h:
16971         * gst/gsttypes.h:
16972         * gst/schedulers/Makefile.am:
16973         * gst/schedulers/cothreads_compat.h:
16974         * gst/schedulers/entryscheduler.c:
16975         * gst/schedulers/faircothreads.c:
16976         * gst/schedulers/faircothreads.h:
16977         * gst/schedulers/fairscheduler.c:
16978         * gst/schedulers/gstbasicscheduler.c:
16979         * gst/schedulers/gstoptimalscheduler.c:
16980         * gst/schedulers/gthread-cothreads.h:
16981         * gst/schedulers/threadscheduler.c:
16982         (gst_thread_scheduler_task_get_type),
16983         (gst_thread_scheduler_task_class_init),
16984         (gst_thread_scheduler_task_init),
16985         (gst_thread_scheduler_task_start),
16986         (gst_thread_scheduler_task_stop),
16987         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
16988         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16989         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
16990         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
16991         (plugin_init):
16992         * libs/gst/Makefile.am:
16993         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
16994         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
16995         (gst_file_pad_parent_set):
16996         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16997         (gst_dp_event_from_packet):
16998         * tests/complexity.c: (main):
16999         * tests/mass_elements.c: (main):
17000         * testsuite/states/locked.c: (message_received), (main):
17001         * testsuite/states/parent.c: (main):
17002         * tools/gst-inspect.c: (print_element_flag_info),
17003         (print_implementation_info), (print_pad_info):
17004         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17005         (main):
17006         * tools/gst-md5sum.c: (event_loop), (main):
17007         * tools/gst-typefind.c: (main):
17008         * tools/gst-xmlinspect.c: (print_element_info):
17009         Next big merge.
17010         Added GstBus for mainloop integration.
17011         Added GstMessage for sending notifications on the bus.
17012         Added GstTask as an abstraction for pipeline entry points.
17013         Removed GstThread.
17014         Removed Schedulers.
17015         Simplified GstQueue for multithreaded core.
17016         Made _link threadsafe, removed old capsnego.
17017         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17018         Added pad blocking functions.
17019         Reworked scheduling functions in GstPad to prepare for
17020         scheduling updates soon.
17021         Moved events out of data stream.
17022         Simplified GstEvent types.
17023         Added return values to push/pull.
17024         Removed clocking from GstElement.
17025         Added prototypes for state change function for next merge.
17026         Removed iterate from bins and state change management.
17027         Fixed some elements, disabled others for now.
17028         Fixed -inspect and -launch.
17029         Added check for GstBus.
17030
17031 2005-03-10  Wim Taymans  <wim@fluendo.com>
17032
17033         * docs/design/part-MT-refcounting.txt:
17034         * docs/design/part-clocks.txt:
17035         * docs/design/part-gstelement.txt:
17036         * docs/design/part-gstobject.txt:
17037         * docs/design/part-standards.txt:
17038         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17039         (gst_bin_remove_func), (gst_bin_remove):
17040         * gst/gstbin.h:
17041         * gst/gstbuffer.c:
17042         * gst/gstcaps.h:
17043         * testsuite/clock/clock1.c: (main):
17044         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17045         (main):
17046         * testsuite/dlopen/loadgst.c: (do_test):
17047         * testsuite/refcounting/bin.c: (add_remove_test1),
17048         (add_remove_test2), (main):
17049         * testsuite/refcounting/element.c: (main):
17050         * testsuite/refcounting/element_pad.c: (main):
17051         * testsuite/refcounting/pad.c: (main):
17052         * tools/gst-launch.c: (sigint_handler_sighandler):
17053         * tools/gst-typefind.c: (main):
17054         Doc updates.
17055         Added doc about clock.
17056         removed gst_bin_iterate_recurse_up(), marked methods
17057         for removal.
17058         Fix more testsuites.
17059
17060 2005-03-09  Wim Taymans  <wim@fluendo.com>
17061
17062         * gst/gstpad.c: (gst_pad_get_direction),
17063         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17064         (gst_pad_collect_valist):
17065         * testsuite/bins/interface.c: (main):
17066         * testsuite/caps/audioscale.c: (test_caps):
17067         * testsuite/caps/caps.c: (test1), (test2), (test3):
17068         * testsuite/caps/deserialize.c: (main):
17069         * testsuite/caps/enumcaps.c: (main):
17070         * testsuite/caps/filtercaps.c: (main):
17071         * testsuite/caps/intersect2.c: (main):
17072         * testsuite/caps/random.c: (main):
17073         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17074         * testsuite/caps/sets.c: (check_caps):
17075         * testsuite/caps/simplify.c: (check_caps), (main):
17076         * testsuite/caps/subtract.c: (check_caps):
17077         Fix _pad_get_direction wrt ghostpads.
17078         Fix caps testsuite.
17079
17080 2005-03-09  Wim Taymans  <wim@fluendo.com>
17081
17082         * check/Makefile.am:
17083         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17084         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17085         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17086         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17087         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17088         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17089         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17090         (bin_element_is_sink), (gst_bin_iterate_sinks),
17091         (gst_bin_iterate_all_by_interface):
17092         * gst/gstbin.h:
17093         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17094         (gst_element_change_state), (gst_element_dispose),
17095         (gst_element_finalize), (gst_element_set_loop_function):
17096         * gst/gstelement.h:
17097         * gst/gstiterator.c: (find_custom_fold_func):
17098         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17099         (gst_pad_collectv), (gst_pad_collect_valist),
17100         (gst_pad_template_new):
17101         * gst/gstpipeline.c: (gst_pipeline_class_init),
17102         (gst_pipeline_dispose), (gst_pipeline_set_property),
17103         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17104         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17105         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17106         * gst/gstutils.h:
17107         * gst/schedulers/entryscheduler.c:
17108         * gst/schedulers/gstbasicscheduler.c:
17109         (gst_basic_scheduler_cothreaded_chain),
17110         (gst_basic_scheduler_chain_add_element):
17111         * testsuite/bins/interface.c: (main):
17112         Added GstBin test.
17113         Added GstSystemClock test.
17114         Implemented clock distribution code in GstBin.
17115         Implemented iterate sinks method for future use.
17116         Rearranged gstelement.h
17117         Fix GstIterator comparison bug.
17118         Moved some code to GstPipeline, mostly clocking related.
17119
17120 2005-03-09  Wim Taymans  <wim@fluendo.com>
17121
17122         * configure.ac:
17123         * gst/gst_private.h:
17124         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17125         (gst_bin_remove_func), (gst_bin_remove),
17126         (gst_bin_get_by_name_recurse_up):
17127         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17128         (gst_clock_id_compare_func), (gst_clock_id_wait),
17129         (gst_clock_id_wait_async), (gst_clock_init),
17130         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17131         * gst/gstelement.h:
17132         * gst/gstinfo.c: (_gst_debug_init):
17133         * gst/gstobject.h:
17134         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17135         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17136         * gst/gstpad.h:
17137         Bump version number, we're now 0.9.0
17138         Add future debugging category.
17139         Fix NULL _unref() in _get_by_name_recurse_up
17140         Rearrange gstpad.h.
17141         Update some docs.
17142
17143 2005-03-08  Wim Taymans  <wim@fluendo.com>
17144
17145         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17146         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17147         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17148         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17149         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17150         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17151         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17152         * gst/elements/gstidentity.c: (gst_identity_class_init):
17153         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17154         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17155         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17156         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17157         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17158         (gst_tee_link):
17159         * gst/gstelement.c: (gst_element_class_init),
17160         (gst_element_base_class_init), (gst_element_init),
17161         (gst_element_get_random_pad), (gst_element_wait_state_change),
17162         (gst_element_change_state), (gst_element_dispose),
17163         (gst_element_finalize), (gst_element_set_loop_function):
17164         * gst/gstelement.h:
17165         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17166         * gst/gstthread.c: (gst_thread_class_init),
17167         (gst_thread_release_children_locks), (gst_thread_change_state):
17168         * gst/schedulers/gstbasicscheduler.c:
17169         (gst_basic_scheduler_loopfunc_wrapper),
17170         (gst_basic_scheduler_chain_wrapper),
17171         (gst_basic_scheduler_src_wrapper),
17172         (gst_basic_scheduler_remove_element):
17173         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17174         Remove threadsafe properties. Fix elements because GObject
17175         complains when installing a property before declaring a
17176         set/get_property handler.
17177         Rearrange gstelement.h file, use STATE macros for state locks.
17178         Free mutexes in the finalize method instead of dispose.
17179
17180 2005-03-08  Wim Taymans  <wim@fluendo.com>
17181
17182         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17183         * gst/gstthread.c: (gst_thread_release_children_locks):
17184         Added parentage check.
17185         Fix build og GstThread again.
17186
17187 2005-03-08  Wim Taymans  <wim@fluendo.com>
17188
17189         * docs/design/part-MT-refcounting.txt:
17190         * docs/design/part-conventions.txt:
17191         * docs/design/part-gstobject.txt:
17192         * docs/design/part-relations.txt:
17193         * docs/design/part-standards.txt:
17194         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17195         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17196         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17197         (gst_bin_iterate_all_by_interface):
17198         * gst/gstbuffer.h:
17199         * gst/gstclock.h:
17200         * gst/gstelement.c: (gst_element_class_init),
17201         (gst_element_change_state), (gst_element_set_loop_function):
17202         * gst/gstelement.h:
17203         * gst/gstiterator.c:
17204         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17205         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17206         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17207         (gst_object_set_parent), (gst_object_unparent),
17208         (gst_object_check_uniqueness):
17209         * gst/gstobject.h:
17210         Docs updates, clean up some headers.
17211
17212 2005-03-07  Wim Taymans  <wim@fluendo.com>
17213
17214         * check/.cvsignore:
17215         * check/Makefile.am:
17216         * check/gst-libs/.cvsignore:
17217         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17218         * check/gst/.cvsignore:
17219         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17220         (START_TEST), (gstbus_suite), (main):
17221         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17222         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17223         (gst_data_suite), (main):
17224         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17225         (add_fold_func), (gstiterator_suite), (main):
17226         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17227         (thread_name_object), (thread_name_object_default),
17228         (gst_object_name_compare), (gst_object_suite), (main):
17229         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17230         (gst_pad_suite), (main):
17231         * check/gstcheck.c: (gst_check_log_message_func),
17232         (gst_check_log_critical_func), (gst_check_init):
17233         * check/gstcheck.h:
17234         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17235         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17236         Added checks.
17237
17238 2005-03-07  Wim Taymans  <wim@fluendo.com>
17239
17240         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17241         (gst_list_iterator_next), (gst_list_iterator_resync),
17242         (gst_list_iterator_free), (gst_iterator_new_list),
17243         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17244         (gst_iterator_free), (gst_iterator_push), (filter_next),
17245         (filter_resync), (filter_uninit), (filter_free),
17246         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17247         (gst_iterator_foreach), (find_custom_fold_func),
17248         (gst_iterator_find_custom):
17249         * gst/gstiterator.h:
17250         Added missing files.
17251
17252 2005-03-07  Wim Taymans  <wim@fluendo.com>
17253
17254         * Makefile.am:
17255         * configure.ac:
17256         * docs/design/part-MT-refcounting.txt:
17257         * docs/design/part-conventions.txt:
17258         * docs/design/part-gstobject.txt:
17259         * docs/design/part-relations.txt:
17260         * examples/mixer/mixer.c: (main):
17261         * examples/thread/thread.c: (eos), (main):
17262         * gst/Makefile.am:
17263         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17264         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17265         (gst_spider_plug_from_srcpad):
17266         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17267         (gst_spider_identity_change_state),
17268         (gst_spider_identity_sink_loop_type_finding):
17269         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17270         * gst/elements/gstidentity.c: (gst_identity_init):
17271         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17272         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17273         * gst/elements/gsttypefindelement.c: (free_entry):
17274         * gst/gst.c:
17275         * gst/gst.h:
17276         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17277         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17278         (gst_bin_set_index), (gst_bin_set_element_sched),
17279         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17280         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17281         (gst_bin_iterate_elements), (iterate_child_recurse),
17282         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17283         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17284         (compare_interface), (gst_bin_get_by_interface),
17285         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17286         * gst/gstbin.h:
17287         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17288         (gst_buffer_default_free), (gst_buffer_default_copy),
17289         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17290         (gst_buffer_create_sub):
17291         * gst/gstbuffer.h:
17292         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17293         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17294         (gst_caps_unref), (gst_static_caps_get),
17295         (gst_caps_remove_and_get_structure), (gst_caps_append),
17296         (gst_caps_append_structure), (gst_caps_remove_structure),
17297         (gst_caps_copy_nth), (gst_caps_set_simple),
17298         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17299         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17300         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17301         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17302         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17303         (gst_caps_structure_figure_out_union),
17304         (gst_caps_switch_structures), (gst_caps_do_simplify),
17305         (gst_caps_replace), (gst_caps_from_string),
17306         (gst_caps_copy_conditional):
17307         * gst/gstcaps.h:
17308         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17309         (_gst_clock_id_free), (gst_clock_id_unref),
17310         (gst_clock_id_compare_func), (gst_clock_id_wait),
17311         (gst_clock_id_wait_async), (gst_clock_class_init),
17312         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17313         (gst_clock_get_time), (gst_clock_set_time_adjust),
17314         (gst_clock_set_property), (gst_clock_get_property):
17315         * gst/gstclock.h:
17316         * gst/gstcompat.h:
17317         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17318         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17319         * gst/gstdata.h:
17320         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17321         (gst_element_requires_clock), (gst_element_provides_clock),
17322         (gst_element_set_clock), (gst_element_clock_wait),
17323         (gst_element_wait), (gst_element_set_time_delay),
17324         (gst_element_is_indexable), (gst_element_add_pad),
17325         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17326         (pad_compare_name), (gst_element_get_static_pad),
17327         (gst_element_request_pad), (gst_element_get_request_pad),
17328         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17329         (gst_element_class_get_pad_template_list),
17330         (gst_element_class_get_pad_template), (gst_element_error_func),
17331         (gst_element_get_random_pad), (gst_element_get_event_masks),
17332         (gst_element_send_event), (gst_element_seek),
17333         (gst_element_get_query_types), (gst_element_query),
17334         (gst_element_get_formats), (gst_element_convert),
17335         (gst_element_is_locked_state), (gst_element_set_locked_state),
17336         (gst_element_sync_state_with_parent), (gst_element_change_state),
17337         (gst_element_finalize), (gst_element_yield),
17338         (gst_element_interrupt), (gst_element_set_scheduler),
17339         (gst_element_get_scheduler), (gst_element_set_loop_function):
17340         * gst/gstelement.h:
17341         * gst/gstevent.h:
17342         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17343         (gst_format_get_by_nick), (gst_format_get_details),
17344         (gst_format_iterate_definitions):
17345         * gst/gstformat.h:
17346         * gst/gstindex.c: (gst_index_gtype_resolver):
17347         * gst/gstinfo.c:
17348         * gst/gstinfo.h:
17349         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17350         (gst_mem_chunk_free):
17351         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17352         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17353         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17354         (gst_object_dispatch_properties_changed),
17355         (gst_object_set_name_default), (gst_object_set_name),
17356         (gst_object_get_name), (gst_object_set_name_prefix),
17357         (gst_object_get_name_prefix), (gst_object_set_parent),
17358         (gst_object_get_parent), (gst_object_unparent),
17359         (gst_object_check_uniqueness), (gst_object_save_thyself),
17360         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17361         (gst_object_set_property), (gst_object_get_property),
17362         (gst_object_get_path_string):
17363         * gst/gstobject.h:
17364         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17365         (gst_real_pad_init), (gst_real_pad_get_property),
17366         (gst_pad_custom_new), (gst_pad_get_direction),
17367         (gst_pad_set_active), (gst_pad_is_active),
17368         (gst_pad_set_event_function), (gst_pad_is_linked),
17369         (gst_pad_link_free), (gst_pad_link_intersect),
17370         (gst_pad_link_fixate), (gst_pad_set_caps),
17371         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17372         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17373         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17374         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17375         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17376         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17377         (gst_pad_realize), (gst_pad_get_allowed_caps),
17378         (gst_real_pad_dispose), (gst_real_pad_finalize),
17379         (gst_pad_collectv), (gst_pad_collect_valist),
17380         (gst_pad_template_dispose), (gst_pad_template_new),
17381         (gst_pad_get_internal_links):
17382         * gst/gstpad.h:
17383         * gst/gstpipeline.c: (gst_pipeline_dispose),
17384         (gst_pipeline_change_state):
17385         * gst/gstpipeline.h:
17386         * gst/gstplugin.c:
17387         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17388         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17389         * gst/gstpluginfeature.h:
17390         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17391         * gst/gstquery.c: (_gst_query_type_initialize),
17392         (gst_query_type_register), (gst_query_type_get_by_nick),
17393         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17394         * gst/gstquery.h:
17395         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17396         * gst/gstscheduler.c: (gst_scheduler_add_element),
17397         (gst_scheduler_factory_create):
17398         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17399         (gst_structure_free), (gst_structure_set_name),
17400         (gst_structure_id_set_value), (gst_structure_set_value),
17401         (gst_structure_set_valist), (gst_structure_remove_field),
17402         (gst_structure_remove_fields),
17403         (gst_structure_remove_fields_valist),
17404         (gst_structure_remove_all_fields), (gst_structure_foreach),
17405         (gst_structure_map_in_place),
17406         (gst_caps_structure_fixate_field_nearest_int),
17407         (gst_caps_structure_fixate_field_nearest_double):
17408         * gst/gststructure.h:
17409         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17410         (gst_system_clock_init), (gst_system_clock_dispose),
17411         (gst_system_clock_async_thread),
17412         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17413         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17414         * gst/gstsystemclock.h:
17415         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17416         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17417         * gst/gsttaginterface.c:
17418         * gst/gstthread.c: (gst_thread_dispose),
17419         (gst_thread_release_children_locks), (gst_thread_change_state),
17420         (gst_thread_main_loop):
17421         * gst/gsttrashstack.h:
17422         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17423         * gst/gsttypes.h:
17424         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17425         (gst_element_request_pad), (gst_element_get_pad_from_template),
17426         (gst_element_request_compatible_pad),
17427         (gst_element_get_compatible_pad_filtered),
17428         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17429         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17430         (gst_element_link_many), (gst_element_link),
17431         (gst_element_link_pads), (gst_element_unlink_pads),
17432         (gst_element_unlink_many), (gst_element_unlink),
17433         (gst_pad_can_link_filtered), (gst_pad_can_link),
17434         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17435         (gst_object_default_error), (gst_bin_add_many),
17436         (gst_bin_remove_many), (gst_element_populate_std_props),
17437         (gst_element_class_install_std_props), (gst_buffer_merge),
17438         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17439         (link_fold_func), (gst_pad_proxy_setcaps):
17440         * gst/gstutils.h:
17441         * gst/gstvalue.c: (gst_value_deserialize_string):
17442         * gst/parse/grammar.y:
17443         * gst/schedulers/gstbasicscheduler.c:
17444         (gst_basic_scheduler_cothreaded_chain),
17445         (gst_basic_scheduler_chain_recursive_add),
17446         (gst_basic_scheduler_pad_link):
17447         * gst/schedulers/gstoptimalscheduler.c:
17448         (get_group_schedule_function),
17449         (gst_opt_scheduler_state_transition),
17450         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17451         * libs/gst/bytestream/bytestream.c:
17452         * libs/gst/dataprotocol/dataprotocol.c:
17453         (gst_dp_header_from_buffer):
17454         * po/nb.po:
17455         * po/ru.po:
17456         * tests/threadstate/threadstate2.c: (eos):
17457         * tools/gst-compprep.c: (main):
17458         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17459         (print_pad_info), (print_children_info):
17460         * tools/gst-launch.c: (idle_func), (main):
17461         * tools/gst-md5sum.c: (idle_func), (main):
17462         * tools/gst-xmlinspect.c: (print_element_info):
17463         First THREADED backport attempt, focusing on adding locks and
17464         making sure the API is threadsafe. Needs more work. More docs
17465         follow this week.
17466
17467 2005-02-24  Andy Wingo  <wingo@pobox.com>
17468
17469         * tests/bench-complexity.scm:
17470         * tests/complexity.gnuplot: New files, good for running complexity
17471         benchmarks.
17472
17473         * tests/Makefile.am:
17474         * tests/complexity.c: New test, sets up N elements, at each level
17475         teeing into M streams per element. Eeeenteresting.
17476
17477         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17478         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17479         running bench-mass_elements.scm.
17480
17481         * tests/bench-mass_elements.scm: New script, runs mass_elements
17482         for various numbers of identities, outputting the results to a
17483         file. Requires guile 1.6. Just for testing.
17484
17485 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17486
17487         * gst/schedulers/fairscheduler.c:
17488           compile with debug disabled
17489
17490 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17491
17492         * configure.ac:
17493           hunting season on 0.9 is now OPEN