gst/gst.c: plugin_paths is not used if we build without registry support.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-05  Edward Hervey  <edward@fluendo.com>
2
3         * gst/gst.c:
4         plugin_paths is not used if we build without registry support.
5
6         * gst/gstsegment.c: (gst_segment_copy): 
7         _copy() was always returning NULL...
8
9 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10
11         * libs/gst/dataprotocol/dataprotocol.c:
12         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13         (gst_dp_packet_from_event):
14           factor out CRC code
15
16 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17
18         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
19           make sure we unset caps
20
21 2006-06-02  Michael Smith  <msmith@fluendo.com>
22
23         * libs/gst/check/gstcheck.c: (gst_check_init),
24         (gst_check_chain_func):
25         * libs/gst/check/gstcheck.h:
26           Add a cond/mutex to the check support lib, signal this whenever we
27           add to the buffers list. This will allow tests to not busy-wait on
28           the buffer-list.
29
30 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31
32         * libs/gst/dataprotocol/dataprotocol.c:
33         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
34         (gst_dp_packet_from_event):
35           factor out some common header init code
36
37 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
38
39         * docs/libs/gstreamer-libs-sections.txt:
40         * docs/libs/tmpl/gstdataprotocol.sgml:
41         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
42         * libs/gst/dataprotocol/dataprotocol.h:
43           API: make gst_dp_crc() public
44
45 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
46
47         * plugins/indexers/gstindexers.c: (plugin_init):
48         conditionally register fileindexer (fixes #343598)
49
50 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
51
52         * gst/gsttagsetter.h:
53         Can't cast ifaces to a class
54
55         * libs/gst/net/gstnetclientclock.h:
56         * libs/gst/net/gstnettimeprovider.h:
57         * plugins/elements/gstfakesink.h:
58         * plugins/elements/gstfakesrc.h:
59         * plugins/elements/gstfdsink.h:
60         * plugins/elements/gstfdsrc.h:
61         * plugins/elements/gstfilesink.h:
62         * plugins/elements/gstfilesrc.h:
63         * plugins/elements/gstidentity.h:
64         * plugins/elements/gstqueue.h:
65         * plugins/elements/gsttee.h:
66         * plugins/indexers/gstfileindex.c:
67         * plugins/indexers/gstmemindex.c:
68         * tests/old/examples/plugins/example.h:
69         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
70
71 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
72
73         * libs/gst/dataprotocol/dataprotocol.c:
74         (gst_dp_header_from_buffer):
75           make sure we zero the whole ABI-compatible area
76
77 2006-06-01  Wim Taymans  <wim@fluendo.com>
78
79         Patch by: Alessandro Decina <alessandro at nnva dot org>
80
81         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
82         Make sure the EOS flag is cleared from pads after a flush
83         or stop. Fixes #343538.
84
85         * tests/check/libs/collectpads.c: (GST_START_TEST),
86         (gst_collect_pads_suite):
87         Added test for collectpads reusage after EOS.
88
89 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
90
91         * gst/gst.c:
92          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
93         * win32/common/libgstbase.def:
94          export gst_collect_pads_set_flushing
95         * win32/common/libgstreamer.def:
96          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
97          gst_value_fraction_multiply
98         * win32/vs6/gst_inspect.dsp:
99          add a link to intl.lib
100
101 2006-05-30  Wim Taymans  <wim@fluendo.com>
102
103         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
104         (gst_collect_pads_chain):
105         Handle the case where a pad is removed from the collection
106         that could cause the other pads to become collectable.
107
108 2006-05-30  Wim Taymans  <wim@fluendo.com>
109
110         * gst/gstelement.c:
111         Clarify the use of _release_request_pad() and
112         _get_request_pad() a bit better.
113
114         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
115         (gst_adapter_take_buffer):
116         Fix some doc and comment typos.
117
118 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
119
120         * docs/gst/gstreamer-sections.txt:
121         * docs/libs/gstreamer-libs-sections.txt:
122           add declared symbols
123
124 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
125
126         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
127         Add debug that can be enabled using a #define at the top of the file,
128         for dumping stats about how late/early we were when waking up from
129         waiting on the clock.
130
131 2006-05-30  Wim Taymans  <wim@fluendo.com>
132
133         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
134         When rebuilding the pad list, don't leak the previous list.
135
136 2006-05-30  Wim Taymans  <wim@fluendo.com>
137
138         Patch by: Lutz Mueller <lutz at topfrose dot de>
139
140         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
141         (gst_base_src_get_query_types), (gst_base_src_update_length):
142         Publish supported query types.
143         Update last_stop field in get_range mode so the position
144         query works. Fixes #342321.
145
146 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
147
148         * docs/gst/gstreamer-sections.txt:
149         * gst/gsttaglist.c: (_gst_tag_initialize):
150         * gst/gsttaglist.h:
151           API: add GST_TAG_PREVIEW_IMAGE (#343341).
152
153 2006-05-30  Wim Taymans  <wim@fluendo.com>
154
155         Patch by: Alessandro Decina <alessandro at nnva dot org>
156
157         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
158         Unlock mutex when removing an unknown pad.
159         Fixes #343334.
160
161         * tests/check/Makefile.am:
162         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
163         (push_event), (setup), (teardown), (GST_START_TEST),
164         (gst_collect_pads_suite), (main):
165         Added collecpads check, disabled for now as check crashes for
166         some reason.
167
168 2006-05-29  Wim Taymans  <wim@fluendo.com>
169
170         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
171         Don't leak pads lists.
172
173 2006-05-29  Wim Taymans  <wim@fluendo.com>
174
175         * docs/libs/gstreamer-libs-sections.txt:
176         * libs/gst/base/gstcollectpads.c:
177         (gst_collect_pads_set_flushing_unlocked),
178         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
179         (gst_collect_pads_stop):
180         * libs/gst/base/gstcollectpads.h:
181         API: gst_collect_pads_set_flushing
182         Added api to set the pads to flushing, usefull for seeking
183         code in elements using collectpads.
184         Clear segment when receiving a flush.
185
186 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
187
188         * gst/gst.c: (add_path_func), (init_post):
189           Don't scan registry paths passed via --gst-plugin--path immediately
190           (will crash, because absolutely nothing is set up and no types are
191           registered etc.); do this later in init_post(). Fixes #343057.
192
193 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
194
195         * gst/gst.c: (init_post):
196           if we have fork, fork while reading/rebuilding the registry
197           so the parent doesn't take the hit of having all plugins loaded
198           in memory.  Fixes #342777.
199         * configure.ac:
200           Check if we have fork()
201         * win32/common/config.h.in:
202           no fork() on win32
203
204 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
205
206         * plugins/elements/gstelements.c:
207         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
208         (gst_file_src_init), (gst_file_src_set_property),
209         (gst_file_src_get_property), (gst_file_src_start):
210         * plugins/elements/gstfilesrc.h:
211
212         Add a use-mmap property to enable easier testing of all code paths.
213         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
214         in the absence of gnomevfssrc. (Closes #340501)
215
216 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
217
218         * tools/gst-inspect.c:
219         Add missing include, removes warning of ngettext not being defined on
220         some arches.
221
222 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
223
224         * gst/gstvalue.c: (gst_value_deserialize_fraction):
225         Handle NULL input and output pointers silently as a failed conversion,
226         rather than g_warnings.
227
228 2006-05-25  Wim Taymans  <wim@fluendo.com>
229
230         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
231         Initialize variable before using. Fixes #342820.
232
233 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
234
235         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
236           Fix off-by-one bug that would only allow peeks of N-1 bytes
237           from the start even if the buffer to typefind on contains
238           in fact N bytes of data (makes vorbis typefinding from a
239           vorbis identification header buffer work).
240
241         * tests/check/Makefile.am:
242         * tests/check/libs/.cvsignore:
243         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
244         (gst_typefindhelper_suite), (main), (foobar_typefind),
245         (plugin_init):
246           Add very basic unit test for gst_type_find_helper_for_buffer()
247           that checks for the problem fixed above.
248
249 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
250
251         * tools/gst-inspect.c: (print_interfaces),
252         (print_element_properties_info), (print_element_list), (main):
253           add more translatable strings
254
255 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
256
257         Patch by: Julien Moutte  <julien at moutte net>
258
259         * docs/gst/gstreamer-sections.txt:
260           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
261           
262         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
263         (gst_fake_sink_preroll):
264         * plugins/elements/gstfakesink.h:
265           Add new ::preroll-handoff signal (#337100).
266
267 2006-05-23  Wim Taymans  <wim@fluendo.com>
268
269         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
270         * gst/gstpad.h:
271         Added _CUSTOM error and success GstFlowReturn that can be
272         used be elements internally. 
273         Added macro to check for SUCCESS flowreturns.
274         API: GST_FLOW_CUSTOM_SUCCESS
275         API: GST_FLOW_CUSTOM_ERROR
276         API: GST_FLOW_IS_SUCCESS
277
278         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
279         Added check for GstFlowReturn sanity.
280
281 2006-05-23  Wim Taymans  <wim@fluendo.com>
282
283         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
284
285         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
286         (gst_collect_pads_event):
287         clear/reset segment info in FLUSH_STOP.
288         Fixes #336929.
289
290 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
291
292         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
293         (gst_collect_pads_check_collected):
294         Flush queued buffer on _stop(), fixes playing again (#342454)
295
296 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
297
298         * tests/check/gst/gststructure.c: (GST_START_TEST),
299         (gst_structure_suite):
300           add a test for a complete structure
301
302 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
303
304         * docs/faq/developing.xml:
305         * docs/faq/faq.xml:
306         * docs/faq/troubleshooting.xml:
307         * docs/faq/using.xml:
308           Some minor FAQ updates that won't change the fact that
309           our FAQ is badly structured, full of information hardly
310           anyone new to GStreamer needs to know and lacking lots
311           of information people constantly ask for.
312           
313 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
314
315         * gst/gstpad.c: (gst_pad_set_caps):
316           Short-circuit gst_pad_set_caps if setting the existing
317           caps pointer again, and avoid printing debug and 
318           reffing/unreffing the caps.
319
320         * plugins/elements/gstqueue.c: (gst_queue_push_one):
321           There's actually no need to set the caps before pushing -
322           the acceptcaps method will handle it anyway.
323
324 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
325
326         * docs/gst/gstreamer-sections.txt:
327         * win32/common/libgstreamer.def:
328         * gst/gstutils.c: (gst_element_seek_simple):
329         * gst/gstutils.h:
330           API: add gst_element_seek_simple() (#342238).
331
332 2006-05-18  Edward Hervey  <edward@fluendo.com>
333
334         * gst/gsttypefind.c: (gst_type_find_get_type):
335         * gst/gsttypefind.h:
336         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
337         registered for GstTypeFind pointers. This allows wrapping the structure
338         in bindings (i.e. gst-python).
339
340 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
341
342         * gst/gsttagsetter.c:
343           Docs additions and fixes (see #339918).
344
345 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
346
347         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
348         The caps intersection algorithm can produce multiple copies of the
349         caps. Until that is fixed, we need to simplify the result to be
350         sure whether the allowed caps are fixed or not.
351
352         * plugins/elements/gstqueue.c: (gst_queue_init),
353         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
354         (gst_queue_push_one):
355         Proxied buffer alloc should not set the caps on the source pad.
356         When pushing buffers, we always accept the caps change that triggers.
357         This prevents negotiation errors caused by caps changing mid-stream 
358         and then being refused on our source pad (because upstream is now
359         refusing those caps).
360
361 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
362
363         * tests/examples/helloworld/helloworld.c: (main):
364           Must plug audioconvert and audioresample between decoder
365           and audio sink.
366
367 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
368
369         * gst/gstregistryxml.c: (read_string), (load_pad_template),
370         (load_feature), (load_plugin):
371         Allow empty strings for some of the plugin fields so we don't 
372         drop valid plugin entries that were written out correctly
373         (Fixes #341479)
374
375 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
376         
377         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
378           Use g_remove and g_rename instead of remove and rename that don't 
379           handle utf8 characters. rename was failing for users who had specific
380           characters in their name then the registry was built at each 
381           gstreamer init.
382         * win32/vs6/gst_inspect.dsp:
383         * win32/vs6/gst_launch.dsp:
384         * win32/vs6/libgstbase.dsp:
385         * win32/vs6/libgstcoreelements.dsp:
386         * win32/vs6/libgstreamer.dsp:
387           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
388           build of libgstreamer and clean unused libraries in projects link 
389           settings.
390
391 2006-05-17  Edward Hervey  <edward@fluendo.com>
392
393         * plugins/elements/gstqueue.c: (gst_queue_push_one):
394         The queue is not responsible for pushing an EOS when receiving a fatal
395         flow error. It's up to the real element driving the pipeline to do that.
396
397 2006-05-16  Edward Hervey  <edward@fluendo.com>
398
399         * plugins/elements/gstqueue.c: (gst_queue_push_one):
400         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
401         buffer returned a fatal error. It should just send an EOS and stop
402         it's task.
403         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
404         when pushing buffers on the queue and will be able to handle the event.
405
406 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
407
408         * docs/manual/basics-bins.xml:
409         * docs/manual/basics-init.xml:
410           Fix typos and minor errors in sample code (#341856).
411
412 2006-05-16  Wim Taymans  <wim@fluendo.com>
413
414         * docs/design/part-qos.txt:
415         Fix indexes in formulas to make more sense.
416
417 2006-05-15  Wim Taymans  <wim@fluendo.com>
418
419         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
420         Don't report POSITION based on clock time if sync is
421         disabled in a sink.
422
423 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
424
425         * gst/gstobject.h:
426           Add cast to make compiler happy - refcount variable was a gint
427           in GstObject but is a guint in GObject and g_atomic_int_get()
428           wants a gint *.
429
430 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
431
432         * gst/parse/Makefile.am:
433           chain commands using &&, which also makes parallel make work
434
435 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
436
437         * docs/gst/gstreamer-sections.txt:
438         * gst/gstevent.c:
439         * gst/gstevent.h:
440         * gst/gstmessage.h:
441           Minor docs fixes.
442
443 === release 0.10.6 ===
444
445 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
446
447         * configure.ac:
448           releasing 0.10.6, "Take the cannoli"
449
450 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
451
452         * tools/gst-launch.c: (print_tag):
453           Fix use of uninitialized variable in the hypothetical
454           case that some broken plugin creates a GST_TAG_IMAGE
455           tag containing a NULL buffer (#341667).
456
457 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
458
459         * tools/gst-launch.c: (print_tag):
460           Print something more intelligible for image tags when
461           using the -t switch (#341556).
462
463 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
464
465         * Makefile.am:
466           updates for win32
467         * configure.ac:
468           define GST_MAJORMINOR so we have it available in win32/common/config.h
469           Possibly remove it from our Makefile.am files later
470         * win32/common/config.h:
471         * win32/common/config.h.in:
472           added GST_MAJORMINOR
473         * win32/common/gstenumtypes.c: (register_gst_resource_error):
474         * win32/common/gstversion.h:
475           updated
476
477 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
478
479         * win32/MANIFEST:
480           Update win32 files listing.
481         * win32/common/gstversion.h:
482           Add GST_MAJORMINOR definition.
483         * win32/common/libgstreamer.def:
484           Add new exported functions.
485           
486 2006-05-12  Michael Smith  <msmith@fluendo.com>
487
488         * gst/gstplugin.c: (gst_plugin_load_file):
489           If an so file has no plugin entry point, unload the module.
490
491 2006-05-11  Wim Taymans  <wim@fluendo.com>
492
493         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
494         (gst_queue_set_property):
495         Don't forget to signal the _chain or _loop function 
496         when the queue size or thresholds change since that might
497         cause them to make progres again.
498
499 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
500
501         * gst/gstclock.c: (gst_clock_class_init):
502         * gst/gstindex.c: (gst_index_class_init):
503         * gst/gstobject.c: (gst_object_class_init):
504         * gst/gstpad.c: (gst_pad_class_init):
505         * gst/gstpipeline.c: (gst_pipeline_class_init):
506         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
507         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
508         * libs/gst/base/gstbasetransform.c:
509         (gst_base_transform_class_init):
510         * libs/gst/net/gstnetclientclock.c:
511         (gst_net_client_clock_class_init):
512         * libs/gst/net/gstnettimeprovider.c:
513         (gst_net_time_provider_class_init):
514         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
515         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
516         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
517         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
518         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
519         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
520         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
521         * plugins/elements/gstidentity.c: (gst_identity_class_init):
522         * plugins/elements/gsttee.c: (gst_tee_class_init):
523         * tests/old/examples/plugins/example.c: (gst_example_class_init):
524         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
525           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
526
527 2006-05-11  Wim Taymans  <wim@fluendo.com>
528
529         * gst/gstbuffer.c: (_gst_buffer_initialize):
530         Register subbufer along with the buffer type so that
531         it does not accidentally gets registered from N
532         different streaming threads in a non threadsafe way.
533
534 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
535
536         * gst/gstbuffer.h:
537         * gst/gstevent.h:
538         * gst/gstmessage.h:
539           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
540           gst_event_ref() and gst_message_ref() functions again
541           (ugly hack, please do fix if there's a better way besides
542           overrides.txt, which doesn't seem to work).
543
544 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
545
546         * libs/gst/check/gstcheck.h:
547           add an assert for setting state to avoid lots of repetitive code
548           in the future
549
550 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
551
552         * gst/gstvalue.c: (gst_value_serialize_flags):
553           fix a leak if no flags are set
554         * tests/check/gst/gstvalue.c: (GST_START_TEST):
555           fix leak in tests
556
557 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
558
559         * docs/manual/basics-pads.xml:
560           Expand a bit on caps and filtered links and update
561           examples that were still using the no longer existing
562           gst_pad_link_filtered() (#338206).
563
564 2006-05-10  Wim Taymans  <wim@fluendo.com>
565
566         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
567         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
568         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
569         (gst_collect_pads_stop):
570         * libs/gst/base/gstcollectpads.h:
571         No need to call _stop in _finalize.
572         Iterate the main pad list in _finalize.
573         Added some more debug.
574         Free lists and data in the right order.
575         Also free data whem doing _remove_pad when stopped for
576         backward compatibility protect ::started with PAD_LOCK as
577         well.
578
579 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
580
581         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
582         (gst_structure_parse_value):
583           add some comments
584           rename a method so that it actually says what it does better
585
586 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
587
588         * gst/gstevent.c: (_gst_event_initialize):
589         * gst/gstformat.c: (_gst_format_initialize):
590           make sure some essential types used by events are registered
591           as part of gst_init()
592         * gst/gstvalue.c: (gst_value_serialize_flags):
593           if no flags are set, serialize them to a value that represents NONE
594           so that deserializing them works
595         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
596           add tests for serialization and deserialization of flags
597
598 2006-05-10  Wim Taymans  <wim@fluendo.com>
599
600         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
601         (gst_collect_pads_collect_range), (gst_collect_pads_available),
602         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
603         (gst_collect_pads_event), (gst_collect_pads_chain):
604         Update docs.
605         Better debug info.
606         Catch and return errors from the collect function
607         Refuse data on eos pads.
608
609 2006-05-10  Edward Hervey  <edward@fluendo.com>
610
611         * gst/gstinterface.h:
612         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
613         GInterface type checking.
614         They were previously using non-defined macros.
615
616 2006-05-09  Wim Taymans  <wim@fluendo.com>
617
618         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
619         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
620         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
621         (gst_collect_pads_start), (gst_collect_pads_stop),
622         (gst_collect_pads_peek), (gst_collect_pads_pop),
623         (gst_collect_pads_available), (gst_collect_pads_read),
624         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
625         (gst_collect_pads_is_collected), (gst_collect_pads_event),
626         (gst_collect_pads_chain):
627         * libs/gst/base/gstcollectpads.h:
628         Clean up the mess that is collectpads, add comments and
629         FIXMEs where needed.
630         Maintain a separate pad list so we can add pads while
631         collecting the other ones. For this we need a new separate 
632         lock (see comics).
633         Fix memory leak in finalize.
634         Refactor some weird code to set/unset pad flushing flags, mark
635         with comments.
636         Don't crash in _available, _read, _flush when we're EOS.
637
638         * tests/check/libs/.cvsignore:
639         Ignore adapter check binary.
640
641 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
642
643         * gst/gstindex.c: (gst_index_resolver_get_type):
644         * plugins/elements/gstfakesink.c:
645         (gst_fake_sink_state_error_get_type):
646         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
647         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
648         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
649           Const-ify GEnumValue arrays.
650
651 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
652
653         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
654           Add test case for flags + gst_buffer_make_metadata_writable().
655
656 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
657
658         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
659           gst_buffer_make_metadata_writable() should maintain the
660           buffer flags (those that make sense at least) (see #340859).
661
662 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
663
664         * tools/gst-inspect.c:
665         * tools/gst-launch.c:
666         * tools/gst-typefind.c:
667         * tools/gst-xmlinspect.c:
668         * tools/tools.h:
669           Fix up includes: need to include stdlib.h in tools.h for exit().
670
671 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
672
673         * gst/gsttaglist.c: (_gst_tag_initialize):
674         * gst/gsttaglist.h:
675           API: add GST_TAG_IMAGE tag (#340721).
676
677 2006-05-08  Wim Taymans  <wim@fluendo.com>
678
679         * gst/gstquery.c:
680         Added some docs for the segment query.
681
682 2006-05-08  Wim Taymans  <wim@fluendo.com>
683
684         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
685         (gst_base_src_loop), (gst_base_src_change_state):
686         Always push non-flushing serialized events in the streaming 
687         thread.
688
689 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
690
691         * gst/gsterror.c: (_gst_stream_errors_init):
692           Add a missing error string.
693
694 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
695
696         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
697         Add applied_rate to the debug
698
699         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
700         Copy applied_rate into the outgoing NEWSEGMENT event
701
702 2006-05-08  Wim Taymans  <wim@fluendo.com>
703
704         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
705
706         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
707         (gst_base_sink_change_state):
708         call ::unlock before taking the PREROLL_LOCK so we can safely
709         handle elements that lock in ::render.
710         Fixes #340174.
711
712 2006-05-08  Edward Hervey  <edward@fluendo.com>
713
714         * autogen.sh: (CONFIGURE_DEF_OPT): 
715         Darwin's libtoolize is in fact called glibtoolize.
716         Adding glibtoolize to the list of accepted names for libtoolize.
717
718 2006-05-08  Wim Taymans  <wim@fluendo.com>
719
720         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
721         Unify error handling, don't post an error message
722         when a push() returns EOS but perform our normal EOS
723         handling code. Fixes #340772.
724
725 2006-05-08  Wim Taymans  <wim@fluendo.com>
726
727         * docs/design/part-overview.txt:
728         Make upsteam/downstream concepts more clear.
729         Give an example of serialized/non-serialized events.
730
731         * docs/design/part-events.txt:
732         * docs/design/part-streams.txt:
733         Mention applied_rate.
734
735         * docs/design/part-trickmodes.txt:
736         Mention applied rate, flesh out some more use cases.
737
738         * gst/gstevent.c: (gst_event_new_new_segment),
739         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
740         (gst_event_parse_new_segment_full), (gst_event_new_tag),
741         (gst_event_parse_tag), (gst_event_new_buffer_size),
742         (gst_event_parse_buffer_size), (gst_event_new_qos),
743         (gst_event_parse_qos), (gst_event_parse_seek),
744         (gst_event_new_navigation):
745         * gst/gstevent.h:
746         Add applied_rate field to NEWSEGMENT event.
747         API: gst_event_new_new_segment_full()
748         API: gst_event_parse_new_segment_full()
749
750         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
751         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
752         (gst_segment_to_stream_time), (gst_segment_to_running_time):
753         * gst/gstsegment.h:
754         Add applied_rate to GstSegment structure.
755         Make calculation of stream_time and running_time more correct
756         wrt rate/applied_rate.
757         Add some more docs.
758         API: GstSegment::applied_rate field
759         API: gst_segment_set_newsegment_full();
760
761         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
762         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
763         * libs/gst/base/gstbasetransform.c:
764         (gst_base_transform_sink_eventfunc),
765         (gst_base_transform_handle_buffer):
766         Parse and use applied_rate in the GstSegment field.
767
768         * tests/check/gst/gstevent.c: (GST_START_TEST):
769         Add check for applied_rate field.
770
771         * tests/check/gst/gstsegment.c: (GST_START_TEST),
772         (gstsegments_suite):
773         Add more checks for various GstSegment operations.
774
775 2006-05-08  Wim Taymans  <wim@fluendo.com>
776
777         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
778         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
779         (gst_base_sink_get_position), (gst_base_sink_change_state):
780         Store the sync time of the buffer end position separatly in a
781         new variable eos_rtime so we can properly sync the EOS event.
782         Fixes #340697.
783         Fix the docs for gst_base_sink_set_qos_enabled().
784         Don't set segment start to invalid value when we receive a 
785         non TIME newsegment.
786         get closer to handling position reporting for negative rates 
787         correctly.
788
789 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
790
791         * gst/gstcaps.c:
792         Docs about how to print caps for debug purposes.
793
794         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
795         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
796
797 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
798
799         * gst/gstelement.c:
800           use full enum names and preprend a '%' in docs strings to make recent 
801           gtk-doc turn that into a link
802
803 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
804
805         * docs/manual/basics-bins.xml:
806         * docs/manual/basics-bus.xml:
807         * docs/manual/basics-pads.xml:
808           Some typo fixes, some additions, some clarifications. 
809
810 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
811
812         * tools/gst-inspect.c: (main):
813         * tools/gst-launch.c: (main):
814         * tools/gst-run.c: (main):
815         * tools/gst-typefind.c: (main):
816         * tools/gst-xmlinspect.c: (main):
817           Use the string passed to g_option_context_new() for
818           what it's intended for - the program name is already
819           printed elsewhere.
820
821 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
822
823         * tools/Makefile.am:
824         * tools/gst-inspect.c: (main):
825         * tools/gst-launch.c: (main):
826         * tools/gst-xmlinspect.c: (main):
827         * tools/tools.h:
828           Add back --version command line option (#340460).
829
830         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
831           Add --version option and use GOption for argument parsing; refactor a
832           bit; accept directories as arguments and recurse into them; lastly,
833           print a decent error message when things go wrong.
834
835 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
836
837         * docs/manual/basics-bins.xml:
838         Don't mention GstThread (#340611)
839         * docs/manual/basics-elements.xml:
840         Update link to GObject tutorial (#340607)
841         
842 2006-05-05  Wim Taymans  <wim@fluendo.com>
843
844         * gst/gstbuffer.h:
845         * gst/gstminiobject.c:
846         Add note about refcounting and miniobject/buffer writeability
847         to docs. Fixes #340604
848
849         * gst/gstelementfactory.h:
850         Added some explanation about @klass.
851
852 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
853
854         * docs/manual/intro-motivation.xml:
855         * docs/manual/manual.xml:
856         Avoid CORBA & Bonobo references (#340598)
857
858 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
859
860         * docs/manual/basics-bus.xml:
861         * docs/manual/basics-pads.xml:
862         Fix up some inaccuracies and omissions (#340609)
863         
864 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
865
866         * gst/gstghostpad.c:
867           Small typo in docs (#340625)
868
869 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
870
871         * gst/parse/Makefile.am:
872           Make 'make -j' proof (see #340698).
873
874 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
875
876         * configure.ac:
877           Require GLib-2.8 here as well.
878
879 2006-05-05  Wim Taymans  <wim@fluendo.com>
880
881         * gst/glib-compat.c:
882         * gst/gst.c: (init_pre):
883         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
884         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
885         (gst_object_dispatch_properties_changed):
886         * gst/gstobject.h:
887         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
888         * gst/gststructure.c: (gst_structure_set_valist):
889         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
890         Remove pre glib2.8 compatibility, fixes #340508
891
892 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
893
894         * gst/gsttaglist.h:
895           Mention type of tags in doc blurbs.
896
897 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
898
899         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
900         (gst_pad_configure_src), (gst_pad_push):
901         Restore acceptcaps checking behaviour now that good plugins have
902         been released.
903
904 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
905
906         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
907
908         * gst/gst.c:
909         * gst/gstbus.c:
910         * gst/gstclock.c:
911         * gst/gstevent.c:
912         * gst/gstformat.c:
913         * gst/gstmessage.c:
914         * gst/gstparse.c:
915         * gst/gstquery.c:
916         * gst/gstutils.c:
917         * gst/parse/Makefile.am:
918         * libs/gst/base/gstadapter.c:
919         * libs/gst/base/gstbasesrc.c:
920         * libs/gst/base/gstpushsrc.c:
921         * libs/gst/base/gsttypefindhelper.c:
922         * plugins/elements/gstfakesrc.c:
923         * plugins/elements/gstidentity.c:
924           Make sure gstprivate.h and/or config.h are
925           always included first, otherwise some of our
926           defines (like _FILE_OFFSET_BITS) might be
927           redefined in the system headers. Fixes build
928           on opensolaris (#340016).
929
930 2006-05-04  Wim Taymans  <wim@fluendo.com>
931
932         * docs/libs/gstreamer-libs-sections.txt:
933         API: addition: gst_adapter_take_buffer()
934         
935         * libs/gst/base/gstadapter.c: (gst_adapter_push),
936         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
937         (gst_adapter_available_fast):
938         * libs/gst/base/gstadapter.h:
939         Prepare for optimizing the hell out of this hugely inefficient
940         piece of code. 
941         Added gst_adapter_take_buffer() so we can at least start thinking
942         about subbuffering and merging.
943         Added some comments.
944
945         * tests/check/Makefile.am:
946         * tests/check/libs/adapter.c: (GST_START_TEST),
947         (gst_adapter_suite), (main):
948         Added GstAdapter check.
949
950 2006-05-04  Wim Taymans  <wim@fluendo.com>
951
952         * docs/design/part-overview.txt:
953         Fix some typos, add blurb about buffer flags.
954
955 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
956
957         * docs/libs/gstreamer-libs-sections.txt:
958           make sure GstBaseTransformClass shows up in the docs
959         * libs/gst/base/gstbasetransform.c:
960         * libs/gst/base/gstbasetransform.h:
961           move docs so gtk-doc picks it up now
962
963 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
964
965         * docs/libs/gstreamer-libs-sections.txt:
966           add missing symbols to docs
967
968 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
969
970         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
971           back out the newsegment handling change, see #340060 for ongoing
972           discussion
973
974 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
975
976         * tools/gst-run.c: (get_candidates), (main):
977           Fix wrong g_file_test() usage (see glib docs for why it doesn't
978           work); fix typo in error message. Fixes #340079.
979
980 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
981
982         * common/Makefile.am:
983         * docs/Makefile.am:
984         * docs/faq/Makefile.am:
985         * docs/gst/Makefile.am:
986         * docs/libs/Makefile.am:
987         * docs/manual/Makefile.am:
988         * docs/plugins/Makefile.am:
989         * docs/pwg/Makefile.am:
990         * docs/slides/Makefile.am:
991         * docs/upload.mak:
992         * common/upload.mak:
993           move upload.mak to common
994
995 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
996
997         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
998           add more asserts on refcounts
999           do more cleanup at end of tests
1000           fix test leaks showing in FC5
1001
1002 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1003
1004         * plugins/elements/gsttypefindelement.c:
1005         (gst_type_find_element_handle_event):
1006         reverted wrong change and reflowed code to avoid others falling into
1007         this trap
1008
1009 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1010
1011         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1012           fix changelog entry about last collectpads change,
1013           add notes about proper fix
1014
1015 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1016
1017         * gst/gst.c:
1018         * gst/gstregistry.c: (gst_registry_scan_path_level),
1019         (gst_registry_scan_path):
1020         * gst/gstregistry.h:
1021           only write out registry if it has changed, fixes #338339
1022
1023 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1024
1025         * gst/gstbin.c:
1026         * gst/gstpipeline.c:
1027         * plugins/elements/gstcapsfilter.c:
1028         * plugins/elements/gstfakesink.c:
1029         * plugins/elements/gstfakesrc.c:
1030         * plugins/elements/gstfdsink.c:
1031         * plugins/elements/gstfdsrc.c:
1032         * plugins/elements/gstfilesink.c:
1033         * plugins/elements/gstfilesrc.c:
1034         * plugins/elements/gstidentity.c:
1035         * plugins/elements/gstqueue.c:
1036         * plugins/elements/gsttee.c:
1037         * plugins/elements/gsttypefindelement.c:
1038         (gst_type_find_element_handle_event):
1039           make GstElementDetails const
1040
1041 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1042
1043         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1044         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1045         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1046           more detailed debug and formatting cleanup,
1047           forward newsegments to src-pad (so that e.g. adder not eats them)
1048
1049 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1050
1051         * gst/gstutils.c: (gst_element_link_pads):
1052           cleanup double code
1053
1054 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1055
1056         * libs/gst/controller/gstcontroller.c:
1057         (gst_controller_sync_values):
1058           some little tuning
1059         * tests/check/libs/controller.c: (GST_START_TEST),
1060         (gst_controller_suite):
1061           a new test for live value handling
1062
1063 2006-04-28  Wim Taymans  <wim@fluendo.com>
1064
1065         * gst/gstutils.c: (push_and_ref):
1066         Added some more docs.
1067         Fix refcount issue whith gst_element_found_tags() helper 
1068         function. Fixes #338335
1069
1070         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1071         Added testsuite for gst_element_found_tags().
1072
1073 2006-04-28  Michael Smith  <msmith@fluendo.com>
1074
1075         * gst/gstvalue.c: (gst_value_serialize_flags):
1076           Avoid NULL dereference when trying to serialize flags containing
1077           invalid values.
1078
1079 2006-04-28  Michael Smith  <msmith@fluendo.com>
1080
1081         * plugins/elements/gsttypefindelement.c:
1082         (gst_type_find_element_handle_event):
1083           If we get EOS before any data is accumulated, don't use
1084           uninitialised local variables.
1085
1086 2006-04-28  Michael Smith  <msmith@fluendo.com>
1087
1088         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1089         (gst_dp_event_from_packet):
1090           Fixes in reading/writing events over GDP (not currently used?) - 
1091           dereferencing NULL events for unknown/invalid event types, memory
1092           leak, and change g_warning to GST_WARNING.
1093
1094 2006-04-28  Wim Taymans  <wim@fluendo.com>
1095
1096         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1097         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1098         (gst_base_sink_get_position), (gst_base_sink_change_state):
1099         When frame dropping is enabled, we should not ignore frames
1100         without a duration.
1101         Update some documentation.
1102
1103 2006-04-28  Wim Taymans  <wim@fluendo.com>
1104
1105         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1106         (gst_base_src_send_event), (gst_base_src_change_state):
1107         Documentation updates.
1108
1109 2006-04-28  Wim Taymans  <wim@fluendo.com>
1110
1111         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1112         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1113         handle EAGAIN, EINTR and short writes correctly. Also clean
1114         up some error cases, avoid a deadlock on bad file descriptors and
1115         use GST_DEBUG_OBJECT.
1116         Fixes #339843
1117
1118 2006-04-28  Wim Taymans  <wim@fluendo.com>
1119
1120         * gst/gstvalue.c: (gst_value_serialize_buffer),
1121         (gst_value_deserialize_buffer):
1122         Don't try to serialize a GValue with a NULL buffer. 
1123         Fixes #339821.
1124
1125         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1126         Added check for serialisation of NULL buffers.
1127
1128 2006-04-28  Wim Taymans  <wim@fluendo.com>
1129
1130         * gst/gstminiobject.c: (gst_value_take_mini_object):
1131         Taking a NULL miniobject is valid, fix the case where
1132         we try to unref the NULL miniobject.
1133
1134 2006-04-28  Wim Taymans  <wim@fluendo.com>
1135
1136         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1137
1138         * gst/gstbin.c: (gst_bin_handle_message_func):
1139         Update docs.
1140         Don't leak bin refcount when a state recalc is
1141         in progress and we delay another one #339808.
1142
1143 2006-04-28  Wim Taymans  <wim@fluendo.com>
1144
1145         * docs/design/part-TODO.txt:
1146         Mention QoS as an ongoing work item.
1147
1148         * docs/design/part-buffering.txt:
1149         New doc about buffering that needs to be fleshed out
1150         at some point.
1151
1152         * docs/design/part-qos.txt:
1153         More QoS policy for decoders/demuxers/transforms
1154
1155         * docs/design/part-trickmodes.txt:
1156         Small update.
1157
1158 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1159
1160         * configure.ac:
1161           back to HEAD
1162
1163 === release 0.10.5 ===
1164
1165 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1166
1167         * configure.ac:
1168           releasing 0.10.5, "Fogo"
1169
1170 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1171
1172         patch by: Wim Taymans
1173
1174         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1175         (gst_pad_configure_src), (gst_pad_push):
1176         * gst/gstpipeline.c: (gst_pipeline_init):
1177           Fix internal data flow errors.  Fixes #338711.
1178
1179 2006-04-12  Wim Taymans  <wim@fluendo.com>
1180
1181         * tests/check/gst/gstelement.c: (GST_START_TEST):
1182         Don't leak the factory.
1183
1184 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1185
1186         * configure.ac:
1187         * win32/common/config.h:
1188           prerelease
1189
1190 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1191
1192         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1193         (gst_controller_unset_all):
1194           Free allocated GstTimedValues when freeing list nodes.
1195           Should fix leaks 'make check-valgrind' complains about.
1196
1197         * win32/common/libgstcontroller.def:
1198           Add gst_controller_unset_all.
1199
1200 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1201
1202         * docs/libs/gstreamer-libs-sections.txt:
1203         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1204         (gst_controller_unset_all):
1205         * libs/gst/controller/gstcontroller.h:
1206         API: Added new method gst_controller_unset_all()
1207         fixed gst_controller_unset()
1208         * tests/check/libs/controller.c: (GST_START_TEST),
1209         (gst_controller_suite):
1210         Added two testcases for new and fixed method
1211
1212 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1213
1214         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1215           MSG_DONTWAIT is not defined on Cygwin, so work
1216           around that (fixes #317048).
1217           
1218 2006-04-11  Wim Taymans  <wim@fluendo.com>
1219
1220         * gst/gstelementfactory.c: (gst_element_register),
1221         (gst_element_factory_create), (gst_element_factory_make):
1222         Some cleanups.
1223         Fixed a FIXME.
1224         Updated docs (Fixes #131079)
1225
1226         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1227         Small cleanups.
1228
1229         * tests/check/gst/gstelement.c: (GST_START_TEST),
1230         (gst_element_suite):
1231         Added testcase for elementfactory class field.
1232
1233 2006-04-10  Wim Taymans  <wim@fluendo.com>
1234
1235         * gst/gstsegment.c:
1236         Added some more docs.
1237
1238         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1239         (gst_base_sink_reset_qos):
1240         Calculate more accurate rate values.
1241
1242 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1243
1244         * gst/gst_private.h:
1245           add a new #ifdef to use __declspec(dllimport) only for
1246           other modules and not for gstreamer core
1247         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1248           use gst_guint64_to_gdouble for conversion
1249         * win32/common/libgstreamer.def:
1250           add new exported functions
1251         * win32/vs6/gst_inspect.dsp:
1252         * win32/vs6/gst_launch.dsp:
1253         * win32/vs6/libgstbase.dsp:
1254         * win32/vs6/libgstcontroller.dsp:
1255         * win32/vs6/libgstcoreelements.dsp:
1256         * win32/vs6/libgstdataprotocol.dsp:
1257         * win32/vs6/libgstnet.dsp:
1258           update project files
1259
1260 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1261
1262         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1263         * gst/gstclock.c: (gst_clock_class_init):
1264         * gst/gstelement.c: (gst_element_class_init):
1265         * gst/gstindex.c: (gst_index_class_init):
1266         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1267         * gst/gstobject.c: (gst_object_class_init),
1268         (gst_signal_object_class_init):
1269         * gst/gstpad.c: (gst_pad_class_init):
1270         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1271         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1272         * gst/gstregistry.c: (gst_registry_class_init):
1273         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1274         * gst/gsttask.c: (gst_task_class_init):
1275         * gst/gstxml.c: (gst_xml_class_init):
1276         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1277         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1278         (gst_base_src_loop):
1279         * libs/gst/controller/gstcontroller.c:/
1280         (_gst_controller_class_init):
1281         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1282         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1283         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1284         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1285         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1286         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1287
1288 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1289
1290         * gst/gstpad.c: (gst_pad_link):
1291           Must set peer pads before calling the link function, otherwise
1292           a task started from a link function might get a flow-not-linked
1293           result when trying to push because the other thread where the
1294           linking happens hasn't had a chance to set the peers yet. This
1295           might happen for example when a queue gets linked to a downstream
1296           element, as queue starts a streaming task when its source pad
1297           gets linked. Happens in real life when playing back flac/musepack
1298           files in playbin (#332390).
1299           
1300 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1301
1302         * gst/gstindex.h:
1303         * gst/gstxml.h:
1304         * libs/gst/base/gstadapter.h:
1305         * libs/gst/base/gstbasesink.h:
1306         * libs/gst/base/gstbasesrc.h:
1307         * libs/gst/base/gstbasetransform.h:
1308         * libs/gst/base/gstcollectpads.h:
1309         * libs/gst/base/gstpushsrc.h:
1310         Fix broken GObject macros
1311
1312 2006-04-07  Wim Taymans  <wim@fluendo.com>
1313
1314         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1315         Initialize start and stop times, thanks valgrind.
1316
1317 2006-04-07  Wim Taymans  <wim@fluendo.com>
1318
1319         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1320         Be a bit nicer to badly behaving upstream elements that expect
1321         us to deal with non TIME segments and timestamps (such as fakesrc
1322         in the testsuite).
1323
1324 2006-04-07  Wim Taymans  <wim@fluendo.com>
1325
1326         * gst/gstbus.c:
1327         Small documentation clarification about the signal watch.
1328
1329         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1330         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1331         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1332         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1333         (gst_base_sink_get_position_last),
1334         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1335         Convert and store timestamps in stream time and running time, the
1336         raw timestamps are not usefull, also document this better.
1337         Use different window sizes for good and bad QoS observations so
1338         we react to badness a little quicker.
1339         Keep track of the amount of rendered and dropped buffers.
1340         Send QoS timestamps in running time.
1341
1342         * libs/gst/base/gstbasetransform.c:
1343         (gst_base_transform_sink_eventfunc),
1344         (gst_base_transform_handle_buffer):
1345         Compare QoS timestamps against running time.
1346
1347 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1348
1349         * gst/gstpad.c:
1350           Typo fixes in docs.
1351
1352 2006-04-06  Michael Smith  <msmith@fluendo.com>
1353
1354         * gst/gstpad.c: (gst_pad_set_property):
1355           Use g_value_get_object() instead of g_value_dup_gst_object(),
1356           to avoid double-reffing the pad template (which we then sink,
1357           so this worked previously if (and only if) the pad template
1358           was floating.
1359
1360         * gst/gstpadtemplate.c: (gst_pad_template_init),
1361         (gst_pad_template_pad_created):
1362           Never return floating references to pad templates, create
1363           them as initially-sunken.
1364
1365           Document an extra function (and make this stop sinking our
1366           pad template, since that is now guaranteed to do nothing,
1367           since we created it sunken).
1368
1369         * gst/gstghostpad.c:
1370           Fix docs typo.
1371
1372 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1373
1374         * gst/gstinfo.c: (__gst_in_valgrind):
1375           Add some newlines.
1376
1377         * plugins/elements/gsttypefindelement.c:
1378         (gst_type_find_element_chain):
1379           Don't leak buffer caps.
1380
1381 2006-04-06  Michael Smith  <msmith@fluendo.com>
1382
1383         * gst/parse/grammar.y:
1384           Fix a leak in parse-launch for any source-or-sink named element 
1385           references used.
1386
1387         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1388           Unref the pipeline if it exists after we've failed parsing.
1389
1390 2006-04-05  Michael Smith  <msmith@fluendo.com>
1391
1392         * gst/gstpipeline.c: (gst_pipeline_init):
1393           When we create a pipeline bus, initially create it in flushing mode.
1394           Fixes leaks in at least one test, and makes a new pipeline work the
1395           same as one that has gone to READY and then back to NULL.
1396
1397         * gst/gstelement.c:
1398           Typo fix in docs.
1399
1400 2006-04-05  Michael Smith  <msmith@fluendo.com>
1401
1402         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1403           Unref a pad we reffed.
1404         * tests/check/gst/gstutils.c: (GST_START_TEST):
1405           Unref bins
1406
1407 2006-04-05  Michael Smith  <msmith@fluendo.com>
1408
1409         * gst/gstquery.c: (gst_query_set_formats),
1410         (gst_query_set_formatsv):
1411           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1412
1413 2006-04-05  Michael Smith  <msmith@fluendo.com>
1414
1415         * tests/check/generic/sinks.c: (GST_START_TEST):
1416           Fix a variety of memleaks in sinks check, which are only sometimes 
1417           shown by running the tests under valgrind (weird?).
1418
1419 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1420
1421         * docs/version.entities.in:
1422           Fix the substituted entity name after thomas' changes on the
1423           weekend.
1424
1425 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1426
1427         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1428         VALGRIND_PRINTF
1429         
1430 2006-04-05  Andy Wingo  <wingo@pobox.com>
1431
1432         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1433
1434         * libs/gst/base/gstbasetransform.c
1435         (gst_base_transform_sink_eventfunc): When resetting our segment on
1436         FLUSH_STOP, also update the flag saying we haven't seen a
1437         newsegment.
1438
1439 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1440
1441         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1442
1443         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1444         (gst_plugin_check_license):
1445           minor clean-ups: G_DEFINE_TYPE already takes care of the
1446           parent_class stuff, no need to do it twice. Mark array of
1447           license strings as constant. (#337103)
1448           
1449 2006-04-04  Michael Smith  <msmith@fluendo.com>
1450
1451         * tools/gst-inspect.c: (print_element_list):
1452           Free the right plugin list; fixes a memory leak.
1453
1454 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1455
1456         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1457
1458         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1459           Don't error out on empty buffers (#336945).
1460           
1461 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1462
1463         * docs/libs/gstreamer-libs-sections.txt:
1464         * gst/gsttaglist.c:
1465         * libs/gst/base/gstbasesink.c:
1466         * libs/gst/base/gstbasesink.h:
1467         * libs/gst/base/gstbasesrc.c:
1468         * libs/gst/base/gstbasesrc.h:
1469           Documentation updates. Make BaseSink and BaseSrc docs contain the
1470           class structure so that people can actually see the prototypes for
1471           virtual functions they're supposed to be overriding.
1472
1473 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1474
1475         * plugins/elements/gsttypefindelement.c:
1476         (gst_type_find_element_chain):
1477           More debug info; when skipping typefinding, send cached
1478           events in all cases.
1479
1480 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1481
1482         * configure.ac:
1483           use new AS_VERSION and AS_NANO macros
1484         * gst/gst-i18n-lib.h:
1485         * gst/gst.c:
1486         * gst/gsterror.c:
1487         * gst/gstversion.h.in:
1488         * win32/common/config.h:
1489         * win32/common/config.h.in:
1490           update accordingly
1491
1492 2006-03-31  Michael Smith  <msmith@fluendo.com>
1493
1494         * plugins/elements/gsttypefindelement.c:
1495         (gst_type_find_element_chain):
1496           Do not typefind content if the buffers already have caps.
1497           Neccesary for icydemux (#333657), and the right thing to do anyway.
1498
1499 2006-03-30  Wim Taymans  <wim@fluendo.com>
1500
1501         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1502         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1503         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1504         (gst_base_sink_record_qos_observation),
1505         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1506         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1507         (gst_base_sink_change_state):
1508         More QoS measurements as described in the design doc.
1509         Get rid of ringbuffer with observations, running average is
1510         more simple and equally good.
1511         Calculates valid proportion now.
1512         Added beginning of flood measurement.
1513
1514 2006-03-29  Wim Taymans  <wim@fluendo.com>
1515
1516         * docs/design/part-qos.txt:
1517         * gst/gstclock.c:
1518         Small documentation updates and additions.
1519
1520 2006-03-29  Wim Taymans  <wim@fluendo.com>
1521
1522         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1523         (gst_base_src_send_event), (gst_base_src_loop),
1524         (gst_base_src_change_state):
1525         Perform the EOS logic when we reach the segment stop position.
1526         Fix compilation on gcc4.1
1527
1528 2006-03-29  Wim Taymans  <wim@fluendo.com>
1529
1530         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1531
1532         * plugins/elements/gstqueue.c: (gst_queue_init),
1533         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1534         (gst_queue_set_property):
1535         * plugins/elements/gstqueue.h:
1536         In queue, when EOS is received, if minimum threshold > max_size -
1537         current_level, there is chance that queue blocks forever in conditional
1538         item del wait. This is because the queue is not emptied completely due
1539         to minimum threshold.  Here is another approach. Instead of setting
1540         cur_levels to max in EOS, just zero all minimum threshold levels. This
1541         should make sure that queue gives out all data. When going to READY
1542         (stop) state, just reset the original minimum threshold levels.
1543         Fixes #336336.
1544
1545 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1546
1547         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1548         (gst_type_find_element_handle_event),
1549         (gst_type_find_element_send_cached_events),
1550         (gst_type_find_element_change_state):
1551         * plugins/elements/gsttypefindelement.h:
1552           When typefinding is done in push mode, we should cache
1553           events we receive during typefinding instead of just
1554           dropping them (e.g. newsegment, custom events from
1555           dvdreadsrc etc.) and then send them out once we've
1556           determined the type of the stream (and decodebin
1557           has had a chance to plug in a decoder/demuxer).
1558           
1559 2006-03-27  Wim Taymans  <wim@fluendo.com>
1560
1561         * docs/design/part-qos.txt:
1562         First QoS ideas.
1563
1564 2006-03-27  Wim Taymans  <wim@fluendo.com>
1565
1566         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1567
1568         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1569         (gst_base_src_send_event), (gst_base_src_change_state):
1570         Handle element seek correctly when we are streaming.
1571         Fixes #326998.
1572
1573 2006-03-24  Michael Smith  <msmith@fluendo.com>
1574
1575         * docs/faq/gst-uninstalled:
1576           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1577           allow you to correctly run intalled applications built against old 
1578           core, using plugins that require updated core (e.g. running
1579           installed totem against a full uninstalled gstreamer stack)
1580
1581 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1582
1583         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1584         more debug details
1585
1586 2006-03-24  Wim Taymans  <wim@fluendo.com>
1587
1588         * docs/gst/gstreamer-sections.txt:
1589         Rearrange the order of the methods so that related methods
1590         are grouped together in sections.
1591
1592 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1593
1594         * gst/gstelement.c:
1595           Little clarification in the docs
1596
1597 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1598
1599         * docs/README:
1600         formatting fix
1601         * plugins/elements/gstidentity.c:
1602         * plugins/elements/gstqueue.c:
1603         * plugins/elements/gsttee.c:
1604         * plugins/elements/gsttypefindelement.c:
1605         GST_ELEMENT_DETAILS formatting
1606
1607 2006-03-24  Wim Taymans  <wim@fluendo.com>
1608
1609         * libs/gst/base/gstbasesink.h:
1610         Only add fields, not insert or we break ABI.
1611
1612 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1613
1614         * win32/common/libgstbase.def:
1615         * win32/common/libgstreamer.def:
1616           Update, add recently added functions.
1617
1618 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1619
1620         * docs/gst/gstreamer-sections.txt:
1621         * gst/gstutils.c: (gst_pad_query_peer_position),
1622         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1623         * gst/gstutils.h:
1624           API: add some new utility functions:
1625            - gst_pad_query_peer_position()
1626            - gst_pad_query_peer_duration()
1627            - gst_pad_query_peer_convert()
1628           
1629 2006-03-23  Wim Taymans  <wim@fluendo.com>
1630
1631         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1632         (gst_base_sink_init), (gst_base_sink_finalize),
1633         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1634         (gst_base_sink_set_property), (gst_base_sink_get_property),
1635         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1636         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1637         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1638         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1639         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1640         (gst_base_sink_preroll_object), (gst_base_sink_event),
1641         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1642         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1643         (gst_base_sink_query), (gst_base_sink_change_state):
1644         Decouple max-lateness and the fact that QoS messages are generated
1645         with a new property (qos).
1646         added API: GstBaseSink::async_play()
1647         Add vmethod so subclasses can be notified of ASYNC playing
1648         state changes.
1649         Collect timestamp start and stop to report better current
1650         position in EOS/PLAYING/PAUSED/READY/NULL.
1651         Refactor QoS/frame dropping and other measurements.
1652         API: GstBaseSrc::qos
1653         Fixes #326311
1654
1655         * libs/gst/base/gstbasesink.h:
1656         Added Private struct.
1657         API: gst_base_sink_set_qos_enabled()
1658         API: gst_base_sink_is_qos_enabled()
1659
1660 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1661
1662         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1663           If compiling against GLib-2.8 or newer, try to read the
1664           registry file using GMappedFile first before falling back
1665           to fopen() + fread() (#332151).
1666
1667 2006-03-22  Wim Taymans  <wim@fluendo.com>
1668
1669         * gst/gstinfo.c: (gst_debug_set_active),
1670         (gst_debug_category_set_threshold):
1671         Disable debugging unless explicitly activated.
1672         Fixes #335480.
1673
1674 2006-03-22  Wim Taymans  <wim@fluendo.com>
1675
1676         * gst/gstelement.c: (gst_element_set_locked_state),
1677         (gst_element_dispose):
1678         Cleanup the error case.
1679
1680         * gst/gstobject.c: (gst_object_dispose):
1681         print a critical when some object was disposed with
1682         a parent, also revive the object since it might
1683         crash the parent.
1684
1685 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1686
1687         * tools/gst-launch.1.in:
1688           Fix another typo.
1689
1690 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1691
1692         * configure.ac:
1693         * tests/check/Makefile.am:
1694           disable some tests when we don't have a registry
1695         * tests/check/gst/gstutils.c: (gst_utils_suite):
1696           don't build the part that needs parsing
1697
1698 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1699
1700         * gst/Makefile.am
1701         * tests/examples/Makefile.am:
1702           fix --disable-parse build
1703
1704 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1705
1706         * tools/gst-feedback.1.in:
1707           Fix typo: s/feeback/feedback/ (#133494).
1708
1709 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1710
1711         * tools/Makefile.am:
1712         * tools/gst-launch.1.in:
1713           Add FILES section and correct entry about GST_REGISTRY_PATH
1714           environment variable (#133495; #133494).
1715
1716 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1717
1718         * tools/Makefile.am:
1719         * tools/gst-md5sum.1.in:
1720         * tools/gst-md5sum.c:
1721           Remove gst-md5sum and man page (the md5sink element
1722           required was removed ages ago)
1723
1724 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1725
1726         * gst/gststructure.c: (gst_structure_id_set_value):
1727           Make sure that string fields in structures/taglists
1728           contain valid UTF-8 - we don't want to pass rubbish to
1729           applications because of a buggy plugin (cp. #334167).
1730
1731 2006-03-21  Edward Hervey  <edward@fluendo.com>
1732
1733         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1734         (gst_bin_handle_message_func):
1735         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1736         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1737         (gst_element_set_bus_func):
1738         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1739         * gst/gstminiobject.c: (gst_value_set_mini_object),
1740         (gst_value_take_mini_object):
1741         * gst/gstpad.c: (gst_pad_set_pad_template):
1742         * gst/gstpipeline.c: (gst_pipeline_dispose),
1743         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1744         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1745         (gst_collect_pads_chain):
1746         * libs/gst/net/gstnettimeprovider.c:
1747         (gst_net_time_provider_set_property):
1748         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1749         It's in fact all issues with gst_*object_replace().
1750
1751 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1752
1753         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1754         
1755         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1756         * pkgconfig/gstreamer-check.pc.in:
1757           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1758
1759 2006-03-21  Edward Hervey  <edward@fluendo.com>
1760
1761         * gst/gstbuffer.h:
1762         * gst/gstevent.h:
1763         * gst/gstmessage.h:
1764         gst_[buffer|event|message]_ref() macros are replaced by a static
1765         inline functions because gcc-4.1 will about if the return value
1766         isn't used.
1767         * tests/check/gst/gstevent.c: (event_probe):
1768         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1769
1770 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1771
1772         * gst/gstutils.h:
1773         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1774         the type' case. (Closes: #335195 for now). In the future, when we
1775         depend on GLib 2.10, we could also intern the type name using
1776         g_intern_static_string()
1777
1778 2006-03-20  Wim Taymans  <wim@fluendo.com>
1779
1780         * gst/gstbin.c: (gst_bin_handle_message_func),
1781         (bin_query_max_init), (bin_query_position_fold),
1782         (bin_query_position_done), (gst_bin_query):
1783         Position query should also take max of all streams.
1784
1785 2006-03-20  Wim Taymans  <wim@fluendo.com>
1786
1787         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1788         (gst_fake_src_finalize):
1789         Fix leaks in fakesrc.
1790
1791         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1792         Fix leaks in the testcase.
1793
1794 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
1795
1796         * gst/gst_private.h:
1797           add win32 specific import decoration(__declspec(dllimport)) 
1798           for all extern GstDebugCategory * variables
1799         * win32/common/libgstbase.def:
1800         * win32/common/libgstcontroller.def:
1801         * win32/common/libgstreamer.def:
1802           Add some exports, remove empty lines
1803         * win32/common/libgstdataprotocol.def:
1804         * win32/common/libgstdataprotocol.dsp:
1805         * win32/common/libgstnet.def:
1806         * win32/common/libgstnet.dsp:
1807           new project files and exportation files added
1808         
1809 2006-03-19  Wim Taymans  <wim@fluendo.com>
1810
1811         * tests/check/libs/basesrc.c: (eos_event_counter):
1812         Use proper return value for probe.
1813
1814 2006-03-17  Wim Taymans  <wim@fluendo.com>
1815
1816         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1817         (gst_pad_push):
1818         Don't leak buffers, caps and pads on negotiation errors.
1819
1820 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
1821
1822         * docs/faq/cvs.xml:
1823         * docs/faq/dependencies.xml:
1824         * docs/faq/developing.xml:
1825         * docs/faq/faq.xml:
1826         * docs/faq/general.xml:
1827         * docs/faq/getting.xml:
1828         * docs/faq/legal.xml:
1829         * docs/faq/troubleshooting.xml:
1830         * docs/faq/using.xml:
1831         Faq review and update.
1832
1833 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
1834
1835         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1836         (gst_pad_push):
1837         Don't pound the cpu to pieces by checking get_caps when accept_caps
1838         is called with the same caps as the pad already has.
1839         Use GST_DEBUG_OBJECT when outputting caps change information.
1840
1841 2006-03-15  Wim Taymans  <wim@fluendo.com>
1842
1843         * gst/gstclock.c: (gst_clock_class_init):
1844         Fix docs.
1845
1846 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
1847
1848         * gst/gstbuffer.h:
1849         Documentation fix.
1850
1851         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
1852         (gst_pad_accept_caps), (gst_pad_configure_sink),
1853         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
1854         Make the default acceptcaps behaviour be to check the requested 
1855         caps against the gst_pad_get_caps output. 
1856
1857         Ensure that gst_pad_accept_caps is used to check caps when a pad
1858         doesn't have a setcaps function, so that pads automatically refuse 
1859         caps that they don't allow in their pad template. (Fixes #332986)
1860
1861         When a buffer with attached caps is pushed, ensure that the source 
1862         pad receives those caps even if the element didn't call
1863         gst_pad_set_caps first.
1864
1865 2006-03-15  Wim Taymans  <wim@fluendo.com>
1866
1867         * libs/gst/base/gstadapter.c:
1868         Add some docs.
1869
1870 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * win32/common/libgstbase.def:
1873         * win32/common/libgstcontroller.def:
1874         * win32/common/libgstreamer.def:
1875           Add a whole bunch of missing functions (#334434).
1876
1877 2006-03-14  Wim Taymans  <wim@fluendo.com>
1878
1879         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1880         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1881         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1882         Better debug info when we receive a segment event.
1883         Reorganize a bit so we can pass the get_times() results around.
1884         Use the segment format when calculating the running time.
1885         Don't do QoS is sync is disabled or we have no clock or the
1886         element does not want us to sync to the clock.
1887         Don't drop buffers if QoS is disabled for now.
1888
1889 2006-03-14  Wim Taymans  <wim@fluendo.com>
1890
1891         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1892         Marked the stats property as unimplemented so people don't get
1893         wild ideas.
1894         Add debug message when regression goes wrong.
1895         Added some more docs.
1896
1897 2006-03-14  Wim Taymans  <wim@fluendo.com>
1898
1899         * gst/gstsegment.c: (gst_segment_to_stream_time):
1900         Return correct return type in case of errors.
1901
1902 2006-03-14  Wim Taymans  <wim@fluendo.com>
1903
1904         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1905           Don't segfault on invalid formats.
1906
1907 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1908
1909         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1910           Can't use gst_segment_to_running_time() when the segment
1911           is not in GST_TIME_FORMAT (like with filesink, for example).
1912           Stops flac encoding pipelines from spewing critical warnings
1913           at EOS (#331248).
1914           
1915 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1916
1917         * gst/gstpipeline.c: (gst_pipeline_class_init):
1918           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1919
1920         * plugins/elements/gsttypefindelement.c:
1921         (gst_type_find_element_handle_event):
1922           Don't try to typefind empty streams.
1923
1924 2006-03-14  Wim Taymans  <wim@fluendo.com>
1925
1926         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1927         (gst_base_sink_do_qos):
1928         Separate QoS calculation.
1929         Only drop buffers when lateness is bigger than the 
1930         duration of the buffer.
1931
1932 2006-03-13  Wim Taymans  <wim@fluendo.com>
1933
1934         * gst/gstpipeline.c: (gst_pipeline_set_property),
1935         (gst_pipeline_get_property), (do_pipeline_seek),
1936         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1937         (gst_pipeline_get_delay):
1938         Don't deadlock when reading properties.
1939
1940 2006-03-13  Wim Taymans  <wim@fluendo.com>
1941
1942         * libs/gst/base/gstbasetransform.c:
1943         (gst_base_transform_class_init), (gst_base_transform_init),
1944         (gst_base_transform_sink_event),
1945         (gst_base_transform_sink_eventfunc),
1946         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
1947         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1948         (gst_base_transform_set_property),
1949         (gst_base_transform_get_property),
1950         (gst_base_transform_change_state), (gst_base_transform_update_qos),
1951         (gst_base_transform_set_qos_enabled),
1952         (gst_base_transform_is_qos_enabled):
1953         * libs/gst/base/gstbasetransform.h:
1954         Make basetransform virtual method for src events too.
1955         Handle QOS in basetransform.
1956         API: gst_base_transform_update_qos()
1957         API: gst_base_transform_set_qos_enabled()
1958         API: gst_base_transform_is_qos_enabled()
1959
1960 2006-03-13  Wim Taymans  <wim@fluendo.com>
1961
1962         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1963         (gst_base_sink_do_sync):
1964         Small cleanups.
1965         Use QOS debug category.
1966
1967 2006-03-13  Wim Taymans  <wim@fluendo.com>
1968
1969         * plugins/elements/gstqueue.c:
1970         Very small doc update.
1971
1972 2006-03-13  Wim Taymans  <wim@fluendo.com>
1973
1974         * gst/gst_private.h:
1975         * gst/gstinfo.c: (_gst_debug_init):
1976         Added QOS debug category
1977
1978 2006-03-13  Wim Taymans  <wim@fluendo.com>
1979
1980         * docs/gst/gstreamer-sections.txt:
1981         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
1982         * gst/gstbin.h:
1983         * gst/gstbus.c: (gst_bus_class_init):
1984         * gst/gstbus.h:
1985         * gst/gstclock.c:
1986         * gst/gstelement.c: (gst_element_set_locked_state):
1987         * gst/gstsegment.c:
1988         Documentation updates.
1989
1990         * gst/gstpipeline.c: (gst_pipeline_get_type),
1991         (gst_pipeline_class_init), (gst_pipeline_init),
1992         (gst_pipeline_dispose), (gst_pipeline_set_property),
1993         (gst_pipeline_get_property), (do_pipeline_seek),
1994         (gst_pipeline_send_event), (gst_pipeline_change_state),
1995         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
1996         (gst_pipeline_get_delay):
1997         * gst/gstpipeline.h:
1998         Added methods for setting the delay.
1999         API: gst_pipeline_set_delay()
2000         API: gst_pipeline_get_delay()
2001         Add pipeline debug category
2002         Various cleanups.
2003         Updated docs.
2004         Don't reset stream time when seek failed.
2005
2006 2006-03-13  Wim Taymans  <wim@fluendo.com>
2007
2008         * docs/design/draft-klass.txt:
2009         * docs/design/part-clocks.txt:
2010         * docs/design/part-events.txt:
2011         * docs/design/part-gstbin.txt:
2012         * docs/design/part-gstpipeline.txt:
2013         * docs/design/part-messages.txt:
2014         * docs/design/part-negotiation.txt:
2015         * docs/design/part-overview.txt:
2016         * docs/design/part-preroll.txt:
2017         * docs/design/part-seeking.txt:
2018         * docs/design/part-states.txt:
2019         * docs/design/part-streams.txt:
2020         Documentation updates.
2021
2022 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2023
2024         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2025         us to leak strings...
2026
2027 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2028
2029         * libs/gst/net/gstnettimeprovider.c:
2030           fix docs
2031         * win32/common/config.h:
2032           update
2033
2034 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2035
2036         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2037
2038         * configure.ac:
2039           Don't check for libgnomeui (leftover from old examples
2040           that aren't built or disted any longer) (#334303).
2041           
2042 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2043
2044         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2045         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2046           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2047           there's no space left on the device.
2048
2049 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2050
2051         * gst/gstclock.h:
2052           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2053           to cast the input to GstClockTime before comparing with
2054           another GstClockTime value.
2055
2056 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2057
2058         * configure.ac:
2059           back to trunk
2060
2061 === release 0.10.4 ===
2062
2063 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2064
2065         * configure.ac:
2066           releasing 0.10.4, "Light"
2067
2068 2006-03-10  Michael Smith  <msmith@fluendo.com>
2069
2070         * libs/gst/dataprotocol/dataprotocol.c:
2071           Fix docs for dataprocotol to not get the return types completely
2072           wrong for a few functions.
2073
2074 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2075
2076         * docs/gst/gstreamer-sections.txt:
2077         * gst/gstpipeline.c: (gst_pipeline_class_init),
2078         (gst_pipeline_init), (gst_pipeline_set_property),
2079         (gst_pipeline_get_property), (gst_pipeline_change_state),
2080         (gst_pipeline_set_auto_flush_bus),
2081         (gst_pipeline_get_auto_flush_bus):
2082         * gst/gstpipeline.h:
2083           Add new API: gst_pipeline_set_auto_flush_bus() and
2084           gst_pipeline_get_auto_flush_bus() to disable automatic
2085           flushing of the pipeline's GstBus when going from READY
2086           to NULL state (#332045).
2087
2088 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2089
2090         * docs/gst/gstreamer-sections.txt:
2091         * gst/gsturi.c: (gst_uri_has_protocol):
2092         * gst/gsturi.h:
2093            Add new API: gst_uri_has_protocol() (#333779).
2094
2095 2006-03-09  Wim Taymans  <wim@fluendo.com>
2096
2097         * gst/gstclock.c: (gst_clock_entry_new),
2098         (gst_clock_id_compare_func), (gst_clock_id_wait),
2099         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2100         (gst_clock_init), (gst_clock_get_internal_time),
2101         (gst_clock_set_master), (do_linear_regression),
2102         (gst_clock_add_observation), (gst_clock_set_property):
2103         * gst/gstclock.h:
2104         Review docs.
2105         Small cleanups.
2106         Fix a possible segfault when the window-size is made smaller.
2107         Calculate jitter before performing the clock wait. Ideally
2108         the clock implementation should calculate jitter but we need
2109         API breakage for that.
2110
2111         * gst/gstsystemclock.c: (gst_system_clock_init):
2112         Docs review.
2113         
2114         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2115         Remove leftover else
2116
2117         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2118         (gst_systemclock_suite):
2119         Added check to test GST_CLOCK_DIFF.
2120
2121 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2122
2123         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2124         (gst_type_find_helper_get_range):
2125           If we are provided with the size, we should implement
2126           GstTypeFind::get_length, so that typefind functions who
2127           want to can actually peek at the middle of a file.
2128
2129 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2130
2131         * docs/manual/advanced-dataaccess.xml:
2132           Add some very very basic error checking.
2133
2134         * docs/pwg/appendix-checklist.xml:
2135           Some updates to the list of things to check when writing an element.
2136
2137 2006-03-08  Wim Taymans  <wim@fluendo.com>
2138
2139         * docs/design/part-element-transform.txt:
2140         Added some docs about the design of tranform elements.
2141
2142         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2143         (gst_base_src_loop), (gst_base_src_change_state):
2144         Mark buffers with the DISCONT flag.
2145
2146 2006-03-08  Michael Smith  <msmith@fluendo.com>
2147
2148         * gst/gstregistry.h:
2149         * gst/gstregistryxml.c: (gst_registry_save),
2150         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2151         (gst_registry_xml_save_pad_template),
2152         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2153         (gst_registry_xml_write_cache):
2154           Rewrite registry-saving to avoid race conditions and check for
2155           failed writes.
2156
2157 2006-03-08  Wim Taymans  <wim@fluendo.com>
2158
2159         * libs/gst/base/gstbasetransform.c:
2160         (gst_base_transform_transform_caps),
2161         (gst_base_transform_transform_size),
2162         (gst_base_transform_prepare_output_buffer),
2163         (gst_base_transform_get_unit_size),
2164         (gst_base_transform_buffer_alloc),
2165         (gst_base_transform_handle_buffer),
2166         (gst_base_transform_change_state):
2167         Cleanups, separate normal flow from errors, add sensible
2168         DEBUG lines.
2169         Don't try to renegotiate when allocating an output buffer.
2170         Also copy DISCONT buffer flag when copying a buffer.
2171         Reset the transform after we finish streaming, not during.
2172
2173 2006-03-08  Wim Taymans  <wim@fluendo.com>
2174
2175         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2176         Use last buffer timestamp in qos message.
2177
2178 2006-03-07  Wim Taymans  <wim@fluendo.com>
2179
2180         Patch by: Christophe Fergeau
2181
2182         * docs/pwg/advanced-tagging.xml:
2183         * docs/pwg/building-pads.xml:
2184           fixes #333416
2185
2186 2006-03-07  Wim Taymans  <wim@fluendo.com>
2187
2188         * docs/libs/gstreamer-libs-sections.txt:
2189         Added basesink new methods.
2190
2191         * gst/gstevent.c:
2192         * gst/gstevent.h:
2193         Docs updates. Flesh out the QoS docs.
2194
2195         * libs/gst/base/gstadapter.c:
2196         Small doc clarification about ownership and flushing.
2197
2198         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2199         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2200         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2201         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2202         * libs/gst/base/gstbasesink.h:
2203         API additions: 
2204         Added new methods to allow subclass to control max-lateness 
2205         and sync.
2206         Generate very basic QoS events based on last sync observation.
2207         Updated docs, fix typo, added some QoS blurb.
2208
2209         * libs/gst/base/gstbasesrc.c:
2210         Remove obsolete _get_state() calls from docs.
2211
2212 2006-03-07  Wim Taymans  <wim@fluendo.com>
2213
2214         * docs/libs/gstreamer-libs-sections.txt:
2215         * libs/gst/base/gstbasetransform.h:
2216         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2217         Fix docs for GstBaseSrc.
2218
2219 2006-03-07  Wim Taymans  <wim@fluendo.com>
2220
2221         * docs/gst/gstreamer-sections.txt:
2222         * gst/gstbuffer.h:
2223         * gst/gstvalue.c:
2224         * libs/gst/base/gstbasetransform.h:
2225         Small documentation fixes.
2226
2227 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2228
2229         * gst/gstvalue.c:
2230           Document thread-unsafety of gst_value_register_foo_func()
2231           when used at the same time as gst_value_foo() (#322628).
2232
2233 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2234
2235         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2236         (gst_push_src_check_get_range):
2237           Push sources don't support pull mode by default.
2238
2239 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2240
2241         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2242         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2243         (gst_base_src_default_check_get_range):
2244         * libs/gst/base/gstbasesrc.h:
2245           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2246           provide default implementation, and rename
2247           gst_base_src_check_get_range() to
2248           gst_base_src_pad_check_get_range() for clarity.
2249
2250 2006-03-06  Wim Taymans  <wim@fluendo.com>
2251
2252         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2253         Make property overridable.
2254
2255 2006-03-06  Wim Taymans  <wim@fluendo.com>
2256
2257         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2258         (gst_base_sink_init), (gst_base_sink_set_property),
2259         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2260         * libs/gst/base/gstbasesink.h:
2261         API addition: Make max-lateness a property.
2262
2263 2006-03-06  Wim Taymans  <wim@fluendo.com>
2264
2265         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2266         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2267         Don't ever draw a frame that is >10ms late.
2268
2269 2006-03-06  Michael Smith  <msmith@fluendo.com>
2270
2271         * gst/gstmessage.c: (_gst_message_copy):
2272           When copying a message, set the parent_refcount of the enclosed
2273           structure to point at the copy, not the original message.
2274
2275 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2276
2277         Patch by: Christophe Fergeau
2278
2279         * gst/gstutils.h:
2280           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2281           usable in c++ code (#333417)
2282
2283 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2284
2285         * gst/gstclock.h:
2286           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2287
2288 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2289
2290         * libs/gst/base/gstbasetransform.c:
2291         (gst_base_transform_transform_caps):
2292           Make sure caps are writable before passing them to
2293           gst_caps_append().
2294
2295 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2296
2297         * gst/gsterror.h:
2298           Fix some minor docs errors.
2299
2300 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2301
2302           Patch by: Ross Burton <ross at burtonini dot com>
2303
2304         * gst/gsterror.c: (_gst_resource_errors_init):
2305         * gst/gsterror.h:
2306           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2307
2308 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2309
2310         * gst/gst.c:
2311         Add a check and output a g_warning when GStreamer is built
2312         against GLib 2.6 but running against 2.8 or higher, and vice 
2313         versa. (Closes: #323542)
2314
2315 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2316
2317         * gst/parse/parse.l:
2318           Commit patch for parse_launch syntax from #331255. Removes 
2319           support for quoted strings and mimetypes when writing filtered 
2320           caps. See the bug report for more details - I'm pretty sure this
2321           obscure feature is not in use by _anyone_ anywhere.
2322
2323           With this simple change, the size of the gstreamer.so here 
2324           drops from 2193KB to 1565KB.
2325
2326 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2327
2328         * plugins/elements/gsttypefindelement.h:
2329         * plugins/elements/gsttypefindelement.c:
2330         (gst_type_find_element_src_event), (start_typefinding),
2331         (stop_typefinding), (gst_type_find_element_handle_event),
2332         (gst_type_find_element_chain),
2333         (gst_type_find_element_chain_do_typefinding):
2334           Use gst_type_find_helper_for_buffer() for chain-based
2335           typefinding.
2336
2337 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2338
2339         * plugins/elements/gsttypefindelement.c:
2340         (gst_type_find_element_class_init),
2341         (gst_type_find_element_set_property),
2342         (gst_type_find_element_get_property):
2343           Deprecate "maximum" property (not only was it only taken into
2344           account for typefinding in push-mode anyway, it also was never
2345           actually possible to set it in the first place because the
2346           property was registered with the numeric property ID for the
2347           "minimum" property). Register "maximum" property correctly,
2348           for the sake of future copy'n'pasters. Remove some cruft
2349           from property get/set functions.
2350
2351 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2352
2353         * plugins/elements/gsttypefindelement.c:
2354         (gst_type_find_element_activate):
2355           Use gst_type_find_helper_get_range() here, so we
2356           can honour the "minimum" property and also emit
2357           the signal with the correct probability of the found caps.
2358
2359 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2360
2361         * docs/libs/gstreamer-libs-sections.txt:
2362         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2363         (helper_find_suggest), (gst_type_find_helper_get_range),
2364         (gst_type_find_helper):
2365         * libs/gst/base/gsttypefindhelper.h:
2366           New API: gst_type_find_helper_get_range() (#333042).
2367
2368 2006-03-02  Michael Smith  <msmith@fluendo.com>
2369
2370         * gst/gstregistryxml.c: (load_feature):
2371           Asserting on a failure to read part of the registry is Not Cool.
2372           Just log a warning and return NULL (which is already handled)
2373
2374 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2375
2376         * win32/common/libgstbase.def:
2377           added export of gst_type_find_helper_for_buffer
2378         * win32/common/libgstbase.def:
2379           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2380           gst_ghost_pad_get_target
2381
2382 2006-02-28  Wim Taymans  <wim@fluendo.com>
2383
2384         * docs/design/draft-klass.txt:
2385         We use Filter now.
2386         Added Connector to mark elements that are only used to
2387         allow pipeline connections.
2388         Moved Debug to extra feature since most of them are 
2389         functionally something else.
2390
2391 2006-02-28  Wim Taymans  <wim@fluendo.com>
2392
2393         * docs/design/draft-klass.txt:
2394         Some updates and clarifications.
2395
2396 2006-02-28  Wim Taymans  <wim@fluendo.com>
2397
2398         * docs/design/draft-klass.txt:
2399         Proposal for klass field values.
2400
2401         * docs/design/part-streams.txt:
2402         Start of a doc describing stream anatomy.
2403
2404 2006-02-28  Wim Taymans  <wim@fluendo.com>
2405
2406         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2407         Help the compiler a bit with type registration.
2408         Use existing forward cod path instead of duplicating it when 
2409         handling a message.
2410         
2411         * gst/gstbus.c: (gst_bus_get_type):
2412         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2413         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2414         * gst/gstclock.c: (gst_clock_get_type):
2415         * gst/gstelement.c: (gst_element_get_type),
2416         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2417         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2418         * gst/gstminiobject.c: (gst_mini_object_get_type):
2419         * gst/gstpad.c: (gst_pad_get_type):
2420         * gst/gstsegment.c: (gst_segment_get_type):
2421         * gst/gststructure.c: (gst_structure_get_type):
2422         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2423         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2424         * gst/gstvalue.c:
2425         Help compiler with type registration.
2426
2427         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2428         Small doc update.
2429
2430 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2431
2432         * plugins/elements/gsttypefindelement.c:
2433         (gst_type_find_element_handle_event):
2434           When we get an EOS event and have not found a type yet
2435           (most likely because we had not yet accumulated
2436           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2437           type given the data we have so far. Fixes typefinding
2438           for very short streams again, most notably quicktime
2439           redirections as used on Apple's trailer site (#331701).
2440
2441 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2442
2443         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2444         (gst_type_find_helper):
2445           Try typefinding factories with the highest rank first.
2446
2447 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2448
2449         * docs/libs/gstreamer-libs-docs.sgml:
2450         * docs/libs/gstreamer-libs-sections.txt:
2451         * libs/gst/base/gsttypefindhelper.c:
2452           Add section for typefind helper and add documentation
2453           for the old and the new function.
2454
2455 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2456
2457         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2458         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2459         (gst_type_find_helper_for_buffer):
2460         * libs/gst/base/gsttypefindhelper.h:
2461           New API: gst_type_find_helper_for_buffer() (#332723).
2462           
2463 2006-02-27  Michael Smith  <msmith@fluendo.com>
2464
2465         Patch by: Loïc Minier
2466
2467         * configure.ac:
2468         * docs/Makefile.am:
2469         * docs/slides/Makefile.am:
2470           prevent CVS directories getting disted.
2471
2472 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2473
2474         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2475           Use the REFCOUNTING category for caps refcounting.
2476           
2477 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2478
2479         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2480           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2481
2482 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2483
2484         * plugins/elements/gsttypefindelement.c:
2485         (gst_type_find_element_activate):
2486           Use gst_pad_check_pull_range() before _activate_pull()
2487           to avoid unnecessary open/close (see #331690).
2488
2489 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2490
2491         * gst/gstutils.c:
2492           Docs enhancement: make it crystal clear what the
2493           gst_pad_add_*_probe() callbacks should look like.
2494
2495 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2496
2497         * libs/gst/base/gstbasesrc.c:
2498           Document how applications can stop recording from
2499           live sources (see #330996).
2500
2501 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2502
2503         * tests/check/Makefile.am:
2504         * tests/check/libs/basesrc.c: (eos_event_counter),
2505         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2506         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2507         (gst_basesrc_suite), (main):
2508           ... and add some tests for the base source EOS stuff.
2509
2510 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2511
2512         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2513           Test case originally showed the problem fixed below,
2514           but was then amended. Add checks back at the place
2515           where they used to be.
2516
2517 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2518
2519         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2520         (gst_base_src_init), (gst_base_src_loop),
2521         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2522         (gst_base_src_change_state):
2523         * libs/gst/base/gstbasesrc.h:
2524           Don't unconditionally send EOS when going from PAUSED to
2525           READY state, esp. make sure we don't send two EOS events
2526           in some cases (e.g. one when reaching EOS and one when
2527           going from PAUSED to READY). Also, we don't want to send
2528           EOS events when operating in pull mode. However, we do
2529           want to send an EOS event when shutting down a live
2530           source explicitly, for example (fixes #330996).
2531           
2532 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2533
2534         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2535           Update src->read_position after a seek when not using mmap.
2536           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2537
2538 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2539
2540         * gst/Makefile.am:
2541         * gst/gstparse.h:
2542         * gst/gstutils.c:
2543         * gst/gstutils.h:
2544         Make things work with --disable-parse as they do with 
2545         --disable-load-save - the symbols involved disappear, but the
2546         header is still installed and GST_DISABLE_PARSE is included via
2547         gstconfig.h
2548
2549 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2550
2551         * libs/gst/base/gstbasetransform.c:
2552         (gst_base_transform_change_state): Fix a stupid bug. I was 
2553         sure I compiled that.
2554
2555 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2556
2557         * gst/gstpad.c: (gst_pad_set_blocked_async):
2558         * gst/gstutils.c: (gst_pad_add_data_probe),
2559         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2560         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2561         (gst_pad_remove_buffer_probe): Make those function act on the
2562         ghostpad target when it's a ghostpad. (Closes #331727)
2563
2564 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2565
2566         * libs/gst/base/gstbasetransform.c:
2567         (gst_base_transform_change_state): Make basetransform reusable.
2568         (Closes #331898)
2569
2570 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2571
2572         * docs/random/release:
2573         Move the current documentation of how to do a release to the top
2574         of the file.
2575
2576         * gst/gstbin.c: (gst_bin_class_init),
2577         (gst_bin_handle_message_func):
2578         Allow multiple state-recalculation threads. (Closes #328873)
2579
2580 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2581
2582         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2583         * gst/gstpad.c: (gst_pad_set_event_function),
2584         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2585         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2586         2 strings. You can't use the STR_NULL macro on that.
2587
2588 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2589
2590         * gst/gstpad.c: (gst_pad_set_event_function),
2591         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2592         (gst_pad_set_getcaps_function)
2593         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2594           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2595           So now, we can use --gst-debug-level=5 on Windows
2596         * win32/common/libgstcontroller.def:
2597           Added export of gst_controller_init
2598         * win32/vs6/libgstcontroller.dsp:
2599           Fixed Release post build configuration
2600
2601 2006-02-17  Wim Taymans  <wim@fluendo.com>
2602
2603         * tests/check/gst/gstquery.c: (GST_START_TEST):
2604         Added another check.
2605
2606 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2607
2608         * plugins/elements/gsttypefindelement.c: (find_peek):
2609           We can do peeks at non-zero offsets, as long as they
2610           fall within the buffer we have.
2611
2612 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2613
2614         * tests/check/Makefile.am:
2615         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2616         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2617         (parse_suite), (main):
2618           Add testsuite for parse launch syntax
2619
2620 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2621
2622         * plugins/elements/gsttypefindelement.c:
2623         (gst_type_find_element_chain):
2624           When typefinding is unsuccessful in the chain function, don't
2625           error out immediately. Only error out with NO_CAPS_FOUND if
2626           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2627           otherwise simply wait for more data so we can try typefinding
2628           again with more data later. Also, don't attempt to typefind
2629           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2630           this should improve typefinding from network sources where the
2631           size of the first buffer can be somewhat random.
2632
2633 2006-02-14  Wim Taymans  <wim@fluendo.com>
2634
2635         * docs/gst/gstreamer-sections.txt:
2636         * gst/gstpadtemplate.c:
2637         * gst/gstpadtemplate.h:
2638         Fix padtemplate docs, fixes #328805.
2639
2640 2006-02-14  Wim Taymans  <wim@fluendo.com>
2641
2642         * tools/gst-launch.c: (main):
2643         NO_PREROLL is not an ERROR so don't send confusing messages
2644         to the user.
2645
2646 2006-02-14  Wim Taymans  <wim@fluendo.com>
2647
2648         Patch by: Torsten Schoenfeld
2649
2650         * gst/gstregistry.c: (gst_registry_get_default),
2651         (_gst_registry_cleanup):
2652         Protect default registry with lock and ref/sink it.
2653         Fixes #324818
2654
2655 2006-02-14  Wim Taymans  <wim@fluendo.com>
2656
2657         * gst/gstbuffer.c:
2658         * gst/gstquery.c: (gst_query_list_add_format),
2659         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2660         (gst_query_parse_formats_nth):
2661         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2662         Docs fixes.
2663
2664 2006-02-14  Wim Taymans  <wim@fluendo.com>
2665
2666         * docs/gst/gstreamer-sections.txt:
2667         Reworked query docs.
2668
2669         * gst/gstquery.c: (gst_query_new_formats),
2670         (gst_query_list_add_format), (gst_query_set_formats),
2671         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2672         (gst_query_parse_formats_nth):
2673         * gst/gstquery.h:
2674         Flesh out formats query, added some new methods.
2675         Fix part of #324398.
2676
2677         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2678         Added query creation tests.
2679
2680 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2681
2682         * gst/gstpad.c: (fixate_value):
2683         Add a default fixation for fraction lists.
2684
2685 2006-02-13  Wim Taymans  <wim@fluendo.com>
2686
2687         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2688         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2689         (gst_task_join):
2690         * gst/gsttask.h:
2691         Detect and warn for obvious deadlocks. fixes #320340
2692         Fix error case where lock was not released.
2693
2694         * tests/check/Makefile.am:
2695         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2696         (task_func), (gst_element_suite), (main):
2697         Add task check.
2698
2699 2006-02-13  Wim Taymans  <wim@fluendo.com>
2700
2701         * docs/gst/gstreamer-sections.txt:
2702         * gst/gstbus.c:
2703         Add new functions to docs.
2704
2705 2006-02-13  Wim Taymans  <wim@fluendo.com>
2706
2707         * docs/design/part-TODO.txt:
2708         Updated TODO list, basesrc supports seeking to non-bytes
2709         formats.
2710
2711         * docs/design/part-element-sink.txt:
2712         Update docs.
2713
2714         * gst/gstbin.c: (bin_replace_message),
2715         (gst_bin_handle_message_func):
2716         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2717         * gst/gstevent.c: (gst_event_finalize):
2718         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2719         (gst_pad_send_event):
2720         Use shiny new _TYPE_NAME macros.
2721
2722         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2723         Move debug statement up.
2724
2725         * gst/gstelement.c: (gst_element_set_locked_state):
2726         Add some debugging.
2727
2728 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2729
2730         * docs/gst/gstreamer-sections.txt:
2731         * gst/gstmessage.h:
2732         * gst/gstquery.h:
2733           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2734           macros (#330906). Also, document the already existing
2735           GST_QUERY_TYPE macro.
2736
2737 2006-02-13  Wim Taymans  <wim@fluendo.com>
2738
2739         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2740         (event_probe), (GST_START_TEST):
2741         Only events up to the pipeline EOS are counted, there are
2742         some more when going to NULL currently which we don't care
2743         about for now.
2744
2745 2006-02-13  Wim Taymans  <wim@fluendo.com>
2746
2747         * gst/gstpad.c: (gst_pad_send_event):
2748         Correctly check flushing and emit probes. fixes #330125
2749
2750 2006-02-10  Andy Wingo  <wingo@pobox.com>
2751
2752         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2753         structure.
2754         (gst_bus_init): Cache the location of the private data in the
2755         instance structure.
2756         (gst_bus_enable_sync_message_emission) 
2757         (gst_bus_disable_sync_message_emission): Implement new public
2758         functions.
2759         (gst_bus_post): Emit the sync-message signal if the user asked for
2760         it. Fixes #330684.
2761
2762         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2763         location of the bus-private structure.
2764         (gst_bus_enable_sync_message_emission)
2765         (gst_bus_disable_sync_message_emission): API addition
2766
2767 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2768
2769         Patch by: Vincent Torri
2770
2771         * docs/pwg/building-boiler.xml:
2772         PWG patch from #326800
2773
2774 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2775
2776         * configure.ac:
2777         * docs/Makefile.am:
2778         * docs/design/Makefile.am:
2779           Dist design docs.
2780
2781 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2782
2783         * configure.ac:
2784           back to CVS
2785
2786 === release 0.10.3 ===
2787
2788 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
2789
2790         * configure.ac:
2791           releasing 0.10.3, "Like a virgin"
2792
2793 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2794
2795         * configure.ac:
2796           2nd prerelease of 0.10.3
2797           Bump libtool versioning.
2798
2799 2006-02-07  Andy Wingo  <wingo@pobox.com>
2800
2801         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2802         update last_stop if we're in TIME format and the timestamp is
2803         valid.
2804
2805         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
2806         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
2807         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2808         If we get a new newsegment with a different format, adapt
2809         accordingly.
2810
2811         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2812         of 0. Not a problem, really.
2813
2814         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2815         warn if sync=true.
2816
2817 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
2818
2819         * configure.ac:
2820           Prelease of 0.10.3
2821
2822 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
2823
2824         * win32/vs7:
2825           project files updated to the default vs7 configuration
2826         * win32/common/libgstbase.def:
2827         * win32/common/libgstreamer.def:
2828           added new symbols,
2829           removed empty lines,
2830           sorted all exported symbols alphabetically
2831         * win32/common/dirent.c:
2832         * win32/common/dirent.h:
2833         * win32/common/gchar.h:
2834           use windows line end.
2835           
2836 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2837
2838         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2839           Send EOS event when stopping.
2840
2841 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         * docs/README:
2844           Tell folks what to do if the plugin-foobar.xml file
2845           hasn't been generated for a newly-added plugin.
2846
2847 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2848
2849         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2850         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2851         (gst_collect_pads_start), (gst_collect_pads_stop),
2852         (gst_collect_pads_event): Collectpads now holds a reference
2853         to the GstPad that was added. Indeed we don't want to look
2854         at pads that might just go away with no warning...
2855
2856 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2857
2858         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2859         (gst_collect_pads_start), (gst_collect_pads_stop),
2860         (gst_collect_pads_event), (gst_collect_pads_chain):
2861         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
2862         Mark Nauwelaerts's patch on bug #328491.
2863
2864 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2865
2866         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
2867         (gst_utils_suite):
2868           Add some simple tests for gst_parse_bin_from_description() and
2869           gst_bin_find_unconnected_pad() (#329069).
2870
2871 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2872
2873         * tools/gst-launch.c: (event_loop), (main):
2874           Catch errors during preroll (#320084).
2875
2876 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2877
2878         * plugins/elements/gsttypefindelement.c:
2879         (gst_type_find_element_activate):
2880           Post TYPE_NOT_FOUND error message when typefinding
2881           is unsuccessful in the activate function as well.
2882
2883 2006-02-02  Wim Taymans  <wim@fluendo.com>
2884
2885         * docs/design/part-element-sink.txt:
2886         Updated doc.
2887
2888 2006-02-02  Wim Taymans  <wim@fluendo.com>
2889
2890         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2891         (gst_base_sink_render_object),
2892         (gst_base_sink_queue_object_unlocked):
2893         Only keep track of prerollable items when we are 
2894         prerolling.
2895         Before rendering after preroll, always check if we
2896         have queued items.
2897         Added some more debugging.
2898
2899 2006-02-02  Wim Taymans  <wim@fluendo.com>
2900
2901         * gst/gstelement.c: (gst_element_continue_state),
2902         (gst_element_set_state_func), (gst_element_change_state):
2903         Fixed #326576, been running this for quite some time with
2904         no regressions at all.
2905
2906 2006-02-02  Wim Taymans  <wim@fluendo.com>
2907
2908         * common/gst.supp:
2909         Added more suppressions
2910
2911 2006-02-02  Wim Taymans  <wim@fluendo.com>
2912
2913         * docs/design/part-element-sink.txt:
2914         Updated document.
2915
2916         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2917         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2918         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2919         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2920         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2921         (gst_base_sink_preroll_object),
2922         (gst_base_sink_queue_object_unlocked),
2923         (gst_base_sink_queue_object), (gst_base_sink_event),
2924         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2925         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2926         (gst_base_sink_get_position), (gst_base_sink_change_state):
2927         * libs/gst/base/gstbasesink.h:
2928         Totally refactored matching the design doc.
2929         Use two segments, one to clip incomming buffers and another to
2930         perform sync.
2931         Handle queueing correctly, bypass the queue when playing.
2932         Make EOS cancelable.
2933         Handle errors correctly when operating in pull based mode.
2934
2935         * tests/check/elements/fakesink.c: (GST_START_TEST),
2936         (fakesink_suite):
2937         Added new check for sinks.
2938
2939 2006-02-02  Wim Taymans  <wim@fluendo.com>
2940
2941         * gst/gstsegment.c: (gst_segment_clip):
2942         No reason to refuse to clip when start == -1
2943
2944 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
2945
2946         * docs/README:
2947         * docs/manual/intro-basics.xml:
2948         * docs/manual/intro-preface.xml:
2949         * docs/manual/manual.xml:
2950         * docs/pwg/advanced-dparams.xml:
2951         * docs/pwg/intro-basics.xml:
2952         * docs/pwg/intro-preface.xml:
2953         * docs/pwg/pwg.xml:
2954           describe dparams (controller) for plugins
2955           unify docs a little more
2956
2957 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
2958
2959         * docs/gst/gstreamer-sections.txt:
2960         * gst/gstutils.c: (element_find_unconnected_pad),
2961         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
2962         * gst/gstutils.h:
2963           Add new API: gst_parse_bin_from_description() and
2964           gst_bin_find_unconnected_pad() (#329069).
2965
2966 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
2967
2968         * docs/manual/README:
2969           uncover a nasty detail of the docs build
2970
2971 2006-01-31  Wim Taymans  <wim@fluendo.com>
2972
2973         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
2974         Don't cache duration messages if we're not going to use or
2975         free them.
2976
2977 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
2978
2979         * docs/manual/advanced-dparams.xml:
2980         * docs/pwg/advanced-dparams.xml:
2981           more dparam docs
2982         * gst/gstindex.c:
2983           fix docs
2984         * libs/gst/controller/lib.c: (gst_controller_init):
2985           init just once
2986
2987 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2988
2989         * gst/gstelement.c: (gst_element_message_full):
2990           also show file/line/func if no additional debug was given
2991
2992 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
2993         
2994         * win32/vs7/grammar.vcproj:
2995           activate copy of autogenerated files for Release mode
2996
2997 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2998         
2999         * win32/common/libgstreamer.def:
3000           export gst_value_compare
3001
3002 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3003
3004         * plugins/elements/Makefile.am:
3005         * plugins/elements/gstelements.c:
3006         * plugins/elements/gstfdsink.c: (_do_init),
3007         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3008         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3009         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3010         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3011         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3012         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3013         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3014         * plugins/elements/gstfdsink.h:
3015         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3016
3017 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3018
3019         * docs/manual/advanced-dparams.xml:
3020           describe controller
3021         * docs/manual/advanced-position.xml:
3022         * docs/manual/basics-init.xml:
3023         * docs/manual/manual.xml:
3024         * docs/manual/titlepage.xml:
3025         * docs/pwg/pwg.xml:
3026         * docs/pwg/titlepage.xml:
3027           cleanup xml (more to come)
3028         * libs/gst/controller/gstcontroller.c:
3029           fix typo
3030
3031 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3032         
3033         * win32/vs6/grammar.dsp:
3034           add autogen of gstmarshal.c,h for Release mode
3035                 
3036 2006-01-30  Wim Taymans  <wim@fluendo.com>
3037
3038         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3039         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3040         (gst_base_sink_handle_object), (gst_base_sink_event),
3041         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3042         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3043         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3044         (gst_base_sink_deactivate), (gst_base_sink_activate),
3045         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3046         (gst_base_sink_query), (gst_base_sink_change_state):
3047         Basesink cleanups, remove some old code.
3048         Handle the case where a subclass can preroll in the render
3049         method (mostly audiosinks).
3050         Handle more events.
3051         Remove some locks around variables that are now protected
3052         with the PREROLL_LOCK (clock_id, flushing, ..).
3053         Optimize position query some more, do correct locking.
3054         Remove old code to push queue in state change, this is not
3055         needed anymore since preroll blocks on all prerollable items 
3056         now.
3057         Almost implemented as described in design doc.
3058
3059 2006-01-30  Wim Taymans  <wim@fluendo.com>
3060
3061         * tests/check/gst/gstbin.c: (GST_START_TEST):
3062         Wait for refcount to settle down before checking.
3063
3064 2006-01-30  Wim Taymans  <wim@fluendo.com>
3065
3066         * docs/design/part-element-sink.txt:
3067         Pseudo code overview of desired sink behaviour regarding
3068         preroll.
3069
3070 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3071         * win32/vs6/grammar.dsp:
3072           fix some bugs in Release mode for autogenerated files
3073                 
3074 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3075         * win32/common/libgstbase.def:
3076         * win32/common/libgstreamer.def:
3077           export some new symbols: gst_base_src_set_format,
3078           gst_iterator_next, gst_structure_set_valist
3079
3080 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3081
3082         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3083         Set pad functions unconditionally. Fixes #329105.
3084
3085 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3086         * win32/vs8:
3087           add vs8 project files created by Sergey Scobich
3088
3089 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3090
3091         * gst/gstutils.c: (gst_element_unlink_pads):
3092         Don't leak pad references.
3093
3094         * tests/check/elements/fakesink.c: (GST_START_TEST):
3095         * tests/check/generic/sinks.c: (GST_START_TEST):
3096         * tests/check/generic/states.c: (GST_START_TEST):
3097         * tests/check/gst/gstbin.c: (GST_START_TEST):
3098         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3099         * tests/check/gst/gstelement.c: (GST_START_TEST):
3100         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3101         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3102         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3103         Fix a bunch of leaks. Make generic/sinks.c
3104         use a bit less cpu by slowing the buffer rate
3105         between fakesrc and fakesink.
3106         
3107 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3108         * gst/gstcaps.c:
3109         * gst/gstelement.c: (gst_element_send_event):
3110         * gst/gstevent.c:
3111         * gst/gstinfo.c:
3112         * gst/gstiterator.c:
3113         * gst/gstiterator.h:
3114         * gst/gstpad.c: (gst_pad_send_event):
3115         * gst/gststructure.c:
3116         * gst/gsturi.c:
3117         * gst/gstutils.c:
3118         * gst/gstvalue.c:
3119         * libs/gst/base/gstadapter.c:
3120           doc fixes, to link to function, just write gst_cool_function(), don't
3121           prefix with '#'
3122
3123 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3124
3125         * plugins/elements/gsttee.c: (gst_tee_do_push),
3126         (gst_tee_handle_buffer):
3127         Always prefer an actual return value from a src
3128         pad in place of NOT_LINKED. This means we return
3129         WRONG_STATE when all src pads are WRONG_STATE
3130         instead of NOT_LINKED.
3131
3132         Lock when replacing the last message to prevent
3133         racing with the get_property method.
3134
3135         Add debug output
3136
3137 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3138
3139         * tests/check/Makefile.am:
3140         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3141         (main):
3142         Add a very simple check that should have caught the memleak I fixed
3143         last night (if not for the slice allocator hiding it)
3144
3145 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3146
3147         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3148         (gst_bin_remove_func), (gst_bin_handle_message_func),
3149         (bin_query_duration_fold), (bin_query_generic_fold):
3150         Clean up references to the clock provider when disposed or when
3151         handling a clock-lost message from it.
3152
3153         Unref sinks when performing a query via gst_iterator_fold, as the
3154         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3155
3156         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3157         (gst_clock_set_master):
3158         Drop our reference to the master clock, if any, when we are disposed.
3159
3160         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3161         Chain up in dispose. 
3162
3163 2006-01-26  Wim Taymans  <wim@fluendo.com>
3164
3165         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3166         Add some debugging.
3167
3168 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3169
3170         * plugins/elements/gsttee.c: (gst_tee_do_push),
3171         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3172         handles pad being NOT_LINKED or in WRONG_STATE.
3173
3174 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3175
3176         * win32/MANIFEST:
3177           more updating
3178
3179 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3180
3181         * win32/MANIFEST:
3182           remove obsolete entry
3183
3184 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3185
3186         * docs/gst/gstreamer-sections.txt:
3187         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3188         (gst_bin_iterate_sources), (gst_bin_send_event):
3189         * gst/gstbin.h:
3190         * gst/gstelement.c: (gst_element_send_event):
3191         * gst/gstevent.c:
3192         * gst/gstpad.c: (gst_pad_send_event):
3193           added code for downstream events, reviewed docs in gstevent.c
3194
3195 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3196
3197         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3198         We only query position using the clock in the playing state.
3199         Query peer in the other cases.
3200         * win32/common/config.h: Updates.
3201
3202 2006-01-24  Wim Taymans  <wim@fluendo.com>
3203
3204         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3205         A clock entry that is scheduled for the exact time of the
3206         clock is still in time.
3207
3208         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3209         (gst_base_sink_do_sync):
3210         Add some more debug info.
3211
3212 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3213
3214         * win32/vs7:
3215           Add new vs7 project files and solution.
3216
3217 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3218
3219         * win32/vs7:
3220           all files removed as they were out-dated.
3221
3222 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3223
3224         * docs/random/release:
3225           update notes
3226         * gst/gstbin.c: (gst_bin_init):
3227         * gst/gstbus.c: (gst_bus_new):
3228         * gst/gstbus.h:
3229         * gst/gstpipeline.c: (gst_pipeline_init):
3230           use gst_bus_new(), improve logging, fix docs
3231         * win32/common/config.h:
3232           update for cvs build
3233
3234 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3235
3236         * autogen.sh:
3237           up required version of automake to 1.7
3238
3239 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3240
3241         * win32/common/libgstreamer.def:
3242           export gst_buffer_is_metadata_writable
3243
3244 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3245
3246         * docs/gst/gstreamer-sections.txt:
3247         * gst/gstevent.h:
3248           Add gst_event_replace() (#327001)
3249
3250 2006-01-20  Wim Taymans  <wim@fluendo.com>
3251
3252         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3253         Make it actually compile too..
3254
3255 2006-01-20  Wim Taymans  <wim@fluendo.com>
3256
3257         * gst/gstcaps.c:
3258         Clarify behaviour of _is_equal() when passing NULL parameters.
3259
3260         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3261         (gst_pad_set_caps):
3262         Cleanups. Don't unref NULL caps.
3263         When setting the same caps, protect caps of the pad with
3264         proper lock.
3265         Use full functionality of _is_equal() when comparing caps.
3266
3267 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3268
3269         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3270         Don't loop infinitely if there are no buffers to present. Partially
3271         fixes #327197, but collectpads is just broken for reusing elements
3272         to do multiple encodes atm.
3273
3274 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3275
3276         * tools/gst-inspect.c: (print_element_features):
3277         * tools/gst-xmlinspect.c: (main):
3278         URL_HANDLER is not a plugin feature we can search for in
3279         the registry.
3280
3281 2006-01-19  Edward Hervey  <edward@fluendo.com>
3282
3283         * gst/gstelement.c: (gst_element_pads_activate): 
3284         When activating, do src pads first, then sink pads.
3285         When de-activating, do sink pads first, then src pads.
3286
3287 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3288
3289         * docs/gst/gstreamer-sections.txt:
3290         Add gst_index_add_associationv to the docs
3291
3292 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3293
3294         * gst/gstevent.c:
3295           Fix docs typo
3296
3297         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3298         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3299           Do some refactoring. Doesn't actually change functionality,
3300           but makes landing the DRAIN event easier later.
3301
3302 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3303
3304         * docs/pwg/advanced-scheduling.xml:
3305           Update from 0.9.x to 0.10 API and make example a bit
3306           clearer.
3307
3308 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3309
3310         * docs/gst/gstreamer-sections.txt:
3311         Add gst_buffer_(is|make)_metadata_writable methods.
3312
3313 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3314
3315         * docs/design/part-sparsestreams.txt:
3316         Update sparse streams doc, hopefully for greater clarity
3317
3318 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3319
3320         * docs/design/part-events.txt:
3321         Remove mention of FILLER events.
3322         Add DRAIN event.
3323
3324         * docs/design/part-sparsestreams.txt:
3325         Write some things about using NEWSEGMENT to keep sparse streams
3326         flowing.
3327
3328 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3329
3330         * gst/gstbin.c: (gst_bin_dispose):
3331           Guard gst_object_unref call against a NULL object (dispose
3332           can theoretically be called multiple times).
3333           
3334 2006-01-18  Wim Taymans  <wim@fluendo.com>
3335
3336         * gst/gstbin.c: (gst_bin_element_set_state):
3337         * gst/gstclock.c: (gst_clock_id_wait):
3338         Added some more debug info.
3339
3340         * libs/gst/base/gstadapter.c:
3341         Added more docs.
3342
3343         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3344         (gst_base_sink_do_sync), (gst_base_sink_chain):
3345         Added some comments.
3346
3347 2006-01-18  Wim Taymans  <wim@fluendo.com>
3348
3349         * tests/check/Makefile.am:
3350         * tests/check/elements/fakesink.c: (chain_async_buffer),
3351         (chain_async), (chain_async_return), (GST_START_TEST),
3352         (fakesink_suite), (main):
3353         Added fakesink test that checks prerolling and clipping
3354         behaviour.
3355
3356         * tests/check/gst/gstutils.c: (GST_START_TEST):
3357         Make check run faster so that buildbots don't timeout.
3358
3359 2006-01-18  Wim Taymans  <wim@fluendo.com>
3360
3361         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3362         (gst_base_sink_do_sync):
3363         Some cleanups.
3364         When the sink finishes blocking on the preroll buffer, it can
3365         immediatly render it instead of rendering when the next buffer
3366         arrives.
3367
3368 2006-01-18  Wim Taymans  <wim@fluendo.com>
3369
3370         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3371         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3372         (gst_base_sink_chain):
3373         Small cleanups.
3374         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3375         Don't store _last_stop if the buffer is dropped.
3376
3377 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3378
3379         * plugins/elements/gsttypefindelement.c:
3380         (gst_type_find_element_class_init):
3381           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3382           object method handler that sets the caps on the pad and we want
3383           that to happen before we emit the signal (fixes e.g. feeding a
3384           plain text file to decodebin).
3385
3386 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3387
3388         * gst/gstplugin.c: Add MPL and Proprietary as license options
3389
3390 2006-01-18  Andy Wingo  <wingo@pobox.com>
3391
3392         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3393         symbol was exported before, it appears this was just an oversight.
3394         Fixes #168703.
3395         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3396
3397         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3398         prototype to gint. OK since this prototype was not in the header.
3399
3400 2006-01-17  Andy Wingo  <wingo@pobox.com>
3401
3402         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3403         registry while we remove plugins.
3404
3405         * tools/gst-inspect.c (print_element_info): Don't unref the
3406         factory arg, that should be the responsibility of whatever code
3407         received the ref. Fixes a double-free when called from
3408         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3409         (main): Unref the factory if we have one.
3410         (print_element_list): No change -- relies on the
3411         plugin_feature_list_free to free the list of features.
3412
3413 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3414
3415         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3416         (gst_buffer_make_metadata_writable):
3417         * gst/gstbuffer.h:
3418         * libs/gst/base/gstbasetransform.c:
3419         (gst_base_transform_prepare_output_buf):
3420         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3421         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3422           Replace gst_buffer_(make|is)_metadata_writable patch now
3423           that the release is out.
3424
3425 2006-01-17  Andy Wingo  <wingo@pobox.com>
3426
3427         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3428         in the present tense without reference to versions.
3429
3430         * gst/gstregistry.c (gst_registry_add_plugin)
3431         (gst_registry_remove_plugin, gst_registry_remove_feature)
3432         (gst_registry_find_feature, gst_registry_get_feature_list)
3433         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3434         (gst_registry_lookup, gst_registry_scan_path)
3435         (_gst_registry_remove_cache_plugins)
3436         (gst_registry_get_feature_list_by_plugin): Add argument
3437         validation.
3438
3439 === release 0.10.2 ===
3440
3441 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3442
3443         * configure.ac:
3444           releasing 0.10.2, "If man is five"
3445
3446 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3447
3448         * gst/gstbuffer.c:
3449         * gst/gstbuffer.h:
3450         * libs/gst/base/gstbasetransform.c:
3451         (gst_base_transform_prepare_output_buf):
3452         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3453         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3454           Back out patch until after the release.
3455
3456 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3457
3458         * gst/gstminiobject.c:
3459           Spelling fix in docs.
3460         * ChangeLog - remove conflict indicator
3461
3462 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3463
3464         Reviewed By: Andy Wingo
3465
3466         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3467         (gst_buffer_make_metadata_writable):
3468         * gst/gstbuffer.h:
3469           Add gst_buffer_(is|make)_metadata_writable as analogues of
3470           gst_buffer_(is|make)_writable.
3471
3472         * libs/gst/base/gstbasetransform.c:
3473         (gst_base_transform_prepare_output_buf):
3474         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3475           Use name gst_buffer_(is|make)_metadata_writable functions.
3476
3477         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3478           Test gst_buffer_(is|make)_metadata_writable
3479         
3480           (Closes: #324162)
3481
3482 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3483
3484         * docs/manual/Makefile.am:
3485           don't do parallel make
3486         * configure.ac:
3487           AC_SUBST HOST_CPU
3488         * win32/common/config.h.in:
3489           add generations for HOST_CPU and GST_MAJORMINOR
3490         * win32/common/config.h:
3491           commit generated result
3492
3493 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3494
3495         * docs/manual/appendix-integration.xml:
3496           Update GNOME integration section to use gst_init_get_option_group()
3497           instead of the old popt stuff (#322911). Also, GNOME applications
3498           should  now use gconf*sink and gconf*src instead of the old gconf
3499           helper lib we had.
3500
3501 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3502
3503
3504         * docs/gst/gstreamer-docs.sgml:
3505         * docs/gst/gstreamer-sections.txt:
3506         * docs/libs/gstreamer-libs-sections.txt:
3507           add new API entries to the docs
3508         * libs/gst/controller/Makefile.am:
3509         * libs/gst/controller/gstcontroller.c:
3510         * libs/gst/controller/gstcontroller.h:
3511         * libs/gst/controller/gstcontrollerprivate.h:
3512         * libs/gst/controller/gsthelper.c:
3513         * libs/gst/controller/gstinterpolation.c:
3514           move private structs to private header
3515         * po/README:
3516           gstreamer-0.7 -> gstreamer-0.10
3517         * tests/check/libs/struct_i386.h:
3518           remove private structs
3519
3520 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3521
3522         * plugins/indexers/Makefile.am:
3523           Fixes as part of #317048
3524
3525 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3526
3527         * plugins/indexers/Makefile.am:
3528           fix #316086 - compilation when mmap is missing
3529
3530 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3531
3532         * libs/gst/base/gstbasesink.c:
3533           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3534           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3535         * win32/common/config.h:
3536           added some defines GST_MAJORMINOR and HOST_CPU
3537         * win32/common/libgstbase.def:
3538         * win32/common/libgstreamer.def:
3539           added some exported functions.
3540
3541 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3542
3543         * libs/gst/controller/gstcontroller.c:
3544         (gst_controlled_property_set_interpolation_mode),
3545         (gst_controlled_property_new):
3546         * libs/gst/controller/gstcontroller.h:
3547         * libs/gst/controller/gstinterpolation.c:
3548         (interpolate_none_get_string_value_array):
3549           make G_TYPE_STRING controlable
3550
3551 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3552
3553         * tools/README:
3554         * tools/gst-feedback.1.in:
3555         * tools/gst-inspect.1.in:
3556         * tools/gst-launch.1.in:
3557         * tools/gst-md5sum.1.in:
3558         * tools/gst-typefind.1.in:
3559         * tools/gst-xmlinspect.1.in:
3560         * tools/gst-xmllaunch.1.in:
3561           cleanup man-pages, remove reference to gst-register, document env-vars
3562
3563 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3564
3565         * gst/gstbuffer.c: (gst_buffer_span):
3566           gst_buffer_span should copy the timestamp of the first buffer
3567           if they were both originally overlapping subbuffers of the 
3568           same parent, using the same logic as the 'slow copy' case.
3569
3570 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3571
3572         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3573           Need to awaken ALL the pads when we pop a buffer, otherwise
3574           collectpads only works when there is 2 input streams.
3575
3576 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3577
3578         * docs/random/ensonic/media-device-daemon.txt:
3579           more ideas (dbus)
3580         * gst/gstbuffer.c:
3581           fix doc example, add clarification
3582         * tools/gst-launch.1.in:
3583           add initial info about GST_PLUGIN_PATH, needs more work
3584
3585 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3586
3587         * docs/manual/basics-bins.xml:
3588         * docs/manual/basics-elements.xml:
3589         * docs/manual/intro-basics.xml:
3590           Some more minor docs additions and updates.
3591
3592 2006-01-11  Wim Taymans  <wim@fluendo.com>
3593
3594         * docs/manual/basics-bins.xml:
3595         * docs/manual/basics-elements.xml:
3596         Some small fixes as pointed out by Ser-ver on IRC.
3597
3598 2006-01-10  Edward Hervey  <edward@fluendo.com>
3599
3600         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3601         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3602         the single-segment mode.
3603
3604 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3605
3606         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3607
3608         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3609         (gst_base_src_perform_seek), (gst_base_src_send_event),
3610         (gst_base_src_set_property), (gst_base_src_get_property),
3611         (gst_base_src_loop), (gst_base_src_start),
3612         (gst_base_src_activate_push):
3613         * libs/gst/base/gstbasesrc.h:
3614           Name (private) union; makes Sun's Forte compiler happy (#324900).
3615
3616 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3617
3618         * README:
3619           gst-register is gone.
3620
3621 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3622
3623         * gst/gstvalue.c: (_gst_value_initialize):
3624           make the G_TYPE_DATE instantiation work if debug is disabled
3625
3626 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3627
3628         * gst/gstmessage.c: (gst_message_parse_tag),
3629         (gst_message_parse_error), (gst_message_parse_warning):
3630           Don't crash when return location for error/warning debug
3631           string is NULL; add fact that return locations can be
3632           NULL to docs where appropriate.
3633
3634 2006-01-05  Wim Taymans  <wim@fluendo.com>
3635
3636         * gst/gstplugin.c: (gst_plugin_load_file):
3637         Replace strdup by g_strdup.
3638
3639 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3640
3641         * docs/pwg/advanced-types.xml:
3642           fix doc borkage
3643
3644 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3645
3646         submitted by: Abel Cheung
3647
3648         * po/LINGUAS:
3649         * po/zh_TW.po:
3650           Added Chinese (traditional) translation
3651
3652 2006-01-04  Wim Taymans  <wim@fluendo.com>
3653
3654         * docs/manual/basics-pads.xml:
3655         * docs/plugins/Makefile.am:
3656         * docs/plugins/gstreamer-plugins-docs.sgml:
3657         * docs/plugins/gstreamer-plugins-sections.txt:
3658         * docs/pwg/advanced-clock.xml:
3659         * docs/pwg/advanced-scheduling.xml:
3660         * docs/pwg/advanced-types.xml:
3661         * plugins/elements/gstfdsink.c:
3662         * plugins/elements/gstfdsrc.c:
3663         * plugins/elements/gstfdsrc.h:
3664         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3665         * plugins/elements/gstidentity.h:
3666         * plugins/elements/gstqueue.h:
3667         * plugins/elements/gsttee.c:
3668         * plugins/elements/gsttee.h:
3669         * plugins/elements/gsttypefindelement.c:
3670         (gst_type_find_element_class_init):
3671         * plugins/elements/gsttypefindelement.h:
3672         Small updates to various docs.
3673         Added core plugins to docs.
3674
3675 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3676
3677         * common/gst.supp:
3678           add a suppression for liboil's uninitialized variable
3679
3680 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3681
3682         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3683
3684         * gst/gstutils.h:
3685           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3686           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3687           compiler switch is being used (#325429).
3688
3689 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3690
3691         * gst/gstbin.c: (gst_bin_query):
3692           Disable duration query caching in bins until it gets
3693           fixed (see #324807).
3694
3695 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3696
3697         * tools/gst-inspect.c: (print_element_properties_info):
3698           Handle properties of POINTER and BOXED type.
3699
3700 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3701
3702         * gst/gst.c: (init_post):
3703           Init tags stuff and some other things before loading
3704           any static plugins (there may be other static plugins
3705           than just the GStreamer ones, and they may want to
3706           register their own tags or formats or whatever, and
3707           preferably without segfaulting).
3708
3709         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3710           Print at least a warning in the debug logs if we drop a
3711           query just because we don't know how to adjust the value
3712           in the particular format.
3713
3714 2005-12-24  David Schleef  <ds@schleef.org>
3715
3716         * tools/gstreamer-completion:
3717           Replacement for gst-complete written in sh and sed.  Only
3718           completes names of features, but that's 90% of what I want
3719           it for.  Properties are not available in registry.xml.  (Maybe
3720           they should be...)
3721
3722 === release 0.10.1 ===
3723
3724 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3725
3726         * configure.ac:
3727           releasing 0.10.1, "Nollaig chridheil"
3728
3729 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3730
3731         * docs/faq/cvs.xml:
3732           Add missing quote, should be make ERROR_CFLAGS="".
3733
3734 2005-12-20  Wim Taymans  <wim@fluendo.com>
3735
3736         * docs/design/part-trickmodes.txt:
3737         More documentation on trickmodes.
3738
3739 2005-12-20  Edward Hervey  <edward@fluendo.com>
3740
3741         * gst/gstcaps.c: (gst_static_caps_get_type):
3742         * gst/gstcaps.h:
3743           API addition: GST_TYPE_STATIC_CAPS
3744         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3745         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3746         * gst/gstpadtemplate.h:
3747           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3748         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3749         bindings.
3750
3751 2005-12-18  Wim Taymans  <wim@fluendo.com>
3752
3753         * libs/gst/base/gstadapter.c:
3754         * libs/gst/base/gstadapter.h:
3755         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3756         (gst_base_sink_get_position):
3757         * libs/gst/base/gstbasesink.h:
3758         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3759         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3760         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3761         (gst_base_src_send_event), (gst_base_src_update_length),
3762         (gst_base_src_get_range), (gst_base_src_loop),
3763         (gst_base_src_start):
3764         * libs/gst/base/gstbasesrc.h:
3765         * libs/gst/base/gstbasetransform.h:
3766         * libs/gst/base/gstcollectpads.h:
3767         * libs/gst/base/gstpushsrc.c:
3768         * libs/gst/base/gstpushsrc.h:
3769         * libs/gst/dataprotocol/dataprotocol.c:
3770         * libs/gst/dataprotocol/dataprotocol.h:
3771         * libs/gst/net/gstnetclientclock.h:
3772         * libs/gst/net/gstnettimeprovider.h:
3773         Documentation updates.
3774
3775 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3776
3777         * docs/manual/basics-helloworld.xml:
3778           Remove superfluous closing bracket in helloworld example.
3779
3780 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3781
3782         * tools/gst-launch.1.in:
3783           Update gst-launch man page; add a section with useful
3784           environment variables. Fixes #323882.
3785
3786 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
3787
3788         * gst/gst.c:
3789         * gst/gst_private.h:
3790           change some char* into char[]
3791
3792 2005-12-16  Wim Taymans  <wim@fluendo.com>
3793
3794         * gst/gstregistryxml.c: (load_feature):
3795         Cleanups.
3796         Don't use g_object_unref on GstObjects so that we avoid
3797         leaks on unsafe glibs.
3798
3799 2005-12-16  Wim Taymans  <wim@fluendo.com>
3800
3801         * gst/gstbin.c: (gst_bin_recalc_state):
3802         Small doc updates.
3803
3804 2005-12-16  Wim Taymans  <wim@fluendo.com>
3805
3806         * common/check.mak:
3807         Added make forever target for check.
3808
3809 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3810
3811         * gst/gst.c: (init_post):
3812           make the registry cache file HOST_CPU-dependent
3813
3814 2005-12-16  Andy Wingo  <wingo@pobox.com>
3815
3816         * plugins/elements/gstbufferstore.c
3817         (gst_buffer_store_cleared_func): Pay attention to g_list_append
3818         return value.
3819
3820         * tests/check/gst/gstobject.c
3821         (test_fake_object_name_threaded_unique): Pay attention to
3822         g_list_sort return value.
3823
3824 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3825
3826         * tools/gst-feedback-m.m:
3827           Update for 0.9/0.10 (fixes #323870).
3828
3829 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
3830
3831         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3832           Fix lcopy for mini objects, the mini object needs to be ref'ed.
3833           
3834         * tests/check/gst/gstminiobject.c: (my_foo_init),
3835         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3836         (test_value_collection), (gst_mini_object_suite):
3837           Add test to ensure refcounts end up as expected when passing
3838           GstMiniObjects through g_object_get() and g_object_set().
3839
3840 2005-12-14  Julien MOUTTE  <julien@moutte.net>
3841
3842         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3843         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
3844         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
3845         of collectpads. This version removes a lot of races without
3846         touching API/ABI. Yay !
3847
3848 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
3849
3850         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
3851           Don't allow activation of a srcpad in pull_range if it has no
3852           getrange function.
3853           Change some debug statements to be a little clearer
3854
3855         * plugins/elements/gsttypefindelement.c:
3856         (gst_type_find_handle_src_query):
3857           Check that we have a peer before executing queries thereupon.
3858
3859         * tests/examples/metadata/read-metadata.c: (message_loop):
3860           Use gst_bus_pop instead of gst_bus_poll when we just want it to
3861           immediately return us any available message with 0 timeout.
3862
3863 2005-12-12  Michael Smith  <msmith@fluendo.com>
3864
3865         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3866           Don't unref factories after calling them.
3867         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
3868         * plugins/elements/gsttypefindelement.c:
3869         (gst_type_find_element_chain):
3870           Free lists of factories after using them. Fixing typefinding memory
3871           leaks.
3872
3873 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3874
3875         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3876         (gst_plugin_feature_load):
3877           more meaningful debug output
3878         * configure.ac:
3879         * tests/Makefile.am:
3880         * tests/old/examples/Makefile.am:
3881           make make distcheck happy again
3882
3883 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3884
3885         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3886           Catch the special case where we are operating chain-based,
3887           but the downstream peer pad has no chain function. Emit a
3888           custom error message in this case instead of letting the
3889           core generate one implying that this is some sort of core
3890           bug. It's not, it just means that whatever got plugged
3891           into the pipeline downstream when we announced the type
3892           can only operate pull-based, while our source can only
3893           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3894           Error string has not been marked for translation yet, as
3895           it probably needs some more work first.
3896
3897         (gst_type_find_element_get_best_possibility):
3898           Add helper function to find the best of all available
3899           found possibilities that qualify given the min. threshold.
3900
3901         (gst_type_find_element_handle_event):
3902           Fix the case where we get an EOS while still in TYPEFIND
3903           mode (we want to chose the best of all possible types,
3904           not just the first type that happens to be in our unsorted
3905           list of possible types).
3906
3907         (gst_type_find_element_chain):
3908           Make sure we return GST_FLOW_ERROR when we errored out
3909           in stop_typefinding(); also, don't just find the best of
3910           all found type entries and then use the last examined
3911           type entry, but actually use the best entry.
3912
3913 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3914
3915         * tests/examples/typefind/typefind.c: (type_found):
3916         * tests/examples/xml/runxml.c: (xml_loaded):
3917           More gcc4 fixes and a mem leak fix.
3918
3919 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3920
3921         * tests/examples/xml/createxml.c: (object_saved):
3922           gcc 4 fixes
3923
3924 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3925
3926         * tests/Makefile.am:
3927           enable the examples even more
3928
3929 2005-12-12  Andy Wingo  <wingo@pobox.com>
3930
3931         * libs/gst/net/gstnettimeprovider.c
3932         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3933         (gst_net_time_provider_set_property)
3934         (gst_net_time_provider_get_property):
3935         API addition: Export "active" as a GObject property.
3936         (gst_net_time_provider_thread): Only respond to time queries if
3937         the time provider is active.
3938
3939         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
3940         NetTimeProvider, preserving binary compat.
3941
3942 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3943
3944         * tests/examples/controller/audio-example.c: (main):
3945         * tests/examples/launch/Makefile.am:
3946           convert comments again
3947
3948 2005-12-12  Wim Taymans  <wim@fluendo.com>
3949
3950         * libs/gst/base/gstpushsrc.c:
3951         Fix typo.
3952
3953 2005-12-12  Wim Taymans  <wim@fluendo.com>
3954
3955         * docs/libs/gstreamer-libs-sections.txt:
3956         Added new symbol to docs.
3957
3958         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3959         (gst_base_src_init), (gst_base_src_set_format),
3960         (gst_base_src_default_query), (gst_base_src_query),
3961         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
3962         (gst_base_src_perform_seek), (gst_base_src_send_event),
3963         (gst_base_src_default_event), (gst_base_src_event_handler),
3964         (gst_base_src_set_property), (gst_base_src_get_property),
3965         (gst_base_src_wait), (gst_base_src_do_sync),
3966         (gst_base_src_update_length), (gst_base_src_get_range),
3967         (gst_base_src_check_get_range), (gst_base_src_loop),
3968         (gst_base_src_default_negotiate), (gst_base_src_start),
3969         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3970         (gst_base_src_change_state):
3971         * libs/gst/base/gstbasesrc.h:
3972         Implement seeking to other formats than _BYTES.
3973         Implement more seeking methods correctly.
3974         Doc updates.
3975         Added query vmethod.
3976         Added do_seek vmethod to make life easier for subclasses
3977         when seeking.
3978         API addition: gst_base_src_set_format()
3979
3980 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3981
3982         * tests/examples/Makefile.am:
3983           added that too
3984
3985 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3986
3987         * configure.ac:
3988         * docs/random/ensonic/media-device-daemon.txt:
3989         * tests/examples/controller/.cvsignore:
3990         * tests/examples/controller/Makefile.am:
3991         * tests/examples/controller/audio-example.c: (main):
3992         * tests/examples/helloworld/.cvsignore:
3993         * tests/examples/helloworld/Makefile.am:
3994         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
3995         * tests/examples/launch/.cvsignore:
3996         * tests/examples/launch/Makefile.am:
3997         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
3998         * tests/examples/metadata/.cvsignore:
3999         * tests/examples/metadata/Makefile.am:
4000         * tests/examples/metadata/read-metadata.c: (message_loop),
4001         (make_pipeline), (print_tag), (main):
4002         * tests/examples/queue/.cvsignore:
4003         * tests/examples/queue/Makefile.am:
4004         * tests/examples/queue/queue.c: (event_loop), (main):
4005         * tests/examples/typefind/.cvsignore:
4006         * tests/examples/typefind/Makefile.am:
4007         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4008         (main):
4009         * tests/examples/xml/.cvsignore:
4010         * tests/examples/xml/Makefile.am:
4011         * tests/examples/xml/createxml.c: (object_saved), (main):
4012         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4013         * tests/old/examples/Makefile.am:
4014         * tests/old/examples/TODO:
4015         * tests/old/examples/controller/.cvsignore:
4016         * tests/old/examples/controller/Makefile.am:
4017         * tests/old/examples/controller/audio-example.c:
4018         * tests/old/examples/helloworld/.cvsignore:
4019         * tests/old/examples/helloworld/Makefile.am:
4020         * tests/old/examples/helloworld/helloworld.c:
4021         * tests/old/examples/launch/.cvsignore:
4022         * tests/old/examples/launch/Makefile.am:
4023         * tests/old/examples/launch/mp3parselaunch.c:
4024         * tests/old/examples/launch/mp3play:
4025         * tests/old/examples/manual/Makefile.am:
4026         * tests/old/examples/metadata/Makefile.am:
4027         * tests/old/examples/metadata/read-metadata.c:
4028         * tests/old/examples/queue/.cvsignore:
4029         * tests/old/examples/queue/Makefile.am:
4030         * tests/old/examples/queue/queue.c:
4031         * tests/old/examples/typefind/.cvsignore:
4032         * tests/old/examples/typefind/Makefile.am:
4033         * tests/old/examples/typefind/typefind.c:
4034         * tests/old/examples/xml/.cvsignore:
4035         * tests/old/examples/xml/Makefile.am:
4036         * tests/old/examples/xml/createxml.c:
4037         * tests/old/examples/xml/runxml.c:
4038           applied some simple fixing to some examples
4039           re-enabled the working examples
4040
4041 2005-12-12  Wim Taymans  <wim@fluendo.com>
4042
4043         * gst/gstsegment.c: (gst_segment_init),
4044         (gst_segment_set_last_stop), (gst_segment_set_seek),
4045         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4046         (gst_segment_to_running_time):
4047         Added more documentation.
4048         Make sure the last_pos value is updated properly.
4049         Make sure to_stream_time and to_running_time don't
4050         operate on wrong values.
4051
4052         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4053         Update check.
4054
4055 2005-12-12  Michael Smith  <msmith@fluendo.com>
4056
4057         * plugins/elements/gsttypefindelement.c: (free_entry),
4058         (gst_type_find_element_chain):
4059           Now that we're not leaking factories, make sure we keep references
4060           to them while we need them.
4061
4062 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4063
4064         * tests/check/gst/struct_i386.h:
4065           ifdef out the XML structs
4066
4067 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4068
4069         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4070           floor is not needed, F is always positive; this obviates the
4071           need for adding -lm when building without libxml
4072
4073 2005-12-12  Wim Taymans  <wim@fluendo.com>
4074
4075         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4076         Take current playback rate into account when reporting
4077         the position.
4078
4079 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4080
4081         * docs/manual/mime-world.fig:
4082           Let's try this again, this time with a file that is
4083           actually in XFig format.
4084
4085 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4086
4087         * docs/manual/mime-world.fig:
4088           Add audioconvert element to diagram so that it
4089           matches the text and the code (fixes #319526).
4090
4091 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4092
4093         * docs/pwg/building-chainfn.xml:
4094         * docs/pwg/building-pads.xml:
4095         * docs/pwg/building-state.xml:
4096         * docs/pwg/other-source.xml:
4097           Update state change stuff for 0.10 (fixes #322969).
4098
4099 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4100
4101         * docs/manual/advanced-dataaccess.xml:
4102         * docs/manual/appendix-checklist.xml:
4103         * docs/manual/appendix-programs.xml:
4104         * docs/manual/basics-pads.xml:
4105         * docs/manual/highlevel-components.xml:
4106         * docs/manual/manual.xml:
4107           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4108           add converters in front of pipelines; remove curly
4109           brackets for threads stuff, they no longer exist; use
4110           GST_TYPE_FRACTION for framerates; update some pieces of
4111           code to 0.10, but there's plenty more to do.
4112
4113         * docs/manual/appendix-porting.xml:
4114           Expand on asynchroneous state changes; s/0.9/0.10/;
4115           mention disappearance of gst_init_get_popt_table()
4116           (fixes #322916).
4117
4118 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4119
4120         * docs/faq/using.xml:
4121           Spider no longer exists, and neither does gst-launch-ext.
4122           Update examples to use decodebin and playbin and put
4123           converters in front of sinks (fixes #323726).
4124
4125 2005-12-09  Michael Smith  <msmith@fluendo.com>
4126
4127         * plugins/elements/gsttypefindelement.c: (find_peek),
4128         (gst_type_find_element_chain):
4129           Fix leaking element factories in typefinding.
4130           Fix problem where we forgot about a probable type on non-seekable
4131           files, and thus later mis-typefound it.
4132
4133 2005-12-09  Michael Smith  <msmith@fluendo.com>
4134
4135         * common/m4/gst-makecontext.m4:
4136         * common/m4/gst-mcsc.m4:
4137         * configure.ac:
4138         * win32/common/config.h:
4139         * win32/common/config.h.in:
4140           Remove makecontext stuff; not used in 0.10 and causes problems on
4141           HPUX according to bug #322441
4142
4143 2005-12-07  Wim Taymans  <wim@fluendo.com>
4144
4145         * tests/check/Makefile.am:
4146         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4147         (main):
4148         * tests/check/libs/struct_i386.h:
4149         Added ABI check for libs
4150
4151 2005-12-07  Wim Taymans  <wim@fluendo.com>
4152
4153         * tests/check/Makefile.am:
4154         And add the struct_i386.h to dist.
4155
4156 2005-12-07  Wim Taymans  <wim@fluendo.com>
4157
4158         * tests/check/Makefile.am:
4159         * tests/check/gst/.cvsignore:
4160         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4161         (main):
4162         * tests/check/gst/struct_i386.h:
4163         Added check for ABI compatibility.
4164
4165 2005-12-07  Wim Taymans  <wim@fluendo.com>
4166
4167         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4168         (gst_fake_src_get_times), (gst_fake_src_create):
4169         Fix broken sync option, fixes #323259
4170
4171 2005-12-07  Wim Taymans  <wim@fluendo.com>
4172
4173         * gst/gstbuffer.c:
4174         Small docs update.
4175
4176         * gst/gstcaps.c: (gst_caps_is_equal):
4177         Don't assert on NULL <--> X. Fixes #323260
4178
4179         * gst/gstminiobject.c: (gst_mini_object_replace):
4180         If we're doing atomic operations, we might just as well use
4181         the proper way to get an atomic pointer.
4182
4183         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4184         Clean up debugging.
4185
4186 2005-12-07  Michael Smith  <msmith@fluendo.com>
4187
4188         * gst/parse/grammar.y:
4189           Remove handling of { } for threads.
4190
4191 2005-12-06  David Schleef  <ds@schleef.org>
4192
4193         * libs/gst/base/gstbasetransform.c: speling fix.
4194
4195 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4196
4197         * docs/libs/tmpl/gstdataprotocol.sgml:
4198         * docs/random/omega/testing/gstobject.c:
4199         * gst/gst.c:
4200         * gst/gstclock.c:
4201         * gst/gstelement.c:
4202         * gst/gstelementfactory.c:
4203         * gst/gsterror.c:
4204         * gst/gstevent.c:
4205         * gst/gstghostpad.c:
4206         * gst/gstinfo.c:
4207         * gst/gstpadtemplate.c:
4208         * gst/gstregistryxml.c:
4209         * gst/gsttaglist.c:
4210         * gst/gsttagsetter.c:
4211         * gst/gsttypefind.c:
4212         * gst/gstvalue.c:
4213         * libs/gst/base/gstbasesrc.c:
4214         * libs/gst/net/gstnetclientclock.c:
4215         * libs/gst/net/gstnettimeprovider.c:
4216         * plugins/elements/gstfakesrc.c:
4217         * plugins/elements/gstfdsrc.c:
4218         * plugins/elements/gstfilesrc.c:
4219         * plugins/elements/gstidentity.c:
4220         * plugins/elements/gstqueue.c:
4221         * plugins/elements/gsttypefindelement.c:
4222         * plugins/indexers/gstfileindex.c:
4223         * plugins/indexers/gstmemindex.c:
4224         * tests/check/gst/gsttag.c:
4225         * tests/old/examples/cutter/cutter.c:
4226         * tests/old/examples/mixer/mixer.c:
4227         * tests/old/examples/xml/runxml.c: (main):
4228         * tests/old/testsuite/caps/normalisation.c:
4229         * tests/old/testsuite/debug/global.c:
4230         * tests/old/testsuite/parse/parse1.c:
4231         * tools/gst-xmlinspect.c:
4232         * win32/common/dirent.c:
4233           expand tabs
4234
4235 === release 0.10.0 ===
4236
4237 2005-12-05   <thomas (at) apestaart (dot) org>
4238
4239         * configure.ac:
4240           releasing 0.10.0, "Maroilles"
4241
4242 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4243
4244         submitted by: Funda Wang <fundawang@linux.net.cn>
4245
4246         * po/LINGUAS:
4247         * po/zh_CN.po:
4248           added Chinese (Traditional) translation
4249
4250 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4251
4252         * docs/gst/gstreamer-sections.txt:
4253         * docs/libs/tmpl/gstdataprotocol.sgml:
4254         * docs/random/thomasvs/TODO:
4255         * gst/gstutils.c:
4256         * gst/gstutils.h:
4257           fix docs
4258
4259 2005-12-05  Andy Wingo  <wingo@pobox.com>
4260
4261         patch by: Wim Taymans <wim@fluendo.com>
4262
4263         * libs/gst/base/gstbasetransform.c
4264         (gst_base_transform_prepare_output_buf)
4265         (gst_base_transform_buffer_alloc):
4266         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4267         alloc_buffer_and_set_caps.
4268
4269         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4270         set_caps on the source pad.
4271         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4272         alloc_buffer used to do. Fixes #322874.
4273
4274         * docs/gst/gstreamer-sections.txt: 
4275         * docs/design/part-negotiation.txt: 
4276         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4277         changes.
4278
4279 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4280
4281         patch by: Sebastien Moutte
4282
4283         * win32/MANIFEST:
4284         * win32/common/config.h.in:
4285         * win32/vs6/libgstcontroller.dsp:
4286           win32 build fixes
4287
4288 2005-12-05  Wim Taymans  <wim@fluendo.com>
4289
4290         * gst/gstcaps.c: (gst_caps_is_equal):
4291         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4292         (gst_fake_src_create):
4293         Back out previous code changes, leave doc updates, file bugs 
4294         instead. 
4295
4296 2005-12-05  Wim Taymans  <wim@fluendo.com>
4297
4298         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4299         (gst_fake_src_get_times), (gst_fake_src_create):
4300         * plugins/elements/gstfakesrc.h:
4301         Fix broken sync code.
4302
4303 2005-12-05  Wim Taymans  <wim@fluendo.com>
4304
4305         * gst/gstcaps.c: (gst_caps_is_equal):
4306         Comparing NULL against !NULL yields different caps, not a
4307         failure.
4308
4309 2005-12-05  Wim Taymans  <wim@fluendo.com>
4310
4311         * gst/gstpipeline.c:
4312         Fix small typo in docs.
4313
4314 2005-12-05  Andy Wingo  <wingo@pobox.com>
4315
4316         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4317
4318         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4319         registries/plugins with a MAJORMINOR one.
4320         (plugin_desc): Rename library from gstcoreleements to
4321         staticelements. Fixes #323222.
4322
4323 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4324
4325         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4326           Change debug category to 'collectpads' from 'collect_pads'
4327           (fixes #323250).
4328
4329 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4330
4331         patch by: Sebastien Moutte
4332
4333         * libs/gst/controller/gstinterpolation.c:
4334           use convert function for uint64/double
4335         * win32/vs6/libgstcontroller.dsp:
4336           link to GLib
4337
4338 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4339
4340         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4341         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4342         * gst/gstutils.h:
4343         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4344           add tests that seem to show that the guint64/gdouble conversions
4345           are correct.
4346
4347 2005-12-02  Wim Taymans  <wim@fluendo.com>
4348
4349         * gst/gstregistry.c: (gst_registry_add_path):
4350         * gst/gstregistry.h:
4351         * gst/gstregistryxml.c:
4352         Fix docs again.
4353
4354 2005-12-02  Wim Taymans  <wim@fluendo.com>
4355
4356         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4357         (gst_util_uint64_scale_int):
4358         Small cleanup.
4359
4360         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4361         Add debug log line.
4362
4363         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4364         Add FIXME.
4365
4366 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * win32/MANIFEST:
4369         * win32/common/config.h:
4370         * win32/vs6/gstreamer.dsw:
4371         * win32/vs6/libgstcoreelements.dsp:
4372         * win32/vs6/libgstelements.dsp:
4373           renamed core elements plugin
4374
4375 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4376
4377         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4378         (get_candidates):
4379           do piece-wise major/minor comparison so 0.9 < 0.10
4380           also allow .exe extensions for tools
4381
4382 2005-12-02  Michael Smith  <msmith@fluendo.com>
4383
4384         * gst/gst.c:
4385           Escape a % to make gtkdoc happier; bug 322958.
4386
4387 === release 0.9.7 ===
4388
4389 2005-12-01   <thomas (at) apestaart (dot) org>
4390
4391         * configure.ac:
4392           releasing 0.9.7, "My Dog Has No Nose"
4393
4394 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4395
4396         * common/gst-xmlinspect.py:
4397         * configure.ac:
4398         * docs/libs/tmpl/gstdataprotocol.sgml:
4399         * docs/random/release:
4400         * po/af.po:
4401         * po/az.po:
4402         * po/bg.po:
4403         * po/ca.po:
4404         * po/cs.po:
4405         * po/de.po:
4406         * po/en_GB.po:
4407         * po/fr.po:
4408         * po/it.po:
4409         * po/nb.po:
4410         * po/nl.po:
4411         * po/ru.po:
4412         * po/sq.po:
4413         * po/sr.po:
4414         * po/sv.po:
4415         * po/tr.po:
4416         * po/uk.po:
4417         * po/vi.po:
4418         * win32/common/config.h:
4419         * win32/common/config.h.in:
4420         * win32/vs6/gst_inspect.dsp:
4421         * win32/vs6/gst_launch.dsp:
4422         * win32/vs6/libgstbase.dsp:
4423         * win32/vs6/libgstelements.dsp:
4424         * win32/vs6/libgstreamer.dsp:
4425         * win32/vs7/GStreamer.vcproj:
4426         * win32/vs7/gst-inspect.vcproj:
4427         * win32/vs7/gst-launch.vcproj:
4428         * win32/vs7/libgstbase.vcproj:
4429           bump GST_MAJORMINOR to 0.10
4430           reset libtool version
4431
4432 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4433
4434         * po/LINGUAS:
4435         * po/bg.po:
4436           Added Bulgarian translation by (Alexander Shopov)
4437
4438 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4439
4440         * tests/check/gst/gstplugin.c:
4441           fix test
4442
4443 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4444
4445         * common/gst-xmlinspect.py:
4446         * common/gtk-doc-plugins.mak:
4447         * configure.ac:
4448         * docs/Makefile.am:
4449         * docs/gst/Makefile.am:
4450         * docs/gst/gstreamer-docs.sgml:
4451         * docs/gst/gstreamer-sections.txt:
4452         * docs/gst/gstreamer.types:
4453         * docs/gst/gstreamer.types.in:
4454         * docs/plugins/Makefile.am:
4455         * docs/plugins/gstreamer-plugins-docs.sgml:
4456         * docs/plugins/gstreamer-plugins-sections.txt:
4457         * docs/plugins/gstreamer-plugins.types:
4458         * docs/plugins/inspect.stamp:
4459         * docs/plugins/inspect/plugin-coreelements.xml:
4460         * docs/plugins/inspect/plugin-coreindexers.xml:
4461         * docs/plugins/scanobj-build.stamp:
4462         * gstreamer.spec.in:
4463         * plugins/elements/Makefile.am:
4464         * plugins/elements/gstelements.c:
4465         * plugins/elements/gstfakesink.c:
4466         * plugins/elements/gstfakesrc.c:
4467         * plugins/elements/gstfilesink.c:
4468         * plugins/elements/gstfilesrc.c:
4469         * plugins/elements/gstqueue.c:
4470         * plugins/indexers/Makefile.am:
4471         * plugins/indexers/gstindexers.c:
4472           document core plugins in a separate document just like all the
4473           others
4474           rename these plugins to something starting with core
4475
4476 2005-12-01  Andy Wingo  <wingo@pobox.com>
4477
4478         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4479         padding here before, but it missed the commit.
4480
4481 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4482
4483         * libs/gst/controller/gstinterpolation.c:
4484           whitespace prices have crashed, we should feel free to use some now
4485           use gst_guint64_to_gdouble
4486
4487 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4488
4489         * libs/gst/controller/gstcontroller.c:
4490         * libs/gst/controller/gsthelper.c:
4491         * libs/gst/controller/gstinterpolation.c:
4492         * libs/gst/controller/lib.c:
4493           wrap config.h include
4494
4495 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4496
4497         * docs/gst/gstreamer-sections.txt:
4498           update docs
4499
4500 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4501
4502         * plugins/elements/gstelements.c:
4503         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4504         (gst_fd_sink__class_init), (gst_fd_sink__init),
4505         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4506         (gst_fd_sink__get_property):
4507         * plugins/elements/gstfdsink.h:
4508         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4509         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4510         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4511         (gst_fd_src_unlock), (gst_fd_src_set_property),
4512         (gst_fd_src_get_property), (gst_fd_src_create),
4513         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4514         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4515         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4516         (gst_fd_src_uri_handler_init):
4517         * plugins/elements/gstfdsrc.h:
4518         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4519           more anal cleanup
4520
4521 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4522
4523         * docs/gst/Makefile.am:
4524         * docs/gst/gstreamer.types.in:
4525         * gst/Makefile.am:
4526           fix the docs build
4527
4528 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4529
4530         * configure.ac:
4531         * gst/Makefile.am:
4532         * gst/gst.c:
4533         * gst/gstplugin.h:
4534         * gst/gstregistry.h:
4535         * tests/benchmarks/complexity.c:
4536         * tests/benchmarks/mass-elements.c:
4537         * tests/check/Makefile.am:
4538         * tools/Makefile.am:
4539         * tools/gst-inspect.c:
4540         * tools/gst-xmlinspect.c:
4541           various fixes to make
4542           --disable-nls --disable-registry --disable-loadsave
4543           --disable-parse --disable-gst-debug
4544           work and get the core .so down to 360444 bytes after stripping
4545
4546 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4547
4548         * Makefile.am:
4549         * configure.ac:
4550           descend into tests
4551         * docs/random/thomasvs/TODO:
4552         * tests/Makefile.am:
4553         * tests/README:
4554           add a README
4555
4556 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4557
4558         * win32/GStreamer.vcproj:
4559         * win32/MANIFEST:
4560         * win32/Makefile:
4561         * win32/Makefile.inspect:
4562         * win32/Makefile.launch:
4563         * win32/Makefile.register:
4564         * win32/README.txt:
4565         * win32/gst-inspect.vcproj:
4566         * win32/gst-launch.vcproj:
4567         * win32/gst-register.vcproj:
4568         * win32/gstelements.vcproj:
4569         * win32/gstgetbits.def:
4570         * win32/gstgetbits.vcproj:
4571         * win32/gstreamer-dbg.def:
4572         * win32/gstreamer.def:
4573         * win32/libgstbase.def:
4574         * win32/libgstbase.vcproj:
4575         * win32/link_oldruntime.c:
4576         * win32/mman.c:
4577         * win32/mman.h:
4578         * win32/mman.inl:
4579         * win32/msvc71.sln:
4580           move even more stuff, win32/ is nice and clean now
4581
4582 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4583
4584         * libs/gst/control/.cvsignore:
4585         * win32/MANIFEST:
4586         * win32/config.h:
4587         * win32/dirent.c:
4588         * win32/dirent.h:
4589         * win32/gstbytestream.def:
4590         * win32/gstbytestream.vcproj:
4591         * win32/gstconfig.h:
4592         * win32/gstenumtypes.c:
4593         * win32/gstenumtypes.h:
4594         * win32/gstoptimalscheduler.vcproj:
4595         * win32/gstversion.h:
4596         * win32/gtchar.h:
4597         * win32/testsuite/bins.vcproj:
4598         * win32/testsuite/bytestream.vcproj:
4599         * win32/testsuite/caps.vcproj:
4600         * win32/testsuite/cleanup.vcproj:
4601         * win32/testsuite/clock.vcproj:
4602         * win32/testsuite/debug.vcproj:
4603         * win32/testsuite/dlopen.vcproj:
4604         * win32/testsuite/dynparams.vcproj:
4605         * win32/testsuite/elements.vcproj:
4606         * win32/testsuite/ghostpads.vcproj:
4607         * win32/testsuite/indexers.vcproj:
4608         * win32/testsuite/negotiation.vcproj:
4609         * win32/testsuite/parse.vcproj:
4610         * win32/testsuite/plugin.vcproj:
4611         * win32/testsuite/refcounting.vcproj:
4612         * win32/testsuite/schedulers.vcproj:
4613         * win32/testsuite/states.vcproj:
4614         * win32/testsuite/tags.vcproj:
4615         * win32/testsuite/threads.vcproj:
4616           remove old win32 stuff that isn't maintained and should be
4617           reorganized
4618
4619 2005-11-30  Andy Wingo  <wingo@pobox.com>
4620
4621         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4622         loading the gst.interfaces python module bork.
4623
4624         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4625         available since GLib 2.2. Fixes #318031.
4626
4627 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4628
4629         * Makefile.am:
4630         * check/.cvsignore:
4631         * check/Makefile.am:
4632         * check/elements/.cvsignore:
4633         * check/elements/fakesrc.c:
4634         * check/elements/fdsrc.c:
4635         * check/elements/identity.c:
4636         * check/generic/.cvsignore:
4637         * check/generic/states.c:
4638         * check/gst-libs/.cvsignore:
4639         * check/gst-libs/controller.c:
4640         * check/gst-libs/gdp.c:
4641         * check/gst/.cvsignore:
4642         * check/gst/capslist.h:
4643         * check/gst/gst.c:
4644         * check/gst/gstbin.c:
4645         * check/gst/gstbuffer.c:
4646         * check/gst/gstbus.c:
4647         * check/gst/gstcaps.c:
4648         * check/gst/gstelement.c:
4649         * check/gst/gstevent.c:
4650         * check/gst/gstghostpad.c:
4651         * check/gst/gstiterator.c:
4652         * check/gst/gstmessage.c:
4653         * check/gst/gstminiobject.c:
4654         * check/gst/gstobject.c:
4655         * check/gst/gstpad.c:
4656         * check/gst/gstpipeline.c:
4657         * check/gst/gstplugin.c:
4658         * check/gst/gstsegment.c:
4659         * check/gst/gststructure.c:
4660         * check/gst/gstsystemclock.c:
4661         * check/gst/gsttag.c:
4662         * check/gst/gstutils.c:
4663         * check/gst/gstvalue.c:
4664         * check/net/.cvsignore:
4665         * check/net/gstnetclientclock.c:
4666         * check/net/gstnettimeprovider.c:
4667         * check/pipelines/.cvsignore:
4668         * check/pipelines/cleanup.c:
4669         * check/pipelines/simple_launch_lines.c:
4670         * check/pipelines/stress.c:
4671         * check/states/.cvsignore:
4672         * check/states/sinks.c:
4673         * configure.ac:
4674         * examples/Makefile.am:
4675         * examples/appreader/.cvsignore:
4676         * examples/appreader/Makefile.am:
4677         * examples/appreader/appreader.c:
4678         * examples/controller/.cvsignore:
4679         * examples/controller/Makefile.am:
4680         * examples/controller/audio-example.c:
4681         * examples/cutter/.cvsignore:
4682         * examples/cutter/Makefile.am:
4683         * examples/cutter/cutter.c:
4684         * examples/cutter/cutter.h:
4685         * examples/events/Makefile.am:
4686         * examples/events/seek.c:
4687         * examples/helloworld/.cvsignore:
4688         * examples/helloworld/Makefile.am:
4689         * examples/helloworld/helloworld.c:
4690         * examples/helloworld2/.cvsignore:
4691         * examples/helloworld2/Makefile.am:
4692         * examples/helloworld2/helloworld2.c:
4693         * examples/launch/.cvsignore:
4694         * examples/launch/Makefile.am:
4695         * examples/launch/mp3parselaunch.c:
4696         * examples/launch/mp3play:
4697         * examples/manual/.cvsignore:
4698         * examples/manual/Makefile.am:
4699         * examples/manual/extract.pl:
4700         * examples/metadata/Makefile.am:
4701         * examples/metadata/read-metadata.c:
4702         * examples/mixer/.cvsignore:
4703         * examples/mixer/Makefile.am:
4704         * examples/mixer/mixer.c:
4705         * examples/mixer/mixer.h:
4706         * examples/pingpong/.cvsignore:
4707         * examples/pingpong/Makefile.am:
4708         * examples/pingpong/pingpong.c:
4709         * examples/plugins/.cvsignore:
4710         * examples/plugins/Makefile.am:
4711         * examples/plugins/example.c:
4712         * examples/plugins/example.h:
4713         * examples/pwg/.cvsignore:
4714         * examples/pwg/Makefile.am:
4715         * examples/pwg/extract.pl:
4716         * examples/queue/.cvsignore:
4717         * examples/queue/Makefile.am:
4718         * examples/queue/queue.c:
4719         * examples/queue2/.cvsignore:
4720         * examples/queue2/Makefile.am:
4721         * examples/queue2/queue2.c:
4722         * examples/queue3/.cvsignore:
4723         * examples/queue3/Makefile.am:
4724         * examples/queue3/queue3.c:
4725         * examples/queue4/.cvsignore:
4726         * examples/queue4/Makefile.am:
4727         * examples/queue4/queue4.c:
4728         * examples/retag/.cvsignore:
4729         * examples/retag/Makefile.am:
4730         * examples/retag/retag.c:
4731         * examples/retag/transcode.c:
4732         * examples/thread/.cvsignore:
4733         * examples/thread/Makefile.am:
4734         * examples/thread/thread.c:
4735         * examples/typefind/.cvsignore:
4736         * examples/typefind/Makefile.am:
4737         * examples/typefind/typefind.c:
4738         * examples/xml/.cvsignore:
4739         * examples/xml/Makefile.am:
4740         * examples/xml/createxml.c:
4741         * examples/xml/runxml.c:
4742         * tests/Makefile.am:
4743         * tests/check/Makefile.am:
4744         * testsuite/.cvsignore:
4745         * testsuite/Makefile.am:
4746         * testsuite/Rules:
4747         * testsuite/caps/.cvsignore:
4748         * testsuite/caps/Makefile.am:
4749         * testsuite/caps/app_fixate.c:
4750         * testsuite/caps/audioscale.c:
4751         * testsuite/caps/caps.c:
4752         * testsuite/caps/caps.h:
4753         * testsuite/caps/caps_strings:
4754         * testsuite/caps/compatibility.c:
4755         * testsuite/caps/deserialize.c:
4756         * testsuite/caps/enumcaps.c:
4757         * testsuite/caps/eratosthenes.c:
4758         * testsuite/caps/filtercaps.c:
4759         * testsuite/caps/fixed.c:
4760         * testsuite/caps/fraction-convert.c:
4761         * testsuite/caps/fraction-multiply-and-zero.c:
4762         * testsuite/caps/intersect2.c:
4763         * testsuite/caps/intersection.c:
4764         * testsuite/caps/normalisation.c:
4765         * testsuite/caps/random.c:
4766         * testsuite/caps/renegotiate.c:
4767         * testsuite/caps/sets.c:
4768         * testsuite/caps/simplify.c:
4769         * testsuite/caps/string-conversions.c:
4770         * testsuite/caps/structure.c:
4771         * testsuite/caps/subtract.c:
4772         * testsuite/caps/union.c:
4773         * testsuite/debug/.cvsignore:
4774         * testsuite/debug/Makefile.am:
4775         * testsuite/debug/category.c:
4776         * testsuite/debug/commandline.c:
4777         * testsuite/debug/global.c:
4778         * testsuite/debug/output.c:
4779         * testsuite/debug/printf_extension.c:
4780         * testsuite/dlopen/.cvsignore:
4781         * testsuite/dlopen/Makefile.am:
4782         * testsuite/dlopen/dlopen_gst.c:
4783         * testsuite/dlopen/loadgst.c:
4784         * testsuite/elements/.cvsignore:
4785         * testsuite/elements/Makefile.am:
4786         * testsuite/elements/gst-inspect-check.in:
4787         * testsuite/elements/struct_i386.h:
4788         * testsuite/elements/struct_size.c:
4789         * testsuite/indexers/.cvsignore:
4790         * testsuite/indexers/Makefile.am:
4791         * testsuite/indexers/cache1.c:
4792         * testsuite/indexers/indexdump.c:
4793         * testsuite/parse/.cvsignore:
4794         * testsuite/parse/Makefile.am:
4795         * testsuite/parse/parse1.c:
4796         * testsuite/parse/parse2.c:
4797         * testsuite/plugin/.cvsignore:
4798         * testsuite/plugin/Makefile.am:
4799         * testsuite/plugin/README:
4800         * testsuite/plugin/dynamic.c:
4801         * testsuite/plugin/linked.c:
4802         * testsuite/plugin/loading.c:
4803         * testsuite/plugin/registry.c:
4804         * testsuite/plugin/static.c:
4805         * testsuite/plugin/static2.c:
4806         * testsuite/plugin/testplugin.c:
4807         * testsuite/plugin/testplugin2.c:
4808         * testsuite/plugin/testplugin2_s.c:
4809         * testsuite/plugin/testplugin_s.c:
4810         * testsuite/refcounting/.cvsignore:
4811         * testsuite/refcounting/Makefile.am:
4812         * testsuite/refcounting/bin.c:
4813         * testsuite/refcounting/element.c:
4814         * testsuite/refcounting/element_pad.c:
4815         * testsuite/refcounting/mainloop.c:
4816         * testsuite/refcounting/mem.c:
4817         * testsuite/refcounting/mem.h:
4818         * testsuite/refcounting/object.c:
4819         * testsuite/refcounting/pad.c:
4820         * testsuite/refcounting/sched.c:
4821         * testsuite/refcounting/thread.c:
4822         * testsuite/states/.cvsignore:
4823         * testsuite/states/Makefile.am:
4824         * testsuite/states/bin.c:
4825         * testsuite/states/locked.c:
4826         * testsuite/states/parent.c:
4827         * testsuite/threads/.cvsignore:
4828         * testsuite/threads/159566.c:
4829         * testsuite/threads/159852.c:
4830         * testsuite/threads/Makefile.am:
4831         * testsuite/threads/queue.c:
4832         * testsuite/threads/signals.c:
4833         * testsuite/threads/staticrec.c:
4834         * testsuite/threads/thread.c:
4835         * testsuite/threads/threadb.c:
4836         * testsuite/threads/threadc.c:
4837         * testsuite/threads/threadd.c:
4838         * testsuite/threads/threade.c:
4839         * testsuite/threads/threadf.c:
4840         * testsuite/threads/threadg.c:
4841         * testsuite/threads/threadh.c:
4842         * testsuite/threads/threadi.c:
4843           move all of these under tests
4844
4845 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4846
4847         * configure.ac:
4848         * tests/Makefile.am:
4849           fix distcheck
4850
4851 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4852
4853         * docs/gst/gstreamer-sections.txt:
4854         * tests/sched/.cvsignore:
4855         * tests/sched/Makefile.am:
4856         * tests/sched/cases/(fs-fs).xml:
4857         * tests/sched/cases/(fs-i-fs).xml:
4858         * tests/sched/cases/(fs-i-i-fs).xml:
4859         * tests/sched/cases/(fs-i-q[i-fs]).xml:
4860         * tests/sched/dynamic-pipeline.c:
4861         * tests/sched/interrupt1.c:
4862         * tests/sched/interrupt2.c:
4863         * tests/sched/interrupt3.c:
4864         * tests/sched/runtestcases:
4865         * tests/sched/runxml.c:
4866         * tests/sched/sched-stress.c:
4867         * tests/sched/sort.c:
4868         * tests/sched/testcases:
4869         * tests/sched/testcases1.tc:
4870         * tests/seeking/.cvsignore:
4871         * tests/seeking/Makefile.am:
4872         * tests/seeking/seeking1.c:
4873         * tests/threadstate/.cvsignore:
4874         * tests/threadstate/Makefile.am:
4875         * tests/threadstate/test1.c:
4876         * tests/threadstate/test2.c:
4877         * tests/threadstate/threadstate1.c:
4878         * tests/threadstate/threadstate2.c:
4879         * tests/threadstate/threadstate3.c:
4880         * tests/threadstate/threadstate4.c:
4881         * tests/threadstate/threadstate5.c:
4882           remove obsolete tests
4883         * configure.ac:
4884         * tests/bench-complexity.scm:
4885         * tests/bench-mass_elements.scm:
4886         * tests/complexity.c:
4887         * tests/complexity.gnuplot:
4888         * tests/instantiate/.cvsignore:
4889         * tests/instantiate/Makefile.am:
4890         * tests/instantiate/caps.c:
4891         * tests/mass_elements.c:
4892         * tests/network-clock-utils.scm:
4893         * tests/network-clock.scm:
4894         * tests/plot-data:
4895         First pass at cleaning up tests/ dir before moving the rest
4896         Combined with CVS surgery
4897
4898 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * po/POTFILES.in:
4901           queue has moved, update
4902
4903 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4904
4905         * docs/gst/gstreamer-sections.txt:
4906           remove double entries from the docs
4907         * gst/gst_private.h:
4908         * gst/gstinfo.c: (_gst_debug_init):
4909           remove the THREAD debug category
4910         * gst/Makefile.am:
4911         * gst/gstqueue.c:
4912         * gst/gstqueue.h:
4913         * docs/gst/gstreamer.types:
4914         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4915         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4916           completely move queue and fix up debugging categories
4917
4918 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4919
4920         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4921           make initialization portable, using LL is not
4922
4923 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4924
4925         * win32/common/gstconfig.h:
4926           add large padding
4927
4928 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4929
4930         * win32/common/libgstreamer.def:
4931           rename symbols; sort base section
4932
4933 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4934
4935         * gst/gstclock.c: (do_linear_regression):
4936           remove crack non-portable handrolled DEBUG macro
4937
4938 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * docs/random/release:
4941           update notes
4942         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4943         (gst_object_flags_get_type), (register_gst_bin_flags),
4944         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4945         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4946         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4947         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
4948         (gst_caps_flags_get_type), (register_gst_clock_return),
4949         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4950         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4951         (gst_clock_flags_get_type), (register_gst_state),
4952         (gst_state_get_type), (register_gst_state_change_return),
4953         (gst_state_change_return_get_type), (register_gst_state_change),
4954         (gst_state_change_get_type), (register_gst_element_flags),
4955         (gst_element_flags_get_type), (register_gst_core_error),
4956         (gst_core_error_get_type), (register_gst_library_error),
4957         (gst_library_error_get_type), (register_gst_resource_error),
4958         (gst_resource_error_get_type), (register_gst_stream_error),
4959         (gst_stream_error_get_type), (register_gst_event_type_flags),
4960         (gst_event_type_flags_get_type), (register_gst_event_type),
4961         (gst_event_type_get_type), (register_gst_seek_type),
4962         (gst_seek_type_get_type), (register_gst_seek_flags),
4963         (gst_seek_flags_get_type), (register_gst_format),
4964         (gst_format_get_type), (register_gst_index_certainty),
4965         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4966         (gst_index_entry_type_get_type),
4967         (register_gst_index_lookup_method),
4968         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4969         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4970         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4971         (gst_index_flags_get_type), (register_gst_debug_level),
4972         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4973         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4974         (gst_iterator_result_get_type), (register_gst_iterator_item),
4975         (gst_iterator_item_get_type), (register_gst_message_type),
4976         (gst_message_type_get_type), (register_gst_mini_object_flags),
4977         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4978         (gst_pad_link_return_get_type), (register_gst_flow_return),
4979         (gst_flow_return_get_type), (register_gst_activate_mode),
4980         (gst_activate_mode_get_type), (register_gst_pad_direction),
4981         (gst_pad_direction_get_type), (register_gst_pad_flags),
4982         (gst_pad_flags_get_type), (register_gst_pad_presence),
4983         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4984         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4985         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4986         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4987         (gst_plugin_flags_get_type), (register_gst_rank),
4988         (gst_rank_get_type), (register_gst_query_type),
4989         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4990         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4991         (gst_tag_flag_get_type), (register_gst_task_state),
4992         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4993         (gst_alloc_trace_flags_get_type),
4994         (register_gst_type_find_probability),
4995         (gst_type_find_probability_get_type), (register_gst_uri_type),
4996         (gst_uri_type_get_type), (register_gst_parse_error),
4997         (gst_parse_error_get_type):
4998         * win32/common/gstenumtypes.h:
4999         * win32/common/gstversion.h:
5000           update visual studio generated files
5001
5002 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5003
5004         * win32/vs6/libgstbase.dsp:
5005         * win32/vs6/libgstelements.dsp:
5006           update project files for new locations
5007
5008 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5009
5010         * Makefile.am:
5011           remove some files
5012         * README:
5013           reinstate and update
5014         * DEVEL:
5015         * REQUIREMENTS:
5016           removed
5017         * LICENSE:
5018         * docs/random/LICENSE:
5019           moved to random
5020
5021 2005-11-30  Edward Hervey  <edward@fluendo.com>
5022
5023         * gst/gsttypefind.c: (gst_type_find_register):
5024         * gst/gsttypefind.h:
5025         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5026         (gst_type_find_factory_dispose):
5027         * gst/gsttypefindfactory.h:
5028         Fix memory leak in GstTypeFindFactory.
5029
5030 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5031
5032         * gst/gst.c:
5033         * plugins/elements/Makefile.am:
5034         * plugins/elements/gstelements.c:
5035         * plugins/elements/gstqueue.c:
5036           move queue from core to the elements plugin
5037
5038 2005-11-29  Andy Wingo  <wingo@pobox.com>
5039
5040         * libs/gst/base/gstbasetransform.h: 
5041         * libs/gst/base/gstbasesrc.h: 
5042         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5043
5044         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5045         of pointers by which to pad very extensible base classes (like the
5046         ones in libs/gst/base).
5047
5048 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5049
5050         * docs/gst/gstreamer-docs.sgml:
5051         * docs/gst/gstreamer-sections.txt:
5052         * docs/libs/gstreamer-libs-docs.sgml:
5053         * docs/libs/gstreamer-libs-sections.txt:
5054           moving documentation from core to lib
5055
5056 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5057
5058         * check/Makefile.am:
5059         * configure.ac:
5060         * docs/gst/Makefile.am:
5061         * gst/Makefile.am:
5062         * gst/base/.cvsignore:
5063         * gst/base/Makefile.am:
5064         * gst/base/README:
5065         * gst/base/gstadapter.c:
5066         * gst/base/gstadapter.h:
5067         * gst/base/gstbasesink.c:
5068         * gst/base/gstbasesink.h:
5069         * gst/base/gstbasesrc.c:
5070         * gst/base/gstbasesrc.h:
5071         * gst/base/gstbasetransform.c:
5072         * gst/base/gstbasetransform.h:
5073         * gst/base/gstcollectpads.c:
5074         * gst/base/gstcollectpads.h:
5075         * gst/base/gstpushsrc.c:
5076         * gst/base/gstpushsrc.h:
5077         * gst/base/gsttypefindhelper.c:
5078         * gst/base/gsttypefindhelper.h:
5079         * gst/check/Makefile.am:
5080         * gst/check/gstcheck.c:
5081         * gst/check/gstcheck.h:
5082         * gst/net/Makefile.am:
5083         * gst/net/gstnet.h:
5084         * gst/net/gstnetclientclock.c:
5085         * gst/net/gstnetclientclock.h:
5086         * gst/net/gstnettimepacket.c:
5087         * gst/net/gstnettimepacket.h:
5088         * gst/net/gstnettimeprovider.c:
5089         * gst/net/gstnettimeprovider.h:
5090         * libs/gst/Makefile.am:
5091         * libs/gst/base/Makefile.am:
5092         * libs/gst/base/gstbasetransform.c:
5093         * libs/gst/check/Makefile.am:
5094         * plugins/elements/Makefile.am:
5095         * po/POTFILES.in:
5096           CVS surgery + support to move base, check, and net out of gst
5097           and into libs/gst
5098
5099 2005-11-29  Andy Wingo  <wingo@pobox.com>
5100
5101         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5102
5103         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5104         padding.
5105
5106         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5107
5108         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5109
5110         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5111
5112         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5113         padding; reduces object size by about 30%. We don't expect
5114         anything else to go into gstobject.
5115
5116         * gst/gstminiobject.h (struct _GstMiniObject)
5117         (struct _GstMiniObjectClass): Only one pointer of padding; the
5118         payload is only a pointer and two ints anyway. For the class there
5119         are only two methods as well.
5120         
5121         * gst/gstelement.h (struct _GstElementClass): Removed
5122         the state_changed signal callback, it is not used.
5123
5124 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5125
5126         * docs/gst/gstreamer.types:
5127           fix includes, though they are a little dinky
5128
5129 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5130
5131         * check/Makefile.am:
5132           look in the right place for elements, a lot more chance of
5133           success
5134         * gst/Makefile.am:
5135           remove indexers and elements subdirs
5136         * plugins/Makefile.am:
5137           make indexers conditional
5138
5139 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5140
5141         * Makefile.am:
5142         * configure.ac:
5143         * plugins/elements/Makefile.am:
5144         * plugins/elements/gstcapsfilter.c:
5145         * plugins/elements/gstfilesink.c:
5146         * plugins/elements/gstfilesrc.c:
5147         * plugins/elements/gstidentity.c:
5148         * plugins/indexers/Makefile.am:
5149           do CVS surgery and related build fixery to move elements
5150           and indexers in a new gstreamer/plugins directory, out of the
5151           gst/ directory
5152
5153 2005-11-29  Andy Wingo  <wingo@pobox.com>
5154
5155         * check/Makefile.am:
5156         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5157         * pkgconfig/gstreamer-net.pc.in:
5158         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5159         #322257.
5160
5161 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5162
5163         * tools/Makefile.am:
5164         * tools/gst-complete.1.in:
5165         * tools/gst-complete.c:
5166         * tools/gst-compprep.1.in:
5167         * tools/gst-compprep.c:
5168           removing -compprep and -complete
5169
5170 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5171
5172         * gst/gstevent.c: (gst_event_new_new_segment),
5173         (gst_event_parse_new_segment):
5174         * gst/gstevent.h:
5175           fix #320529 - clean up new_segment API and structure.
5176           Let's hope everyone was using the methods, and not the structure.
5177
5178 2005-11-29  Edward Hervey  <edward@fluendo.com>
5179
5180         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5181         (gst_base_sink_event), (gst_base_sink_do_sync),
5182         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5183         Properly handle non GST_FORMAT_TIME segment
5184         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5185         Properly handle non GST_FORMAT_TIME segment
5186         * gst/gstsegment.c:
5187         This function is valid if the accumulator is 0 and the format
5188         is different from the requested format.
5189         
5190 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5191
5192         * docs/gst/gstreamer-sections.txt:
5193         Add gst_query_new_seeking and gst_query_parse_seeking to the
5194         docs.
5195
5196 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5197
5198         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5199           Treat a pad alloc with new caps the same as if we were not
5200           negotiated, in order to allow a changing upstream output
5201           to produce a new format of data.
5202
5203 2005-11-29  Edward Hervey  <edward@fluendo.com>
5204
5205         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5206         (gst_base_transform_event), (gst_base_transform_eventfunc):
5207         The event virtual method is now properly implemented, with a default
5208         handler
5209         Sub classes should call the parent_class event method. They should
5210         return FALSE if they had a problem handling the given event, or don't
5211         want GstBaseTransform to send that even downstream
5212         * gst/elements/gstidentity.c: (gst_identity_class_init),
5213         (gst_identity_init), (gst_identity_event),
5214         (gst_identity_transform_ip), (gst_identity_set_property),
5215         (gst_identity_get_property):
5216         * gst/elements/gstidentity.h:
5217         Added the single-segment boolean property.
5218         If set to TRUE, it will output a single segment of data, starting from
5219         0, will eat up all incoming newsegment, and modify the timestamp of the
5220         buffers accordingly
5221
5222 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5223
5224         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5225           Don't ref NULL target pad (#322751). Improve docs.
5226
5227 2005-11-29  Michael Smith  <msmith@fluendo.com>
5228
5229         * gst/gstregistryxml.c: (load_plugin):
5230           Don't crash if we failed to load a feature from a plugin. 
5231
5232 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5233
5234         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5235         (GST_START_TEST):
5236           use more check API and less GLib API
5237
5238 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5239
5240         * Makefile.am:
5241           don't run checks if we don't have check
5242         * common/check.mak:
5243           remove the registry when running make torture
5244         * docs/gst/gstreamer-sections.txt:
5245           remove second multiply
5246         * gst/gstqueue.c: (gst_queue_loop):
5247           fix a compile warning when disabling debug
5248
5249 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5250
5251         * gst/gstinfo.h:
5252         Hey! Let's print the pad name if the pointer != NULL instead
5253         of when it == NULL :-)
5254
5255 2005-11-28  Wim Taymans  <wim@fluendo.com>
5256
5257         * check/gst/gstutils.c: (GST_START_TEST):
5258         Updated check, add some scaling accuracy checking code.
5259
5260         * gst/gstutils.c: (gst_util_div128_64),
5261         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5262         (gst_util_uint64_scale_int):
5263         Fix 6 times faster division code. Optimize for common 
5264         1/1 and less common X/1 cases.
5265
5266 2005-11-28  Wim Taymans  <wim@fluendo.com>
5267
5268         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5269         More checks.
5270
5271         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5272         (do_linear_regression), (gst_clock_add_observation):
5273         Cleanups.
5274         Release lock when the clock cannot be slaved.
5275         Catch the case where the regression returned an invalid denominator.
5276
5277         * gst/gstutils.c: (gst_util_div128_64_iterate),
5278         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5279         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5280         Add protentially more performant non-iterative 128/64 divide function
5281         that unfortunatly does not work yet.
5282         Shortcut the trivial 0/X = 0 case.
5283         Remove the warnings on overflow.
5284
5285 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5286
5287         * gst/gstplugin.c: (gst_plugin_register_func):
5288           everything causing a plugin not to load should be at least a WARNING
5289
5290 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5291
5292         * docs/random/ensonic/dparams.txt:
5293           some TODOs for the next dev cycle
5294         * libs/gst/controller/gstcontroller.c:
5295         (gst_controlled_property_set_interpolation_mode),
5296         (gst_controlled_property_new):
5297         * libs/gst/controller/gstcontroller.h:
5298           use base type to assign acccessor functions
5299
5300 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5301
5302         * check/Makefile.am:
5303         Oops, that should have been top_srcdir
5304
5305 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5306
5307         * check/Makefile.am:
5308         * check/elements/fdsrc.c: (GST_START_TEST):
5309         Use a cmdline define to specify the location of a file to use for
5310         testing, to avoid breaking distcheck.
5311
5312 2005-11-28  Andy Wingo  <wingo@pobox.com>
5313
5314         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5315
5316 2005-11-28  Edward Hervey  <edward@fluendo.com>
5317
5318         * tools/gst-launch.c: (main):
5319         Clarify the output strings, makes it easier to translate.
5320         Fixes #322626
5321
5322 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5323
5324         * gst/Makefile.am:
5325           don't try and build net if we don't even have <sys/socket.h>
5326
5327 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5328
5329         * check/Makefile.am:
5330         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5331         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5332           Add tests for fdsrc seekability
5333
5334         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5335         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5336         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5337         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5338         * gst/elements/gstfdsrc.h:
5339           fdsrc should not be a 'live' source.
5340           Implement seeking on seekable fd's.
5341
5342         * gst/gstquery.c: (gst_query_new_seeking),
5343         (gst_query_parse_seeking):
5344         * gst/gstquery.h:
5345           Implement SEEKING query functions: 
5346             *_new_seeking and *_parse_seeking
5347
5348 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5349
5350         * gst/gstelement.c: (gst_element_dispose):
5351           don't loop forever
5352
5353         * gst/gstiterator.c:
5354         * gst/gststructure.c:
5355           doc fixes
5356
5357         * libs/gst/controller/gstcontroller.c:
5358         (gst_controlled_property_set_interpolation_mode):
5359         * libs/gst/controller/gstcontroller.h:
5360         * libs/gst/controller/gstinterpolation.c:
5361         (interpolate_none_get_enum_value_array):
5362           support controlling enums
5363
5364 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5365
5366         * gst/gstvalue.c:
5367           Improve documentation for gst_value_union().
5368
5369         * gst/gstvalue.h:
5370           Change return value for union, intersect and subtract functions
5371           from gint to gboolean.
5372
5373 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5374
5375         * gst/gstvalue.c: (gst_value_serialize_any_list),
5376         (gst_value_transform_any_list_string),
5377         (gst_value_deserialize_list), (gst_value_deserialize_array),
5378         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5379         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5380         (gst_value_set_fraction_range_full),
5381         (gst_value_deserialize_fraction_range),
5382         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5383         (gst_value_deserialize_boolean),
5384         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5385         (gst_value_serialize_float), (gst_value_deserialize_float),
5386         (gst_string_wrap), (gst_value_deserialize_string),
5387         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5388         (gst_value_union_int_range_int_range),
5389         (gst_value_intersect_int_range_int_range),
5390         (gst_value_intersect_double_range_double_range),
5391         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5392         (gst_value_subtract_int_range_int_range),
5393         (gst_value_subtract_double_double_range),
5394         (gst_value_subtract_double_range_double_range),
5395         (gst_value_deserialize_fraction):
5396         * gst/gstvalue.h:
5397           Use gint, gdouble and gchar in our API instead of int, double and
5398           char (and make usage in gstvalue.c more consistent).
5399
5400 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5401
5402         * check/Makefile.am:
5403         * libs/gst/controller/Makefile.am:
5404         * libs/gst/dataprotocol/Makefile.am:
5405           fix up Makefile.am and remove GST_ENABLE_NEW
5406
5407 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5408
5409         * configure.ac:
5410         * gst/Makefile.am:
5411         * gst/base/Makefile.am:
5412         * gst/check/Makefile.am:
5413         * gst/elements/Makefile.am:
5414         * gst/net/Makefile.am:
5415           update LDFLAGS use some more
5416
5417 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5418
5419         * common/m4/gst-doc.m4:
5420           Fixes #312589
5421
5422 2005-11-26  Edward Hervey  <edward@fluendo.com>
5423
5424         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5425         This shouldn't issue a g_warning since it returns NULL if it
5426         couldn't find the plugin, and all functions using this behave
5427         properly on a NULL return. Switching to a GST_WARNING.
5428
5429 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5430
5431         * gst/gstbin.c: (gst_bin_handle_message_func):
5432         Don't leak clock messages.
5433
5434 2005-11-25  Wim Taymans  <wim@fluendo.com>
5435
5436         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5437         (gst_util_uint64_scale_int):
5438         Optimisations, remove unneeded vars.
5439
5440 2005-11-25  Wim Taymans  <wim@fluendo.com>
5441
5442         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5443         Added more checks for the high precision uint64 cases.
5444
5445         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5446         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5447         Implement high precision (guint64 * guint64) / guint64.
5448
5449 2005-11-24  Wim Taymans  <wim@fluendo.com>
5450
5451         * gst/base/gstbasesrc.c: (gst_base_src_query):
5452         Fix wrong percentage query.
5453
5454         * gst/gstutils.c: (gst_util_uint64_scale),
5455         (gst_util_uint64_scale_int):
5456         Add some more common cases that can be handled 
5457         efficiently to _scale.
5458
5459 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5460
5461         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5462         (gst_mini_object_suite):
5463           don't use check calls from threads; check probably isn't
5464           threadsafe and using a lock to make it threadsafe would
5465           defeat the purpose of this check
5466         * gst/check/gstcheck.c:
5467         * gst/check/gstcheck.h:
5468           use GST_DEBUG some more
5469
5470 2005-11-24  Wim Taymans  <wim@fluendo.com>
5471
5472         * gst/gstutils.c: (gst_util_uint64_scale),
5473         (gst_util_uint64_scale_int):
5474         Chain trivial case to _scale_int.
5475
5476 2005-11-24  Wim Taymans  <wim@fluendo.com>
5477
5478         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5479         Added test for scaling.
5480
5481         * gst/gstclock.h:
5482         Small doc fix.
5483
5484         * gst/gstutils.c: (gst_util_uint64_scale_int):
5485         Implemented high precision scaling code.
5486
5487 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5488
5489         * gst/gstinfo.h:
5490           do not crash on pad==NULL
5491
5492 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5493
5494         Patch by: Stefan Kost
5495
5496         * common/gtk-doc.mak:
5497         * docs/gst/Makefile.am:
5498         * docs/libs/Makefile.am:
5499           Fix distcheck issues for the libraries docs build
5500           Closes #319599.
5501
5502 2005-11-24  Michael Smith <msmith@fluendo.com>
5503
5504         * docs/manual/basics-helloworld.xml:
5505           Fix bug #315027: memory leak in example code in docs.
5506
5507 2005-11-24  Michael Smith <msmith@fluendo.com>
5508
5509         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5510           Unlock the PREROLL_LOCK in a failure case.
5511
5512 2005-11-24  Wim Taymans  <wim@fluendo.com>
5513
5514         * docs/gst/gstreamer-sections.txt:
5515         * gst/base/gstadapter.h:
5516         * gst/base/gstbasesink.h:
5517         * gst/base/gstbasesrc.h:
5518         * gst/base/gstbasetransform.h:
5519         * gst/base/gstpushsrc.h:
5520         * gst/elements/gstfakesink.h:
5521         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5522         * gst/elements/gstfakesrc.h:
5523         * gst/elements/gstfilesink.h:
5524         * gst/elements/gstfilesrc.h:
5525         * gst/gst.c:
5526         * gst/gstbin.c:
5527         * gst/gstbuffer.c: (_gst_buffer_copy):
5528         * gst/gstbus.h:
5529         * gst/gstcaps.c:
5530         * gst/gstchildproxy.c:
5531         * gst/gstclock.c:
5532         * gst/gstelement.c:
5533         * gst/gstelementfactory.c:
5534         * gst/gstelementfactory.h:
5535         * gst/gstevent.c:
5536         * gst/gstghostpad.h:
5537         * gst/gstindex.h:
5538         * gst/gstinterface.h:
5539         * gst/gstminiobject.c:
5540         * gst/gstminiobject.h:
5541         * gst/gstpad.c:
5542         * gst/gstpad.h:
5543         * gst/gstpadtemplate.h:
5544         * gst/gstpipeline.h:
5545         * gst/gstpluginfeature.h:
5546         * gst/gstquery.h:
5547         * gst/gstqueue.h:
5548         * gst/gsttaglist.c:
5549         * gst/gsttaglist.h:
5550         * gst/gsttagsetter.c:
5551         * gst/gsttagsetter.h:
5552         * gst/gsttrace.c:
5553         * gst/gsttrace.h:
5554         * gst/gsttypefind.h:
5555         * gst/gsturi.h:
5556         * gst/gstvalue.c:
5557         * gst/net/gstnetclientclock.c:
5558         * gst/net/gstnetclientclock.h:
5559         * gst/net/gstnettimepacket.c:
5560         * gst/net/gstnettimeprovider.c:
5561         * gst/net/gstnettimeprovider.h:
5562         Doc fixes.
5563
5564 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5565
5566         * configure.ac: back to HEAD
5567
5568 === release 0.9.6 ===
5569
5570 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5571
5572         * configure.ac:
5573           releasing 0.9.6, "Always On Time"
5574
5575 2005-11-23  Wim Taymans  <wim@fluendo.com>
5576
5577         * docs/gst/gstreamer-sections.txt:
5578         * gst/glib-compat.c:
5579         * gst/gsttagsetter.c:
5580         * gst/gstvalue.c:
5581         * gst/net/gstnetclientclock.c:
5582         * gst/net/gstnettimepacket.h:
5583         Doc updates.
5584
5585 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5586
5587         * docs/faq/using.xml:
5588         * docs/libs/tmpl/gstcontrol.sgml:
5589         * docs/manual/advanced-dparams.xml:
5590         * docs/manual/appendix-checklist.xml:
5591         * docs/manual/basics-elements.xml:
5592         * docs/pwg/other-source.xml:
5593         * docs/random/moving-plugins:
5594         * gst/gstpad.c:
5595         * tools/gst-launch.1.in:
5596           remove mentions of sinesrc
5597
5598 2005-11-23  Michael Smith <msmith@fluendo.com>
5599
5600         * docs/gst/gstreamer-sections.txt:
5601           Update for new API and API changes.
5602         * gst/gstobject.h:
5603           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5604         * gst/gstvalue.c:
5605           Documentation typo fix.
5606         * gst/net/gstnettimepacket.c:
5607           Documentation fixes for arguments.
5608
5609 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5610
5611         * gst/gststructure.c: (gst_structure_get_fraction),
5612         (gst_structure_parse_value),
5613         (gst_structure_fixate_field_nearest_fraction):
5614         * gst/gststructure.h:
5615         * gst/gstutils.c: (gst_util_uint64_scale_int):
5616         * gst/gstutils.h:
5617         * scripts/update-funcnames:
5618         API Changes. 
5619         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5620         Make gst_structure_fixate_field_nearest_fraction take a numerator
5621         and denominator argument instead of a GValue
5622         add gst_structure_get_fraction helper function.
5623
5624 2005-11-23  Wim Taymans  <wim@fluendo.com>
5625
5626         * docs/design/part-TODO.txt:
5627         Update TODO.
5628
5629         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5630         * gst/net/gstnetclientclock.h:
5631         Use parent fields for timeout and window_size.
5632
5633 2005-11-23  Andy Wingo  <wingo@pobox.com>
5634
5635         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5636         rate_num/rate_denom change.
5637
5638         * gst/net/gstnetclientclock.c
5639         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5640         OBJECT_LOCK. Don't call add_observation with the lock.
5641
5642         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5643         fraction.
5644         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5645         rate fraction.
5646         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5647         deal with rate as a fraction whose numerator and denominator are
5648         GstClockTime values.
5649         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5650         master; the other fields are protected by the SLAVE_LOCK.
5651         (do_linear_regression): Note that this must be called with the
5652         SLAVE_LOCK.
5653         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5654         OBJECT_LOCK. Call set_calibration instead of touching the
5655         variables directly.
5656         (gst_clock_set_property, gst_clock_get_property): Protect
5657         master/slave parameters with the SLAVE_LOCK.
5658
5659         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5660         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5661         note that all of the instance variables that add_observation and
5662         the set_master functions use are protected by that lock and not
5663         the OBJECT_LOCK.
5664         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5665
5666         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5667         the caller to take the object lock.
5668
5669 2005-11-23  Wim Taymans  <wim@fluendo.com>
5670
5671         * gst/gsterror.c: (_gst_core_errors_init):
5672         * gst/gsterror.h:
5673         Add error for clock stuff.
5674
5675         * gst/gstpipeline.c: (gst_pipeline_change_state),
5676         (gst_pipeline_set_clock):
5677         Post clock error when clock cannot be used in a pipeline.
5678
5679 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5680
5681         * docs/gst/gstreamer-sections.txt:
5682           make two symbols from gstinfo private for the docs
5683         * gst/base/gstcollectpads.h:
5684         * gst/gstutils.c:
5685           fix doc typos, update docs
5686
5687 2005-11-22  Wim Taymans  <wim@fluendo.com>
5688
5689         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5690         (gst_base_sink_wait), (gst_base_sink_do_sync),
5691         (gst_base_sink_handle_event):
5692         * gst/base/gstbasesink.h:
5693         No need to store the clock, the parent element class already
5694         has it.
5695
5696         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5697         Updates for clock_set returning a gboolean
5698
5699         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5700         (gst_clock_id_wait_async), (gst_clock_class_init),
5701         (gst_clock_init), (gst_clock_finalize),
5702         (gst_clock_get_internal_time), (gst_clock_get_time),
5703         (gst_clock_slave_callback), (gst_clock_set_master),
5704         (gst_clock_get_master), (do_linear_regression),
5705         (gst_clock_add_observation), (gst_clock_set_property),
5706         (gst_clock_get_property):
5707         * gst/gstclock.h:
5708         Implement master/slave. When setting a clock as a slave, a
5709         periodic timeout is scheduled to sample master and slave times.
5710         Then the slave clock is recalibrated to match offset and rate
5711         of the master clock.
5712         Update logging a bit.
5713         Add flag so that a clock can state that is cannot be slaved to
5714         another clock.
5715
5716         * gst/gstelement.c: (gst_element_set_clock):
5717         * gst/gstelement.h:
5718         The set clock returns a gboolean for when an element cannot
5719         deal with the selected clock in the pipeline. 
5720
5721         * gst/gstpipeline.c: (gst_pipeline_change_state),
5722         (gst_pipeline_set_clock):
5723         * gst/gstpipeline.h:
5724         Handle the case where the selected clock cannot be set on
5725         the pipeline.
5726
5727         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5728         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5729         (gst_net_client_clock_set_property),
5730         (gst_net_client_clock_get_property),
5731         (gst_net_client_clock_observe_times):
5732         * gst/net/gstnetclientclock.h:
5733         Use regression code in GstClock parent, remove duplicated
5734         functionality.
5735
5736 2005-11-22  Michael Smith <msmith@fluendo.com>
5737
5738         * gst/gstutils.c: (gst_util_clock_time_scale):
5739         * gst/gstutils.h:
5740         * docs/gst/gstreamer-sections.txt:
5741           Rename method to have extra underscore.
5742
5743 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5744
5745         * gst/elements/Makefile.am:
5746         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5747         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5748         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5749         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5750         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5751         * gst/elements/gstfakesrc.h:
5752         * gst/gstqueue.c: (queue_leaky_get_type):
5753           correctly fix GEnumValues so that nick is the short lowercase
5754           dashed tag
5755         * tools/gst-inspect.c: (print_element_properties_info):
5756           also show the nick, since it's useful to use from parse_launch
5757           syntax
5758           Fixes #322139
5759
5760 2005-11-22  Michael Smith <msmith@fluendo.com>
5761
5762         * gst/gstutils.c: (gst_util_clocktime_scale):
5763         * gst/gstutils.h:
5764         * docs/gst/gstreamer-sections.txt:
5765           Add util method for scaling a clocktime by a fraction. Useful 
5766           implementation is left as an exercise for the reader.
5767
5768 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5769
5770         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5771         If needed, allocate storage in the destination value during
5772         collection.
5773
5774 2005-11-22  Edward Hervey  <edward@fluendo.com>
5775
5776         * docs/gst/gstreamer-sections.txt:
5777         * gst/Makefile.am:
5778         * gst/gst.h:
5779         * gst/gsturitype.c:
5780         * gst/gsturitype.h:
5781         * gst/gstutils.c: (gst_util_set_object_arg):
5782         * tools/gst-compprep.c: (main):
5783         * tools/gst-inspect.c: (print_element_properties_info):
5784         Removed GstURI, closes bug #321061
5785
5786 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5787
5788         * check/gst/gststructure.c: (GST_START_TEST):
5789         * gst/gststructure.c: (gst_structure_parse_value):
5790           Oops, broke automatic string type parsing.
5791           Add a test to catch it in future.
5792
5793 2005-11-22  Andy Wingo  <wingo@pobox.com>
5794
5795         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
5796         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5797         Actually rename the function implementations. Grr.
5798
5799 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5800
5801         * check/gst/capslist.h:
5802           Comment test cases
5803         * check/gst/gststructure.c: (GST_START_TEST),
5804         (gst_structure_suite):
5805           Test automatic value type detection in gst_structure_from_string.
5806         * gst/gststructure.c: (gst_structure_parse_value):
5807           Add fraction as a type we try and guess automatically in
5808           caps/structure strings.
5809
5810 2005-11-22  Andy Wingo  <wingo@pobox.com>
5811
5812         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5813
5814         * gst/gsttagsetter.h:
5815         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5816         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5817         (gst_tag_setter_add_tag_valist)
5818         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5819         _add_values, _add_valist, and _add_valist_values. Since this is an
5820         interface the function suffixes should be more explicit so
5821         language binding don't end up with element.add_valist ->
5822         gst_tag_setter_add_valist, for example. Fixes #322069.
5823
5824 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5825
5826         * check/gst/gstcaps.c: (GST_START_TEST):
5827           Extend caps string tests to check that a caps to string
5828           conversion is reversible and produces the same caps.
5829
5830         * gst/gststructure.c: (gst_structure_value_get_generic_type):
5831           Output "fraction" as the generic type fraction range, so caps
5832           serialisation and deserialisation works.
5833         * check/gst/capslist.h:
5834         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5835           Support 'MIN' and 'MAX' for deserialising fractions.
5836
5837 2005-11-22  Andy Wingo  <wingo@pobox.com>
5838
5839         * gst/gstevent.h (gst_event_new_new_segment)
5840         (gst_event_parse_new_segment, gst_event_new_buffer_size)
5841         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
5842         Renamed from *_newsegment, *_buffersize, *_notarget.
5843
5844         * scripts/update-funcnames: New script, performs the changes
5845         listed above.
5846
5847 2005-11-22  Wim Taymans  <wim@fluendo.com>
5848
5849         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5850         Make sure the GstFlowReturn is returned.
5851
5852         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
5853         (gst_bus_add_signal_watch):
5854         * gst/gstbus.h:
5855         add gst_bus_add_signal_watch_full.
5856
5857         * gst/gstplugin.c: (gst_plugin_load_file):
5858         Small style cleanup.
5859
5860 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5861
5862         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
5863           Block the fakesrc srcpad when we send an event, to avoid
5864           contention on the stream_lock causing random test failures.
5865
5866 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5867
5868         * check/gst/gstvalue.c: (GST_START_TEST):
5869         * gst/gstvalue.c: (gst_value_fraction_subtract):
5870           Fix subtraction.
5871
5872 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
5873
5874         * gst/gst.h:
5875           include "gstchildproxy.h"
5876         * gst/gstchildproxy.h:
5877         * libs/gst/controller/gstcontroller.h:
5878           use G_GNUC_NULL_TERMINATED
5879
5880 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5881
5882         * check/gst/capslist.h:
5883         * check/gst/gstcaps.c: (GST_START_TEST):
5884         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5885         * gst/gststructure.c: (gst_structure_parse_range),
5886         (gst_structure_fixate_field_nearest_fraction):
5887         * gst/gststructure.h:
5888         * gst/gstvalue.c: (gst_value_init_fraction_range),
5889         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5890         (gst_value_collect_fraction_range),
5891         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5892         (gst_value_set_fraction_range_full),
5893         (gst_value_get_fraction_range_min),
5894         (gst_value_get_fraction_range_max),
5895         (gst_value_serialize_fraction_range),
5896         (gst_value_transform_fraction_range_string),
5897         (gst_value_compare_fraction_range),
5898         (gst_value_deserialize_fraction_range),
5899         (gst_value_intersect_fraction_fraction_range),
5900         (gst_value_intersect_fraction_range_fraction_range),
5901         (gst_value_subtract_fraction_fraction_range),
5902         (gst_value_subtract_fraction_range_fraction),
5903         (gst_value_subtract_fraction_range_fraction_range),
5904         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5905         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5906         (gst_value_transform_string_fraction), (_gst_value_initialize):
5907         * gst/gstvalue.h:
5908           Implement fraction ranges and extend GstFraction to support
5909           arithmetic subtraction, as well as deserialization from integer
5910           strings such as "100"
5911           Add a testsuite as for int and double range set operations
5912
5913 2005-11-21  Andy Wingo  <wingo@pobox.com>
5914
5915         * gst/gsttaglist.h: 
5916         * gst/gstcaps.h: 
5917         * gst/gststructure.h: Add glib-compat.h.
5918
5919 2005-11-21  Wim Taymans  <wim@fluendo.com>
5920
5921         * gst/gstbin.c: (gst_bin_change_state_func):
5922         Fix for #321595
5923
5924 2005-11-21  Wim Taymans  <wim@fluendo.com>
5925
5926         * gst/gstsegment.h:
5927         And add a nice define too.
5928
5929 2005-11-21  Wim Taymans  <wim@fluendo.com>
5930
5931         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5932         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5933         (gst_segment_set_duration), (gst_segment_set_last_stop),
5934         (gst_segment_set_seek), (gst_segment_set_newsegment),
5935         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5936         (gst_segment_clip):
5937         * gst/gstsegment.h:
5938         Make binding friendly.
5939
5940 2005-11-21  Andy Wingo  <wingo@pobox.com>
5941
5942         * gst/gsttagsetter.h: 
5943         * gst/gsttaglist.h: 
5944         * gst/gststructure.h: 
5945         * gst/gstcaps.h: 
5946         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
5947         #319940.
5948
5949         * gst/gsterror.c (_gst_core_errors_init):
5950         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
5951         category.
5952
5953         * gst/Makefile.am (gst_headers): Add glib-compat.h.
5954         (noinst_HEADERS): noinst the -private.
5955
5956 2005-11-21  Michael Smith <msmith@fluendo.com>
5957
5958         * gst/gstplugin.h:
5959         * gst/gstregistry.h:
5960           Remove unimplemented declarations for which we can see no sensible
5961           use.
5962
5963 2005-11-21  Andy Wingo  <wingo@pobox.com>
5964
5965         * gst/gst.h: Include glib-compat.h.
5966
5967         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
5968
5969         * gst/glib-compat.c: Include the public and the private header.
5970
5971         * gst/glib-compat-private.h: Copied here from glib-compat.h.
5972
5973         * gst/gstvalue.c: 
5974         * gst/gstpad.c: 
5975         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
5976
5977         * check/gst/gstevent.c (create_custom_events): Check that
5978         FLUSH_STOP is serialized.
5979
5980         * check/elements/identity.c (event_func): 
5981         * check/elements/fakesrc.c (event_func): No stream lock, the core
5982         takes it.
5983
5984         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
5985         stream lock taking, yay.
5986
5987         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
5988         ensure that core takes the stream lock.
5989
5990         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
5991         lock name change.
5992
5993         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
5994         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
5995         it already. For the flush start we do take it though so we get the
5996         right preroll state change messages.
5997
5998         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
5999         the stream lock here, the core does it for us.
6000
6001         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6002         GST_STREAM_GET_LOCK.
6003         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6004         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6005         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6006         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6007         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6008         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6009
6010         * gst/gstpad.c: Update for stream lock name change.
6011
6012         * gst/base/gstbasesink.c: Update for preroll lock name change.
6013
6014 2005-11-21  Wim Taymans  <wim@fluendo.com>
6015
6016         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6017         (gst_clock_get_master):
6018         * gst/gstclock.h:
6019         * gst/gstsystemclock.c: (gst_system_clock_init):
6020         Convert Clock flags to object flags.
6021         Added methods to manage master/slave clocks.
6022
6023 2005-11-21  Wim Taymans  <wim@fluendo.com>
6024
6025         * check/gst/gstsegment.c: (GST_START_TEST):
6026         * docs/design/part-TODO.txt:
6027         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6028         (gst_base_sink_event), (gst_base_sink_do_sync),
6029         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6030         (gst_base_sink_query), (gst_base_sink_change_state):
6031         * gst/base/gstbasesink.h:
6032         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6033         (gst_base_src_default_newsegment),
6034         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6035         (gst_base_src_get_range), (gst_base_src_loop),
6036         (gst_base_src_change_state):
6037         * gst/base/gstbasesrc.h:
6038         * gst/base/gstbasetransform.c:
6039         (gst_base_transform_prepare_output_buf),
6040         (gst_base_transform_event), (gst_base_transform_change_state):
6041         * gst/base/gstbasetransform.h:
6042         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6043         (gst_collect_pads_event):
6044         * gst/base/gstcollectpads.h:
6045         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6046         (gst_fake_src_create):
6047         * gst/elements/gstfakesrc.h:
6048         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6049         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6050         (gst_segment_set_last_stop), (gst_segment_set_seek),
6051         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6052         (gst_segment_to_running_time), (gst_segment_clip):
6053         * gst/gstsegment.h:
6054         More segment updates, replace code in plugins with segment
6055         helper functions.
6056
6057 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6058
6059         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6060         Don't ignore sscanf results
6061
6062 2005-11-21  Andy Wingo  <wingo@pobox.com>
6063
6064         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6065
6066         * *.h:
6067         * *.c: Ran scripts/update-macros. Oh yes.
6068
6069         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6070         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6071         GST_GET_LOCK, etc.
6072
6073         * scripts/update-macros: New script. Run it on your files to
6074         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6075         well.
6076
6077 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6078
6079         * docs/gst/Makefile.am:
6080         * docs/gst/gstreamer-docs.sgml:
6081         * docs/gst/gstreamer-sections.txt:
6082         * docs/gst/gstreamer.types:
6083         * gst/gstinfo.h:
6084           more docs fixes, add new api to the docs
6085
6086 2005-11-21  Andy Wingo  <wingo@pobox.com>
6087
6088         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6089         state_broadcast call.
6090
6091         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6092
6093 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6094
6095         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6096         function calls for arrays.
6097
6098 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6099
6100         * docs/random/ensonic/media-device-daemon.txt:
6101           wild idea, can this be done?
6102         * docs/gst/gstreamer-sections.txt:
6103         * gst/gsterror.h:
6104         * gst/gstfilter.c:
6105         * gst/gstfilter.h:
6106         * gst/gstplugin.h:
6107         * gst/gstpluginfeature.c:
6108         * gst/gsttrace.c:
6109         * gst/gstvalue.c:
6110         * gst/gstvalue.h:
6111           doc fixes and additions
6112
6113 2005-11-21  Andy Wingo  <wingo@pobox.com>
6114
6115         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6116         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6117         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6118         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6119         private to the basesrc implementation.
6120
6121         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6122         behalf of event function if necessary. It should no longer be
6123         necessary to take the stream lock in pad's event functions. Fixes
6124         #320299.
6125
6126 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6127         * docs/gst/gstreamer-sections.txt:
6128         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6129         (gst_structure_fixate_field_nearest_double),
6130         (gst_structure_fixate_field_boolean):
6131         * gst/gststructure.h:
6132         * win32/common/libgstreamer.def:
6133         * win32/gstreamer.def:
6134
6135         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6136         (#322027)
6137
6138 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6139
6140         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6141         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6142         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6143         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6144         (gst_fdsrc_uri_handler_init):
6145         * gst/elements/gstfdsrc.h:
6146           Port fd:// URI handler from 0.8 to fdsrc
6147
6148 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6149
6150         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6151         (gst_value_serialize_fourcc):
6152         * gst/gstvalue.h:
6153           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6154           consistent with our other format defines (#320324).
6155
6156 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6157
6158         * gst/gstvalue.c: (gst_value_is_fixed):
6159           Revert previous commit. Value lists are by definition
6160           not fixed, as they are a list of possible values.
6161
6162 2005-11-21  Andy Wingo  <wingo@pobox.com>
6163
6164         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6165         during the stable series if we need it. Fixes #319178.
6166
6167         * gst/gstevent.c (gst_event_new_filler): Removed.
6168
6169         * check/gst/gstevent.c: Update comment about filler events.
6170
6171 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6172
6173         * gst/gstvalue.c: (gst_value_is_fixed):
6174           Should handle both value arrays and value lists.
6175
6176 2005-11-21  Andy Wingo  <wingo@pobox.com>
6177
6178         patch by: Alessandro Dessina <alessandro nnva org>
6179
6180         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6181         functions to access arrays. Fixes #321962.
6182
6183 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6184
6185         * docs/gst/gstreamer.types:
6186           gst_collectpads_get_type => gst_collect_pads_get_type.
6187           
6188         * gst/base/gstbasetransform.c:
6189           Remove unused SIGNAL_HANDOFF enum.
6190
6191 2005-11-21  Andy Wingo  <wingo@pobox.com>
6192
6193         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6194         the event type (upstream, downstream, serialized). Renamed
6195         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6196         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6197         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6198
6199         * gst/gstevent.c: Update for new CUSTOM event names.
6200
6201         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6202
6203         * gst/gstevent.h:
6204         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6205         bug #319392.
6206
6207 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6208
6209         * docs/gst/gstreamer-sections.txt:
6210         * win32/common/libgstbase.def:
6211         * win32/libgstbase.def:
6212         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6213         (gst_collect_pads_class_init), (gst_collect_pads_init),
6214         (gst_collect_pads_finalize), (gst_collect_pads_new),
6215         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6216         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6217         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6218         (gst_collect_pads_start), (gst_collect_pads_stop),
6219         (gst_collect_pads_peek), (gst_collect_pads_pop),
6220         (gst_collect_pads_available), (gst_collect_pads_read),
6221         (gst_collect_pads_flush), (gst_collect_pads_event),
6222         (gst_collect_pads_chain):
6223         * gst/base/gstcollectpads.h:
6224           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6225           unimplemented functions as unimplemented. Add padding to
6226           GstCollectData. (#320766, #320423)
6227
6228 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6229
6230         * gst/gstmessage.c:
6231           Improve docs for DURATION message (usage of duration parameter)
6232           (#320113)
6233
6234 2005-11-20  Wim Taymans  <wim@fluendo.com>
6235
6236         * check/Makefile.am:
6237         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6238         (main):
6239         * gst/Makefile.am:
6240         * gst/gst.h:
6241         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6242         (gst_segment_set_seek), (gst_segment_set_newsegment),
6243         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6244         (gst_segment_clip):
6245         * gst/gstsegment.h:
6246         Added segment helper structure and methods. Not fully implemented
6247         yet.
6248         Added segment check.
6249
6250 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6251
6252         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6253           Add a deserialisation test for fractions
6254         * examples/metadata/read-metadata.c: (message_loop),
6255         (make_pipeline), (main):
6256           Fix up metadata reading sample.
6257         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6258           Debug format fix
6259         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6260           Don't try and fixate empty caps
6261         * gst/gst_private.h:
6262           Wrap in G_BEGIN_DECLS/G_END_DECLS
6263         * gst/gstvalue.c: (gst_value_collect_fraction),
6264         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6265         (gst_value_transform_string_fraction),
6266         (gst_value_compare_fraction):
6267           Add some extra guards to ensure that we don't end up 
6268           with an invalid denominator of 0 in a gstfraction and
6269           that fractions always get reduced.
6270
6271 2005-11-20  Wim Taymans  <wim@fluendo.com>
6272
6273         * docs/gst/gstreamer-sections.txt:
6274         * gst/gstbuffer.h:
6275         * gst/gstelement.c:
6276         * gst/gstformat.c:
6277         * gst/gstformat.h:
6278         * gst/gstindex.h:
6279         * gst/gstquery.c:
6280         * gst/gstquery.h:
6281         * gst/gstvalue.c:
6282         Doc fixes.
6283
6284 2005-11-20  Wim Taymans  <wim@fluendo.com>
6285
6286         * docs/design/part-TODO.txt:
6287         * gst/gstcaps.h:
6288         Make a proper enum of the flag.
6289
6290 2005-11-19  Wim Taymans  <wim@fluendo.com>
6291
6292         * docs/design/part-TODO.txt:
6293         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6294         (gst_format_to_quark), (gst_format_register):
6295         * gst/gstformat.h:
6296         * gst/gstquery.c: (_gst_query_initialize),
6297         (gst_query_type_get_name), (gst_query_type_to_quark),
6298         (gst_query_type_register):
6299         * gst/gstquery.h:
6300         Add type to quark and type to string conversions.
6301
6302 2005-11-19  Andy Wingo  <wingo@pobox.com>
6303
6304         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6305         #320097.
6306
6307 2005-11-19  Wim Taymans  <wim@fluendo.com>
6308
6309         * docs/design/part-TODO.txt:
6310         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6311         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6312         (gst_bin_handle_message_func):
6313         * gst/gstbin.h:
6314         Make message handling overridable.
6315
6316 2005-11-19  Andy Wingo  <wingo@pobox.com>
6317
6318         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6319
6320         * gst/gstclock.h:
6321         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6322         be a GstClockTime.
6323         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6324         is a GstClockTime. Fixes #321710.
6325
6326         * gst/gstclock.h (GstClock): Remove offset property. Add
6327         internal_calibration and external_calibration. Fix padding. Pad
6328         also by GstClockTime so we don't run into problems.
6329
6330         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6331         (gst_clock_get_rate_offset): Remove.
6332         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6333
6334         * gst/gstutils.h:
6335         * gst/gstutils.c (g_static_rec_cond_wait)
6336         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6337
6338         * gst/gstbin.c: Remove terrible continue_state prototype.
6339
6340         * gst/gstelement.h (gst_element_continue_state): Make public.
6341
6342         * gst/gstelement.h:
6343         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6344         by continue_state. Fixes #319389.
6345
6346         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6347         Really fixes #168438. However I don't see anywhere where the
6348         filter function is called... stupid GStreamer...
6349         
6350         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6351         don't have a dispose function, so it won't get called when the
6352         object is unreffed, but oh well!
6353
6354         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6355         allows a destroy function to be set so user_data can be freed.
6356         Fixes #168438.
6357         (gst_index_set_filter): Call gst_index_set_filter_full.
6358
6359         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6360
6361         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6362         string should produce an error, given the lack of a way to
6363         represent NULL strings. Fixes #165650.
6364         
6365         * gst/gstvalue.h: 
6366         * gst/gstvalue.c (gst_value_array_append_value) 
6367         (gst_value_array_prepend_value, gst_value_array_get_size) 
6368         (gst_value_array_get_value): New API, copied from
6369         gst_value_list_*, only operates on arrays.
6370         (gst_value_list_append_value, gst_value_list_prepend_value) 
6371         (gst_value_list_concat, gst_value_list_get_size) 
6372         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6373
6374         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6375         init_list, because it works on both.
6376         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6377         (gst_value_copy_list_or_array): Renamed from copy_list.
6378         (gst_value_free_list_or_array): Renamed from free_list.
6379         (gst_value_collect_list_or_array): Renamed from collect_list.
6380         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6381         (gst_value_list_or_array_peek_pointer): Renamed from
6382         list_peek_pointer.
6383         (_gst_value_array_value_table, _gst_value_list_value_table):
6384         Update value table functions.
6385         (gst_value_compare_list_or_array): Renamed from compare_list.
6386
6387         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6388         some constness.
6389
6390         * gst/gsttaglist.c:
6391         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6392         GstTagList*. Fixes #143472.
6393
6394         * gst/gststructure.h: Clarify what the foreach/map functions can
6395         or can't do to their arguments.
6396
6397 2005-11-18  Wim Taymans  <wim@fluendo.com>
6398
6399         * gst/gstclock.c: (gst_clock_set_calibration),
6400         (gst_clock_get_calibration):
6401         Doc and API fixes.
6402         Calibration can be set with internal time equal to current
6403         internal time too.
6404
6405 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6406
6407         * gst/gsterror.c:
6408         * gst/gsterror.h:
6409           document
6410
6411 2005-11-18  Andy Wingo  <wingo@pobox.com>
6412
6413         * configure.ac: 
6414         * pkgconfig/gstreamer-net.pc.in:
6415         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6416         * pkgconfig/Makefile.am: Add net pkgconfig files.
6417
6418 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6419
6420         * gst/gstcaps.c:
6421         * gst/gstghostpad.c:
6422         * gst/gsttrace.c:
6423         * gst/gstvalue.c:
6424         * gst/gstvalue.h:
6425           docs fixes
6426
6427 2005-11-18  Andy Wingo  <wingo@pobox.com>
6428
6429         * gst/net/gstnetclientclock.c: Turn off debugging.
6430
6431         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6432         times connverge somewhat. Can't make a real test.
6433
6434         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6435         integer arithmetic. Return the minimum of the domain, which can be
6436         set as "internal" for gst_clock_set_calibration.
6437         (gst_net_client_clock_observe_times): Call _set_calibration.
6438         (gst_net_client_clock_new): Call _set_calibration instead of
6439         rate_offset.
6440
6441         * check/net/gstnetclientclock.c (test_functioning): Use the right
6442         adjustment api.
6443
6444         * gst/gstclock.h:
6445         * gst/gstclock.c (gst_clock_get_calibration) 
6446         (gst_clock_set_calibration): New functions, obsolete the ones I
6447         added yesterday. Doh. Precision issues mean we have to extrapolate
6448         from a point in the more recent past than 1970.
6449         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6450         obsolete.
6451         (gst_clock_adjust_unlocked): Use the right calibration data.
6452
6453 2005-11-18  Edward Hervey  <edward@fluendo.com>
6454
6455         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6456         Also reset the ->current_* values in READY->PAUSED
6457
6458 2005-11-18  Andy Wingo  <wingo@pobox.com>
6459
6460         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6461         Whoops, check the right fd. Also add some debugging.
6462         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6463         (do_linear_regression): Add a crapload of debugging. Subtract off
6464         the minimum values from the input series to discard unneeded bits.
6465         Use only int arithmetic. There is still double arithmetic when
6466         calculating the intercept that needs fixing. Return boolean to
6467         indicate success; FALSE would mean the domain or range is too
6468         great. Still needs fixes.
6469
6470 2005-11-18  Wim Taymans  <wim@fluendo.com>
6471
6472         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6473         For the current position in stream time, we need to subtract
6474         accumulated time.
6475         
6476         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6477         Release lock before calling the callback function of async
6478         entries.
6479
6480 2005-11-18  Andy Wingo  <wingo@pobox.com>
6481
6482         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6483         Port goes all the way to MAXUINT16.
6484
6485         * gst/net/gstnettimeprovider.c: Make the port range the same as
6486         for the kernel: 0 assigns, otherwise ports are less than
6487         MAXUINT16.
6488
6489         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6490         port change.
6491
6492         * check/net/gstnetclientclock.c (test_functioning): Add the start
6493         of another test. 
6494
6495 2005-11-18  Wim Taymans  <wim@fluendo.com>
6496
6497         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6498         (gst_bin_remove_func), (bin_bus_handler):
6499         * gst/gstbin.h:
6500         Removing a clock provider from a bin, triggers a clock lost message
6501         so that a new clock will be selected.
6502         Adding a clock to a bin triggers a clock provider message.
6503         Make sure we reselect a clock when we received a clock lost message.
6504         Keep a reference to the element that provided the clock.
6505
6506 2005-11-18  Andy Wingo  <wingo@pobox.com>
6507
6508         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6509         the clock initially so it produces values around the base time.
6510         (gst_net_client_clock_class_init): Typo fix.
6511         (gst_net_client_clock_thread): Add note on when the socket gets
6512         closed.
6513
6514 2005-11-17  Wim Taymans  <wim@fluendo.com>
6515
6516         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6517         Free remote and local time arrays.
6518
6519 2005-11-17  Wim Taymans  <wim@fluendo.com>
6520
6521         * gst/net/gstnetclientclock.c: (do_linear_regression),
6522         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6523         Fix compilation, uninitialized vars and a forgotten continue.
6524
6525 2005-11-17  Andy Wingo  <wingo@pobox.com>
6526
6527         * check/Makefile.am (check_PROGRAMS): 
6528         * check/net/gstnetclientclock.c: Add a most minimal test for the
6529         net client clock. More to come later.
6530
6531         * gst/net/gstnet.h: 
6532         * gst/net/Makefile.am: Add netclientclock.
6533
6534         * gst/net/gstnetclientclock.h:
6535         * gst/net/gstnetclientclock.c: New files, implement an untested
6536         GstClock that takes its time from a network time provider.
6537         Implements the algorithm in network-clock.scm.
6538
6539         * tests/network-clock.scm (*window-size*): Rename from
6540         *queue-length*.
6541         * tests/network-clock.scm (network-time): 
6542         * tests/network-clock-utils.scm (q-push): Update callers.
6543
6544 2005-11-17  Wim Taymans  <wim@fluendo.com>
6545
6546         * gst/gstbin.c: (gst_bin_provide_clock_func),
6547         (gst_bin_sort_iterator_new):
6548         And unref the child too..
6549
6550 2005-11-17  Wim Taymans  <wim@fluendo.com>
6551
6552         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6553         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6554         Refactor the sort iterator so it can be used while holding the
6555         LOCK too.
6556         Make clock selection select a clock closest to the source.
6557
6558 2005-11-17  Michael Smith <msmith@fluendo.com>
6559
6560         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6561         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6562         * gst/gstclock.h:
6563           Anonymous structs are a gcc (and some other compilers) extension, so
6564           don't use them. Since this is only for ABI-compatibility, and our
6565           API/ABI freeze is over in a few days, this whole thing will only
6566           last a few days, so don't bother trying to think up a meaningful
6567           name for the struct.
6568
6569 2005-11-17  Andy Wingo  <wingo@pobox.com>
6570
6571         * gst/gstclock.h (GstClock): Add rate and offset properties,
6572         preserving ABI stability. Add rate/offset accessors. Will file bug
6573         for the freeze break.
6574
6575         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6576         and offset, trying to keep precision and avoiding
6577         underflow/overflow.
6578         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6579         functions. Make gst_clock_set_time_adjust obsolete.
6580         (gst_clock_set_time_adjust): Note that this function is obsolete.
6581         Will file bug soon.
6582
6583         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6584         greppable by using GST_PADDING-1+1.
6585
6586 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6587
6588         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6589
6590         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6591           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6592
6593         * gst/gstpadtemplate.h:
6594         * gst/gstpluginfeature.h:
6595           Don't use c++ style comments in headers (#321638).
6596
6597 2005-11-16  Andy Wingo  <wingo@pobox.com>
6598
6599         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6600         buffer.
6601
6602         * check/net/gstnettimeprovider.c: Check to see that the time
6603         provider actually provides times. Works, yo!
6604
6605 2005-11-16  Wim Taymans  <wim@fluendo.com>
6606
6607         * check/Makefile.am:
6608         Enable more tests.
6609
6610         * check/elements/fakesrc.c: (GST_START_TEST):
6611         Set element to NULL before disposing it.
6612
6613 2005-11-16  Andy Wingo  <wingo@pobox.com>
6614
6615         * gst/net/Makefile.am:
6616         * gst/net/gstnet.h:
6617         * gst/net/gstnettimeprovider.c: 
6618         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6619         provider, include it from gstnet.h, and add it to the build.
6620
6621         * gst/net/gstnettimepacket.h: 
6622         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6623         sending and receiving.
6624
6625 2005-11-16  Wim Taymans  <wim@fluendo.com>
6626
6627         * check/Makefile.am:
6628         Enable valgrind check.
6629
6630         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6631         (gst_fake_src_alloc_buffer):
6632         Fix memleak.
6633
6634 2005-11-16  Wim Taymans  <wim@fluendo.com>
6635
6636         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6637         Call parent finalize too.
6638
6639 2005-11-16  Wim Taymans  <wim@fluendo.com>
6640
6641         * check/Makefile.am:
6642         Enable valgrind check that should work fine now.
6643
6644         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6645         * gst/gstqueue.c: (gst_queue_init):
6646         Fix memleaks in pad allocation.
6647
6648 2005-11-16  Andy Wingo  <wingo@pobox.com>
6649
6650         * gst/net/Makefile.am:
6651         * gst/net/gstnet.h: New part of core to hold network elements and
6652         objects. Put in core because it exposes API that applications want
6653         to use. The library is named libgstnet-tempname right now because
6654         of the existing libgstnet in gst-plugins-base. Solution is
6655         probably to rename the one in plugins-base; will file a bug for
6656         the freeze break.
6657
6658         * gst/net/gstnettimeprovider.c: 
6659         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6660         get_time call over the network.
6661
6662         * configure.ac: 
6663         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6664
6665         * check/Makefile.am:
6666         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6667         get additions shortly.
6668
6669 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6670
6671         * gst/gstpad.c: (gst_pad_new_from_static_template):
6672         * gst/gstpad.h:
6673           add gst_pad_new_from_static_template functions
6674         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6675         (gst_check_setup_sink_pad):
6676         * gst/elements/gsttee.c: (gst_tee_init):
6677           and use them
6678
6679 2005-11-16  Wim Taymans  <wim@fluendo.com>
6680
6681         * gst/gstpad.c: (gst_pad_pause_task):
6682         Removed warning, it's not really an error either.
6683
6684 2005-11-16  Wim Taymans  <wim@fluendo.com>
6685
6686         * gst/base/gstbasetransform.c:
6687         (gst_base_transform_prepare_output_buf),
6688         (gst_base_transform_event):
6689         Check if the caps are NULL, this can happen if the element
6690         is shutting down and the pad caps are set to NULL.
6691
6692 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6693
6694         * gst/elements/gsttee.c: (gst_tee_init):
6695           fix pad template leak in tee
6696
6697 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6698
6699         * gst/glib-compat.c: (g_value_dup_gst_object):
6700         * gst/glib-compat.h:
6701         * gst/gstpad.c: (gst_pad_set_property):
6702           use gst_object_ref when setting the pad template; this will
6703           trigger the pad template leaks on GLib 2.6 and the slaves
6704
6705 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6706
6707         * gst/glib-compat.c: (gst_flags_get_first_value):
6708         * gst/glib-compat.h:
6709         * gst/gstregistryxml.c:
6710           remove functions copied from GLib 2.6
6711
6712 2005-11-16  Michael Smith <msmith@fluendo.com>
6713
6714         * gst/Makefile.am:
6715           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6716           do, but only breaks with newer valgrind versions. We're not a
6717           valgrind tool, we have no link-time dependencies on libcoregrind.
6718
6719 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6720
6721         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6722           some debug changes
6723         * gst/gstmessage.h:
6724           typo fixes
6725
6726 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6727
6728         * gst/base/gstbasesrc.c: (gst_base_src_init):
6729         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6730         * gst/gstqueue.c: (gst_queue_init):
6731         * gst/gstregistryxml.c: (load_feature):
6732           Revert all these unrefs, they don't even pass make check !
6733
6734 2005-11-15  Johan Dahlin  <johan@gnome.org>
6735
6736         * gst/base/gstbasesrc.c: (gst_base_src_init):
6737         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6738         * gst/gstqueue.c: (gst_queue_init): 
6739         Free pad templates, fixes a couple of leaks.
6740
6741 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6742
6743         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6744
6745         * gst/gstpad.c: (gst_pad_get_property):
6746           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6747           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6748           (#321452)
6749
6750 2005-11-15  Wim Taymans  <wim@fluendo.com>
6751
6752         * gst/gstevent.c:
6753         Small doc update.
6754
6755 2005-11-15  Andy Wingo  <wingo@pobox.com>
6756
6757         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6758
6759         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6760         using GST_CLOCK_TIME_NONE to disable base time management.
6761         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6762         time if it was NONE before.
6763         (gst_pipeline_change_state): Only munge the base time if
6764         stream_time != GST_CLOCK_TIME_NONE.
6765
6766         * check/gst/gstpipeline.c (test_base_time): Punt around the
6767         problem of the probe not being called, because that's not the
6768         issue I'm looking at. Add a check that setting stream_time to NONE
6769         disables base time management.
6770         
6771 2005-11-15  Wim Taymans  <wim@fluendo.com>
6772
6773         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6774         segment_stop == -1 at startup.
6775
6776         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6777         (gst_base_transform_change_state):
6778         Init segment values at start.
6779
6780 2005-11-15  Wim Taymans  <wim@fluendo.com>
6781
6782         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6783         0 segment values are 0 in any format.
6784
6785         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6786         * gst/base/gstbasetransform.h:
6787         Parse newsegment correctly in basetransform
6788
6789         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6790         Sync to clock using updated segment values.
6791
6792 2005-11-15  Andy Wingo  <wingo@pobox.com>
6793
6794         * check/gst/gstpipeline.c (test_base_time): Add check that the
6795         base time and stream time are reset correctly.
6796
6797 2005-11-15  Wim Taymans  <wim@fluendo.com>
6798
6799         * docs/design/part-TODO.txt:
6800         Some more TODO items.
6801
6802 2005-11-15  Andy Wingo  <wingo@pobox.com>
6803
6804         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6805         error if the user selected "no clock" as the clocking method.
6806
6807         * check/gst/gstpipeline.c (test_base_time): New test for buffer
6808         timestamps with live capture.
6809
6810         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6811         is 0 but we are a live source, timestamp the buffers using the
6812         element's clock.
6813
6814 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
6815
6816         * docs/gst/gstreamer-sections.txt:
6817         * gst/gsterror.c:
6818         * gst/gstghostpad.c:
6819         * gst/gstobject.h:
6820         * gst/gstxml.c:
6821           more section docs
6822
6823 2005-11-14  Wim Taymans  <wim@fluendo.com>
6824
6825         * common/gst.supp:
6826           add suppressions from Wim's Debian machine
6827
6828 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6829
6830         * common/gst.supp:
6831           add suppressions from Andy's AMD64 Ubuntu machine
6832
6833 2005-11-14  Andy Wingo  <wingo@pobox.com>
6834
6835         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6836         STATE_LOCK not necessary. Fixes #311489.
6837
6838         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6839         #305291.
6840
6841         * gst/gstindex.c (gst_index_add_object): Note in the docs that
6842         this function is not implemented.
6843
6844 2005-11-14  Julien MOUTTE  <julien@moutte.net>
6845
6846         * gst/base/gstbasetransform.c:
6847         (gst_base_transform_prepare_output_buf):
6848         Ref the source pad caps while we need them.
6849         Fixes (#321386)
6850
6851 2005-11-11  Wim Taymans  <wim@fluendo.com>
6852
6853         * docs/gst/gstreamer-sections.txt:
6854         Added some docs for GstCollectData.
6855
6856         * gst/base/gstadapter.c:
6857         Some small code example fix.
6858
6859         * gst/base/gstcollectpads.c:
6860         * gst/base/gstcollectpads.h:
6861         Document some more.
6862
6863 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6864
6865         * configure.ac: back to HEAD
6866
6867 === release 0.9.5 ===
6868
6869 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
6870
6871         * configure.ac:
6872           releasing 0.9.5, "Bike Lunch Day"
6873
6874 2005-11-11  Wim Taymans  <wim@fluendo.com>
6875
6876         * gst/gstbuffer.c: (_gst_buffer_copy):
6877         Copy more flags.
6878
6879         * gst/gstcaps.c: (gst_caps_is_equal):
6880         Fix some docs.
6881         Make _is_equal fast in the trivial cases.
6882
6883         * gst/gstminiobject.c:
6884         * gst/gstminiobject.h:
6885         More docs. Spifify .h file.
6886
6887         * gst/gstutils.c:
6888         Small doc update.
6889
6890 2005-11-11  Wim Taymans  <wim@fluendo.com>
6891
6892         * gst/base/gstbasetransform.c:
6893         (gst_base_transform_prepare_output_buf),
6894         (gst_base_transform_handle_buffer):
6895         Small cleanups.
6896         If we're processing a buffer and need to allocate an output
6897         buffer, we cannot accept a format change. If we did get a 
6898         format change, we have to alloc a buffer ourselves of the 
6899         right size.
6900
6901 2005-11-11  Wim Taymans  <wim@fluendo.com>
6902
6903         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6904         While checking the flag for reentrancy in the gstcaps function
6905         is nice to detect recursive invocations, it also makes it 
6906         impossible to call getcaps from multiple threads, which must be
6907         possible. So, checking for recursive calls has to go.
6908
6909 2005-11-11  Michael Smith <msmith@fluendo.com>
6910
6911         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6912           Don't sync on buffers that fall partially outside our current
6913           segment. Prevents an assertion failure/abort playing some files.
6914
6915 2005-11-10  Andy Wingo  <wingo@pobox.com>
6916
6917         * check/gst/gstbin.c (test_message_state_changed_children): Style
6918         fix..
6919
6920         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6921         gst_bus_poll with the signal watch. Ensures that poll and a signal
6922         watch see the same messages.
6923
6924         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6925         a poll and a watch at the same time get the same messages.
6926
6927 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6928
6929         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6930         * gst/gstcaps.c: (gst_caps_intersect):
6931           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6932           and it's not needed.
6933
6934 2005-11-10  Wim Taymans  <wim@fluendo.com>
6935
6936         * docs/design/part-TODO.txt:
6937         Updated todo.
6938
6939 2005-11-10  Wim Taymans  <wim@fluendo.com>
6940
6941         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6942         * gst/base/gstbasesrc.c: (gst_base_src_wait),
6943         (gst_base_src_do_sync), (gst_base_src_get_range):
6944         Implement clock sync in base class.
6945
6946 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6947
6948         patch by: Tim-Philipp Müller <tim at centricular dot net>
6949
6950         * gst/gststructure.c: (gst_structure_parse_field),
6951         (gst_structure_from_string):
6952           Forward-port a 0.8 patch to handle escaped spaces in structure string,
6953           so that gst_parse_launch() can deal with spaces in filtered link
6954           caps (fixes #164479)
6955         * check/gst/capslist.h:
6956         * check/gst/gststructure.c: (GST_START_TEST):
6957           add unit tests for this change
6958
6959 2005-11-10  Wim Taymans  <wim@fluendo.com>
6960
6961         * docs/gst/gstreamer-sections.txt:
6962         * gst/gstelement.c:
6963         * gst/gstelement.h:
6964         Fix docs, move some STATE macros to private.
6965
6966 2005-11-10  Wim Taymans  <wim@fluendo.com>
6967
6968         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6969         Added check for bug #317341
6970
6971         * gst/gstbuffer.c:
6972         * gst/gstbuffer.h:
6973         Some more spiffifying.
6974
6975         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
6976         Call peer linkfunction if we are a source pad. Totally fixes
6977         #317341
6978
6979         * gst/gstpad.c:
6980         Update docs, source pads should call the peer linkfunction
6981         so they can atomically perform the pad link.
6982
6983 2005-11-09  Wim Taymans  <wim@fluendo.com>
6984
6985         * gst/gstbuffer.c:
6986         * gst/gstbuffer.h:
6987         Uber-spiffy-spiffify some more.
6988
6989 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
6990
6991         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
6992         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6993         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6994         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
6995         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
6996         * gst/gstpad.c: (gst_pad_init):
6997           Use GST_DEBUG_FUNCPTR() more extensively.
6998
6999 2005-11-09  Wim Taymans  <wim@fluendo.com>
7000
7001         * gst/gstobject.c: (gst_object_class_init):
7002         * gst/gstobject.h:
7003         Documentation fixes.
7004
7005 2005-11-09  Edward Hervey  <edward@fluendo.com>
7006
7007         * gst/gsttypefindfactory.c:
7008         Fix docs.
7009         
7010 2005-11-09  Edward Hervey  <edward@fluendo.com>
7011
7012         * gst/base/gsttypefindhelper.c:
7013         * gst/gsttypefind.c:
7014         * gst/gsttypefind.h:
7015         Fix docs.
7016
7017 2005-11-09  Wim Taymans  <wim@fluendo.com>
7018
7019         * gst/gstiterator.c:
7020         Fix revision data.
7021
7022         * gst/gsttask.c:
7023         * gst/gsttask.h:
7024         Fix docs.
7025
7026 2005-11-09  Wim Taymans  <wim@fluendo.com>
7027
7028         * gst/gstevent.h:
7029         * gst/gsturi.h:
7030         Fix docs.
7031
7032 2005-11-09  Wim Taymans  <wim@fluendo.com>
7033
7034         * docs/gst/gstreamer-sections.txt:
7035         Moved the message async delivery private lock and cond
7036         to the private section.
7037
7038         * gst/gstmessage.c:
7039         * gst/gstmessage.h:
7040         Fixed docs.
7041
7042 2005-11-09  Edward Hervey  <edward@fluendo.com>
7043
7044         * docs/gst/gstreamer-sections.txt:
7045         * gst/gsturi.c:
7046         * gst/gsturi.h:
7047         Document GstURIHandler
7048
7049 2005-11-09  Wim Taymans  <wim@fluendo.com>
7050
7051         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7052         (gst_iterator_find_custom):
7053         * gst/gstiterator.h:
7054         Fix iterator docs.
7055
7056 2005-11-09  Wim Taymans  <wim@fluendo.com>
7057
7058         * gst/gstbin.h:
7059         Document another field.
7060
7061         * gst/gststructure.c:
7062         * gst/gststructure.h:
7063         Document.
7064
7065 2005-11-09  Wim Taymans  <wim@fluendo.com>
7066
7067         * gst/gstbin.h:
7068         Documented structs.
7069
7070 2005-11-09  Wim Taymans  <wim@fluendo.com>
7071
7072         * docs/gst/gstreamer-sections.txt:
7073         Added some new macros.
7074
7075         * gst/gstclock.c:
7076         * gst/gstclock.h:
7077         * gst/gstobject.h:
7078         Docs updates.
7079
7080 2005-11-09  Wim Taymans  <wim@fluendo.com>
7081
7082         * docs/design/part-TODO.txt:
7083         Some more items for the TODO
7084
7085         * gst/gstcaps.c:
7086         * gst/gstcaps.h:
7087         Document GstCaps.
7088
7089 2005-11-09  Andy Wingo  <wingo@pobox.com>
7090
7091         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7092         to work on something else now tho...
7093
7094         * gst/base/gstadapter.c: More adapter docs.
7095
7096         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7097         (gst_file_sink_stop): New functions, replace the state change
7098         handler.
7099         (gst_file_sink_class_init): Hook up the start and stop functions.
7100         (gst_file_sink_base_init): Don't set the state change handler any
7101         more. It was a bit ugly too, being set from here...
7102         (gst_file_sink_get_property, gst_file_sink_set_property):
7103         Cleanups...
7104         (gst_file_sink_set_location): More robust check that doesn't call
7105         GST_STATE. Ugggggg.
7106
7107 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7108
7109         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7110           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7111
7112 2005-11-08  Wim Taymans  <wim@fluendo.com>
7113
7114         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7115         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7116         (gst_base_sink_chain), (gst_base_sink_change_state):
7117         * gst/base/gstbasesink.h:
7118         * gst/base/gstbasesrc.h:
7119         * gst/gstelement.h:
7120         * gst/gstevent.h:
7121         Avoid excessive typechecking in macros.
7122
7123         * gst/gstminiobject.c: (gst_mini_object_get_type),
7124         (gst_mini_object_init), (gst_mini_object_new),
7125         (gst_mini_object_free):
7126         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7127         (gst_object_finalize):
7128         Remove cruft code, optimize alloc_trace.
7129
7130 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7131
7132         * docs/faq/gst-uninstalled:
7133           fix up PS1 for systems that try to reset it
7134
7135 2005-11-07  Wim Taymans  <wim@fluendo.com>
7136
7137         * gst/base/gstbasesrc.c: (gst_base_src_init),
7138         (gst_base_src_get_range):
7139         Set the segment_end to -1 initially. Fixed typefind.
7140
7141 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7142
7143         * gst/base/gstadapter.c:
7144           Debug category should be 'adapter', not 'GstAdapter'.
7145           
7146         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7147         (gst_collectpads_class_init), (gst_collectpads_init),
7148         (gst_collectpads_peek), (gst_collectpads_pop),
7149         (gst_collectpads_event), (gst_collectpads_chain):
7150           Add debug category and some debugging output. Use boilerplate
7151           macros. Remove some extraneous words from docs.
7152
7153 2005-11-05  Andy Wingo  <wingo@pobox.com>
7154
7155         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7156         macro.
7157
7158 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7159
7160         * docs/gst/gstreamer-sections.txt:
7161         * gst/gstcaps.h:
7162         * gst/gstinfo.c:
7163         * gst/gstminiobject.h:
7164         * gst/gstobject.h:
7165         * gst/gstutils.h:
7166           more docs added
7167
7168 2005-11-04  Wim Taymans  <wim@fluendo.com>
7169
7170         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7171         Small update to stop at the configured segment_end
7172         position.
7173
7174 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7175
7176         * gst/gstregistry.c:
7177         * gst/gstregistry.h:
7178           added missing docs
7179
7180 2005-11-04  Edward Hervey  <edward@fluendo.com>
7181
7182         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7183         Check if we are doing a segment seek and have arrived at the
7184         end of that segment.
7185
7186 2005-11-04  Wim Taymans  <wim@fluendo.com>
7187
7188         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7189         Don't leak a mutex unlock in case of an error.
7190
7191         * gst/gstbus.h:
7192         Doc fixes.
7193
7194 2005-11-04  Wim Taymans  <wim@fluendo.com>
7195
7196         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7197         (gst_bus_post):
7198         Get the context to wake up only once.
7199
7200 2005-11-03  Wim Taymans  <wim@fluendo.com>
7201
7202         * check/states/sinks.c: (GST_START_TEST):
7203         Uncomment fixed check.
7204
7205         * docs/design/part-TODO.txt:
7206         Updated TODO.
7207
7208         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7209         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7210         (gst_base_sink_get_position):
7211         If we are going to PLAYING, post the right pending state
7212         when we post the intermediate paused message.
7213
7214         * gst/gstelement.c: (gst_element_continue_state),
7215         (gst_element_set_state_func), (gst_element_change_state):
7216         Don't post state changes that were between the same state
7217         and were not ASYNC.
7218
7219 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7220
7221         * docs/gst/gstreamer-sections.txt:
7222         * gst/gstcaps.h:
7223         * gst/gstinfo.c:
7224         * gst/gstminiobject.h:
7225         * gst/gstobject.h:
7226         * gst/gstutils.h:
7227           more docs and doc style fixes
7228
7229 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7230
7231         * docs/gst/gstreamer-sections.txt:
7232         * gst/gstelement.c:
7233         * gst/gstminiobject.c:
7234         doc fixes
7235
7236 2005-11-03  Andy Wingo  <wingo@pobox.com>
7237
7238         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7239         state-changed messages actually have the right order and the right
7240         values.
7241
7242 2005-11-03  Wim Taymans  <wim@fluendo.com>
7243
7244         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7245         Added some more checks. Specifically the case where NO_PREROLL
7246         elements are in the pipeline.
7247
7248         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7249         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7250         (gst_base_sink_get_position):
7251         Post READY->PAUSED state change messages too.
7252         Fix bug where VOID was posted as pending state...
7253
7254         * gst/gstbin.c: (gst_bin_recalc_state):
7255         use _element_continue_state() to continue the state change.
7256
7257         * gst/gstelement.c: (gst_element_continue_state),
7258         (gst_element_commit_state), (gst_element_set_state_func),
7259         (gst_element_change_state), (gst_element_change_state_func):
7260         Lots of state change cleanups, assign the STATE_RETURN in
7261         a new continue_state() function that also propagates the
7262         last return value from a state change to the app.
7263         Update some debug statements with proper category.
7264
7265 2005-11-03  Wim Taymans  <wim@fluendo.com>
7266
7267         * docs/design/part-events.txt:
7268         * docs/design/part-gstpipeline.txt:
7269         * docs/design/part-messages.txt:
7270         * docs/design/part-overview.txt:
7271         * docs/design/part-seeking.txt:
7272         * docs/design/part-states.txt:
7273         * docs/design/part-trickmodes.txt:
7274         * docs/manual/advanced-position.xml:
7275         Small docs updates.
7276
7277         * gst/gstobject.h:
7278         People think !! is ugly, this looks better.
7279
7280         * gst/gstpad.c: (gst_pad_set_blocked_async):
7281         Remove !! since it's fixed elsewhere now.
7282
7283 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7284
7285         * gst/gstminiobject.h:
7286         * gst/gstobject.h:
7287           Add !! to _FLAG_IS_SET macros to make the result boolean.
7288
7289 2005-11-03  Edward Hervey  <edward@fluendo.com>
7290
7291         * gst/gstpad.c: (gst_pad_set_blocked_async):
7292         comparing a flag and a gboolean rarely returns coherent results...
7293         Added two characters (!!) to make that work correctly.
7294         
7295 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7296
7297         * gst/gstbus.c: (gst_bus_class_init):
7298           Fix some typos.
7299           
7300         * gst/gstqueue.c: (gst_queue_loop):
7301           Don't assume a miniobject that isn't a buffer is an
7302           event (it could be that there is a refcounting
7303           problem somewhere and the pointer is stale and
7304           refers to an already destroyed miniobject).
7305
7306 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7307
7308         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7309
7310 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7311
7312         * docs/manual/advanced-position.xml:
7313           Update seek example and explanations to current 0.9 API.
7314
7315         * gst/elements/gsttypefindelement.c:
7316         (gst_type_find_element_activate):
7317           Remove FIXME comment now that the found caps
7318           are unreffed.
7319
7320 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7321
7322         * gst/gstregistryxml.c: (load_feature):
7323           Add another GST_STR_NULL instance
7324
7325 2005-11-02  Edward Hervey  <edward@fluendo.com>
7326
7327         * gst/gstpad.c: (handle_pad_block):
7328         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7329         
7330 2005-11-02  Wim Taymans  <wim@fluendo.com>
7331
7332         * gst/gstbin.c:
7333         Fix typo in docs.
7334
7335         * gst/gstelement.c: (gst_element_commit_state):
7336         Remove unused value.
7337
7338         * gst/gstiterator.c:
7339         Mention that the returned element is reffed in the docs.
7340
7341 2005-11-02  Wim Taymans  <wim@fluendo.com>
7342
7343         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7344         (gst_pad_push), (gst_pad_push_event):
7345         Unlock blocked pads when they are flushed.
7346
7347 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7348
7349         * docs/README:
7350         * docs/gst/gstreamer-sections.txt:
7351         * gst/gstbin.c:
7352           doc updates
7353         * gst/gstregistry.c: (gst_registry_scan_path_level):
7354           fix for a nasty little missed situation where an installed plug-in
7355           which was in the cache did not get overridden by an uninstalled one
7356           which was earlier in the plugin path because the newly created plugin
7357           for the uninstalled one (not in the registry) didn't get its
7358           ->registered set to TRUE
7359
7360 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7361
7362         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7363         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7364         (gst_collectpads_is_active), (gst_collectpads_collect),
7365         (gst_collectpads_collect_range), (gst_collectpads_start),
7366         (gst_collectpads_stop), (gst_collectpads_peek),
7367         (gst_collectpads_pop), (gst_collectpads_available),
7368         (gst_collectpads_read), (gst_collectpads_flush):
7369           Guard public API with assertions.
7370         
7371         * gst/gstpad.c:
7372           Fix docs for gst_pad_set_link_function().
7373
7374 2005-11-02  Johan Dahlin  <johan@gnome.org>
7375
7376         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7377         Unref found_caps after we used it.
7378
7379 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7380
7381         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7382           Don't try to ref NULL.
7383
7384 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7385
7386         * win32/common/config.h.in:
7387           provide a GST_FUNCTION that just gives a string for now
7388
7389 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7390
7391         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7392         (gst_object_flags_get_type), (register_gst_bin_flags),
7393         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7394         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7395         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7396         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7397         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7398         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7399         (gst_clock_flags_get_type), (register_gst_state),
7400         (gst_state_get_type), (register_gst_state_change_return),
7401         (gst_state_change_return_get_type), (register_gst_state_change),
7402         (gst_state_change_get_type), (register_gst_element_flags),
7403         (gst_element_flags_get_type), (register_gst_core_error),
7404         (gst_core_error_get_type), (register_gst_library_error),
7405         (gst_library_error_get_type), (register_gst_resource_error),
7406         (gst_resource_error_get_type), (register_gst_stream_error),
7407         (gst_stream_error_get_type), (register_gst_event_type),
7408         (gst_event_type_get_type), (register_gst_seek_type),
7409         (gst_seek_type_get_type), (register_gst_seek_flags),
7410         (gst_seek_flags_get_type), (register_gst_format),
7411         (gst_format_get_type), (register_gst_index_certainty),
7412         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7413         (gst_index_entry_type_get_type),
7414         (register_gst_index_lookup_method),
7415         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7416         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7417         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7418         (gst_index_flags_get_type), (register_gst_debug_level),
7419         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7420         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7421         (gst_iterator_result_get_type), (register_gst_iterator_item),
7422         (gst_iterator_item_get_type), (register_gst_message_type),
7423         (gst_message_type_get_type), (register_gst_mini_object_flags),
7424         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7425         (gst_pad_link_return_get_type), (register_gst_flow_return),
7426         (gst_flow_return_get_type), (register_gst_activate_mode),
7427         (gst_activate_mode_get_type), (register_gst_pad_direction),
7428         (gst_pad_direction_get_type), (register_gst_pad_flags),
7429         (gst_pad_flags_get_type), (register_gst_pad_presence),
7430         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7431         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7432         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7433         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7434         (gst_plugin_flags_get_type), (register_gst_rank),
7435         (gst_rank_get_type), (register_gst_query_type),
7436         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7437         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7438         (gst_tag_flag_get_type), (register_gst_task_state),
7439         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7440         (gst_alloc_trace_flags_get_type),
7441         (register_gst_type_find_probability),
7442         (gst_type_find_probability_get_type), (register_gst_uri_type),
7443         (gst_uri_type_get_type), (register_gst_parse_error),
7444         (gst_parse_error_get_type):
7445         * win32/common/gstversion.h:
7446           update win32 copies
7447
7448 2005-11-01  Luca Ognibene  <luogni@tin.it>
7449
7450         * gst/gst.c:
7451           fix docs. popt is dead, long live GOption.
7452
7453 2005-10-31  Wim Taymans  <wim@fluendo.com>
7454
7455         * gst/gstbuffer.h:
7456         Small doc fix.
7457
7458 2005-10-31  Andy Wingo  <wingo@pobox.com>
7459
7460         * Boo!
7461
7462         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7463
7464         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7465         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7466         the possibility of deadlocks here if code calling notify() or
7467         set() has a lock that can be taken in another notify handler (ABBA
7468         with class lock and e.g. python GIL state lock).
7469
7470 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7471
7472         * gst/gstbus.c: Doc updates.
7473
7474 2005-10-28  Wim Taymans  <wim@fluendo.com>
7475
7476         * docs/design/part-TODO.txt:
7477         * gst/gstiterator.c:
7478         * gst/gstsystemclock.c:
7479         * gst/gstsystemclock.h:
7480         Doc updates.
7481
7482 2005-10-28  Edward Hervey  <edward@fluendo.com>
7483
7484         * docs/gst/gstreamer-docs.sgml:
7485         * docs/gst/gstreamer-sections.txt:
7486         the GstURIType documentation page is private, it only defines GstURIType
7487         which should be defined in the GstURIHandler page
7488         
7489 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7490
7491         * gst/gstbin.c: (gst_bin_class_init):
7492         * gst/gstbin.h:
7493         * gst/gstutils.c:
7494         Documentation updates.
7495
7496 2005-10-28  Wim Taymans  <wim@fluendo.com>
7497
7498         * docs/gst/gstreamer-sections.txt:
7499         * gst/gstclock.c:
7500         * gst/gstclock.h:
7501         Documented the clocks.
7502
7503 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7504
7505         * docs/gst/gstreamer-sections.txt:
7506           move some macros to private sections
7507         * gst/gstminiobject.c:
7508         * gst/gstminiobject.h:
7509           add descriptions provided by ds and some more
7510         * gst/gstpad.h:
7511           mark macro as to be removed
7512
7513 2005-10-28  Wim Taymans  <wim@fluendo.com>
7514
7515         * docs/design/part-TODO.txt:
7516         Add an item to TODO.
7517
7518         * gst/gstiterator.c: (gst_iterator_fold),
7519         (gst_iterator_find_custom):
7520         * gst/gstiterator.h:
7521         Add iterator docs.
7522
7523 2005-10-28  Wim Taymans  <wim@fluendo.com>
7524
7525         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7526         (gst_base_transform_init):
7527         Don't leak class.
7528
7529         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7530         An EOS event marks the queue as completely filled.
7531
7532 2005-10-27  Wim Taymans  <wim@fluendo.com>
7533
7534         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7535         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7536         Some more debugging.
7537
7538         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7539         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7540         (gst_base_transform_event), (gst_base_transform_getrange),
7541         (gst_base_transform_chain):
7542         * gst/base/gstbasetransform.h:
7543         Fix debugging,
7544         Protect transform and concurrent buffer alloc with a new lock.
7545         Try not to break ABI/API.
7546
7547 2005-10-27  Wim Taymans  <wim@fluendo.com>
7548
7549         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7550         (gst_base_src_init), (gst_base_src_query),
7551         (gst_base_src_default_newsegment),
7552         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7553         (gst_base_src_send_event), (gst_base_src_event_handler),
7554         (gst_base_src_pad_get_range), (gst_base_src_loop),
7555         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7556         (gst_base_src_start), (gst_base_src_deactivate),
7557         (gst_base_src_activate_push), (gst_base_src_change_state):
7558         Move some stuff around and cleanup things.
7559
7560 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7561
7562         * gst/base/gstbasesrc.c: (gst_base_src_query):
7563           Add missing break statements.
7564
7565 2005-10-27  Wim Taymans  <wim@fluendo.com>
7566
7567         * check/gst/gstbin.c: (GST_START_TEST):
7568         An extra refcount is taken in basesrc.
7569
7570         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7571         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7572         (gst_base_src_loop):
7573         Small cleanups, check for flushing after being unlocked from the 
7574         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7575         Don't send out EOS when going to READY.
7576
7577 2005-10-27  Wim Taymans  <wim@fluendo.com>
7578
7579         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7580         (gst_base_sink_get_position):
7581         Some more debug.
7582
7583         * gst/gstbin.c: (message_check), (bin_replace_message),
7584         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7585         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7586         (bin_query_duration_init), (bin_query_duration_fold),
7587         (bin_query_duration_done), (bin_query_generic_fold),
7588         (gst_bin_query):
7589         * tools/gst-launch.c: (main):
7590         Remove old option.
7591
7592 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7593
7594         * examples/controller/audio-example.c: (main):
7595         * examples/queue/queue.c: (event_loop):
7596         * gst/base/gstbasetransform.h:
7597         * gst/gstelement.c: (gst_element_send_event):
7598         * gst/gstevent.h:
7599         * gst/gstpad.c: (gst_pad_send_event):
7600           fixing examples
7601           fixing docs typos
7602           changing log priority in error situations
7603
7604 2005-10-25  Wim Taymans  <wim@fluendo.com>
7605
7606         * gst/gstbin.c: (message_check), (bin_replace_message),
7607         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7608         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7609         (bin_query_duration_init), (bin_query_duration_fold),
7610         (bin_query_duration_done), (bin_query_generic_fold),
7611         (gst_bin_query):
7612         Some doc and debug updates.
7613         Cache previously requested query DURATION for speed. invalidate
7614         cached duration if element posts a DURATION message.
7615
7616 2005-10-25  Wim Taymans  <wim@fluendo.com>
7617
7618         * docs/design/part-TODO.txt:
7619         Update TODO.
7620
7621         * gst/gstbin.c: (message_check), (bin_replace_message),
7622         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7623         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7624         (bin_query_duration_init), (bin_query_duration_fold),
7625         (bin_query_duration_done), (bin_query_generic_fold),
7626         (gst_bin_query):
7627         Handle SEGMENT_START/DONE messages correctly.
7628         More evolved query algorithm that handles duration queries
7629         correctly.
7630
7631         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7632         (gst_element_get_state_func), (gst_element_abort_state),
7633         (gst_element_commit_state), (gst_element_lost_state):
7634         Some more debugging.
7635
7636         * gst/gstmessage.h:
7637         Added doc.
7638
7639 2005-10-25  Wim Taymans  <wim@fluendo.com>
7640
7641         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7642         Don't use invalid stream_time.
7643
7644         * gst/gstevent.c: (gst_event_new_newsegment):
7645         stream_time in newsegment cannot be undefined.
7646
7647 2005-10-24  Wim Taymans  <wim@fluendo.com>
7648
7649         * gst/gstbus.c:
7650         Doc fix.
7651
7652         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7653         (gst_queue_loop):
7654         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7655
7656 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7657
7658         * docs/libs/tmpl/gstdparam.sgml:
7659         * docs/libs/tmpl/gstdplinint.sgml:
7660         * docs/libs/tmpl/gstdpman.sgml:
7661         * docs/libs/tmpl/gstdpsmooth.sgml:
7662         * docs/libs/tmpl/gstunitconvert.sgml:
7663           these are obsolete
7664
7665 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7666
7667         * configure.ac:
7668           back to HEAD
7669
7670 === release 0.9.4 ===
7671
7672 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7673
7674         * configure.ac:
7675           releasing 0.9.4, "Tyrannosaurus Rex"
7676
7677 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7678
7679         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7680         (gst_file_sink_get_current_offset):
7681           Use fseeko() and ftello() if available. When falling back on
7682           lseek() to get the current offset, fflush() first to make sure
7683           everything is up-to-date and we get the right offset.
7684
7685 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7686
7687         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7688         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7689         * gst/gsterror.c: (_gst_stream_errors_init):
7690         * gst/gsterror.h:
7691         * gst/gstqueue.c: (gst_queue_loop):
7692         * po/POTFILES.in:
7693           remove prematurely added error category and clean up the instances
7694
7695 2005-10-21  Wim Taymans  <wim@fluendo.com>
7696
7697         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7698         (gst_base_sink_get_position), (gst_base_sink_query),
7699         (gst_base_sink_change_state):
7700         Simply set the right flag when going to playing, that's all
7701         we need to do instead of calling a function inside the object
7702         lock (that could take the lock as well and deadlock)
7703
7704 2005-10-21  Wim Taymans  <wim@fluendo.com>
7705
7706         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7707         (gst_base_src_loop):
7708         Don't warn, the peer element knows what to do best when
7709         the seek failed, it might try something else.
7710
7711 2005-10-21  Wim Taymans  <wim@fluendo.com>
7712
7713         * gst/base/gstbasesrc.c: (gst_base_src_init),
7714         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7715         Fix seeking.
7716
7717 2005-10-21  Wim Taymans  <wim@fluendo.com>
7718
7719         * docs/design/part-segments.txt:
7720         More docs.
7721
7722         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7723         Correctly set caps, even on the subbufer.
7724
7725 2005-10-21  Wim Taymans  <wim@fluendo.com>
7726
7727         * docs/gst/gstreamer-docs.sgml:
7728         * docs/gst/gstreamer-sections.txt:
7729         * gst/gstelement.h:
7730         * gst/gstevent.c:
7731         * gst/gstevent.h:
7732         * gst/gstmessage.h:
7733         * gst/gstpad.h:
7734         * gst/gstparse.h:
7735         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7736         * gst/gsttask.h:
7737         * gst/gstutils.c:
7738         * gst/gstutils.h:
7739         And 2% more doc coverage.
7740
7741 2005-10-21  Andy Wingo  <wingo@pobox.com>
7742
7743         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7744         position reporting.
7745
7746 2005-10-20  Wim Taymans  <wim@fluendo.com>
7747
7748         * gst/gsterror.c: (gst_error_get_message):
7749         * gst/gstparse.h:
7750         * gst/gstquery.h:
7751         * gst/gststructure.c:
7752         * gst/gsttrace.c:
7753         * gst/gstutils.c:
7754         More docs.
7755
7756 2005-10-20  Wim Taymans  <wim@fluendo.com>
7757
7758         * gst/gstbuffer.h:
7759         * gst/gstpad.c:
7760         * gst/gstparse.c:
7761         Another 1% more coverage.
7762
7763 2005-10-20  Wim Taymans  <wim@fluendo.com>
7764
7765         * docs/gst/gstreamer-sections.txt:
7766         * gst/gstelement.c: (gst_element_get_state_func),
7767         (gst_element_abort_state), (gst_element_commit_state),
7768         (gst_element_lost_state):
7769         * gst/gstevent.h:
7770         * gst/gstquery.c: (gst_query_set_position),
7771         (gst_query_parse_position), (gst_query_set_duration),
7772         (gst_query_parse_duration), (gst_query_new_convert):
7773         * gst/gstutils.c:
7774         Yay! 1% more docs coverage.
7775
7776 2005-10-20  Wim Taymans  <wim@fluendo.com>
7777
7778         * gst/gstpad.h:
7779         * gst/gstquery.c: (gst_query_set_position),
7780         (gst_query_parse_position), (gst_query_set_duration),
7781         (gst_query_parse_duration), (gst_query_new_convert):
7782         * gst/gstquery.h:
7783         * gst/gstutils.c: (gst_element_query_convert):
7784         * gst/gstutils.h:
7785         Docs and consistency fixes.
7786
7787 2005-10-20  Wim Taymans  <wim@fluendo.com>
7788
7789         * gst/gsttask.c:
7790         * gst/gsttask.h:
7791         More docs.
7792
7793 2005-10-20  Wim Taymans  <wim@fluendo.com>
7794
7795         * gst/gstbin.c: (message_check), (bin_replace_message),
7796         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7797         (update_degree), (gst_bin_sort_iterator_next),
7798         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7799         Reworked the message handling a bit, cache the messages instead of
7800         only the senders. alows us to do more in the future.
7801
7802 2005-10-20  Wim Taymans  <wim@fluendo.com>
7803
7804         * docs/design/part-TODO.txt:
7805         Update TODO
7806
7807         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7808         (gst_base_sink_query):
7809         Don't use clock time to report position when in EOS.
7810
7811 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
7812
7813         * tools/gst-inspect.c: (print_interfaces),
7814         (print_element_properties_info), (print_element_info):
7815           Fix interface output with gst-inspect -a; don't print
7816           newlines after double/float properties.
7817
7818 2005-10-20  Wim Taymans  <wim@fluendo.com>
7819
7820         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7821         (gst_base_sink_query):
7822         Speed up current position calculation.
7823
7824         * gst/base/gstbasesrc.c: (gst_base_src_query),
7825         (gst_base_src_default_newsegment):
7826         Correctly set stream position in newsegment.
7827
7828         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7829         (update_degree), (gst_bin_sort_iterator_next),
7830         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7831         * gst/gstmessage.c: (gst_message_new_custom):
7832         Clean up debugging info
7833
7834         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7835         (gst_queue_loop), (gst_queue_handle_src_query):
7836         Pause task faster.
7837
7838 2005-10-19  Wim Taymans  <wim@fluendo.com>
7839
7840         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7841         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7842         Fix query handling again.
7843
7844 2005-10-19  Wim Taymans  <wim@fluendo.com>
7845
7846         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7847         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7848         * gst/base/gstbasesrc.c: (gst_base_src_query):
7849         * gst/elements/gstfilesink.c: (gst_file_sink_query):
7850         * gst/elements/gsttypefindelement.c:
7851         (gst_type_find_handle_src_query), (find_element_get_length),
7852         (gst_type_find_element_activate):
7853         API change fix.
7854
7855         * gst/gstquery.c: (gst_query_new_position),
7856         (gst_query_set_position), (gst_query_parse_position),
7857         (gst_query_new_duration), (gst_query_set_duration),
7858         (gst_query_parse_duration), (gst_query_set_segment),
7859         (gst_query_parse_segment):
7860         * gst/gstquery.h:
7861         Bundling query position/duration is not a good idea since duration
7862         does not change much and we don't want to recalculate it for every
7863         position query, so they are separated again..
7864         Base value in segment query is not needed.
7865
7866         * gst/gstqueue.c: (gst_queue_handle_src_query):
7867         * gst/gstutils.c: (gst_element_query_position),
7868         (gst_element_query_duration), (gst_pad_query_position),
7869         (gst_pad_query_duration):
7870         * gst/gstutils.h:
7871         Updates for query API change.
7872         Added some docs here and there.
7873
7874 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7875
7876         * check/gst/gstbin.c: (GST_START_TEST):
7877         * check/gst/gstghostpad.c: (GST_START_TEST):
7878         * check/pipelines/cleanup.c: (GST_START_TEST):
7879           wait on thread to die so we can check refcount correctly
7880
7881 2005-10-18  Wim Taymans  <wim@fluendo.com>
7882
7883         * check/pipelines/stress.c: (GST_START_TEST):
7884         Make check a little more time consuming.
7885
7886 2005-10-18  Wim Taymans  <wim@fluendo.com>
7887
7888         * check/Makefile.am:
7889         * check/pipelines/stress.c: (GST_START_TEST),
7890         (simple_launch_lines_suite), (main):
7891         Small state change torture test.
7892
7893         * docs/design/part-states.txt:
7894         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7895         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7896         (gst_base_sink_change_state):
7897         Never take state lock from streaming thread, clean up ugly
7898         hacks. Unfortunatly core does not yet support nice ways to
7899         async commit state.
7900         
7901         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7902         (bin_bus_handler):
7903         Start state recalc if a STATE_DIRTY message is posted, but only
7904         on the toplevel bin.
7905
7906         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7907         (gst_element_get_state_func), (gst_element_abort_state),
7908         (gst_element_commit_state), (gst_element_lost_state),
7909         (gst_element_set_state_func), (gst_element_change_state):
7910         * gst/gstelement.h:
7911         State variables are now protected with the LOCK, the state
7912         lock is only used to serialize _set_state().
7913
7914 2005-10-18  Wim Taymans  <wim@fluendo.com>
7915
7916         * check/gst/gstbin.c: (GST_START_TEST):
7917         * check/gst/gstmessage.c: (GST_START_TEST):
7918         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7919         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7920         (bin_bus_handler):
7921         * gst/gstelement.c: (gst_element_abort_state),
7922         (gst_element_commit_state), (gst_element_lost_state):
7923         * gst/gstmessage.c: (gst_message_new_state_changed),
7924         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7925         (gst_message_new_segment_done), (gst_message_new_duration),
7926         (gst_message_parse_state_changed),
7927         (gst_message_parse_segment_start),
7928         (gst_message_parse_segment_done), (gst_message_parse_duration):
7929         * gst/gstmessage.h:
7930         * tools/gst-launch.c: (event_loop):
7931         Seriously, this is better than a previous commit as we only need
7932         to notify the fact that an element changed state in a streaming
7933         thread, marking the state of the parents dirty, hence the 
7934         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7935         message.
7936
7937 2005-10-18  Wim Taymans  <wim@fluendo.com>
7938
7939         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7940         (gst_bin_recalc_func):
7941         * gst/gstelement.c: (gst_element_set_clock),
7942         (gst_element_abort_state), (gst_element_lost_state):
7943         Cleanups, prepare for state change fixes.
7944
7945 2005-10-18  Wim Taymans  <wim@fluendo.com>
7946
7947         * gst/gstbin.h:
7948         * gst/gstelement.c: (gst_element_class_init),
7949         (gst_element_set_state), (gst_element_set_state_func):
7950         * gst/gstelement.h:
7951         Pending ABI changes.
7952         GThreadPool in GstBinClass to monitor async state changes.
7953         state_cookie in GstElement to detect concurrent gst/set state.
7954         set_state is now virtual too in case a very complicated element
7955         has to be constructed.
7956
7957 2005-10-18  Wim Taymans  <wim@fluendo.com>
7958
7959         * check/gst/gstbin.c: (GST_START_TEST):
7960         * check/gst/gstmessage.c: (GST_START_TEST):
7961         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7962         * gst/gstbin.c: (bin_bus_handler):
7963         * gst/gstelement.c: (gst_element_commit_state),
7964         (gst_element_lost_state):
7965         * gst/gstmessage.c: (gst_message_new_state_changed),
7966         (gst_message_new_segment_start), (gst_message_new_segment_done),
7967         (gst_message_new_duration), (gst_message_parse_state_changed),
7968         (gst_message_parse_segment_start),
7969         (gst_message_parse_segment_done), (gst_message_parse_duration):
7970         * gst/gstmessage.h:
7971         * tools/gst-launch.c: (event_loop):
7972         Make messages future proof.
7973         state-change gets a flag if it was a message comming from the
7974         streaming thread.
7975         segment-start/stop can also be specified in other formats.
7976         A message to notify an app that a pipeline changed playback 
7977         duration.
7978         Also fix a GstMessage leak in -launch
7979
7980 2005-10-18  Andy Wingo  <wingo@pobox.com>
7981
7982         * gst/gstelement.c (gst_element_dispose): More helpful message.
7983
7984 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7985
7986         reviewed by: <delete if not using a buddy>
7987
7988         * common/gtk-doc.mak:
7989
7990 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7991
7992         * gst/gstregistry.c: (gst_registry_scan_path_level):
7993           unref a plug-in we get that was already initialized
7994
7995 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
7996
7997         * docs/gst/gstreamer-sections.txt:
7998         * docs/libs/gstreamer-libs-sections.txt:
7999         * gst/gstelement.h:
8000           add new api entries
8001           hide internal macro
8002
8003 2005-10-17  Andy Wingo  <wingo@pobox.com>
8004
8005         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8006         cleanup.
8007
8008         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8009
8010         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8011
8012         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8013         (gst_element_get_state_func): Better debug message.
8014         (gst_element_commit_state): s/INFO/DEBUG/.
8015         (gst_element_lost_state, gst_element_change_state): 
8016
8017         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8018         (gst_message_new_custom): s/INFO/LOG/.
8019
8020 2005-10-17  Michael Smith <msmith@fluendo.com>
8021
8022         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8023           Check if end time is valid using end time, not start time.
8024
8025 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8026
8027         * check/gst-libs/controller.c: (GST_START_TEST),
8028         (gst_controller_suite):
8029         * libs/gst/controller/gstcontroller.c:
8030         (gst_controlled_property_set_interpolation_mode):
8031         * libs/gst/controller/gstcontroller.h:
8032         * libs/gst/controller/gstinterpolation.c:
8033         * testsuite/controller/.cvsignore:
8034         * testsuite/controller/Makefile.am:
8035         * testsuite/controller/interpolator.c:
8036           merge controller testsuites
8037           fix broken tests
8038           remove mem-chunk from docs
8039
8040 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8041
8042         * gst/gstmemchunk.c:
8043         * gst/gstmemchunk.h:
8044         * gst/gsttrashstack.c:
8045         * gst/gsttrashstack.h:
8046           out.  get out.  you're fired.  to the Attic !
8047
8048 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8049
8050         * gst/gstcaps.c: (gst_caps_intersect):
8051           fix signedness issues in a (hopefully) correct way
8052         * gst/gstelement.c: (gst_element_pads_activate):
8053           some debugging
8054         * gst/gstobject.c: (gst_object_set_parent):
8055           some debugging
8056
8057 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8058
8059         * gst/gstvalue.h: Fix prototypes.
8060
8061 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8062
8063         * docs/gst/gstreamer-sections.txt:
8064         * gst/gst.c: (gst_version_string):
8065         * gst/gst.h:
8066         * gst/gstversion.h.in:
8067         * win32/common/libgstreamer.def:
8068           add gst_version_string ()
8069
8070 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8071
8072         * configure.ac:
8073           clean up further
8074         * gst/gst.c: (init_post):
8075         * win32/common/config.h.in:
8076           it's PLUGINDIR now
8077         * gst/gstcaps.c: (gst_caps_intersect):
8078           use gint64, the range could be bigger than a guint
8079
8080 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8081
8082         * gst/gstclock.h:
8083           document potential problem in 2038
8084
8085 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8086
8087         * gst/gstcaps.c: (gst_caps_intersect):
8088           Fix guint j diving under 0
8089
8090 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8091
8092         * configure.ac:
8093         * win32/common/config.h:
8094         * win32/common/config.h.in:
8095           check for process.h, declares getpid() on Windows
8096         * gst/gstinfo.c:
8097           include process.h if we have it
8098         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8099         * gst/gstmemchunk.h:
8100           fix signedness issues
8101         * win32/common/libgstreamer.def:
8102           fix get_type's
8103
8104 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8105
8106         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8107         fix. Because of unsigned ints, caps intersection was going nuts and
8108         trying to access structures with G_MAXUINT index. That fixes
8109         videotestsrc ! ffmpegcolorspace ! fakesink
8110         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8111         consistency.
8112
8113 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8114
8115         * configure.ac:
8116           use the gettext macro
8117         * gst/elements/gstelements.c:
8118         * gst/gst.c:
8119         * gst/indexers/gstindexers.c:
8120           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8121         * win32/common/config.h:
8122           updated config.h
8123         * win32/common/config.h.in:
8124           add the template to generate config.h
8125         * win32/common/gstenumtypes.c:
8126         * win32/common/gstversion.h:
8127           updated copies
8128
8129 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8130
8131         * gst/gst.c: (gst_version):
8132         * gst/gstversion.h.in:
8133           add the nano
8134
8135 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8136
8137         * gst/gstevent.h:
8138           Oops, add missing closing bracket.
8139
8140 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8141
8142         * configure.ac:
8143           use common m4's for argument checking
8144
8145 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8146
8147         * docs/gst/gstreamer-sections.txt:
8148         * gst/gstevent.h:
8149           Add GST_EVENT_TYPE_NAME() macro.
8150
8151 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8152
8153         * gst/gstinfo.c:
8154         * gst/gstpluginfeature.c:
8155         * gst/gsttask.c:
8156           privatize more symbols
8157
8158 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8159
8160         * configure.ac:
8161           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8162           everything that uses GStreamer API should have the includes
8163
8164 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8165
8166         * docs/gst/gstreamer-sections.txt:
8167         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8168         * gst/gstvalue.h:
8169           give each value a _get_type, removes the DATA exports
8170
8171 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8172
8173         * gst/gst.c:
8174         * gst/gst.h:
8175           remove _gst_registry_auto_load, not used anymore
8176         * gst/gstbin.c: (gst_bin_get_type):
8177         * gst/gstbin.h:
8178         * gst/gstelement.c: (gst_element_get_type):
8179         * gst/gstelement.h:
8180         * gst/gstobject.c: (gst_object_get_type):
8181         * gst/gstobject.h:
8182         * gst/gstpad.c: (gst_pad_get_type):
8183         * gst/gstpad.h:
8184           make _get_type functions similar, fixes data export from library
8185
8186 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8187
8188         * configure.ac:
8189           correctly make conditionals
8190         * gst/elements/Makefile.am:
8191         * gst/elements/gstelements.c:
8192           fix typo causing fdsrc not to build
8193
8194 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8195
8196         * testsuite/Makefile.am:
8197         * testsuite/bytestream/.cvsignore:
8198         * testsuite/bytestream/Makefile.am:
8199         * testsuite/bytestream/filepadsink.c:
8200         * testsuite/bytestream/gstbstest.c:
8201         * testsuite/bytestream/test1.c:
8202         * testsuite/bytestream/testfile1:
8203         * testsuite/caps/normalisation.c:
8204         * testsuite/caps/random.c: (main):
8205         * testsuite/cleanup/.cvsignore:
8206         * testsuite/cleanup/Makefile.am:
8207         * testsuite/cleanup/cleanup1.c:
8208         * testsuite/cleanup/cleanup2.c:
8209         * testsuite/cleanup/cleanup3.c:
8210         * testsuite/cleanup/cleanup4.c:
8211         * testsuite/cleanup/cleanup5.c:
8212         * testsuite/controller/interpolator.c:
8213         * testsuite/debug/printf_extension.c: (main):
8214         * testsuite/elements/tee.c:
8215         * testsuite/negotiation/.cvsignore:
8216         * testsuite/negotiation/Makefile.am:
8217         * testsuite/negotiation/pad_link.c:
8218         * testsuite/pad/Makefile.am:
8219         * testsuite/pad/chainnopull.c:
8220         * testsuite/pad/getnopush.c:
8221         * testsuite/pad/link.c:
8222         * testsuite/refcounting/sched.c: (create_pipeline):
8223         * testsuite/registry/Makefile.am:
8224         * testsuite/registry/gst-print-formats.c:
8225         * testsuite/schedulers/.cvsignore:
8226         * testsuite/schedulers/142183-2.c:
8227         * testsuite/schedulers/142183.c:
8228         * testsuite/schedulers/143777-2.c:
8229         * testsuite/schedulers/143777.c:
8230         * testsuite/schedulers/147713.c:
8231         * testsuite/schedulers/147819.c:
8232         * testsuite/schedulers/147894-2.c:
8233         * testsuite/schedulers/147894.c:
8234         * testsuite/schedulers/Makefile.am:
8235         * testsuite/schedulers/group_link.c:
8236         * testsuite/schedulers/queue_link.c:
8237         * testsuite/schedulers/relink.c:
8238         * testsuite/schedulers/unlink.c:
8239         * testsuite/schedulers/unref.c:
8240         * testsuite/schedulers/useless_iteration.c:
8241         * testsuite/states/bin.c:
8242           clean out/remove some stuff from the testsuite directories
8243
8244 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8245
8246         * configure.ac:
8247           check for some headers
8248         * gst/elements/Makefile.am:
8249         * gst/elements/gstelements.c:
8250           don't compile fdsrc without sys/socket.h
8251         * gst/indexers/Makefile.am:
8252         * gst/indexers/gstindexers.c: (plugin_init):
8253           don't compile fileindex without mmap
8254
8255 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8256
8257         * configure.ac:
8258           reorganize
8259           clean up
8260           document more
8261           remove cruft
8262         * check/Makefile.am:
8263         * docs/gst/Makefile.am:
8264         * examples/helloworld/Makefile.am:
8265         * gst/Makefile.am:
8266         * gst/base/Makefile.am:
8267         * gst/check/Makefile.am:
8268         * gst/elements/Makefile.am:
8269         * gst/indexers/Makefile.am:
8270         * gst/parse/Makefile.am:
8271         * libs/gst/controller/Makefile.am:
8272         * libs/gst/dataprotocol/Makefile.am:
8273         * examples/helloworld/helloworld.c: (event_loop):
8274           compile fixes, though it's not being compiled currently
8275
8276 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8277
8278         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8279           Add some simple tests for the new taglist date API.
8280
8281 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8282
8283         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8284         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8285           Beautify 'last-message' output: print 'none' for buffer timestamps
8286           and durations if none is set; improve alignment with next messages.
8287
8288 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8289
8290         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8291         * gst/gstpluginfeature.h:
8292         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8293         * gst/gstregistry.h:
8294         * docs/gst/gstreamer-sections.txt:
8295           Add new API to check plugin feature version requirements.
8296
8297         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8298           Some basic tests for the above.         
8299
8300 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8301
8302         * gst/gststructure.c: (gst_structure_to_string):
8303           guard against NULL printf - happens when for example
8304           a message structure with GstClock gets serialized
8305
8306 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8307
8308         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8309           Fix presumable copy'n'pasto.
8310
8311 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8312
8313         * gst/elements/gstfakesrc.h:
8314         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8315         * gst/elements/gsttypefindelement.c:
8316           fix some signedness
8317         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8318           I wonder if this could actually write +2GB files before
8319
8320 2005-10-13  Andy Wingo  <wingo@pobox.com>
8321
8322         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8323         Fix Timmeke Waymans bug.
8324         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8325         string of the proper length to gst_caps_from_string. There's a
8326         potential for, before this fix, that this could cause someone
8327         connecting over the network to cause a segfault if the payload is
8328         not NUL-terminated.
8329
8330 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8331
8332         * docs/design/draft-push-pull.txt:
8333         * docs/design/part-overview.txt:
8334         * docs/random/TODO-pre-0.9:
8335         * docs/random/old/ChangeLog.gstreamer:
8336         * gst/base/gstpushsrc.c:
8337         * gst/gstclock.c:
8338           fixed typos
8339
8340 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8341
8342         * gst/glib-compat.c: (gst_flags_get_first_value):
8343         * gst/glib-compat.h:
8344         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8345         (gst_value_compare_double), (gst_value_serialize_flags):
8346           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8347           infinite loop
8348
8349 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8352         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8353           fix up debugging
8354         * tools/gst-launch.c: (event_loop):
8355           print out clock nicely
8356
8357 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8358
8359         * docs/gst/gstreamer-sections.txt:
8360         * gst/gsttaglist.h:
8361         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8362         (gst_tag_list_get_date_index):
8363           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8364           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8365
8366 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8367
8368         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8369         (gst_collectpads_chain):
8370         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8371         in CollectData.
8372
8373 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8374
8375         * docs/gst/gstreamer-sections.txt:
8376         * gst/gst.c:
8377         * gst/gsterror.h:
8378         * tools/gst-inspect.c: (main):
8379         * tools/gst-launch.c: (main):
8380         * tools/gst-run.c: (main):
8381         * tools/gst-xmlinspect.c: (main):
8382           fix GOption context leaks
8383           doc fixes
8384
8385 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8386
8387         * gst/gstbus.c:
8388           use HAVE_UNISTD_H
8389         * win32/common/config.h:
8390           update config
8391         * win32/vs6/grammar.dsp:
8392         * win32/vs6/libgstelements.dsp:
8393         * win32/vs6/libgstreamer.dsp:
8394           update vs6 files
8395
8396 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8397
8398         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8399         * gst/base/gstbasesrc.c: (gst_base_src_query):
8400           fix more guint64<->gdouble conversions
8401
8402 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8403
8404         * Makefile.am:
8405           add win32-update target
8406         * win32/common/gstconfig.h:
8407         * win32/common/gstenumtypes.c:
8408         * win32/common/gstenumtypes.h:
8409         * win32/common/gstversion.h:
8410           add files that visual studio can't generate
8411
8412 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8413
8414         * Makefile.am:
8415           add a win32-update target
8416         * configure.ac:
8417
8418 2005-10-12  Wim Taymans  <wim@fluendo.com>
8419
8420         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8421         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8422         * gst/gstelement.c: (gst_element_commit_state),
8423         (gst_element_set_state):
8424         Protect flags with proper lock.
8425         unref provided cached clock in dispose.
8426
8427 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8428
8429         * gst/gst.c:
8430         * gst/gstminiobject.h:
8431         * gst/gstpad.h:
8432         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8433           removed unused flags from miniobject
8434           doc fixes
8435
8436 2005-10-12  Wim Taymans  <wim@fluendo.com>
8437
8438         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8439         (gst_file_sink_event), (gst_file_sink_render):
8440         Flush before seeking.
8441
8442 2005-10-12  Andy Wingo  <wingo@pobox.com>
8443
8444         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8445         always been the case.
8446
8447 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8448
8449         * check/gst/gstbin.c: (GST_START_TEST):
8450         * docs/gst/gstreamer-sections.txt:
8451         * gst/base/gstbasesink.c: (gst_base_sink_init):
8452         * gst/base/gstbasesrc.c: (gst_base_src_init),
8453         (gst_base_src_get_range), (gst_base_src_check_get_range),
8454         (gst_base_src_start), (gst_base_src_stop):
8455         * gst/base/gstbasesrc.h:
8456         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8457         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8458         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8459         (bin_bus_handler):
8460         * gst/gstbin.h:
8461         * gst/gstbuffer.h:
8462         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8463         * gst/gstbus.h:
8464         * gst/gstelement.c: (gst_element_is_locked_state),
8465         (gst_element_set_locked_state), (gst_element_commit_state),
8466         (gst_element_set_state):
8467         * gst/gstelement.h:
8468         * gst/gstindex.c: (gst_index_init):
8469         * gst/gstindex.h:
8470         * gst/gstminiobject.h:
8471         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8472         (gst_object_set_parent):
8473         * gst/gstobject.h:
8474         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8475         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8476         * gst/gstpad.h:
8477         * gst/gstpadtemplate.h:
8478         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8479         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8480         * gst/gstpipeline.h:
8481         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8482         (gst_file_index_commit):
8483         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8484         * testsuite/pad/link.c: (gst_test_src_init),
8485         (gst_test_filter_init), (gst_test_sink_init):
8486         * testsuite/states/locked.c: (main):
8487           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8488           moved bitshift from macro to enum definition
8489
8490 2005-10-12  Wim Taymans  <wim@fluendo.com>
8491
8492         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8493         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8494         (gst_file_sink_render):
8495         Some more debugging info.
8496
8497 2005-10-12  Wim Taymans  <wim@fluendo.com>
8498
8499         * docs/design/part-states.txt:
8500         * tools/gst-launch.c: (main):
8501         Some doc updates.
8502         Revert non-intentional change.
8503
8504 2005-10-12  Wim Taymans  <wim@fluendo.com>
8505
8506         * check/gst/gstbin.c: (GST_START_TEST):
8507         * check/gst/gstelement.c: (GST_START_TEST):
8508         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8509         * check/gst/gstghostpad.c: (GST_START_TEST):
8510         * check/gst/gstpipeline.c: (GST_START_TEST):
8511         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8512         * check/states/sinks.c: (GST_START_TEST):
8513         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8514         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8515         (gst_bin_remove_func), (gst_bin_get_state_func),
8516         (gst_bin_recalc_state), (gst_bin_change_state_func),
8517         (bin_bus_handler):
8518         * gst/gstelement.c: (gst_element_get_state_func),
8519         (gst_element_get_state), (gst_element_abort_state),
8520         (gst_element_commit_state), (gst_element_set_state),
8521         (gst_element_change_state), (gst_element_change_state_func):
8522         * gst/gstelement.h:
8523         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8524         (gst_pipeline_provide_clock_func):
8525         * gst/gstutils.c: (gst_element_link_pads_filtered):
8526         * tools/gst-launch.c: (main):
8527         * tools/gst-typefind.c: (main):
8528         Use GstClockTime in _get_state() instead of GTimeVal.
8529         Remove old code in gstutils.c
8530
8531 2005-10-12  Andy Wingo  <wingo@pobox.com>
8532
8533         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8534         removed.
8535
8536         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8537         there is no task. Shouldn't affect any code, as nothing in our
8538         plugins checks this return value.
8539         (gst_pad_stop_task): Also take the stream lock if the pad has no
8540         task. Docs updated.
8541
8542 2005-10-12  Wim Taymans  <wim@fluendo.com>
8543
8544         * gst/gstpad.c: (pre_activate), (post_activate),
8545         (gst_pad_activate_pull), (gst_pad_activate_push):
8546         Cleanup activation code. Reset old state if
8547         activation failed.
8548
8549 2005-10-12  Wim Taymans  <wim@fluendo.com>
8550
8551         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8552         (gst_base_sink_change_state):
8553         No need to prerol after receiving EOS.
8554
8555         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8556         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8557         * gst/elements/gstidentity.c: (gst_identity_event):
8558         Print events more verbosely.
8559
8560 2005-10-12  Wim Taymans  <wim@fluendo.com>
8561
8562         * check/Makefile.am:
8563         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8564         * check/states/sinks2.c:
8565         Moved sinks2 testcode in sinks check.
8566
8567         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8568         (gst_bin_remove_func), (gst_bin_recalc_state),
8569         (gst_bin_change_state_func), (bin_bus_handler):
8570         Fix potential race condition when _get_state() iterated over an
8571         ASYNC element right before it posted a state completion.
8572
8573         * gst/gstclock.h:
8574         Do proper cast here.
8575
8576         * gst/gstevent.c: (gst_event_new_newsegment),
8577         (gst_event_parse_newsegment):
8578         A playback rate of 0.0 is not allowed.
8579
8580 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8581
8582         * win32/common/config.h:
8583         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8584         (_trewinddir), (_ttelldir), (_tseekdir):
8585         * win32/common/dirent.h:
8586         * win32/common/gtchar.h:
8587         * win32/common/libgstbase.def:
8588         * win32/common/libgstreamer.def:
8589         * win32/vs6/grammar.dsp:
8590         * win32/vs6/gst_inspect.dsp:
8591         * win32/vs6/gst_launch.dsp:
8592         * win32/vs6/gstreamer.dsw:
8593         * win32/vs6/libgstbase.dsp:
8594         * win32/vs6/libgstelements.dsp:
8595         * win32/vs6/libgstreamer.dsp:
8596           Visual Studio 6 project files, and a new common directory.
8597           Phear.
8598
8599 2005-10-11  Wim Taymans  <wim@fluendo.com>
8600
8601         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8602         (gst_base_sink_do_sync), (gst_base_sink_query),
8603         (gst_base_sink_change_state):
8604         * gst/base/gstbasesink.h:
8605         Correctly parse newsegment info.
8606
8607 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8608
8609         * gst/gst.c: (init_post):
8610           split plugin paths correctly
8611
8612 2005-10-11  Wim Taymans  <wim@fluendo.com>
8613
8614         * check/gst/gstevent.c: (GST_START_TEST):
8615         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8616         (gst_base_sink_change_state):
8617         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8618         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8619         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8620         * gst/gstevent.c: (gst_event_new_newsegment),
8621         (gst_event_parse_newsegment):
8622         * gst/gstevent.h:
8623         Added extra flag to newsegment for future API freeze.
8624         Updated check and base elements.
8625
8626 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8627
8628         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8629         (gst_collectpads_add_pad), (gst_collectpads_pop),
8630         (gst_collectpads_event), (gst_collectpads_chain):
8631         * gst/base/gstcollectpads.h: Handle EOS correctly.
8632
8633 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8634
8635         * tools/gst-launch.c: (main):
8636           more null protecting
8637
8638 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8639
8640         * gst/gst-i18n-lib.h:
8641           check for ENABLE_NLS, not GETTEXT_PACKAGE
8642         * gst/gstregistry.c: (gst_registry_add_plugin),
8643         (gst_registry_scan_path_level),
8644         (_gst_registry_remove_cache_plugins):
8645           protect possibly NULL strings
8646         * gst/parse/types.h:
8647           config.h already included before
8648         * tools/gst-inspect.c: (main):
8649           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8650           check for ENABLE_NLS, not GETTEXT_PACKAGE
8651         * tools/gst-launch.c: (main):
8652           check for ENABLE_NLS, not GETTEXT_PACKAGE
8653
8654 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8655
8656         * configure.ac:
8657           if we don't have glib, fail before testing 2.8
8658         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8659           fix a leak, should fix plugins-base testsuite
8660
8661 2005-10-11  Andy Wingo  <wingo@pobox.com>
8662
8663         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8664         take the mode we're going to as an arg. Go head and set the mode
8665         and flushing flags now, so that if the activate function starts a
8666         thread all the flags will be in the right state.
8667         (post_activate): Renamed also. Just handle making sure streaming
8668         finishes for the deactivation case, and setting the deactivated
8669         mode.
8670         (gst_pad_set_active): Complain loudly if deactivation fails.
8671         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8672         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8673         remove the terrible hack.
8674
8675 2005-10-11  Wim Taymans  <wim@fluendo.com>
8676
8677         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8678         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8679         (gst_bin_recalc_state), (gst_bin_change_state_func),
8680         (gst_bin_dispose), (bin_bus_handler):
8681         * gst/gstbin.h:
8682         Prepare to make current EOS message queue more generic.
8683         Fix some typos.
8684
8685         * gst/gstevent.c: (gst_event_new_newsegment),
8686         (gst_event_parse_newsegment):
8687         * gst/gstevent.h:
8688         Rename base to stream_time.
8689
8690         * gst/gstmessage.h:
8691         Fix typo in docs.
8692
8693 2005-10-11  Wim Taymans  <wim@fluendo.com>
8694
8695         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8696         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8697         (gst_bin_change_state_func), (bin_bus_handler):
8698         * gst/gstbin.h:
8699         Work on proper clock selection.
8700
8701 2005-10-11  Edward Hervey  <edward@fluendo.com>
8702
8703         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8704         * libs/gst/controller/gstcontroller.h:
8705         Added GList* version of _remove_properties() in order to be able to wrap
8706         it in bindings.
8707
8708 2005-10-11  Wim Taymans  <wim@fluendo.com>
8709
8710         * docs/design/part-states.txt:
8711         Some more docs.
8712
8713         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8714         (gst_bin_change_state_func), (bin_bus_handler):
8715         Doc updates. Don't distribute the same clock over and over again.
8716
8717         * gst/gstclock.c:
8718         * gst/gstclock.h:
8719         Doc updates.
8720
8721         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8722         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8723         (gst_pad_send_event):
8724         * gst/gstpad.h:
8725         Make probe emission threadsafe again.
8726         Register quarks and move _get_name() from utils.
8727         Doc updates.
8728
8729         * gst/gstpipeline.c: (gst_pipeline_class_init),
8730         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8731         Only redistribute the clock of it changed.
8732
8733         * gst/gstsystemclock.h:
8734         Doc updates. 
8735
8736         * gst/gstutils.c:
8737         * gst/gstutils.h:
8738         Moved the _flow_get_name() to GstPad.
8739
8740 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8741
8742         * check/gst-libs/gdp.c: (GST_START_TEST):
8743         * check/gst/gstcaps.c: (GST_START_TEST):
8744         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8745         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8746         (gst_dp_packet_from_caps):
8747           fix more valgrind warnings before turning up the heat
8748
8749 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8750
8751         * gst/parse/grammar.y:
8752           some cleanup before the hacking
8753
8754 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8755
8756         * gst/base/gstbasesrc.c: (gst_base_src_query):
8757           use conversions
8758         * gst/gstutils.c: (gst_guint64_to_gdouble),
8759         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8760         * gst/gstutils.h:
8761           externalize, basesrc uses it
8762           obviously the implementation needs testing
8763
8764 2005-10-10  Wim Taymans  <wim@fluendo.com>
8765
8766         * tests/sched/Makefile.am:
8767         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8768         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8769
8770 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8771
8772         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8773           apparently converting from guint64 to double is not implemented
8774           on MSVC
8775
8776 2005-10-10  Wim Taymans  <wim@fluendo.com>
8777
8778         * check/Makefile.am:
8779         * check/generic/states.c: (GST_START_TEST):
8780         * check/gst/gstbin.c: (GST_START_TEST):
8781         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8782         * check/states/sinks.c: (GST_START_TEST):
8783         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8784         (main):
8785         Check fixes, use API as stated in design docs, remove hacks.
8786
8787         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8788         (gst_base_sink_change_state):
8789         Catch stopping our task while we're shutting down.
8790
8791         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8792         (gst_bin_remove_func), (gst_bin_get_state_func),
8793         (gst_bin_recalc_state), (gst_bin_change_state_func),
8794         (bin_bus_handler):
8795         * gst/gstbin.h:
8796         * gst/gstelement.c: (gst_element_init),
8797         (gst_element_get_state_func), (gst_element_abort_state),
8798         (gst_element_commit_state), (gst_element_lost_state),
8799         (gst_element_set_state), (gst_element_change_state),
8800         (gst_element_change_state_func):
8801         * gst/gstelement.h:
8802         New state change algorithm (see #318116)
8803
8804         * gst/gstpipeline.c: (gst_pipeline_class_init),
8805         (gst_pipeline_init), (gst_pipeline_set_property),
8806         (gst_pipeline_get_property), (do_pipeline_seek),
8807         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8808         * gst/gstpipeline.h:
8809         Remove crude state change hacks.
8810
8811         * gst/gstutils.h:
8812         Remove crude hacks.
8813
8814         * tools/gst-launch.c: (main):
8815         Fixes for state change. Needs some more work to fully use the
8816         new stuff.
8817
8818 2005-10-10  Andy Wingo  <wingo@pobox.com>
8819
8820         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8821
8822         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8823         this flag, but it's not even in GLib 2.6. Odd. Hack around the
8824         issue.
8825
8826 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8827
8828         * gst/gstiterator.c: (gst_iterator_new):
8829           Fix my previous commit: GTypes passed to gst_iterator_new()
8830           can be fundamental types.
8831
8832 2005-10-10  Wim Taymans  <wim@fluendo.com>
8833
8834         * gst/gstelement.c: (gst_element_iterate_pad_list),
8835         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8836         (gst_element_iterate_sink_pads):
8837         Use src/sink pads lists for the respective iterators instead
8838         of filtering.
8839
8840 2005-10-10  Andy Wingo  <wingo@pobox.com>
8841
8842         Merged in popt removal + GOption addition patch from Ronald, bug
8843         #169772.
8844
8845         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
8846         GstElement macros around, remove popt-related symbols, add goption
8847         stuff.
8848
8849         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
8850         
8851         * docs/gst/Makefile.am:
8852         * docs/libs/Makefile.am: No POPT_CFLAGS.
8853         
8854         * examples/manual/Makefile.am:
8855         * docs/manual/basics-init.xml: Doc updates with an example.
8856         
8857         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8858         (gst_init), (parse_one_option), (parse_goption_arg):
8859         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
8860         bit of hand merging and debugging to get the GOption stuff working
8861         tho.
8862         
8863         * tests/Makefile.am:
8864         * tools/Makefile.am:
8865         * tools/gst-inspect.c: (main):
8866         * tools/gst-launch.c: (main):
8867         * tools/gst-run.c: (main):
8868         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
8869
8870 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8871
8872         * gst/gstiterator.c: (gst_iterator_new):
8873           Add assertions to make sure passed GType is likely to really
8874           be a GType (as the compiler won't catch it if the size and
8875           GType arguments get mixed up, see #318447).
8876
8877 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8878
8879         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8880
8881         * gst/gstbin.c: (gst_bin_iterate_sorted):
8882           Pass GType and size arguments to gst_iterator_new() in the right
8883           order (maybe we should make _new() take the GType as first argument
8884           just like _new_list()?) (#318447).
8885           
8886
8887 2005-10-10  Wim Taymans  <wim@fluendo.com>
8888
8889         * gst/gstelement.c: (gst_element_finalize):
8890         And free the GStaticRecMutex too
8891
8892 2005-10-10  Andy Wingo  <wingo@pobox.com>
8893
8894         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8895         Allocate and free the mutex properly.
8896
8897         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8898         New macros.
8899         (GstElement): The state_lock is now recursive. Rebuild your
8900         plugins, suckers. Old macros adapted.
8901
8902         * docs/gst/gstreamer-sections.txt: Doc updates.
8903
8904         * gst/gstutils.h:
8905         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8906         (g_static_rec_cond_wait): Ported from state changes patch, while
8907         we wait on bug #317802 to be solved in a well-distributed GLib.
8908
8909         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8910         gst_element_change_state, variable name changes.
8911         (gst_element_change_state): Split out of gst_element_set_state in
8912         preparation for the state change merge. Doesn't pay attention to
8913         the 'transition' argument.
8914         (gst_element_set_state): Updates, hopefully purely cosmetic.
8915         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8916         state change patch.
8917         (gst_element_get_state_func): Renamed from get_state, cosmetic
8918         changes.
8919
8920 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8921
8922         * gst/elements/gstelements.c:
8923         * win32/GStreamer.vcproj:
8924         * win32/config.h:
8925         * win32/dirent.c: (_tseekdir):
8926         * win32/gst-inspect.vcproj:
8927         * win32/gst-launch.vcproj:
8928         * win32/gstconfig.h:
8929         * win32/gstelements.vcproj:
8930         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8931         * win32/gstreamer.def:
8932         * win32/msvc71.sln:
8933           updates for the win32 build (patch from Sebastien Moutte)
8934
8935 2005-10-10  Andy Wingo  <wingo@pobox.com>
8936
8937         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8938         gst_bin_get_state, cleaned up (but no logic changes).
8939         (bin_element_is_sink): Comment updates.
8940         (sink_iterator_filter): Remove needless cast.
8941         (gst_bin_iterate_sinks): Doc update.
8942         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
8943         cleaned up (but no logic changes).
8944
8945         * check/states/sinks.c (test_src_sink): Cleanups from the state
8946         change patch.
8947         (test_livesrc_sink): Sync on the state.
8948
8949         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
8950         the state change patch.
8951
8952         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
8953         change patch.
8954
8955         * check/gst/gstbin.c: Merge in some style fixes and additional
8956         checks from Wim's state change patch.
8957
8958 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8959
8960         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8961         (gst_type_find_helper):
8962           Check whether we have the requested data already in our list of
8963           cached buffers before pulling a new buffer; also make the buffer
8964           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
8965
8966 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8967
8968         * gst/gstcaps.c:
8969         * gst/gstevent.c:
8970           doc updates
8971         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8972           don't use long long, it's not portable.  Replacing with
8973           gint64 seems to work; let's hope no skeletons fall out of the closet.
8974
8975 2005-10-10  Andy Wingo  <wingo@pobox.com>
8976
8977         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
8978
8979 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
8980
8981         * docs/gst/gstreamer-sections.txt:
8982         * gst/gstevent.c:
8983         * gst/gstevent.h:
8984         * gst/gstinfo.c:
8985         * gst/gstinfo.h:
8986         * gst/gstmessage.c: (gst_message_parse_state_changed):
8987         * gst/gstpad.c:
8988         * gst/gstpad.h:
8989           more docs, fix compilation
8990
8991 2005-10-09  Philippe Khalaf <burger@speedy.org>
8992         * gst/gstmessage.c:
8993           Fixed a few forgotten variables on previous commit
8994
8995 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8996
8997         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8998           Fix evil typefind crasher: getrange() might return a short
8999           buffer at the end of a file, but gst_type_find_peek() must
9000           either return the full data as requested or NULL, but
9001           never a short buffer.
9002
9003 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9004
9005         * gst/gstmessage.c: (gst_message_new_state_changed),
9006         (gst_message_parse_state_changed):
9007         * gst/gstmessage.h:
9008           don't use "new", it's a C++ keyword
9009
9010 2005-10-08  Wim Taymans  <wim@fluendo.com>
9011
9012         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9013         * gst/gstelement.c: (gst_element_post_message):
9014         * gst/gstpipeline.c: (gst_pipeline_change_state):
9015         Small docs and debug updates.
9016
9017 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9018
9019         * docs/gst/gstreamer-sections.txt:
9020         * gst/gstelementfactory.c:
9021         * gst/gstevent.c:
9022         * gst/gsttaglist.c:
9023           more docs
9024
9025 2005-10-08  Wim Taymans  <wim@fluendo.com>
9026
9027         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9028         (gst_bin_dispose), (bin_bus_handler):
9029         Fix typos, add comments.
9030         Clear EOS list when going to PAUSED from any direction and do it
9031         in a threadsafe way.
9032         Get base time in a threadsafe way too.
9033         Fix confusing debug in the change_state function.
9034         Various other small cleanups.
9035         
9036         * gst/gstelement.c: (gst_element_post_message):
9037         Fix very verbose bus posting code.
9038
9039         * gst/gstpipeline.c: (gst_pipeline_class_init),
9040         (gst_pipeline_set_property), (gst_pipeline_get_property),
9041         (gst_pipeline_change_state):
9042         Small ARG_ -> PROP_ cleanup
9043
9044 2005-10-08  Wim Taymans  <wim@fluendo.com>
9045
9046         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9047         Do a less CPU demanding EOS check because we can.
9048
9049 2005-10-08  Wim Taymans  <wim@fluendo.com>
9050
9051         * libs/gst/dataprotocol/dataprotocol.c:
9052         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9053         (gst_dp_packet_from_event):
9054         * libs/gst/dataprotocol/dataprotocol.h:
9055         * libs/gst/dataprotocol/dp-private.h:
9056         It's about time we bump the version number.
9057         Since event types don't fit in the guint8 anymore describing
9058         the payload type, make payload type 16 bits wide.
9059
9060 2005-10-08  Wim Taymans  <wim@fluendo.com>
9061
9062         * docs/design/part-TODO.txt:
9063         * docs/design/part-clocks.txt:
9064         * docs/design/part-events.txt:
9065         * docs/design/part-gstbin.txt:
9066         * docs/design/part-gstelement.txt:
9067         * docs/design/part-gstpipeline.txt:
9068         * docs/design/part-live-source.txt:
9069         * docs/design/part-messages.txt:
9070         * docs/design/part-overview.txt:
9071         * docs/design/part-states.txt:
9072         Many doc updates.
9073
9074 2005-10-08  Wim Taymans  <wim@fluendo.com>
9075
9076         * gst/gstevent.c:
9077         * gst/gstevent.h:
9078         Fix event quark registration.
9079         Add some space between events so we can insert them in the
9080         right groups.
9081
9082 2005-10-08  Wim Taymans  <wim@fluendo.com>
9083
9084         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9085         (gst_base_sink_handle_buffer):
9086         Better log message.
9087
9088         * gst/gstbus.h:
9089         * gst/gstelement.h:
9090         More docs.
9091
9092         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9093         (gst_queue_set_property), (gst_queue_get_property):
9094         * gst/gstqueue.h:
9095         Remove old unused properties.
9096
9097 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9098         * docs/gst/gstreamer-sections.txt:
9099         * gst/gstmessage.c:
9100         * gst/gstmessage.h:
9101         * gst/gstminiobject.c:
9102         * gst/gstminiobject.h:
9103         * gst/gstobject.h:
9104         * gst/gstpad.h:
9105         * gst/gstutils.h:
9106           lots of new docs and doc fixes
9107
9108 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9109
9110         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9111         * gst/gstplugin.h:
9112         * gst/gstregistry.c: (gst_registry_lookup_locked),
9113         (gst_registry_scan_path_level):
9114         * gst/gstregistryxml.c: (load_plugin):
9115           Only ever load one plugin for a given plugin basename.
9116           This ensures correct overriding of GST_PLUGIN_PATH over
9117           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9118           system installed plugins.
9119
9120 2005-10-08  Wim Taymans  <wim@fluendo.com>
9121
9122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9123         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9124         Prepare for doing QOS.
9125
9126 2005-10-08  Wim Taymans  <wim@fluendo.com>
9127
9128         * check/gst/gstbin.c: (GST_START_TEST):
9129         * check/pipelines/cleanup.c: (GST_START_TEST):
9130         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9131         Allow new clock message too.
9132
9133 2005-10-08  Wim Taymans  <wim@fluendo.com>
9134
9135         * gst/gstmessage.c: (gst_message_new_error),
9136         (gst_message_new_warning), (gst_message_new_tag),
9137         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9138         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9139         (gst_message_new_segment_start), (gst_message_new_segment_done),
9140         (gst_message_parse_state_changed),
9141         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9142         (gst_message_parse_new_clock):
9143         * gst/gstmessage.h:
9144         Also carry the clock in question.
9145
9146 2005-10-08  Wim Taymans  <wim@fluendo.com>
9147
9148         * gst/gstmessage.c: (gst_message_new_custom),
9149         (gst_message_new_eos), (gst_message_new_error),
9150         (gst_message_new_warning), (gst_message_new_tag),
9151         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9152         (gst_message_new_new_clock), (gst_message_new_segment_start),
9153         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9154         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9155         * gst/gstmessage.h:
9156         Clean up.
9157         Added clock related messages.
9158
9159         * gst/gstpipeline.c: (gst_pipeline_change_state):
9160         Post message when the clock changed.
9161
9162         * tools/gst-launch.c: (event_loop):
9163         Print new clock.
9164
9165 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9166
9167         * tools/gst-inspect.c: (print_element_properties_info):
9168           Can't pass NULL strings to g_print() on windows.
9169
9170 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9171
9172         * docs/Makefile.am:
9173         * docs/gst/Makefile.am:
9174         * docs/gst/gstreamer-docs.sgml:
9175         * docs/gst/running.xml:
9176         * docs/version.entities.in:
9177           add a chapter on running GStreamer.
9178           document GST_DEBUG and GST_PLUGIN* env vars
9179
9180 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9181
9182         * Makefile.am:
9183           remove include dir
9184         * configure.ac:
9185           remove PLUGINS_BUILDDIR stuff
9186         * gst/gst.c: (init_post):
9187           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9188         * idiottest.mak:
9189           remove, it was condescending and not needed
9190
9191 2005-10-08  Wim Taymans  <wim@fluendo.com>
9192
9193         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9194         (gst_base_sink_handle_object), (gst_base_sink_event),
9195         (gst_base_sink_wait), (gst_base_sink_handle_event),
9196         (gst_base_sink_change_state):
9197         * gst/base/gstbasesink.h:
9198         Repost EOS message while going to PLAYING if still EOS.
9199         Make sure that when receiving a FLUSH_START we don't attempt
9200         to sync on the clock anymore.
9201
9202 2005-10-08  Wim Taymans  <wim@fluendo.com>
9203
9204         * tools/gst-launch.c: (event_loop):
9205         Better message printout.
9206
9207 2005-10-08  Wim Taymans  <wim@fluendo.com>
9208
9209         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9210         (gst_bin_child_proxy_get_children_count):
9211         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9212         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9213         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9214         (gst_child_proxy_set_valist):
9215         * gst/parse/grammar.y:
9216         Make ChildProxy threadsafe and fix mem leaks.
9217
9218 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9219
9220         * gst/gst.c: (init_post):
9221           debug the GST_PLUGIN_ env vars
9222
9223 2005-10-08  Wim Taymans  <wim@fluendo.com>
9224
9225         * check/gst/gstbin.c: (GST_START_TEST):
9226         * check/gst/gstmessage.c: (GST_START_TEST):
9227         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9228         * gst/gstelement.c: (gst_element_commit_state),
9229         (gst_element_lost_state):
9230         * gst/gstmessage.c: (gst_message_new_state_changed),
9231         (gst_message_parse_state_changed):
9232         * gst/gstmessage.h:
9233         * tools/gst-launch.c: (event_loop):
9234         Added extra field to STATE_CHANGE message with the pending
9235         state, which will be different from the new state soon.
9236
9237 2005-10-08  Wim Taymans  <wim@fluendo.com>
9238
9239         * gst/gstbus.c: (gst_bus_pop):
9240         * gst/gstclock.c:
9241         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9242         Small cleanups and doc updates.
9243
9244 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9245
9246         * gst/gst.c: (init_pre):
9247         * gst/gstbin.c: (gst_bin_add_func):
9248           log distributing clocks and base time
9249         * gst/gstregistry.c: (gst_registry_add_plugin),
9250         (gst_registry_scan_path_level), (gst_registry_scan_path):
9251           clean up the debugging output a little
9252         * gst/gstutils.c: (gst_element_state_get_name):
9253           warn about a memleak (I've actually seen this be used, though
9254           it was probably a bug)
9255
9256 2005-10-07  Wim Taymans  <wim@fluendo.com>
9257
9258         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9259         (gst_base_src_init), (gst_base_src_default_newsegment),
9260         (gst_base_src_newsegment), (gst_base_src_do_seek),
9261         (gst_base_src_loop), (gst_base_src_start):
9262         * gst/base/gstbasesrc.h:
9263         Make the newsegment event customizable by subclasses.
9264
9265 2005-10-07  Wim Taymans  <wim@fluendo.com>
9266
9267         * gst/gstevent.c: (gst_event_new_buffersize),
9268         (gst_event_parse_buffersize):
9269         * gst/gstevent.h:
9270         New event for future idea.
9271
9272 2005-10-07  Andy Wingo  <wingo@pobox.com>
9273
9274         * gst/gstelement.c (gst_element_post_message): Doc update.
9275
9276         * docs/gst/gstreamer-sections.txt: Update.
9277
9278         * gst/gstmessage.c (gst_message_new_application): Made into a
9279         function like honest API calls.
9280         (gst_message_new_element): New message type.
9281
9282         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9283
9284         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9285         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9286         times.
9287
9288         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9289         NO_PREROLL from gst_element_change_state to fall through.
9290
9291 2005-10-07  Wim Taymans  <wim@fluendo.com>
9292
9293         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9294         (gst_ghost_pad_do_activate_push):
9295         Activating a ghostpad with no internal pad in push mode
9296         is ok.
9297
9298 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9299
9300         * gst/gstobject.h:
9301           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9302           Fixes compilation on Windows.
9303
9304 2005-10-07  Michael Smith <msmith@fluendo.com>
9305
9306         * tools/gst-inspect.c:
9307           Print out feature and plugin count at the end when printing out
9308           all features.
9309
9310 2005-10-04  Michael Smith <msmith@fluendo.com>
9311
9312         * gst/gsterror.c: (_gst_stream_errors_init):
9313           Add another error string used in a few existing plugins.
9314
9315         * gst/gstplugin.c:
9316         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9317         * tools/gst-inspect.c: (print_element_info):
9318           When a feature disappears from a plugin (and the feature exists in
9319           the cached registry file), things went horribly wrong. This isn't a
9320           complete fix, we should actually be removing the 'missing' features
9321           from the features list when we load the actual plugin. That's not
9322           yet implemented. 
9323
9324 2005-10-04  Johan Dahlin  <johan@gnome.org>
9325
9326         * check/gst/gstiterator.c: (GST_START_TEST):
9327         * gst/gstbin.c: (gst_bin_iterate_elements),
9328         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9329         * gst/gstelement.c: (gst_element_iterate_pads):
9330         * gst/gstformat.c: (gst_format_iterate_definitions):
9331         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9332         (gst_iterator_new_list), (gst_iterator_filter):
9333         * gst/gstiterator.h:
9334         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9335         Add a GType to GstIterator, update callsites and tests.
9336
9337 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9338
9339         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9340           give events a chance to be handled by event probes when the pad
9341           is not linked
9342
9343 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9344
9345         * gst/gstevent.c: (gst_event_type_get_name),
9346         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9347         * gst/gstevent.h:
9348           add string representations for event types
9349
9350 2005-10-06  Wim Taymans  <wim@fluendo.com>
9351
9352         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9353         Don't use NULL pointers.
9354
9355 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9356
9357         * gst/gst_private.h:
9358         * gst/gstbus.c:
9359         * gst/gstelement.c:
9360         * gst/gstinfo.c:
9361         * gst/gstpluginfeature.c:
9362           widen the debug category in output to fit the biggest one we have
9363           add a bus category and use it
9364           play with the colors
9365           fix up some categories
9366
9367 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9368
9369         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9370           add push activation of sink ghost pads.
9371           Andye, please verify
9372
9373 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9374
9375         * gst/gstutils.c: (gst_element_link_pads):
9376           fix a bug in the case where neither element has a pad
9377         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9378           add a test for that case
9379
9380 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9381
9382         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9383           emit have-data before checking for peers.  This allows
9384           for probe handlers to connect elements.  This helps autopluggers.
9385         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9386         (gst_pad_suite):
9387           add six checks, linked/unlinked with no/true/false probe
9388
9389 2005-10-04  Wim Taymans  <wim@fluendo.com>
9390
9391         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9392         (gst_fake_sink_event), (gst_fake_sink_preroll),
9393         (gst_fake_sink_render), (gst_fake_sink_change_state):
9394         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9395         (gst_fake_src_get_property), (gst_fake_src_create),
9396         (gst_fake_src_stop):
9397         * gst/elements/gstidentity.c: (gst_identity_stop):
9398         Protect last_message with lock.
9399
9400 2005-10-04  Edward Hervey  <edward@fluendo.com>
9401
9402         * gst/gstformat.h: 
9403         Added precision in the comments for GST_FORMAT_DEFAULT
9404
9405 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9406
9407         * tools/gst-launch.c: (main):
9408           Don't try to run erroneous pipelines.
9409
9410 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9411
9412         * gst/gstbus.c: We don't need this header.
9413
9414 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9415
9416         * configure.ac:
9417           back to development
9418
9419 === release 0.9.3 ===
9420
9421 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9422
9423         * README:
9424         * configure.ac:
9425           Releasing 0.9.3, "Unregistered"
9426
9427 2005-10-03  Andy Wingo  <wingo@pobox.com>
9428
9429         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9430         whereby calling a pad's activatepush() function can start a thread
9431         that starts to push or pull before the pad gets the FLUSHING flag
9432         unset. Hack around it by holding the stream lock until the flag is
9433         set. Need to replace this with a proper solution. Together with
9434         the ghost pad fixes, this fixes mp3 playing/tagreading.
9435
9436         * docs/design/part-gstghostpad.txt: Add a note about activation of
9437         proxy pads outside of ghost pads.
9438
9439         * gst/gstghostpad.c: Implement the ghost pad activation design.
9440
9441 2005-10-02  Andy Wingo  <wingo@pobox.com>
9442
9443         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9444         It is volatile, after all.
9445
9446         * docs/design/part-gstghostpad.txt: Flesh out activation with
9447         ghost pads.
9448
9449         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9450         GST_DEBUG_FUNCPTR.
9451
9452 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9453
9454         * configure.ac:
9455           Fix (unused) AM_CONDITIONAL tests.
9456
9457 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9458
9459         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9460
9461         * gst/gstutils.c: (gst_pad_query_convert):
9462           Add assertion that makes sure src_val is >=0, just like
9463           gst_query_new_convert() has. (#315895)
9464
9465 2005-09-30  Edward Hervey  <edward@fluendo.com>
9466
9467         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9468         Let's not iterate pads we're not interested in, it avoids getting 
9469         sky-high refcounts on sinkpad.
9470
9471 2005-09-30  Wim Taymans  <wim@fluendo.com>
9472
9473         * gst/gstelement.c: (gst_element_set_state),
9474         (gst_element_change_state):
9475         Small tweak, element in ASYNC remains ASYNC.
9476
9477 2005-09-30  Wim Taymans  <wim@fluendo.com>
9478
9479         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9480         Only error is an error.
9481
9482         * gst/gstbin.c: (gst_bin_change_state):
9483         Better debugging.
9484
9485         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9486         Also call pad_block in pad alloc.
9487
9488         * gst/gstutils.c: (gst_flow_get_name):
9489         Better debugging.
9490
9491 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9492
9493         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9494         (gst_base_src_get_range):
9495           Fix documentation typos. Add some more debug info.
9496
9497 2005-09-29  David Schleef  <ds@schleef.org>
9498
9499         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9500           more end-user friendly.
9501         * tools/gst-inspect.c: (main): Check if command-line argument is
9502           a file and attempt to load that file as a plugin.
9503
9504 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9505
9506         * check/gst/gstbin.c:
9507         * check/states/sinks.c:
9508           fix tests for the new warning
9509         * check/gst/gstpipeline.c:
9510           add a test for pipeline and bus interaction
9511         * gst/gstelement.c:
9512           elements should be NULL if they get disposed; add a warning if not
9513
9514 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9515
9516         * gst/gstobject.c:
9517           for 2.6 refcounting, make debug log more correct by printing
9518           the actual refcounts at the time of swap (Wim)
9519
9520 2005-09-29  Andy Wingo  <wingo@pobox.com>
9521
9522         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9523         removes signal watches previously added via
9524         gst_bus_add_signal_watch.
9525         (gst_bus_add_signal_watch): Don't return the source id, just store
9526         it on the bus if there wasn't an id already.
9527
9528         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9529         add_signal_watch and remove_signal_watch.
9530
9531 2005-09-29  Edward Hervey  <edward@fluendo.com>
9532
9533         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9534         Better if we actually iterate the list :)
9535
9536 2005-09-29  Wim Taymans  <wim@fluendo.com>
9537
9538         * check/gst/gstbin.c: (GST_START_TEST):
9539         Change for new bus API.
9540
9541         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9542         (send_messages), (GST_START_TEST), (gstbus_suite):
9543         Change for new bus signal API.
9544
9545         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9546         (gst_bus_source_prepare), (gst_bus_source_check),
9547         (gst_bus_create_watch), (gst_bus_add_watch_full),
9548         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9549         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9550         * gst/gstbus.h:
9551         Remove support for multiple GSources operating on different
9552         message types as it is too complex and unneeded when using
9553         signals.
9554         Added support for receiving signals from the bus.
9555
9556 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9557
9558         * docs/libs/tmpl/gstdataprotocol.sgml:
9559         * docs/manual/advanced-dataaccess.xml:
9560         * gst/elements/gstcapsfilter.c:
9561         * gst/gstutils.c:
9562           rename filter-caps to caps property
9563
9564 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9565
9566         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9567           More robust fraction string parsing.
9568
9569         * docs/pwg/appendix-porting.xml:
9570           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9571
9572 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9573
9574         * gst/gstcaps.c: (gst_caps_do_simplify):
9575           Thou shalt not free a structure and then continue using it
9576           in the next loop iteration.
9577
9578         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9579         (gst_caps_suite):
9580           Add test case for caps simplification.
9581
9582 2005-09-29  Wim Taymans  <wim@fluendo.com>
9583
9584         * check/gst/gstbin.c: (GST_START_TEST):
9585         Oops.
9586
9587 2005-09-29  Wim Taymans  <wim@fluendo.com>
9588
9589         * check/gst/gstbin.c: (GST_START_TEST):
9590         Add bus to bin.
9591
9592         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9593         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9594         (find_element), (gst_bin_sort_iterator_next),
9595         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9596         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9597         (gst_bin_change_state), (gst_bin_dispose):
9598         A bin does not have a bus, it gets the bus from the parent.
9599
9600         * gst/gstelement.c: (gst_element_requires_clock),
9601         (gst_element_provides_clock), (gst_element_is_indexable),
9602         (gst_element_is_locked_state), (gst_element_change_state),
9603         (gst_element_set_bus_func):
9604         Small cleanups.
9605
9606         * gst/gstpipeline.c: (gst_pipeline_class_init),
9607         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9608         The pipeline provides a bus.
9609
9610 2005-09-28  Johan Dahlin  <johan@gnome.org>
9611
9612         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9613         gst_structure_get_enum instead of gst_structure_get_int
9614
9615         * gst/gststructure.c (gst_structure_get_enum): Impl.
9616
9617         * gst/gststructure.h (gst_structure_get_enum): Add
9618
9619         * docs/gst/gstreamer-sections.txt: Ditto
9620
9621         * gst/gstmessage.c (gst_message_new_state_changed): Use
9622         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9623         which does introspection.
9624         Reviewed by Christian Schaller
9625
9626 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9627
9628         * gst/gstinfo.c: (gst_debug_log_default):
9629           don't do dummy g_strdup()s
9630         * libs/gst/controller/gstcontroller.c:
9631         (on_object_controlled_property_changed),
9632         (gst_controlled_property_new), (gst_controller_new_valist),
9633         (gst_controller_new_list),
9634         (gst_controller_remove_properties_valist), (gst_controller_set),
9635         (gst_controller_get), (gst_controller_sync_values),
9636         (gst_controller_get_value_array), (_gst_controller_class_init),
9637         (gst_controller_get_type):
9638         * libs/gst/controller/gstcontroller.h:
9639         * libs/gst/controller/gstinterpolation.c:
9640         (gst_controlled_property_find_timed_value_node):
9641           convert // to /**/ comments
9642
9643 2005-09-28  Wim Taymans  <wim@fluendo.com>
9644
9645         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9646         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9647         (gst_bus_sync_signal_handler):
9648         * gst/gstbus.h:
9649         Added async-message and sync-message signals to the bus.
9650         Added helper BusFunc to emit signals for all posted messages.
9651
9652         * gst/gstmessage.c: (gst_message_type_get_name),
9653         (gst_message_type_to_quark), (gst_message_get_type):
9654         * gst/gstmessage.h:
9655         Register quarks for message names.
9656
9657 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9658
9659         * docs/libs/gstreamer-libs-sections.txt:
9660         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9661         (gst_controller_new_list):
9662         * libs/gst/controller/gstcontroller.h:
9663           added another constructor for language bindings
9664
9665 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9666
9667         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9668           add another check
9669         * gst/gstbus.c:
9670           add some doc
9671         * gst/gstinfo.c: (_gst_debug_init):
9672           slightly more readable color for refcount debugging
9673
9674 2005-09-28  Wim Taymans  <wim@fluendo.com>
9675
9676         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9677         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9678         (find_element), (gst_bin_sort_iterator_next),
9679         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9680         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9681         (gst_bin_change_state), (gst_bin_dispose):
9682         Small doc fixes. get_clock -> provide_clock.
9683
9684         * gst/gstelement.c: (gst_element_class_init),
9685         (gst_element_provides_clock), (gst_element_provide_clock),
9686         (gst_element_get_clock), (gst_element_commit_state),
9687         (gst_element_lost_state):
9688         * gst/gstelement.h:
9689         Make get/set_clock() symetric. Add provide_clock vmethod since
9690         that is actually what this function does.
9691
9692         * gst/gstpipeline.c: (gst_pipeline_class_init),
9693         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9694         (gst_pipeline_get_clock):
9695         get_clock -> provide_clock.
9696
9697 2005-09-28  Andy Wingo  <wingo@pobox.com>
9698
9699         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9700         lieu of real docs...
9701
9702         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9703
9704 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9705
9706         * gst/elements/gstcapsfilter.c:
9707         * gst/elements/gstfakesink.c:
9708         * gst/elements/gstfakesrc.c:
9709         * gst/elements/gstfdsink.c:
9710         * gst/elements/gstfdsrc.c:
9711         * gst/elements/gstfilesink.c:
9712         * gst/elements/gstfilesrc.c:
9713         * gst/elements/gstidentity.c:
9714         * gst/elements/gsttee.c:
9715         * gst/elements/gsttypefindelement.c:
9716           Make element details static.
9717
9718 2005-09-28  Wim Taymans  <wim@fluendo.com>
9719
9720         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9721         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9722         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9723         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9724         (gst_bin_change_state), (gst_bin_dispose):
9725         Some documentation updates.
9726         Clean up dispose handlers.
9727
9728         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9729         * gst/gstpad.c: (gst_pad_dispose):
9730         Clean up dispose handler.
9731
9732         * gst/gstpipeline.c: (gst_pipeline_change_state):
9733         Removed spurious UNLOCK.
9734
9735 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9736
9737         * docs/gst/gstreamer-sections.txt:
9738         * gst/base/gstbasesrc.h:
9739         * gst/gstelement.h:
9740         * gst/gstevent.h:
9741         * gst/gstobject.h:
9742         * gst/gstpad.h:
9743         * gst/gstpipeline.c:
9744         * gst/gstpipeline.h:
9745         * gst/gstutils.h:
9746         * gst/gstxml.h:
9747           added two new functions to the docs
9748                 documents all undocumented GstXXXFlags
9749                 completed some incomplete docs 
9750
9751 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9752
9753         * gst/gstbin.c: (gst_bin_dispose):
9754         * gst/gstelement.c: (gst_element_dispose):
9755           remove now useless and leaky resurrection code in dispose
9756         * gst/base/gstbasesrc.c: (gst_base_src_init):
9757         * gst/gstelementfactory.c: (gst_element_factory_create):
9758         * gst/gstobject.c: (gst_object_set_parent):
9759           add some debugging
9760
9761 2005-09-27  Wim Taymans  <wim@fluendo.com>
9762
9763         * docs/design/part-TODO.txt:
9764         Update TODO.
9765
9766         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9767         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9768         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9769         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9770         (gst_bin_change_state):
9771         * gst/gstelement.h:
9772         Remove element variable, we keep element info in the iterator now.
9773
9774 2005-09-27  Andy Wingo  <wingo@pobox.com>
9775
9776         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9777         values.
9778
9779 2005-09-27  Wim Taymans  <wim@fluendo.com>
9780
9781         * check/gst/gstbin.c: (GST_START_TEST):
9782         Enable check that works now.
9783
9784         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9785         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9786         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9787         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9788         (gst_bin_change_state):
9789         * gst/gstbin.h:
9790         Redid the state change algorithm using a topological sort algo.
9791         Handles all cases correctly.
9792         Exposed iterator for state change order.
9793
9794         * gst/gstelement.h:
9795         Temp storage for state changes. Need to get rid of this soon.
9796
9797 2005-09-27  Wim Taymans  <wim@fluendo.com>
9798
9799         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9800         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9801         (link_fold_func), (gst_pad_proxy_setcaps):
9802         Leak fixes, the fold functions need to unref the passed object and
9803         _get_parent_*() returns ref to parent.
9804
9805 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9806
9807         * check/gst/gstbuffer.c: (test_make_writable):
9808           Plug leak in test case and fix 'make check-valgrind'
9809
9810 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9811
9812         * gst/gstbuffer.c: (gst_subbuffer_init):
9813           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9814           works correctly in all circumstances (we could have just copied
9815           the parent buffer's readonly flag, but conceptually it seems
9816           cleaner to mark all subbuffers as read-only). (based on patch
9817           by Alessandro Decina, #314710).
9818         
9819         * check/gst/gstbuffer.c: (create_read_only_buffer),
9820         (test_make_writable), (test_subbuffer_make_writable),
9821         (gst_test_suite):
9822           Add some tests for gst_buffer_make_writable().
9823
9824 2005-09-27  Wim Taymans  <wim@fluendo.com>
9825
9826         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9827         use gst_object_has_ancestor().
9828
9829         * gst/gstobject.c: (gst_object_has_ancestor):
9830         * gst/gstobject.h:
9831         gst_object_has_ancestor() copied from gstbin.c as it is a
9832         usefull function.
9833
9834         * tests/instantiate/create.c: (create_all_elements):
9835         * tests/lat.c: (handoff_src), (handoff_sink):
9836         * tests/sched/runxml.c: (main):
9837         * tests/seeking/seeking1.c: (main):
9838         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9839         (main):
9840         Fix compilation of some tests.
9841
9842 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9843
9844         * gst/gsterror.h:
9845           Remove comment. GST_TYPE_G_ERROR is here to stay,
9846           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
9847           (#316961, #300610).
9848
9849 2005-09-26  Wim Taymans  <wim@fluendo.com>
9850
9851         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9852         Added check that shows error in state change order.
9853
9854 2005-09-26  Wim Taymans  <wim@fluendo.com>
9855
9856         * gst/gstbin.c: (gst_bin_change_state):
9857         Make state change function use 3 queues again, we were
9858         adding elements in the wrong order.
9859
9860         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9861         Some debug info,
9862
9863         * gst/gstpad.c: (gst_pad_dispose):
9864         Added some debug info first.
9865
9866 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
9867
9868         * docs/design/draft-push-pull.txt:
9869         * docs/design/part-events.txt:
9870         * docs/design/part-overview.txt:
9871         * docs/design/part-scheduling.txt:
9872           Replace all _pull_region() with _pull_range()
9873           
9874 2005-09-26  Andy Wingo  <wingo@pobox.com>
9875
9876         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
9877
9878         * check/gst-libs/controller.c: Update for controller api change.
9879
9880         * configure.ac: 
9881         * tests/Makefile.am:
9882         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9883         over by GLib bug 118439.
9884         
9885         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9886         routines to a function.
9887
9888         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9889
9890         * libs/gst/controller/gsthelper.c:
9891         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9892         (gst_object_sync_values): Renamed from sink_values. Ugh.
9893
9894         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9895
9896         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9897         Renamed from controller_key, as it is exported.
9898
9899         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9900
9901 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9902
9903         * gst/Makefile.am:
9904         * gst/gst.h:
9905         * gst/gstpad.h:
9906         * gst/gstpadtemplate.h:
9907         * gst/gstquery.c:
9908         * gst/gstquery.h:
9909         * gst/gstqueryutils.c:
9910         * gst/gstqueryutils.h:
9911           remove queryutils headers after moving the two used functions
9912           to gstquery.  also fixes build problem for gstsiddec
9913
9914 2005-09-26  Michael Smith <msmith@fluendo.com>
9915
9916         * tools/gst-launch.1.in:
9917         Correct documentation in manpage of debug syntax
9918
9919 2005-09-26  Wim Taymans  <wim@fluendo.com>
9920
9921         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9922         (gst_base_src_is_seekable), (gst_base_src_change_state):
9923         Some more debugging info.
9924
9925 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9926
9927         * docs/gst/gstreamer-sections.txt:
9928         * gst/base/gstbasetransform.h:
9929         * gst/gstindex.h:
9930           added more docs
9931
9932 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9933
9934         * docs/gst/.cvsignore:
9935         * docs/gst/tmpl/.cvsignore:
9936         * docs/gst/tmpl/gstpipeline.sgml:
9937         * docs/gst/tmpl/gstplugin.sgml:
9938         * gst/gstpipeline.c:
9939         * gst/gstplugin.c:
9940         * gst/gstplugin.h:
9941           inlined the last two docs files
9942           removed the tmpl directory from cvs (no more conflicts here!)
9943
9944 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9945
9946         * docs/gst/gstreamer-sections.txt:
9947         * docs/gst/tmpl/.cvsignore:
9948         * docs/gst/tmpl/gstpad.sgml:
9949         * docs/gst/tmpl/gstpadtemplate.sgml:
9950         * gst/Makefile.am:
9951         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9952         (gst_pad_finalize), (gst_pad_set_pad_template):
9953         * gst/gstpad.h:
9954         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9955         (gst_pad_template_class_init), (gst_pad_template_init),
9956         (gst_pad_template_dispose), (name_is_valid),
9957         (gst_static_pad_template_get), (gst_pad_template_new),
9958         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
9959         (gst_pad_template_pad_created):
9960         * gst/gstpadtemplate.h:
9961           inlined two more docs
9962           factored gstpadtemplate out of gstpad
9963
9964 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
9965
9966         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9967         (test_children_state_change_order_semi_sink):
9968           Fix test case: we can't rely on a fixed state change order when
9969           going from READY => PAUSED because the sink might commit its 
9970           new state first when the first buffer created by the source 
9971           reaches the sink before the source has finished its change state.
9972           (Test case still fails at times, see #316856, comment 5 onwards)
9973
9974 2005-09-24  Wim Taymans  <wim@fluendo.com>
9975
9976         * docs/design/part-events.txt:
9977         * docs/design/part-gstbus.txt:
9978         * docs/design/part-gstpipeline.txt:
9979         * docs/design/part-messages.txt:
9980         * docs/design/part-overview.txt:
9981         * docs/design/part-segments.txt:
9982         * gst/gstbin.c:
9983         * gst/gstbuffer.c:
9984         * gst/gstclock.c:
9985         * gst/gstelement.c:
9986         * gst/gstevent.c:
9987         * gst/gstfilter.c:
9988         * gst/gstiterator.c:
9989         Various documentation updates.
9990
9991 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9992
9993         * gst/gstclock.h:
9994           Well, that's embarassing.  Luckily we weren't using
9995           GST_CLOCK_DIFF anywhere.
9996
9997 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9998
9999         * common/gtk-doc.mak:
10000           don't fail on building XML, FC4 slave shows a bunch of doc
10001           missing bits that I don't get
10002         * gst/gstpad.c:
10003         * gst/gstpipeline.c:
10004         * gst/gststructure.c:
10005           some doc updates
10006
10007 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10008
10009         * docs/design/part-gstbin.txt:
10010         * docs/design/part-gstbus.txt:
10011         * gst/gstbus.c:
10012           Add blurb about how the bus goes into flushing mode and
10013           drops all messages when its bin goes from READY into NULL 
10014           state.
10015
10016 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         * docs/gst/gstreamer-sections.txt:
10019         * gst/gststructure.c: (gst_structure_get_clock_time):
10020         * gst/gststructure.h:
10021           add a method to get a GstClockTime out of a structure
10022
10023 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10024
10025         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10026         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10027           Added test to check state change order in bins (can still be made
10028           to fail here under heavy disk load; bails out with 'Push on pad
10029           fakesink:sink0, but it was not activated in push mode').
10030
10031         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10032           Fix state change order when there is only a semi sink (#316856)
10033
10034         * gst/gstbus.c: (gst_bus_class_init):
10035           Use _class_peek_parent(), not _class_ref(); fix docs to say
10036           'default main context' instead of 'mainloop' where that is
10037           what's meant.
10038
10039         * gst/gstelement.c: (gst_element_commit_state),
10040         (gst_element_set_state):
10041           Fix typos in debug messages
10042
10043 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10044
10045         * docs/README:
10046         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10047         * gst/gstpluginfeature.c:
10048         * gst/gstutils.c:
10049           various doc updates
10050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10051           change an assert into an error until it gets fixed properly
10052
10053 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10054
10055         * docs/gst/gstreamer-sections.txt:
10056         * docs/gst/tmpl/.cvsignore:
10057         * docs/gst/tmpl/gstelement.sgml:
10058         * docs/gst/tmpl/gstinfo.sgml:
10059         * docs/gst/tmpl/gstobject.sgml:
10060         * gst/gstelement.c:
10061         * gst/gstelement.h:
10062         * gst/gstinfo.c:
10063         * gst/gstinfo.h:
10064         * gst/gstobject.c: (gst_object_class_init):
10065         * gst/gstobject.h:
10066           inlined 3 more biiiig doc files and added some missing docs on the fly
10067
10068 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10069
10070         * check/gst/.cvsignore:
10071         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10072         * gst/gstregistryxml.c: (load_plugin),
10073         (gst_registry_xml_save_plugin):
10074           put back source in registry.  add checks for find_plugin.
10075         * testsuite/states/bin.c: (assert_state), (empty_bin),
10076         (test_adding_one_element), (main):
10077         * testsuite/states/locked.c: (main):
10078           some compile/run fixes
10079
10080 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10081
10082         * check/gst/gstvalue.c: (GST_START_TEST):
10083           fix leaks in the test itself
10084
10085 2005-09-22  Wim Taymans  <wim@fluendo.com>
10086
10087         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10088         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10089         (gst_base_sink_query):
10090         Prepare for more accurate position reporting and query
10091         handling.
10092
10093         * gst/gstelement.c: (gst_element_send_event),
10094         (gst_element_set_state):
10095         Add some comment.
10096
10097 2005-09-22  Wim Taymans  <wim@fluendo.com>
10098
10099         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10100         (gst_query_parse_segment):
10101         * gst/gstquery.h:
10102         More documentation.
10103         Add segment query for future use.
10104
10105 2005-09-22  Wim Taymans  <wim@fluendo.com>
10106
10107         * gst/gstbin.c: (gst_bin_add_func):
10108         Some more debug info.
10109
10110         * gst/gstelement.c: (gst_element_send_event):
10111         Simplify send_event
10112
10113         * gst/gstelement.h:
10114         Don't know how flags got broken.
10115
10116         * gst/gstquery.h:
10117         Added new query.
10118
10119 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10120
10121         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10122           Add simplistic test suite for GST_TYPE_DATE serialisation and
10123           deserialisation.
10124
10125 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10126
10127         * docs/gst/gstreamer-sections.txt:
10128         * gst/gststructure.c: (gst_structure_set_valist),
10129         (gst_structure_get_date):
10130         * gst/gststructure.h:
10131         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10132         (gst_date_copy), (gst_value_compare_date),
10133         (gst_value_serialize_date), (gst_value_deserialize_date),
10134         (gst_value_transform_date_string),
10135         (gst_value_transform_string_date), (_gst_value_initialize):
10136         * gst/gstvalue.h:
10137           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10138           bunch of utility functions along with a hack that checks that
10139           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10140           is required. Part of the grand scheme in #170777.
10141
10142 2005-09-22  Andy Wingo  <wingo@pobox.com>
10143
10144         * gst/gstconfig.h.in: Psych out gtk-doc.
10145
10146         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10147
10148         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10149
10150         * tools/gst-inspect.c (print_element_list): Plug some
10151         inconsequential leaks.
10152
10153         * gst/gstregistry.c (gst_registry_get_default): Doc.
10154
10155         * check/gst/gstplugin.c: 
10156         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10157         * gst/gstelementfactory.c (gst_element_factory_create): 
10158         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10159         refcount changes.
10160
10161         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10162         (gst_plugin_feature_load): Doc, don't eat refs.
10163
10164         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10165         (gst_plugin_list_free): Doc.
10166         (gst_plugin_load_file): Doc updates.
10167
10168         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10169         accessors returning refcounted objects, return a ref.
10170
10171         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10172         accessor for caps. IDEMPOTENCE. Oh yes.
10173
10174 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10175
10176         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10177
10178         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10179         (_gst_debug_register_funcptr):
10180           Add mutex to serialise access to the hash table with
10181           the function pointer => function name string mapping;
10182           make that hash table static scope (#316809).
10183
10184         * gst/registries/.cvsignore:
10185           Remove left-over file.
10186
10187 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10188
10189         * docs/pwg/appendix-porting.xml:
10190           And something about newsegment events and caps-on-buffers to
10191           the porting guide (feel free to improve).
10192
10193 2005-09-21  Andy Wingo  <wingo@pobox.com>
10194
10195         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10196         data and event probes on the same pad.
10197         (test_buffer_probe_once): Test that removing probes from within
10198         the probe functions works.
10199
10200 2005-09-21  Andy Wingo  <wingo@pobox.com>
10201
10202         * check/gst/gstutils.c: New file.
10203         (test_buffer_probe_n_times): A simple buffer probe test. More to
10204         come, foolios.
10205
10206         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10207         have-data::buffer, not have-data.
10208         (gst_pad_add_event_probe): Likewise for have-data::event.
10209         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10210         peer' isn't quite right yet though.
10211         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10212         (gst_pad_remove_data_probe): Change to take the guint handler_id
10213         as their arg, not the function+data, which is more glib-like.
10214
10215         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10216         the signal emission to indicate if the data is a buffer or an
10217         event.
10218         (gst_pad_get_type): Initialize buffer and event quarks.
10219         (gst_pad_class_init): have-data is now a detailed signal, yes it
10220         is.
10221
10222 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10223
10224         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10225         * gst/gstutils.c: (gst_util_set_value_from_string),
10226         (gst_util_set_object_arg):
10227           Don't put functional code in g_return_if_fail() or
10228           g_return_val_if_fail() statements, otherwise things will 
10229           break when G_DISABLE_CHECKS is defined during compilation.
10230
10231 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10232
10233         * docs/gst/tmpl/.cvsignore:
10234         * docs/gst/tmpl/gstvalue.sgml:
10235         * gst/gstvalue.c:
10236         * gst/gstvalue.h:
10237           inlied another one and added  some obvious docs
10238
10239 2005-09-21  Wim Taymans  <wim@fluendo.com>
10240
10241         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10242         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10243         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10244         (gst_fdsrc_get_property), (gst_fdsrc_create):
10245         * gst/elements/gstfdsrc.h:
10246         Properly implement fdsrc. Removed signal and timeout,
10247         better implemented somewhere else.
10248
10249 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10250
10251         * docs/gst/tmpl/.cvsignore:
10252         * docs/gst/tmpl/gstimplementsinterface.sgml:
10253         * gst/gstinterface.c:
10254           inlined more docs
10255
10256 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10257
10258         * docs/gst/gstreamer-sections.txt:
10259         * docs/gst/tmpl/.cvsignore:
10260         * docs/gst/tmpl/gstenumtypes.sgml:
10261           remove obsolete doc file
10262
10263 2005-09-21  David Schleef  <ds@schleef.org>
10264
10265         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10266         little beer, fix a little leak.
10267
10268 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10269
10270         * docs/gst/gstreamer-docs.sgml:
10271         * docs/gst/gstreamer-sections.txt:
10272         * docs/gst/tmpl/.cvsignore:
10273         * gst/Makefile.am:
10274         * gst/gst.h:
10275         * gst/gstbin.c:
10276         * gst/gstelement.h:
10277         * gst/gstindex.c: (gst_index_class_init):
10278         * gst/gstindex.h:
10279         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10280         (gst_index_factory_class_init), (gst_index_factory_init),
10281         (gst_index_factory_finalize), (gst_index_factory_new),
10282         (gst_index_factory_destroy), (gst_index_factory_find),
10283         (gst_index_factory_create), (gst_index_factory_make):
10284         * gst/gstindexfactory.h:
10285         * gst/gstpluginfeature.c:
10286         * gst/gstpluginfeature.h:
10287         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10288           more docs inlined, splitted gstindex.{c,h}
10289
10290 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10291
10292         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10293           fix a leak
10294
10295 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10296
10297         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10298           Set sync to FALSE by default.
10299
10300 2005-09-20  Wim Taymans  <wim@fluendo.com>
10301
10302         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10303         (gst_base_sink_init):
10304         Make sync property settable from subclass.
10305
10306         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10307         (gst_fake_sink_change_state):
10308         Set sync to FALSE by default.
10309
10310 2005-09-20  Wim Taymans  <wim@fluendo.com>
10311
10312         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10313         * tools/gst-launch.c: (main):
10314         The timeout handler should have lower priority than the source
10315         so we don't timeout before popping a message with 0 timeout.
10316         Dump error messages after failed state change.
10317
10318 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10319
10320         * tools/gst-inspect.c: (print_element_properties_info):
10321           Fix two typos.
10322
10323 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10324
10325         * check/gst/gstevent.c:
10326         * gst/elements/gstfakesink.c:
10327         * gst/elements/gstfakesink.h:
10328           remove the sync property from fakesink.
10329           has the side effect of setting sync TRUE
10330           for fakesink, which is a change.  Anyone who knows how
10331           to fix this nicely in a GObject-y way, feel free.
10332
10333 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10334
10335         * docs/gst/gstreamer-docs.sgml:
10336           remove probe refsection
10337
10338 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10339
10340         * check/Makefile.am:
10341           disable valgrinding the controller test again
10342         * docs/gst/gstreamer-sections.txt:
10343           update for api-changes
10344
10345 2005-09-20  Wim Taymans  <wim@fluendo.com>
10346
10347         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10348         (gst_base_sink_set_property), (gst_base_sink_get_property),
10349         (gst_base_sink_do_sync):
10350         * gst/base/gstbasesink.h:
10351         Added sync property to basesink to disable clock sync.
10352
10353 2005-09-20  Andy Wingo  <wingo@pobox.com>
10354
10355         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10356         eating the caller's refcount.
10357
10358         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10359         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10360         refcount.
10361
10362         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10363         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10364         of GLib 2.8 public, so we can know which refcount to check in
10365         tests.
10366
10367         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10368         (gst_object_init): Only set the gst refcount if we're going ahead
10369         with the refcount hack.
10370
10371 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10372
10373         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10374         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10375           more leaks plumbed, added more debug-logging
10376         * gst/gstmacros.h:
10377           whitespace fix
10378
10379 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10380
10381         * gst/gstmessage.c:
10382           remove include of gstmemchunk.h
10383
10384 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10385
10386         * gst/gstclock.c: (_gst_clock_id_free):
10387           Commit from the Political Party For More Atomic CVS Commits,
10388           so that people don't waste too much of their day fishing
10389           out obvious leaks out of massive commits.
10390           Oh, and fix a pretty damn obvious leak in the memchunk
10391           removal code.
10392
10393 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10394
10395         * check/Makefile.am:
10396         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10397           plug mem-leak, re-add to valgrindable tests
10398
10399 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10400
10401         * gst/gstplugin.h:
10402           unbreak the build for those who have chronic arthritis
10403           and typing "make check" is just too taxing on the hands
10404
10405 2005-09-20  Andy Wingo  <wingo@pobox.com>
10406
10407         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10408         really want it out, you should fix plugins at the same time.
10409
10410 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10411
10412         * configure.ac:
10413         * docs/gst/gstreamer-sections.txt:
10414         * gst/gstobject.c:
10415           added missing symbols to api docs
10416           disable ref-count hack if we have glib >= 2.8
10417
10418 2005-09-19  David Schleef  <ds@schleef.org>
10419
10420         * docs/gst/Makefile.am: Ignore a few more internal headers
10421         * docs/gst/gstreamer-docs.sgml: Remove old sections
10422         * docs/gst/gstreamer-sections.txt: Remove old sections
10423         * docs/gst/tmpl/gstobject.sgml: update
10424         * docs/gst/tmpl/gstplugin.sgml: update
10425         * docs/gst/tmpl/gstpluginfeature.sgml: update
10426         * docs/random/ds/0.9-suggested-changes: update.
10427         * gst/Makefile.am: remove memchunk and trashstack, since they're
10428           not used.
10429         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10430         * gst/gst.h: don't include some headers
10431         * gst/gstchildproxy.c: add gstmarshal.h
10432         * gst/gstclock.c: Don't use memchunks
10433         * gst/gstminiobject.c: Add some docs
10434         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10435         * gst/gstobject.h: same
10436         * gst/gstplugin.c: include gstmacros.h
10437         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10438         * gst/gstquery.c: don't use memchunks
10439         * gst/gstregistry.c: rename gst_registry_deinit()
10440         * gst/gstregistry.h: same
10441
10442 2005-09-19  David Schleef  <ds@schleef.org>
10443
10444         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10445         * docs/libs/gstreamer-libs-sections.txt:
10446         * docs/libs/tmpl/gstgetbits.sgml:
10447         * docs/libs/tmpl/gstputbits.sgml:
10448
10449 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10450
10451         * win32/gstenumtypes.c:
10452         * win32/gstenumtypes.h:
10453           Update.
10454
10455 2005-09-19  Wim Taymans  <wim@fluendo.com>
10456
10457         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10458         Automatically PAUSE and RESUME a pipeline when a flushing seek
10459         is performed.
10460
10461 2005-09-19  Andy Wingo  <wingo@pobox.com>
10462
10463         * gst/gstregistry.h: Spacing fixen.
10464
10465 2005-09-19  Wim Taymans  <wim@fluendo.com>
10466
10467         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10468         Handle state change failure more correctly.
10469
10470 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * check/Makefile.am:
10473         * check/pipelines/cleanup.c: (run_pipeline):
10474         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10475         (GST_START_TEST):
10476           enable cleanup again after fixing the leak
10477         * docs/README:
10478           some more info on docs
10479
10480 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10481
10482         * check/Makefile.am:
10483           re-enable tests now that leaks are plugged
10484         * check/gst/gst.c:
10485         * check/gst/gstbin.c:
10486         * check/gst/gstpipeline.c:
10487           add some more tests while fixing leaks
10488         * common/check.mak:
10489           make sure binaries are uptodate when valgrinding/gdbing
10490         * gst/gst.c:
10491         * gst/gstelementfactory.c:
10492           remove a ref too many, and add a FIXME for when we get
10493           round to disposing of classes
10494         * gst/gstplugin.c:
10495           fix the refcounting when loading a plugin from a file and
10496           the code pretends that the pointer is the same even though
10497           of course it can change
10498         * gst/gstpluginfeature.c:
10499           unref plugins marked cached (a bit confusing as a name)
10500           as the docs state should be done
10501           various doc additions to explain refcounting
10502         * gst/gstregistry.c:
10503         * gst/gstregistryxml.c:
10504           debugging
10505
10506 2005-09-19  Wim Taymans  <wim@fluendo.com>
10507
10508         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10509         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10510         (send_messages), (GST_START_TEST), (gstbus_suite):
10511         * check/gst/gstpipeline.c: (GST_START_TEST):
10512         * check/pipelines/cleanup.c: (run_pipeline):
10513         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10514         (GST_START_TEST):
10515         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10516         (gst_bus_source_check), (gst_bus_source_dispatch),
10517         (gst_bus_create_watch), (gst_bus_add_watch_full),
10518         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10519         * gst/gstbus.h:
10520         * tools/gst-launch.c: (event_loop):
10521         * tools/gst-md5sum.c: (event_loop):
10522         GstBusHandler -> GstBusFunc, return value has the same meaning as
10523         any other GSource (FALSE == remove source).
10524         _add_watch() and _add_watch_full() now take a MessageType mask to
10525         only handle specific types of messages.
10526         _poll() returns the GstMessage instead of the message type to avoid
10527         race conditions.
10528         _have_pending() takes a MessageType mask now too.
10529         Added testsuite for multiple bus watches.
10530         Fix testsuites and applications for new bus API.
10531
10532 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10533
10534         * check/Makefile.am:
10535           mark a bunch of the tests as to fix until we fix them
10536
10537 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10538
10539         * common/check.mak:
10540           use GST_PLUGIN settings for valgrind tests as well, so we're
10541           valgrinding the correct thing
10542         * gst/gst.c: (init_post):
10543           plug another leak
10544
10545 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10546
10547         * gst/gst.c: (init_post), (gst_deinit):
10548         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10549         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10550         * gst/gstindex.c: (gst_index_factory_class_init),
10551         (gst_index_factory_finalize):
10552         * gst/gstobject.c: (gst_object_dispose):
10553         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10554         (gst_plugin_load_file), (gst_plugin_desc_free):
10555         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10556         (gst_plugin_feature_finalize):
10557         * gst/gstregistry.c: (gst_registry_class_init),
10558         (gst_registry_init), (gst_registry_finalize),
10559         (gst_registry_get_default), (gst_registry_deinit):
10560         * gst/gstregistry.h:
10561         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10562           various cleanups and memleak plugging.  make valgrind is happy now.
10563
10564 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10565
10566         * common/check.mak:
10567           add a check-valgrind target
10568
10569 2005-09-18  David Schleef  <ds@schleef.org>
10570
10571         * tools/gst-inspect.c: Revert the GOption code.
10572
10573 2005-09-17  David Schleef  <ds@schleef.org>
10574
10575         * check/Makefile.am: Fix environment variables.
10576         * check/gst/gstplugin.c: Fix for API changes.
10577         * tools/gst-inspect.c: Fix for API changes.
10578         * tools/gst-xmlinspect.c: Fix for API changes.
10579         * gst/gstelementfactory.c:
10580         * gst/gstplugin.c:
10581         * gst/gstplugin.h:
10582         * gst/gstpluginfeature.c:
10583         * gst/gstpluginfeature.h:
10584         * gst/gstregistry.c:
10585         * gst/gstregistry.h:
10586         * gst/gstregistryxml.c:
10587         * gst/gsttypefind.c:
10588         * gst/gsttypefindfactory.c:
10589         * gst/indexers/gstfileindex.c:
10590         * gst/indexers/gstmemindex.c:
10591         * gst/schedulers/Makefile.am:
10592           Change registry to keep track of both plugins and features,
10593           removing the feature tracking from plugins themselves.
10594
10595 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10596
10597         * check/Makefile.am:
10598         * tools/gst-register.1.in:
10599           remove gst-register
10600
10601 2005-09-15  David Schleef  <ds@schleef.org>
10602
10603         * check/gst/gstplugin.c:
10604         * gst/gstelementfactory.c:
10605         * gst/gstplugin.c:
10606         * gst/gstpluginfeature.c:
10607         * gst/gstregistry.c:
10608           Getting tired of debugging.  Disabled all the unreffing of
10609           plugins and features, which fixes the segfaults, but of
10610           course leaks like crazy.  At least playbin works.
10611
10612 2005-09-15  David Schleef  <ds@schleef.org>
10613
10614         * check/gst/gstplugin.c: (register_check_elements),
10615         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10616         More testing
10617         * gst/elements/gsttypefindelement.c: Fix refcounting.
10618         * gst/gsttypefind.c:
10619         * gst/gsttypefindfactory.c:
10620         * gst/gsttypefindfactory.h:
10621
10622 2005-09-15  David Schleef  <ds@schleef.org>
10623
10624         * gst/gstindex.c: get refcounting correct.
10625         * gst/gstregistry.c: Handle the case where a feature/plugin is
10626           not found.
10627
10628 2005-09-15  David Schleef  <ds@schleef.org>
10629
10630         * check/Makefile.am:
10631         * check/gst/gstplugin.c: Add test
10632         * gst/gstplugin.c: Fix problems noticed by testsuite
10633         * gst/gstplugin.h:
10634         * gst/gstregistry.c: 
10635         * gst/gstregistry.h:
10636
10637 2005-09-15  David Schleef  <ds@schleef.org>
10638
10639         * gst/gstplugin.c: Implement semi-decent recounting and locking
10640           in plugins and plugin features.
10641         * gst/gstplugin.h:
10642         * gst/gstpluginfeature.c:
10643         * gst/gstpluginfeature.h:
10644         * gst/gstregistry.c:
10645
10646 2005-09-15  Michael Smith <msmith@fluendo.com>
10647
10648         * gst/gstregistry.c: (gst_registry_get_feature_list):
10649           Implement this. Makes oggdemux work; decodebin still broken.
10650
10651 2005-09-14  David Schleef  <ds@schleef.org>
10652
10653         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10654           #316076)
10655         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10656         * gst/check/Makefile.am:
10657         * libs/gst/controller/Makefile.am:
10658         * libs/gst/dataprotocol/Makefile.am:
10659
10660 2005-09-14  David Schleef  <ds@schleef.org>
10661
10662         * configure.ac: Remove getbits library.  Nothing uses it, and
10663           it should be in something like liboil if someone did want
10664           to use it.
10665         * libs/gst/Makefile.am:
10666         * libs/gst/getbits/Makefile.am:
10667         * libs/gst/getbits/gbtest.c:
10668         * libs/gst/getbits/getbits.c:
10669         * libs/gst/getbits/getbits.h:
10670         * libs/gst/getbits/gstgetbits_generic.c:
10671         * libs/gst/getbits/gstgetbits_i386.s:
10672         * libs/gst/getbits/gstgetbits_inl.h:
10673
10674 2005-09-14  David Schleef  <ds@schleef.org>
10675
10676         * gst/Makefile.am: Dist glib-compat.h
10677
10678 2005-09-14  David Schleef  <ds@schleef.org>
10679
10680         * configure.ac: Remove gst/registries, since it's no longer used.
10681         * gst/registries/Makefile.am:
10682         * gst/registries/gstlibxmlregistry.c:
10683         * gst/registries/gstlibxmlregistry.h:
10684         * gst/registries/gstxmlregistry.c:
10685         * gst/registries/gstxmlregistry.h:
10686         * gst/registries/registrytest.c:
10687
10688 2005-09-14  David Schleef  <ds@schleef.org>
10689
10690         * gst/glib-compat.h:
10691         * gst/gstregistryxml.c:
10692           Convergence is near.  Seriously.
10693
10694 2005-09-14  David Schleef  <ds@schleef.org>
10695
10696         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10697         * gst/glib-compat.h:
10698           Attempt #4 to appease the buildbots.
10699
10700 2005-09-14  David Schleef  <ds@schleef.org>
10701
10702         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10703           Attempt #3.
10704
10705 2005-09-14  David Schleef  <ds@schleef.org>
10706
10707         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10708         Attempt #2.
10709
10710 2005-09-14  David Schleef  <ds@schleef.org>
10711
10712         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10713           the new functions.
10714
10715 2005-09-14  David Schleef  <ds@schleef.org>
10716
10717         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10718         * gst/glib-compat.h: Add some functions that are in newer versions
10719           of glib than we care to require.
10720         * gst/gstregistryxml.c: Use them.
10721
10722 2005-09-14  David Schleef  <ds@schleef.org>
10723
10724         * po/POTFILES.in: remove gst-register.c
10725
10726 2005-09-14  David Schleef  <ds@schleef.org>
10727
10728         * docs/gst/gstreamer-docs.sgml:
10729         * docs/gst/gstreamer-sections.txt:
10730         * docs/gst/gstreamer.types:
10731         * docs/gst/tmpl/gstelement.sgml:
10732         * docs/gst/tmpl/gstplugin.sgml:
10733         * docs/gst/tmpl/gstpluginfeature.sgml:
10734           Documentation updates for registry changes.
10735
10736 2005-09-14  David Schleef  <ds@schleef.org>
10737
10738         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10739           because we don't require glib-2.8.
10740
10741 2005-09-14  David Schleef  <ds@schleef.org>
10742
10743         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10744           registries directory.
10745
10746 2005-09-14  David Schleef  <ds@schleef.org>
10747
10748         * check/Makefile.am:
10749         * check/generic/states.c:
10750         * gst/Makefile.am:
10751         * gst/gst.c:
10752         * gst/gst.h:
10753         * gst/gst_private.h:
10754         * gst/gstelementfactory.c:
10755         * gst/gstindex.c:
10756         * gst/gstinfo.c:
10757         * gst/gstplugin.c:
10758         * gst/gstplugin.h:
10759         * gst/gstpluginfeature.c:
10760         * gst/gstpluginfeature.h:
10761         * gst/gstregistry.c:
10762         * gst/gstregistry.h:
10763         * gst/gstregistrypool.c: remove
10764         * gst/gstregistrypool.h: remove
10765         * gst/gsttypefind.c:
10766         * gst/gsttypefindfactory.c:
10767         * gst/gsturi.c:
10768         * tools/Makefile.am:
10769         * tools/gst-compprep.c:
10770         * tools/gst-inspect.c:
10771         * tools/gst-register.c: remove
10772         * tools/gst-xmlinspect.c:
10773           Registry rewrite.  Changes registry from being a file created
10774           by a tool into a simple cache file created automatically by 
10775           libgstreamer.  Removed gst-register (because it's no longer
10776           needed).  Remove registry pools, because we only have one
10777           registry implementation (XML).  Fix up other subsystems as
10778           necessary.
10779
10780 2005-09-13  Michael Smith <msmith@fluendo.com>
10781
10782         * gst/gstconfig.h.in:
10783           Don't Use windows linking attributes for MinGW. Fixes #316157
10784
10785 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10786
10787         * gst/gstutils.c: (set_state_async_thread_func),
10788         (gst_element_set_state_async):
10789           Apparently people think it's better if this function doesn't
10790           try to set the state to whatever state was asked for on the first
10791           call to this function for any object.  Seriously.
10792
10793 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10794
10795         * check/gst/gstpipeline.c: (GST_START_TEST):
10796         * docs/gst/gstreamer-sections.txt:
10797         * gst/gstutils.c: (set_state_async_thread_func),
10798         (gst_element_set_state_async):
10799         * gst/gstutils.h:
10800           add a "gst_element_set_state_async" method that
10801           sets the state and starts a thread to make sure the state
10802           change completes as best as it can
10803
10804 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10805
10806         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10807           codify design+behaviour in testsuite after discussion
10808
10809 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10810
10811         * docs/gst/tmpl/gstelement.sgml:
10812         * docs/manual/appendix-quotes.xml:
10813           add a quote
10814         * gst/gstelement.c: (gst_element_set_state):
10815           add some debug
10816
10817 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
10818
10819         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10820         (gst_base_transform_prepare_output_buf),
10821         (gst_base_transform_handle_buffer):
10822         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10823         (gst_capsfilter_prepare_buf):
10824           Remove the requirement for sub-classes to call the parent
10825           implementation of prepare_output_buffer with a wrapper function.
10826           
10827         * gst/gsttaglist.h:
10828         * gst/gsttagsetter.h:
10829           Fix #define wrapper
10830
10831 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
10832
10833         * docs/gst/gstreamer-sections.txt:
10834           more doc cleanups
10835
10836 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10837
10838         * docs/gst/gstreamer-sections.txt:
10839         * docs/gst/tmpl/gstelement.sgml:
10840         * docs/gst/tmpl/gstplugin.sgml:
10841         * gst/gstminiobject.c:
10842         * gst/gstvalue.h:
10843           docs now stop throwing warnings
10844
10845 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10846
10847         * docs/gst/gstreamer-sections.txt:
10848         * docs/gst/gstreamer.types:
10849         * docs/gst/tmpl/gstpad.sgml:
10850         * docs/gst/tmpl/gsttypes.sgml:
10851         * gst/base/gstadapter.h:
10852         * gst/base/gstbasesink.h:
10853         * gst/base/gstbasesrc.h:
10854         * gst/gstbin.h:
10855         * gst/gstbuffer.h:
10856         * gst/gstbus.h:
10857         * gst/gstcaps.h:
10858         * gst/gstclock.h:
10859         * gst/gstelement.h:
10860         * gst/gstevent.h:
10861         * gst/gstmessage.h:
10862         * gst/gstpad.h:
10863         * gst/gststructure.c:
10864         * gst/registries/gstlibxmlregistry.h:
10865           various documentation fixes
10866
10867 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10868
10869         * docs/gst/gstreamer-sections.txt:
10870         * docs/gst/tmpl/gstvalue.sgml:
10871           rearrange gstvalue section
10872         * gst/gstutils.c: (gst_element_state_get_name):
10873           NONE -> VOID
10874         * gst/gstvalue.c: (_gst_value_initialize):
10875         * gst/gstvalue.h:
10876           doc updates
10877
10878 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10879
10880         * check/gst-libs/controller.c:
10881           Header include fix.
10882         * gst/base/gstbasetransform.c:
10883         (gst_base_transform_default_prepare_buf),
10884         (gst_base_transform_handle_buffer):
10885         * gst/base/gstbasetransform.h:
10886           Some more basetransform changes and fixes to enable sub-classes
10887           that modify buffer metadata only.
10888         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10889         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10890         (gst_capsfilter_prepare_buf):
10891           If the output pad has fixed allowed caps and input buffers 
10892           don't have any, set the fixed caps on outgoing buffers.
10893
10894 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10895         * check/elements/identity.c: (GST_START_TEST):
10896           Make the error a little clearer when the test fails because
10897           identity made a copy of the buffer.
10898         * docs/gst/gstreamer-sections.txt:
10899           New symbols in gstbasetransform.h
10900         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10901         (gst_base_transform_init), (gst_base_transform_transform_size),
10902         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10903         (gst_base_transform_default_prepare_buf),
10904         (gst_base_transform_get_unit_size),
10905         (gst_base_transform_buffer_alloc),
10906         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10907         (gst_base_transform_change_state),
10908         (gst_base_transform_set_passthrough),
10909         (gst_base_transform_set_in_place),
10910         (gst_base_transform_is_in_place):
10911         * gst/base/gstbasetransform.h:
10912           Change BaseTransform to separate in_place operate from same_caps
10913           output. in_place implies that the element can perform the transform
10914           on incoming buffers in-place, even if the caps on the output are
10915           different.
10916           Sub-class elements can now implement special buffer allocation
10917           methods for outgoing buffers if they wish to.
10918           Big documentation addition.
10919         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10920         * gst/elements/gstelements.c:
10921           Changes for basetransform modifications.
10922         * gst/elements/Makefile.am:
10923         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10924           Compile fix. Extra debug output.
10925
10926 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10927
10928         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10929         (gst_pad_suite):
10930           add tests for valid pad naming
10931         * gst/check/gstcheck.c: (gst_check_log_message_func),
10932         (gst_check_log_critical_func):
10933           add ASSERT_WARNING
10934           remove printing of code, it is fragile when the code contains
10935           % and the line number is enough info
10936         * gst/check/gstcheck.h:
10937         * gst/gstpad.c: (gst_pad_template_new):
10938           fix memleaks
10939
10940 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10941
10942         * configure.ac:
10943           say what CHECK flags we use
10944         * docs/libs/gstreamer-libs.types:
10945         * libs/gst/controller/Makefile.am:
10946         * libs/gst/controller/gst-controller.c:
10947         * libs/gst/controller/gst-controller.h:
10948         * libs/gst/controller/gst-helper.c:
10949         * libs/gst/controller/gst-interpolation.c:
10950         * libs/gst/controller/gstcontroller.c:
10951         * libs/gst/controller/gsthelper.c:
10952         * libs/gst/controller/gstinterpolation.c:
10953         * tools/gst-inspect.c: (print_plugin_info):
10954           we don't use dashes in header names
10955
10956 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10957
10958         * check/Makefile.am:
10959         * check/gst/.cvsignore:
10960         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
10961         (gst_pipeline_suite), (main):
10962           adding a test for pipelines and state changes
10963         * gst/gstutils.c: (get_state_func):
10964           add some debugging
10965         * gstreamer.spec.in:
10966           fix up spec file
10967
10968 2005-09-08  Michael Smith <msmith@fluendo.com>
10969
10970         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
10971         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
10972         (gst_file_src_is_seekable), (gst_file_src_get_size),
10973         (gst_file_src_start):
10974         * gst/elements/gstfilesrc.h:
10975           Various fixes for unseekable, unmmapable, and non-normal files, so
10976           that fallback to read() rather than mmap() works.
10977         * gst/gstevent.c: (gst_event_new_newsegment):
10978           Allow newsegment events with segment_start == segment_end, as will
10979           correctly happen if you use filesrc on a zero-size file, for
10980           example.
10981
10982 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10983
10984         * gst/gstplugin.c: (gst_plugin_load_file):
10985           Call g_module_close when we don't load the module
10986
10987         * gst/registries/gstlibxmlregistry.c:
10988         (gst_xml_registry_get_property):
10989           Port leak fix from 0.8
10990
10991 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10992
10993         * docs/gst/gstreamer-docs.sgml:
10994         * docs/gst/tmpl/.cvsignore:
10995         * docs/gst/tmpl/gsttrace.sgml:
10996         * docs/gst/tmpl/gsttrashstack.sgml:
10997         * gst/Makefile.am:
10998         * gst/gst.h:
10999         * gst/gstelement.h:
11000         * gst/gstevent.h:
11001         * gst/gstmessage.c:
11002         * gst/gstmessage.h:
11003         * gst/gsttag.c:
11004         * gst/gsttag.h:
11005         * gst/gsttaginterface.c:
11006         * gst/gsttaginterface.h:
11007         * gst/gsttaglist.c:
11008         * gst/gsttaglist.h:
11009         * gst/gsttagsetter.c:
11010         * gst/gsttagsetter.h:
11011         * gst/gsttrace.c:
11012         * gst/gsttrace.h:
11013         * gst/gsttrashstack.c:
11014           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11015           inlined docs for gsttrace, gsttrashstack
11016
11017 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11018
11019         * gst/Makefile.am:
11020         * gst/elements/gstbufferstore.h:
11021         * gst/elements/gsttypefindelement.c:
11022         * gst/elements/gsttypefindelement.h:
11023         * gst/gst.h:
11024         * gst/gsttypefind.c:
11025         * gst/gsttypefind.h:
11026         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11027         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11028         (gst_type_find_factory_dispose),
11029         (gst_type_find_factory_unload_thyself),
11030         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11031         (gst_type_find_factory_get_caps),
11032         (gst_type_find_factory_get_extensions),
11033         (gst_type_find_factory_call_function):
11034         * gst/gsttypefindfactory.h:
11035         * gst/registries/gstlibxmlregistry.c:
11036         * gst/registries/gstxmlregistry.c:
11037           splitted gsttypefind into gsttypefind, gsttypefindfactory
11038
11039 2005-09-07  Andy Wingo  <wingo@pobox.com>
11040
11041         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11042         condition whereby the pad's task function is entered before the
11043         pad_mode variable was set.
11044
11045 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11046
11047         * gst/gstpad.c: (gst_pad_alloc_buffer):
11048           Catch misbehaving pad_alloc functions that don't
11049           set up caps and do it for them.
11050
11051 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11052
11053         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11054           test for pipe!=NULL
11055         * docs/gst/tmpl/.cvsignore:
11056         * docs/gst/tmpl/gstmemchunk.sgml:
11057         * docs/gst/tmpl/gstparse.sgml:
11058         * docs/gst/tmpl/gsttaglist.sgml:
11059         * docs/gst/tmpl/gsttagsetter.sgml:
11060         * docs/gst/tmpl/gsttypefind.sgml:
11061         * docs/gst/tmpl/gsttypefindfactory.sgml:
11062         * gst/gstmemchunk.c:
11063         * gst/gstparse.c:
11064         * gst/gsttag.c:
11065         * gst/gsttaginterface.c:
11066         * gst/gsttypefind.c:
11067         * gst/gsttypefind.h:
11068           inlined more docs
11069
11070 === release 0.9.2 ===
11071
11072 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11073
11074         * NEWS:
11075         * RELEASE:
11076         * configure.ac:
11077           releasing 0.9.2, "South"
11078
11079 2005-09-05  Andy Wingo  <wingo@pobox.com>
11080
11081         * gst/registries/gstxmlregistry.h:
11082         * gst/registries/gstxmlregistry.c: Um... resurrect...
11083         
11084         * gst/registries/gstxmlregistry.h:
11085         * gst/registries/gstxmlregistry.c: and update to newer API.
11086         Incidentally they should be a bit faster now that they don't have
11087         to parse the caps.
11088         
11089 2005-09-05  Andy Wingo  <wingo@pobox.com>
11090
11091         * gst/registries/gstxmlregistry.h:
11092         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11093         replaced by the libxml registry a while back
11094
11095 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11096
11097         * docs/gst/tmpl/gstplugin.sgml:
11098         * gst/elements/gstelements.c:
11099         * gst/gst.c:
11100         * gst/gstplugin.c: (gst_plugin_register_func),
11101         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11102         (gst_plugin_get_source):
11103         * gst/gstplugin.h:
11104         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11105         (gst_xml_registry_save_plugin):
11106         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11107         (gst_xml_registry_save_plugin):
11108         * tools/gst-inspect.c: (print_plugin_info):
11109           add a "source" plugin description field, to represent the source
11110           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11111           will set it to PACKAGE, which is automake's idea of the name of
11112           the source project.
11113
11114 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11115
11116         * Makefile.am:
11117         * autogen.sh:
11118         * configure.ac:
11119         * docs/Makefile.am:
11120         * docs/faq/Makefile.am:
11121         * docs/gst/tmpl/gstelement.sgml:
11122         * docs/gst/tmpl/gsttypes.sgml:
11123         * docs/htmlinstall.mak:
11124         * docs/manual/Makefile.am:
11125         * docs/pwg/Makefile.am:
11126           reorganize doc build a little
11127           split out docbook and gtk-doc stuff
11128           have two separate --enable's and enable them through autogen
11129           but disable by default in configure (to be similar to other
11130           projects)
11131         * gstreamer.spec.in:
11132           clean up docs install
11133         * po/af.po:
11134         * po/az.po:
11135         * po/ca.po:
11136         * po/cs.po:
11137         * po/de.po:
11138         * po/en_GB.po:
11139         * po/fr.po:
11140         * po/it.po:
11141         * po/nb.po:
11142         * po/nl.po:
11143         * po/ru.po:
11144         * po/sq.po:
11145         * po/sr.po:
11146         * po/sv.po:
11147         * po/tr.po:
11148         * po/uk.po:
11149         * po/vi.po:
11150           translation updates
11151
11152 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11153
11154         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11155           Add comment.
11156           
11157         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11158         (gst_fake_sink_change_state):
11159           Make state change function thread-safe.
11160           
11161         * gst/gstpad.c: (gst_pad_alloc_buffer):
11162           Set offset on generic buffer allocated by fallback.
11163
11164 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11165
11166         * docs/gst/gstreamer-sections.txt:
11167         * docs/gst/tmpl/gstelement.sgml:
11168         * gst/gstpad.c:
11169         * libs/gst/controller/gst-controller.c:
11170         (gst_controlled_property_set_interpolation_mode),
11171         (gst_controlled_property_new),
11172         (gst_controller_find_controlled_property):
11173          run the wingo-magic script against the docs
11174
11175 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11176
11177         * docs/gst/gstreamer-docs.sgml:
11178         * docs/gst/gstreamer-sections.txt:
11179         * docs/gst/tmpl/.cvsignore:
11180         * docs/gst/tmpl/gstelementdetails.sgml:
11181         * docs/gst/tmpl/gstelementfactory.sgml:
11182         * gst/gst.c:
11183         * gst/gstbus.c:
11184         * gst/gstelementfactory.c:
11185         * gst/gstelementfactory.h:
11186           merged elementdetails docs into elementfactory docs
11187           inlined both
11188
11189 2005-09-02  Andy Wingo  <wingo@pobox.com>
11190
11191         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11192         consider this enum an enum and not a flags.
11193
11194 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11195
11196         * docs/gst/gstreamer-docs.sgml:
11197         * docs/gst/tmpl/.cvsignore:
11198         * docs/gst/tmpl/gstghostpad.sgml:
11199         * docs/gst/tmpl/gstiterator.sgml:
11200         * docs/gst/tmpl/gstmacros.sgml:
11201         * docs/gst/tmpl/gstrealpad.sgml:
11202         * docs/gst/tmpl/gstregistry.sgml:
11203         * docs/gst/tmpl/gstregistrypool.sgml:
11204         * docs/gst/tmpl/gststructure.sgml:
11205         * docs/gst/tmpl/gstsystemclock.sgml:
11206         * docs/gst/tmpl/gsttrace.sgml:
11207         * gst/gstghostpad.c:
11208         * gst/gstmacros.h:
11209         * gst/gstmemchunk.c:
11210         * gst/gstmemchunk.h:
11211         * gst/gstqueue.c:
11212         * gst/gstregistry.c:
11213         * gst/gstregistrypool.c:
11214         * gst/gststructure.c:
11215         * gst/gstsystemclock.c:
11216           more docs inlined
11217
11218 2005-09-02  Andy Wingo  <wingo@pobox.com>
11219
11220         * gst/gstelement.h (GstState): Renamed from GstElementState,
11221         changed to be a normal enum instead of flags.
11222         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11223         munged to be GST_STATE_CHANGE_*.
11224         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11225         work with the new state representation.
11226         (GstStateChange): New enumeration of possible state transitions.
11227         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11228         (GstElementClass::change_state): Pass the GstStateChange along as
11229         an argument. Helps language bindings, so they don't have to use
11230         tricky lock-needing macros like GST_STATE_CHANGE ().
11231
11232         * scripts/update-states (file): New script. Run it on a file to
11233         update it for state naming and API changes. Updates files in
11234         place.
11235
11236         * All files updated for the new API.
11237
11238 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11239
11240         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11241         * gst/gstutils.c: (gst_util_set_value_from_string),
11242         (gst_util_set_object_arg):
11243           fix a bunch of unchecked return values
11244         * tools/gst-complete.c: (main):
11245         * gstreamer.spec.in:
11246           clean up a little
11247
11248 2005-09-01  Wim Taymans  <wim@fluendo.com>
11249
11250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11251         (gst_base_sink_event), (gst_base_sink_do_sync),
11252         (gst_base_sink_handle_event):
11253         * gst/base/gstbasesink.h:
11254         Handle newsegments more correctly.
11255
11256         * gst/gstbus.c:
11257         Fix docs.
11258
11259         * gst/gstevent.c: (gst_event_new_newsegment):
11260         A newsegment cannot have a start_time of -1
11261
11262 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11263
11264         * win32/gstenumtypes.c:
11265         * win32/gstenumtypes.h:
11266           Update
11267
11268 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11269
11270         * libs/gst/controller/gst-controller.c:
11271         (gst_controlled_property_set_interpolation_mode),
11272         (gst_controlled_property_new):
11273          fixed boolean again
11274
11275 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11276
11277         * docs/faq/gst-uninstalled:
11278           add -good
11279         * gst/gstevent.c:
11280         * gst/gstevent.h:
11281           remove wrong docs
11282         * gst/gstutils.c: (gst_element_link_filtered):
11283         * gst/gstutils.h:
11284           add gst_element_link_filtered
11285
11286 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11287
11288         * docs/gst/gstreamer-docs.sgml:
11289         * docs/gst/gstreamer-sections.txt:
11290         * docs/gst/tmpl/.cvsignore:
11291         * docs/gst/tmpl/gsterror.sgml:
11292         * docs/gst/tmpl/gstfilter.sgml:
11293         * docs/gst/tmpl/gsturihandler.sgml:
11294         * docs/gst/tmpl/gsturitype.sgml:
11295         * docs/gst/tmpl/gstutils.sgml:
11296         * docs/gst/tmpl/gstxml.sgml:
11297         * gst/gsterror.c:
11298         * gst/gsterror.h:
11299         * gst/gstfilter.c:
11300         * gst/gsturi.c:
11301         * gst/gsturitype.c:
11302         * gst/gstutils.c:
11303         * gst/gstxml.c:
11304           inlined more docs, fixed double id-ref
11305
11306 2005-08-31  Wim Taymans  <wim@fluendo.com>
11307
11308         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11309         (gst_base_transform_handle_buffer):
11310         Passthrough elements don't need the caps as they don't care.
11311
11312 2005-08-31  Wim Taymans  <wim@fluendo.com>
11313
11314         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11315         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11316         Don't leak refcounts on buffers.
11317
11318 2005-08-31  Wim Taymans  <wim@fluendo.com>
11319
11320         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11321         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11322         (gst_base_transform_chain), (gst_base_transform_change_state):
11323         * gst/base/gstbasetransform.h:
11324         Handle the case where we are not negotiated more gracefully.
11325
11326 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11327
11328         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11329         (gst_file_src_map_region):
11330           Set READONLY flag on mmap'ed buffers, otherwise
11331           gst_buffer_make_writable() won't work properly (#314708).
11332
11333 2005-08-31  Wim Taymans  <wim@fluendo.com>
11334
11335         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11336         passthrough elements can even do inplace on non writable
11337         buffers (as they don't touch them).
11338
11339 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11340
11341         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11342         (gst_test_mono_source_set_property),
11343         (gst_test_mono_source_class_init), (GST_START_TEST),
11344         (gst_controller_suite):
11345           more tests (hehe I have the most)
11346         * gst/gstbus.c:
11347           describe popping messages whenusing mulltiple sources
11348         * libs/gst/controller/gst-controller.c:
11349         (gst_controlled_property_set_interpolation_mode),
11350         (gst_controlled_property_new):
11351         * libs/gst/controller/gst-controller.h:
11352         * libs/gst/controller/gst-interpolation.c:
11353           implement boolean properties
11354
11355 2005-08-31  Wim Taymans  <wim@fluendo.com>
11356
11357         * gst/gstminiobject.c: (gst_mini_object_ref):
11358         Cannot assert that the refcount has to be positive
11359         since a disposed object can be resurrected.
11360
11361 2005-08-31  Wim Taymans  <wim@fluendo.com>
11362
11363         * gst/gstpad.c: (gst_pad_init):
11364         Revert change, need to first fix badly behaving 
11365         apps.
11366
11367 2005-08-30  Wim Taymans  <wim@fluendo.com>
11368
11369         * check/elements/fakesrc.c: (setup_fakesrc):
11370         * check/elements/identity.c: (setup_identity):
11371         Activate pads before using them.
11372
11373 2005-08-30  Wim Taymans  <wim@fluendo.com>
11374
11375         * gst/base/gstadapter.c: (gst_adapter_flush):
11376         Flushing out 0 bytes is ok for this function.
11377
11378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11379         no newsegment gives a warning and sets the start/stop to 
11380         invalid.
11381
11382         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11383         (gst_base_transform_set_passthrough):
11384         Some debug info.
11385
11386         * gst/gstminiobject.c: (gst_mini_object_ref):
11387         Check refcount here too.
11388
11389         * gst/gstpad.c: (gst_pad_init):
11390         Pads are initially flushing and refusing data.
11391
11392         * gst/gstutils.c: (gst_element_link_pads_filtered):
11393         When adding a capsfilter element make sure it has the
11394         same state as the parent bin.
11395
11396 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11397
11398         * docs/gst/tmpl/.cvsignore:
11399         * docs/gst/tmpl/gstformat.sgml:
11400         * docs/gst/tmpl/gstversion.sgml:
11401         * gst/gstbus.h:
11402         * gst/gstformat.c:
11403         * gst/gstformat.h:
11404         * gst/gstversion.h.in:
11405           more docs and two more inlined
11406
11407 2005-08-30  Wim Taymans  <wim@fluendo.com>
11408
11409         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11410         Don't sync to clock.
11411
11412 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11413
11414         * docs/gst/gstreamer-sections.txt:
11415           ultral33t func10ns deserve to appear in the docs actually
11416         * docs/gst/tmpl/.cvsignore:
11417         * docs/gst/tmpl/gstcompat.sgml:
11418         * docs/gst/tmpl/gstconfig.sgml:
11419         * gst/check/gstcheck.c:
11420         * gst/gstcompat.h:
11421         * gst/gstconfig.h.in:
11422           inlined more docs
11423
11424 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11425
11426         * docs/gst/tmpl/.cvsignore:
11427         * docs/gst/tmpl/gstquery.sgml:
11428         * docs/gst/tmpl/gstutils.sgml:
11429         * gst/gstquery.c:
11430         * gst/gstquery.h:
11431           inlined and extended docs
11432
11433 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11434
11435         * check/gst-libs/controller.c: (GST_START_TEST),
11436         (gst_controller_suite):
11437           more tests
11438         * docs/gst/tmpl/gstutils.sgml:
11439         * docs/libs/gstreamer-libs-sections.txt:
11440         * docs/libs/tmpl/gstdataprotocol.sgml:
11441           include path fixes
11442         * examples/controller/audio-example.c: (main):
11443           controller example works now
11444         * gst/gstclock.h:
11445           doc fixes
11446         * tools/gst-inspect.c: (print_element_properties_info):
11447           show param spec flags
11448
11449 2005-08-29  Andy Wingo  <wingo@pobox.com>
11450
11451         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11452
11453 2005-08-28  Andy Wingo  <wingo@pobox.com>
11454
11455         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11456         as having two arguments instead of just one. Allows superclasses
11457         to access information on subclasses -- see the terrible for() loop
11458         in gtype.c:g_type_create_instance for the reason why. All callers
11459         changed.
11460
11461 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11462
11463         * docs/design/part-messages.txt:
11464           update info
11465         * docs/gst/tmpl/.cvsignore:
11466         * docs/gst/tmpl/gstcaps.sgml:
11467         * docs/gst/tmpl/gstclock.sgml:
11468         * gst/gstbus.c:
11469         * gst/gstcaps.c:
11470         * gst/gstcaps.h:
11471         * gst/gstclock.c:
11472         * gst/gstclock.h:
11473         * gst/gstmessage.c:
11474           added descriptions for bus and message
11475           inline caps and clock docs
11476
11477 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11478
11479         * gst/gstmessage.c:
11480         * gst/gstmessage.h:
11481           doc fixes
11482
11483 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11484
11485         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11486           fix div-by-zero
11487
11488 2005-08-26  Andy Wingo  <wingo@pobox.com>
11489
11490         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11491         element_set_state's return val.
11492         (test_2_elements): Add test that's been disabled for months.
11493
11494         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11495         can-activate-pull properties.
11496
11497         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11498         can-activate-pull properties. Implement is_seekable so fakesrc can
11499         operate in pull mode.
11500
11501         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11502         properties.
11503         (gst_base_sink_activate, gst_base_sink_activate_pull)
11504         (gst_base_sink_activate_push): Make activation mode choosing work.
11505         Cleanups.
11506         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11507         is right. Make pull mode work. Post an eos before pausing in pull
11508         mode.
11509         (gst_base_sink_change_state): Pay attention to the core's
11510         change_state() return val.
11511         
11512         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11513         has-getrange properties. Cleanups.
11514         
11515         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11516         has_getrange and replace with can_activate_pull and
11517         can_activate_push.
11518
11519         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11520         locking comments. Remove has_loop, has_chain and replace with
11521         can_activate_pull and can_activate_push.
11522
11523 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11524
11525         * configure.ac:
11526         * examples/Makefile.am:
11527         * examples/metadata/Makefile.am:
11528         * examples/metadata/read-metadata.c: (message_loop),
11529         (have_pad_handler), (make_pipeline), (print_tag), (main):
11530           Add metadata reading example that loops over a list of filenames,
11531           dumping any tags found.
11532
11533         * gst/gstbus.c: (gst_bus_dispose):
11534         * gst/gstelement.c: (gst_element_dispose):
11535           Release a few potentially-held references in dispose.
11536
11537 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11538
11539         * docs/gst/tmpl/gstminiobject.sgml:
11540           do *not* add tmpl/*.sgml files to CVS!
11541
11542 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11543
11544         * libs/gst/bytestream/.cvsignore:
11545         * libs/gst/bytestream/Makefile.am:
11546         * libs/gst/bytestream/adapter.c:
11547         * libs/gst/bytestream/adapter.h:
11548         * libs/gst/bytestream/bytestream.c:
11549         * libs/gst/bytestream/bytestream.h:
11550         * libs/gst/bytestream/filepad.c:
11551         * libs/gst/bytestream/filepad.h:
11552           removing obsolete files
11553
11554 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11555
11556         * docs/gst/gstreamer-docs.sgml:
11557         * docs/libs/gstreamer-libs-docs.sgml:
11558           disabed additional index entries again, as this makes docs-gen just
11559           slow and they aren't useful yet
11560         * docs/libs/gstreamer-libs-sections.txt:
11561           little -section.txt cleanup for libs
11562
11563 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11564
11565         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11566         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11567           fix up some debugging
11568         (gst_base_transform_get_unit_size),
11569         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11570         (gst_base_transform_handle_buffer):
11571         * gst/base/gstbasetransform.h:
11572           handle and store timed NEWSEGMENT events so that subclasses that
11573           calculate time by counting samples have a segment_start time they
11574           need to add to their timestamps - see audioresample
11575
11576 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11577
11578         * gst/gstbin.h:
11579           removed ';' from the end of macro defs
11580         * docs/gst/gstreamer-docs.sgml:
11581         * docs/gst/gstreamer-sections.txt:
11582         * docs/gst/tmpl/.cvsignore:
11583         * gst/gstbus.h:
11584         * gst/gstelement.c: (gst_element_class_init),
11585         (gst_element_set_state), (activate_pads),
11586         (gst_element_save_thyself):
11587         * gst/gstevent.c: (gst_event_new_newsegment):
11588         * gst/gstevent.h:
11589         * gst/gstiterator.c:
11590         * gst/gstiterator.h:
11591         * gst/gstpad.c:
11592         * gst/gstprobe.h:
11593         * gst/gstutils.c: (gst_pad_query_convert):
11594         * gst/gstutils.h:
11595           fixed parameter name mismatches between source, header and docs
11596           added some more docs, resolved the last batch of unused elements in
11597           docs (now someone needs to doc them)
11598
11599 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11600
11601         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11602         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11603           don't walk through the plugins backwards.  Where is all this
11604           reversed logic coming from ?
11605
11606 2005-08-25  Wim Taymans  <wim@fluendo.com>
11607
11608         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11609         (gst_base_transform_transform_size),
11610         (gst_base_transform_configure_caps),
11611         (gst_base_transform_get_unit_size),
11612         (gst_base_transform_buffer_alloc),
11613         (gst_base_transform_change_state):
11614         * gst/base/gstbasetransform.h:
11615         Cache caps unit_size.
11616         Make sure we cannot negotiate up and downstream at the
11617         same time.
11618
11619 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11620
11621         * gst/gst.c: (init_pre), (init_post):
11622           register the installed plugin path after the env var
11623         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11624         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11625           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11626           directories, so the tests can prefer uninstalled over installed
11627
11628 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11629
11630         * gst/base/gstbasetransform.h:
11631           comment
11632         * gst/gstpad.c:
11633           add to docs
11634
11635 2005-08-25  Wim Taymans  <wim@fluendo.com>
11636
11637         * gst/gstbin.c: (bin_bus_handler):
11638         Be a bit more conservative about the posted message.
11639         
11640         * gst/gstbus.c: (gst_bus_post):
11641         Some cleanups, warn wrong return values.
11642
11643 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11644
11645         * check/gst/gstbin.c: (GST_START_TEST):
11646         * gst/gstbin.c: (bin_bus_handler):
11647         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11648         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11649         (gst_message_new_warning), (gst_message_new_tag),
11650         (gst_message_new_state_changed), (gst_message_new_segment_start),
11651         (gst_message_new_segment_done), (gst_message_new_custom):
11652         * gst/gstmessage.h:
11653         * tools/gst-launch.c: (event_loop):
11654         * tools/gst-md5sum.c: (event_loop):
11655           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11656
11657 2005-08-25  Wim Taymans  <wim@fluendo.com>
11658
11659         * check/generic/states.c: (GST_START_TEST):
11660         Cleanup can be done at the end.
11661
11662         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11663         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11664         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11665         Oh boy.. Thanks for finding this, Thomas. 
11666
11667 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11668
11669         * docs/gst/gstreamer.types:
11670           added missing types
11671
11672 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11673
11674         * docs/gst/gstreamer-docs.sgml:
11675         * docs/gst/gstreamer-sections.txt:
11676         * docs/gst/tmpl/.cvsignore:
11677         * gst/gstbin.c:
11678         * gst/gstiterator.c:
11679         * gst/gstutils.c:
11680         * gst/registries/gstxmlregistry.h:
11681           added missing classes and symbols (123 more to go)
11682           removed removed symbols from section file
11683           fixed many doc-comments
11684
11685 2005-08-24  Wim Taymans  <wim@fluendo.com>
11686
11687         * check/generic/states.c: (GST_START_TEST):
11688         Make sure all tasks are stopped.
11689
11690         * check/gst/gstbin.c: (GST_START_TEST):
11691         Unref after usage for proper valgrinding.
11692
11693         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11694         Really wait for the task to stop before destroying the
11695         mutex.
11696
11697         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11698         (gst_queue_src_activate_push):
11699         Small cleanups. Don't stop the task when we did not start
11700         it.
11701
11702         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11703         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11704         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11705         (gst_task_join):
11706         * gst/gsttask.h:
11707         Protect the stream lock with the object lock.
11708         Disallow setting the stream lock when running.
11709         Add cleanup_all to wait for the threadpool to finish.
11710         Remove code to autoallocate a mutex if none was provided.
11711         Add _join() to wait for a task to stop.
11712         Protect the thread pool with a global lock.
11713
11714 2005-08-24  Wim Taymans  <wim@fluendo.com>
11715
11716         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11717         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11718         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11719         * gst/base/gstbasesink.h:
11720         Handle newsegment events correctly.
11721         Drop buffers out of the segment range.
11722
11723 2005-08-22  Andy Wingo  <wingo@pobox.com>
11724
11725         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11726         macro, implements an interface and gstimplementsinterface for a
11727         new type.
11728
11729 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11730
11731         * check/Makefile.am:
11732         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11733           add a test that does a bunch of state changes on elements
11734           needs some fixing for valgrind
11735         * check/states/sinks.c: (gst_object_suite):
11736           whitespace
11737         * gst/gstcaps.h:
11738           add prototype for gst_caps_is_equal_fixed
11739         * gst/gstplugin.c:
11740         * gst/gstregistrypool.c:
11741           doc fixes
11742
11743 2005-08-24  Andy Wingo  <wingo@pobox.com>
11744
11745         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11746         convert a negative value. Doesn't make much sense. Mostly this is
11747         here to force callers to ensure -1 maps to -1.
11748
11749 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11750
11751         * docs/pwg/advanced-types.xml:
11752           Well done to Michael for catching my deliberate introduction
11753           of this spelling mistake. 
11754         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11755         * gst/gstelement.h:
11756           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11757           unlink pads before removing the element from the bin.
11758
11759 2005-08-24  Andy Wingo  <wingo@pobox.com>
11760
11761         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11762         the same thing as GST_DEBUG=*:4.
11763         (parse_debug_level, parse_debug_category): New helper parsers.
11764
11765 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11766
11767         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11768         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11769         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11770         (gst_base_transform_buffer_alloc),
11771         (gst_base_transform_handle_buffer):
11772           use gboolean return values and pointers to size so we can use the
11773           full GST_BUFFER_SIZE range (guint) for buffer sizes
11774           use GstPadDirection for transform_caps
11775         * gst/base/gstbasetransform.h:
11776           rename get_size to get_unit_size since that's what it is
11777         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11778           use GstPadDirection for transform_caps
11779         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11780         * gst/gstutils.h:
11781           cleanup and debugging
11782
11783 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11784
11785         * gst/gstelement.c: (gst_element_class_init),
11786         (gst_element_set_state), (activate_pads),
11787         (gst_element_save_thyself):
11788         * tools/gst-compprep.c: (main):
11789         * tools/gst-inspect.c: (print_element_properties_info):
11790         * tools/gst-xmlinspect.c: (print_element_properties):
11791           Fixed long standing mem-leak
11792
11793 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11794
11795         * check/gst/gstbin.c: (GST_START_TEST):
11796         * gst/gstbin.c: (bin_bus_handler):
11797         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11798         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11799         (gst_message_new_warning), (gst_message_new_tag),
11800         (gst_message_new_state_changed), (gst_message_new_segment_start),
11801         (gst_message_new_segment_done), (gst_message_new_custom):
11802         * gst/gstmessage.h:
11803         * tools/gst-launch.c: (event_loop):
11804         * tools/gst-md5sum.c: (event_loop):
11805           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11806           that applications can sensibly post custom messages with references
11807           to their own objects.
11808
11809 2005-08-24  Andy Wingo  <wingo@pobox.com>
11810
11811         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11812         already.
11813
11814 2005-08-24  Wim Taymans  <wim@fluendo.com>
11815
11816         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11817         (gst_base_transform_transform_caps),
11818         (gst_base_transform_transform_size),
11819         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11820         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11821         (gst_base_transform_handle_buffer):
11822         * gst/base/gstbasetransform.h:
11823         Many fixes and new features added by Thomas. Can now also do
11824         transforms with variable sizes and a custom fixate_caps function.
11825
11826 2005-08-24  Wim Taymans  <wim@fluendo.com>
11827
11828         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11829         Some debugging.
11830
11831         * gst/gstclock.h:
11832         Cast to ClockTime before formatting to time.
11833
11834         * gst/gstutils.h:
11835         Cleanups.
11836
11837 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11838
11839         * check/gst-libs/controller.c: (GST_START_TEST),
11840         (gst_controller_suite):
11841         * docs/gst/tmpl/gstcaps.sgml:
11842         * docs/gst/tmpl/gstghostpad.sgml:
11843         * docs/gst/tmpl/gstquery.sgml:
11844         * docs/gst/tmpl/gstutils.sgml:
11845         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
11846         (gst_object_sink_values), (gst_object_get_value_arrays),
11847         (gst_object_get_value_array):
11848           gracefully handle helper method calls to objects that are not beeing
11849           controlled, added test case for that          
11850
11851 2005-08-23  Wim Taymans  <wim@fluendo.com>
11852
11853         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
11854         (gst_event_new_newsegment), (gst_event_parse_newsegment),
11855         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
11856         (gst_event_parse_qos), (gst_event_new_seek),
11857         (gst_event_parse_seek):
11858         * gst/gstevent.h:
11859         Some more debugging output and doc cleanups.
11860
11861         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11862         Fix possible deadlock.
11863
11864 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11865
11866         * docs/gst/gstreamer-docs.sgml:
11867         * docs/gst/gstreamer-sections.txt:
11868         * docs/gst/gstreamer.types:
11869         * docs/gst/tmpl/.cvsignore:
11870         * gst/gstbin.h:
11871         * gst/gstbus.c:
11872         * gst/gstelement.c:
11873         * gst/gstevent.h:
11874           added 100 symbols from gstreamer-unused.txt to the right sections
11875           fixed more broken comments
11876           added GstBus to docs
11877
11878 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11879
11880         * docs/gst/gstreamer-sections.txt:
11881         * docs/gst/tmpl/.cvsignore:
11882         * docs/gst/tmpl/gstbin.sgml:
11883         * docs/gst/tmpl/gstbuffer.sgml:
11884         * gst/base/gstbasesrc.c:
11885         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11886         * gst/gstbuffer.c:
11887         * gst/gstbuffer.h:
11888         * tools/gst-launch.1.in:
11889           inlined more doc comments, added missing comments and fixed comments
11890           fixed typos
11891
11892 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11893
11894         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11895           some debugging
11896         * gst/gstcaps.h:
11897           whitespace fixes
11898         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11899           more debugging
11900         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11901         * gst/gststructure.h:
11902           add a fixate function for booleans; add a FIXME that these func
11903           names should probably be gst_structure_fixate_*
11904
11905 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11906
11907         * docs/gst/gstreamer-docs.sgml:
11908         * docs/gst/gstreamer-sections.txt:
11909         * gst/Makefile.am:
11910         * gst/gstbin.c: (gst_bin_get_type),
11911         (gst_bin_child_proxy_get_child_by_index),
11912         (gst_bin_child_proxy_get_children_count),
11913         (gst_bin_child_proxy_init):
11914         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11915         (gst_child_proxy_get_child_by_index),
11916         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11917         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11918         (gst_child_proxy_get), (gst_child_proxy_set_property),
11919         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11920         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11921         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11922         * gst/gstchildproxy.h:
11923         * gst/parse/grammar.y:
11924         * tools/gst-inspect.c: (print_interfaces),
11925         (print_element_properties_info), (print_element_info):
11926           ported gstchildproxy over from 0.8
11927           ported gst-inspect fixes and enhancements over from 0.8
11928
11929 2005-08-22  Wim Taymans  <wim@fluendo.com>
11930
11931         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11932         (gst_base_transform_handle_buffer):
11933         Also call the transform function if we have ANY caps.
11934
11935         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11936         Fix debug info.
11937
11938 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11939
11940         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
11941           Don't pretend to handle seek events if the source is not seekable
11942
11943 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11944
11945         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11946           Remove extra parameter to debug output
11947
11948         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11949         (gst_base_src_do_seek), (gst_base_src_activate_push):
11950           Fix seek event handling.
11951
11952         * gst/gstpipeline.c: (gst_pipeline_change_state):
11953         * gst/gstqueue.c: (gst_queue_handle_sink_event),
11954         (gst_queue_src_activate_push):
11955           Don't start the src pad task on FLUSH_STOP if the pad
11956           isn't linked.
11957           Debug changes.
11958
11959 2005-08-22  Wim Taymans  <wim@fluendo.com>
11960
11961         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11962         Added check for gst_static_caps_get() refcounting.
11963
11964 2005-08-22  Wim Taymans  <wim@fluendo.com>
11965
11966         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
11967         Make _static_caps_get() refcounting sane.
11968         
11969         * gst/gstelement.c: (gst_element_set_state):
11970         Add g_return_val_if_fail() to protect against segfaults.
11971
11972 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
11973
11974         * docs/gst/tmpl/gstevent.sgml:
11975         * gst/gstevent.c:
11976         * gst/gstevent.h:
11977           inlined remaining docs, added missing doc comments
11978
11979 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11980
11981         * check/gst/gstbin.c: (GST_START_TEST):
11982           since we don't know when preroll is done, use refcount range
11983           check for the sink
11984         * gst/check/gstcheck.h:
11985           add macro for checking refcount range
11986
11987 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11988
11989         * check/Makefile.am:
11990           clean up environment for when registry gets built versus
11991           when actual tests are run; valgrind seems to not report
11992           leaks if GST_PLUGIN_PATH is set to some specific values
11993         * check/gst/gstbin.c: (GST_START_TEST):
11994           add more refcounting checks; maybe this exposes a
11995           preroll lock bug ?
11996         * common/check.mak:
11997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11998         * gst/check/gstcheck.h:
11999         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12000         (gst_bin_change_state):
12001         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12002           add/fix debugging/whitespace
12003
12004 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12005
12006         * check/gst/gstevent.c: (event_probe), (test_event),
12007         (GST_START_TEST):
12008          Er, don't call gst_bin_watch_for_state_change you idiot.
12009
12010 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12011
12012         * check/Makefile.am:
12013           Use CHECK_CFLAGS and CHECK_LIBS
12014         * check/gst/gstevent.c: (event_probe), (test_event),
12015         (GST_START_TEST):
12016           Don't leak events.
12017         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12018         (gst_base_src_start), (gst_base_src_stop),
12019         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12020         (gst_base_src_change_state):
12021           Sprinkle gst_base_src_stop liberally around error paths to fix
12022           problems reusing a source after failed state changes.
12023         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12024         (helper_find_suggest), (gst_type_find_helper):
12025           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12026         * gst/gstevent.h:
12027         * docs/gst/tmpl/gstevent.sgml:
12028           Migrate part of the docs from the SGML file. Wait for ensonic to
12029           tell me how I did it wrong ;)
12030         * tools/gst-typefind.c: (main):
12031           Extra robustness to state changes between files.
12032
12033 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12034
12035         * check/Makefile.am:
12036           don't valgrind the controller test - it's leaking - Stefan, HELP
12037         * gst/check/gstcheck.c: (gst_check_message_error),
12038         (gst_check_chain_func), (gst_check_setup_element),
12039         (gst_check_teardown_element), (gst_check_setup_src_pad),
12040         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12041         (gst_check_teardown_sink_pad):
12042         * gst/check/gstcheck.h:
12043           add a bunch of methods to set up elements, and src and sink pads
12044         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12045         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12046         (GST_START_TEST):
12047           use them
12048         * gst/gstmessage.c:
12049         * gst/gsttag.h:
12050           whitespace/doc fixes
12051
12052 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12053
12054         * gst/gstelement.h:
12055           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12056           be handled by the application and not always printed as well
12057
12058 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12059
12060         * check/Makefile.am:
12061           set GST_TOOLS_DIR
12062         * gst/check/gstcheck.c: (gst_check_message_error):
12063         * gst/check/gstcheck.h:
12064           add a fail_unless_equals_int
12065           add fail_unless for error messages
12066
12067 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12068
12069         * check/Makefile.am:
12070         * check/gst.supp:
12071         * common/Makefile.am:
12072         * common/check.mak:
12073         * common/gst.supp:
12074           factor out some of the common stuff so we can use it
12075
12076 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12077
12078         * check/Makefile.am:
12079         * check/gst/gstiterator.c: (GST_START_TEST):
12080         * check/gst/gstsystemclock.c: (GST_START_TEST),
12081         (gst_systemclock_suite):
12082         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12083         * gst/gstclock.c:
12084           valgrind more tests
12085
12086 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12087
12088         * check/elements/.cvsignore:
12089         * check/elements/gstfakesrc.c:
12090           rename to name of element
12091         * check/elements/identity.c: (chain_func), (event_func),
12092         (setup_identity), (cleanup_identity), (GST_START_TEST),
12093         (identity_suite), (main):
12094           add a test for identity
12095         * check/Makefile.am:
12096         * pkgconfig/Makefile.am:
12097         * pkgconfig/gstreamer-check.pc.in:
12098         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12099         * gst/check:
12100         * gst/Makefile.am:
12101         * configure.ac:
12102           move the check stuff to a library that gets installed
12103         * check/gst-libs/controller.c: (GST_START_TEST):
12104         * check/gst-libs/gdp.c:
12105         * check/gst/gst.c: (GST_START_TEST):
12106         * check/gst/gstbin.c:
12107         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12108         * check/gst/gstbus.c:
12109         * check/gst/gstcaps.c: (GST_START_TEST):
12110         * check/gst/gstelement.c:
12111         * check/gst/gstghostpad.c:
12112         * check/gst/gstiterator.c:
12113         * check/gst/gstmessage.c:
12114         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12115         * check/gst/gstobject.c:
12116         * check/gst/gstpad.c: (GST_START_TEST):
12117         * check/gst/gststructure.c: (GST_START_TEST):
12118         * check/gst/gstsystemclock.c: (GST_START_TEST),
12119         (gst_systemclock_suite):
12120         * check/gst/gsttag.c: (gst_tag_suite):
12121         * check/gst/gstvalue.c:
12122         * check/pipelines/cleanup.c:
12123         * check/pipelines/simple_launch_lines.c:
12124         * check/states/sinks.c:
12125           change include statement
12126
12127         * docs/gst/gstreamer-sections.txt:
12128         * docs/gst/tmpl/gstpad.sgml:
12129           document more pad stuff
12130         * gst/gstminiobject.c: (gst_mini_object_ref),
12131         (gst_mini_object_unref):
12132           debug refcounting
12133
12134 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12135
12136         * docs/gst/tmpl/gst.sgml:
12137         * gst/gst.c:
12138           eliminate another tmpl file, fix spelling in the long-description
12139
12140 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12141
12142         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12143         (test_event), (timediff), (gstevents_suite):
12144           Should fix build on 64-bit arch's
12145
12146 2005-08-18  Andy Wingo  <wingo@pobox.com>
12147
12148         Make sure that when a pipeline goes to PLAYING, that data has
12149         actually hit the sink.
12150
12151         * check/states/sinks.c (test_sink): A sink that doesn't get any
12152         data shouldn't return SUCCESS for going to either PLAYING or
12153         PAUSED. Test also the return values on the way back down.
12154
12155         * gst/gstelement.c (gst_element_set_state): When changing the
12156         state of an element currently changing state asynchronously, go to
12157         lost-state after commiting the pending state. Makes future calls
12158         to get_state continue to return ASYNC.
12159
12160         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12161         ASYNC when going to PLAYING if we still don't have preroll, as can
12162         happen with live sources.
12163
12164 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12165
12166         * docs/pwg/advanced-types.xml:
12167           Hack long paragraph into 2 chunks as a workaround for buggy
12168           jadetex version in sid and breezy that loops infinitely and
12169           eats all RAM.
12170
12171 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12172
12173         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12174         (test_event), (timediff), (gstevents_suite):
12175           Provide more error margin in clock measurements to allow for 
12176           g_get_current_time inaccuracies.
12177
12178 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12179
12180         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12181         (test_event), (timediff), (gstevents_suite):
12182            Fix error message output so I might be able to tell why the
12183            test works here but fails on the build farm.
12184
12185 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12186
12187         * check/Makefile.am:
12188         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12189         (test_event), (timediff), (gstevents_suite), (main):
12190           I wrote a test!
12191
12192         * docs/design/part-seeking.txt:
12193           Spelling correction
12194
12195         * docs/gst/tmpl/gstevent.sgml:
12196         * docs/gst/tmpl/gstfakesrc.sgml:
12197           Docs updates.
12198
12199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12200           Treat a buffer-without-newsegment the same as a receiving 
12201           a newsegment not in time format, and disable syncing to the clock
12202           with a warning.
12203
12204         * gst/gstbus.c: (gst_bus_set_sync_handler):
12205           Assert if anyone tries to replace the existing sync_handler for bus, 
12206           as only the owner should be setting it.
12207
12208         * gst/gstevent.h:
12209           Have a fixed set of custom event enums with events identified by
12210           their structure name (as in 0.8), rather than a free-for-all
12211           allowing collisions between enum values from different plugins.
12212
12213         * gst/gstpad.c: (gst_pad_class_init):
12214           Docs change.
12215           
12216         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12217           Handle out-of-band downstream events from the sending thread.
12218
12219 2005-08-17  Andy Wingo  <wingo@pobox.com>
12220
12221         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12222         play-timeout==0 to mean no timeout at all. In that case, don't
12223         bother with a get_state or a warning, just return directly, even
12224         if it's ASYNC.
12225
12226         * gst/base/gstbasetransform.c: Debug changes.
12227
12228         * gst/gstutils.h:
12229         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12230         ensure bins post state change messages. A bit of a hack but I can't
12231         think of a way to avoid it.
12232
12233         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12234
12235 2005-08-16  Andy Wingo  <wingo@pobox.com>
12236
12237         * gst/base/gstadapter.h:
12238         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12239         peek() but you own the data. Not terribly efficient atm.
12240
12241 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12242
12243         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12244         (gst_element_found_tags):
12245         * gst/gstutils.h:
12246           Add two utility functions for tag handling.
12247
12248 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12249
12250         * docs/manual/advanced-dataaccess.xml:
12251         * docs/manual/basics-helloworld.xml:
12252           Fix docs to use _bin_add() before _link(), which fixes the examples
12253           with recent core versions (reported by Madhan Raj M
12254           <raj_madan@rediffmail.com>, #313199).
12255
12256 2005-08-16  Wim Taymans  <wim@fluendo.com>
12257
12258         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12259         Added subtract checks.
12260
12261         * docs/design/part-events.txt:
12262         Some more docs about newsegment
12263
12264         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12265         Fix FIXME
12266
12267         * gst/gstcaps.c: (gst_caps_to_string):
12268         Add comments, cleanups.
12269         
12270         * gst/gstelement.c: (gst_element_save_thyself):
12271         cleanups
12272         
12273         * gst/gstvalue.c: (gst_value_collect_int_range),
12274         (gst_string_unwrap), (gst_value_union_int_int_range),
12275         (gst_value_union_int_range_int_range),
12276         (gst_value_intersect_int_int_range),
12277         (gst_value_intersect_int_range_int_range),
12278         (gst_value_intersect_double_double_range),
12279         (gst_value_intersect_double_range_double_range),
12280         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12281         (gst_value_subtract_int_range_int),
12282         (gst_value_subtract_double_range_double),
12283         (gst_value_subtract_double_range_double_range),
12284         (gst_value_subtract_from_list), (gst_value_subtract_list),
12285         (gst_value_can_compare), (gst_value_compare_fraction):
12286         Cleanups, add comments, remove unneeded asserts.
12287
12288 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12289
12290         * tools/gst-launch.c: (event_loop):
12291           don't convert NULL structures to strings
12292
12293 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12294
12295         * docs/gst/gstreamer-sections.txt:
12296           made some defines private
12297         * docs/gst/tmpl/gstconfig.sgml:
12298         * docs/gst/tmpl/gstqueue.sgml:
12299         * docs/gst/tmpl/gsttaglist.sgml:
12300         * docs/gst/tmpl/gsttypes.sgml:
12301         * docs/gst/tmpl/gstutils.sgml:
12302         * docs/pwg/appendix-porting.xml:
12303         * gst/base/gstbasesink.h:
12304         * gst/base/gstbasesrc.c:
12305         * gst/base/gstbasesrc.h:
12306         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12307         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12308         * gst/gstelement.c: (gst_element_class_init):
12309         * gst/gstpad.c: (gst_pad_class_init):
12310         * gst/gstqueue.c: (gst_queue_class_init):
12311         * gst/gstxml.c: (gst_xml_class_init):
12312           documented all undocumented signal inline
12313         * libs/gst/controller/gst-controller.h:
12314           added padding
12315
12316 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12317
12318         * docs/pwg/appendix-porting.xml:
12319           Document _set_link_function -> _set_setcaps_function.
12320
12321 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12322
12323         * check/Makefile.am:
12324           add a .check target for running the check
12325         * check/gst-libs/controller.c: (GST_START_TEST):
12326           cosmetic fixups
12327         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12328           complete checks for gstbuffer; would be nice if I could get the
12329           gcov stuff to work so I can see if I actually completed gstbuffer.c
12330         * check/gstcheck.h:
12331           add ASSERT_BUFFER_REFCOUNT
12332
12333 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12334
12335         * docs/gst/gstreamer-sections.txt:
12336         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12337         * gst/gsttag.h:
12338           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12339           spew out a warning if a tag that is already registered
12340           is re-registered, unless it is re-registered with a 
12341           different type (#308438).
12342
12343 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12344
12345         * docs/pwg/appendix-porting.xml:
12346         * docs/pwg/building-state.xml:
12347           Add some paragraphs about state changes in 0.9 to the PWG
12348           and the porting guide, in particular about the new meaning
12349           of GST_STATE_PAUSED and how to write state change functions
12350           with concurrent access by multiple threads in mind.
12351
12352 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12353
12354         * docs/gst/gstreamer-docs.sgml:
12355         * docs/libs/gstreamer-libs-docs.sgml:
12356           added deprecation and since indexes
12357         * libs/gst/controller/gst-controller.c:
12358         * libs/gst/controller/gst-helper.c:
12359           added since tags
12360
12361
12362 2005-08-11  Wim Taymans  <wim@fluendo.com>
12363
12364         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12365         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12366         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12367         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12368         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12369         (gst_ghost_pad_set_target):
12370         Actually implement (re)setting the target on a ghostpad
12371         as described in the docs.
12372
12373 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12374
12375         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12376           Check whether GST_DEBUG_NO_COLOR environment variable is
12377           set and disable coloured debug output if that is the case.
12378
12379 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12380
12381         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12382         (gst_type_find_helper):
12383           The memory returned by gst_type_find_peek() needs to
12384           stay valid until the end of a typefind function, and
12385           typefind functions may keep results from different 
12386           offsets around, so we can't just unref the buffer from
12387           the previous _peek(), but have to save all buffers 
12388           returned by _peek() until typefinding is done and only
12389           free them then.
12390
12391 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12392
12393         * docs/gst/gstreamer-sections.txt:
12394         * gst/gstutils.h:
12395           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12396
12397 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12398
12399         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12400           Fix a pretty good memleak.
12401
12402 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12403
12404         * gst/gstiterator.h:
12405           Fix wrong include and 'make distcheck'.
12406
12407 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12408
12409         * gst/gstbin.c: (bin_bus_handler):
12410           Use gst_element_post_message() instead.
12411
12412 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12413
12414         * gst/base/gstadapter.h:
12415         * gst/base/gstbasesink.h:
12416         * gst/base/gstbasesrc.h:
12417         * gst/base/gstbasetransform.h:
12418         * gst/base/gstcollectpads.h:
12419         * gst/base/gstpushsrc.h:
12420         * gst/gstiterator.h:
12421           Add padding to our base elements' class and instance structs and
12422           to GstIterator (you will need to rebuild all plugins and apps!)
12423
12424 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12425
12426         * gst/gstbin.c: (bin_bus_handler):
12427           Make default message forwarding from child->bus to bin->bus
12428           threadsafe and make it not emit warnings if the parent has no bus.
12429
12430 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12431
12432         * gst/gstelement.c: (activate_pads):
12433           On paused->ready, set pad->caps to NULL, as is the documented
12434           behaviour in this state change. Fixes playback of series of
12435           media files when visualization is enabled in Totem.
12436
12437 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12438
12439         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12440           Allow NULL as filter-caps (which means "any").
12441
12442 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12443
12444         * docs/libs/gstreamer-libs-sections.txt:
12445         * libs/gst/controller/gst-controller.c:
12446         * libs/gst/controller/gst-controller.h:
12447         * libs/gst/controller/gst-helper.c:
12448           adding more entries to the docs and fix small doc-bugs
12449
12450 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12451
12452         * docs/gst/gstreamer-docs.sgml:
12453         * docs/gst/gstreamer-sections.txt:
12454         * docs/gst/gstreamer.types:
12455         * docs/gst/tmpl/gstbasesink.sgml:
12456         * docs/gst/tmpl/gstbasesrc.sgml:
12457         * docs/gst/tmpl/gstbasetransform.sgml:
12458         * docs/gst/tmpl/gstfakesrc.sgml:
12459         * gst/base/gstcollectpads.c:
12460         * gst/base/gstcollectpads.h:
12461         * libs/gst/controller/gst-controller.c:
12462         * libs/gst/controller/gst-controller.h:
12463         * libs/gst/controller/gst-helper.c:
12464         * libs/gst/controller/gst-interpolation.c:
12465         * libs/gst/controller/lib.c:
12466           added long/short desc for controller docs
12467           added collectpads base class docs
12468           added correct includes to base-class docs
12469
12470 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12471
12472         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12473         (gst_test_mono_source_set_property),
12474         (gst_test_mono_source_class_init), (GST_START_TEST),
12475         (gst_controller_suite):
12476         * docs/gst/gstreamer-docs.sgml:
12477         * docs/gst/gstreamer-sections.txt:
12478         * docs/gst/gstreamer.types:
12479         * docs/libs/gstreamer-libs-docs.sgml:
12480         * docs/libs/gstreamer-libs-sections.txt:
12481         * gst/base/gstadapter.c:
12482         * libs/gst/controller/gst-controller.c:
12483         (gst_controlled_property_new), (gst_controlled_property_free),
12484         (gst_controller_new_valist),
12485         (gst_controller_remove_properties_valist),
12486         (gst_controller_sink_values), (_gst_controller_finalize):
12487         * libs/gst/controller/gst-controller.h:
12488         * libs/gst/controller/gst-helper.c:
12489         (gst_object_control_properties), (gst_object_uncontrol_properties),
12490         (gst_object_get_controller), (gst_object_set_controller),
12491         (gst_object_sink_values), (gst_object_get_value_arrays),
12492         (gst_object_get_value_array):
12493           more tests (and fixes) for the controller
12494           more docs for the controller
12495           integrated companies docs for the adapter 
12496
12497 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12498
12499         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12500         (GST_START_TEST), (fakesrc_suite):
12501           add tests for sizetype
12502
12503 2005-08-04  Andy Wingo  <wingo@pobox.com>
12504
12505         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12506         fixes buffer_alloc proxying among other things.
12507
12508         * gst/base/gstbasetransform.c:
12509         * gst/base/gstbasetransform.h:
12510         Revert patch to gstbasetransform from 7-28 removing
12511         delay_configure.
12512
12513         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12514         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12515         Semantics changed, should return not the size of the output buffer
12516         but the byte size of a buffer with a given caps.
12517
12518         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12519         debug object.
12520         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12521         out) are not the pad caps until setcaps finishes.
12522         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12523         not-in-place case as well. Deal with changing from in-place to
12524         not-in-place within calling pad_alloc_buffer. Still a bit
12525         concerned about the overhead here...
12526
12527 2005-08-03  Andy Wingo  <wingo@pobox.com>
12528
12529         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12530         fixating is an error.
12531
12532 2005-08-04  Edward Hervey  <edward@fluendo.com>
12533
12534         * gst/base/gstadapter.h: 
12535         Added gst_adapter_get_type() to the header
12536
12537 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12538
12539         * check/Makefile.am:
12540         * check/gst-libs/controller.c:
12541         * libs/gst/controller/gst-controller.c:
12542         (gst_controller_new_valist):
12543           added check test suite for the controller
12544         * gst/base/gstpushsrc.c:
12545           fixed a doc typo
12546
12547 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12548
12549         * docs/gst/Makefile.am:
12550         * docs/gst/gstreamer-docs.sgml:
12551         * docs/gst/gstreamer-sections.txt:
12552         * docs/gst/gstreamer.types:
12553         * docs/gst/tmpl/gstfakesrc.sgml:
12554         * gst/base/README:
12555         * gst/base/gstbasesink.c:
12556         * gst/base/gstbasesink.h:
12557         * gst/base/gstbasesrc.c:
12558         * gst/base/gstbasesrc.h:
12559         * gst/base/gstbasetransform.c:
12560         * gst/base/gstpushsrc.c:
12561         * gst/base/gstpushsrc.h:
12562           add short/long description docs to base classes
12563           add pushsrc to the docs
12564           remove consolidated doc fragments
12565
12566 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12567
12568         * configure.ac:
12569         * docs/libs/Makefile.am:
12570         * docs/libs/gstreamer-libs-docs.sgml:
12571         * docs/libs/gstreamer-libs-sections.txt:
12572         * docs/libs/gstreamer-libs.types:
12573         * examples/Makefile.am:
12574         * examples/controller/.cvsignore:
12575         * examples/controller/Makefile.am:
12576         * examples/controller/audio-example.c: (main):
12577         * libs/gst/Makefile.am:
12578         * libs/gst/controller/.cvsignore:
12579         * libs/gst/controller/Makefile.am:
12580         * libs/gst/controller/gst-controller.c:
12581         (on_object_controlled_property_changed), (gst_timed_value_compare),
12582         (gst_timed_value_find),
12583         (gst_controlled_property_set_interpolation_mode),
12584         (gst_controlled_property_new), (gst_controlled_property_free),
12585         (gst_controller_find_controlled_property),
12586         (gst_controller_new_valist), (gst_controller_new),
12587         (gst_controller_remove_properties_valist),
12588         (gst_controller_remove_properties), (gst_controller_set),
12589         (gst_controller_set_from_list), (gst_controller_unset),
12590         (gst_controller_get), (gst_controller_get_all),
12591         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12592         (gst_controller_get_value_array),
12593         (gst_controller_set_interpolation_mode),
12594         (_gst_controller_finalize), (_gst_controller_init),
12595         (_gst_controller_class_init), (gst_controller_get_type):
12596         * libs/gst/controller/gst-controller.h:
12597         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12598         (g_object_uncontrol_properties), (g_object_get_controller),
12599         (g_object_set_controller), (g_object_sink_values),
12600         (g_object_get_value_arrays), (g_object_get_value_array):
12601         * libs/gst/controller/gst-interpolation.c:
12602         (gst_controlled_property_find_timed_value_node),
12603         (interpolate_none_get), (interpolate_trigger_get),
12604         (interpolate_trigger_get_value_array):
12605         * libs/gst/controller/lib.c: (gst_controller_init):
12606         * pkgconfig/Makefile.am:
12607         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12608         * pkgconfig/gstreamer-control.pc.in:
12609         * testsuite/Makefile.am:
12610         * testsuite/controller/.cvsignore:
12611         * testsuite/controller/Makefile.am:
12612         * testsuite/controller/interpolator.c: (main):
12613           added controller code
12614           removed dparam pc files
12615
12616 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12617         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12618         (gst_collectpads_stop):
12619           Broadcast the condition when shutting down, to make sure we wake all
12620           threads up. Shut down pads on finalize, for safety.
12621
12622 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12623         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12624         (gst_base_transform_handle_buffer),
12625         (gst_base_transform_change_state):
12626           Handle PAUSED->READY->PAUSED transition after negotiation
12627           occurred already.
12628         * gst/gstmessage.c: (gst_message_init):
12629           Extra piece of debug for new messages.
12630
12631 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12632
12633         * configure.ac:
12634         * docs/gst/tmpl/gstbasesrc.sgml:
12635         * docs/gst/tmpl/gstelement.sgml:
12636         * docs/gst/tmpl/gstevent.sgml:
12637         * docs/gst/tmpl/gstfakesrc.sgml:
12638         * docs/gst/tmpl/gstformat.sgml:
12639         * docs/gst/tmpl/gstghostpad.sgml:
12640         * docs/gst/tmpl/gstpad.sgml:
12641         * docs/gst/tmpl/gstquery.sgml:
12642         * docs/gst/tmpl/gststructure.sgml:
12643         * docs/gst/tmpl/gsttaglist.sgml:
12644         * docs/gst/tmpl/gstvalue.sgml:
12645         * docs/libs/gstreamer-libs-docs.sgml:
12646         * docs/libs/gstreamer-libs-sections.txt:
12647         * docs/libs/gstreamer-libs.types:
12648         * libs/gst/Makefile.am:
12649         * libs/gst/control/.cvsignore:
12650         * libs/gst/control/Makefile.am:
12651         * libs/gst/control/control.c:
12652         * libs/gst/control/control.h:
12653         * libs/gst/control/dparam.c:
12654         * libs/gst/control/dparam.h:
12655         * libs/gst/control/dparam_smooth.c:
12656         * libs/gst/control/dparam_smooth.h:
12657         * libs/gst/control/dparamcommon.h:
12658         * libs/gst/control/dparammanager.c:
12659         * libs/gst/control/dparammanager.h:
12660         * libs/gst/control/dplinearinterp.c:
12661         * libs/gst/control/dplinearinterp.h:
12662         * libs/gst/control/unitconvert.c:
12663         * libs/gst/control/unitconvert.h:
12664         * testsuite/Makefile.am:
12665         * testsuite/dynparams/.cvsignore:
12666         * testsuite/dynparams/Makefile.am:
12667         * testsuite/dynparams/dparamstest.c:
12668         * tools/Makefile.am:
12669         * tools/gst-inspect.c: (print_element_info), (main):
12670         * tools/gst-xmlinspect.c: (print_element_info), (main):
12671           deactivate and remove dparams (libgstcontrol)
12672
12673 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12674
12675         * gst/elements/gsttypefindelement.c:
12676         (gst_type_find_element_have_type), (gst_type_find_element_init),
12677         (stop_typefinding), (gst_type_find_element_handle_event),
12678         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12679         * gst/elements/gsttypefindelement.h:
12680           Set caps on all outgoing buffers, not just the first one.
12681
12682 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12683
12684         * gst/elements/gsttypefindelement.c:
12685         (gst_type_find_element_have_type),
12686         (gst_type_find_element_check_set_buffer_caps),
12687         (gst_type_find_element_init), (stop_typefinding),
12688         (gst_type_find_element_handle_event),
12689         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12690         * gst/elements/gsttypefindelement.h:
12691           Set caps on first outgoing buffer when we've found the type.
12692
12693 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12694
12695         * docs/gst/gstreamer-docs.sgml:
12696         * docs/gst/gstreamer-sections.txt:
12697         * docs/gst/tmpl/gstscheduler.sgml:
12698         * docs/gst/tmpl/gstschedulerfactory.sgml:
12699           Remove some old cruft from docs.
12700
12701 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12702
12703         * gst/gstpad.h:
12704           Fix inline docs for GstPadLinkReturn.
12705           
12706         * gst/gststructure.c: (gst_structure_has_name):
12707         * gst/gststructure.h:
12708         * docs/gst/gstreamer-sections.txt:
12709           New API: gst_structure_has_name().
12710
12711 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12712
12713         * configure.ac:
12714           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12715           and _LARGEFILE_SOURCE in config.h as required. Do not 
12716           export those flags in our .pc files any longer (#142209).
12717
12718           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12719
12720         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12721         (gst_file_sink_do_seek), (gst_file_sink_event),
12722         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12723           Redo seek/tell calls with large file support in mind; add some
12724           debugging messages; add log message that tells us when large
12725           file support is unavailable or not enabled for some reason.
12726
12727         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12728           Add log message that tells us when large file support 
12729           is unavailable or not enabled for some reason.
12730
12731 2005-07-29  Wim Taymans  <wim@fluendo.com>
12732
12733         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12734         Added test for removing an element with ghostpad from a bin.
12735         Fixed test as current implementation does the right thing.
12736
12737         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12738         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12739         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12740         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12741         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12742         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12743         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12744         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12745         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12746         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12747         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12748         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12749         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12750         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12751         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12752         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12753         * gst/gstghostpad.h:
12754         Clean up ghostpads, remove properties for internal stuff.
12755         Make threadsafe.
12756         Fix refcounting.
12757         Prepare for switching targets, not all use cases work yet.
12758
12759 2005-07-29  Wim Taymans  <wim@fluendo.com>
12760
12761         * docs/design/part-gstghostpad.txt:
12762         Small update.
12763
12764         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12765         (gst_bin_remove_func):
12766         Unlinking pads while holding the bin LOCK is not a good
12767         idea.
12768
12769         * gst/gstpad.c: (gst_pad_class_init),
12770         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12771         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12772         No prob setting template after creating the pad.
12773
12774 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12775
12776         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12777         (gst_bus_peek), (gst_bus_source_dispatch),
12778         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12779         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12780           gst_bus_poll may be called from other threads. Handle
12781           this nicely by not making poll_data disappear off the
12782           stack once gst_bus_poll returns.
12783           gst_bus_peek now increments the refcount on the returned
12784           message.
12785
12786 2005-07-29  Wim Taymans  <wim@fluendo.com>
12787
12788         * docs/design/part-gstghostpad.txt:
12789         Overview of current GhostPad datastructures and use
12790         cases for changing the target.
12791
12792 2005-07-28  Wim Taymans  <wim@fluendo.com>
12793
12794         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12795         Added checks for hierarchy consistency whan adding linked
12796         elements to bins.
12797
12798         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12799         Added check to test element scheduling without bin/pipeline.
12800
12801         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12802         First add elements to bin, then link.
12803         
12804         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12805         (gst_bin_remove_func):
12806         Unlink pads from elements added/removed from bin to maintain
12807         hierarchy consistency.
12808
12809 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12810
12811         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12812         (gst_base_transform_handle_buffer):
12813         * gst/base/gstbasetransform.h:
12814           Remove broken delay_configure (fixes renegotiation of software
12815           scaling pipelines); remove some leftover printf()s.
12816
12817 2005-07-28  Wim Taymans  <wim@fluendo.com>
12818
12819         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12820         Added some more tests for wrong hierarchy
12821
12822         * docs/design/part-overview.txt:
12823         Some updates.
12824
12825         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12826         Cleanups.
12827
12828         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12829         (gst_element_dispose):
12830         Some more cleanups.
12831
12832         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12833         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12834         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12835         (gst_pad_set_caps), (gst_pad_send_event):
12836         Check for correct hierarchy when linking pads. Moving to
12837         strict requirement for ghostpads when linking elements in
12838         different bins.
12839
12840         * gst/gstpad.h:
12841         Clean ups. Added WRONG_HIERARCHY return value.
12842
12843 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12844
12845         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12846           Better debug if no transform is possible.
12847
12848 2005-07-27  Wim Taymans  <wim@fluendo.com>
12849
12850         * docs/random/wtay/network-transp:
12851         Some old doc I had.
12852
12853 2005-07-27  Wim Taymans  <wim@fluendo.com>
12854
12855         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12856         (gst_dp_event_from_packet):
12857         Fix serialization of seek events.
12858
12859 2005-07-27  Wim Taymans  <wim@fluendo.com>
12860
12861         * check/gst-libs/gdp.c: (GST_START_TEST):
12862         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12863         Fix compilation and fix event serialization.
12864
12865 2005-07-27  Wim Taymans  <wim@fluendo.com>
12866
12867         * CHANGES-0.9:
12868         * docs/design/part-TODO.txt:
12869         * docs/design/part-events.txt:
12870         Some docs updates
12871
12872         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12873         (gst_base_sink_event), (gst_base_sink_do_sync),
12874         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12875         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12876         (gst_base_src_do_seek), (gst_base_src_event_handler),
12877         (gst_base_src_loop):
12878         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12879         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12880         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12881         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12882         (gst_base_transform_set_passthrough),
12883         (gst_base_transform_is_passthrough):
12884         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12885         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12886         Event updates.
12887
12888         * gst/gstbuffer.h:
12889         Use faster casts.
12890
12891         * gst/gstelement.c: (gst_element_seek):
12892         * gst/gstelement.h:
12893         Update gst_element_seek.
12894
12895         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12896         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12897         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12898         (gst_event_new_eos), (gst_event_new_newsegment),
12899         (gst_event_parse_newsegment), (gst_event_new_tag),
12900         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12901         (gst_event_parse_qos), (gst_event_new_seek),
12902         (gst_event_parse_seek), (gst_event_new_navigation):
12903         * gst/gstevent.h:
12904         Make GstEvent use GstStructure. Add parsing code, make sure the
12905         API is sufficiently generic.
12906         Mark possible directions of events and serialization.
12907
12908         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12909         (_gst_message_copy), (gst_message_new_segment_start),
12910         (gst_message_new_segment_done), (gst_message_new_custom),
12911         (gst_message_parse_segment_start),
12912         (gst_message_parse_segment_done):
12913         Small cleanups.
12914
12915         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12916         (gst_pad_set_caps), (gst_pad_send_event):
12917         Update for new events. 
12918         Catch events sent in wrong directions.
12919
12920         * gst/gstqueue.c: (gst_queue_link_src),
12921         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12922         (gst_queue_handle_src_query):
12923         Event updates.
12924
12925         * gst/gsttag.c:
12926         * gst/gsttag.h:
12927         Remove event code from this file.
12928
12929         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12930         (gst_dp_event_from_packet):
12931         Event updates.
12932
12933 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12934
12935         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12936         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12937         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12938           Make debugging actually useful.
12939
12940 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12941
12942         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
12943         (gst_pad_fixate_caps):
12944           Implement default fixation once again, so that gst_pad_fixate()
12945           actually does anything at all. This probably needs to be some
12946           sort of a last resort, and use profile-based fixation first, but
12947           since that doesn't exist yet, this is the best we have. Fixes
12948           visualization in Totem.
12949
12950 2005-07-22  Wim Taymans  <wim@fluendo.com>
12951
12952         * docs/design/part-events.txt:
12953         Small update.
12954
12955         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12956         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
12957         (gst_base_sink_activate_pull):
12958         Some more comments.
12959
12960         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
12961         (gst_fake_src_create):
12962         Fix handoff marshall.
12963
12964         * gst/elements/gstidentity.c: (gst_identity_class_init),
12965         (gst_identity_transform_ip):
12966         We're a real inplace element.
12967
12968         * gst/gstbus.c: (gst_bus_post):
12969         Added some comments.
12970
12971         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
12972         * tests/muxing/case1.c: (main):
12973         * tests/sched/dynamic-pipeline.c: (main):
12974         * tests/sched/interrupt1.c: (main):
12975         * tests/sched/interrupt2.c: (main):
12976         * tests/sched/interrupt3.c: (main):
12977         * tests/sched/runxml.c: (main):
12978         * tests/sched/sched-stress.c: (main):
12979         * tests/seeking/seeking1.c: (event_received), (main):
12980         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12981         (main):
12982         * tests/threadstate/threadstate3.c: (main):
12983         * tests/threadstate/threadstate4.c: (main):
12984         * tests/threadstate/threadstate5.c: (main):
12985         Fix the tests.
12986
12987 2005-07-21  Wim Taymans  <wim@fluendo.com>
12988
12989         * docs/design/part-seeking.txt:
12990         Some small additions.
12991
12992         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12993         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12994         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12995         * gst/base/gstbasesink.h:
12996         discont values are gint64, handle the math correctly.
12997
12998         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12999         Make the basesrc report error if the source pad is not linked.
13000
13001         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13002         (gst_queue_loop), (gst_queue_handle_src_query),
13003         (gst_queue_src_activate_push):
13004         Make queue collect data even if the srcpad is not linked.
13005         Start pushing out data as soon as it is linked.
13006
13007         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13008         * gst/gstutils.h:
13009         Added gst_flow_get_name() to ease error reporting.
13010
13011 2005-07-20  Wim Taymans  <wim@fluendo.com>
13012
13013         * gst/gstmessage.c: (gst_message_new_segment_start),
13014         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13015         (gst_message_parse_segment_done):
13016         * gst/gstmessage.h:
13017         Added a bunch of messages for advanced seeking.
13018
13019         * gst/parse/grammar.y:
13020         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13021         (gst_dpman_state_changed):
13022         Fix some new-pad -> pad-added signals
13023
13024 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13025
13026         * docs/manual/appendix-porting.xml:
13027         * docs/pwg/appendix-porting.xml:
13028           Document new-pad/state-change signal renames and the FixedList
13029           type rename.
13030
13031 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13032
13033         * docs/manual/advanced-autoplugging.xml:
13034         * docs/manual/basics-helloworld.xml:
13035         * docs/manual/basics-pads.xml:
13036         * docs/random/ds/0.9-suggested-changes:
13037         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13038         * gst/gstelement.h:
13039         * gst/gstevent.h:
13040         * gst/gstformat.h:
13041         * gst/gstquery.h:
13042         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13043         (gst_structure_parse_array), (gst_structure_parse_value):
13044         * gst/gstvalue.c: (gst_type_is_fixed),
13045         (gst_value_list_prepend_value), (gst_value_list_append_value),
13046         (gst_value_list_get_size), (gst_value_list_get_value),
13047         (gst_value_transform_array_string), (gst_value_serialize_array),
13048         (gst_value_deserialize_array), (gst_value_intersect_array),
13049         (gst_value_is_fixed), (_gst_value_initialize):
13050         * gst/gstvalue.h:
13051           GstElement::new-pad -> pad-added, GstElement::state-change ->
13052           state-changed, GstValueFixedList -> GstValueArray, add format and
13053           flags as their own arguments in gst_element_seek() (should improve
13054           "bindeability"), remove function generators since they don't work
13055           under a whole bunch of compilers (they were deprecated already
13056           anyway).
13057
13058 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13059
13060         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13061         (_gst_debug_register_funcptr):
13062         * gst/gstinfo.h:
13063           Fix illegal cast on some platforms (#309253).
13064
13065 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13066
13067         * gst/gstmessage.c: (gst_message_new_custom):
13068         * gst/gstmessage.h:
13069           Add _new_custom, make _new_application a macro to _new_custom.
13070
13071 2005-07-20  Wim Taymans  <wim@fluendo.com>
13072
13073         * gst/base/gstbasesrc.c: (gst_base_src_init),
13074         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13075         * gst/base/gstbasesrc.h:
13076         Add a gboolean to decide when to push out a discont.
13077
13078         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13079         (gst_queue_loop), (gst_queue_handle_src_query),
13080         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13081         (gst_queue_set_property), (gst_queue_get_property):
13082         Some cleanups.
13083
13084         * tests/threadstate/threadstate1.c: (main):
13085         Make a thread test compile and run... very silly..
13086
13087
13088 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13089
13090         * docs/manual/appendix-porting.xml:
13091           Mention removal of libgstgconf-0.9.la and existence of gconf
13092           elements.
13093
13094 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13095
13096         * docs/pwg/advanced-clock.xml:
13097         * docs/pwg/appendix-porting.xml:
13098         * docs/pwg/intro-preface.xml:
13099         * docs/pwg/other-base.xml:
13100         * docs/pwg/other-manager.xml:
13101         * docs/pwg/other-nton.xml:
13102         * docs/pwg/other-ntoone.xml:
13103         * docs/pwg/other-oneton.xml:
13104         * docs/pwg/pwg.xml:
13105           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13106           demuxer), remove n-to-n (was never written), fix some code examples
13107           and links and update the porting section to include all this.
13108
13109 2005-07-19  Wim Taymans  <wim@fluendo.com>
13110
13111         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13112         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13113         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13114         (gst_queue_src_activate_push), (gst_queue_change_state),
13115         (gst_queue_get_property):
13116         * gst/gstqueue.h:
13117         Propagate GstFlowReturn more intelligently upstream and output
13118         an ERROR/EOS when streaming stopped due to fatal error.
13119
13120 2005-07-19  Wim Taymans  <wim@fluendo.com>
13121
13122         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13123         Don't block forever for the state change to complete, the
13124         pipeline already did with a sensible timeout.
13125
13126 2005-07-19  Wim Taymans  <wim@fluendo.com>
13127
13128         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13129         Make sure we never call the create function is we
13130         got deactivated.
13131
13132 2005-07-19  Andy Wingo  <wingo@pobox.com>
13133
13134         * gst/parse/parse.l: Attempt to solve bug #172815.
13135
13136 2005-07-19  Wim Taymans  <wim@fluendo.com>
13137
13138         * docs/design/part-clocks.txt:
13139         * docs/design/part-events.txt:
13140         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13141         Small docs updates.
13142         Only update the seeking values when we are not
13143         busy streaming.
13144
13145 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13146
13147         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13148           Oops, ignore the result of gst_pad_push_event here.
13149
13150 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13151
13152         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13153         (gst_base_src_activate_push):
13154           Send discont event from the loop function, as pads
13155           aren't activated yet in the activate_push handler.
13156
13157         * gst/gstbin.c: (bin_bus_handler):
13158           Don't leak element name.
13159
13160 2005-07-18  Andy Wingo  <wingo@pobox.com>
13161
13162         * configure.ac: Use AS_LIBTOOL_TAGS.
13163
13164 2005-07-18  Wim Taymans  <wim@fluendo.com>
13165
13166         * docs/gst/gstreamer.types:
13167         Remove deleted types.
13168
13169 2005-07-18  Wim Taymans  <wim@fluendo.com>
13170
13171         * check/elements/gstfakesrc.c: (GST_START_TEST):
13172         * configure.ac:
13173         * gst/Makefile.am:
13174         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13175         (init_popt_callback):
13176         * gst/gst.h:
13177         * gst/gst_private.h:
13178         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13179         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13180         * gst/gstbin.h:
13181         * gst/gstbus.h:
13182         * gst/gstconfig.h.in:
13183         * gst/gstelement.c: (gst_element_class_init),
13184         (gst_element_set_base_time), (gst_element_get_base_time),
13185         (iterator_fold_with_resync), (gst_element_change_state),
13186         (gst_element_dispose), (gst_element_get_bus):
13187         * gst/gstelement.h:
13188         * gst/gstelementfactory.h:
13189         * gst/gsterror.c: (_gst_core_errors_init):
13190         * gst/gsterror.h:
13191         * gst/gstevent.h:
13192         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13193         * gst/gstindex.c:
13194         * gst/gstinfo.c: (_gst_debug_init):
13195         * gst/gstmessage.c: (_gst_message_copy):
13196         * gst/gstmessage.h:
13197         * gst/gstminiobject.h:
13198         * gst/gstobject.c:
13199         * gst/gstobject.h:
13200         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13201         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13202         * gst/gstpad.h:
13203         * gst/gstparse.h:
13204         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13205         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13206         (gst_pipeline_get_last_stream_time):
13207         * gst/gstpipeline.h:
13208         * gst/gstpluginfeature.h:
13209         * gst/gstquery.h:
13210         * gst/gstscheduler.c:
13211         * gst/gstscheduler.h:
13212         * gst/gststructure.h:
13213         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13214         (gst_task_finalize), (gst_task_func), (gst_task_create),
13215         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13216         (gst_task_stop), (gst_task_pause):
13217         * gst/gsttask.h:
13218         * gst/gsttypefind.h:
13219         * gst/gsttypes.h:
13220         * gst/registries/gstlibxmlregistry.c: (load_feature),
13221         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13222         * gst/registries/gstxmlregistry.c:
13223         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13224         * gst/schedulers/threadscheduler.c:
13225         * libs/gst/control/dparammanager.h:
13226         * tools/gst-inspect.c: (print_element_list),
13227         (print_plugin_features), (print_element_features):
13228         * tools/gst-xmlinspect.c: (print_element_list),
13229         (print_plugin_info), (main):
13230         Removed plugable schedulers.
13231         Removed Scheduler/Manager from elements.
13232         Removed gsttypes.h, rearranged includes.
13233         Removed dependency pad<->element, element<>pipeline, and
13234         various others,  fix includes.
13235         implement gst_pad_get_parent() with gst_object_get_parent()
13236         Make GstTask sefcontained.
13237         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13238         timeout.
13239         Fix endless loop in iterator_fold_with_resync.
13240
13241
13242 2005-07-18  Wim Taymans  <wim@fluendo.com>
13243
13244         * gst/Makefile.am:
13245         * gst/gstarch.h:
13246         Remove old file.
13247
13248 2005-07-18  Wim Taymans  <wim@fluendo.com>
13249
13250         * gst/Makefile.am:
13251         No more cothreads.h
13252
13253 2005-07-18  Wim Taymans  <wim@fluendo.com>
13254
13255         * gst/cothreads.c:
13256         * gst/cothreads.h:
13257         Let's remove these.
13258
13259 2005-07-18  Wim Taymans  <wim@fluendo.com>
13260
13261         * docs/design/part-dynamic.txt:
13262         * docs/design/part-events.txt:
13263         * docs/design/part-seeking.txt:
13264         Some more docs in the works.
13265
13266         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13267         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13268         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13269         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13270         (gst_base_transform_handle_buffer),
13271         (gst_base_transform_sink_activate_push),
13272         (gst_base_transform_src_activate_pull),
13273         (gst_base_transform_set_passthrough),
13274         (gst_base_transform_is_passthrough):
13275         Refcounting fixes.
13276
13277         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13278         Cleanups.
13279
13280         * gst/gstevent.c: (gst_event_finalize):
13281         Set SRC to NULL.
13282
13283         * gst/gstutils.c: (gst_element_unlink),
13284         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13285         (gst_pad_proxy_setcaps):
13286         * gst/gstutils.h:
13287         Add _get_parent_element() to get a pads parent as an element.
13288
13289 2005-07-18  Wim Taymans  <wim@fluendo.com>
13290
13291         * check/gst/gstbin.c: (GST_START_TEST):
13292         Remove bogus test.
13293
13294 2005-07-18  Wim Taymans  <wim@fluendo.com>
13295
13296         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13297         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13298         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13299         (gst_base_sink_event), (gst_base_sink_do_sync),
13300         (gst_base_sink_chain), (gst_base_sink_loop),
13301         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13302         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13303         Refcounting fixes.
13304         Fix logic for returning ASYNC when not prerolled.
13305
13306 2005-07-18  Wim Taymans  <wim@fluendo.com>
13307
13308         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13309         Fix nasty refcount bug.
13310
13311 2005-07-16 Philippe Khalaf <burger@speedy.org>
13312
13313         * gst/elements/gstfdsrc.c:
13314         * gst/elements/gstfdsrc.h:
13315         * gst/elements/gstelements.c:
13316         * gst/elements/Makefile.am:
13317         Ported fdsrc to 0.9.
13318
13319 2005-07-16  Wim Taymans  <wim@fluendo.com>
13320
13321         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13322         (gst_base_sink_do_sync):
13323         Fix compile error.
13324
13325 2005-07-16  Wim Taymans  <wim@fluendo.com>
13326
13327         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13328         (gst_base_sink_event), (gst_base_sink_get_times),
13329         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13330         * gst/base/gstbasesink.h:
13331         Store and use discont values when syncing buffers as described
13332         in design docs.
13333         
13334         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13335         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13336         (gst_base_src_activate_push):
13337         Push discont event when starting.
13338
13339         * gst/elements/gstidentity.c: (gst_identity_transform):
13340         Small cleanups.
13341
13342         * gst/gstbin.c: (gst_bin_change_state):
13343         Small cleanups in base_time  distribution.
13344
13345         * gst/gstelement.c: (gst_element_set_base_time),
13346         (gst_element_get_base_time), (gst_element_change_state):
13347         * gst/gstelement.h:
13348         Added methods for the base_time of the element.
13349         Some MT fixes.
13350
13351         * gst/gstpipeline.c: (gst_pipeline_send_event),
13352         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13353         (gst_pipeline_get_last_stream_time):
13354         * gst/gstpipeline.h:
13355         MT fixes.
13356         Handle seeking as described in design doc, remove stream_time
13357         hack.
13358         Cleanups clock and stream_time selection code. Added accessors
13359         for the stream_time.
13360         
13361
13362 2005-07-16  Andy Wingo  <wingo@pobox.com>
13363
13364         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13365         (#305291).
13366
13367 2005-07-16  Wim Taymans  <wim@fluendo.com>
13368
13369         * check/gst/gstbin.c: (GST_START_TEST):
13370         Make elements silent as the deep_notify refs the
13371         parent, which might make the test fail.
13372
13373         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13374         Don't hold the lock for too long.
13375
13376 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13377
13378         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13379           Don't unref the caps we passed to gst_caps_make_writable() after
13380           passing them. gst_caps_make_writable() will do that for us.
13381
13382 2005-07-15  Andy Wingo  <wingo@pobox.com>
13383
13384         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13385         (#157311).
13386
13387         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13388         own marshalling function for the handoff signal. Properly type the
13389         buffer as a buffer. Fixes some warnings. Should do a more general
13390         solution.
13391         (gst_identity_class_init): Plug into the right marshaller.
13392
13393 2005-07-15  Wim Taymans  <wim@fluendo.com>
13394
13395         * docs/design/part-TODO.txt:
13396         * docs/design/part-clocks.txt:
13397         * docs/design/part-element-sink.txt:
13398         * docs/design/part-events.txt:
13399         * docs/design/part-gstpipeline.txt:
13400         Updated docs, mostly DISCONT related.
13401
13402 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13403
13404         * docs/pwg/building-pads.xml:
13405           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13406
13407 2005-07-15  Andy Wingo  <wingo@pobox.com>
13408
13409         * tools/gst-typefind.c: Update, add copyright block.
13410
13411         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13412         Normalize and truncate caps before fixation.
13413
13414         * gst/gstcaps.h:
13415         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13416         discards all but the first structure from its argument.
13417
13418 2005-07-15  Wim Taymans  <wim@fluendo.com>
13419
13420         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13421         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13422         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13423         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13424         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13425         (gst_base_transform_chain), (gst_base_transform_change_state),
13426         (gst_base_transform_set_passthrough),
13427         (gst_base_transform_is_passthrough):
13428         * gst/base/gstbasetransform.h:
13429         Make passthrough work using the bufferpools.
13430         Changed API a bit, subclasses have to write into a buffer
13431         provided by the base class.
13432         More debug info in nego functions.
13433         
13434         * gst/elements/gstidentity.c: (gst_identity_init),
13435         (gst_identity_transform):
13436         Port to new base class.
13437
13438 2005-07-15  Wim Taymans  <wim@fluendo.com>
13439
13440         * gst/gstmessage.c: (gst_message_new_state_changed):
13441         * tools/gst-launch.c: (event_loop), (main):
13442         Totally dump messages in -launch with the -m option.
13443         Fix message name for State messages,
13444
13445 2005-07-14  Wim Taymans  <wim@fluendo.com>
13446
13447         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13448         Post error messages on errors.
13449
13450 2005-07-14  Wim Taymans  <wim@fluendo.com>
13451
13452         * gst/gstcaps.c: (gst_caps_do_simplify):
13453         Remove debug info.
13454
13455         * gst/gsterror.h:
13456         Define error for stream stopped.
13457
13458         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13459         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13460         Do proper return values.
13461
13462         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13463         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13464         (gst_pad_get_range):
13465         Better return values.
13466
13467         * gst/gstpad.h:
13468         Reorganise return values, add macro to check for fatal errors.
13469
13470         * gst/gstqueue.c: (gst_queue_chain):
13471         Return proper GstFlowReturn values,
13472
13473 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13474
13475         * docs/gst/gstreamer-sections.txt:
13476         * docs/gst/gstreamer.types:
13477         * docs/gst/tmpl/gst.sgml:
13478         * docs/gst/tmpl/gstbasesink.sgml:
13479         * docs/gst/tmpl/gstbasesrc.sgml:
13480         * docs/gst/tmpl/gstbasetransform.sgml:
13481         * docs/gst/tmpl/gstbin.sgml:
13482         * docs/gst/tmpl/gstbuffer.sgml:
13483         * docs/gst/tmpl/gstcaps.sgml:
13484         * docs/gst/tmpl/gstclock.sgml:
13485         * docs/gst/tmpl/gstcompat.sgml:
13486         * docs/gst/tmpl/gstconfig.sgml:
13487         * docs/gst/tmpl/gstelement.sgml:
13488         * docs/gst/tmpl/gstelementdetails.sgml:
13489         * docs/gst/tmpl/gstelementfactory.sgml:
13490         * docs/gst/tmpl/gstenumtypes.sgml:
13491         * docs/gst/tmpl/gsterror.sgml:
13492         * docs/gst/tmpl/gstevent.sgml:
13493         * docs/gst/tmpl/gstfakesink.sgml:
13494         * docs/gst/tmpl/gstfakesrc.sgml:
13495         * docs/gst/tmpl/gstfilesink.sgml:
13496         * docs/gst/tmpl/gstfilesrc.sgml:
13497         * docs/gst/tmpl/gstfilter.sgml:
13498         * docs/gst/tmpl/gstformat.sgml:
13499         * docs/gst/tmpl/gstghostpad.sgml:
13500         * docs/gst/tmpl/gstimplementsinterface.sgml:
13501         * docs/gst/tmpl/gstindex.sgml:
13502         * docs/gst/tmpl/gstindexfactory.sgml:
13503         * docs/gst/tmpl/gstinfo.sgml:
13504         * docs/gst/tmpl/gstiterator.sgml:
13505         * docs/gst/tmpl/gstmacros.sgml:
13506         * docs/gst/tmpl/gstmemchunk.sgml:
13507         * docs/gst/tmpl/gstminiobject.sgml:
13508         * docs/gst/tmpl/gstobject.sgml:
13509         * docs/gst/tmpl/gstpad.sgml:
13510         * docs/gst/tmpl/gstpadtemplate.sgml:
13511         * docs/gst/tmpl/gstparse.sgml:
13512         * docs/gst/tmpl/gstpipeline.sgml:
13513         * docs/gst/tmpl/gstplugin.sgml:
13514         * docs/gst/tmpl/gstpluginfeature.sgml:
13515         * docs/gst/tmpl/gstquery.sgml:
13516         * docs/gst/tmpl/gstqueue.sgml:
13517         * docs/gst/tmpl/gstregistry.sgml:
13518         * docs/gst/tmpl/gstregistrypool.sgml:
13519         * docs/gst/tmpl/gstscheduler.sgml:
13520         * docs/gst/tmpl/gstschedulerfactory.sgml:
13521         * docs/gst/tmpl/gststructure.sgml:
13522         * docs/gst/tmpl/gstsystemclock.sgml:
13523         * docs/gst/tmpl/gsttaglist.sgml:
13524         * docs/gst/tmpl/gsttagsetter.sgml:
13525         * docs/gst/tmpl/gsttrace.sgml:
13526         * docs/gst/tmpl/gsttrashstack.sgml:
13527         * docs/gst/tmpl/gsttypefind.sgml:
13528         * docs/gst/tmpl/gsttypefindfactory.sgml:
13529         * docs/gst/tmpl/gsttypes.sgml:
13530         * docs/gst/tmpl/gsturihandler.sgml:
13531         * docs/gst/tmpl/gsturitype.sgml:
13532         * docs/gst/tmpl/gstutils.sgml:
13533         * docs/gst/tmpl/gstvalue.sgml:
13534         * docs/gst/tmpl/gstversion.sgml:
13535         * docs/gst/tmpl/gstxml.sgml:
13536         * docs/libs/tmpl/gstcontrol.sgml:
13537         * docs/libs/tmpl/gstdataprotocol.sgml:
13538         * docs/libs/tmpl/gstdparam.sgml:
13539         * docs/libs/tmpl/gstdplinint.sgml:
13540         * docs/libs/tmpl/gstdpman.sgml:
13541         * docs/libs/tmpl/gstdpsmooth.sgml:
13542         * docs/libs/tmpl/gstgetbits.sgml:
13543         * docs/libs/tmpl/gstunitconvert.sgml:
13544         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13545         (gst_push_src_base_init), (gst_push_src_class_init),
13546         (gst_push_src_init), (gst_push_src_create):
13547         * gst/base/gstpushsrc.h:
13548         * gst/elements/gstelements.c:
13549         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13550         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13551         (gst_fake_sink_init), (gst_fake_sink_set_property),
13552         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13553         (gst_fake_sink_event), (gst_fake_sink_preroll),
13554         (gst_fake_sink_render), (gst_fake_sink_change_state):
13555         * gst/elements/gstfakesink.h:
13556         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13557         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13558         (gst_fake_src_base_init), (gst_fake_src_class_init),
13559         (gst_fake_src_init), (gst_fake_src_event_handler),
13560         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13561         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13562         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13563         (gst_fake_src_create_buffer), (gst_fake_src_create),
13564         (gst_fake_src_start), (gst_fake_src_stop):
13565         * gst/elements/gstfakesrc.h:
13566         * gst/elements/gstfilesink.c: (_do_init),
13567         (gst_file_sink_base_init), (gst_file_sink_class_init),
13568         (gst_file_sink_init), (gst_file_sink_dispose),
13569         (gst_file_sink_set_location), (gst_file_sink_set_property),
13570         (gst_file_sink_get_property), (gst_file_sink_open_file),
13571         (gst_file_sink_close_file), (gst_file_sink_query),
13572         (gst_file_sink_event), (gst_file_sink_render),
13573         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13574         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13575         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13576         * gst/elements/gstfilesink.h:
13577         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13578         (gst_file_src_class_init), (gst_file_src_init),
13579         (gst_file_src_finalize), (gst_file_src_set_location),
13580         (gst_file_src_set_property), (gst_file_src_get_property),
13581         (gst_file_src_map_region), (gst_file_src_map_small_region),
13582         (gst_file_src_create_mmap), (gst_file_src_create_read),
13583         (gst_file_src_create), (gst_file_src_is_seekable),
13584         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13585         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13586         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13587         (gst_file_src_uri_handler_init):
13588         * gst/elements/gstfilesrc.h:
13589           more autistic cleanliness in functions/names/defines
13590
13591 2005-07-13  Andy Wingo  <wingo@pobox.com>
13592
13593         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13594         source couldn't negotiate.
13595
13596         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13597         connections again.
13598
13599         * gst/gstutils.h:
13600         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13601         function. I am channeling Hades. Put your boots on suckers!!!
13602
13603 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13604
13605         * testsuite/caps/Makefile.am:
13606         * testsuite/caps/value_compare.c:
13607         * testsuite/caps/value_intersect.c:
13608         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13609           move two testsuite apps over to the check dir
13610
13611 2005-07-12  Wim Taymans  <wim@fluendo.com>
13612
13613         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13614         Added more debug info in the negotiate process.
13615
13616         * gst/gstmessage.h:
13617         Prepare for segment playback.
13618
13619         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13620         Better debugging.
13621
13622         * gst/gstutils.c:
13623         Some more docs.
13624
13625         * tools/gst-launch.c: (main):
13626         NULL pipeline on errors.
13627
13628 2005-07-12  Andy Wingo  <wingo@pobox.com>
13629
13630         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13631         not it comes from a malloc region. Make sure our copy gets freed.
13632
13633 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13634
13635         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13636         * check/gst/gstmessage.c: (GST_START_TEST):
13637         * check/gst/gststructure.c: (GST_START_TEST),
13638         (gst_structure_suite), (main):
13639           more testing
13640         * gst/gstelement.c: (gst_element_message_full):
13641           clean up GError and debug string now that they get copied
13642         * gst/gstmessage.c: (gst_message_new_error),
13643         (gst_message_new_warning), (gst_message_parse_error),
13644         (gst_message_parse_warning):
13645           use GST_TYPE_G_ERROR for structure_new, and take copies of
13646           arguments, so that we don't mess up refcounting
13647
13648 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13649
13650         * check/Makefile.am:
13651           add per-test valgrind targets
13652         * check/gst-libs/gdp.c: (GST_START_TEST),
13653         (gst_data_protocol_suite), (main):
13654           clean up
13655
13656 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13657
13658         * check/Makefile.am:
13659           instate more valgrindable tests
13660         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13661         (GST_START_TEST), (fakesrc_suite):
13662         * check/gst/gstpad.c: (GST_START_TEST):
13663         * check/gst/gststructure.c: (GST_START_TEST):
13664           fix test leaks
13665         * docs/gst/tmpl/gstminiobject.sgml:
13666         * gst/gstpad.c: (gst_pad_finalize):
13667           fix the static mutex leak
13668
13669 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13670
13671         * check/Makefile.am:
13672           add two more tests for valgrinding
13673         * check/gst/gstvalue.c: (GST_START_TEST):
13674           test refcount of deserialized buffer, found a leak
13675         * docs/gst/gstreamer-docs.sgml:
13676         * docs/gst/gstreamer-sections.txt:
13677         * docs/gst/gstreamer.types:
13678         * docs/gst/tmpl/gstminiobject.sgml:
13679           add miniobject to docs
13680         * gst/gstminiobject.c:
13681           add some docs
13682         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13683         (gst_string_unwrap):
13684           fix a hard-to-find invalid write for one of the tests
13685           fix a leak for deserialized buffers
13686
13687 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13688
13689         * docs/pwg/advanced-events.xml:
13690         * docs/pwg/advanced-request.xml:
13691         * docs/pwg/advanced-scheduling.xml:
13692         * docs/pwg/appendix-porting.xml:
13693         * docs/pwg/building-boiler.xml:
13694         * docs/pwg/intro-preface.xml:
13695         * docs/pwg/other-ntoone.xml:
13696           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13697           of example code and explanation for pad activation, loop() and
13698           getrange() functions and a bit more. Remove old comments pointing
13699           to loop-functions.
13700         * examples/pwg/Makefile.am:
13701           Add loop/getrange examples.
13702
13703 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13704
13705         * configure.ac:
13706           check for valgrind binary + some fixes
13707         * check/gst.supp:
13708           valgrind suppressions for the tests
13709         * check/Makefile.am:
13710           add a valgrind: target that valgrinds the unit tests
13711         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13712         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13713         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13714         * check/gst/gstghostpad.c:
13715           added some cleanup
13716         * check/gst/gstdata.c:
13717           removed
13718         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13719         (thread_unref), (gst_mini_object_suite), (main):
13720           added
13721         * gst/gst.c: (gst_deinit):
13722         * gst/gst.h:
13723           add a method to clean up.
13724         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13725         (gst_system_clock_obtain):
13726           allow for disposing the system clock.
13727         * tools/gst-launch.c: (main):
13728           deinit
13729
13730 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13731
13732         * docs/gst/tmpl/gstbasesrc.sgml:
13733         * docs/gst/tmpl/gstfakesrc.sgml:
13734         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13735         (gst_base_src_init), (gst_base_src_set_property),
13736         (gst_base_src_get_property), (gst_base_src_get_range),
13737         (gst_base_src_start):
13738         * gst/base/gstbasesrc.h:
13739           add num-buffers property
13740         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13741         (gst_fakesrc_init), (gst_fakesrc_set_property),
13742         (gst_fakesrc_get_property), (gst_fakesrc_create),
13743         (gst_fakesrc_start):
13744           remove num-buffers property
13745
13746 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13747
13748         * docs/gst/gstreamer-sections.txt:
13749         * docs/gst/tmpl/gstbasesink.sgml:
13750         * docs/gst/tmpl/gstbasesrc.sgml:
13751         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13752         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13753         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13754         (gst_base_sink_set_property), (gst_base_sink_get_property),
13755         (gst_base_sink_handle_object), (gst_base_sink_event),
13756         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13757         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13758         (gst_base_sink_loop), (gst_base_sink_deactivate),
13759         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13760         (gst_base_sink_change_state):
13761         * gst/base/gstbasesink.h:
13762         * gst/base/gstbasesrc.h:
13763         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13764         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13765         (gst_filesink_init):
13766           more macro splitting
13767
13768 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13769
13770         * gst/gstelement.c: (gst_element_get_bus):
13771           add debug
13772         * tools/gst-launch.c: (check_intr), (event_loop):
13773           fix bus leaks
13774
13775 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13776
13777         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13778           fix a caps leak
13779
13780 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13781
13782         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13783         (gst_base_src_finalize):
13784           add finalize method and clean up properly
13785         * gst/gstpipeline.c: (gst_pipeline_dispose):
13786           add debug
13787
13788 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13789
13790         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13791         (gst_bin_suite):
13792           add more things to check
13793         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13794         * gst/gstelement.c:
13795           more debug
13796
13797 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13798
13799         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13800         (GST_START_TEST), (fakesrc_suite):
13801         * check/gst-libs/gdp.c: (GST_START_TEST):
13802         * check/gst/gst.c: (GST_START_TEST):
13803         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13804         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13805         * check/gst/gstbus.c: (GST_START_TEST):
13806         * check/gst/gstcaps.c: (GST_START_TEST):
13807         * check/gst/gstdata.c: (GST_START_TEST):
13808         * check/gst/gstelement.c: (GST_START_TEST):
13809         * check/gst/gstghostpad.c: (GST_START_TEST):
13810         * check/gst/gstiterator.c: (GST_START_TEST):
13811         * check/gst/gstmessage.c: (GST_START_TEST):
13812         * check/gst/gstobject.c: (GST_START_TEST):
13813         * check/gst/gstpad.c: (GST_START_TEST):
13814         * check/gst/gststructure.c: (GST_START_TEST):
13815         * check/gst/gstsystemclock.c: (GST_START_TEST),
13816         (gst_systemclock_suite):
13817         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13818         * check/gst/gstvalue.c: (GST_START_TEST):
13819         * check/pipelines/cleanup.c: (GST_START_TEST):
13820         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13821         * check/states/sinks.c: (GST_START_TEST):
13822         * check/gstcheck.c: (gst_check_init):
13823         * check/gstcheck.h:
13824           add debugging category
13825           use GST_START_TEST now, so we add a debug line
13826
13827 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13828
13829         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13830           add test for state change message on a bin
13831         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13832           add another test
13833         * gst/gstbin.c: (gst_bin_init):
13834         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13835         * gst/gstelement.c: (gst_element_post_message),
13836         (gst_element_set_state):
13837         * gst/gstelementfactory.c: (gst_element_factory_create):
13838         * gst/gstmessage.c: (gst_message_new):
13839         * gst/gstscheduler.c:
13840           various debugging additions and cleanups
13841
13842 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13843
13844         * check/Makefile.am:
13845         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
13846         (main):
13847           adding tests for elements
13848         * gst/gstelement.c: (gst_element_dispose):
13849
13850 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13851
13852         * gst/registries/gstlibxmlregistry.c: (load_feature):
13853           plug more leaks.  A simple gst_init() now is leakfree, yay.
13854
13855 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13856
13857         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
13858         (gst_xml_registry_load):
13859           plug another memleak
13860
13861 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13862
13863         * configure.ac:
13864           use GST_SET_ERROR_CFLAGS
13865         * docs/faq/cvs.xml:
13866           change to ERROR_CFLAGS
13867
13868 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13869
13870         * configure.ac:
13871           make GST_ERROR_CFLAGS overridable and re-enable Werror
13872         * docs/faq/cvs.xml:
13873           add a note about error CFLAGS
13874         * docs/gst/tmpl/gstfakesrc.sgml:
13875         * gst/elements/gstfakesrc.c:
13876           comment out some unused code
13877         * gst/gst.c: (split_and_iterate):
13878         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13879         (load_feature):
13880           plug some memleaks
13881
13882 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13883
13884         * common/Makefile.am:
13885         * common/gtk-doc.mak:
13886         * docs/gst/Makefile.am:
13887           factor out gtk-doc.mak
13888
13889 2005-07-07  Wim Taymans  <wim@fluendo.com>
13890
13891         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13892         (gst_thread_scheduler_dispose):
13893         Unlock the STREAM_LOCK completely.
13894
13895 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13896
13897         * check/Makefile.am:
13898         * check/elements/.cvsignore:
13899         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13900         (START_TEST), (fakesrc_suite), (main):
13901         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13902         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13903         (gst_fakesrc_create), (gst_fakesrc_start):
13904         * gst/elements/gstfakesrc.h:
13905           adding a first element test
13906
13907 2005-07-07  Andy Wingo  <wingo@pobox.com>
13908
13909         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13910         debug message.
13911
13912 2005-07-07  Wim Taymans  <wim@fluendo.com>
13913
13914         * gst/gstquery.c:
13915         * gst/gstquery.h:
13916         Remove old types
13917
13918 2005-07-07  Wim Taymans  <wim@fluendo.com>
13919
13920         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13921         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13922         Allow subclasses to implement their own negotiation.
13923
13924 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13925
13926         * docs/design/part-gstbin.txt:
13927         * docs/design/part-gstpipeline.txt:
13928           Update design notes to reflect the movement of
13929           responsibility for bus handling from GstPipeline to
13930           GstBin
13931
13932 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13933
13934         * configure.ac:
13935           Remove unnecessary queue2/3/4 examples.
13936
13937 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13938
13939         * examples/Makefile.am:
13940         * examples/helloworld/helloworld.c: (event_loop), (main):
13941         * examples/queue/queue.c: (event_loop), (main):
13942         * examples/queue2/queue2.c: (main):
13943           Update a couple of the examples to work again.
13944
13945         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13946         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
13947          Spelling corrections and extra debug.
13948         
13949         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
13950         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
13951         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
13952         * gst/gstbin.h:
13953         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13954         (gst_pipeline_change_state):
13955         * gst/gstpipeline.h:
13956           Move the bus handler for children to the GstBin, and create a
13957           separate bus for receiving messages from children to the one the
13958           bus sends 'upwards' on.
13959
13960 2005-07-06  Wim Taymans  <wim@fluendo.com>
13961
13962         * gst/base/README:
13963         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13964         (gst_base_sink_handle_object), (gst_base_sink_loop),
13965         (gst_base_sink_change_state):
13966         * gst/base/gstbasesink.h:
13967         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13968         (gst_base_src_init), (gst_base_src_setcaps),
13969         (gst_base_src_getcaps), (gst_base_src_loop),
13970         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
13971         (gst_base_src_start), (gst_base_src_change_state):
13972         * gst/base/gstbasesrc.h:
13973         Make basesrc negotiate.
13974         Handle the case where preroll fails in basesink.
13975         Update README.
13976
13977 2005-07-06  Wim Taymans  <wim@fluendo.com>
13978
13979         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
13980         Implement the fixate function.
13981         Clean up acceptcaps.
13982
13983 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13984
13985         * docs/pwg/building-filterfactory.xml:
13986         * docs/pwg/pwg.xml:
13987           Remove never-written filter-factory chapter; I'll add the various
13988           base classes to part 4 ("other element types") later on.
13989
13990 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13991
13992         * docs/pwg/advanced-negotiation.xml:
13993         * docs/pwg/building-boiler.xml:
13994         * docs/pwg/building-pads.xml:
13995         * docs/pwg/pwg.xml:
13996         * examples/pwg/Makefile.am:
13997           Add a chapter on caps negotiation, simplify the original code
13998           samples a bit w.r.t. caps negotiation, add link to the advanced
13999           section. Add a bunch of examples showing different use cases of
14000           different types of caps negotiation. Upstream renegotiation isn't
14001           fully documented yet since nobody knows how that works.
14002
14003 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14004
14005         * check/gst/gstpad.c:
14006         * check/gstcheck.c:
14007         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14008           if pad has no parent, return NULL as list of internal links
14009
14010 2005-07-05  Andy Wingo  <wingo@pobox.com>
14011
14012         * gst/elements/gstfilesrc.c:
14013         * gst/elements/gstfakesrc.c: 
14014         * gst/base/gstpushsrc.c:
14015         * gst/base/gstbasesrc.h: 
14016         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14017         
14018 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14019
14020         * Makefile.am:
14021           better report generation target (lcov needs a patch)
14022
14023 2005-07-05  Andy Wingo  <wingo@pobox.com>
14024
14025         * gst/elements, testsuite: Null if we got it...
14026
14027 2005-07-05  Wim Taymans  <wim@fluendo.com>
14028
14029         * configure.ac:
14030         * libs/gst/dataprotocol/Makefile.am:
14031         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14032         * libs/gst/dataprotocol/dataprotocol.h:
14033         * pkgconfig/Makefile.am:
14034         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14035         * pkgconfig/gstreamer-dataprotocol.pc.in:
14036         Ported dataprotol to 0.9. 
14037         Added pkgconfig files.
14038
14039 2005-07-05  Andy Wingo  <wingo@pobox.com>
14040
14041         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14042         Default to returning TRUE for the case when tranform_caps returns
14043         a fixed caps, like for identity or volume.
14044
14045         * check/gst/gstbus.c (pound_bus_with_messages): 
14046         * check/gst/gstmessage.c (START_TEST): 
14047         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14048         message API change.
14049
14050         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14051         logic weaks here: always run transform_caps, trying passthrough
14052         operation only if the original caps intersects with the transform.
14053
14054         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14055         source and sink caps.
14056
14057         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14058         Intersect the peer caps with the pad template before going into
14059         transform_caps.
14060         (gst_base_transform_transform_caps): More debugging.
14061
14062         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14063         src argument.
14064
14065 2005-07-04  Edward Hervey  <edward@fluendo.com>
14066
14067         * gst/gstutils.c:
14068         * gst/gstutils.h:
14069         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14070         in bindings.
14071
14072 2005-07-04  Andy Wingo  <wingo@pobox.com>
14073
14074         * check/gst/gstpad.c: Only set explicit caps on pads.
14075
14076 2005-07-01  Andy Wingo  <wingo@pobox.com>
14077
14078         * tests/network-clock.scm: Commentary update.
14079
14080         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14081         Didn't really make sense, not implementable with basetransform,
14082         etc.
14083         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14084         attempt at implementing the sync property, needs an unlock method.
14085
14086         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14087         New func, by default returns the same caps (the identity
14088         transformation).
14089         (gst_base_transform_getcaps): Uses transform_caps to return
14090         something sensible.
14091         (gst_base_transform_setcaps): Complicated logic to get caps on
14092         both pads, even if they are different, and to call set_caps once
14093         for every time both pads get their caps set.
14094         (gst_base_transform_handle_buffer): Give the ref to the transform
14095         function. Allows in-place modification of the buffer.
14096
14097         * gst/base/gstbasetransform.h (transform_caps): New class method.
14098         Given caps on one side, what can I do on the other.
14099         (set_caps): Take two caps, one for each side of the element.
14100
14101         * gst/gstpad.h:
14102         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14103         caps in place. This is safe because we can check the mutability of
14104         the caps, and a good idea because fixate functions are just called
14105         as a matter of last resort. (Not actually implemented.)
14106         (gst_pad_set_caps): If the caps we're setting is actually the same
14107         as the existing pad caps, just update the pointer without calling
14108         setcaps. Assert that caps is either NULL or fixed, as per the
14109         docs.
14110
14111         * gst/gstghostpad.c: Update for fixate changes.
14112
14113 2005-07-02  Andy Wingo  <wingo@pobox.com>
14114
14115         * gst/gstcaps.c:
14116         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14117         two refcounts makes it immutable, which is enough. Doc more.
14118
14119 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14120
14121         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14122           Put the mini_object into GValue as a mini_object,
14123           not a gpointer, since that's how we declared
14124           the signal.
14125
14126 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14127
14128         * examples/pwg/Makefile.am:
14129           Fix buildbot again.
14130
14131 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14132
14133         * docs/pwg/building-testapp.xml:
14134           Add extra check.
14135         * examples/pwg/Makefile.am:
14136           Fix buildbot.
14137
14138 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14139
14140         * configure.ac:
14141         * examples/Makefile.am:
14142         * examples/pwg/Makefile.am:
14143         * examples/pwg/extract.pl:
14144           Enable building the PWG examples.
14145         * docs/pwg/advanced-interfaces.xml:
14146           Add URI interface stub.
14147         * docs/pwg/advanced-types.xml:
14148         * docs/pwg/other-autoplugger.xml:
14149         * docs/pwg/appendix-porting.xml:
14150         * docs/pwg/pwg.xml:
14151           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14152         * docs/pwg/building-boiler.xml:
14153         * docs/pwg/building-chainfn.xml:
14154         * docs/pwg/building-pads.xml:
14155         * docs/pwg/building-props.xml:
14156         * docs/pwg/building-state.xml:
14157         * docs/pwg/building-testapp.xml:
14158           Update the building-*.xml parts for 0.9 changes. All examples
14159           code blocks compile in examples/pwg/*.
14160
14161 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14162
14163         * docs/manual/advanced-autoplugging.xml:
14164         * docs/manual/appendix-checklist.xml:
14165         * docs/manual/appendix-integration.xml:
14166         * docs/manual/highlevel-components.xml:
14167           Fix playbin/decodebin examples, update docs a bit, mention bus
14168           instead of signals in various places, mention kmplayer and
14169           kaffeine since they have a working GStreamer backend in the KDE
14170           section.
14171
14172 2005-06-30  Wim Taymans  <wim@fluendo.com>
14173
14174         * CHANGES-0.9:
14175         * docs/design/draft-ghostpads.txt:
14176         * docs/design/draft-push-pull.txt:
14177         * docs/design/draft-query.txt:
14178         * docs/design/part-TODO.txt:
14179         * docs/design/part-query.txt:
14180         Added CHANGES-0.9 doc, updated status of other docs.
14181         
14182         * gst/gstquery.h:
14183         Remove "hmm" macro
14184
14185 2005-06-30  Wim Taymans  <wim@fluendo.com>
14186
14187         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14188         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14189         (gst_base_sink_change_state):
14190         * gst/base/gstbasesink.h:
14191         Some tweaks, only EOS and a buffer complete a preroll.
14192
14193 2005-06-30  Andy Wingo  <wingo@pobox.com>
14194
14195         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14196         activate_push down to the internal pad as well.
14197
14198 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14199
14200         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14201
14202         * gst/gsttaginterface.c:
14203           Some documentation fixes (#307394 and #307397).
14204
14205 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14206
14207         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14208
14209         * gst/gstvalue.c: (gst_value_intersect_list):
14210           Fix memleak (#309125).
14211
14212 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14213
14214         * docs/manual/advanced-dataaccess.xml:
14215           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14216         * docs/manual/basics-pads.xml:
14217           Add reference for filtered caps to above chapter.
14218
14219 2005-06-30  Wim Taymans  <wim@fluendo.com>
14220
14221         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14222         (gst_bin_change_state):
14223         Probes are gone.
14224         Lame attempt at making the state change function a bit
14225         more readable.
14226
14227 2005-06-30  Wim Taymans  <wim@fluendo.com>
14228
14229         * docs/design/part-clocks.txt:
14230         * docs/design/part-element-sink.txt:
14231         * docs/design/part-events.txt:
14232         * docs/design/part-preroll.txt:
14233         * docs/design/part-states.txt:
14234         Some more tweeks and additions to the docs.
14235
14236 2005-06-30  Wim Taymans  <wim@fluendo.com>
14237
14238         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14239         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14240         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14241         (gst_pad_check_pull_range), (gst_pad_get_range),
14242         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14243         * gst/gstpad.h:
14244         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14245         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14246         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14247         (gst_pad_remove_buffer_probe):
14248         Removed atomic operations, use existing LOCK.
14249         Move exception handling out of main code path.
14250
14251 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14252
14253         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14254         (silly_return_true_function), (gst_pad_class_init),
14255         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14256         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14257         (gst_pad_send_event):
14258           Fix accumulator, add default value by using _emitv() instead
14259           of _emit() for signal emission.
14260
14261 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14262
14263         * docs/manual/advanced-dataaccess.xml:
14264         * examples/manual/Makefile.am:
14265           Add probe example.
14266         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14267           Make work (??).
14268
14269 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14270
14271         * gst/elements/gstfilesink.c: (gst_filesink_render):
14272           Simplify code so that we don't have to handle short
14273           writes and return GST_FLOW_ERROR if an error occured.
14274
14275 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14276
14277         * docs/gst/gstreamer-docs.sgml:
14278           Remove probes more.
14279
14280 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14281
14282         * docs/gst/gstreamer-sections.txt:
14283         * docs/gst/tmpl/gstpad.sgml:
14284         * docs/gst/tmpl/gstprobe.sgml:
14285         * gst/Makefile.am:
14286         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14287         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14288         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14289         (gst_pad_push_event), (gst_pad_send_event):
14290         * gst/gstpad.h:
14291         * gst/gstutils.c: (gst_pad_add_data_probe),
14292         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14293         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14294         (gst_pad_remove_buffer_probe):
14295         * gst/gstutils.h:
14296           Remove old probes, add new g-signal-based probes and some utility
14297           functions.
14298
14299 2005-06-29  Edward Hervey  <edward@fluendo.com>
14300
14301         * gst/gstelementfactory.c:
14302         * gst/gstutils.h:
14303         * gst/gstutils.c:
14304         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14305         the definition to the header file.
14306
14307 2005-06-29  Andy Wingo  <wingo@pobox.com>
14308
14309         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14310         plugins from the source directory.
14311
14312 2005-06-29  Wim Taymans  <wim@fluendo.com>
14313
14314         * docs/gst/tmpl/gstbuffer.sgml:
14315         * docs/gst/tmpl/gstclock.sgml:
14316         Some fixings for blantently wrong text.
14317
14318 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14319
14320         * check/Makefile.am:
14321         * gst/gst.c: (add_path_func), (init_pre):
14322         * gst/gstregistry.c: (gst_registry_add_path):
14323           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14324           only scan the GST_PLUGIN_PATH locations, and not add
14325           system locations
14326
14327 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14328
14329         * docs/gst/gstreamer-sections.txt:
14330         * docs/gst/tmpl/gstbasesrc.sgml:
14331         * gst/gstelement.c:
14332         * gst/gstelement.h:
14333         * gst/gstevent.c:
14334         * gst/gstutils.c:
14335           doc fixes
14336
14337 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14338
14339         * docs/manual/advanced-autoplugging.xml:
14340           Fix autoplugging example.
14341
14342 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14343
14344         * docs/manual/advanced-autoplugging.xml:
14345         * docs/manual/mime-world.fig:
14346           Try to get autoplugging working, fix type detection. Fix text
14347           in hello-world image.
14348
14349 2005-06-29  Wim Taymans  <wim@fluendo.com>
14350
14351         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14352         (gst_base_sink_change_state):
14353         Small debug line.
14354
14355         * gst/gstclock.h:
14356         map SIGNAL and BROADCAST to the right function.
14357
14358         * gst/gstobject.h:
14359         Remove redundant braces.
14360
14361         * gst/gstpad.c: (gst_pad_set_caps):
14362         Don't call setcaps function when reseting caps to NULL.
14363
14364         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14365         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14366         (gst_system_clock_id_unschedule):
14367         Use BROADCAST as this is what we do.
14368
14369 2005-06-29  Wim Taymans  <wim@fluendo.com>
14370
14371         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14372         We are actually prerolling before commiting the state
14373         change. 
14374
14375 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14376
14377         * docs/manual/advanced-clocks.xml:
14378         * docs/manual/advanced-interfaces.xml:
14379         * docs/manual/advanced-metadata.xml:
14380         * docs/manual/advanced-position.xml:
14381         * docs/manual/advanced-schedulers.xml:
14382         * docs/manual/advanced-threads.xml:
14383         * docs/manual/appendix-porting.xml:
14384         * docs/manual/basics-bins.xml:
14385         * docs/manual/basics-bus.xml:
14386         * docs/manual/basics-elements.xml:
14387         * docs/manual/basics-helloworld.xml:
14388         * docs/manual/basics-pads.xml:
14389         * docs/manual/highlevel-components.xml:
14390         * docs/manual/manual.xml:
14391         * docs/manual/thread.fig:
14392           Update (until threads/scheduling) Application Development Manual;
14393           remove GstThread, add GstBus, add simple porting checklist, add
14394           documentation for tag writing, clocks, make all examples until this
14395           part compile and run.
14396         * examples/manual/Makefile.am:
14397           Update from changes to Application Development Manual; add bus
14398           example, remove thread example.
14399
14400 2005-06-28  Wim Taymans  <wim@fluendo.com>
14401
14402         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14403         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14404         (gst_bus_source_dispatch):
14405         Add debugging messages.
14406         Make internal methods static.
14407         Handle the case where the bus is flushed in the handler.
14408         
14409         * gst/gstelement.c: (gst_element_get_bus):
14410         Fix refcount in _get_bus();
14411
14412         * gst/gstpipeline.c: (gst_pipeline_change_state),
14413         (gst_pipeline_get_clock_func):
14414         Clock refcounting fixes.
14415         Handle the case where preroll timed out more gracefully.
14416         
14417         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14418         Clean up the internal thread in dispose. This is needed
14419         for subclasses that actually get disposed.
14420         
14421         * gst/schedulers/threadscheduler.c:
14422         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14423         (gst_thread_scheduler_dispose):
14424         Free thread pool in dispose.
14425
14426 2005-06-28  Andy Wingo  <wingo@pobox.com>
14427
14428         * tests/network-clock-utils.scm (debug, print-event): New utils.
14429
14430         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14431         (*packet-loss*): Unified loss probability.
14432         (network-time): Report out-of-band events.
14433
14434         * tests/plot-data: Add support for out-of-band events. Hack it
14435         into this script instead of passing it down the pipe; should fix
14436         this later.
14437
14438 2005-06-28  Wim Taymans  <wim@fluendo.com>
14439
14440         * docs/gst/gstreamer.types:
14441         * docs/gst/tmpl/gstbasesrc.sgml:
14442         * docs/gst/tmpl/gstpad.sgml:
14443         Docs fixes.
14444
14445 2005-06-28  Wim Taymans  <wim@fluendo.com>
14446
14447         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14448         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14449         (gst_proxy_pad_do_fixatecaps):
14450         Correctly proxy the check_pull_range function.
14451
14452 2005-06-28  Andy Wingo  <wingo@pobox.com>
14453
14454         * tests/network-clock.scm: Removed need for slib.
14455         
14456 2005-06-28  Wim Taymans  <wim@fluendo.com>
14457
14458         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14459         (gst_basesink_preroll_queue_flush):
14460         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14461         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14462         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14463         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14464         (gst_proxy_pad_set_property):
14465         * gst/gstpad.c:
14466         * gst/gstpad.h:
14467         * gst/gstqueue.c: (gst_queue_init):
14468         The deprecated pad loop function is removed now.
14469
14470 2005-06-28  Andy Wingo  <wingo@pobox.com>
14471
14472         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14473         New parameters, simulate network packet loss.
14474
14475         * tests/network-clock-utils.scm: Initialize the RNG.
14476
14477 2005-06-28  Wim Taymans  <wim@fluendo.com>
14478
14479         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14480         (gst_basesink_event), (gst_basesink_deactivate):
14481         Flushing the preroll queue always needs to unlock the waiters.
14482
14483 2005-06-28  Edward Hervey  <edward@fluendo.com>
14484
14485         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14486         Wheen a seek was successful on a pipeline, set the stream_time to the
14487         seek offset in order to have a synchronized stream_time.
14488
14489 2005-06-28  Wim Taymans  <wim@fluendo.com>
14490
14491         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14492         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14493         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14494         (gst_proxy_pad_do_fixatecaps):
14495         Call wrapper function instead of just calling the function
14496         pointers. This takes care of any locking and whatmore.
14497
14498 2005-06-28  Wim Taymans  <wim@fluendo.com>
14499
14500         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14501         (gst_pad_pull_range):
14502         * gst/gstpad.h:
14503         CONNECTED -> LINKED.
14504
14505 2005-06-28  Andy Wingo  <wingo@pobox.com>
14506
14507         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14508         source-munging commit!!!
14509
14510         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14511         (gst_object_sink): Take gpointer arguments, not GstObject --
14512         avoids casts. Like GLib.
14513
14514         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14515         activate.
14516
14517 2005-06-27  Andy Wingo  <wingo@pobox.com>
14518
14519         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14520         remaining buffer.
14521
14522         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14523         returns a sorted copy of the trace list.
14524         (gst_alloc_trace_print_live): New API, only prints traces with
14525         live objects. Sort the list.
14526         (gst_alloc_trace_print_all): Sort the list.
14527         (gst_alloc_trace_print): Align columns.
14528
14529         * gst/elements/gstttypefindelement.c:
14530         * gst/elements/gsttee.c:
14531         * gst/base/gstbasesrc.c:
14532         * gst/base/gstbasesink.c:
14533         * gst/base/gstbasetransform.c:
14534         * gst/gstqueue.c: Adapt for pad activation changes.
14535
14536         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14537         sched.
14538         (gst_pipeline_dispose): Drop ref on sched.
14539
14540         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14541         (gst_pad_activate_default): Push mode by default.
14542         (pre_activate_switch, post_activate_switch): New stubs, things to
14543         do before and after switching activation modes on pads.
14544         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14545         the pad's activate function to choose which mode to activate.
14546         Shortcut on deactivation and call the right function directly.
14547         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14548         mode.
14549         (gst_pad_activate_push): New API, same for push mode.
14550         (gst_pad_set_activate_function) 
14551         (gst_pad_set_activatepull_function) 
14552         (gst_pad_set_activatepush_function): Setters for new API.
14553
14554         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14555         Trace all miniobjects.
14556         (gst_mini_object_make_writable): Unref the arg if we copy, like
14557         gst_caps_make_writable.
14558
14559         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14560
14561         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14562         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14563         Adapt for new pad API.
14564
14565         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14566
14567         * gst/gstelement.h:
14568         * gst/gstelement.c (gst_element_iterate_src_pads) 
14569         (gst_element_iterate_sink_pads): New API functions.
14570         
14571         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14572         should fold into gstiterator.c in some form.
14573         (gst_element_pads_activate): Simplified via use of fold and
14574         delegation of decisions to gstpad->activate.
14575
14576         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14577         help in debugging.
14578
14579         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14580         class once in init, like gstmessage. Didn't run into this issue
14581         but it seems correct. Don't initialize a trace, gstminiobject does
14582         that.
14583
14584         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14585         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14586         to the bus.
14587         (assert_live_count): New util function, uses alloc traces to check
14588         cleanup.
14589
14590         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14591         To be modified when unlink drops the internal pad.
14592
14593 2005-06-27  Wim Taymans  <wim@fluendo.com>
14594
14595         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14596         (gst_bin_change_state):
14597         Cleanup the get_state() function a little, make sure it
14598         iterates the same set of elements.
14599         Added stub iterate_state_order().
14600
14601 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14602
14603         * docs/gst/gstreamer-docs.sgml:
14604         * docs/gst/gstreamer-sections.txt:
14605         * docs/gst/gstreamer.types:
14606         * docs/gst/tmpl/gstbasesink.sgml:
14607         * docs/gst/tmpl/gstbasesrc.sgml:
14608         * docs/gst/tmpl/gstbasetransform.sgml:
14609         * docs/gst/tmpl/gstelement.sgml:
14610         * docs/gst/tmpl/gstiterator.sgml:
14611         * gst/base/gstbasesrc.c:
14612         * gst/base/gstbasesrc.h:
14613         * gst/base/gstbasetransform.h:
14614         * gst/gstelement.c:
14615         * gst/gstiterator.h:
14616           adding basetransform and iterator docs
14617
14618 2005-06-27  Andy Wingo  <wingo@pobox.com>
14619
14620         * docs/design/part-activation.txt: Notes on how activation should
14621         work -- not quite implemented yet.
14622
14623 2005-06-25  Wim Taymans  <wim@fluendo.com>
14624
14625         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14626         At least get the chain function correct, needs more
14627         fixing.
14628
14629 2005-06-25  Wim Taymans  <wim@fluendo.com>
14630
14631         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14632         (gst_basesink_handle_object), (gst_basesink_event),
14633         (gst_basesink_do_sync), (gst_basesink_handle_event),
14634         (gst_basesink_change_state):
14635         * gst/gsttask.h:
14636         Right, two problems here: ghostpads don't take locks and
14637         glib _rec_mutex_lock_full() with depth==0 still locks.
14638         Catch illegal locking and g_warn them.
14639
14640 2005-06-25  Wim Taymans  <wim@fluendo.com>
14641
14642         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14643         Have to check for completion now...
14644
14645 2005-06-25  Wim Taymans  <wim@fluendo.com>
14646
14647         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14648         (gst_basesink_handle_object), (gst_basesink_event),
14649         (gst_basesink_do_sync), (gst_basesink_handle_event),
14650         (gst_basesink_change_state):
14651         * gst/gstpad.h:
14652         Unlock STREAM_LOCK whatever the recursion was.
14653
14654 2005-06-25  Wim Taymans  <wim@fluendo.com>
14655
14656         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14657         (gst_basesink_preroll_queue_empty),
14658         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14659         (gst_basesink_event), (gst_basesink_do_sync),
14660         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14661         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14662         (gst_basesink_change_state):
14663         Reworked the base sink, handle event and buffer serialisation
14664         correctly and removed possible deadlock.
14665         Handle EOS correctly.
14666
14667 2005-06-25  Wim Taymans  <wim@fluendo.com>
14668
14669         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14670         (gst_pipeline_change_state):
14671         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14672         Allow elements to post EOS in the state change function.
14673         Fix up -launch, make it exit the poll loop when the
14674         pipeline actually changed state.
14675         Fix up warning parsing in -launch.
14676
14677 2005-06-25  Wim Taymans  <wim@fluendo.com>
14678
14679         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14680         (gst_tee_sink_activate):
14681         Core takes STREAM_LOCK for us now.
14682
14683 2005-06-25  Wim Taymans  <wim@fluendo.com>
14684
14685         * gst/gstelement.c: (gst_element_get_state_func),
14686         (gst_element_set_state):
14687         * gst/gstelement.h:
14688         * gst/gstmessage.c: (gst_message_parse_error),
14689         (gst_message_parse_warning):
14690         Keep track of current target state while performing a state
14691         change so that subclasses can do something interesting.
14692         Fix parsing of warning/error messages when GError is NULL.
14693
14694 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14695
14696         * docs/gst/Makefile.am:
14697         * docs/gst/gstreamer-docs.sgml:
14698         * docs/gst/gstreamer-sections.txt:
14699         * docs/gst/gstreamer.types:
14700         * docs/gst/tmpl/gstbasesink.sgml:
14701         * docs/gst/tmpl/gstbasesrc.sgml:
14702         * docs/gst/tmpl/gstbin.sgml:
14703         * docs/gst/tmpl/gstcompat.sgml:
14704         * docs/gst/tmpl/gstfakesink.sgml:
14705         * docs/gst/tmpl/gstfakesrc.sgml:
14706         * docs/gst/tmpl/gstfilesink.sgml:
14707         * docs/gst/tmpl/gstfilesrc.sgml:
14708         * docs/gst/tmpl/gstindex.sgml:
14709         * docs/manual/appendix-quotes.xml:
14710         * gst/base/gstbasesrc.h:
14711         * gst/elements/gstfakesrc.h:
14712         * gst/gstmessage.h:
14713           start pulling in base classes and elements in our docs
14714
14715 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14716
14717         * docs/gst/Makefile.am:
14718         * docs/libs/Makefile.am:
14719           fixed make distcheck with gtk-doc 1.3
14720
14721 2005-06-23  Wim Taymans  <wim@fluendo.com>
14722
14723         * gst/gstelement.c: (gst_element_get_state_func),
14724         (gst_element_set_state), (gst_element_change_state):
14725         When the state did not change, also report NO_PREROLL
14726         when it matters.
14727
14728 2005-06-23  Wim Taymans  <wim@fluendo.com>
14729
14730         * gst/gstpad.c: (gst_pad_event_default):
14731         * gst/gstqueue.c: (gst_queue_loop):
14732         No unsafe task pausing please.
14733
14734 2005-06-23  Wim Taymans  <wim@fluendo.com>
14735
14736         * gst/schedulers/threadscheduler.c:
14737         (gst_thread_scheduler_task_start),
14738         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14739         Ref the task before pushing it on the threadpool. This
14740         makes sure that we have a ref when the threadfunction is
14741         actually called.
14742
14743 2005-06-23  Andy Wingo  <wingo@pobox.com>
14744
14745         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14746         offset is greater than the file's size.
14747
14748         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14749         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14750         * gst/gstobject.c (gst_object_class_init): Make the class lock
14751         recursive. Wim won't let me drop deep_notify. Decodebin works
14752         again, whoopdy doo.
14753
14754         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14755         internal pad, and hacks accordingly. Doesn't do it on the target
14756         pad because we change its caps. Probably catches all cases of
14757         interest tho.
14758         (gst_ghost_pad_set_property): Connect to notify::caps as
14759         appropritate.
14760
14761         * tests/network-clock.scm (plot-simulation): Pipe data to the
14762         elite python skript.
14763
14764         * tests/network-clock-utils.scm (define-parameter): New macro,
14765         defines a parameter that can be set via the command line.
14766         (set-parameter!, parse-parameter-arguments): Command line args
14767         parser.
14768
14769         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14770         stdin.
14771
14772 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14773
14774         * gst/elements/gsttypefindelement.c:
14775         (gst_type_find_element_handle_event):
14776           Don't restart typefinding on a discont.
14777         * gst/gstelement.c: (gst_element_set_state):
14778           Debug spelling fix.
14779         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14780           Allow changing mode of an active pad.
14781           Debug output fixes.
14782         * gst/registries/gstlibxmlregistry.c: (load_feature):
14783           Don't cast a static pad template to a normal pad template.
14784
14785 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14786
14787         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14788         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14789           remove gst_strtoll completely, since it didn't actually do
14790           anything more than what g_ascii_strtoull already does.
14791           check for range errors when deserializing
14792           do a cast for the unsigned cases; but further fixing needs
14793           a decision on what the interpretation of "(int)" and
14794           deserialization should be for values that fall outside the
14795           type's boundaries (ie, refuse, or interpret as casting)
14796
14797 2005-06-23  Wim Taymans  <wim@fluendo.com>
14798
14799         * check/Makefile.am:
14800         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14801         * docs/design/part-live-source.txt:
14802         * docs/design/part-states.txt:
14803         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14804         (gst_basesrc_set_live), (gst_basesrc_is_live),
14805         (gst_basesrc_get_range), (gst_basesrc_activate),
14806         (gst_basesrc_change_state):
14807         * gst/base/gstbasesrc.h:
14808         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14809         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14810         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14811         * gst/gstelement.c: (gst_element_get_state_func),
14812         (gst_element_set_state):
14813         * gst/gstelement.h:
14814         * gst/gsttypes.h:
14815         * tools/gst-launch.c: (event_loop), (main):
14816         Added support for live sources and other elements that
14817         cannot do preroll.
14818         Updated design docs, added live-source design doc.
14819         Implemented live source functionality in basesrc
14820         Fix error condition in _bin_get_state()
14821         Implement live source handling in -launch.
14822         Added check for live sources.
14823         Fixed case in GstBin where elements were changed state
14824         multiple times.
14825
14826
14827 2005-06-23  Andy Wingo  <wingo@pobox.com>
14828
14829         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14830         borken refcounting.
14831
14832         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14833         gst_caps_replace takes care of this for us.
14834
14835         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14836         gst_pad_set_caps on the target, not just its setcaps() function.
14837
14838         * tests/network-clock.scm: 
14839         * tests/network-clock-utils.scm: A network clock simulator.
14840         Something of an algorithmic testbed before doing something in C.
14841
14842 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14843
14844         * check/Makefile.am:
14845         * check/gst/capslist.h:
14846           copy over from 0.8, and add two with bitmasks specified with
14847           (int) 0xFF...
14848         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14849           add test to parse everything from capslist.h
14850         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
14851         (main):
14852           add test for structure deserialization
14853         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14854           add tests for deserialization of strings to int types
14855         * gst/gststructure.c: (gst_structure_nth_field_name):
14856         * gst/gststructure.h:
14857           add a way to get the name of a field referenced by index
14858         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14859           instead of checking if the resulting long long lies between
14860           min and max, we check if the long long would fit into
14861           a number of bytes for the final type.
14862           This fixes cases where a string represents 2^32 - 1, which
14863           when cast to int would be the (valid) -1, but is bigger than
14864           G_MAXINT
14865
14866 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14867
14868         * gst/parse/grammar.y:
14869           add a log line for type deserialization
14870
14871 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14872
14873         * check/gst/gstvalue.c: (START_TEST):
14874         * gst/gstvalue.c: (gst_value_deserialize):
14875           return long long, not int, so gint64 deserialization actually
14876           works.  Is there any flag that makes the compiler check this ?
14877           Fixes #308559
14878
14879 2005-06-22  Wim Taymans  <wim@fluendo.com>
14880
14881         * gst/gstbuffer.h:
14882         Added convenience macros for setting buffers in GValue.
14883
14884 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14885
14886         * check/gst/.cvsignore:
14887         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14888           add a test deserializing int64, and comment part out because
14889           it fails, yay !
14890
14891 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14892
14893         * check/Makefile.am:
14894         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14895         * testsuite/Makefile.am:
14896         * testsuite/caps/Makefile.am:
14897         * testsuite/caps/value_serialize.c:
14898         * testsuite/test_gst_init.c:
14899           move a value_serialize test over
14900
14901 2005-06-20  Wim Taymans  <wim@fluendo.com>
14902
14903         * gst/gstpad.c:
14904         Small doc updates.
14905         
14906         * gst/gstvalue.c: (gst_value_compare_buffer),
14907         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14908         (gst_value_compare_flags), (gst_value_serialize_flags),
14909         (gst_value_deserialize_flags), (_gst_value_initialize):
14910         Fix serialisation of buffers, they are not boxed types anymore
14911
14912 2005-06-20  Wim Taymans  <wim@fluendo.com>
14913
14914         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14915         Testcase to show error in buffer-on-caps serialisation.
14916
14917 2005-06-20  Andy Wingo  <wingo@pobox.com>
14918
14919         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14920         will be adding to later.
14921
14922         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14923         if its socks fill with rocks.
14924         (gst_system_clock_obtain): Set the name on object construction.
14925         Avoid double-checked locking.
14926
14927 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14928
14929         * gst/gsturi.c: (gst_element_make_from_uri):
14930           Fix potential endless loop.
14931
14932 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14933
14934         * check/Makefile.am:
14935           add gsttag
14936         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14937         (main):
14938           move over from testsuite dir and clean up
14939         * configure.ac:
14940         * gst/gsttag.c:
14941         * testsuite/Makefile.am:
14942         * testsuite/tags/.cvsignore:
14943         * testsuite/tags/Makefile.am:
14944         * testsuite/tags/merge.c:
14945           remove testsuite/tags
14946
14947 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14948
14949         * docs/gst/gstreamer-sections.txt:
14950         * docs/gst/tmpl/gstenumtypes.sgml:
14951         * win32/gstenumtypes.c:
14952           clean up documentation build a little
14953
14954 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14955
14956         * check/gstcheck.h:
14957           add macros for checking refcounts on objects and caps
14958         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
14959           add some more unit tests
14960         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14961         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
14962           fix leaked refcounts (I hope :)) so unittest works
14963         * gst/gstpad.h:
14964           whitespace removal
14965
14966 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14967
14968         * configure.ac: back to HEAD
14969
14970 === release 0.9.1 ===
14971
14972 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14973
14974         * NEWS:
14975         * RELEASE:
14976           updated
14977
14978 2005-06-17  Andy Wingo  <wingo@pobox.com>
14979
14980         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
14981         assert; it's always possible that the pad gets deactivated in
14982         between the checks in gstpad.c and the implementation. Rely on
14983         finish_preroll() to return a FLUSHING or similar instead of on the
14984         assert.
14985         
14986         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
14987         clock and post an EOS message if we come out of finish_preroll in
14988         the playing state.
14989
14990 2005-06-16  David Schleef  <ds@schleef.org>
14991
14992         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
14993         (gst_capsfilter_set_property): Allow NULL as possible value
14994         for filter_caps property, indicating GST_CAPS_ANY.
14995
14996 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14997
14998         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
14999           fix debug output
15000         * gst/schedulers/Makefile.am:
15001           use libgst prefix
15002         * gstreamer.spec.in:
15003           fix spec for it
15004
15005 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15006
15007         * gstreamer.spec.in:
15008           clean up
15009
15010 2005-06-08  Andy Wingo  <wingo@pobox.com>
15011
15012         * gst/gstutils.c: RPAD fixes all around.
15013         (gst_element_link_pads): Refcounting fixes.
15014
15015         * tools/gst-inspect.c:
15016         * tools/gst-xmlinspect.c:
15017         * parse/grammar.y:
15018         * gst/base/gsttypefindhelper.c:
15019         * gst/base/gstbasesink.c:
15020         * gst/gstqueue.c: RPAD fixes.
15021
15022         * gst/gstghostpad.h:
15023         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15024         pads. The tricky thing is they provide both source and sink
15025         interfaces, since they proxy the internal pad for the external
15026         pad, and vice versa. Implement with lower-level ProxyPad objects,
15027         with the interior proxy pad as a child of the exterior ghost pad.
15028         Should write a doc on this.
15029         
15030         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15031         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15032         gst_object API.
15033         
15034         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15035         pads are real pads. No ghost pads in this file. Not documenting
15036         the myriad s/RPAD/PAD/ and REALIZE fixes.
15037         (gst_pad_class_init): Add properties for "direction" and
15038         "template". Both are construct-only, so they can't change during
15039         the life of the pad. Fixes properly deriving from GstPad.
15040         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15041         derived objects, just set properties when creating the objects via
15042         g_object_new.
15043         (gst_pad_get_parent): Implement as a function, return NULL if the
15044         parent is not an element.
15045         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15046         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15047         
15048         * gst/gstobject.c (gst_object_class_init): Make name a construct
15049         property. Don't set it in the object init.
15050
15051         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15052         with UNKNOWN direction.
15053         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15054         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15055         (gst_element_remove_pad): Remove ghost-pad special cases.
15056         (gst_element_pads_activate): Remove rpad cruft.
15057
15058         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15059         catch the pad's-parent-not-an-element case.
15060
15061         * gst/gst.h: Include gstghostpad.h.
15062
15063         * gst/gst.c (init_post): No more real, ghost pads.
15064
15065         * gst/Makefile.am: Add gstghostpad.[ch].
15066
15067         * check/Makefile.am:
15068         * check/gst/gstbin.c:
15069         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15070         into a bin creates ghost pads, and that the refcounts are right.
15071         Partly moved from gstbin.c.
15072
15073 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15074
15075         * check/gst-libs/.cvsignore:
15076         * check/gst/.cvsignore:
15077         * check/pipelines/.cvsignore:
15078           ignore more
15079         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15080         (START_TEST), (cleanup_suite), (main):
15081           add some tests related to cleanup after running pipelines
15082
15083 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15084
15085         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15086           add a testsuite for GstBuffer
15087
15088 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15089
15090         * gst/gstminiobject.h:
15091           add defines for accessing the refcount
15092
15093 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15094
15095         * Makefile.am: added support for html unit test coverage reports
15096
15097 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15098
15099         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15100           Free existing caps if the capsfilter changes. Add a FIXME about
15101           setting those caps on the pads.
15102
15103         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15104           Before adding a ghost pad to a parent bin, check that there isn't
15105           already one for the element on the bin. Prevents infinite recursion
15106           when using decodebin in parse pipelines. Andy says he'll rewrite the
15107           way this works anyway, so ignore the hack.
15108
15109 2005-06-02  Andy Wingo  <wingo@pobox.com>
15110
15111         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15112         file size, pass it on to the type find helper.
15113
15114         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15115         segment_start and segment_end properly according to the seek
15116         method. Segment_end is still a bit flaky because offset can be
15117         negative for CUR and END cases, but it takes -1 as an "unset"
15118         value.
15119
15120 2005-06-02  Wim Taymans  <wim@fluendo.com>
15121
15122         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15123         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15124         (gst_basesink_activate):
15125         * gst/base/gstbasesink.h:
15126         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15127         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15128         (gst_pad_query), (gst_pad_start_task):
15129         * gst/gstpad.h:
15130         * gst/gstqueue.c: (gst_queue_bufferalloc),
15131         (gst_queue_handle_sink_event), (gst_queue_chain):
15132         Bufferalloc: return GstFlowReturn to more accuratly report
15133         why allocation failed.
15134
15135 2005-06-02  Wim Taymans  <wim@fluendo.com>
15136
15137         * gst/gstpipeline.c: (gst_pipeline_send_event):
15138         Take snapshot of state without blocking.
15139
15140 2005-06-02  Wim Taymans  <wim@fluendo.com>
15141
15142         * docs/design/part-TODO.txt:
15143         * docs/design/part-caps.txt:
15144         * docs/design/part-clocks.txt:
15145         * docs/design/part-negotiation.txt:
15146         * docs/design/part-preroll.txt:
15147         Small doc updates 
15148
15149 2005-05-30  Wim Taymans  <wim@fluendo.com>
15150
15151         * gst/elements/gstidentity.c: (gst_identity_event),
15152         (gst_identity_transform), (gst_identity_get_property):
15153         Protect last_message property as it is accessed from
15154         multiple threads.
15155
15156 2005-05-30  Wim Taymans  <wim@fluendo.com>
15157
15158         * gst/gstelement.c: (gst_element_init),
15159         (gst_element_pads_activate), (gst_element_change_state):
15160         Slicker pad activation code.
15161
15162 2005-05-30  Wim Taymans  <wim@fluendo.com>
15163
15164         * gst/Makefile.am:
15165         * gst/gstelement.h:
15166         * gst/gstelementfactory.h:
15167         * gst/gsttypes.h:
15168         Move elementfactory methods to separate .h file.
15169
15170 2005-05-30  Wim Taymans  <wim@fluendo.com>
15171
15172         * docs/design/part-overview.txt:
15173         * gst/gstsystemclock.h:
15174         Small typo fixes, doc updates.
15175
15176 2005-05-30  Wim Taymans  <wim@fluendo.com>
15177
15178         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15179         (init_popt_callback):
15180         Remove cpu-opt flag.
15181
15182 2005-05-30  Wim Taymans  <wim@fluendo.com>
15183
15184         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15185         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15186         * gst/gstbuffer.h:
15187         Avoid typechecking in places where not needed.
15188         Added accessor for malloc_data.
15189
15190 2005-05-30  Wim Taymans  <wim@fluendo.com>
15191
15192         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15193         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15194         (gst_pad_configure_sink), (gst_pad_configure_src),
15195         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15196         (gst_pad_start_task):
15197         Propagate errors from _set_caps() in configure_src/sink
15198         functions instead of returning TRUE.
15199         FLUSH events can travel up and downstream
15200
15201
15202 2005-05-30  Wim Taymans  <wim@fluendo.com>
15203
15204         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15205         (gst_basesink_activate):
15206         Handle EOS in preroll.
15207
15208 2005-05-30  Wim Taymans  <wim@fluendo.com>
15209
15210         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15211         (gst_queue_loop), (gst_queue_handle_src_event):
15212         Remove old pieces of code
15213         Flushing the queue in an upstream event is a very bad idea.
15214
15215 2005-05-26  Andy Wingo  <wingo@pobox.com>
15216
15217         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15218         gst_value_set_mini_object so as to add a ref on the object (which
15219         will be removed when the value is unset).
15220
15221         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15222         arg type in ::handoff.
15223
15224         * gst/gstelement.c (gst_element_change_state): Also deactivate
15225         pads in READY->NULL, just in case the element didn't make it to
15226         PAUSED. Wingo tested, Wim approved.
15227
15228 2005-05-26  Wim Taymans  <wim@fluendo.com>
15229
15230         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15231         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15232         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15233         A flushing pad cannot be used to alloc_buffer from.
15234
15235 2005-05-26  Wim Taymans  <wim@fluendo.com>
15236
15237         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15238         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15239         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15240         (gst_bus_create_watch), (gst_bus_add_watch_full):
15241         * gst/gstbus.h:
15242         Implement a real GSource and use g_main_context_wakeup() to
15243         signal new messages instead of the socketpair.
15244
15245 2005-05-25  Wim Taymans  <wim@fluendo.com>
15246
15247         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15248         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15249         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15250         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15251         (gst_pad_send_event), (gst_pad_start_task):
15252         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15253         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15254         (gst_queue_sink_activate), (gst_queue_src_activate),
15255         (gst_queue_change_state):
15256         * gst/gstqueue.h:
15257         Fix state changes for non sinks. We now change sinks, then elements
15258         with unconnected srcpads, then the rest.
15259         More efficient queue unlocking in flush and state changes.
15260         Set the pad activate mode even if it does not have an activate
15261         function.
15262
15263 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15264
15265         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15266           Don't go in pull mode for non-seekable sources.
15267         * gst/elements/gsttypefindelement.h:
15268         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15269         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15270         (free_entry), (stop_typefinding),
15271         (gst_type_find_element_handle_event), (find_peek),
15272         (gst_type_find_element_chain), (do_pull_typefind),
15273         (gst_type_find_element_change_state):
15274           Allow typefinding (w/o seeking) in push-mode, simplified version
15275           of what was in 0.8.
15276         * gst/gstutils.c: (gst_buffer_join):
15277         * gst/gstutils.h:
15278           gst_buffer_join() from 0.8.
15279
15280 2005-05-25  Wim Taymans  <wim@fluendo.com>
15281
15282         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15283         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15284         (gst_pad_send_event), (gst_pad_start_task):
15285         Disable attempt at mode switching until it is figured out.
15286
15287 2005-05-25  Wim Taymans  <wim@fluendo.com>
15288
15289         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15290         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15291         (gst_basesink_finish_preroll), (gst_basesink_chain),
15292         (gst_basesink_loop), (gst_basesink_activate),
15293         (gst_basesink_change_state):
15294         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15295         (gst_basesrc_get_range), (gst_basesrc_loop),
15296         (gst_basesrc_activate):
15297         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15298         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15299         (gst_real_pad_init), (gst_real_pad_set_property),
15300         (gst_real_pad_get_property), (gst_pad_set_active),
15301         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15302         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15303         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15304         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15305         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15306         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15307         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15308         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15309         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15310         (gst_pad_stop_task):
15311         * gst/gstpad.h:
15312         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15313         (gst_queue_loop), (gst_queue_src_activate):
15314         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15315         (gst_task_get_state):
15316         * gst/gsttask.h:
15317         * gst/schedulers/threadscheduler.c:
15318         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15319         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15320         in task function.
15321         Remove ACTIVE pad flag, use FLUSHING everywhere
15322         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15323         functions.
15324         Add locks around IS_FLUSHING when reading.
15325         Take STREAM lock in chain(), get_range() functions so plugins
15326         don't need to take it anymore.
15327         
15328
15329
15330 2005-05-25  Wim Taymans  <wim@fluendo.com>
15331
15332         * tools/gst-launch.c: (event_loop):
15333         Unref message after using its contents instead of
15334         before.
15335
15336 2005-05-24  Wim Taymans  <wim@fluendo.com>
15337
15338         * docs/design/draft-ghostpads.txt:
15339         * docs/design/draft-push-pull.txt:
15340         * docs/design/draft-query.txt:
15341         * docs/design/part-overview.txt:
15342         Docs updates, added general overview doc.
15343
15344 2005-05-21  David Schleef  <ds@schleef.org>
15345
15346         * docs/gst/tmpl/old/GstBin.sgml:
15347         * docs/gst/tmpl/old/GstBuffer.sgml:
15348         * docs/gst/tmpl/old/GstCaps.sgml:
15349         * docs/gst/tmpl/old/GstClock.sgml:
15350         * docs/gst/tmpl/old/GstCompat.sgml:
15351         * docs/gst/tmpl/old/GstData.sgml:
15352         * docs/gst/tmpl/old/GstElement.sgml:
15353         * docs/gst/tmpl/old/GstEvent.sgml:
15354         * docs/gst/tmpl/old/GstIndex.sgml:
15355         * docs/gst/tmpl/old/GstStructure.sgml:
15356         * docs/gst/tmpl/old/GstTag.sgml:
15357         * docs/gst/tmpl/old/cothreads.sgml:
15358         * docs/gst/tmpl/old/cothreads_compat.sgml:
15359         * docs/gst/tmpl/old/gettext.sgml:
15360         * docs/gst/tmpl/old/gobject2gtk.sgml:
15361         * docs/gst/tmpl/old/grammar.tab.sgml:
15362         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15363         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15364         * docs/gst/tmpl/old/gst_private.sgml:
15365         * docs/gst/tmpl/old/gstaggregator.sgml:
15366         * docs/gst/tmpl/old/gstarch.sgml:
15367         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15368         * docs/gst/tmpl/old/gstbufferstore.sgml:
15369         * docs/gst/tmpl/old/gstdata_private.sgml:
15370         * docs/gst/tmpl/old/gstdisksink.sgml:
15371         * docs/gst/tmpl/old/gstdisksrc.sgml:
15372         * docs/gst/tmpl/old/gstelementfactory.sgml:
15373         * docs/gst/tmpl/old/gstextratypes.sgml:
15374         * docs/gst/tmpl/old/gstfakesink.sgml:
15375         * docs/gst/tmpl/old/gstfakesrc.sgml:
15376         * docs/gst/tmpl/old/gstfdsink.sgml:
15377         * docs/gst/tmpl/old/gstfdsrc.sgml:
15378         * docs/gst/tmpl/old/gstfilesink.sgml:
15379         * docs/gst/tmpl/old/gstfilesrc.sgml:
15380         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15381         * docs/gst/tmpl/old/gstidentity.sgml:
15382         * docs/gst/tmpl/old/gstindexfactory.sgml:
15383         * docs/gst/tmpl/old/gstmarshal.sgml:
15384         * docs/gst/tmpl/old/gstmd5sink.sgml:
15385         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15386         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15387         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15388         * docs/gst/tmpl/old/gstpipefilter.sgml:
15389         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15390         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15391         * docs/gst/tmpl/old/gstshaper.sgml:
15392         * docs/gst/tmpl/old/gstspider.sgml:
15393         * docs/gst/tmpl/old/gstspideridentity.sgml:
15394         * docs/gst/tmpl/old/gststatistics.sgml:
15395         * docs/gst/tmpl/old/gsttee.sgml:
15396         * docs/gst/tmpl/old/gsttimecache.sgml:
15397         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15398         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15399         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15400         * docs/gst/tmpl/old/types.sgml:
15401           I didn't intend to add these or check them in.
15402
15403 2005-05-19  David Schleef  <ds@schleef.org>
15404
15405         * configure.ac: Use -no-common everywhere.  In a sane world, it
15406           would be the default in libtool, because without it, you can't
15407           build DLLs on Windows.
15408         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15409         * docs/gst/gstreamer-sections.txt:
15410         * docs/gst/tmpl/gstcpu.sgml:
15411         * docs/gst/tmpl/gstdata.sgml:
15412         * docs/gst/tmpl/gstthread.sgml:
15413
15414 2005-05-19  David Schleef  <ds@schleef.org>
15415
15416         * gst/gstminiobject.c: (gst_value_set_mini_object),
15417         (gst_value_take_mini_object), (gst_value_get_mini_object):
15418         * gst/gstminiobject.h: Add GValue set/get functions.
15419
15420 2005-05-19  Wim Taymans  <wim@fluendo.com>
15421
15422         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15423         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15424         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15425         * gst/gstbuffer.h:
15426         * gst/gstbus.c: (gst_bus_post):
15427         * gst/gstelement.c: (gst_element_get_random_pad):
15428         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15429         Make subbufer unref the parent in finalize.
15430         some more debugging info.
15431
15432
15433 2005-05-19  Wim Taymans  <wim@fluendo.com>
15434
15435         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15436         (gst_basesink_init), (gst_basesink_finalize),
15437         (gst_basesink_activate), (gst_basesink_change_state):
15438         Don't free preroll queue too early.
15439
15440 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15441
15442         * gst/Makefile.am:
15443         * gst/ROADMAP:
15444           Hi, I'm outdated. Please shoot me.
15445
15446 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15447
15448         * gst/gstpipeline.c: (gst_pipeline_send_event):
15449           Do not access variables after they have been deleted.
15450
15451 2005-05-19  Wim Taymans  <wim@fluendo.com>
15452
15453         * tools/gst-inspect.c: (print_plugin_features):
15454         A plugin feature does unfortunatly not use the
15455         object name yet...
15456
15457 2005-05-18  Wim Taymans  <wim@fluendo.com>
15458
15459         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15460         Port _span() functions to new subbuffers.
15461
15462 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15463
15464         * gst/gstbin.c: (gst_bin_add_func):
15465           Fix clock settery in bins when adding kids after the clock has
15466           been selected.
15467
15468 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15469
15470         * gst/elements/gstidentity.c: (gst_identity_class_init):
15471           Workaround until signals support GstMiniObject.
15472
15473 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15474
15475         * gst/gstbuffer.c:
15476         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15477
15478 2005-05-18  Wim Taymans  <wim@fluendo.com>
15479
15480         * gst/base/Makefile.am:
15481         * gst/base/gstadapter.c: (gst_adapter_base_init),
15482         (gst_adapter_class_init), (gst_adapter_init),
15483         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15484         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15485         (gst_adapter_flush), (gst_adapter_available),
15486         (gst_adapter_available_fast):
15487         * gst/base/gstadapter.h:
15488         Ported and added adapter to the base classes.
15489
15490 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15491
15492         * gst/gst.c:
15493         * gst/gstmessage.c:
15494           Make sure the class is reffed/unreffed once before threads can be
15495           used.  Fixes #304551.
15496
15497 2005-05-17  Wim Taymans  <wim@fluendo.com>
15498
15499         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15500         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15501         * gst/gstminiobject.c: (gst_mini_object_get_type),
15502         (gst_mini_object_free):
15503         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15504         (gst_pad_push), (gst_pad_push_event):
15505         * gst/gstqueue.c: (gst_queue_change_state):
15506         Don't queue buffers in basesink when we are flushing.
15507         Unref buffer when flushing in basesink.
15508         Flush queue when going to READY
15509         Unref buffer when _push() returns an error.
15510         Don't free MiniObject instance when refcount is incremented
15511         in _finalize() so that we can recover objects.
15512
15513 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15514
15515         * docs/manual/advanced-schedulers.xml:
15516         * docs/manual/appendix-checklist.xml:
15517         * docs/pwg/advanced-clock.xml:
15518         * docs/pwg/advanced-interfaces.xml:
15519         * docs/pwg/advanced-request.xml:
15520         * docs/pwg/advanced-types.xml:
15521         * docs/pwg/intro-preface.xml:
15522         * examples/plugins/example.c: (gst_example_get_type),
15523         (gst_example_class_init), (gst_example_chain),
15524         (gst_example_set_property), (gst_example_get_property),
15525         (gst_example_change_state), (plugin_init):
15526         * examples/plugins/example.h:
15527           small doc fixes
15528
15529 2005-05-17  Wim Taymans  <wim@fluendo.com>
15530
15531         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15532         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15533         * gst/gstqueue.c: (gst_queue_change_state):
15534         Clear queue when going to READY.
15535         Remove IN_SETCAPS flag too.
15536
15537 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15538
15539         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15540           Remove implicit cast from gboolean to GstElementStateReturn;
15541           make sure we still return failure in paused => ready case if
15542           the parent class fails to change state and our own stop 
15543           vfunc succeeds.
15544
15545 2005-05-17  Wim Taymans  <wim@fluendo.com>
15546
15547         * tools/gst-launch.c: (event_loop):
15548         Message was unreffed too soon.
15549
15550 2005-05-16  Andy Wingo  <wingo@pobox.com>
15551
15552         * gst/gstbin.c (sink_iterator_filter): Err... um...
15553
15554         * check/gst/gstbin.c (test_ghost_pads): New test for the
15555         ghosting-if-elements-not-in-same-bin behavior.
15556
15557 2005-05-16  David Schleef  <ds@schleef.org>
15558
15559         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15560         accessing refcount directly.
15561
15562 2005-05-15  David Schleef  <ds@schleef.org>
15563
15564         * check/Makefile.am: remove GstData checks
15565         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15566         * gst/Makefile.am: add miniobject, remove data
15567         * gst/gst.h: add miniobject, remove data
15568         * gst/gstdata.c: remove
15569         * gst/gstdata.h: remove
15570         * gst/gstdata_private.h: remove
15571         * gst/gsttypes.h: remove GstEvent and GstMessage
15572         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15573         * gst/gstmarshal.list: change BOXED -> OBJECT
15574
15575         Implement GstMiniObject.
15576         * gst/gstminiobject.c:
15577         * gst/gstminiobject.h:
15578
15579         Modify to be subclasses of GstMiniObject.
15580         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15581         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15582         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15583         (gst_subbuffer_get_type), (gst_subbuffer_init),
15584         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15585         (gst_buffer_span):
15586         * gst/gstbuffer.h:
15587         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15588         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15589         (_gst_event_copy), (gst_event_new):
15590         * gst/gstevent.h:
15591         * gst/gstmessage.c: (_gst_message_initialize),
15592         (gst_message_get_type), (gst_message_class_init),
15593         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15594         (gst_message_new), (gst_message_new_error),
15595         (gst_message_new_warning), (gst_message_new_tag),
15596         (gst_message_new_state_changed), (gst_message_new_application):
15597         * gst/gstmessage.h:
15598         * gst/gstprobe.c: (gst_probe_perform),
15599         (gst_probe_dispatcher_dispatch):
15600         * gst/gstprobe.h:
15601         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15602         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15603         (_gst_query_copy), (gst_query_new):
15604
15605         Update elements for GstData -> GstMiniObject changes
15606         * gst/gstquery.h:
15607         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15608         (gst_queue_chain), (gst_queue_loop):
15609         * gst/elements/gstbufferstore.c:
15610         (gst_buffer_store_add_buffer_func),
15611         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15612         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15613         (gst_fakesink_render):
15614         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15615         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15616         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15617         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15618         (gst_filesrc_create_read):
15619         * gst/elements/gstidentity.c: (gst_identity_class_init):
15620         * gst/elements/gsttypefindelement.c:
15621         (gst_type_find_element_src_event), (free_entry_buffers),
15622         (gst_type_find_element_handle_event):
15623         * libs/gst/dataprotocol/dataprotocol.c:
15624         (gst_dp_header_from_buffer):
15625         * libs/gst/dataprotocol/dataprotocol.h:
15626         * libs/gst/dataprotocol/dp-private.h:
15627
15628 2005-05-15  David Schleef  <ds@schleef.org>
15629
15630         * gst/elements/gstelements.c: Don't include headers that were
15631         just removed.
15632
15633 2005-05-15  David Schleef  <ds@schleef.org>
15634
15635         * gst/elements/Makefile.am: Remove some elements that don't
15636         need to be in the core (or even exist at all).
15637         * gst/elements/gstaggregator.c:
15638         * gst/elements/gstaggregator.h:
15639         * gst/elements/gstmd5sink.c:
15640         * gst/elements/gstmd5sink.h:
15641         * gst/elements/gstmultifilesrc.c:
15642         * gst/elements/gstmultifilesrc.h:
15643         * gst/elements/gstpipefilter.c:
15644         * gst/elements/gstpipefilter.h:
15645         * gst/elements/gstshaper.c:
15646         * gst/elements/gstshaper.h:
15647         * gst/elements/gststatistics.c:
15648         * gst/elements/gststatistics.h:
15649         * po/POTFILES.in: Remove above files.
15650
15651 2005-05-14  Andy Wingo  <wingo@pobox.com>
15652
15653         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15654         so as to get the refs right.
15655         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15656         unreffing objects that don't pass the filter.
15657
15658         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15659         gst_element_set_bus.
15660         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15661         normal cases, this will destroy the bus.
15662
15663         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15664         object.
15665
15666         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15667         has no sinks.
15668
15669 2005-05-13  Andy Wingo  <wingo@pobox.com>
15670
15671         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15672         gst_pad_link, call pad_link_maybe_ghosting,
15673         (pad_link_maybe_ghosting): Links pads, making sure that the
15674         elements being linked are in the same bin.
15675         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15676         Helpers for pad_link_maybe_ghosting.
15677
15678 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15679
15680         * configure.ac:
15681           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15682
15683 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15684
15685         * docs/design/part-element-source.txt:
15686           Mention GstPushSrc
15687
15688 2005-05-12  Wim Taymans  <wim@fluendo.com>
15689
15690         * gst/base/gstbasesink.c: (gst_basesink_init),
15691         (gst_basesink_activate):
15692         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15693         (gst_basesrc_is_seekable):
15694         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15695         (bin_element_is_sink), (gst_bin_change_state):
15696         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15697         * gst/gstelement.h:
15698         Identify sinks by their flag to avoid overly complicated
15699         checks (fow now).
15700         Do state changes even for elements not reachable from the
15701         sinks.
15702         BaseSink is a sink now :)
15703         Some more debugging info in the basesrc.
15704
15705
15706 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15707
15708         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15709           Implement _query on a bin, similar to _send_event.
15710
15711 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15712
15713         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15714           Discont event offset format should be GST_FORMAT_BYTES,
15715           not GST_FORMAT_TIME.
15716
15717 2005-05-12  Wim Taymans  <wim@fluendo.com>
15718
15719         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15720         Same fix as Ronald's but without the signal. 
15721
15722 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15723
15724         * gst/gstutils.c: (gst_element_query_position):
15725           No, an element is not a pad.
15726
15727 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15728
15729         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15730         (gst_bin_get_state):
15731           If a child is removed from a bin while we remove the child from
15732           the bin and while we're retrieving its state, signal this to the
15733           get_state function so we abort the wait (instead of waiting for
15734           a timeout) and can immediately re-iterate over all other elements.
15735
15736 2005-05-12  Wim Taymans  <wim@fluendo.com>
15737
15738         * gst/base/Makefile.am:
15739         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15740         (gst_basesrc_start):
15741         * gst/base/gstbasesrc.h:
15742         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15743         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15744         (gst_pushsrc_init), (gst_pushsrc_create):
15745         * gst/base/gstpushsrc.h:
15746         Added is_seekable to BaseSrc
15747         Added simple PushSrc.
15748
15749 2005-05-11  Wim Taymans  <wim@fluendo.com>
15750
15751         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15752         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15753         (gst_element_link_pads), (gst_element_query_position),
15754         (gst_element_query_convert), (intersect_caps_func),
15755         (gst_pad_query_position), (gst_pad_query_convert):
15756         Fix refcounting in utils function.
15757         No point in trying to activate a pad when it's added, it could
15758         be added from the state change function and then we deadlock, the
15759         element has to decide what to do.
15760
15761 2005-05-10  Andy Wingo  <wingo@pobox.com>
15762
15763         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15764         *all* the arguments.
15765
15766         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15767         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15768         lock (according to the docs -- if this is wrong change the docs).
15769
15770         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15771         flush messages in the NULL state.
15772
15773         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15774         message immediately and return.
15775         (gst_bus_set_flushing): New function. If a bus is flushing, it
15776         flushes out any queued messages and immediately unrefs new
15777         messages. This is so when an element goes to NULL, all of the
15778         unhandled messages coming from it can be freed, and their
15779         references to the element dropped. In other words: message source
15780         ref considered harmful :P
15781
15782         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15783         we're finished with it.
15784
15785         * gst/gstmessage.c (gst_message_new_state_changed): 
15786
15787 2005-05-10  Wim Taymans  <wim@fluendo.com>
15788
15789         * gst/gstvalue.c: (gst_value_compare_flags),
15790         (gst_value_serialize_flags), (gst_value_deserialize_flags),
15791         (_gst_value_initialize):
15792         Added flags serialize/deserialize/compare code.
15793
15794 2005-05-09  Andy Wingo  <wingo@pobox.com>
15795
15796         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15797         Intersect the peer's caps with our caps.
15798
15799 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15800
15801         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15802         * gst/elements/gsttypefindelement.c: (find_peek):
15803           Handle negative offsets better. Fixes decodebin.
15804
15805 2005-05-09  Wim Taymans  <wim@fluendo.com>
15806
15807         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15808         (gst_base_transform_event):
15809         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15810         Implement accept_caps.
15811         Fix silly lock/unlock mismatch in base class.
15812
15813 2005-05-09  Wim Taymans  <wim@fluendo.com>
15814
15815         * docs/design/draft-push-pull.txt:
15816         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15817         * gst/elements/gstfilesink.c: (gst_filesink_init),
15818         (gst_filesink_query):
15819         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15820         (gst_type_find_handle_src_query), (find_element_get_length):
15821         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15822         * gst/gstelement.h:
15823         * gst/gstmessage.c:
15824         * gst/gstmessage.h:
15825         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15826         (gst_real_pad_get_caps_unlocked),
15827         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15828         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15829         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15830         (gst_real_pad_dispose), (gst_real_pad_finalize),
15831         (gst_pad_load_and_link), (gst_pad_save_thyself),
15832         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15833         (gst_pad_check_pull_range), (gst_pad_pull_range),
15834         (gst_pad_template_get_type), (gst_pad_template_class_init),
15835         (gst_pad_template_init), (gst_pad_template_dispose),
15836         (name_is_valid), (gst_static_pad_template_get),
15837         (gst_pad_template_new), (gst_static_pad_template_get_caps),
15838         (gst_pad_template_get_caps), (gst_pad_set_element_private),
15839         (gst_pad_get_element_private), (gst_pad_start_task),
15840         (gst_pad_pause_task), (gst_pad_stop_task),
15841         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
15842         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
15843         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
15844         (gst_ghost_pad_new):
15845         * gst/gstpad.h:
15846         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
15847         (gst_query_new_position), (gst_query_set_position),
15848         (gst_query_parse_position), (gst_query_new_convert),
15849         (gst_query_set_convert), (gst_query_parse_convert):
15850         * gst/gstquery.h:
15851         * gst/gstqueryutils.c:
15852         * gst/gstqueryutils.h:
15853         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15854         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15855         (gst_queue_handle_src_query):
15856         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15857         (gst_element_query_position), (gst_element_query_convert),
15858         (intersect_caps_func), (gst_pad_query_position),
15859         (gst_pad_query_convert):
15860         * gst/gstutils.h:
15861         * tools/gst-inspect.c: (print_pad_info):
15862         * tools/gst-xmlinspect.c: (print_element_info):
15863         Remove old query functions. Ported old code.
15864         Added position/convert helper functions to gstutils.
15865         Reordered gstpad.c code, grouping relevant things.
15866         Remove gst_message_new(), always need to speficy a specific
15867         message.
15868
15869
15870 2005-05-09  Andy Wingo  <wingo@pobox.com>
15871
15872         * gst/gstiterator.h: Add some includes.
15873
15874         * gst/gstqueryutils.h: Include more headers.
15875
15876         * gst/gstpad.h:
15877         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15878         some uses of gst_pad_query.
15879
15880         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15881         NULL out parameters.
15882         (gst_query_new_position): New proc, allocates a new position
15883         query.
15884
15885         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15886         gstqueryutils.c to the build.
15887
15888         * gst/gststructure.c (gst_structure_set_valist): Implement with
15889         the generic G_VALUE_COLLECT.
15890         
15891 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15892
15893         * gst/Makefile.am: (gst_headers):
15894         Added gstqueryutils.h to the list of headers to install, that was
15895         a 'nachty' move wingo :)
15896
15897 2005-05-06  Andy Wingo  <wingo@pobox.com>
15898
15899         * gst/gstquery.h
15900         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15901         GstData, init a memchunk.
15902         (standard_definitions): Add a few query types, deprecate a few.
15903         (gst_query_get_type): New proc.
15904         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15905         implementation.
15906         (gst_query_new_application, gst_query_get_structure): New public
15907         procs.
15908
15909         * docs/design/draft-query.txt: Removed LINKS from the query types,
15910         because all the rest can be dispatched to other pads -- seemed
15911         ugly to have a query that couldn't be dispatched. internal_links
15912         is fine as a pad method.
15913
15914         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15915         in gstpad.c, but maintain binary compatibility for the moment.
15916         Will fix before 0.9 is out.
15917
15918         * gst/gstqueryutils.c: 
15919         * gst/gstqueryutils.h: New files, implement 3 methods for each
15920         query type: parse_query, parse_response, and set. Probably need an
15921         allocator as well.
15922
15923         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15924
15925         * gst/elements/gstfilesink.c (gst_filesink_query2):
15926         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15927         query_types, and formats methods.
15928
15929         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15930         (gst_pad_set_query2_function): New functions.
15931         (gst_real_pad_init): Set query2_default as the default query2
15932         function. Basically just dispatches to internally linked pads.
15933
15934         Needs review!
15935         
15936         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15937         without using the atomic operations. Only one thread can possibly
15938         be accessing the data at this point. Changed so as to avoid
15939         gst_atomic operations.
15940
15941 2005-05-06  Wim Taymans  <wim@fluendo.com>
15942
15943         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
15944         Also set caps if we use the fallback buffer alloc.
15945
15946 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
15947
15948         * docs/gst/Makefile.am:
15949         * docs/gst/gstreamer-docs.sgml:
15950         * docs/gst/gstreamer-sections.txt:
15951         * docs/gst/tmpl/gstatomic.sgml:
15952         * docs/gst/tmpl/gstmemchunk.sgml:
15953         * testsuite/elements/struct_i386.h:
15954         * win32/GStreamer.vcproj:
15955         * win32/Makefile:
15956           Purge GstAtomic stuff from docs and win32 makefiles as well
15957
15958 2005-05-06  Wim Taymans  <wim@fluendo.com>
15959
15960         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
15961         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
15962         * gst/gstpad.c: (gst_pad_peer_get_caps):
15963         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15964         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15965         (gst_queue_src_activate), (gst_queue_change_state):
15966         * gst/gstqueue.h:
15967         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15968         (intersect_caps_func):
15969         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
15970         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
15971         Some fixes for the peer_get_caps() change.
15972
15973 2005-05-06  Wim Taymans  <wim@fluendo.com>
15974
15975         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15976         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
15977         (gst_basesink_activate):
15978         Actually do something with error codes returned from the push
15979         functions.
15980
15981 2005-05-06  Wim Taymans  <wim@fluendo.com>
15982
15983         * docs/design/part-element-sink.txt:
15984         * docs/design/part-element-source.txt:
15985         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15986         (gst_basesink_event), (gst_basesink_activate):
15987         * gst/base/gstbasesink.h:
15988         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
15989         (gst_basesrc_activate):
15990         * gst/base/gstbasesrc.h:
15991         * gst/gstelement.c: (gst_element_pads_activate):
15992         Some more documentation.
15993         Fixed scheduling decision in _pads_activate().
15994
15995 2005-05-05  Andy Wingo  <wingo@pobox.com>
15996
15997         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
15998         the test suite.
15999
16000 2005-05-05  Wim Taymans  <wim@fluendo.com>
16001
16002         * gst/base/Makefile.am:
16003         * gst/base/gstbasesink.h:
16004         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16005         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16006         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16007         (gst_collectpads_class_init), (gst_collectpads_init),
16008         (gst_collectpads_finalize), (gst_collectpads_new),
16009         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16010         (find_pad), (gst_collectpads_remove_pad),
16011         (gst_collectpads_is_active), (gst_collectpads_collect),
16012         (gst_collectpads_collect_range), (gst_collectpads_start),
16013         (gst_collectpads_stop), (gst_collectpads_peek),
16014         (gst_collectpads_pop), (gst_collectpads_available),
16015         (gst_collectpads_read), (gst_collectpads_flush),
16016         (gst_collectpads_chain):
16017         * gst/base/gstcollectpads.h:
16018         * gst/elements/Makefile.am:
16019         * gst/elements/gstelements.c:
16020         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16021         (gst_fakesink_get_times), (gst_fakesink_event),
16022         (gst_fakesink_preroll), (gst_fakesink_render):
16023         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16024         (gst_filesink_init), (gst_filesink_set_location),
16025         (gst_filesink_open_file), (gst_filesink_close_file),
16026         (gst_filesink_pad_query), (gst_filesink_event),
16027         (gst_filesink_render), (gst_filesink_change_state):
16028         * gst/elements/gstfilesink.h:
16029         Added object to help in making collect pad based elements.
16030         Ported filesink.
16031         Make event function in sink baseclass return gboolean.
16032
16033 2005-05-05  Wim Taymans  <wim@fluendo.com>
16034
16035         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16036         (gst_bin_get_by_name):
16037         * gst/gstbuffer.h:
16038         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16039         (gst_clock_finalize):
16040         * gst/gstdata.c: (gst_data_replace):
16041         * gst/gstdata.h:
16042         * gst/gstelement.c: (gst_element_request_pad),
16043         (gst_element_pads_activate):
16044         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16045         (gst_object_unref):
16046         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16047         (gst_pad_set_checkgetrange_function),
16048         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16049         (gst_pad_check_pull_range), (gst_pad_pull_range),
16050         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16051         (gst_pad_pause_task), (gst_pad_stop_task):
16052         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16053         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16054         Fix name lookup in GstBin.
16055         Added _data_replace() function and _buffer_replace()
16056         Use finalize method to clean up clock.
16057         Fix refcounting on request pads.
16058         Fix pad schedule mode error.
16059         Some more object refcounting debug info,
16060
16061
16062 2005-05-04  Andy Wingo <wingo@pobox.com>
16063
16064         * check/Makefile.am:
16065         * docs/gst/tmpl/gstatomic.sgml:
16066         * docs/gst/tmpl/gstplugin.sgml:
16067         * gst/base/gstbasesink.c: (gst_basesink_activate):
16068         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16069         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16070         (gst_basesrc_query), (gst_basesrc_set_property),
16071         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16072         (gst_basesrc_activate):
16073         * gst/base/gstbasesrc.h:
16074         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16075         (gst_base_transform_src_activate):
16076         * gst/elements/gstelements.c:
16077         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16078         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16079         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16080         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16081         (gst_type_find_element_checkgetrange),
16082         (gst_type_find_element_activate):
16083         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16084         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16085         (gst_caps_load_thyself):
16086         * gst/gstelement.c: (gst_element_pads_activate),
16087         (gst_element_save_thyself), (gst_element_restore_thyself):
16088         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16089         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16090         * gst/gstpad.h:
16091         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16092         (gst_xml_parse_file), (gst_xml_parse_memory),
16093         (gst_xml_get_element), (gst_xml_make_element):
16094         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16095         (_file_index_id_save_xml), (gst_file_index_commit):
16096         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16097         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16098         (load_paths):
16099         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16100         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16101         * tools/gst-complete.c: (main):
16102         * tools/gst-compprep.c: (main):
16103         * tools/gst-inspect.c: (print_element_properties_info):
16104         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16105         * tools/gst-xmlinspect.c: (print_element_properties):
16106         GCC 4 fixen.
16107         
16108 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16109
16110         * gst/gstplugin.c: (gst_plugin_check_module),
16111         (gst_plugin_check_file), (gst_plugin_load_file):
16112             apply patch from #172526 to make register work on MacOSX
16113
16114 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16115
16116         * docs/gst/tmpl/gstconfig.sgml:
16117         * gst/gstconfig.h.in:
16118           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16119         * testsuite/debug/printf_extension.c: (main):
16120           Do not use GST_PTR_FORMAT on pointers to types with
16121           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16122         * testsuite/elements/property.h:
16123           use correct printf format
16124
16125 2005-05-02  Wim Taymans  <wim@fluendo.com>
16126
16127         * docs/design/draft-push-pull.txt:
16128         * docs/design/draft-query.txt:
16129         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16130         (gst_basesrc_start):
16131         Added draft for new query API.
16132         Added draft for better selecting scheduling methods.
16133         Make basesrc ignore length if the subclass does not support
16134         it.
16135
16136 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16137
16138         * gst/Makefile.am:
16139           possible fixes for automake-1.5 - _LIBADD is reserved
16140
16141 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16142
16143         * docs/faq/Makefile.am:
16144         * docs/manual/Makefile.am:
16145         * docs/manuals.mak:
16146         * docs/pwg/Makefile.am:
16147         * gst/Makefile.am:
16148           possible fixes for automake-1.5
16149
16150 2005-04-28  Wim Taymans  <wim@fluendo.com>
16151
16152         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16153         (gst_basesink_pad_getcaps), (gst_basesink_init),
16154         (gst_basesink_do_sync):
16155         * gst/gstclock.c: (gst_clock_entry_new):
16156         * gst/gstevent.c: (gst_event_discont_get_value):
16157         * gst/gstpipeline.c: (pipeline_bus_handler),
16158         (gst_pipeline_change_state):
16159         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16160         Better debugging of clocking info.
16161         Allow NULL values when getting discont values.
16162
16163 2005-04-27  Wim Taymans  <wim@fluendo.com>
16164
16165         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16166         * check/gst/gstpad.c: (gst_pad_suite):
16167         Increase timeout for checks.
16168
16169 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16170
16171         * check/Makefile.am:
16172           fix the broken rule for cleanup.  Apparently this rule is
16173           only needed on FC2, so maybe this warrants further autotool
16174           inspection.
16175
16176 2005-04-26  Wim Taymans  <wim@fluendo.com>
16177
16178         * gst/gsttrashstack.h:
16179         Ooohh. a nasty one! After having a failed pop() from the stack,
16180         it's possible that the stack is empty. In that case, don't
16181         follow the NULL pointer.
16182
16183 2005-04-25  Wim Taymans  <wim@fluendo.com>
16184
16185         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16186         (gst_pad_set_checkgetrange_function),
16187         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16188         (gst_pad_check_pull_range), (gst_pad_pull_range),
16189         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16190         (gst_pad_pause_task), (gst_pad_stop_task):
16191         * gst/gstplugin.c: (gst_plugin_load):
16192         * gst/gstplugin.h:
16193         Remove gst_library_load as it does more harm than good with
16194         the new g_module flags.
16195         Revert bogus caps template check in pad linking, pad caps
16196         are important when linking not the template, which is more
16197         general than the current caps.
16198
16199 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16200
16201         * gst/autoplug/.cvsignore:
16202         * gst/autoplug/Makefile.am:
16203         * gst/autoplug/gstsearchfuncs.c:
16204         * gst/autoplug/gstsearchfuncs.h:
16205         * gst/autoplug/gstspider.c:
16206         * gst/autoplug/gstspider.h:
16207         * gst/autoplug/gstspideridentity.c:
16208         * gst/autoplug/gstspideridentity.h:
16209         * gst/autoplug/spidertest.c:
16210           Die, spider, die.
16211
16212 2005-04-25  Wim Taymans  <wim@fluendo.com>
16213
16214         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16215         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16216         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16217         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16218         * gst/gstpad.h:
16219         Added stubs for unimplemented functions. 
16220
16221 2005-04-24  David Schleef  <ds@schleef.org>
16222
16223         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16224         please fix.
16225
16226 2005-04-24  David Schleef  <ds@schleef.org>
16227
16228         Convert everything from GstAtomicInt to g_atomic_int_*, and
16229         remove gstatomic.
16230         * gst/Makefile.am:
16231         * gst/gstatomic.c:
16232         * gst/gstatomic.h:
16233         * gst/gstatomic_impl.h:
16234         * gst/gstbuffer.c:
16235         * gst/gstcaps.c:
16236         * gst/gstcaps.h:
16237         * gst/gstclock.c:
16238         * gst/gstclock.h:
16239         * gst/gstdata.c:
16240         * gst/gstdata.h:
16241         * gst/gstdata_private.h:
16242         * gst/gstevent.c:
16243         * gst/gstinfo.c:
16244         * gst/gstinfo.h:
16245         * gst/gstmessage.c:
16246         * gst/gstobject.c:
16247         * gst/gstobject.h:
16248         * gst/gststructure.c:
16249         * gst/gststructure.h:
16250         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16251         * gst/gstutils.h:
16252
16253 2005-04-24  David Schleef  <ds@schleef.org>
16254
16255         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16256         make the regressions tests work.  Remove some code that is no
16257         longer true.
16258         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16259         Disable warning for pads without templates.
16260
16261 2005-04-24  David Schleef  <ds@schleef.org>
16262
16263         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16264         functions that handle filtered links.
16265         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16266         removed functions.
16267         * gst/gstutils.c: Fix/remove utility functions that handle
16268         filtered caps.
16269         * gst/gstutils.h:
16270         * gst/gstvalue.c: Add serialization/deserialization of caps
16271         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16272         requires fixing so that the filter caps notation creates
16273         a capsfilter element and sets the filter_caps property.  I
16274         think everyone probably wants to keep the shorthand notation.
16275         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16276         * docs/gst/tmpl/gstpad.sgml:
16277
16278         * gst/elements/gstelements.c: Register capsfilter element.
16279         * gst/Makefile.am: fix spacing
16280         * docs/random/ds/0.9-suggested-changes: random
16281
16282 2005-04-23  David Schleef  <ds@schleef.org>
16283
16284         * gst/elements/Makefile.am:
16285         * gst/elements/gstcapsfilter.c: New element that acts like an
16286         identity, but filters caps.  Will eventually replace filtered
16287         caps in pad linking.
16288         * gst/gstutils.c: (gst_element_create_all_pads): New function
16289         to create all the ALWAYS pads that are registered with an
16290         element class.  This functionality should eventually be
16291         merged in with GstElement initialization.
16292         * gst/gstutils.h:
16293         * testsuite/trigger/README: part of trigger test code that should
16294         have been checked in a long time ago.
16295
16296 2005-04-23  David Schleef  <ds@schleef.org>
16297
16298         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16299         needed with new versions of libtool (nobody will confirm this),
16300         and hard to carry around.
16301         * gst/autoplug/Makefile.am:
16302         * gst/base/Makefile.am:
16303         * gst/elements/Makefile.am:
16304         * gst/indexers/Makefile.am:
16305         * gst/schedulers/Makefile.am:
16306         * libs/gst/bytestream/Makefile.am:
16307         * libs/gst/control/Makefile.am:
16308         * libs/gst/dataprotocol/Makefile.am:
16309         * libs/gst/getbits/Makefile.am:
16310
16311 2005-04-21  Wim Taymans  <wim@fluendo.com>
16312
16313         * docs/design/draft-push-pull.txt:
16314         * docs/design/part-MT-refcounting.txt:
16315         * docs/design/part-TODO.txt:
16316         * docs/design/part-caps.txt:
16317         * docs/design/part-events.txt:
16318         * docs/design/part-gstbus.txt:
16319         * docs/design/part-gstpipeline.txt:
16320         * docs/design/part-messages.txt:
16321         * docs/design/part-push-pull.txt:
16322         * docs/design/part-query.txt:
16323         Some more docs.
16324
16325 2005-04-21  Wim Taymans  <wim@fluendo.com>
16326
16327         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16328         (gst_message_new), (gst_message_new_error),
16329         (gst_message_new_warning), (gst_message_new_tag),
16330         (gst_message_new_state_changed), (gst_message_new_application),
16331         (gst_message_get_structure):
16332         * gst/gstmessage.h:
16333         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16334         (gst_structure_copy_conditional):
16335         Use parent refcount in GstMessage to ensure GstStructure
16336         consistency.
16337         Cleaned up headers a bit.
16338         
16339
16340 2005-04-20  Wim Taymans  <wim@fluendo.com>
16341
16342         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16343         (gst_basesink_pad_getcaps), (gst_basesink_init),
16344         (gst_basesink_chain_unlocked):
16345         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16346         (gst_type_find_helper):
16347         * gst/elements/gsttypefindelement.c:
16348         (gst_type_find_element_have_type), (gst_type_find_element_init),
16349         (stop_typefinding), (gst_type_find_element_handle_event),
16350         (find_suggest), (gst_type_find_element_chain),
16351         (gst_type_find_element_checkgetrange),
16352         (gst_type_find_element_getrange), (do_typefind),
16353         (gst_type_find_element_activate):
16354         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16355         (gst_buffer_default_free), (gst_buffer_default_copy),
16356         (gst_buffer_set_caps):
16357         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16358         (gst_caps_replace):
16359         * gst/gstmessage.c: (gst_message_new),
16360         (gst_message_new_state_changed):
16361         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16362         (gst_pad_set_checkgetrange_function),
16363         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16364         (gst_pad_set_caps), (gst_pad_check_pull_range),
16365         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16366         * gst/gstpad.h:
16367         * gst/gsttypefind.c: (gst_type_find_register):
16368         Make gst_caps_replace() work like other _replace() functions.
16369         Use _caps_replace() where possible.
16370         Make sure _message_new() initialises its field.
16371         Add gst_static_pad_template_get_caps()
16372
16373
16374 2005-04-18  Andy Wingo  <wingo@pobox.com>
16375
16376         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16377         on the peer, not the pad. I think that was a typo. Pass an extra
16378         arg to see if random access is possible. Activate the pads as
16379         PULL_RANGE if possible.
16380
16381         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16382
16383         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16384         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16385         to PROP_....
16386
16387 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16388
16389         * docs/faq/using.xml:
16390           Add note on gstreamer-properties (#154996).
16391
16392 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16393
16394         * docs/random/bbb/optional-properties:
16395           Some analysis on optional properties.
16396
16397 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16398
16399         * docs/gst/tmpl/gstelementfactory.sgml:
16400         * gst/gstelement.h:
16401         * gst/gstelementfactory.c: (gst_element_factory_init),
16402         (gst_element_factory_cleanup), (gst_element_register),
16403         (__gst_element_factory_add_static_pad_template),
16404         (gst_element_factory_get_static_pad_templates),
16405         (gst_element_factory_can_src_caps),
16406         (gst_element_factory_can_sink_caps):
16407         * gst/registries/Makefile.am:
16408         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16409         (gst_xml_registry_class_init), (gst_xml_registry_init),
16410         (gst_xml_registry_new), (gst_xml_registry_set_property),
16411         (gst_xml_registry_get_property), (get_time), (make_dir),
16412         (gst_xml_registry_get_perms_func),
16413         (plugin_times_older_than_recurse), (plugin_times_older_than),
16414         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16415         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16416         (add_to_char_array), (read_string), (read_uint), (read_enum),
16417         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16418         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16419         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16420         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16421         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16422         (gst_xml_registry_rebuild):
16423         * gst/registries/gstlibxmlregistry.h:
16424         * tools/gst-compprep.c: (main):
16425         * tools/gst-inspect.c: (print_pad_templates_info):
16426         * tools/gst-xmlinspect.c: (print_element_info):
16427           Use libxml2 for registry parsing, use staticpadtemplates in
16428           elementfactories. Makes gst_init() +/- 10x faster.
16429
16430 2005-04-12  Wim Taymans  <wim@fluendo.com>
16431
16432         * gst/base/Makefile.am:
16433         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16434         (gst_basesink_pad_getcaps), (gst_basesink_init),
16435         (gst_basesink_event), (gst_basesink_change_state):
16436         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16437         (gst_basesrc_init), (gst_basesrc_query),
16438         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16439         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16440         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16441         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16442         (gst_basesrc_stop), (gst_basesrc_activate),
16443         (gst_basesrc_change_state):
16444         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16445         (helper_find_suggest), (gst_type_find_helper):
16446         * gst/base/gsttypefindhelper.h:
16447         * gst/elements/Makefile.am:
16448         * gst/elements/gstelements.c:
16449         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16450         (gst_fakesink_get_times), (gst_fakesink_event),
16451         (gst_fakesink_preroll), (gst_fakesink_render):
16452         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16453         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16454         (gst_fakesrc_get_property), (gst_fakesrc_create),
16455         (gst_fakesrc_start), (gst_fakesrc_stop):
16456         * gst/elements/gstfakesrc.h:
16457         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16458         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16459         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16460         (gst_filesrc_create_read), (gst_filesrc_create),
16461         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16462         (gst_filesrc_start):
16463         * gst/elements/gsttypefindelement.c:
16464         (gst_type_find_element_have_type), (gst_type_find_element_init),
16465         (start_typefinding), (stop_typefinding), (push_buffer_store),
16466         (gst_type_find_element_handle_event),
16467         (gst_type_find_element_chain),
16468         (gst_type_find_element_checkgetrange),
16469         (gst_type_find_element_getrange), (do_typefind),
16470         (gst_type_find_element_activate),
16471         (gst_type_find_element_change_state):
16472         * gst/elements/gsttypefindelement.h:
16473         * gst/gstpipeline.c: (pipeline_bus_handler):
16474         Added typefind helper.
16475         Small preroll fix in the base sink.
16476         Disable typefind code in basesrc.
16477         Crude port of typefindelement.
16478         Fakesrc cleanups.
16479
16480
16481 2005-04-11  Wim Taymans  <wim@fluendo.com>
16482
16483         * check/gst/gstbus.c: (gstbus_suite):
16484         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16485         * check/gstcheck.h:
16486           Fix up the timeout so that the test does not fail.
16487
16488 2005-04-06  Wim Taymans  <wim@fluendo.com>
16489
16490         * gst/base/README:
16491         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16492         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16493         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16494         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16495         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16496         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16497         (gst_basesrc_stop), (gst_basesrc_activate),
16498         (gst_basesrc_change_state), (basesrc_find_peek),
16499         (basesrc_find_suggest), (gst_basesrc_type_find):
16500         * gst/base/gstbasesrc.h:
16501         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16502         (gst_filesrc_class_init), (gst_filesrc_init),
16503         (gst_filesrc_finalize), (gst_filesrc_set_location),
16504         (gst_filesrc_set_property), (gst_filesrc_get_property),
16505         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16506         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16507         (gst_filesrc_create_read), (gst_filesrc_create),
16508         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16509         * gst/elements/gstfilesrc.h:
16510         * gst/gstelement.c: (gst_element_get_state_func),
16511         (gst_element_lost_state), (gst_element_pads_activate):
16512         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16513         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16514         (gst_pad_pull_range):
16515         * gst/gstpad.h:
16516         More work on the generic source base class, implement seeking,
16517         query.
16518         Make filesrc extend the base source class.
16519         Added gst_pad_set_checkgetrange_function to GstPad.
16520
16521 2005-04-06  Andy Wingo  <wingo@pobox.com>
16522
16523         * pkgconfig/gstreamer-base.pc.in:
16524         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16525
16526         * pkgconfig/Makefile.am:
16527         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16528
16529 2005-04-04  Wim Taymans  <wim@fluendo.com>
16530
16531         * gst/base/Makefile.am:
16532         * gst/base/README:
16533         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16534         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16535         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16536         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16537         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16538         (gst_basesrc_base_init), (gst_basesrc_class_init),
16539         (gst_basesrc_init), (gst_basesrc_get_formats),
16540         (gst_basesrc_get_query_types), (gst_basesrc_query),
16541         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16542         (gst_basesrc_set_property), (gst_basesrc_get_property),
16543         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16544         (gst_basesrc_loop), (gst_basesrc_activate),
16545         (gst_basesrc_change_state):
16546         * gst/base/gstbasesrc.h:
16547         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16548         (gst_fakesrc_class_init), (gst_fakesrc_init),
16549         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16550         (gst_fakesrc_get_property), (gst_fakesrc_create):
16551         * gst/elements/gstfakesrc.h:
16552         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16553         (gst_filesrc_open_file), (gst_filesrc_loop),
16554         (gst_filesrc_activate), (filesrc_find_peek),
16555         (gst_filesrc_type_find):
16556         Made base source class, make fakesrc extend it.
16557         Add comments to basesink class.
16558         Some filesrc cleanup.
16559
16560 2005-03-31  David Schleef  <ds@schleef.org>
16561
16562         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16563         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16564         expected to link against libgstreamer.
16565         * gst/base/Makefile.am: link against libgstreamer
16566         * gst/elements/Makefile.am: same
16567
16568 2005-03-31  Andy Wingo  <wingo@pobox.com>
16569
16570         * tests/instantiate/Makefile.am:
16571         * tests/instantiate/caps.c: Add test to test speed of caps copy
16572         and free.
16573
16574         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16575         GMemChunk to be fair.
16576
16577         * gst/gsttrashstack.h: Remove warning about using the fallback
16578         trash stack implementation, it's still faster than malloc.
16579
16580 2005-03-30  Andy Wingo  <wingo@pobox.com>
16581
16582         * tests/complexity.c: Add a copyright.
16583
16584 2005-03-31  Wim Taymans  <wim@fluendo.com>
16585
16586         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16587         (gst_base_transform_class_init), (gst_base_transform_init),
16588         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16589         (gst_base_transform_get_property),
16590         (gst_base_transform_sink_activate),
16591         (gst_base_transform_src_activate),
16592         (gst_base_transform_change_state):
16593         * gst/base/gstbasetransform.h:
16594         * gst/elements/gstidentity.c: (gst_identity_class_init),
16595         (gst_identity_event), (gst_identity_check_perfect),
16596         (gst_identity_transform), (gst_identity_start),
16597         (gst_identity_stop):
16598         Added start/stop methods to transform base class so subclasses 
16599         don't need to deal with state changes even.
16600
16601 2005-03-31  Wim Taymans  <wim@fluendo.com>
16602
16603         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16604         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16605         * gst/gstevent.h:
16606         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16607         (gst_pad_pull_range):
16608         Added rate to the discont event to prepare for variable speed
16609         and reverse playback.
16610
16611 2005-03-29  David Schleef  <ds@schleef.org>
16612
16613         * configure.ac:
16614         * testsuite/trigger/Makefile.am:
16615         * testsuite/trigger/trigger.c: A little example program to show
16616         how trigger-based elements can work.
16617
16618 2005-03-29  Wim Taymans  <wim@fluendo.com>
16619
16620         * gst/base/Makefile.am:
16621         * gst/base/README:
16622         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16623         (gst_basesink_base_init), (gst_basesink_class_init),
16624         (gst_basesink_pad_getcaps), (gst_basesink_init),
16625         (gst_basesink_activate), (gst_basesink_change_state):
16626         * gst/base/gstbasesink.h:
16627         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16628         (gst_base_transform_base_init), (gst_base_transform_finalize),
16629         (gst_base_transform_class_init), (gst_base_transform_init),
16630         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16631         (gst_base_transform_event), (gst_base_transform_getrange),
16632         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16633         (gst_base_transform_set_property),
16634         (gst_base_transform_get_property),
16635         (gst_base_transform_sink_activate),
16636         (gst_base_transform_src_activate),
16637         (gst_base_transform_change_state):
16638         * gst/base/gstbasetransform.h:
16639         * gst/elements/gstidentity.c: (gst_identity_finalize),
16640         (gst_identity_class_init), (gst_identity_init),
16641         (gst_identity_event), (gst_identity_check_perfect),
16642         (gst_identity_transform), (gst_identity_set_property),
16643         (gst_identity_get_property), (gst_identity_change_state):
16644         * gst/elements/gstidentity.h:
16645         * gst/gstelement.c: (gst_element_get_state_func),
16646         (gst_element_lost_state), (gst_element_pads_activate):
16647         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16648         (gst_pad_check_pull_range), (gst_pad_pull_range):
16649         * gst/gstpad.h:
16650         Simplify pad activation.
16651         Added function to check if pull_range can be performed.
16652         Error out when pulling inactive or flushing pads.
16653         Removed const from refcounted types as it does not make sense.
16654         Simplify pad templates in basesink
16655         Added base class for simple 1-to-1 transforms.
16656         Make identity subclass the base transform.
16657
16658 2005-03-29  Andy Wingo  <wingo@pobox.com>
16659
16660         * docs/libs/gstreamer-libs-overrides.txt: 
16661         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16662         really don't understand what's going on, but like whatever. I want
16663         green buildbot!
16664
16665         * docs/gst/Makefile.am:
16666         * docs/libs/Makefile.am: Dist the overrides files.
16667
16668         * check/Makefile.am (clean-local): Remove .libs directories.
16669
16670         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16671         elements to EXTRA_DIST, so po/ files are happy.
16672
16673         * po/POTFILES.in: Er, remove it here.
16674
16675         * po/POTFILES: Remove gstspider.c.
16676
16677         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16678
16679         * docs/libs/gstreamer-libs-docs.sgml: 
16680         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16681         bytestream.
16682
16683         * tests/complexity.c (main): Set the length of the preroll queue
16684         on the sinks to prevent a lockup.
16685
16686         * libs/gst/dataprotocol/Makefile.am: 
16687         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16688         the same as the one in check/gst-libs/gdp.c.
16689
16690         * po/, docs/gst/: Commit automatic changes to docs and po files.
16691
16692         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16693         the versioned libgstbase.
16694
16695         * check/Makefile.am: Depend on an unversioned gst-register, seems
16696         to make autoconf happier.
16697
16698         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16699
16700 2005-03-28  Wim Taymans  <wim@fluendo.com>
16701
16702         * configure.ac:
16703         * docs/design/part-gstelement.txt:
16704         * docs/design/part-negotiation.txt:
16705         * docs/design/part-preroll.txt:
16706         * docs/design/part-scheduling.txt:
16707         * docs/design/part-states.txt:
16708         * gst/Makefile.am:
16709         * gst/base/Makefile.am:
16710         * gst/base/README:
16711         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16712         (gst_basesink_base_init), (gst_basesink_class_init),
16713         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16714         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16715         (gst_basesink_set_pad_functions),
16716         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16717         (gst_basesink_set_property), (gst_basesink_get_property),
16718         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16719         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16720         (gst_basesink_preroll_queue_push),
16721         (gst_basesink_preroll_queue_empty),
16722         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16723         (gst_basesink_event), (gst_basesink_get_times),
16724         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16725         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16726         (gst_basesink_loop), (gst_basesink_activate),
16727         (gst_basesink_change_state):
16728         * gst/base/gstbasesink.h:
16729         * gst/elements/Makefile.am:
16730         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16731         (gst_fakesink_class_init), (gst_fakesink_init),
16732         (gst_fakesink_set_property), (gst_fakesink_get_property),
16733         (gst_fakesink_get_times), (gst_fakesink_event),
16734         (gst_fakesink_preroll), (gst_fakesink_render),
16735         (gst_fakesink_change_state):
16736         * gst/elements/gstfakesink.h:
16737         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16738         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16739         * gst/gstelement.c: (gst_element_add_pad),
16740         (gst_element_get_state_func), (gst_element_abort_state),
16741         (gst_element_commit_state), (gst_element_lost_state),
16742         (gst_element_set_state), (gst_element_pads_activate):
16743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16744         * gst/gstpipeline.c: (gst_pipeline_send_event),
16745         (gst_pipeline_change_state):
16746         Added state change code.
16747         Added/updated docs.
16748         Added sink base class, make fakesink extend the base class.
16749         Small cleanups in GstPipeline.
16750
16751 2005-03-26  David Schleef  <ds@schleef.org>
16752
16753         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16754         is broken and should be implemented in a different library.
16755         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16756         * gst/gst.h: remove gstcpu.h
16757         * gst/gstcpu.c: remove
16758         * gst/gstcpu.h: remove
16759         * gst/Makefile.am.future: Remove this file.  It's ancient.
16760
16761 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16762
16763         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16764         (gst_bin_send_event):
16765           Add default event/set_manager handlers. The set_manager handler
16766           takes care that the manager is distributed over kids that were
16767           already in the bin before the manager was set. The event handler
16768           is a utility virtual function that sends the event over all sinks,
16769           so that gst_element_send_event (bin, event); has the expected
16770           behaviour.
16771         * gst/gstpad.c: (gst_pad_event_default):
16772           Re-install default event handling for discontinuities, so that
16773           seeking works without requiring hacks in applications or extra
16774           code in sinks.
16775         * gst/gstpipeline.c: (gst_pipeline_class_init),
16776         (gst_pipeline_send_event):
16777           Half hack, half utility: set a pipeline to PAUSED for seek events,
16778           since that is the only way we can guarantee a/v sync. Means that
16779           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16780           and it "just works".
16781
16782 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16783
16784         * gst/gstpipeline.c: (gst_pipeline_use_clock):
16785           Lock/unlock mismatch.
16786
16787 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16788
16789         * docs/faq/gst-uninstalled:
16790           add gst-plugins-base
16791         * docs/gst/Makefile.am:
16792           don't error out until docs are fixed
16793         * docs/gst/gstreamer.types:
16794           remove thread
16795
16796 2005-03-22  Wim Taymans  <wim@fluendo.com>
16797
16798         * check/Makefile.am:
16799         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16800         * gst/gststructure.c: (gst_structure_set_valist),
16801         (gst_structure_copy_conditional):
16802         Activated more tests.
16803         Added message test.
16804         Added G_TYPE_POINTER to GstStructure.
16805         
16806
16807 2005-03-22  Wim Taymans  <wim@fluendo.com>
16808
16809         * docs/design/part-TODO.txt:
16810         * docs/design/part-events.txt:
16811         * docs/design/part-gstbin.txt:
16812         * docs/design/part-gstbus.txt:
16813         * docs/design/part-gstpipeline.txt:
16814         * docs/design/part-messages.txt:
16815         * gst/gstbus.c:
16816         * gst/gstmessage.c:
16817         Docs updates
16818
16819 2005-03-21  Wim Taymans  <wim@fluendo.com>
16820
16821         * gst/gstbus.c: (gst_bus_post):
16822         Fix copy-and-paste error.
16823
16824 2005-03-21  Wim Taymans  <wim@fluendo.com>
16825
16826         * check/Makefile.am:
16827         * gst/Makefile.am:
16828         * gst/elements/Makefile.am:
16829         * gst/elements/gstelements.c:
16830         * gst/elements/gstfakesink.c: (gst_fakesink_init),
16831         (gst_fakesink_event), (gst_fakesink_chain):
16832         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16833         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16834         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16835         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16836         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16837         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16838         (gst_fakesrc_loop), (gst_fakesrc_activate),
16839         (gst_fakesrc_change_state):
16840         * gst/elements/gstfakesrc.h:
16841         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
16842         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
16843         (gst_filesrc_open_file), (gst_filesrc_loop),
16844         (gst_filesrc_activate), (gst_filesrc_change_state),
16845         (filesrc_find_peek), (filesrc_find_suggest),
16846         (gst_filesrc_type_find):
16847         * gst/elements/gstidentity.c: (gst_identity_finalize),
16848         (gst_identity_class_init), (gst_identity_init),
16849         (gst_identity_proxy_getcaps), (identity_queue_push),
16850         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
16851         (gst_identity_getrange), (gst_identity_chain),
16852         (gst_identity_sink_loop), (gst_identity_src_loop),
16853         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
16854         (gst_identity_set_property), (gst_identity_get_property),
16855         (gst_identity_change_state):
16856         * gst/elements/gstidentity.h:
16857         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
16858         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
16859         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
16860         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
16861         (gst_tee_sink_activate):
16862         * gst/elements/gsttee.h:
16863         * gst/gst.c: (gst_register_core_elements), (init_post):
16864         * gst/gst.h:
16865         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
16866         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
16867         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
16868         (gst_bin_change_state):
16869         * gst/gstbin.h:
16870         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
16871         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
16872         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
16873         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
16874         (gst_bus_set_sync_handler), (gst_bus_create_watch),
16875         (bus_watch_callback), (bus_watch_destroy),
16876         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
16877         (poll_timeout), (gst_bus_poll):
16878         * gst/gstbus.h:
16879         * gst/gstcaps.h:
16880         * gst/gstdata.h:
16881         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16882         (gst_element_post_message), (gst_element_message_full),
16883         (gst_element_get_state_func), (gst_element_get_state),
16884         (gst_element_abort_state), (gst_element_commit_state),
16885         (gst_element_lost_state), (gst_element_set_state),
16886         (gst_element_pads_activate), (gst_element_change_state),
16887         (gst_element_dispose), (gst_element_set_manager_func),
16888         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16889         (gst_element_set_manager), (gst_element_get_manager),
16890         (gst_element_set_bus), (gst_element_get_bus),
16891         (gst_element_set_scheduler), (gst_element_get_scheduler):
16892         * gst/gstelement.h:
16893         * gst/gstevent.c: (gst_event_new_segment_seek),
16894         (gst_event_new_flush):
16895         * gst/gstevent.h:
16896         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16897         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16898         (gst_message_new_eos), (gst_message_new_error),
16899         (gst_message_new_warning), (gst_message_new_tag),
16900         (gst_message_new_state_changed), (gst_message_new_application),
16901         (gst_message_get_structure), (gst_message_parse_tag),
16902         (gst_message_parse_state_changed), (gst_message_parse_error),
16903         (gst_message_parse_warning):
16904         * gst/gstmessage.h:
16905         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16906         (gst_real_pad_set_property), (gst_pad_set_active),
16907         (gst_pad_is_active), (gst_pad_set_blocked_async),
16908         (gst_pad_set_blocked), (gst_pad_is_blocked),
16909         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16910         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16911         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16912         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16913         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16914         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16915         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16916         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16917         (gst_pad_set_caps), (gst_pad_configure_sink),
16918         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16919         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16920         (gst_real_pad_dispose), (gst_real_pad_finalize),
16921         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16922         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16923         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16924         * gst/gstpad.h:
16925         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16926         (pipeline_bus_handler), (gst_pipeline_change_state),
16927         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16928         * gst/gstpipeline.h:
16929         * gst/gstprobe.h:
16930         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16931         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16932         (gst_queue_link_src), (gst_queue_bufferalloc),
16933         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16934         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16935         (gst_queue_loop), (gst_queue_handle_src_event),
16936         (gst_queue_handle_src_query), (gst_queue_src_activate),
16937         (gst_queue_change_state):
16938         * gst/gstqueue.h:
16939         * gst/gstscheduler.c: (gst_scheduler_init),
16940         (gst_scheduler_dispose), (gst_scheduler_create_task),
16941         (gst_scheduler_factory_create):
16942         * gst/gstscheduler.h:
16943         * gst/gststructure.c: (gst_structure_get_type),
16944         (gst_structure_copy_conditional):
16945         * gst/gststructure.h:
16946         * gst/gsttaginterface.h:
16947         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16948         (gst_task_init), (gst_task_dispose), (gst_task_create),
16949         (gst_task_get_state), (gst_task_start), (gst_task_stop),
16950         (gst_task_pause):
16951         * gst/gsttask.h:
16952         * gst/gstthread.c:
16953         * gst/gstthread.h:
16954         * gst/gsttypes.h:
16955         * gst/schedulers/Makefile.am:
16956         * gst/schedulers/cothreads_compat.h:
16957         * gst/schedulers/entryscheduler.c:
16958         * gst/schedulers/faircothreads.c:
16959         * gst/schedulers/faircothreads.h:
16960         * gst/schedulers/fairscheduler.c:
16961         * gst/schedulers/gstbasicscheduler.c:
16962         * gst/schedulers/gstoptimalscheduler.c:
16963         * gst/schedulers/gthread-cothreads.h:
16964         * gst/schedulers/threadscheduler.c:
16965         (gst_thread_scheduler_task_get_type),
16966         (gst_thread_scheduler_task_class_init),
16967         (gst_thread_scheduler_task_init),
16968         (gst_thread_scheduler_task_start),
16969         (gst_thread_scheduler_task_stop),
16970         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
16971         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16972         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
16973         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
16974         (plugin_init):
16975         * libs/gst/Makefile.am:
16976         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
16977         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
16978         (gst_file_pad_parent_set):
16979         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16980         (gst_dp_event_from_packet):
16981         * tests/complexity.c: (main):
16982         * tests/mass_elements.c: (main):
16983         * testsuite/states/locked.c: (message_received), (main):
16984         * testsuite/states/parent.c: (main):
16985         * tools/gst-inspect.c: (print_element_flag_info),
16986         (print_implementation_info), (print_pad_info):
16987         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
16988         (main):
16989         * tools/gst-md5sum.c: (event_loop), (main):
16990         * tools/gst-typefind.c: (main):
16991         * tools/gst-xmlinspect.c: (print_element_info):
16992         Next big merge.
16993         Added GstBus for mainloop integration.
16994         Added GstMessage for sending notifications on the bus.
16995         Added GstTask as an abstraction for pipeline entry points.
16996         Removed GstThread.
16997         Removed Schedulers.
16998         Simplified GstQueue for multithreaded core.
16999         Made _link threadsafe, removed old capsnego.
17000         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17001         Added pad blocking functions.
17002         Reworked scheduling functions in GstPad to prepare for
17003         scheduling updates soon.
17004         Moved events out of data stream.
17005         Simplified GstEvent types.
17006         Added return values to push/pull.
17007         Removed clocking from GstElement.
17008         Added prototypes for state change function for next merge.
17009         Removed iterate from bins and state change management.
17010         Fixed some elements, disabled others for now.
17011         Fixed -inspect and -launch.
17012         Added check for GstBus.
17013
17014 2005-03-10  Wim Taymans  <wim@fluendo.com>
17015
17016         * docs/design/part-MT-refcounting.txt:
17017         * docs/design/part-clocks.txt:
17018         * docs/design/part-gstelement.txt:
17019         * docs/design/part-gstobject.txt:
17020         * docs/design/part-standards.txt:
17021         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17022         (gst_bin_remove_func), (gst_bin_remove):
17023         * gst/gstbin.h:
17024         * gst/gstbuffer.c:
17025         * gst/gstcaps.h:
17026         * testsuite/clock/clock1.c: (main):
17027         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17028         (main):
17029         * testsuite/dlopen/loadgst.c: (do_test):
17030         * testsuite/refcounting/bin.c: (add_remove_test1),
17031         (add_remove_test2), (main):
17032         * testsuite/refcounting/element.c: (main):
17033         * testsuite/refcounting/element_pad.c: (main):
17034         * testsuite/refcounting/pad.c: (main):
17035         * tools/gst-launch.c: (sigint_handler_sighandler):
17036         * tools/gst-typefind.c: (main):
17037         Doc updates.
17038         Added doc about clock.
17039         removed gst_bin_iterate_recurse_up(), marked methods
17040         for removal.
17041         Fix more testsuites.
17042
17043 2005-03-09  Wim Taymans  <wim@fluendo.com>
17044
17045         * gst/gstpad.c: (gst_pad_get_direction),
17046         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17047         (gst_pad_collect_valist):
17048         * testsuite/bins/interface.c: (main):
17049         * testsuite/caps/audioscale.c: (test_caps):
17050         * testsuite/caps/caps.c: (test1), (test2), (test3):
17051         * testsuite/caps/deserialize.c: (main):
17052         * testsuite/caps/enumcaps.c: (main):
17053         * testsuite/caps/filtercaps.c: (main):
17054         * testsuite/caps/intersect2.c: (main):
17055         * testsuite/caps/random.c: (main):
17056         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17057         * testsuite/caps/sets.c: (check_caps):
17058         * testsuite/caps/simplify.c: (check_caps), (main):
17059         * testsuite/caps/subtract.c: (check_caps):
17060         Fix _pad_get_direction wrt ghostpads.
17061         Fix caps testsuite.
17062
17063 2005-03-09  Wim Taymans  <wim@fluendo.com>
17064
17065         * check/Makefile.am:
17066         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17067         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17068         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17069         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17070         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17071         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17072         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17073         (bin_element_is_sink), (gst_bin_iterate_sinks),
17074         (gst_bin_iterate_all_by_interface):
17075         * gst/gstbin.h:
17076         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17077         (gst_element_change_state), (gst_element_dispose),
17078         (gst_element_finalize), (gst_element_set_loop_function):
17079         * gst/gstelement.h:
17080         * gst/gstiterator.c: (find_custom_fold_func):
17081         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17082         (gst_pad_collectv), (gst_pad_collect_valist),
17083         (gst_pad_template_new):
17084         * gst/gstpipeline.c: (gst_pipeline_class_init),
17085         (gst_pipeline_dispose), (gst_pipeline_set_property),
17086         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17087         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17088         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17089         * gst/gstutils.h:
17090         * gst/schedulers/entryscheduler.c:
17091         * gst/schedulers/gstbasicscheduler.c:
17092         (gst_basic_scheduler_cothreaded_chain),
17093         (gst_basic_scheduler_chain_add_element):
17094         * testsuite/bins/interface.c: (main):
17095         Added GstBin test.
17096         Added GstSystemClock test.
17097         Implemented clock distribution code in GstBin.
17098         Implemented iterate sinks method for future use.
17099         Rearranged gstelement.h
17100         Fix GstIterator comparison bug.
17101         Moved some code to GstPipeline, mostly clocking related.
17102
17103 2005-03-09  Wim Taymans  <wim@fluendo.com>
17104
17105         * configure.ac:
17106         * gst/gst_private.h:
17107         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17108         (gst_bin_remove_func), (gst_bin_remove),
17109         (gst_bin_get_by_name_recurse_up):
17110         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17111         (gst_clock_id_compare_func), (gst_clock_id_wait),
17112         (gst_clock_id_wait_async), (gst_clock_init),
17113         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17114         * gst/gstelement.h:
17115         * gst/gstinfo.c: (_gst_debug_init):
17116         * gst/gstobject.h:
17117         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17118         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17119         * gst/gstpad.h:
17120         Bump version number, we're now 0.9.0
17121         Add future debugging category.
17122         Fix NULL _unref() in _get_by_name_recurse_up
17123         Rearrange gstpad.h.
17124         Update some docs.
17125
17126 2005-03-08  Wim Taymans  <wim@fluendo.com>
17127
17128         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17129         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17130         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17131         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17132         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17133         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17134         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17135         * gst/elements/gstidentity.c: (gst_identity_class_init):
17136         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17137         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17138         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17139         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17140         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17141         (gst_tee_link):
17142         * gst/gstelement.c: (gst_element_class_init),
17143         (gst_element_base_class_init), (gst_element_init),
17144         (gst_element_get_random_pad), (gst_element_wait_state_change),
17145         (gst_element_change_state), (gst_element_dispose),
17146         (gst_element_finalize), (gst_element_set_loop_function):
17147         * gst/gstelement.h:
17148         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17149         * gst/gstthread.c: (gst_thread_class_init),
17150         (gst_thread_release_children_locks), (gst_thread_change_state):
17151         * gst/schedulers/gstbasicscheduler.c:
17152         (gst_basic_scheduler_loopfunc_wrapper),
17153         (gst_basic_scheduler_chain_wrapper),
17154         (gst_basic_scheduler_src_wrapper),
17155         (gst_basic_scheduler_remove_element):
17156         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17157         Remove threadsafe properties. Fix elements because GObject
17158         complains when installing a property before declaring a
17159         set/get_property handler.
17160         Rearrange gstelement.h file, use STATE macros for state locks.
17161         Free mutexes in the finalize method instead of dispose.
17162
17163 2005-03-08  Wim Taymans  <wim@fluendo.com>
17164
17165         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17166         * gst/gstthread.c: (gst_thread_release_children_locks):
17167         Added parentage check.
17168         Fix build og GstThread again.
17169
17170 2005-03-08  Wim Taymans  <wim@fluendo.com>
17171
17172         * docs/design/part-MT-refcounting.txt:
17173         * docs/design/part-conventions.txt:
17174         * docs/design/part-gstobject.txt:
17175         * docs/design/part-relations.txt:
17176         * docs/design/part-standards.txt:
17177         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17178         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17179         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17180         (gst_bin_iterate_all_by_interface):
17181         * gst/gstbuffer.h:
17182         * gst/gstclock.h:
17183         * gst/gstelement.c: (gst_element_class_init),
17184         (gst_element_change_state), (gst_element_set_loop_function):
17185         * gst/gstelement.h:
17186         * gst/gstiterator.c:
17187         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17188         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17189         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17190         (gst_object_set_parent), (gst_object_unparent),
17191         (gst_object_check_uniqueness):
17192         * gst/gstobject.h:
17193         Docs updates, clean up some headers.
17194
17195 2005-03-07  Wim Taymans  <wim@fluendo.com>
17196
17197         * check/.cvsignore:
17198         * check/Makefile.am:
17199         * check/gst-libs/.cvsignore:
17200         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17201         * check/gst/.cvsignore:
17202         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17203         (START_TEST), (gstbus_suite), (main):
17204         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17205         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17206         (gst_data_suite), (main):
17207         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17208         (add_fold_func), (gstiterator_suite), (main):
17209         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17210         (thread_name_object), (thread_name_object_default),
17211         (gst_object_name_compare), (gst_object_suite), (main):
17212         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17213         (gst_pad_suite), (main):
17214         * check/gstcheck.c: (gst_check_log_message_func),
17215         (gst_check_log_critical_func), (gst_check_init):
17216         * check/gstcheck.h:
17217         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17218         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17219         Added checks.
17220
17221 2005-03-07  Wim Taymans  <wim@fluendo.com>
17222
17223         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17224         (gst_list_iterator_next), (gst_list_iterator_resync),
17225         (gst_list_iterator_free), (gst_iterator_new_list),
17226         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17227         (gst_iterator_free), (gst_iterator_push), (filter_next),
17228         (filter_resync), (filter_uninit), (filter_free),
17229         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17230         (gst_iterator_foreach), (find_custom_fold_func),
17231         (gst_iterator_find_custom):
17232         * gst/gstiterator.h:
17233         Added missing files.
17234
17235 2005-03-07  Wim Taymans  <wim@fluendo.com>
17236
17237         * Makefile.am:
17238         * configure.ac:
17239         * docs/design/part-MT-refcounting.txt:
17240         * docs/design/part-conventions.txt:
17241         * docs/design/part-gstobject.txt:
17242         * docs/design/part-relations.txt:
17243         * examples/mixer/mixer.c: (main):
17244         * examples/thread/thread.c: (eos), (main):
17245         * gst/Makefile.am:
17246         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17247         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17248         (gst_spider_plug_from_srcpad):
17249         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17250         (gst_spider_identity_change_state),
17251         (gst_spider_identity_sink_loop_type_finding):
17252         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17253         * gst/elements/gstidentity.c: (gst_identity_init):
17254         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17255         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17256         * gst/elements/gsttypefindelement.c: (free_entry):
17257         * gst/gst.c:
17258         * gst/gst.h:
17259         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17260         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17261         (gst_bin_set_index), (gst_bin_set_element_sched),
17262         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17263         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17264         (gst_bin_iterate_elements), (iterate_child_recurse),
17265         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17266         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17267         (compare_interface), (gst_bin_get_by_interface),
17268         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17269         * gst/gstbin.h:
17270         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17271         (gst_buffer_default_free), (gst_buffer_default_copy),
17272         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17273         (gst_buffer_create_sub):
17274         * gst/gstbuffer.h:
17275         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17276         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17277         (gst_caps_unref), (gst_static_caps_get),
17278         (gst_caps_remove_and_get_structure), (gst_caps_append),
17279         (gst_caps_append_structure), (gst_caps_remove_structure),
17280         (gst_caps_copy_nth), (gst_caps_set_simple),
17281         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17282         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17283         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17284         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17285         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17286         (gst_caps_structure_figure_out_union),
17287         (gst_caps_switch_structures), (gst_caps_do_simplify),
17288         (gst_caps_replace), (gst_caps_from_string),
17289         (gst_caps_copy_conditional):
17290         * gst/gstcaps.h:
17291         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17292         (_gst_clock_id_free), (gst_clock_id_unref),
17293         (gst_clock_id_compare_func), (gst_clock_id_wait),
17294         (gst_clock_id_wait_async), (gst_clock_class_init),
17295         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17296         (gst_clock_get_time), (gst_clock_set_time_adjust),
17297         (gst_clock_set_property), (gst_clock_get_property):
17298         * gst/gstclock.h:
17299         * gst/gstcompat.h:
17300         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17301         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17302         * gst/gstdata.h:
17303         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17304         (gst_element_requires_clock), (gst_element_provides_clock),
17305         (gst_element_set_clock), (gst_element_clock_wait),
17306         (gst_element_wait), (gst_element_set_time_delay),
17307         (gst_element_is_indexable), (gst_element_add_pad),
17308         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17309         (pad_compare_name), (gst_element_get_static_pad),
17310         (gst_element_request_pad), (gst_element_get_request_pad),
17311         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17312         (gst_element_class_get_pad_template_list),
17313         (gst_element_class_get_pad_template), (gst_element_error_func),
17314         (gst_element_get_random_pad), (gst_element_get_event_masks),
17315         (gst_element_send_event), (gst_element_seek),
17316         (gst_element_get_query_types), (gst_element_query),
17317         (gst_element_get_formats), (gst_element_convert),
17318         (gst_element_is_locked_state), (gst_element_set_locked_state),
17319         (gst_element_sync_state_with_parent), (gst_element_change_state),
17320         (gst_element_finalize), (gst_element_yield),
17321         (gst_element_interrupt), (gst_element_set_scheduler),
17322         (gst_element_get_scheduler), (gst_element_set_loop_function):
17323         * gst/gstelement.h:
17324         * gst/gstevent.h:
17325         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17326         (gst_format_get_by_nick), (gst_format_get_details),
17327         (gst_format_iterate_definitions):
17328         * gst/gstformat.h:
17329         * gst/gstindex.c: (gst_index_gtype_resolver):
17330         * gst/gstinfo.c:
17331         * gst/gstinfo.h:
17332         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17333         (gst_mem_chunk_free):
17334         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17335         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17336         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17337         (gst_object_dispatch_properties_changed),
17338         (gst_object_set_name_default), (gst_object_set_name),
17339         (gst_object_get_name), (gst_object_set_name_prefix),
17340         (gst_object_get_name_prefix), (gst_object_set_parent),
17341         (gst_object_get_parent), (gst_object_unparent),
17342         (gst_object_check_uniqueness), (gst_object_save_thyself),
17343         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17344         (gst_object_set_property), (gst_object_get_property),
17345         (gst_object_get_path_string):
17346         * gst/gstobject.h:
17347         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17348         (gst_real_pad_init), (gst_real_pad_get_property),
17349         (gst_pad_custom_new), (gst_pad_get_direction),
17350         (gst_pad_set_active), (gst_pad_is_active),
17351         (gst_pad_set_event_function), (gst_pad_is_linked),
17352         (gst_pad_link_free), (gst_pad_link_intersect),
17353         (gst_pad_link_fixate), (gst_pad_set_caps),
17354         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17355         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17356         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17357         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17358         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17359         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17360         (gst_pad_realize), (gst_pad_get_allowed_caps),
17361         (gst_real_pad_dispose), (gst_real_pad_finalize),
17362         (gst_pad_collectv), (gst_pad_collect_valist),
17363         (gst_pad_template_dispose), (gst_pad_template_new),
17364         (gst_pad_get_internal_links):
17365         * gst/gstpad.h:
17366         * gst/gstpipeline.c: (gst_pipeline_dispose),
17367         (gst_pipeline_change_state):
17368         * gst/gstpipeline.h:
17369         * gst/gstplugin.c:
17370         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17371         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17372         * gst/gstpluginfeature.h:
17373         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17374         * gst/gstquery.c: (_gst_query_type_initialize),
17375         (gst_query_type_register), (gst_query_type_get_by_nick),
17376         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17377         * gst/gstquery.h:
17378         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17379         * gst/gstscheduler.c: (gst_scheduler_add_element),
17380         (gst_scheduler_factory_create):
17381         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17382         (gst_structure_free), (gst_structure_set_name),
17383         (gst_structure_id_set_value), (gst_structure_set_value),
17384         (gst_structure_set_valist), (gst_structure_remove_field),
17385         (gst_structure_remove_fields),
17386         (gst_structure_remove_fields_valist),
17387         (gst_structure_remove_all_fields), (gst_structure_foreach),
17388         (gst_structure_map_in_place),
17389         (gst_caps_structure_fixate_field_nearest_int),
17390         (gst_caps_structure_fixate_field_nearest_double):
17391         * gst/gststructure.h:
17392         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17393         (gst_system_clock_init), (gst_system_clock_dispose),
17394         (gst_system_clock_async_thread),
17395         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17396         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17397         * gst/gstsystemclock.h:
17398         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17399         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17400         * gst/gsttaginterface.c:
17401         * gst/gstthread.c: (gst_thread_dispose),
17402         (gst_thread_release_children_locks), (gst_thread_change_state),
17403         (gst_thread_main_loop):
17404         * gst/gsttrashstack.h:
17405         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17406         * gst/gsttypes.h:
17407         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17408         (gst_element_request_pad), (gst_element_get_pad_from_template),
17409         (gst_element_request_compatible_pad),
17410         (gst_element_get_compatible_pad_filtered),
17411         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17412         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17413         (gst_element_link_many), (gst_element_link),
17414         (gst_element_link_pads), (gst_element_unlink_pads),
17415         (gst_element_unlink_many), (gst_element_unlink),
17416         (gst_pad_can_link_filtered), (gst_pad_can_link),
17417         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17418         (gst_object_default_error), (gst_bin_add_many),
17419         (gst_bin_remove_many), (gst_element_populate_std_props),
17420         (gst_element_class_install_std_props), (gst_buffer_merge),
17421         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17422         (link_fold_func), (gst_pad_proxy_setcaps):
17423         * gst/gstutils.h:
17424         * gst/gstvalue.c: (gst_value_deserialize_string):
17425         * gst/parse/grammar.y:
17426         * gst/schedulers/gstbasicscheduler.c:
17427         (gst_basic_scheduler_cothreaded_chain),
17428         (gst_basic_scheduler_chain_recursive_add),
17429         (gst_basic_scheduler_pad_link):
17430         * gst/schedulers/gstoptimalscheduler.c:
17431         (get_group_schedule_function),
17432         (gst_opt_scheduler_state_transition),
17433         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17434         * libs/gst/bytestream/bytestream.c:
17435         * libs/gst/dataprotocol/dataprotocol.c:
17436         (gst_dp_header_from_buffer):
17437         * po/nb.po:
17438         * po/ru.po:
17439         * tests/threadstate/threadstate2.c: (eos):
17440         * tools/gst-compprep.c: (main):
17441         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17442         (print_pad_info), (print_children_info):
17443         * tools/gst-launch.c: (idle_func), (main):
17444         * tools/gst-md5sum.c: (idle_func), (main):
17445         * tools/gst-xmlinspect.c: (print_element_info):
17446         First THREADED backport attempt, focusing on adding locks and
17447         making sure the API is threadsafe. Needs more work. More docs
17448         follow this week.
17449
17450 2005-02-24  Andy Wingo  <wingo@pobox.com>
17451
17452         * tests/bench-complexity.scm:
17453         * tests/complexity.gnuplot: New files, good for running complexity
17454         benchmarks.
17455
17456         * tests/Makefile.am:
17457         * tests/complexity.c: New test, sets up N elements, at each level
17458         teeing into M streams per element. Eeeenteresting.
17459
17460         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17461         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17462         running bench-mass_elements.scm.
17463
17464         * tests/bench-mass_elements.scm: New script, runs mass_elements
17465         for various numbers of identities, outputting the results to a
17466         file. Requires guile 1.6. Just for testing.
17467
17468 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17469
17470         * gst/schedulers/fairscheduler.c:
17471           compile with debug disabled
17472
17473 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17474
17475         * configure.ac:
17476           hunting season on 0.9 is now OPEN