gst/gstsegment.c: Use G_UNLIKELY to help the compiler a bit.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-12  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstsegment.c: (gst_segment_set_duration),
4         (gst_segment_set_last_stop), (gst_segment_set_seek),
5         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
6         (gst_segment_to_running_time), (gst_segment_clip):
7         Use G_UNLIKELY to help the compiler a bit.
8
9 2006-06-12  Wim Taymans  <wim@fluendo.com>
10
11         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12
13         * gst/gstevent.c: (gst_event_get_type):
14         * gst/gstmessage.c:
15         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
16         (gst_pad_push):
17         constify quark registration strings. Fixes #344115
18         Avoid unneeded type checking is _pad_push() by internally
19         calling gst_pad_chain_unchecked().
20
21 2006-06-12  Wim Taymans  <wim@fluendo.com>
22
23         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
24         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
25         (gst_subbuffer_finalize), (gst_buffer_create_sub),
26         (gst_buffer_is_span_fast), (gst_buffer_span):
27         Init _type for consistency.
28         Use _FLAGS macro to avoid type check.
29         Avoid unneeded type checks in subbufer code.
30
31 2006-06-12  Wim Taymans  <wim@fluendo.com>
32
33         * gst/gst.c: (gst_debug_help):
34         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
35         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
36         (gst_plugin_feature_list_free):
37         * gst/gstregistry.c: (gst_registry_add_plugin),
38         (gst_registry_add_feature), (gst_registry_plugin_filter),
39         (gst_registry_feature_filter), (gst_registry_find_plugin),
40         (gst_registry_find_feature), (gst_registry_get_plugin_list),
41         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
42         * gst/gstregistryxml.c: (load_feature),
43         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
44         * gst/gstminiobject.c: (gst_mini_object_unref),
45         (gst_mini_object_replace), (gst_value_mini_object_free),
46         (gst_value_mini_object_copy):
47         Use _CAST macros to avoid unneeded type checking.
48         Added some more G_UNLIKELY.
49
50 2006-06-12  Wim Taymans  <wim@fluendo.com>
51
52         * gst/gstbuffer.h:
53         Avoid unneeded type checking.
54         API: GST_BUFFER_IS_DISCONT
55
56         * gst/gstminiobject.h:
57         Avoid type check in flag accessor.
58
59         * gst/gstelementfactory.h:
60         * gst/gstplugin.h:
61         * gst/gstpluginfeature.h:
62         Add _CAST macros.
63         API: GST_ELEMENT_FACTORY_CAST
64         API: GST_PLUGIN_CAST
65         API: GST_PLUGIN_FEATURE_CAST
66
67 2006-06-12  Wim Taymans  <wim@fluendo.com>
68
69         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
70         (gst_object_unref):
71         Add G_UNLIKELY in type registration.
72         Avoid type check in _ref/_unref since that is also
73         done in glib.
74
75 2006-06-12  Wim Taymans  <wim@fluendo.com>
76
77         * gst/gsterror.c: (gst_g_error_get_type):
78         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
79         (gst_static_pad_template_get_type):
80         * gst/gsttaglist.c: (gst_tag_list_get_type):
81         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
82         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
83         * gst/gsturi.c: (gst_uri_handler_get_type):
84         * gst/gstvalue.c: (gst_date_get_type):
85         * gst/gstxml.c: (gst_xml_get_type):
86         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
87         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
88         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
89         Add G_UNLIKELY in type registration.
90
91 2006-06-12  Wim Taymans  <wim@fluendo.com>
92
93         * tools/gst-inspect.c: (print_signal_info):
94         Properly print enum values.
95
96 2006-06-12  Wim Taymans  <wim@fluendo.com>
97
98         * gst/gstinfo.c: (gst_debug_set_active),
99         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
100         * gst/gstinfo.h:
101         Add some G_[UN]LIKELY.
102         Maintain __gst_debug_min to avoid formatting the arguments of
103         debug messages that will be dropped anyway to avoid a lot of 
104         overhead from the debugging system.
105
106 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
107
108         * po/POTFILES.in:
109         * po/POTFILES.skip:
110           add missing files containing translatable strings, tell intltool about
111           one exception
112
113 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
114
115         * tests/check/libs/.cvsignore:
116         add test-binary to ignore list
117
118 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
119
120         * docs/libs/gstreamer-libs-docs.sgml:
121         reorder (put dp into a chapter) and indent
122
123 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
124
125         * configure.ac:
126           back to HEAD
127
128 === release 0.10.8 ===
129
130 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
131
132         * configure.ac:
133           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
134
135 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
136
137         * gst/gst.c: (init_post):
138           move pid declaration to declaration block
139
140 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
141
142         * gst/gst.c: (init_post):
143           use _exit() instead of exit() in our forked child; this ensures
144           that none of the registered exit handlers from whatever is using
145           GStreamer get executed.  This fixes gnome-mixer-applet failing
146           to load, because ORBit would shut down.
147           Spotted by: Edward Hervey  <edward@fluendo.com>
148           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
149           Fixes #344474
150
151 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
152
153         * configure.ac:
154           back to TRUNK
155
156 === release 0.10.7 ===
157
158 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
159
160         * configure.ac:
161           releasing 0.10.7, "Soepeke, ik zie ou"
162
163 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
164
165         * configure.ac:
166         * po/af.po:
167         * po/az.po:
168         * po/bg.po:
169         * po/ca.po:
170         * po/cs.po:
171         * po/de.po:
172         * po/en_GB.po:
173         * po/fr.po:
174         * po/it.po:
175         * po/nb.po:
176         * po/nl.po:
177         * po/ru.po:
178         * po/sq.po:
179         * po/sr.po:
180         * po/sv.po:
181         * po/tr.po:
182         * po/uk.po:
183         * po/vi.po:
184         * po/zh_CN.po:
185         * po/zh_TW.po:
186         * win32/common/config.h:
187           0.10.6.2 prerelease
188
189 2006-06-07  Wim Taymans  <wim@fluendo.com>
190
191         * gst/gstindex.c: (gst_index_gtype_resolver):
192         * tools/gst-xmlinspect.c: (print_plugin_info):
193         Fix leak spotted by coverity checker. Fixes #343827
194         Fix another other leak found by paolo borelli.
195
196 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
197
198         * libs/gst/dataprotocol/dataprotocol.c:
199         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
200         (gst_dp_version_get_type), (gst_dp_init),
201         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
202         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
203         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
204         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
205         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
206         (gst_dp_packetizer_free):
207         * libs/gst/dataprotocol/dataprotocol.h:
208           API: add a GstDPPacketizer object, and create/free functions
209           API: add GstDPVersion enum
210           Add 1.0 event function that uses the string serialization
211           Serialize more useful buffer flags
212           Fixes #343988
213
214 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
215
216         * tests/check/Makefile.am:
217         * tests/check/gst/gstabi.c:
218         * tests/check/gst/struct_ppc64.h:
219         * tests/check/libs/libsabi.c:
220         * tests/check/libs/struct_ppc64.h:
221           add ppc64 structure sizes
222
223 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
224
225         * tests/check/Makefile.am:
226         * tests/check/gst/gstabi.c:
227         * tests/check/gst/struct_x86_64.h:
228         * tests/check/libs/libsabi.c:
229         * tests/check/libs/struct_x86_64.h:
230           generate and add structure size lists for x86_64
231
232 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
233
234         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
235         * libs/gst/check/gstcheck.h:
236           factor out the method from tests that checks size of structures,
237           and add code to generate the header containing these sizes
238         * tests/check/gst/gstabi.c: (GST_START_TEST):
239         * tests/check/gst/struct_i386.h:
240         * tests/check/libs/libsabi.c: (GST_START_TEST):
241         * tests/check/libs/struct_i386.h:
242           use it
243
244 2006-06-06  Michael Smith  <msmith@fluendo.com>
245
246         * gst/gstsegment.h:
247           Don't use c++-style comments, fixes #343929
248
249 2006-06-05  Edward Hervey  <edward@fluendo.com>
250
251         * gst/gst.c:
252         plugin_paths is not used if we build without registry support.
253
254         * gst/gstsegment.c: (gst_segment_copy): 
255         _copy() was always returning NULL...
256
257 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
258
259         * libs/gst/dataprotocol/dataprotocol.c:
260         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
261         (gst_dp_packet_from_event):
262           factor out CRC code
263
264 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
265
266         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
267           make sure we unset caps
268
269 2006-06-02  Michael Smith  <msmith@fluendo.com>
270
271         * libs/gst/check/gstcheck.c: (gst_check_init),
272         (gst_check_chain_func):
273         * libs/gst/check/gstcheck.h:
274           Add a cond/mutex to the check support lib, signal this whenever we
275           add to the buffers list. This will allow tests to not busy-wait on
276           the buffer-list.
277
278 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
279
280         * libs/gst/dataprotocol/dataprotocol.c:
281         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
282         (gst_dp_packet_from_event):
283           factor out some common header init code
284
285 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
286
287         * docs/libs/gstreamer-libs-sections.txt:
288         * docs/libs/tmpl/gstdataprotocol.sgml:
289         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
290         * libs/gst/dataprotocol/dataprotocol.h:
291           API: make gst_dp_crc() public
292
293 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
294
295         * plugins/indexers/gstindexers.c: (plugin_init):
296         conditionally register fileindexer (fixes #343598)
297
298 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
299
300         * gst/gsttagsetter.h:
301         Can't cast ifaces to a class
302
303         * libs/gst/net/gstnetclientclock.h:
304         * libs/gst/net/gstnettimeprovider.h:
305         * plugins/elements/gstfakesink.h:
306         * plugins/elements/gstfakesrc.h:
307         * plugins/elements/gstfdsink.h:
308         * plugins/elements/gstfdsrc.h:
309         * plugins/elements/gstfilesink.h:
310         * plugins/elements/gstfilesrc.h:
311         * plugins/elements/gstidentity.h:
312         * plugins/elements/gstqueue.h:
313         * plugins/elements/gsttee.h:
314         * plugins/indexers/gstfileindex.c:
315         * plugins/indexers/gstmemindex.c:
316         * tests/old/examples/plugins/example.h:
317         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
318
319 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
320
321         * libs/gst/dataprotocol/dataprotocol.c:
322         (gst_dp_header_from_buffer):
323           make sure we zero the whole ABI-compatible area
324
325 2006-06-01  Wim Taymans  <wim@fluendo.com>
326
327         Patch by: Alessandro Decina <alessandro at nnva dot org>
328
329         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
330         Make sure the EOS flag is cleared from pads after a flush
331         or stop. Fixes #343538.
332
333         * tests/check/libs/collectpads.c: (GST_START_TEST),
334         (gst_collect_pads_suite):
335         Added test for collectpads reusage after EOS.
336
337 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
338
339         * gst/gst.c:
340          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
341         * win32/common/libgstbase.def:
342          export gst_collect_pads_set_flushing
343         * win32/common/libgstreamer.def:
344          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
345          gst_value_fraction_multiply
346         * win32/vs6/gst_inspect.dsp:
347          add a link to intl.lib
348
349 2006-05-30  Wim Taymans  <wim@fluendo.com>
350
351         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
352         (gst_collect_pads_chain):
353         Handle the case where a pad is removed from the collection
354         that could cause the other pads to become collectable.
355
356 2006-05-30  Wim Taymans  <wim@fluendo.com>
357
358         * gst/gstelement.c:
359         Clarify the use of _release_request_pad() and
360         _get_request_pad() a bit better.
361
362         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
363         (gst_adapter_take_buffer):
364         Fix some doc and comment typos.
365
366 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
367
368         * docs/gst/gstreamer-sections.txt:
369         * docs/libs/gstreamer-libs-sections.txt:
370           add declared symbols
371
372 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
373
374         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
375         Add debug that can be enabled using a #define at the top of the file,
376         for dumping stats about how late/early we were when waking up from
377         waiting on the clock.
378
379 2006-05-30  Wim Taymans  <wim@fluendo.com>
380
381         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
382         When rebuilding the pad list, don't leak the previous list.
383
384 2006-05-30  Wim Taymans  <wim@fluendo.com>
385
386         Patch by: Lutz Mueller <lutz at topfrose dot de>
387
388         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
389         (gst_base_src_get_query_types), (gst_base_src_update_length):
390         Publish supported query types.
391         Update last_stop field in get_range mode so the position
392         query works. Fixes #342321.
393
394 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
395
396         * docs/gst/gstreamer-sections.txt:
397         * gst/gsttaglist.c: (_gst_tag_initialize):
398         * gst/gsttaglist.h:
399           API: add GST_TAG_PREVIEW_IMAGE (#343341).
400
401 2006-05-30  Wim Taymans  <wim@fluendo.com>
402
403         Patch by: Alessandro Decina <alessandro at nnva dot org>
404
405         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
406         Unlock mutex when removing an unknown pad.
407         Fixes #343334.
408
409         * tests/check/Makefile.am:
410         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
411         (push_event), (setup), (teardown), (GST_START_TEST),
412         (gst_collect_pads_suite), (main):
413         Added collecpads check, disabled for now as check crashes for
414         some reason.
415
416 2006-05-29  Wim Taymans  <wim@fluendo.com>
417
418         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
419         Don't leak pads lists.
420
421 2006-05-29  Wim Taymans  <wim@fluendo.com>
422
423         * docs/libs/gstreamer-libs-sections.txt:
424         * libs/gst/base/gstcollectpads.c:
425         (gst_collect_pads_set_flushing_unlocked),
426         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
427         (gst_collect_pads_stop):
428         * libs/gst/base/gstcollectpads.h:
429         API: gst_collect_pads_set_flushing()
430         Added api to set the pads to flushing, useful for seeking
431         code in elements using collectpads.
432         Clear segment when receiving a flush.
433
434 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
435
436         * gst/gst.c: (add_path_func), (init_post):
437           Don't scan registry paths passed via --gst-plugin-path immediately
438           (will crash, because absolutely nothing is set up and no types are
439           registered etc.); do this later in init_post(). Fixes #343057.
440
441 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
442
443         * gst/gst.c: (init_post):
444           if we have fork, fork while reading/rebuilding the registry
445           so the parent doesn't take the hit of having all plugins loaded
446           in memory.  Fixes #342777.
447         * configure.ac:
448           Check if we have fork()
449         * win32/common/config.h.in:
450           no fork() on win32
451
452 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
453
454         * plugins/elements/gstelements.c:
455         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
456         (gst_file_src_init), (gst_file_src_set_property),
457         (gst_file_src_get_property), (gst_file_src_start):
458         * plugins/elements/gstfilesrc.h:
459           API: GstFileSrc::use-mmap
460
461         Add a use-mmap property to enable easier testing of all code paths.
462         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
463         in the absence of gnomevfssrc. (Closes #340501)
464
465 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
466
467         * tools/gst-inspect.c:
468         Add missing include, removes warning of ngettext not being defined on
469         some arches.
470
471 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
472
473         * gst/gstvalue.c: (gst_value_deserialize_fraction):
474         Handle NULL input and output pointers silently as a failed conversion,
475         rather than g_warnings.
476
477 2006-05-25  Wim Taymans  <wim@fluendo.com>
478
479         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
480         Initialize variable before using. Fixes #342820.
481
482 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
483
484         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
485           Fix off-by-one bug that would only allow peeks of N-1 bytes
486           from the start even if the buffer to typefind on contains
487           in fact N bytes of data (makes vorbis typefinding from a
488           vorbis identification header buffer work).
489
490         * tests/check/Makefile.am:
491         * tests/check/libs/.cvsignore:
492         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
493         (gst_typefindhelper_suite), (main), (foobar_typefind),
494         (plugin_init):
495           Add very basic unit test for gst_type_find_helper_for_buffer()
496           that checks for the problem fixed above.
497
498 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
499
500         * tools/gst-inspect.c: (print_interfaces),
501         (print_element_properties_info), (print_element_list), (main):
502           add more translatable strings
503
504 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
505
506         Patch by: Julien Moutte  <julien at moutte net>
507
508         * docs/gst/gstreamer-sections.txt:
509           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
510           
511         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
512         (gst_fake_sink_preroll):
513         * plugins/elements/gstfakesink.h:
514           API: Add new GstFakeSink::preroll-handoff signal (#337100).
515
516 2006-05-23  Wim Taymans  <wim@fluendo.com>
517
518         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
519         * gst/gstpad.h:
520         Added _CUSTOM error and success GstFlowReturn that can be
521         used be elements internally. 
522         Added macro to check for SUCCESS flowreturns.
523         API: GST_FLOW_CUSTOM_SUCCESS
524         API: GST_FLOW_CUSTOM_ERROR
525         API: GST_FLOW_IS_SUCCESS
526
527         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
528         Added check for GstFlowReturn sanity.
529
530 2006-05-23  Wim Taymans  <wim@fluendo.com>
531
532         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
533
534         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
535         (gst_collect_pads_event):
536         clear/reset segment info in FLUSH_STOP.
537         Fixes #336929.
538
539 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
540
541         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
542         (gst_collect_pads_check_collected):
543         Flush queued buffer on _stop(), fixes playing again (#342454)
544
545 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
546
547         * tests/check/gst/gststructure.c: (GST_START_TEST),
548         (gst_structure_suite):
549           add a test for a complete structure
550
551 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
552
553         * docs/faq/developing.xml:
554         * docs/faq/faq.xml:
555         * docs/faq/troubleshooting.xml:
556         * docs/faq/using.xml:
557           Some minor FAQ updates that won't change the fact that
558           our FAQ is badly structured, full of information hardly
559           anyone new to GStreamer needs to know and lacking lots
560           of information people constantly ask for.
561           
562 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
563
564         * gst/gstpad.c: (gst_pad_set_caps):
565           Short-circuit gst_pad_set_caps if setting the existing
566           caps pointer again, and avoid printing debug and 
567           reffing/unreffing the caps.
568
569         * plugins/elements/gstqueue.c: (gst_queue_push_one):
570           There's actually no need to set the caps before pushing -
571           the acceptcaps method will handle it anyway.
572
573 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
574
575         * docs/gst/gstreamer-sections.txt:
576         * win32/common/libgstreamer.def:
577         * gst/gstutils.c: (gst_element_seek_simple):
578         * gst/gstutils.h:
579           API: add gst_element_seek_simple() (#342238).
580
581 2006-05-18  Edward Hervey  <edward@fluendo.com>
582
583         * gst/gsttypefind.c: (gst_type_find_get_type):
584         * gst/gsttypefind.h:
585         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
586         registered for GstTypeFind pointers. This allows wrapping the structure
587         in bindings (i.e. gst-python).
588
589 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
590
591         * gst/gsttagsetter.c:
592           Docs additions and fixes (see #339918).
593
594 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
595
596         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
597         The caps intersection algorithm can produce multiple copies of the
598         caps. Until that is fixed, we need to simplify the result to be
599         sure whether the allowed caps are fixed or not.
600
601         * plugins/elements/gstqueue.c: (gst_queue_init),
602         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
603         (gst_queue_push_one):
604         Proxied buffer alloc should not set the caps on the source pad.
605         When pushing buffers, we always accept the caps change that triggers.
606         This prevents negotiation errors caused by caps changing mid-stream 
607         and then being refused on our source pad (because upstream is now
608         refusing those caps).
609
610 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
611
612         * tests/examples/helloworld/helloworld.c: (main):
613           Must plug audioconvert and audioresample between decoder
614           and audio sink.
615
616 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
617
618         * gst/gstregistryxml.c: (read_string), (load_pad_template),
619         (load_feature), (load_plugin):
620         Allow empty strings for some of the plugin fields so we don't 
621         drop valid plugin entries that were written out correctly
622         (Fixes #341479)
623
624 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
625         
626         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
627           Use g_remove and g_rename instead of remove and rename that don't 
628           handle utf8 characters. rename was failing for users who had specific
629           characters in their name then the registry was built at each 
630           gstreamer init.
631         * win32/vs6/gst_inspect.dsp:
632         * win32/vs6/gst_launch.dsp:
633         * win32/vs6/libgstbase.dsp:
634         * win32/vs6/libgstcoreelements.dsp:
635         * win32/vs6/libgstreamer.dsp:
636           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
637           build of libgstreamer and clean unused libraries in projects link 
638           settings.
639
640 2006-05-17  Edward Hervey  <edward@fluendo.com>
641
642         * plugins/elements/gstqueue.c: (gst_queue_push_one):
643         The queue is not responsible for pushing an EOS when receiving a fatal
644         flow error. It's up to the real element driving the pipeline to do that.
645
646 2006-05-16  Edward Hervey  <edward@fluendo.com>
647
648         * plugins/elements/gstqueue.c: (gst_queue_push_one):
649         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
650         buffer returned a fatal error. It should just send an EOS and stop
651         its task.
652         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
653         when pushing buffers on the queue and will be able to handle the event.
654
655 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
656
657         * docs/manual/basics-bins.xml:
658         * docs/manual/basics-init.xml:
659           Fix typos and minor errors in sample code (#341856).
660
661 2006-05-16  Wim Taymans  <wim@fluendo.com>
662
663         * docs/design/part-qos.txt:
664         Fix indexes in formulas to make more sense.
665
666 2006-05-15  Wim Taymans  <wim@fluendo.com>
667
668         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
669         Don't report POSITION based on clock time if sync is
670         disabled in a sink.
671
672 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
673
674         * gst/gstobject.h:
675           Add cast to make compiler happy - refcount variable was a gint
676           in GstObject but is a guint in GObject and g_atomic_int_get()
677           wants a gint *.
678
679 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
680
681         * gst/parse/Makefile.am:
682           chain commands using &&, which also makes parallel make work
683
684 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
685
686         * docs/gst/gstreamer-sections.txt:
687         * gst/gstevent.c:
688         * gst/gstevent.h:
689         * gst/gstmessage.h:
690           Minor docs fixes.
691
692 === release 0.10.6 ===
693
694 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
695
696         * configure.ac:
697           releasing 0.10.6, "Take the cannoli"
698
699 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
700
701         * tools/gst-launch.c: (print_tag):
702           Fix use of uninitialized variable in the hypothetical
703           case that some broken plugin creates a GST_TAG_IMAGE
704           tag containing a NULL buffer (#341667).
705
706 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
707
708         * tools/gst-launch.c: (print_tag):
709           Print something more intelligible for image tags when
710           using the -t switch (#341556).
711
712 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
713
714         * Makefile.am:
715           updates for win32
716         * configure.ac:
717           define GST_MAJORMINOR so we have it available in win32/common/config.h
718           Possibly remove it from our Makefile.am files later
719         * win32/common/config.h:
720         * win32/common/config.h.in:
721           added GST_MAJORMINOR
722         * win32/common/gstenumtypes.c: (register_gst_resource_error):
723         * win32/common/gstversion.h:
724           updated
725
726 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
727
728         * win32/MANIFEST:
729           Update win32 files listing.
730         * win32/common/gstversion.h:
731           Add GST_MAJORMINOR definition.
732         * win32/common/libgstreamer.def:
733           Add new exported functions.
734           
735 2006-05-12  Michael Smith  <msmith@fluendo.com>
736
737         * gst/gstplugin.c: (gst_plugin_load_file):
738           If an so file has no plugin entry point, unload the module.
739
740 2006-05-11  Wim Taymans  <wim@fluendo.com>
741
742         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
743         (gst_queue_set_property):
744         Don't forget to signal the _chain or _loop function 
745         when the queue size or thresholds change since that might
746         cause them to make progres again.
747
748 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
749
750         * gst/gstclock.c: (gst_clock_class_init):
751         * gst/gstindex.c: (gst_index_class_init):
752         * gst/gstobject.c: (gst_object_class_init):
753         * gst/gstpad.c: (gst_pad_class_init):
754         * gst/gstpipeline.c: (gst_pipeline_class_init):
755         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
756         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
757         * libs/gst/base/gstbasetransform.c:
758         (gst_base_transform_class_init):
759         * libs/gst/net/gstnetclientclock.c:
760         (gst_net_client_clock_class_init):
761         * libs/gst/net/gstnettimeprovider.c:
762         (gst_net_time_provider_class_init):
763         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
764         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
765         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
766         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
767         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
768         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
769         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
770         * plugins/elements/gstidentity.c: (gst_identity_class_init):
771         * plugins/elements/gsttee.c: (gst_tee_class_init):
772         * tests/old/examples/plugins/example.c: (gst_example_class_init):
773         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
774           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
775
776 2006-05-11  Wim Taymans  <wim@fluendo.com>
777
778         * gst/gstbuffer.c: (_gst_buffer_initialize):
779         Register subbufer along with the buffer type so that
780         it does not accidentally gets registered from N
781         different streaming threads in a non threadsafe way.
782
783 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
784
785         * gst/gstbuffer.h:
786         * gst/gstevent.h:
787         * gst/gstmessage.h:
788           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
789           gst_event_ref() and gst_message_ref() functions again
790           (ugly hack, please do fix if there's a better way besides
791           overrides.txt, which doesn't seem to work).
792
793 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
794
795         * libs/gst/check/gstcheck.h:
796           add an assert for setting state to avoid lots of repetitive code
797           in the future
798
799 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
800
801         * gst/gstvalue.c: (gst_value_serialize_flags):
802           fix a leak if no flags are set
803         * tests/check/gst/gstvalue.c: (GST_START_TEST):
804           fix leak in tests
805
806 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
807
808         * docs/manual/basics-pads.xml:
809           Expand a bit on caps and filtered links and update
810           examples that were still using the no longer existing
811           gst_pad_link_filtered() (#338206).
812
813 2006-05-10  Wim Taymans  <wim@fluendo.com>
814
815         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
816         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
817         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
818         (gst_collect_pads_stop):
819         * libs/gst/base/gstcollectpads.h:
820         No need to call _stop in _finalize.
821         Iterate the main pad list in _finalize.
822         Added some more debug.
823         Free lists and data in the right order.
824         Also free data whem doing _remove_pad when stopped for
825         backward compatibility protect ::started with PAD_LOCK as
826         well.
827
828 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
829
830         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
831         (gst_structure_parse_value):
832           add some comments
833           rename a method so that it actually says what it does better
834
835 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
836
837         * gst/gstevent.c: (_gst_event_initialize):
838         * gst/gstformat.c: (_gst_format_initialize):
839           make sure some essential types used by events are registered
840           as part of gst_init()
841         * gst/gstvalue.c: (gst_value_serialize_flags):
842           if no flags are set, serialize them to a value that represents NONE
843           so that deserializing them works
844         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
845           add tests for serialization and deserialization of flags
846
847 2006-05-10  Wim Taymans  <wim@fluendo.com>
848
849         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
850         (gst_collect_pads_collect_range), (gst_collect_pads_available),
851         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
852         (gst_collect_pads_event), (gst_collect_pads_chain):
853         Update docs.
854         Better debug info.
855         Catch and return errors from the collect function
856         Refuse data on eos pads.
857
858 2006-05-10  Edward Hervey  <edward@fluendo.com>
859
860         * gst/gstinterface.h:
861         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
862         GInterface type checking.
863         They were previously using non-defined macros.
864
865 2006-05-09  Wim Taymans  <wim@fluendo.com>
866
867         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
868         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
869         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
870         (gst_collect_pads_start), (gst_collect_pads_stop),
871         (gst_collect_pads_peek), (gst_collect_pads_pop),
872         (gst_collect_pads_available), (gst_collect_pads_read),
873         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
874         (gst_collect_pads_is_collected), (gst_collect_pads_event),
875         (gst_collect_pads_chain):
876         * libs/gst/base/gstcollectpads.h:
877         Clean up the mess that is collectpads, add comments and
878         FIXMEs where needed.
879         Maintain a separate pad list so we can add pads while
880         collecting the other ones. For this we need a new separate 
881         lock (see comics).
882         Fix memory leak in finalize.
883         Refactor some weird code to set/unset pad flushing flags, mark
884         with comments.
885         Don't crash in _available, _read, _flush when we're EOS.
886
887         * tests/check/libs/.cvsignore:
888         Ignore adapter check binary.
889
890 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
891
892         * gst/gstindex.c: (gst_index_resolver_get_type):
893         * plugins/elements/gstfakesink.c:
894         (gst_fake_sink_state_error_get_type):
895         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
896         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
897         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
898           Const-ify GEnumValue arrays.
899
900 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
901
902         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
903           Add test case for flags + gst_buffer_make_metadata_writable().
904
905 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
906
907         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
908           gst_buffer_make_metadata_writable() should maintain the
909           buffer flags (those that make sense at least) (see #340859).
910
911 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
912
913         * tools/gst-inspect.c:
914         * tools/gst-launch.c:
915         * tools/gst-typefind.c:
916         * tools/gst-xmlinspect.c:
917         * tools/tools.h:
918           Fix up includes: need to include stdlib.h in tools.h for exit().
919
920 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
921
922         * gst/gsttaglist.c: (_gst_tag_initialize):
923         * gst/gsttaglist.h:
924           API: add GST_TAG_IMAGE tag (#340721).
925
926 2006-05-08  Wim Taymans  <wim@fluendo.com>
927
928         * gst/gstquery.c:
929         Added some docs for the segment query.
930
931 2006-05-08  Wim Taymans  <wim@fluendo.com>
932
933         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
934         (gst_base_src_loop), (gst_base_src_change_state):
935         Always push non-flushing serialized events in the streaming 
936         thread.
937
938 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
939
940         * gst/gsterror.c: (_gst_stream_errors_init):
941           Add a missing error string.
942
943 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
944
945         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
946         Add applied_rate to the debug
947
948         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
949         Copy applied_rate into the outgoing NEWSEGMENT event
950
951 2006-05-08  Wim Taymans  <wim@fluendo.com>
952
953         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
954
955         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
956         (gst_base_sink_change_state):
957         call ::unlock before taking the PREROLL_LOCK so we can safely
958         handle elements that lock in ::render.
959         Fixes #340174.
960
961 2006-05-08  Edward Hervey  <edward@fluendo.com>
962
963         * autogen.sh: (CONFIGURE_DEF_OPT): 
964         Darwin's libtoolize is in fact called glibtoolize.
965         Adding glibtoolize to the list of accepted names for libtoolize.
966
967 2006-05-08  Wim Taymans  <wim@fluendo.com>
968
969         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
970         Unify error handling, don't post an error message
971         when a push() returns EOS but perform our normal EOS
972         handling code. Fixes #340772.
973
974 2006-05-08  Wim Taymans  <wim@fluendo.com>
975
976         * docs/design/part-overview.txt:
977         Make upsteam/downstream concepts more clear.
978         Give an example of serialized/non-serialized events.
979
980         * docs/design/part-events.txt:
981         * docs/design/part-streams.txt:
982         Mention applied_rate.
983
984         * docs/design/part-trickmodes.txt:
985         Mention applied rate, flesh out some more use cases.
986
987         * gst/gstevent.c: (gst_event_new_new_segment),
988         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
989         (gst_event_parse_new_segment_full), (gst_event_new_tag),
990         (gst_event_parse_tag), (gst_event_new_buffer_size),
991         (gst_event_parse_buffer_size), (gst_event_new_qos),
992         (gst_event_parse_qos), (gst_event_parse_seek),
993         (gst_event_new_navigation):
994         * gst/gstevent.h:
995         Add applied_rate field to NEWSEGMENT event.
996         API: gst_event_new_new_segment_full()
997         API: gst_event_parse_new_segment_full()
998
999         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1000         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1001         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1002         * gst/gstsegment.h:
1003         Add applied_rate to GstSegment structure.
1004         Make calculation of stream_time and running_time more correct
1005         wrt rate/applied_rate.
1006         Add some more docs.
1007         API: GstSegment::applied_rate field
1008         API: gst_segment_set_newsegment_full();
1009
1010         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1011         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1012         * libs/gst/base/gstbasetransform.c:
1013         (gst_base_transform_sink_eventfunc),
1014         (gst_base_transform_handle_buffer):
1015         Parse and use applied_rate in the GstSegment field.
1016
1017         * tests/check/gst/gstevent.c: (GST_START_TEST):
1018         Add check for applied_rate field.
1019
1020         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1021         (gstsegments_suite):
1022         Add more checks for various GstSegment operations.
1023
1024 2006-05-08  Wim Taymans  <wim@fluendo.com>
1025
1026         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1027         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1028         (gst_base_sink_get_position), (gst_base_sink_change_state):
1029         Store the sync time of the buffer end position separatly in a
1030         new variable eos_rtime so we can properly sync the EOS event.
1031         Fixes #340697.
1032         Fix the docs for gst_base_sink_set_qos_enabled().
1033         Don't set segment start to invalid value when we receive a 
1034         non TIME newsegment.
1035         get closer to handling position reporting for negative rates 
1036         correctly.
1037
1038 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1039
1040         * gst/gstcaps.c:
1041         Docs about how to print caps for debug purposes.
1042
1043         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1044         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1045
1046 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1047
1048         * gst/gstelement.c:
1049           use full enum names and preprend a '%' in docs strings to make recent 
1050           gtk-doc turn that into a link
1051
1052 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1053
1054         * docs/manual/basics-bins.xml:
1055         * docs/manual/basics-bus.xml:
1056         * docs/manual/basics-pads.xml:
1057           Some typo fixes, some additions, some clarifications. 
1058
1059 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1060
1061         * tools/gst-inspect.c: (main):
1062         * tools/gst-launch.c: (main):
1063         * tools/gst-run.c: (main):
1064         * tools/gst-typefind.c: (main):
1065         * tools/gst-xmlinspect.c: (main):
1066           Use the string passed to g_option_context_new() for
1067           what it's intended for - the program name is already
1068           printed elsewhere.
1069
1070 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1071
1072         * tools/Makefile.am:
1073         * tools/gst-inspect.c: (main):
1074         * tools/gst-launch.c: (main):
1075         * tools/gst-xmlinspect.c: (main):
1076         * tools/tools.h:
1077           Add back --version command line option (#340460).
1078
1079         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1080           Add --version option and use GOption for argument parsing; refactor a
1081           bit; accept directories as arguments and recurse into them; lastly,
1082           print a decent error message when things go wrong.
1083
1084 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1085
1086         * docs/manual/basics-bins.xml:
1087         Don't mention GstThread (#340611)
1088         * docs/manual/basics-elements.xml:
1089         Update link to GObject tutorial (#340607)
1090         
1091 2006-05-05  Wim Taymans  <wim@fluendo.com>
1092
1093         * gst/gstbuffer.h:
1094         * gst/gstminiobject.c:
1095         Add note about refcounting and miniobject/buffer writeability
1096         to docs. Fixes #340604
1097
1098         * gst/gstelementfactory.h:
1099         Added some explanation about @klass.
1100
1101 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1102
1103         * docs/manual/intro-motivation.xml:
1104         * docs/manual/manual.xml:
1105         Avoid CORBA & Bonobo references (#340598)
1106
1107 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1108
1109         * docs/manual/basics-bus.xml:
1110         * docs/manual/basics-pads.xml:
1111         Fix up some inaccuracies and omissions (#340609)
1112         
1113 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1114
1115         * gst/gstghostpad.c:
1116           Small typo in docs (#340625)
1117
1118 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1119
1120         * gst/parse/Makefile.am:
1121           Make 'make -j' proof (see #340698).
1122
1123 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1124
1125         * configure.ac:
1126           Require GLib-2.8 here as well.
1127
1128 2006-05-05  Wim Taymans  <wim@fluendo.com>
1129
1130         * gst/glib-compat.c:
1131         * gst/gst.c: (init_pre):
1132         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1133         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1134         (gst_object_dispatch_properties_changed):
1135         * gst/gstobject.h:
1136         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1137         * gst/gststructure.c: (gst_structure_set_valist):
1138         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1139         Remove pre glib2.8 compatibility, fixes #340508
1140
1141 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1142
1143         * gst/gsttaglist.h:
1144           Mention type of tags in doc blurbs.
1145
1146 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1147
1148         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1149         (gst_pad_configure_src), (gst_pad_push):
1150         Restore acceptcaps checking behaviour now that good plugins have
1151         been released.
1152
1153 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1154
1155         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1156
1157         * gst/gst.c:
1158         * gst/gstbus.c:
1159         * gst/gstclock.c:
1160         * gst/gstevent.c:
1161         * gst/gstformat.c:
1162         * gst/gstmessage.c:
1163         * gst/gstparse.c:
1164         * gst/gstquery.c:
1165         * gst/gstutils.c:
1166         * gst/parse/Makefile.am:
1167         * libs/gst/base/gstadapter.c:
1168         * libs/gst/base/gstbasesrc.c:
1169         * libs/gst/base/gstpushsrc.c:
1170         * libs/gst/base/gsttypefindhelper.c:
1171         * plugins/elements/gstfakesrc.c:
1172         * plugins/elements/gstidentity.c:
1173           Make sure gstprivate.h and/or config.h are
1174           always included first, otherwise some of our
1175           defines (like _FILE_OFFSET_BITS) might be
1176           redefined in the system headers. Fixes build
1177           on opensolaris (#340016).
1178
1179 2006-05-04  Wim Taymans  <wim@fluendo.com>
1180
1181         * docs/libs/gstreamer-libs-sections.txt:
1182         API: addition: gst_adapter_take_buffer()
1183         
1184         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1185         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1186         (gst_adapter_available_fast):
1187         * libs/gst/base/gstadapter.h:
1188         Prepare for optimizing the hell out of this hugely inefficient
1189         piece of code. 
1190         Added gst_adapter_take_buffer() so we can at least start thinking
1191         about subbuffering and merging.
1192         Added some comments.
1193
1194         * tests/check/Makefile.am:
1195         * tests/check/libs/adapter.c: (GST_START_TEST),
1196         (gst_adapter_suite), (main):
1197         Added GstAdapter check.
1198
1199 2006-05-04  Wim Taymans  <wim@fluendo.com>
1200
1201         * docs/design/part-overview.txt:
1202         Fix some typos, add blurb about buffer flags.
1203
1204 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1205
1206         * docs/libs/gstreamer-libs-sections.txt:
1207           make sure GstBaseTransformClass shows up in the docs
1208         * libs/gst/base/gstbasetransform.c:
1209         * libs/gst/base/gstbasetransform.h:
1210           move docs so gtk-doc picks it up now
1211
1212 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1213
1214         * docs/libs/gstreamer-libs-sections.txt:
1215           add missing symbols to docs
1216
1217 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1218
1219         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1220           back out the newsegment handling change, see #340060 for ongoing
1221           discussion
1222
1223 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1224
1225         * tools/gst-run.c: (get_candidates), (main):
1226           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1227           work); fix typo in error message. Fixes #340079.
1228
1229 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1230
1231         * common/Makefile.am:
1232         * docs/Makefile.am:
1233         * docs/faq/Makefile.am:
1234         * docs/gst/Makefile.am:
1235         * docs/libs/Makefile.am:
1236         * docs/manual/Makefile.am:
1237         * docs/plugins/Makefile.am:
1238         * docs/pwg/Makefile.am:
1239         * docs/slides/Makefile.am:
1240         * docs/upload.mak:
1241         * common/upload.mak:
1242           move upload.mak to common
1243
1244 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1247           add more asserts on refcounts
1248           do more cleanup at end of tests
1249           fix test leaks showing in FC5
1250
1251 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1252
1253         * plugins/elements/gsttypefindelement.c:
1254         (gst_type_find_element_handle_event):
1255         reverted wrong change and reflowed code to avoid others falling into
1256         this trap
1257
1258 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1259
1260         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1261           fix changelog entry about last collectpads change,
1262           add notes about proper fix
1263
1264 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1265
1266         * gst/gst.c:
1267         * gst/gstregistry.c: (gst_registry_scan_path_level),
1268         (gst_registry_scan_path):
1269         * gst/gstregistry.h:
1270           only write out registry if it has changed, fixes #338339
1271
1272 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1273
1274         * gst/gstbin.c:
1275         * gst/gstpipeline.c:
1276         * plugins/elements/gstcapsfilter.c:
1277         * plugins/elements/gstfakesink.c:
1278         * plugins/elements/gstfakesrc.c:
1279         * plugins/elements/gstfdsink.c:
1280         * plugins/elements/gstfdsrc.c:
1281         * plugins/elements/gstfilesink.c:
1282         * plugins/elements/gstfilesrc.c:
1283         * plugins/elements/gstidentity.c:
1284         * plugins/elements/gstqueue.c:
1285         * plugins/elements/gsttee.c:
1286         * plugins/elements/gsttypefindelement.c:
1287         (gst_type_find_element_handle_event):
1288           make GstElementDetails const
1289
1290 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1291
1292         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1293         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1294         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1295           more detailed debug and formatting cleanup,
1296           forward newsegments to src-pad (so that e.g. adder not eats them)
1297
1298 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1299
1300         * gst/gstutils.c: (gst_element_link_pads):
1301           cleanup double code
1302
1303 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1304
1305         * libs/gst/controller/gstcontroller.c:
1306         (gst_controller_sync_values):
1307           some little tuning
1308         * tests/check/libs/controller.c: (GST_START_TEST),
1309         (gst_controller_suite):
1310           a new test for live value handling
1311
1312 2006-04-28  Wim Taymans  <wim@fluendo.com>
1313
1314         * gst/gstutils.c: (push_and_ref):
1315         Added some more docs.
1316         Fix refcount issue whith gst_element_found_tags() helper 
1317         function. Fixes #338335
1318
1319         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1320         Added testsuite for gst_element_found_tags().
1321
1322 2006-04-28  Michael Smith  <msmith@fluendo.com>
1323
1324         * gst/gstvalue.c: (gst_value_serialize_flags):
1325           Avoid NULL dereference when trying to serialize flags containing
1326           invalid values.
1327
1328 2006-04-28  Michael Smith  <msmith@fluendo.com>
1329
1330         * plugins/elements/gsttypefindelement.c:
1331         (gst_type_find_element_handle_event):
1332           If we get EOS before any data is accumulated, don't use
1333           uninitialised local variables.
1334
1335 2006-04-28  Michael Smith  <msmith@fluendo.com>
1336
1337         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1338         (gst_dp_event_from_packet):
1339           Fixes in reading/writing events over GDP (not currently used?) - 
1340           dereferencing NULL events for unknown/invalid event types, memory
1341           leak, and change g_warning to GST_WARNING.
1342
1343 2006-04-28  Wim Taymans  <wim@fluendo.com>
1344
1345         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1346         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1347         (gst_base_sink_get_position), (gst_base_sink_change_state):
1348         When frame dropping is enabled, we should not ignore frames
1349         without a duration.
1350         Update some documentation.
1351
1352 2006-04-28  Wim Taymans  <wim@fluendo.com>
1353
1354         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1355         (gst_base_src_send_event), (gst_base_src_change_state):
1356         Documentation updates.
1357
1358 2006-04-28  Wim Taymans  <wim@fluendo.com>
1359
1360         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1361         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1362         handle EAGAIN, EINTR and short writes correctly. Also clean
1363         up some error cases, avoid a deadlock on bad file descriptors and
1364         use GST_DEBUG_OBJECT.
1365         Fixes #339843
1366
1367 2006-04-28  Wim Taymans  <wim@fluendo.com>
1368
1369         * gst/gstvalue.c: (gst_value_serialize_buffer),
1370         (gst_value_deserialize_buffer):
1371         Don't try to serialize a GValue with a NULL buffer. 
1372         Fixes #339821.
1373
1374         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1375         Added check for serialisation of NULL buffers.
1376
1377 2006-04-28  Wim Taymans  <wim@fluendo.com>
1378
1379         * gst/gstminiobject.c: (gst_value_take_mini_object):
1380         Taking a NULL miniobject is valid, fix the case where
1381         we try to unref the NULL miniobject.
1382
1383 2006-04-28  Wim Taymans  <wim@fluendo.com>
1384
1385         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1386
1387         * gst/gstbin.c: (gst_bin_handle_message_func):
1388         Update docs.
1389         Don't leak bin refcount when a state recalc is
1390         in progress and we delay another one #339808.
1391
1392 2006-04-28  Wim Taymans  <wim@fluendo.com>
1393
1394         * docs/design/part-TODO.txt:
1395         Mention QoS as an ongoing work item.
1396
1397         * docs/design/part-buffering.txt:
1398         New doc about buffering that needs to be fleshed out
1399         at some point.
1400
1401         * docs/design/part-qos.txt:
1402         More QoS policy for decoders/demuxers/transforms
1403
1404         * docs/design/part-trickmodes.txt:
1405         Small update.
1406
1407 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1408
1409         * configure.ac:
1410           back to HEAD
1411
1412 === release 0.10.5 ===
1413
1414 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1415
1416         * configure.ac:
1417           releasing 0.10.5, "Fogo"
1418
1419 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1420
1421         patch by: Wim Taymans
1422
1423         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1424         (gst_pad_configure_src), (gst_pad_push):
1425         * gst/gstpipeline.c: (gst_pipeline_init):
1426           Fix internal data flow errors.  Fixes #338711.
1427
1428 2006-04-12  Wim Taymans  <wim@fluendo.com>
1429
1430         * tests/check/gst/gstelement.c: (GST_START_TEST):
1431         Don't leak the factory.
1432
1433 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1434
1435         * configure.ac:
1436         * win32/common/config.h:
1437           prerelease
1438
1439 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1440
1441         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1442         (gst_controller_unset_all):
1443           Free allocated GstTimedValues when freeing list nodes.
1444           Should fix leaks 'make check-valgrind' complains about.
1445
1446         * win32/common/libgstcontroller.def:
1447           Add gst_controller_unset_all.
1448
1449 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1450
1451         * docs/libs/gstreamer-libs-sections.txt:
1452         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1453         (gst_controller_unset_all):
1454         * libs/gst/controller/gstcontroller.h:
1455         API: Added new method gst_controller_unset_all()
1456         fixed gst_controller_unset()
1457         * tests/check/libs/controller.c: (GST_START_TEST),
1458         (gst_controller_suite):
1459         Added two testcases for new and fixed method
1460
1461 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1462
1463         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1464           MSG_DONTWAIT is not defined on Cygwin, so work
1465           around that (fixes #317048).
1466           
1467 2006-04-11  Wim Taymans  <wim@fluendo.com>
1468
1469         * gst/gstelementfactory.c: (gst_element_register),
1470         (gst_element_factory_create), (gst_element_factory_make):
1471         Some cleanups.
1472         Fixed a FIXME.
1473         Updated docs (Fixes #131079)
1474
1475         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1476         Small cleanups.
1477
1478         * tests/check/gst/gstelement.c: (GST_START_TEST),
1479         (gst_element_suite):
1480         Added testcase for elementfactory class field.
1481
1482 2006-04-10  Wim Taymans  <wim@fluendo.com>
1483
1484         * gst/gstsegment.c:
1485         Added some more docs.
1486
1487         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1488         (gst_base_sink_reset_qos):
1489         Calculate more accurate rate values.
1490
1491 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1492
1493         * gst/gst_private.h:
1494           add a new #ifdef to use __declspec(dllimport) only for
1495           other modules and not for gstreamer core
1496         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1497           use gst_guint64_to_gdouble for conversion
1498         * win32/common/libgstreamer.def:
1499           add new exported functions
1500         * win32/vs6/gst_inspect.dsp:
1501         * win32/vs6/gst_launch.dsp:
1502         * win32/vs6/libgstbase.dsp:
1503         * win32/vs6/libgstcontroller.dsp:
1504         * win32/vs6/libgstcoreelements.dsp:
1505         * win32/vs6/libgstdataprotocol.dsp:
1506         * win32/vs6/libgstnet.dsp:
1507           update project files
1508
1509 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1510
1511         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1512         * gst/gstclock.c: (gst_clock_class_init):
1513         * gst/gstelement.c: (gst_element_class_init):
1514         * gst/gstindex.c: (gst_index_class_init):
1515         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1516         * gst/gstobject.c: (gst_object_class_init),
1517         (gst_signal_object_class_init):
1518         * gst/gstpad.c: (gst_pad_class_init):
1519         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1520         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1521         * gst/gstregistry.c: (gst_registry_class_init):
1522         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1523         * gst/gsttask.c: (gst_task_class_init):
1524         * gst/gstxml.c: (gst_xml_class_init):
1525         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1526         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1527         (gst_base_src_loop):
1528         * libs/gst/controller/gstcontroller.c:/
1529         (_gst_controller_class_init):
1530         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1531         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1532         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1533         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1534         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1535         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1536
1537 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1538
1539         * gst/gstpad.c: (gst_pad_link):
1540           Must set peer pads before calling the link function, otherwise
1541           a task started from a link function might get a flow-not-linked
1542           result when trying to push because the other thread where the
1543           linking happens hasn't had a chance to set the peers yet. This
1544           might happen for example when a queue gets linked to a downstream
1545           element, as queue starts a streaming task when its source pad
1546           gets linked. Happens in real life when playing back flac/musepack
1547           files in playbin (#332390).
1548           
1549 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1550
1551         * gst/gstindex.h:
1552         * gst/gstxml.h:
1553         * libs/gst/base/gstadapter.h:
1554         * libs/gst/base/gstbasesink.h:
1555         * libs/gst/base/gstbasesrc.h:
1556         * libs/gst/base/gstbasetransform.h:
1557         * libs/gst/base/gstcollectpads.h:
1558         * libs/gst/base/gstpushsrc.h:
1559         Fix broken GObject macros
1560
1561 2006-04-07  Wim Taymans  <wim@fluendo.com>
1562
1563         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1564         Initialize start and stop times, thanks valgrind.
1565
1566 2006-04-07  Wim Taymans  <wim@fluendo.com>
1567
1568         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1569         Be a bit nicer to badly behaving upstream elements that expect
1570         us to deal with non TIME segments and timestamps (such as fakesrc
1571         in the testsuite).
1572
1573 2006-04-07  Wim Taymans  <wim@fluendo.com>
1574
1575         * gst/gstbus.c:
1576         Small documentation clarification about the signal watch.
1577
1578         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1579         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1580         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1581         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1582         (gst_base_sink_get_position_last),
1583         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1584         Convert and store timestamps in stream time and running time, the
1585         raw timestamps are not usefull, also document this better.
1586         Use different window sizes for good and bad QoS observations so
1587         we react to badness a little quicker.
1588         Keep track of the amount of rendered and dropped buffers.
1589         Send QoS timestamps in running time.
1590
1591         * libs/gst/base/gstbasetransform.c:
1592         (gst_base_transform_sink_eventfunc),
1593         (gst_base_transform_handle_buffer):
1594         Compare QoS timestamps against running time.
1595
1596 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1597
1598         * gst/gstpad.c:
1599           Typo fixes in docs.
1600
1601 2006-04-06  Michael Smith  <msmith@fluendo.com>
1602
1603         * gst/gstpad.c: (gst_pad_set_property):
1604           Use g_value_get_object() instead of g_value_dup_gst_object(),
1605           to avoid double-reffing the pad template (which we then sink,
1606           so this worked previously if (and only if) the pad template
1607           was floating.
1608
1609         * gst/gstpadtemplate.c: (gst_pad_template_init),
1610         (gst_pad_template_pad_created):
1611           Never return floating references to pad templates, create
1612           them as initially-sunken.
1613
1614           Document an extra function (and make this stop sinking our
1615           pad template, since that is now guaranteed to do nothing,
1616           since we created it sunken).
1617
1618         * gst/gstghostpad.c:
1619           Fix docs typo.
1620
1621 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1622
1623         * gst/gstinfo.c: (__gst_in_valgrind):
1624           Add some newlines.
1625
1626         * plugins/elements/gsttypefindelement.c:
1627         (gst_type_find_element_chain):
1628           Don't leak buffer caps.
1629
1630 2006-04-06  Michael Smith  <msmith@fluendo.com>
1631
1632         * gst/parse/grammar.y:
1633           Fix a leak in parse-launch for any source-or-sink named element 
1634           references used.
1635
1636         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1637           Unref the pipeline if it exists after we've failed parsing.
1638
1639 2006-04-05  Michael Smith  <msmith@fluendo.com>
1640
1641         * gst/gstpipeline.c: (gst_pipeline_init):
1642           When we create a pipeline bus, initially create it in flushing mode.
1643           Fixes leaks in at least one test, and makes a new pipeline work the
1644           same as one that has gone to READY and then back to NULL.
1645
1646         * gst/gstelement.c:
1647           Typo fix in docs.
1648
1649 2006-04-05  Michael Smith  <msmith@fluendo.com>
1650
1651         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1652           Unref a pad we reffed.
1653         * tests/check/gst/gstutils.c: (GST_START_TEST):
1654           Unref bins
1655
1656 2006-04-05  Michael Smith  <msmith@fluendo.com>
1657
1658         * gst/gstquery.c: (gst_query_set_formats),
1659         (gst_query_set_formatsv):
1660           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1661
1662 2006-04-05  Michael Smith  <msmith@fluendo.com>
1663
1664         * tests/check/generic/sinks.c: (GST_START_TEST):
1665           Fix a variety of memleaks in sinks check, which are only sometimes 
1666           shown by running the tests under valgrind (weird?).
1667
1668 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1669
1670         * docs/version.entities.in:
1671           Fix the substituted entity name after thomas' changes on the
1672           weekend.
1673
1674 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1675
1676         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1677         VALGRIND_PRINTF
1678         
1679 2006-04-05  Andy Wingo  <wingo@pobox.com>
1680
1681         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1682
1683         * libs/gst/base/gstbasetransform.c
1684         (gst_base_transform_sink_eventfunc): When resetting our segment on
1685         FLUSH_STOP, also update the flag saying we haven't seen a
1686         newsegment.
1687
1688 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1689
1690         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1691
1692         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1693         (gst_plugin_check_license):
1694           minor clean-ups: G_DEFINE_TYPE already takes care of the
1695           parent_class stuff, no need to do it twice. Mark array of
1696           license strings as constant. (#337103)
1697           
1698 2006-04-04  Michael Smith  <msmith@fluendo.com>
1699
1700         * tools/gst-inspect.c: (print_element_list):
1701           Free the right plugin list; fixes a memory leak.
1702
1703 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1704
1705         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1706
1707         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1708           Don't error out on empty buffers (#336945).
1709           
1710 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1711
1712         * docs/libs/gstreamer-libs-sections.txt:
1713         * gst/gsttaglist.c:
1714         * libs/gst/base/gstbasesink.c:
1715         * libs/gst/base/gstbasesink.h:
1716         * libs/gst/base/gstbasesrc.c:
1717         * libs/gst/base/gstbasesrc.h:
1718           Documentation updates. Make BaseSink and BaseSrc docs contain the
1719           class structure so that people can actually see the prototypes for
1720           virtual functions they're supposed to be overriding.
1721
1722 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1723
1724         * plugins/elements/gsttypefindelement.c:
1725         (gst_type_find_element_chain):
1726           More debug info; when skipping typefinding, send cached
1727           events in all cases.
1728
1729 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1730
1731         * configure.ac:
1732           use new AS_VERSION and AS_NANO macros
1733         * gst/gst-i18n-lib.h:
1734         * gst/gst.c:
1735         * gst/gsterror.c:
1736         * gst/gstversion.h.in:
1737         * win32/common/config.h:
1738         * win32/common/config.h.in:
1739           update accordingly
1740
1741 2006-03-31  Michael Smith  <msmith@fluendo.com>
1742
1743         * plugins/elements/gsttypefindelement.c:
1744         (gst_type_find_element_chain):
1745           Do not typefind content if the buffers already have caps.
1746           Neccesary for icydemux (#333657), and the right thing to do anyway.
1747
1748 2006-03-30  Wim Taymans  <wim@fluendo.com>
1749
1750         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1751         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1752         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1753         (gst_base_sink_record_qos_observation),
1754         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1755         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1756         (gst_base_sink_change_state):
1757         More QoS measurements as described in the design doc.
1758         Get rid of ringbuffer with observations, running average is
1759         more simple and equally good.
1760         Calculates valid proportion now.
1761         Added beginning of flood measurement.
1762
1763 2006-03-29  Wim Taymans  <wim@fluendo.com>
1764
1765         * docs/design/part-qos.txt:
1766         * gst/gstclock.c:
1767         Small documentation updates and additions.
1768
1769 2006-03-29  Wim Taymans  <wim@fluendo.com>
1770
1771         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1772         (gst_base_src_send_event), (gst_base_src_loop),
1773         (gst_base_src_change_state):
1774         Perform the EOS logic when we reach the segment stop position.
1775         Fix compilation on gcc4.1
1776
1777 2006-03-29  Wim Taymans  <wim@fluendo.com>
1778
1779         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1780
1781         * plugins/elements/gstqueue.c: (gst_queue_init),
1782         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1783         (gst_queue_set_property):
1784         * plugins/elements/gstqueue.h:
1785         In queue, when EOS is received, if minimum threshold > max_size -
1786         current_level, there is chance that queue blocks forever in conditional
1787         item del wait. This is because the queue is not emptied completely due
1788         to minimum threshold.  Here is another approach. Instead of setting
1789         cur_levels to max in EOS, just zero all minimum threshold levels. This
1790         should make sure that queue gives out all data. When going to READY
1791         (stop) state, just reset the original minimum threshold levels.
1792         Fixes #336336.
1793
1794 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1795
1796         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1797         (gst_type_find_element_handle_event),
1798         (gst_type_find_element_send_cached_events),
1799         (gst_type_find_element_change_state):
1800         * plugins/elements/gsttypefindelement.h:
1801           When typefinding is done in push mode, we should cache
1802           events we receive during typefinding instead of just
1803           dropping them (e.g. newsegment, custom events from
1804           dvdreadsrc etc.) and then send them out once we've
1805           determined the type of the stream (and decodebin
1806           has had a chance to plug in a decoder/demuxer).
1807           
1808 2006-03-27  Wim Taymans  <wim@fluendo.com>
1809
1810         * docs/design/part-qos.txt:
1811         First QoS ideas.
1812
1813 2006-03-27  Wim Taymans  <wim@fluendo.com>
1814
1815         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1816
1817         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1818         (gst_base_src_send_event), (gst_base_src_change_state):
1819         Handle element seek correctly when we are streaming.
1820         Fixes #326998.
1821
1822 2006-03-24  Michael Smith  <msmith@fluendo.com>
1823
1824         * docs/faq/gst-uninstalled:
1825           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1826           allow you to correctly run intalled applications built against old 
1827           core, using plugins that require updated core (e.g. running
1828           installed totem against a full uninstalled gstreamer stack)
1829
1830 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1831
1832         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1833         more debug details
1834
1835 2006-03-24  Wim Taymans  <wim@fluendo.com>
1836
1837         * docs/gst/gstreamer-sections.txt:
1838         Rearrange the order of the methods so that related methods
1839         are grouped together in sections.
1840
1841 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1842
1843         * gst/gstelement.c:
1844           Little clarification in the docs
1845
1846 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1847
1848         * docs/README:
1849         formatting fix
1850         * plugins/elements/gstidentity.c:
1851         * plugins/elements/gstqueue.c:
1852         * plugins/elements/gsttee.c:
1853         * plugins/elements/gsttypefindelement.c:
1854         GST_ELEMENT_DETAILS formatting
1855
1856 2006-03-24  Wim Taymans  <wim@fluendo.com>
1857
1858         * libs/gst/base/gstbasesink.h:
1859         Only add fields, not insert or we break ABI.
1860
1861 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1862
1863         * win32/common/libgstbase.def:
1864         * win32/common/libgstreamer.def:
1865           Update, add recently added functions.
1866
1867 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1868
1869         * docs/gst/gstreamer-sections.txt:
1870         * gst/gstutils.c: (gst_pad_query_peer_position),
1871         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1872         * gst/gstutils.h:
1873           API: add some new utility functions:
1874            - gst_pad_query_peer_position()
1875            - gst_pad_query_peer_duration()
1876            - gst_pad_query_peer_convert()
1877           
1878 2006-03-23  Wim Taymans  <wim@fluendo.com>
1879
1880         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1881         (gst_base_sink_init), (gst_base_sink_finalize),
1882         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1883         (gst_base_sink_set_property), (gst_base_sink_get_property),
1884         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1885         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1886         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1887         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1888         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1889         (gst_base_sink_preroll_object), (gst_base_sink_event),
1890         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1891         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1892         (gst_base_sink_query), (gst_base_sink_change_state):
1893         Decouple max-lateness and the fact that QoS messages are generated
1894         with a new property (qos).
1895         added API: GstBaseSink::async_play()
1896         Add vmethod so subclasses can be notified of ASYNC playing
1897         state changes.
1898         Collect timestamp start and stop to report better current
1899         position in EOS/PLAYING/PAUSED/READY/NULL.
1900         Refactor QoS/frame dropping and other measurements.
1901         API: GstBaseSrc::qos
1902         Fixes #326311
1903
1904         * libs/gst/base/gstbasesink.h:
1905         Added Private struct.
1906         API: gst_base_sink_set_qos_enabled()
1907         API: gst_base_sink_is_qos_enabled()
1908
1909 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1910
1911         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1912           If compiling against GLib-2.8 or newer, try to read the
1913           registry file using GMappedFile first before falling back
1914           to fopen() + fread() (#332151).
1915
1916 2006-03-22  Wim Taymans  <wim@fluendo.com>
1917
1918         * gst/gstinfo.c: (gst_debug_set_active),
1919         (gst_debug_category_set_threshold):
1920         Disable debugging unless explicitly activated.
1921         Fixes #335480.
1922
1923 2006-03-22  Wim Taymans  <wim@fluendo.com>
1924
1925         * gst/gstelement.c: (gst_element_set_locked_state),
1926         (gst_element_dispose):
1927         Cleanup the error case.
1928
1929         * gst/gstobject.c: (gst_object_dispose):
1930         print a critical when some object was disposed with
1931         a parent, also revive the object since it might
1932         crash the parent.
1933
1934 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1935
1936         * tools/gst-launch.1.in:
1937           Fix another typo.
1938
1939 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1940
1941         * configure.ac:
1942         * tests/check/Makefile.am:
1943           disable some tests when we don't have a registry
1944         * tests/check/gst/gstutils.c: (gst_utils_suite):
1945           don't build the part that needs parsing
1946
1947 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1948
1949         * gst/Makefile.am
1950         * tests/examples/Makefile.am:
1951           fix --disable-parse build
1952
1953 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1954
1955         * tools/gst-feedback.1.in:
1956           Fix typo: s/feeback/feedback/ (#133494).
1957
1958 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1959
1960         * tools/Makefile.am:
1961         * tools/gst-launch.1.in:
1962           Add FILES section and correct entry about GST_REGISTRY_PATH
1963           environment variable (#133495; #133494).
1964
1965 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1966
1967         * tools/Makefile.am:
1968         * tools/gst-md5sum.1.in:
1969         * tools/gst-md5sum.c:
1970           Remove gst-md5sum and man page (the md5sink element
1971           required was removed ages ago)
1972
1973 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1974
1975         * gst/gststructure.c: (gst_structure_id_set_value):
1976           Make sure that string fields in structures/taglists
1977           contain valid UTF-8 - we don't want to pass rubbish to
1978           applications because of a buggy plugin (cp. #334167).
1979
1980 2006-03-21  Edward Hervey  <edward@fluendo.com>
1981
1982         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1983         (gst_bin_handle_message_func):
1984         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1985         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1986         (gst_element_set_bus_func):
1987         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1988         * gst/gstminiobject.c: (gst_value_set_mini_object),
1989         (gst_value_take_mini_object):
1990         * gst/gstpad.c: (gst_pad_set_pad_template):
1991         * gst/gstpipeline.c: (gst_pipeline_dispose),
1992         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1993         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1994         (gst_collect_pads_chain):
1995         * libs/gst/net/gstnettimeprovider.c:
1996         (gst_net_time_provider_set_property):
1997         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1998         It's in fact all issues with gst_*object_replace().
1999
2000 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2001
2002         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2003         
2004         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2005         * pkgconfig/gstreamer-check.pc.in:
2006           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2007
2008 2006-03-21  Edward Hervey  <edward@fluendo.com>
2009
2010         * gst/gstbuffer.h:
2011         * gst/gstevent.h:
2012         * gst/gstmessage.h:
2013         gst_[buffer|event|message]_ref() macros are replaced by a static
2014         inline functions because gcc-4.1 will about if the return value
2015         isn't used.
2016         * tests/check/gst/gstevent.c: (event_probe):
2017         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2018
2019 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2020
2021         * gst/gstutils.h:
2022         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2023         the type' case. (Closes: #335195 for now). In the future, when we
2024         depend on GLib 2.10, we could also intern the type name using
2025         g_intern_static_string()
2026
2027 2006-03-20  Wim Taymans  <wim@fluendo.com>
2028
2029         * gst/gstbin.c: (gst_bin_handle_message_func),
2030         (bin_query_max_init), (bin_query_position_fold),
2031         (bin_query_position_done), (gst_bin_query):
2032         Position query should also take max of all streams.
2033
2034 2006-03-20  Wim Taymans  <wim@fluendo.com>
2035
2036         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2037         (gst_fake_src_finalize):
2038         Fix leaks in fakesrc.
2039
2040         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2041         Fix leaks in the testcase.
2042
2043 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2044
2045         * gst/gst_private.h:
2046           add win32 specific import decoration(__declspec(dllimport)) 
2047           for all extern GstDebugCategory * variables
2048         * win32/common/libgstbase.def:
2049         * win32/common/libgstcontroller.def:
2050         * win32/common/libgstreamer.def:
2051           Add some exports, remove empty lines
2052         * win32/common/libgstdataprotocol.def:
2053         * win32/common/libgstdataprotocol.dsp:
2054         * win32/common/libgstnet.def:
2055         * win32/common/libgstnet.dsp:
2056           new project files and exportation files added
2057         
2058 2006-03-19  Wim Taymans  <wim@fluendo.com>
2059
2060         * tests/check/libs/basesrc.c: (eos_event_counter):
2061         Use proper return value for probe.
2062
2063 2006-03-17  Wim Taymans  <wim@fluendo.com>
2064
2065         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2066         (gst_pad_push):
2067         Don't leak buffers, caps and pads on negotiation errors.
2068
2069 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2070
2071         * docs/faq/cvs.xml:
2072         * docs/faq/dependencies.xml:
2073         * docs/faq/developing.xml:
2074         * docs/faq/faq.xml:
2075         * docs/faq/general.xml:
2076         * docs/faq/getting.xml:
2077         * docs/faq/legal.xml:
2078         * docs/faq/troubleshooting.xml:
2079         * docs/faq/using.xml:
2080         Faq review and update.
2081
2082 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2083
2084         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2085         (gst_pad_push):
2086         Don't pound the cpu to pieces by checking get_caps when accept_caps
2087         is called with the same caps as the pad already has.
2088         Use GST_DEBUG_OBJECT when outputting caps change information.
2089
2090 2006-03-15  Wim Taymans  <wim@fluendo.com>
2091
2092         * gst/gstclock.c: (gst_clock_class_init):
2093         Fix docs.
2094
2095 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2096
2097         * gst/gstbuffer.h:
2098         Documentation fix.
2099
2100         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2101         (gst_pad_accept_caps), (gst_pad_configure_sink),
2102         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2103         Make the default acceptcaps behaviour be to check the requested 
2104         caps against the gst_pad_get_caps output. 
2105
2106         Ensure that gst_pad_accept_caps is used to check caps when a pad
2107         doesn't have a setcaps function, so that pads automatically refuse 
2108         caps that they don't allow in their pad template. (Fixes #332986)
2109
2110         When a buffer with attached caps is pushed, ensure that the source 
2111         pad receives those caps even if the element didn't call
2112         gst_pad_set_caps first.
2113
2114 2006-03-15  Wim Taymans  <wim@fluendo.com>
2115
2116         * libs/gst/base/gstadapter.c:
2117         Add some docs.
2118
2119 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2120
2121         * win32/common/libgstbase.def:
2122         * win32/common/libgstcontroller.def:
2123         * win32/common/libgstreamer.def:
2124           Add a whole bunch of missing functions (#334434).
2125
2126 2006-03-14  Wim Taymans  <wim@fluendo.com>
2127
2128         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2129         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2130         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2131         Better debug info when we receive a segment event.
2132         Reorganize a bit so we can pass the get_times() results around.
2133         Use the segment format when calculating the running time.
2134         Don't do QoS is sync is disabled or we have no clock or the
2135         element does not want us to sync to the clock.
2136         Don't drop buffers if QoS is disabled for now.
2137
2138 2006-03-14  Wim Taymans  <wim@fluendo.com>
2139
2140         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2141         Marked the stats property as unimplemented so people don't get
2142         wild ideas.
2143         Add debug message when regression goes wrong.
2144         Added some more docs.
2145
2146 2006-03-14  Wim Taymans  <wim@fluendo.com>
2147
2148         * gst/gstsegment.c: (gst_segment_to_stream_time):
2149         Return correct return type in case of errors.
2150
2151 2006-03-14  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2154           Don't segfault on invalid formats.
2155
2156 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2157
2158         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2159           Can't use gst_segment_to_running_time() when the segment
2160           is not in GST_TIME_FORMAT (like with filesink, for example).
2161           Stops flac encoding pipelines from spewing critical warnings
2162           at EOS (#331248).
2163           
2164 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2165
2166         * gst/gstpipeline.c: (gst_pipeline_class_init):
2167           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2168
2169         * plugins/elements/gsttypefindelement.c:
2170         (gst_type_find_element_handle_event):
2171           Don't try to typefind empty streams.
2172
2173 2006-03-14  Wim Taymans  <wim@fluendo.com>
2174
2175         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2176         (gst_base_sink_do_qos):
2177         Separate QoS calculation.
2178         Only drop buffers when lateness is bigger than the 
2179         duration of the buffer.
2180
2181 2006-03-13  Wim Taymans  <wim@fluendo.com>
2182
2183         * gst/gstpipeline.c: (gst_pipeline_set_property),
2184         (gst_pipeline_get_property), (do_pipeline_seek),
2185         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2186         (gst_pipeline_get_delay):
2187         Don't deadlock when reading properties.
2188
2189 2006-03-13  Wim Taymans  <wim@fluendo.com>
2190
2191         * libs/gst/base/gstbasetransform.c:
2192         (gst_base_transform_class_init), (gst_base_transform_init),
2193         (gst_base_transform_sink_event),
2194         (gst_base_transform_sink_eventfunc),
2195         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2196         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2197         (gst_base_transform_set_property),
2198         (gst_base_transform_get_property),
2199         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2200         (gst_base_transform_set_qos_enabled),
2201         (gst_base_transform_is_qos_enabled):
2202         * libs/gst/base/gstbasetransform.h:
2203         Make basetransform virtual method for src events too.
2204         Handle QOS in basetransform.
2205         API: gst_base_transform_update_qos()
2206         API: gst_base_transform_set_qos_enabled()
2207         API: gst_base_transform_is_qos_enabled()
2208
2209 2006-03-13  Wim Taymans  <wim@fluendo.com>
2210
2211         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2212         (gst_base_sink_do_sync):
2213         Small cleanups.
2214         Use QOS debug category.
2215
2216 2006-03-13  Wim Taymans  <wim@fluendo.com>
2217
2218         * plugins/elements/gstqueue.c:
2219         Very small doc update.
2220
2221 2006-03-13  Wim Taymans  <wim@fluendo.com>
2222
2223         * gst/gst_private.h:
2224         * gst/gstinfo.c: (_gst_debug_init):
2225         Added QOS debug category
2226
2227 2006-03-13  Wim Taymans  <wim@fluendo.com>
2228
2229         * docs/gst/gstreamer-sections.txt:
2230         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2231         * gst/gstbin.h:
2232         * gst/gstbus.c: (gst_bus_class_init):
2233         * gst/gstbus.h:
2234         * gst/gstclock.c:
2235         * gst/gstelement.c: (gst_element_set_locked_state):
2236         * gst/gstsegment.c:
2237         Documentation updates.
2238
2239         * gst/gstpipeline.c: (gst_pipeline_get_type),
2240         (gst_pipeline_class_init), (gst_pipeline_init),
2241         (gst_pipeline_dispose), (gst_pipeline_set_property),
2242         (gst_pipeline_get_property), (do_pipeline_seek),
2243         (gst_pipeline_send_event), (gst_pipeline_change_state),
2244         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2245         (gst_pipeline_get_delay):
2246         * gst/gstpipeline.h:
2247         Added methods for setting the delay.
2248         API: gst_pipeline_set_delay()
2249         API: gst_pipeline_get_delay()
2250         Add pipeline debug category
2251         Various cleanups.
2252         Updated docs.
2253         Don't reset stream time when seek failed.
2254
2255 2006-03-13  Wim Taymans  <wim@fluendo.com>
2256
2257         * docs/design/draft-klass.txt:
2258         * docs/design/part-clocks.txt:
2259         * docs/design/part-events.txt:
2260         * docs/design/part-gstbin.txt:
2261         * docs/design/part-gstpipeline.txt:
2262         * docs/design/part-messages.txt:
2263         * docs/design/part-negotiation.txt:
2264         * docs/design/part-overview.txt:
2265         * docs/design/part-preroll.txt:
2266         * docs/design/part-seeking.txt:
2267         * docs/design/part-states.txt:
2268         * docs/design/part-streams.txt:
2269         Documentation updates.
2270
2271 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2272
2273         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2274         us to leak strings...
2275
2276 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2277
2278         * libs/gst/net/gstnettimeprovider.c:
2279           fix docs
2280         * win32/common/config.h:
2281           update
2282
2283 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2284
2285         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2286
2287         * configure.ac:
2288           Don't check for libgnomeui (leftover from old examples
2289           that aren't built or disted any longer) (#334303).
2290           
2291 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2292
2293         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2294         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2295           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2296           there's no space left on the device.
2297
2298 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2299
2300         * gst/gstclock.h:
2301           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2302           to cast the input to GstClockTime before comparing with
2303           another GstClockTime value.
2304
2305 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2306
2307         * configure.ac:
2308           back to trunk
2309
2310 === release 0.10.4 ===
2311
2312 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2313
2314         * configure.ac:
2315           releasing 0.10.4, "Light"
2316
2317 2006-03-10  Michael Smith  <msmith@fluendo.com>
2318
2319         * libs/gst/dataprotocol/dataprotocol.c:
2320           Fix docs for dataprocotol to not get the return types completely
2321           wrong for a few functions.
2322
2323 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2324
2325         * docs/gst/gstreamer-sections.txt:
2326         * gst/gstpipeline.c: (gst_pipeline_class_init),
2327         (gst_pipeline_init), (gst_pipeline_set_property),
2328         (gst_pipeline_get_property), (gst_pipeline_change_state),
2329         (gst_pipeline_set_auto_flush_bus),
2330         (gst_pipeline_get_auto_flush_bus):
2331         * gst/gstpipeline.h:
2332           Add new API: gst_pipeline_set_auto_flush_bus() and
2333           gst_pipeline_get_auto_flush_bus() to disable automatic
2334           flushing of the pipeline's GstBus when going from READY
2335           to NULL state (#332045).
2336
2337 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2338
2339         * docs/gst/gstreamer-sections.txt:
2340         * gst/gsturi.c: (gst_uri_has_protocol):
2341         * gst/gsturi.h:
2342            Add new API: gst_uri_has_protocol() (#333779).
2343
2344 2006-03-09  Wim Taymans  <wim@fluendo.com>
2345
2346         * gst/gstclock.c: (gst_clock_entry_new),
2347         (gst_clock_id_compare_func), (gst_clock_id_wait),
2348         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2349         (gst_clock_init), (gst_clock_get_internal_time),
2350         (gst_clock_set_master), (do_linear_regression),
2351         (gst_clock_add_observation), (gst_clock_set_property):
2352         * gst/gstclock.h:
2353         Review docs.
2354         Small cleanups.
2355         Fix a possible segfault when the window-size is made smaller.
2356         Calculate jitter before performing the clock wait. Ideally
2357         the clock implementation should calculate jitter but we need
2358         API breakage for that.
2359
2360         * gst/gstsystemclock.c: (gst_system_clock_init):
2361         Docs review.
2362         
2363         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2364         Remove leftover else
2365
2366         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2367         (gst_systemclock_suite):
2368         Added check to test GST_CLOCK_DIFF.
2369
2370 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2371
2372         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2373         (gst_type_find_helper_get_range):
2374           If we are provided with the size, we should implement
2375           GstTypeFind::get_length, so that typefind functions who
2376           want to can actually peek at the middle of a file.
2377
2378 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2379
2380         * docs/manual/advanced-dataaccess.xml:
2381           Add some very very basic error checking.
2382
2383         * docs/pwg/appendix-checklist.xml:
2384           Some updates to the list of things to check when writing an element.
2385
2386 2006-03-08  Wim Taymans  <wim@fluendo.com>
2387
2388         * docs/design/part-element-transform.txt:
2389         Added some docs about the design of tranform elements.
2390
2391         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2392         (gst_base_src_loop), (gst_base_src_change_state):
2393         Mark buffers with the DISCONT flag.
2394
2395 2006-03-08  Michael Smith  <msmith@fluendo.com>
2396
2397         * gst/gstregistry.h:
2398         * gst/gstregistryxml.c: (gst_registry_save),
2399         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2400         (gst_registry_xml_save_pad_template),
2401         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2402         (gst_registry_xml_write_cache):
2403           Rewrite registry-saving to avoid race conditions and check for
2404           failed writes.
2405
2406 2006-03-08  Wim Taymans  <wim@fluendo.com>
2407
2408         * libs/gst/base/gstbasetransform.c:
2409         (gst_base_transform_transform_caps),
2410         (gst_base_transform_transform_size),
2411         (gst_base_transform_prepare_output_buffer),
2412         (gst_base_transform_get_unit_size),
2413         (gst_base_transform_buffer_alloc),
2414         (gst_base_transform_handle_buffer),
2415         (gst_base_transform_change_state):
2416         Cleanups, separate normal flow from errors, add sensible
2417         DEBUG lines.
2418         Don't try to renegotiate when allocating an output buffer.
2419         Also copy DISCONT buffer flag when copying a buffer.
2420         Reset the transform after we finish streaming, not during.
2421
2422 2006-03-08  Wim Taymans  <wim@fluendo.com>
2423
2424         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2425         Use last buffer timestamp in qos message.
2426
2427 2006-03-07  Wim Taymans  <wim@fluendo.com>
2428
2429         Patch by: Christophe Fergeau
2430
2431         * docs/pwg/advanced-tagging.xml:
2432         * docs/pwg/building-pads.xml:
2433           fixes #333416
2434
2435 2006-03-07  Wim Taymans  <wim@fluendo.com>
2436
2437         * docs/libs/gstreamer-libs-sections.txt:
2438         Added basesink new methods.
2439
2440         * gst/gstevent.c:
2441         * gst/gstevent.h:
2442         Docs updates. Flesh out the QoS docs.
2443
2444         * libs/gst/base/gstadapter.c:
2445         Small doc clarification about ownership and flushing.
2446
2447         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2448         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2449         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2450         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2451         * libs/gst/base/gstbasesink.h:
2452         API additions: 
2453         Added new methods to allow subclass to control max-lateness 
2454         and sync.
2455         Generate very basic QoS events based on last sync observation.
2456         Updated docs, fix typo, added some QoS blurb.
2457
2458         * libs/gst/base/gstbasesrc.c:
2459         Remove obsolete _get_state() calls from docs.
2460
2461 2006-03-07  Wim Taymans  <wim@fluendo.com>
2462
2463         * docs/libs/gstreamer-libs-sections.txt:
2464         * libs/gst/base/gstbasetransform.h:
2465         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2466         Fix docs for GstBaseSrc.
2467
2468 2006-03-07  Wim Taymans  <wim@fluendo.com>
2469
2470         * docs/gst/gstreamer-sections.txt:
2471         * gst/gstbuffer.h:
2472         * gst/gstvalue.c:
2473         * libs/gst/base/gstbasetransform.h:
2474         Small documentation fixes.
2475
2476 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2477
2478         * gst/gstvalue.c:
2479           Document thread-unsafety of gst_value_register_foo_func()
2480           when used at the same time as gst_value_foo() (#322628).
2481
2482 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2483
2484         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2485         (gst_push_src_check_get_range):
2486           Push sources don't support pull mode by default.
2487
2488 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2489
2490         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2491         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2492         (gst_base_src_default_check_get_range):
2493         * libs/gst/base/gstbasesrc.h:
2494           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2495           provide default implementation, and rename
2496           gst_base_src_check_get_range() to
2497           gst_base_src_pad_check_get_range() for clarity.
2498
2499 2006-03-06  Wim Taymans  <wim@fluendo.com>
2500
2501         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2502         Make property overridable.
2503
2504 2006-03-06  Wim Taymans  <wim@fluendo.com>
2505
2506         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2507         (gst_base_sink_init), (gst_base_sink_set_property),
2508         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2509         * libs/gst/base/gstbasesink.h:
2510         API addition: Make max-lateness a property.
2511
2512 2006-03-06  Wim Taymans  <wim@fluendo.com>
2513
2514         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2515         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2516         Don't ever draw a frame that is >10ms late.
2517
2518 2006-03-06  Michael Smith  <msmith@fluendo.com>
2519
2520         * gst/gstmessage.c: (_gst_message_copy):
2521           When copying a message, set the parent_refcount of the enclosed
2522           structure to point at the copy, not the original message.
2523
2524 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2525
2526         Patch by: Christophe Fergeau
2527
2528         * gst/gstutils.h:
2529           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2530           usable in c++ code (#333417)
2531
2532 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2533
2534         * gst/gstclock.h:
2535           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2536
2537 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2538
2539         * libs/gst/base/gstbasetransform.c:
2540         (gst_base_transform_transform_caps):
2541           Make sure caps are writable before passing them to
2542           gst_caps_append().
2543
2544 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2545
2546         * gst/gsterror.h:
2547           Fix some minor docs errors.
2548
2549 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2550
2551           Patch by: Ross Burton <ross at burtonini dot com>
2552
2553         * gst/gsterror.c: (_gst_resource_errors_init):
2554         * gst/gsterror.h:
2555           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2556
2557 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2558
2559         * gst/gst.c:
2560         Add a check and output a g_warning when GStreamer is built
2561         against GLib 2.6 but running against 2.8 or higher, and vice 
2562         versa. (Closes: #323542)
2563
2564 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2565
2566         * gst/parse/parse.l:
2567           Commit patch for parse_launch syntax from #331255. Removes 
2568           support for quoted strings and mimetypes when writing filtered 
2569           caps. See the bug report for more details - I'm pretty sure this
2570           obscure feature is not in use by _anyone_ anywhere.
2571
2572           With this simple change, the size of the gstreamer.so here 
2573           drops from 2193KB to 1565KB.
2574
2575 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2576
2577         * plugins/elements/gsttypefindelement.h:
2578         * plugins/elements/gsttypefindelement.c:
2579         (gst_type_find_element_src_event), (start_typefinding),
2580         (stop_typefinding), (gst_type_find_element_handle_event),
2581         (gst_type_find_element_chain),
2582         (gst_type_find_element_chain_do_typefinding):
2583           Use gst_type_find_helper_for_buffer() for chain-based
2584           typefinding.
2585
2586 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2587
2588         * plugins/elements/gsttypefindelement.c:
2589         (gst_type_find_element_class_init),
2590         (gst_type_find_element_set_property),
2591         (gst_type_find_element_get_property):
2592           Deprecate "maximum" property (not only was it only taken into
2593           account for typefinding in push-mode anyway, it also was never
2594           actually possible to set it in the first place because the
2595           property was registered with the numeric property ID for the
2596           "minimum" property). Register "maximum" property correctly,
2597           for the sake of future copy'n'pasters. Remove some cruft
2598           from property get/set functions.
2599
2600 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2601
2602         * plugins/elements/gsttypefindelement.c:
2603         (gst_type_find_element_activate):
2604           Use gst_type_find_helper_get_range() here, so we
2605           can honour the "minimum" property and also emit
2606           the signal with the correct probability of the found caps.
2607
2608 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2609
2610         * docs/libs/gstreamer-libs-sections.txt:
2611         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2612         (helper_find_suggest), (gst_type_find_helper_get_range),
2613         (gst_type_find_helper):
2614         * libs/gst/base/gsttypefindhelper.h:
2615           New API: gst_type_find_helper_get_range() (#333042).
2616
2617 2006-03-02  Michael Smith  <msmith@fluendo.com>
2618
2619         * gst/gstregistryxml.c: (load_feature):
2620           Asserting on a failure to read part of the registry is Not Cool.
2621           Just log a warning and return NULL (which is already handled)
2622
2623 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2624
2625         * win32/common/libgstbase.def:
2626           added export of gst_type_find_helper_for_buffer
2627         * win32/common/libgstbase.def:
2628           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2629           gst_ghost_pad_get_target
2630
2631 2006-02-28  Wim Taymans  <wim@fluendo.com>
2632
2633         * docs/design/draft-klass.txt:
2634         We use Filter now.
2635         Added Connector to mark elements that are only used to
2636         allow pipeline connections.
2637         Moved Debug to extra feature since most of them are 
2638         functionally something else.
2639
2640 2006-02-28  Wim Taymans  <wim@fluendo.com>
2641
2642         * docs/design/draft-klass.txt:
2643         Some updates and clarifications.
2644
2645 2006-02-28  Wim Taymans  <wim@fluendo.com>
2646
2647         * docs/design/draft-klass.txt:
2648         Proposal for klass field values.
2649
2650         * docs/design/part-streams.txt:
2651         Start of a doc describing stream anatomy.
2652
2653 2006-02-28  Wim Taymans  <wim@fluendo.com>
2654
2655         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2656         Help the compiler a bit with type registration.
2657         Use existing forward cod path instead of duplicating it when 
2658         handling a message.
2659         
2660         * gst/gstbus.c: (gst_bus_get_type):
2661         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2662         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2663         * gst/gstclock.c: (gst_clock_get_type):
2664         * gst/gstelement.c: (gst_element_get_type),
2665         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2666         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2667         * gst/gstminiobject.c: (gst_mini_object_get_type):
2668         * gst/gstpad.c: (gst_pad_get_type):
2669         * gst/gstsegment.c: (gst_segment_get_type):
2670         * gst/gststructure.c: (gst_structure_get_type):
2671         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2672         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2673         * gst/gstvalue.c:
2674         Help compiler with type registration.
2675
2676         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2677         Small doc update.
2678
2679 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2680
2681         * plugins/elements/gsttypefindelement.c:
2682         (gst_type_find_element_handle_event):
2683           When we get an EOS event and have not found a type yet
2684           (most likely because we had not yet accumulated
2685           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2686           type given the data we have so far. Fixes typefinding
2687           for very short streams again, most notably quicktime
2688           redirections as used on Apple's trailer site (#331701).
2689
2690 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2691
2692         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2693         (gst_type_find_helper):
2694           Try typefinding factories with the highest rank first.
2695
2696 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2697
2698         * docs/libs/gstreamer-libs-docs.sgml:
2699         * docs/libs/gstreamer-libs-sections.txt:
2700         * libs/gst/base/gsttypefindhelper.c:
2701           Add section for typefind helper and add documentation
2702           for the old and the new function.
2703
2704 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2705
2706         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2707         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2708         (gst_type_find_helper_for_buffer):
2709         * libs/gst/base/gsttypefindhelper.h:
2710           New API: gst_type_find_helper_for_buffer() (#332723).
2711           
2712 2006-02-27  Michael Smith  <msmith@fluendo.com>
2713
2714         Patch by: Loïc Minier
2715
2716         * configure.ac:
2717         * docs/Makefile.am:
2718         * docs/slides/Makefile.am:
2719           prevent CVS directories getting disted.
2720
2721 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2722
2723         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2724           Use the REFCOUNTING category for caps refcounting.
2725           
2726 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2727
2728         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2729           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2730
2731 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2732
2733         * plugins/elements/gsttypefindelement.c:
2734         (gst_type_find_element_activate):
2735           Use gst_pad_check_pull_range() before _activate_pull()
2736           to avoid unnecessary open/close (see #331690).
2737
2738 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2739
2740         * gst/gstutils.c:
2741           Docs enhancement: make it crystal clear what the
2742           gst_pad_add_*_probe() callbacks should look like.
2743
2744 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2745
2746         * libs/gst/base/gstbasesrc.c:
2747           Document how applications can stop recording from
2748           live sources (see #330996).
2749
2750 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2751
2752         * tests/check/Makefile.am:
2753         * tests/check/libs/basesrc.c: (eos_event_counter),
2754         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2755         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2756         (gst_basesrc_suite), (main):
2757           ... and add some tests for the base source EOS stuff.
2758
2759 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2760
2761         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2762           Test case originally showed the problem fixed below,
2763           but was then amended. Add checks back at the place
2764           where they used to be.
2765
2766 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2767
2768         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2769         (gst_base_src_init), (gst_base_src_loop),
2770         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2771         (gst_base_src_change_state):
2772         * libs/gst/base/gstbasesrc.h:
2773           Don't unconditionally send EOS when going from PAUSED to
2774           READY state, esp. make sure we don't send two EOS events
2775           in some cases (e.g. one when reaching EOS and one when
2776           going from PAUSED to READY). Also, we don't want to send
2777           EOS events when operating in pull mode. However, we do
2778           want to send an EOS event when shutting down a live
2779           source explicitly, for example (fixes #330996).
2780           
2781 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2782
2783         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2784           Update src->read_position after a seek when not using mmap.
2785           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2786
2787 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2788
2789         * gst/Makefile.am:
2790         * gst/gstparse.h:
2791         * gst/gstutils.c:
2792         * gst/gstutils.h:
2793         Make things work with --disable-parse as they do with 
2794         --disable-load-save - the symbols involved disappear, but the
2795         header is still installed and GST_DISABLE_PARSE is included via
2796         gstconfig.h
2797
2798 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2799
2800         * libs/gst/base/gstbasetransform.c:
2801         (gst_base_transform_change_state): Fix a stupid bug. I was 
2802         sure I compiled that.
2803
2804 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2805
2806         * gst/gstpad.c: (gst_pad_set_blocked_async):
2807         * gst/gstutils.c: (gst_pad_add_data_probe),
2808         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2809         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2810         (gst_pad_remove_buffer_probe): Make those function act on the
2811         ghostpad target when it's a ghostpad. (Closes #331727)
2812
2813 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2814
2815         * libs/gst/base/gstbasetransform.c:
2816         (gst_base_transform_change_state): Make basetransform reusable.
2817         (Closes #331898)
2818
2819 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2820
2821         * docs/random/release:
2822         Move the current documentation of how to do a release to the top
2823         of the file.
2824
2825         * gst/gstbin.c: (gst_bin_class_init),
2826         (gst_bin_handle_message_func):
2827         Allow multiple state-recalculation threads. (Closes #328873)
2828
2829 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2830
2831         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2832         * gst/gstpad.c: (gst_pad_set_event_function),
2833         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2834         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2835         2 strings. You can't use the STR_NULL macro on that.
2836
2837 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2838
2839         * gst/gstpad.c: (gst_pad_set_event_function),
2840         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2841         (gst_pad_set_getcaps_function)
2842         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2843           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2844           So now, we can use --gst-debug-level=5 on Windows
2845         * win32/common/libgstcontroller.def:
2846           Added export of gst_controller_init
2847         * win32/vs6/libgstcontroller.dsp:
2848           Fixed Release post build configuration
2849
2850 2006-02-17  Wim Taymans  <wim@fluendo.com>
2851
2852         * tests/check/gst/gstquery.c: (GST_START_TEST):
2853         Added another check.
2854
2855 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2856
2857         * plugins/elements/gsttypefindelement.c: (find_peek):
2858           We can do peeks at non-zero offsets, as long as they
2859           fall within the buffer we have.
2860
2861 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2862
2863         * tests/check/Makefile.am:
2864         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2865         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2866         (parse_suite), (main):
2867           Add testsuite for parse launch syntax
2868
2869 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2870
2871         * plugins/elements/gsttypefindelement.c:
2872         (gst_type_find_element_chain):
2873           When typefinding is unsuccessful in the chain function, don't
2874           error out immediately. Only error out with NO_CAPS_FOUND if
2875           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2876           otherwise simply wait for more data so we can try typefinding
2877           again with more data later. Also, don't attempt to typefind
2878           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2879           this should improve typefinding from network sources where the
2880           size of the first buffer can be somewhat random.
2881
2882 2006-02-14  Wim Taymans  <wim@fluendo.com>
2883
2884         * docs/gst/gstreamer-sections.txt:
2885         * gst/gstpadtemplate.c:
2886         * gst/gstpadtemplate.h:
2887         Fix padtemplate docs, fixes #328805.
2888
2889 2006-02-14  Wim Taymans  <wim@fluendo.com>
2890
2891         * tools/gst-launch.c: (main):
2892         NO_PREROLL is not an ERROR so don't send confusing messages
2893         to the user.
2894
2895 2006-02-14  Wim Taymans  <wim@fluendo.com>
2896
2897         Patch by: Torsten Schoenfeld
2898
2899         * gst/gstregistry.c: (gst_registry_get_default),
2900         (_gst_registry_cleanup):
2901         Protect default registry with lock and ref/sink it.
2902         Fixes #324818
2903
2904 2006-02-14  Wim Taymans  <wim@fluendo.com>
2905
2906         * gst/gstbuffer.c:
2907         * gst/gstquery.c: (gst_query_list_add_format),
2908         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2909         (gst_query_parse_formats_nth):
2910         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2911         Docs fixes.
2912
2913 2006-02-14  Wim Taymans  <wim@fluendo.com>
2914
2915         * docs/gst/gstreamer-sections.txt:
2916         Reworked query docs.
2917
2918         * gst/gstquery.c: (gst_query_new_formats),
2919         (gst_query_list_add_format), (gst_query_set_formats),
2920         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2921         (gst_query_parse_formats_nth):
2922         * gst/gstquery.h:
2923         Flesh out formats query, added some new methods.
2924         Fix part of #324398.
2925
2926         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2927         Added query creation tests.
2928
2929 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2930
2931         * gst/gstpad.c: (fixate_value):
2932         Add a default fixation for fraction lists.
2933
2934 2006-02-13  Wim Taymans  <wim@fluendo.com>
2935
2936         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2937         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2938         (gst_task_join):
2939         * gst/gsttask.h:
2940         Detect and warn for obvious deadlocks. fixes #320340
2941         Fix error case where lock was not released.
2942
2943         * tests/check/Makefile.am:
2944         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2945         (task_func), (gst_element_suite), (main):
2946         Add task check.
2947
2948 2006-02-13  Wim Taymans  <wim@fluendo.com>
2949
2950         * docs/gst/gstreamer-sections.txt:
2951         * gst/gstbus.c:
2952         Add new functions to docs.
2953
2954 2006-02-13  Wim Taymans  <wim@fluendo.com>
2955
2956         * docs/design/part-TODO.txt:
2957         Updated TODO list, basesrc supports seeking to non-bytes
2958         formats.
2959
2960         * docs/design/part-element-sink.txt:
2961         Update docs.
2962
2963         * gst/gstbin.c: (bin_replace_message),
2964         (gst_bin_handle_message_func):
2965         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2966         * gst/gstevent.c: (gst_event_finalize):
2967         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2968         (gst_pad_send_event):
2969         Use shiny new _TYPE_NAME macros.
2970
2971         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2972         Move debug statement up.
2973
2974         * gst/gstelement.c: (gst_element_set_locked_state):
2975         Add some debugging.
2976
2977 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2978
2979         * docs/gst/gstreamer-sections.txt:
2980         * gst/gstmessage.h:
2981         * gst/gstquery.h:
2982           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2983           macros (#330906). Also, document the already existing
2984           GST_QUERY_TYPE macro.
2985
2986 2006-02-13  Wim Taymans  <wim@fluendo.com>
2987
2988         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2989         (event_probe), (GST_START_TEST):
2990         Only events up to the pipeline EOS are counted, there are
2991         some more when going to NULL currently which we don't care
2992         about for now.
2993
2994 2006-02-13  Wim Taymans  <wim@fluendo.com>
2995
2996         * gst/gstpad.c: (gst_pad_send_event):
2997         Correctly check flushing and emit probes. fixes #330125
2998
2999 2006-02-10  Andy Wingo  <wingo@pobox.com>
3000
3001         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3002         structure.
3003         (gst_bus_init): Cache the location of the private data in the
3004         instance structure.
3005         (gst_bus_enable_sync_message_emission) 
3006         (gst_bus_disable_sync_message_emission): Implement new public
3007         functions.
3008         (gst_bus_post): Emit the sync-message signal if the user asked for
3009         it. Fixes #330684.
3010
3011         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3012         location of the bus-private structure.
3013         (gst_bus_enable_sync_message_emission)
3014         (gst_bus_disable_sync_message_emission): API addition
3015
3016 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3017
3018         Patch by: Vincent Torri
3019
3020         * docs/pwg/building-boiler.xml:
3021         PWG patch from #326800
3022
3023 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3024
3025         * configure.ac:
3026         * docs/Makefile.am:
3027         * docs/design/Makefile.am:
3028           Dist design docs.
3029
3030 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3031
3032         * configure.ac:
3033           back to CVS
3034
3035 === release 0.10.3 ===
3036
3037 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3038
3039         * configure.ac:
3040           releasing 0.10.3, "Like a virgin"
3041
3042 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3043
3044         * configure.ac:
3045           2nd prerelease of 0.10.3
3046           Bump libtool versioning.
3047
3048 2006-02-07  Andy Wingo  <wingo@pobox.com>
3049
3050         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3051         update last_stop if we're in TIME format and the timestamp is
3052         valid.
3053
3054         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3055         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3056         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3057         If we get a new newsegment with a different format, adapt
3058         accordingly.
3059
3060         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3061         of 0. Not a problem, really.
3062
3063         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3064         warn if sync=true.
3065
3066 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3067
3068         * configure.ac:
3069           Prelease of 0.10.3
3070
3071 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3072
3073         * win32/vs7:
3074           project files updated to the default vs7 configuration
3075         * win32/common/libgstbase.def:
3076         * win32/common/libgstreamer.def:
3077           added new symbols,
3078           removed empty lines,
3079           sorted all exported symbols alphabetically
3080         * win32/common/dirent.c:
3081         * win32/common/dirent.h:
3082         * win32/common/gchar.h:
3083           use windows line end.
3084           
3085 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3086
3087         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3088           Send EOS event when stopping.
3089
3090 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3091
3092         * docs/README:
3093           Tell folks what to do if the plugin-foobar.xml file
3094           hasn't been generated for a newly-added plugin.
3095
3096 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3097
3098         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3099         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3100         (gst_collect_pads_start), (gst_collect_pads_stop),
3101         (gst_collect_pads_event): Collectpads now holds a reference
3102         to the GstPad that was added. Indeed we don't want to look
3103         at pads that might just go away with no warning...
3104
3105 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3106
3107         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3108         (gst_collect_pads_start), (gst_collect_pads_stop),
3109         (gst_collect_pads_event), (gst_collect_pads_chain):
3110         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3111         Mark Nauwelaerts's patch on bug #328491.
3112
3113 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3114
3115         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3116         (gst_utils_suite):
3117           Add some simple tests for gst_parse_bin_from_description() and
3118           gst_bin_find_unconnected_pad() (#329069).
3119
3120 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3121
3122         * tools/gst-launch.c: (event_loop), (main):
3123           Catch errors during preroll (#320084).
3124
3125 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3126
3127         * plugins/elements/gsttypefindelement.c:
3128         (gst_type_find_element_activate):
3129           Post TYPE_NOT_FOUND error message when typefinding
3130           is unsuccessful in the activate function as well.
3131
3132 2006-02-02  Wim Taymans  <wim@fluendo.com>
3133
3134         * docs/design/part-element-sink.txt:
3135         Updated doc.
3136
3137 2006-02-02  Wim Taymans  <wim@fluendo.com>
3138
3139         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3140         (gst_base_sink_render_object),
3141         (gst_base_sink_queue_object_unlocked):
3142         Only keep track of prerollable items when we are 
3143         prerolling.
3144         Before rendering after preroll, always check if we
3145         have queued items.
3146         Added some more debugging.
3147
3148 2006-02-02  Wim Taymans  <wim@fluendo.com>
3149
3150         * gst/gstelement.c: (gst_element_continue_state),
3151         (gst_element_set_state_func), (gst_element_change_state):
3152         Fixed #326576, been running this for quite some time with
3153         no regressions at all.
3154
3155 2006-02-02  Wim Taymans  <wim@fluendo.com>
3156
3157         * common/gst.supp:
3158         Added more suppressions
3159
3160 2006-02-02  Wim Taymans  <wim@fluendo.com>
3161
3162         * docs/design/part-element-sink.txt:
3163         Updated document.
3164
3165         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3166         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3167         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3168         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3169         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3170         (gst_base_sink_preroll_object),
3171         (gst_base_sink_queue_object_unlocked),
3172         (gst_base_sink_queue_object), (gst_base_sink_event),
3173         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3174         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3175         (gst_base_sink_get_position), (gst_base_sink_change_state):
3176         * libs/gst/base/gstbasesink.h:
3177         Totally refactored matching the design doc.
3178         Use two segments, one to clip incomming buffers and another to
3179         perform sync.
3180         Handle queueing correctly, bypass the queue when playing.
3181         Make EOS cancelable.
3182         Handle errors correctly when operating in pull based mode.
3183
3184         * tests/check/elements/fakesink.c: (GST_START_TEST),
3185         (fakesink_suite):
3186         Added new check for sinks.
3187
3188 2006-02-02  Wim Taymans  <wim@fluendo.com>
3189
3190         * gst/gstsegment.c: (gst_segment_clip):
3191         No reason to refuse to clip when start == -1
3192
3193 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3194
3195         * docs/README:
3196         * docs/manual/intro-basics.xml:
3197         * docs/manual/intro-preface.xml:
3198         * docs/manual/manual.xml:
3199         * docs/pwg/advanced-dparams.xml:
3200         * docs/pwg/intro-basics.xml:
3201         * docs/pwg/intro-preface.xml:
3202         * docs/pwg/pwg.xml:
3203           describe dparams (controller) for plugins
3204           unify docs a little more
3205
3206 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3207
3208         * docs/gst/gstreamer-sections.txt:
3209         * gst/gstutils.c: (element_find_unconnected_pad),
3210         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3211         * gst/gstutils.h:
3212           Add new API: gst_parse_bin_from_description() and
3213           gst_bin_find_unconnected_pad() (#329069).
3214
3215 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3216
3217         * docs/manual/README:
3218           uncover a nasty detail of the docs build
3219
3220 2006-01-31  Wim Taymans  <wim@fluendo.com>
3221
3222         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3223         Don't cache duration messages if we're not going to use or
3224         free them.
3225
3226 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3227
3228         * docs/manual/advanced-dparams.xml:
3229         * docs/pwg/advanced-dparams.xml:
3230           more dparam docs
3231         * gst/gstindex.c:
3232           fix docs
3233         * libs/gst/controller/lib.c: (gst_controller_init):
3234           init just once
3235
3236 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3237
3238         * gst/gstelement.c: (gst_element_message_full):
3239           also show file/line/func if no additional debug was given
3240
3241 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3242         
3243         * win32/vs7/grammar.vcproj:
3244           activate copy of autogenerated files for Release mode
3245
3246 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3247         
3248         * win32/common/libgstreamer.def:
3249           export gst_value_compare
3250
3251 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3252
3253         * plugins/elements/Makefile.am:
3254         * plugins/elements/gstelements.c:
3255         * plugins/elements/gstfdsink.c: (_do_init),
3256         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3257         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3258         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3259         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3260         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3261         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3262         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3263         * plugins/elements/gstfdsink.h:
3264         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3265
3266 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3267
3268         * docs/manual/advanced-dparams.xml:
3269           describe controller
3270         * docs/manual/advanced-position.xml:
3271         * docs/manual/basics-init.xml:
3272         * docs/manual/manual.xml:
3273         * docs/manual/titlepage.xml:
3274         * docs/pwg/pwg.xml:
3275         * docs/pwg/titlepage.xml:
3276           cleanup xml (more to come)
3277         * libs/gst/controller/gstcontroller.c:
3278           fix typo
3279
3280 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3281         
3282         * win32/vs6/grammar.dsp:
3283           add autogen of gstmarshal.c,h for Release mode
3284                 
3285 2006-01-30  Wim Taymans  <wim@fluendo.com>
3286
3287         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3288         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3289         (gst_base_sink_handle_object), (gst_base_sink_event),
3290         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3291         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3292         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3293         (gst_base_sink_deactivate), (gst_base_sink_activate),
3294         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3295         (gst_base_sink_query), (gst_base_sink_change_state):
3296         Basesink cleanups, remove some old code.
3297         Handle the case where a subclass can preroll in the render
3298         method (mostly audiosinks).
3299         Handle more events.
3300         Remove some locks around variables that are now protected
3301         with the PREROLL_LOCK (clock_id, flushing, ..).
3302         Optimize position query some more, do correct locking.
3303         Remove old code to push queue in state change, this is not
3304         needed anymore since preroll blocks on all prerollable items 
3305         now.
3306         Almost implemented as described in design doc.
3307
3308 2006-01-30  Wim Taymans  <wim@fluendo.com>
3309
3310         * tests/check/gst/gstbin.c: (GST_START_TEST):
3311         Wait for refcount to settle down before checking.
3312
3313 2006-01-30  Wim Taymans  <wim@fluendo.com>
3314
3315         * docs/design/part-element-sink.txt:
3316         Pseudo code overview of desired sink behaviour regarding
3317         preroll.
3318
3319 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3320         * win32/vs6/grammar.dsp:
3321           fix some bugs in Release mode for autogenerated files
3322                 
3323 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3324         * win32/common/libgstbase.def:
3325         * win32/common/libgstreamer.def:
3326           export some new symbols: gst_base_src_set_format,
3327           gst_iterator_next, gst_structure_set_valist
3328
3329 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3330
3331         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3332         Set pad functions unconditionally. Fixes #329105.
3333
3334 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3335         * win32/vs8:
3336           add vs8 project files created by Sergey Scobich
3337
3338 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3339
3340         * gst/gstutils.c: (gst_element_unlink_pads):
3341         Don't leak pad references.
3342
3343         * tests/check/elements/fakesink.c: (GST_START_TEST):
3344         * tests/check/generic/sinks.c: (GST_START_TEST):
3345         * tests/check/generic/states.c: (GST_START_TEST):
3346         * tests/check/gst/gstbin.c: (GST_START_TEST):
3347         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3348         * tests/check/gst/gstelement.c: (GST_START_TEST):
3349         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3350         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3351         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3352         Fix a bunch of leaks. Make generic/sinks.c
3353         use a bit less cpu by slowing the buffer rate
3354         between fakesrc and fakesink.
3355         
3356 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3357         * gst/gstcaps.c:
3358         * gst/gstelement.c: (gst_element_send_event):
3359         * gst/gstevent.c:
3360         * gst/gstinfo.c:
3361         * gst/gstiterator.c:
3362         * gst/gstiterator.h:
3363         * gst/gstpad.c: (gst_pad_send_event):
3364         * gst/gststructure.c:
3365         * gst/gsturi.c:
3366         * gst/gstutils.c:
3367         * gst/gstvalue.c:
3368         * libs/gst/base/gstadapter.c:
3369           doc fixes, to link to function, just write gst_cool_function(), don't
3370           prefix with '#'
3371
3372 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3373
3374         * plugins/elements/gsttee.c: (gst_tee_do_push),
3375         (gst_tee_handle_buffer):
3376         Always prefer an actual return value from a src
3377         pad in place of NOT_LINKED. This means we return
3378         WRONG_STATE when all src pads are WRONG_STATE
3379         instead of NOT_LINKED.
3380
3381         Lock when replacing the last message to prevent
3382         racing with the get_property method.
3383
3384         Add debug output
3385
3386 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3387
3388         * tests/check/Makefile.am:
3389         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3390         (main):
3391         Add a very simple check that should have caught the memleak I fixed
3392         last night (if not for the slice allocator hiding it)
3393
3394 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3395
3396         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3397         (gst_bin_remove_func), (gst_bin_handle_message_func),
3398         (bin_query_duration_fold), (bin_query_generic_fold):
3399         Clean up references to the clock provider when disposed or when
3400         handling a clock-lost message from it.
3401
3402         Unref sinks when performing a query via gst_iterator_fold, as the
3403         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3404
3405         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3406         (gst_clock_set_master):
3407         Drop our reference to the master clock, if any, when we are disposed.
3408
3409         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3410         Chain up in dispose. 
3411
3412 2006-01-26  Wim Taymans  <wim@fluendo.com>
3413
3414         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3415         Add some debugging.
3416
3417 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3418
3419         * plugins/elements/gsttee.c: (gst_tee_do_push),
3420         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3421         handles pad being NOT_LINKED or in WRONG_STATE.
3422
3423 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3424
3425         * win32/MANIFEST:
3426           more updating
3427
3428 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3429
3430         * win32/MANIFEST:
3431           remove obsolete entry
3432
3433 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3434
3435         * docs/gst/gstreamer-sections.txt:
3436         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3437         (gst_bin_iterate_sources), (gst_bin_send_event):
3438         * gst/gstbin.h:
3439         * gst/gstelement.c: (gst_element_send_event):
3440         * gst/gstevent.c:
3441         * gst/gstpad.c: (gst_pad_send_event):
3442           added code for downstream events, reviewed docs in gstevent.c
3443
3444 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3445
3446         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3447         We only query position using the clock in the playing state.
3448         Query peer in the other cases.
3449         * win32/common/config.h: Updates.
3450
3451 2006-01-24  Wim Taymans  <wim@fluendo.com>
3452
3453         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3454         A clock entry that is scheduled for the exact time of the
3455         clock is still in time.
3456
3457         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3458         (gst_base_sink_do_sync):
3459         Add some more debug info.
3460
3461 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3462
3463         * win32/vs7:
3464           Add new vs7 project files and solution.
3465
3466 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3467
3468         * win32/vs7:
3469           all files removed as they were out-dated.
3470
3471 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3472
3473         * docs/random/release:
3474           update notes
3475         * gst/gstbin.c: (gst_bin_init):
3476         * gst/gstbus.c: (gst_bus_new):
3477         * gst/gstbus.h:
3478         * gst/gstpipeline.c: (gst_pipeline_init):
3479           use gst_bus_new(), improve logging, fix docs
3480         * win32/common/config.h:
3481           update for cvs build
3482
3483 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3484
3485         * autogen.sh:
3486           up required version of automake to 1.7
3487
3488 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3489
3490         * win32/common/libgstreamer.def:
3491           export gst_buffer_is_metadata_writable
3492
3493 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3494
3495         * docs/gst/gstreamer-sections.txt:
3496         * gst/gstevent.h:
3497           Add gst_event_replace() (#327001)
3498
3499 2006-01-20  Wim Taymans  <wim@fluendo.com>
3500
3501         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3502         Make it actually compile too..
3503
3504 2006-01-20  Wim Taymans  <wim@fluendo.com>
3505
3506         * gst/gstcaps.c:
3507         Clarify behaviour of _is_equal() when passing NULL parameters.
3508
3509         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3510         (gst_pad_set_caps):
3511         Cleanups. Don't unref NULL caps.
3512         When setting the same caps, protect caps of the pad with
3513         proper lock.
3514         Use full functionality of _is_equal() when comparing caps.
3515
3516 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3517
3518         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3519         Don't loop infinitely if there are no buffers to present. Partially
3520         fixes #327197, but collectpads is just broken for reusing elements
3521         to do multiple encodes atm.
3522
3523 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3524
3525         * tools/gst-inspect.c: (print_element_features):
3526         * tools/gst-xmlinspect.c: (main):
3527         URL_HANDLER is not a plugin feature we can search for in
3528         the registry.
3529
3530 2006-01-19  Edward Hervey  <edward@fluendo.com>
3531
3532         * gst/gstelement.c: (gst_element_pads_activate): 
3533         When activating, do src pads first, then sink pads.
3534         When de-activating, do sink pads first, then src pads.
3535
3536 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3537
3538         * docs/gst/gstreamer-sections.txt:
3539         Add gst_index_add_associationv to the docs
3540
3541 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3542
3543         * gst/gstevent.c:
3544           Fix docs typo
3545
3546         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3547         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3548           Do some refactoring. Doesn't actually change functionality,
3549           but makes landing the DRAIN event easier later.
3550
3551 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3552
3553         * docs/pwg/advanced-scheduling.xml:
3554           Update from 0.9.x to 0.10 API and make example a bit
3555           clearer.
3556
3557 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3558
3559         * docs/gst/gstreamer-sections.txt:
3560         Add gst_buffer_(is|make)_metadata_writable methods.
3561
3562 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3563
3564         * docs/design/part-sparsestreams.txt:
3565         Update sparse streams doc, hopefully for greater clarity
3566
3567 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3568
3569         * docs/design/part-events.txt:
3570         Remove mention of FILLER events.
3571         Add DRAIN event.
3572
3573         * docs/design/part-sparsestreams.txt:
3574         Write some things about using NEWSEGMENT to keep sparse streams
3575         flowing.
3576
3577 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3578
3579         * gst/gstbin.c: (gst_bin_dispose):
3580           Guard gst_object_unref call against a NULL object (dispose
3581           can theoretically be called multiple times).
3582           
3583 2006-01-18  Wim Taymans  <wim@fluendo.com>
3584
3585         * gst/gstbin.c: (gst_bin_element_set_state):
3586         * gst/gstclock.c: (gst_clock_id_wait):
3587         Added some more debug info.
3588
3589         * libs/gst/base/gstadapter.c:
3590         Added more docs.
3591
3592         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3593         (gst_base_sink_do_sync), (gst_base_sink_chain):
3594         Added some comments.
3595
3596 2006-01-18  Wim Taymans  <wim@fluendo.com>
3597
3598         * tests/check/Makefile.am:
3599         * tests/check/elements/fakesink.c: (chain_async_buffer),
3600         (chain_async), (chain_async_return), (GST_START_TEST),
3601         (fakesink_suite), (main):
3602         Added fakesink test that checks prerolling and clipping
3603         behaviour.
3604
3605         * tests/check/gst/gstutils.c: (GST_START_TEST):
3606         Make check run faster so that buildbots don't timeout.
3607
3608 2006-01-18  Wim Taymans  <wim@fluendo.com>
3609
3610         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3611         (gst_base_sink_do_sync):
3612         Some cleanups.
3613         When the sink finishes blocking on the preroll buffer, it can
3614         immediatly render it instead of rendering when the next buffer
3615         arrives.
3616
3617 2006-01-18  Wim Taymans  <wim@fluendo.com>
3618
3619         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3620         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3621         (gst_base_sink_chain):
3622         Small cleanups.
3623         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3624         Don't store _last_stop if the buffer is dropped.
3625
3626 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3627
3628         * plugins/elements/gsttypefindelement.c:
3629         (gst_type_find_element_class_init):
3630           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3631           object method handler that sets the caps on the pad and we want
3632           that to happen before we emit the signal (fixes e.g. feeding a
3633           plain text file to decodebin).
3634
3635 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3636
3637         * gst/gstplugin.c: Add MPL and Proprietary as license options
3638
3639 2006-01-18  Andy Wingo  <wingo@pobox.com>
3640
3641         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3642         symbol was exported before, it appears this was just an oversight.
3643         Fixes #168703.
3644         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3645
3646         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3647         prototype to gint. OK since this prototype was not in the header.
3648
3649 2006-01-17  Andy Wingo  <wingo@pobox.com>
3650
3651         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3652         registry while we remove plugins.
3653
3654         * tools/gst-inspect.c (print_element_info): Don't unref the
3655         factory arg, that should be the responsibility of whatever code
3656         received the ref. Fixes a double-free when called from
3657         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3658         (main): Unref the factory if we have one.
3659         (print_element_list): No change -- relies on the
3660         plugin_feature_list_free to free the list of features.
3661
3662 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3663
3664         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3665         (gst_buffer_make_metadata_writable):
3666         * gst/gstbuffer.h:
3667         * libs/gst/base/gstbasetransform.c:
3668         (gst_base_transform_prepare_output_buf):
3669         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3670         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3671           Replace gst_buffer_(make|is)_metadata_writable patch now
3672           that the release is out.
3673
3674 2006-01-17  Andy Wingo  <wingo@pobox.com>
3675
3676         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3677         in the present tense without reference to versions.
3678
3679         * gst/gstregistry.c (gst_registry_add_plugin)
3680         (gst_registry_remove_plugin, gst_registry_remove_feature)
3681         (gst_registry_find_feature, gst_registry_get_feature_list)
3682         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3683         (gst_registry_lookup, gst_registry_scan_path)
3684         (_gst_registry_remove_cache_plugins)
3685         (gst_registry_get_feature_list_by_plugin): Add argument
3686         validation.
3687
3688 === release 0.10.2 ===
3689
3690 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3691
3692         * configure.ac:
3693           releasing 0.10.2, "If man is five"
3694
3695 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3696
3697         * gst/gstbuffer.c:
3698         * gst/gstbuffer.h:
3699         * libs/gst/base/gstbasetransform.c:
3700         (gst_base_transform_prepare_output_buf):
3701         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3702         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3703           Back out patch until after the release.
3704
3705 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3706
3707         * gst/gstminiobject.c:
3708           Spelling fix in docs.
3709         * ChangeLog - remove conflict indicator
3710
3711 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3712
3713         Reviewed By: Andy Wingo
3714
3715         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3716         (gst_buffer_make_metadata_writable):
3717         * gst/gstbuffer.h:
3718           Add gst_buffer_(is|make)_metadata_writable as analogues of
3719           gst_buffer_(is|make)_writable.
3720
3721         * libs/gst/base/gstbasetransform.c:
3722         (gst_base_transform_prepare_output_buf):
3723         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3724           Use name gst_buffer_(is|make)_metadata_writable functions.
3725
3726         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3727           Test gst_buffer_(is|make)_metadata_writable
3728         
3729           (Closes: #324162)
3730
3731 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3732
3733         * docs/manual/Makefile.am:
3734           don't do parallel make
3735         * configure.ac:
3736           AC_SUBST HOST_CPU
3737         * win32/common/config.h.in:
3738           add generations for HOST_CPU and GST_MAJORMINOR
3739         * win32/common/config.h:
3740           commit generated result
3741
3742 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3743
3744         * docs/manual/appendix-integration.xml:
3745           Update GNOME integration section to use gst_init_get_option_group()
3746           instead of the old popt stuff (#322911). Also, GNOME applications
3747           should  now use gconf*sink and gconf*src instead of the old gconf
3748           helper lib we had.
3749
3750 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3751
3752
3753         * docs/gst/gstreamer-docs.sgml:
3754         * docs/gst/gstreamer-sections.txt:
3755         * docs/libs/gstreamer-libs-sections.txt:
3756           add new API entries to the docs
3757         * libs/gst/controller/Makefile.am:
3758         * libs/gst/controller/gstcontroller.c:
3759         * libs/gst/controller/gstcontroller.h:
3760         * libs/gst/controller/gstcontrollerprivate.h:
3761         * libs/gst/controller/gsthelper.c:
3762         * libs/gst/controller/gstinterpolation.c:
3763           move private structs to private header
3764         * po/README:
3765           gstreamer-0.7 -> gstreamer-0.10
3766         * tests/check/libs/struct_i386.h:
3767           remove private structs
3768
3769 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3770
3771         * plugins/indexers/Makefile.am:
3772           Fixes as part of #317048
3773
3774 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3775
3776         * plugins/indexers/Makefile.am:
3777           fix #316086 - compilation when mmap is missing
3778
3779 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3780
3781         * libs/gst/base/gstbasesink.c:
3782           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3783           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3784         * win32/common/config.h:
3785           added some defines GST_MAJORMINOR and HOST_CPU
3786         * win32/common/libgstbase.def:
3787         * win32/common/libgstreamer.def:
3788           added some exported functions.
3789
3790 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3791
3792         * libs/gst/controller/gstcontroller.c:
3793         (gst_controlled_property_set_interpolation_mode),
3794         (gst_controlled_property_new):
3795         * libs/gst/controller/gstcontroller.h:
3796         * libs/gst/controller/gstinterpolation.c:
3797         (interpolate_none_get_string_value_array):
3798           make G_TYPE_STRING controlable
3799
3800 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3801
3802         * tools/README:
3803         * tools/gst-feedback.1.in:
3804         * tools/gst-inspect.1.in:
3805         * tools/gst-launch.1.in:
3806         * tools/gst-md5sum.1.in:
3807         * tools/gst-typefind.1.in:
3808         * tools/gst-xmlinspect.1.in:
3809         * tools/gst-xmllaunch.1.in:
3810           cleanup man-pages, remove reference to gst-register, document env-vars
3811
3812 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3813
3814         * gst/gstbuffer.c: (gst_buffer_span):
3815           gst_buffer_span should copy the timestamp of the first buffer
3816           if they were both originally overlapping subbuffers of the 
3817           same parent, using the same logic as the 'slow copy' case.
3818
3819 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3820
3821         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3822           Need to awaken ALL the pads when we pop a buffer, otherwise
3823           collectpads only works when there is 2 input streams.
3824
3825 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3826
3827         * docs/random/ensonic/media-device-daemon.txt:
3828           more ideas (dbus)
3829         * gst/gstbuffer.c:
3830           fix doc example, add clarification
3831         * tools/gst-launch.1.in:
3832           add initial info about GST_PLUGIN_PATH, needs more work
3833
3834 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3835
3836         * docs/manual/basics-bins.xml:
3837         * docs/manual/basics-elements.xml:
3838         * docs/manual/intro-basics.xml:
3839           Some more minor docs additions and updates.
3840
3841 2006-01-11  Wim Taymans  <wim@fluendo.com>
3842
3843         * docs/manual/basics-bins.xml:
3844         * docs/manual/basics-elements.xml:
3845         Some small fixes as pointed out by Ser-ver on IRC.
3846
3847 2006-01-10  Edward Hervey  <edward@fluendo.com>
3848
3849         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3850         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3851         the single-segment mode.
3852
3853 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3854
3855         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3856
3857         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3858         (gst_base_src_perform_seek), (gst_base_src_send_event),
3859         (gst_base_src_set_property), (gst_base_src_get_property),
3860         (gst_base_src_loop), (gst_base_src_start),
3861         (gst_base_src_activate_push):
3862         * libs/gst/base/gstbasesrc.h:
3863           Name (private) union; makes Sun's Forte compiler happy (#324900).
3864
3865 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3866
3867         * README:
3868           gst-register is gone.
3869
3870 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3871
3872         * gst/gstvalue.c: (_gst_value_initialize):
3873           make the G_TYPE_DATE instantiation work if debug is disabled
3874
3875 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3876
3877         * gst/gstmessage.c: (gst_message_parse_tag),
3878         (gst_message_parse_error), (gst_message_parse_warning):
3879           Don't crash when return location for error/warning debug
3880           string is NULL; add fact that return locations can be
3881           NULL to docs where appropriate.
3882
3883 2006-01-05  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/gstplugin.c: (gst_plugin_load_file):
3886         Replace strdup by g_strdup.
3887
3888 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3889
3890         * docs/pwg/advanced-types.xml:
3891           fix doc borkage
3892
3893 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3894
3895         submitted by: Abel Cheung
3896
3897         * po/LINGUAS:
3898         * po/zh_TW.po:
3899           Added Chinese (traditional) translation
3900
3901 2006-01-04  Wim Taymans  <wim@fluendo.com>
3902
3903         * docs/manual/basics-pads.xml:
3904         * docs/plugins/Makefile.am:
3905         * docs/plugins/gstreamer-plugins-docs.sgml:
3906         * docs/plugins/gstreamer-plugins-sections.txt:
3907         * docs/pwg/advanced-clock.xml:
3908         * docs/pwg/advanced-scheduling.xml:
3909         * docs/pwg/advanced-types.xml:
3910         * plugins/elements/gstfdsink.c:
3911         * plugins/elements/gstfdsrc.c:
3912         * plugins/elements/gstfdsrc.h:
3913         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3914         * plugins/elements/gstidentity.h:
3915         * plugins/elements/gstqueue.h:
3916         * plugins/elements/gsttee.c:
3917         * plugins/elements/gsttee.h:
3918         * plugins/elements/gsttypefindelement.c:
3919         (gst_type_find_element_class_init):
3920         * plugins/elements/gsttypefindelement.h:
3921         Small updates to various docs.
3922         Added core plugins to docs.
3923
3924 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3925
3926         * common/gst.supp:
3927           add a suppression for liboil's uninitialized variable
3928
3929 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3930
3931         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3932
3933         * gst/gstutils.h:
3934           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3935           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3936           compiler switch is being used (#325429).
3937
3938 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3939
3940         * gst/gstbin.c: (gst_bin_query):
3941           Disable duration query caching in bins until it gets
3942           fixed (see #324807).
3943
3944 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3945
3946         * tools/gst-inspect.c: (print_element_properties_info):
3947           Handle properties of POINTER and BOXED type.
3948
3949 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3950
3951         * gst/gst.c: (init_post):
3952           Init tags stuff and some other things before loading
3953           any static plugins (there may be other static plugins
3954           than just the GStreamer ones, and they may want to
3955           register their own tags or formats or whatever, and
3956           preferably without segfaulting).
3957
3958         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3959           Print at least a warning in the debug logs if we drop a
3960           query just because we don't know how to adjust the value
3961           in the particular format.
3962
3963 2005-12-24  David Schleef  <ds@schleef.org>
3964
3965         * tools/gstreamer-completion:
3966           Replacement for gst-complete written in sh and sed.  Only
3967           completes names of features, but that's 90% of what I want
3968           it for.  Properties are not available in registry.xml.  (Maybe
3969           they should be...)
3970
3971 === release 0.10.1 ===
3972
3973 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3974
3975         * configure.ac:
3976           releasing 0.10.1, "Nollaig chridheil"
3977
3978 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3979
3980         * docs/faq/cvs.xml:
3981           Add missing quote, should be make ERROR_CFLAGS="".
3982
3983 2005-12-20  Wim Taymans  <wim@fluendo.com>
3984
3985         * docs/design/part-trickmodes.txt:
3986         More documentation on trickmodes.
3987
3988 2005-12-20  Edward Hervey  <edward@fluendo.com>
3989
3990         * gst/gstcaps.c: (gst_static_caps_get_type):
3991         * gst/gstcaps.h:
3992           API addition: GST_TYPE_STATIC_CAPS
3993         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3994         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3995         * gst/gstpadtemplate.h:
3996           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3997         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3998         bindings.
3999
4000 2005-12-18  Wim Taymans  <wim@fluendo.com>
4001
4002         * libs/gst/base/gstadapter.c:
4003         * libs/gst/base/gstadapter.h:
4004         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4005         (gst_base_sink_get_position):
4006         * libs/gst/base/gstbasesink.h:
4007         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4008         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4009         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4010         (gst_base_src_send_event), (gst_base_src_update_length),
4011         (gst_base_src_get_range), (gst_base_src_loop),
4012         (gst_base_src_start):
4013         * libs/gst/base/gstbasesrc.h:
4014         * libs/gst/base/gstbasetransform.h:
4015         * libs/gst/base/gstcollectpads.h:
4016         * libs/gst/base/gstpushsrc.c:
4017         * libs/gst/base/gstpushsrc.h:
4018         * libs/gst/dataprotocol/dataprotocol.c:
4019         * libs/gst/dataprotocol/dataprotocol.h:
4020         * libs/gst/net/gstnetclientclock.h:
4021         * libs/gst/net/gstnettimeprovider.h:
4022         Documentation updates.
4023
4024 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4025
4026         * docs/manual/basics-helloworld.xml:
4027           Remove superfluous closing bracket in helloworld example.
4028
4029 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4030
4031         * tools/gst-launch.1.in:
4032           Update gst-launch man page; add a section with useful
4033           environment variables. Fixes #323882.
4034
4035 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4036
4037         * gst/gst.c:
4038         * gst/gst_private.h:
4039           change some char* into char[]
4040
4041 2005-12-16  Wim Taymans  <wim@fluendo.com>
4042
4043         * gst/gstregistryxml.c: (load_feature):
4044         Cleanups.
4045         Don't use g_object_unref on GstObjects so that we avoid
4046         leaks on unsafe glibs.
4047
4048 2005-12-16  Wim Taymans  <wim@fluendo.com>
4049
4050         * gst/gstbin.c: (gst_bin_recalc_state):
4051         Small doc updates.
4052
4053 2005-12-16  Wim Taymans  <wim@fluendo.com>
4054
4055         * common/check.mak:
4056         Added make forever target for check.
4057
4058 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4059
4060         * gst/gst.c: (init_post):
4061           make the registry cache file HOST_CPU-dependent
4062
4063 2005-12-16  Andy Wingo  <wingo@pobox.com>
4064
4065         * plugins/elements/gstbufferstore.c
4066         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4067         return value.
4068
4069         * tests/check/gst/gstobject.c
4070         (test_fake_object_name_threaded_unique): Pay attention to
4071         g_list_sort return value.
4072
4073 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4074
4075         * tools/gst-feedback-m.m:
4076           Update for 0.9/0.10 (fixes #323870).
4077
4078 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4079
4080         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4081           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4082           
4083         * tests/check/gst/gstminiobject.c: (my_foo_init),
4084         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4085         (test_value_collection), (gst_mini_object_suite):
4086           Add test to ensure refcounts end up as expected when passing
4087           GstMiniObjects through g_object_get() and g_object_set().
4088
4089 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4090
4091         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4092         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4093         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4094         of collectpads. This version removes a lot of races without
4095         touching API/ABI. Yay !
4096
4097 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4098
4099         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4100           Don't allow activation of a srcpad in pull_range if it has no
4101           getrange function.
4102           Change some debug statements to be a little clearer
4103
4104         * plugins/elements/gsttypefindelement.c:
4105         (gst_type_find_handle_src_query):
4106           Check that we have a peer before executing queries thereupon.
4107
4108         * tests/examples/metadata/read-metadata.c: (message_loop):
4109           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4110           immediately return us any available message with 0 timeout.
4111
4112 2005-12-12  Michael Smith  <msmith@fluendo.com>
4113
4114         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4115           Don't unref factories after calling them.
4116         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4117         * plugins/elements/gsttypefindelement.c:
4118         (gst_type_find_element_chain):
4119           Free lists of factories after using them. Fixing typefinding memory
4120           leaks.
4121
4122 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4123
4124         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4125         (gst_plugin_feature_load):
4126           more meaningful debug output
4127         * configure.ac:
4128         * tests/Makefile.am:
4129         * tests/old/examples/Makefile.am:
4130           make make distcheck happy again
4131
4132 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4133
4134         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4135           Catch the special case where we are operating chain-based,
4136           but the downstream peer pad has no chain function. Emit a
4137           custom error message in this case instead of letting the
4138           core generate one implying that this is some sort of core
4139           bug. It's not, it just means that whatever got plugged
4140           into the pipeline downstream when we announced the type
4141           can only operate pull-based, while our source can only
4142           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4143           Error string has not been marked for translation yet, as
4144           it probably needs some more work first.
4145
4146         (gst_type_find_element_get_best_possibility):
4147           Add helper function to find the best of all available
4148           found possibilities that qualify given the min. threshold.
4149
4150         (gst_type_find_element_handle_event):
4151           Fix the case where we get an EOS while still in TYPEFIND
4152           mode (we want to chose the best of all possible types,
4153           not just the first type that happens to be in our unsorted
4154           list of possible types).
4155
4156         (gst_type_find_element_chain):
4157           Make sure we return GST_FLOW_ERROR when we errored out
4158           in stop_typefinding(); also, don't just find the best of
4159           all found type entries and then use the last examined
4160           type entry, but actually use the best entry.
4161
4162 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4163
4164         * tests/examples/typefind/typefind.c: (type_found):
4165         * tests/examples/xml/runxml.c: (xml_loaded):
4166           More gcc4 fixes and a mem leak fix.
4167
4168 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4169
4170         * tests/examples/xml/createxml.c: (object_saved):
4171           gcc 4 fixes
4172
4173 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4174
4175         * tests/Makefile.am:
4176           enable the examples even more
4177
4178 2005-12-12  Andy Wingo  <wingo@pobox.com>
4179
4180         * libs/gst/net/gstnettimeprovider.c
4181         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4182         (gst_net_time_provider_set_property)
4183         (gst_net_time_provider_get_property):
4184         API addition: Export "active" as a GObject property.
4185         (gst_net_time_provider_thread): Only respond to time queries if
4186         the time provider is active.
4187
4188         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4189         NetTimeProvider, preserving binary compat.
4190
4191 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4192
4193         * tests/examples/controller/audio-example.c: (main):
4194         * tests/examples/launch/Makefile.am:
4195           convert comments again
4196
4197 2005-12-12  Wim Taymans  <wim@fluendo.com>
4198
4199         * libs/gst/base/gstpushsrc.c:
4200         Fix typo.
4201
4202 2005-12-12  Wim Taymans  <wim@fluendo.com>
4203
4204         * docs/libs/gstreamer-libs-sections.txt:
4205         Added new symbol to docs.
4206
4207         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4208         (gst_base_src_init), (gst_base_src_set_format),
4209         (gst_base_src_default_query), (gst_base_src_query),
4210         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4211         (gst_base_src_perform_seek), (gst_base_src_send_event),
4212         (gst_base_src_default_event), (gst_base_src_event_handler),
4213         (gst_base_src_set_property), (gst_base_src_get_property),
4214         (gst_base_src_wait), (gst_base_src_do_sync),
4215         (gst_base_src_update_length), (gst_base_src_get_range),
4216         (gst_base_src_check_get_range), (gst_base_src_loop),
4217         (gst_base_src_default_negotiate), (gst_base_src_start),
4218         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4219         (gst_base_src_change_state):
4220         * libs/gst/base/gstbasesrc.h:
4221         Implement seeking to other formats than _BYTES.
4222         Implement more seeking methods correctly.
4223         Doc updates.
4224         Added query vmethod.
4225         Added do_seek vmethod to make life easier for subclasses
4226         when seeking.
4227         API addition: gst_base_src_set_format()
4228
4229 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4230
4231         * tests/examples/Makefile.am:
4232           added that too
4233
4234 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4235
4236         * configure.ac:
4237         * docs/random/ensonic/media-device-daemon.txt:
4238         * tests/examples/controller/.cvsignore:
4239         * tests/examples/controller/Makefile.am:
4240         * tests/examples/controller/audio-example.c: (main):
4241         * tests/examples/helloworld/.cvsignore:
4242         * tests/examples/helloworld/Makefile.am:
4243         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4244         * tests/examples/launch/.cvsignore:
4245         * tests/examples/launch/Makefile.am:
4246         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4247         * tests/examples/metadata/.cvsignore:
4248         * tests/examples/metadata/Makefile.am:
4249         * tests/examples/metadata/read-metadata.c: (message_loop),
4250         (make_pipeline), (print_tag), (main):
4251         * tests/examples/queue/.cvsignore:
4252         * tests/examples/queue/Makefile.am:
4253         * tests/examples/queue/queue.c: (event_loop), (main):
4254         * tests/examples/typefind/.cvsignore:
4255         * tests/examples/typefind/Makefile.am:
4256         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4257         (main):
4258         * tests/examples/xml/.cvsignore:
4259         * tests/examples/xml/Makefile.am:
4260         * tests/examples/xml/createxml.c: (object_saved), (main):
4261         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4262         * tests/old/examples/Makefile.am:
4263         * tests/old/examples/TODO:
4264         * tests/old/examples/controller/.cvsignore:
4265         * tests/old/examples/controller/Makefile.am:
4266         * tests/old/examples/controller/audio-example.c:
4267         * tests/old/examples/helloworld/.cvsignore:
4268         * tests/old/examples/helloworld/Makefile.am:
4269         * tests/old/examples/helloworld/helloworld.c:
4270         * tests/old/examples/launch/.cvsignore:
4271         * tests/old/examples/launch/Makefile.am:
4272         * tests/old/examples/launch/mp3parselaunch.c:
4273         * tests/old/examples/launch/mp3play:
4274         * tests/old/examples/manual/Makefile.am:
4275         * tests/old/examples/metadata/Makefile.am:
4276         * tests/old/examples/metadata/read-metadata.c:
4277         * tests/old/examples/queue/.cvsignore:
4278         * tests/old/examples/queue/Makefile.am:
4279         * tests/old/examples/queue/queue.c:
4280         * tests/old/examples/typefind/.cvsignore:
4281         * tests/old/examples/typefind/Makefile.am:
4282         * tests/old/examples/typefind/typefind.c:
4283         * tests/old/examples/xml/.cvsignore:
4284         * tests/old/examples/xml/Makefile.am:
4285         * tests/old/examples/xml/createxml.c:
4286         * tests/old/examples/xml/runxml.c:
4287           applied some simple fixing to some examples
4288           re-enabled the working examples
4289
4290 2005-12-12  Wim Taymans  <wim@fluendo.com>
4291
4292         * gst/gstsegment.c: (gst_segment_init),
4293         (gst_segment_set_last_stop), (gst_segment_set_seek),
4294         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4295         (gst_segment_to_running_time):
4296         Added more documentation.
4297         Make sure the last_pos value is updated properly.
4298         Make sure to_stream_time and to_running_time don't
4299         operate on wrong values.
4300
4301         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4302         Update check.
4303
4304 2005-12-12  Michael Smith  <msmith@fluendo.com>
4305
4306         * plugins/elements/gsttypefindelement.c: (free_entry),
4307         (gst_type_find_element_chain):
4308           Now that we're not leaking factories, make sure we keep references
4309           to them while we need them.
4310
4311 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4312
4313         * tests/check/gst/struct_i386.h:
4314           ifdef out the XML structs
4315
4316 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4317
4318         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4319           floor is not needed, F is always positive; this obviates the
4320           need for adding -lm when building without libxml
4321
4322 2005-12-12  Wim Taymans  <wim@fluendo.com>
4323
4324         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4325         Take current playback rate into account when reporting
4326         the position.
4327
4328 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4329
4330         * docs/manual/mime-world.fig:
4331           Let's try this again, this time with a file that is
4332           actually in XFig format.
4333
4334 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4335
4336         * docs/manual/mime-world.fig:
4337           Add audioconvert element to diagram so that it
4338           matches the text and the code (fixes #319526).
4339
4340 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4341
4342         * docs/pwg/building-chainfn.xml:
4343         * docs/pwg/building-pads.xml:
4344         * docs/pwg/building-state.xml:
4345         * docs/pwg/other-source.xml:
4346           Update state change stuff for 0.10 (fixes #322969).
4347
4348 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4349
4350         * docs/manual/advanced-dataaccess.xml:
4351         * docs/manual/appendix-checklist.xml:
4352         * docs/manual/appendix-programs.xml:
4353         * docs/manual/basics-pads.xml:
4354         * docs/manual/highlevel-components.xml:
4355         * docs/manual/manual.xml:
4356           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4357           add converters in front of pipelines; remove curly
4358           brackets for threads stuff, they no longer exist; use
4359           GST_TYPE_FRACTION for framerates; update some pieces of
4360           code to 0.10, but there's plenty more to do.
4361
4362         * docs/manual/appendix-porting.xml:
4363           Expand on asynchroneous state changes; s/0.9/0.10/;
4364           mention disappearance of gst_init_get_popt_table()
4365           (fixes #322916).
4366
4367 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4368
4369         * docs/faq/using.xml:
4370           Spider no longer exists, and neither does gst-launch-ext.
4371           Update examples to use decodebin and playbin and put
4372           converters in front of sinks (fixes #323726).
4373
4374 2005-12-09  Michael Smith  <msmith@fluendo.com>
4375
4376         * plugins/elements/gsttypefindelement.c: (find_peek),
4377         (gst_type_find_element_chain):
4378           Fix leaking element factories in typefinding.
4379           Fix problem where we forgot about a probable type on non-seekable
4380           files, and thus later mis-typefound it.
4381
4382 2005-12-09  Michael Smith  <msmith@fluendo.com>
4383
4384         * common/m4/gst-makecontext.m4:
4385         * common/m4/gst-mcsc.m4:
4386         * configure.ac:
4387         * win32/common/config.h:
4388         * win32/common/config.h.in:
4389           Remove makecontext stuff; not used in 0.10 and causes problems on
4390           HPUX according to bug #322441
4391
4392 2005-12-07  Wim Taymans  <wim@fluendo.com>
4393
4394         * tests/check/Makefile.am:
4395         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4396         (main):
4397         * tests/check/libs/struct_i386.h:
4398         Added ABI check for libs
4399
4400 2005-12-07  Wim Taymans  <wim@fluendo.com>
4401
4402         * tests/check/Makefile.am:
4403         And add the struct_i386.h to dist.
4404
4405 2005-12-07  Wim Taymans  <wim@fluendo.com>
4406
4407         * tests/check/Makefile.am:
4408         * tests/check/gst/.cvsignore:
4409         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4410         (main):
4411         * tests/check/gst/struct_i386.h:
4412         Added check for ABI compatibility.
4413
4414 2005-12-07  Wim Taymans  <wim@fluendo.com>
4415
4416         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4417         (gst_fake_src_get_times), (gst_fake_src_create):
4418         Fix broken sync option, fixes #323259
4419
4420 2005-12-07  Wim Taymans  <wim@fluendo.com>
4421
4422         * gst/gstbuffer.c:
4423         Small docs update.
4424
4425         * gst/gstcaps.c: (gst_caps_is_equal):
4426         Don't assert on NULL <--> X. Fixes #323260
4427
4428         * gst/gstminiobject.c: (gst_mini_object_replace):
4429         If we're doing atomic operations, we might just as well use
4430         the proper way to get an atomic pointer.
4431
4432         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4433         Clean up debugging.
4434
4435 2005-12-07  Michael Smith  <msmith@fluendo.com>
4436
4437         * gst/parse/grammar.y:
4438           Remove handling of { } for threads.
4439
4440 2005-12-06  David Schleef  <ds@schleef.org>
4441
4442         * libs/gst/base/gstbasetransform.c: speling fix.
4443
4444 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4445
4446         * docs/libs/tmpl/gstdataprotocol.sgml:
4447         * docs/random/omega/testing/gstobject.c:
4448         * gst/gst.c:
4449         * gst/gstclock.c:
4450         * gst/gstelement.c:
4451         * gst/gstelementfactory.c:
4452         * gst/gsterror.c:
4453         * gst/gstevent.c:
4454         * gst/gstghostpad.c:
4455         * gst/gstinfo.c:
4456         * gst/gstpadtemplate.c:
4457         * gst/gstregistryxml.c:
4458         * gst/gsttaglist.c:
4459         * gst/gsttagsetter.c:
4460         * gst/gsttypefind.c:
4461         * gst/gstvalue.c:
4462         * libs/gst/base/gstbasesrc.c:
4463         * libs/gst/net/gstnetclientclock.c:
4464         * libs/gst/net/gstnettimeprovider.c:
4465         * plugins/elements/gstfakesrc.c:
4466         * plugins/elements/gstfdsrc.c:
4467         * plugins/elements/gstfilesrc.c:
4468         * plugins/elements/gstidentity.c:
4469         * plugins/elements/gstqueue.c:
4470         * plugins/elements/gsttypefindelement.c:
4471         * plugins/indexers/gstfileindex.c:
4472         * plugins/indexers/gstmemindex.c:
4473         * tests/check/gst/gsttag.c:
4474         * tests/old/examples/cutter/cutter.c:
4475         * tests/old/examples/mixer/mixer.c:
4476         * tests/old/examples/xml/runxml.c: (main):
4477         * tests/old/testsuite/caps/normalisation.c:
4478         * tests/old/testsuite/debug/global.c:
4479         * tests/old/testsuite/parse/parse1.c:
4480         * tools/gst-xmlinspect.c:
4481         * win32/common/dirent.c:
4482           expand tabs
4483
4484 === release 0.10.0 ===
4485
4486 2005-12-05   <thomas (at) apestaart (dot) org>
4487
4488         * configure.ac:
4489           releasing 0.10.0, "Maroilles"
4490
4491 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4492
4493         submitted by: Funda Wang <fundawang@linux.net.cn>
4494
4495         * po/LINGUAS:
4496         * po/zh_CN.po:
4497           added Chinese (Traditional) translation
4498
4499 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4500
4501         * docs/gst/gstreamer-sections.txt:
4502         * docs/libs/tmpl/gstdataprotocol.sgml:
4503         * docs/random/thomasvs/TODO:
4504         * gst/gstutils.c:
4505         * gst/gstutils.h:
4506           fix docs
4507
4508 2005-12-05  Andy Wingo  <wingo@pobox.com>
4509
4510         patch by: Wim Taymans <wim@fluendo.com>
4511
4512         * libs/gst/base/gstbasetransform.c
4513         (gst_base_transform_prepare_output_buf)
4514         (gst_base_transform_buffer_alloc):
4515         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4516         alloc_buffer_and_set_caps.
4517
4518         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4519         set_caps on the source pad.
4520         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4521         alloc_buffer used to do. Fixes #322874.
4522
4523         * docs/gst/gstreamer-sections.txt: 
4524         * docs/design/part-negotiation.txt: 
4525         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4526         changes.
4527
4528 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4529
4530         patch by: Sebastien Moutte
4531
4532         * win32/MANIFEST:
4533         * win32/common/config.h.in:
4534         * win32/vs6/libgstcontroller.dsp:
4535           win32 build fixes
4536
4537 2005-12-05  Wim Taymans  <wim@fluendo.com>
4538
4539         * gst/gstcaps.c: (gst_caps_is_equal):
4540         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4541         (gst_fake_src_create):
4542         Back out previous code changes, leave doc updates, file bugs 
4543         instead. 
4544
4545 2005-12-05  Wim Taymans  <wim@fluendo.com>
4546
4547         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4548         (gst_fake_src_get_times), (gst_fake_src_create):
4549         * plugins/elements/gstfakesrc.h:
4550         Fix broken sync code.
4551
4552 2005-12-05  Wim Taymans  <wim@fluendo.com>
4553
4554         * gst/gstcaps.c: (gst_caps_is_equal):
4555         Comparing NULL against !NULL yields different caps, not a
4556         failure.
4557
4558 2005-12-05  Wim Taymans  <wim@fluendo.com>
4559
4560         * gst/gstpipeline.c:
4561         Fix small typo in docs.
4562
4563 2005-12-05  Andy Wingo  <wingo@pobox.com>
4564
4565         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4566
4567         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4568         registries/plugins with a MAJORMINOR one.
4569         (plugin_desc): Rename library from gstcoreleements to
4570         staticelements. Fixes #323222.
4571
4572 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4573
4574         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4575           Change debug category to 'collectpads' from 'collect_pads'
4576           (fixes #323250).
4577
4578 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4579
4580         patch by: Sebastien Moutte
4581
4582         * libs/gst/controller/gstinterpolation.c:
4583           use convert function for uint64/double
4584         * win32/vs6/libgstcontroller.dsp:
4585           link to GLib
4586
4587 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4588
4589         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4590         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4591         * gst/gstutils.h:
4592         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4593           add tests that seem to show that the guint64/gdouble conversions
4594           are correct.
4595
4596 2005-12-02  Wim Taymans  <wim@fluendo.com>
4597
4598         * gst/gstregistry.c: (gst_registry_add_path):
4599         * gst/gstregistry.h:
4600         * gst/gstregistryxml.c:
4601         Fix docs again.
4602
4603 2005-12-02  Wim Taymans  <wim@fluendo.com>
4604
4605         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4606         (gst_util_uint64_scale_int):
4607         Small cleanup.
4608
4609         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4610         Add debug log line.
4611
4612         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4613         Add FIXME.
4614
4615 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4616
4617         * win32/MANIFEST:
4618         * win32/common/config.h:
4619         * win32/vs6/gstreamer.dsw:
4620         * win32/vs6/libgstcoreelements.dsp:
4621         * win32/vs6/libgstelements.dsp:
4622           renamed core elements plugin
4623
4624 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4625
4626         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4627         (get_candidates):
4628           do piece-wise major/minor comparison so 0.9 < 0.10
4629           also allow .exe extensions for tools
4630
4631 2005-12-02  Michael Smith  <msmith@fluendo.com>
4632
4633         * gst/gst.c:
4634           Escape a % to make gtkdoc happier; bug 322958.
4635
4636 === release 0.9.7 ===
4637
4638 2005-12-01   <thomas (at) apestaart (dot) org>
4639
4640         * configure.ac:
4641           releasing 0.9.7, "My Dog Has No Nose"
4642
4643 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4644
4645         * common/gst-xmlinspect.py:
4646         * configure.ac:
4647         * docs/libs/tmpl/gstdataprotocol.sgml:
4648         * docs/random/release:
4649         * po/af.po:
4650         * po/az.po:
4651         * po/bg.po:
4652         * po/ca.po:
4653         * po/cs.po:
4654         * po/de.po:
4655         * po/en_GB.po:
4656         * po/fr.po:
4657         * po/it.po:
4658         * po/nb.po:
4659         * po/nl.po:
4660         * po/ru.po:
4661         * po/sq.po:
4662         * po/sr.po:
4663         * po/sv.po:
4664         * po/tr.po:
4665         * po/uk.po:
4666         * po/vi.po:
4667         * win32/common/config.h:
4668         * win32/common/config.h.in:
4669         * win32/vs6/gst_inspect.dsp:
4670         * win32/vs6/gst_launch.dsp:
4671         * win32/vs6/libgstbase.dsp:
4672         * win32/vs6/libgstelements.dsp:
4673         * win32/vs6/libgstreamer.dsp:
4674         * win32/vs7/GStreamer.vcproj:
4675         * win32/vs7/gst-inspect.vcproj:
4676         * win32/vs7/gst-launch.vcproj:
4677         * win32/vs7/libgstbase.vcproj:
4678           bump GST_MAJORMINOR to 0.10
4679           reset libtool version
4680
4681 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4682
4683         * po/LINGUAS:
4684         * po/bg.po:
4685           Added Bulgarian translation by (Alexander Shopov)
4686
4687 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4688
4689         * tests/check/gst/gstplugin.c:
4690           fix test
4691
4692 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4693
4694         * common/gst-xmlinspect.py:
4695         * common/gtk-doc-plugins.mak:
4696         * configure.ac:
4697         * docs/Makefile.am:
4698         * docs/gst/Makefile.am:
4699         * docs/gst/gstreamer-docs.sgml:
4700         * docs/gst/gstreamer-sections.txt:
4701         * docs/gst/gstreamer.types:
4702         * docs/gst/gstreamer.types.in:
4703         * docs/plugins/Makefile.am:
4704         * docs/plugins/gstreamer-plugins-docs.sgml:
4705         * docs/plugins/gstreamer-plugins-sections.txt:
4706         * docs/plugins/gstreamer-plugins.types:
4707         * docs/plugins/inspect.stamp:
4708         * docs/plugins/inspect/plugin-coreelements.xml:
4709         * docs/plugins/inspect/plugin-coreindexers.xml:
4710         * docs/plugins/scanobj-build.stamp:
4711         * gstreamer.spec.in:
4712         * plugins/elements/Makefile.am:
4713         * plugins/elements/gstelements.c:
4714         * plugins/elements/gstfakesink.c:
4715         * plugins/elements/gstfakesrc.c:
4716         * plugins/elements/gstfilesink.c:
4717         * plugins/elements/gstfilesrc.c:
4718         * plugins/elements/gstqueue.c:
4719         * plugins/indexers/Makefile.am:
4720         * plugins/indexers/gstindexers.c:
4721           document core plugins in a separate document just like all the
4722           others
4723           rename these plugins to something starting with core
4724
4725 2005-12-01  Andy Wingo  <wingo@pobox.com>
4726
4727         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4728         padding here before, but it missed the commit.
4729
4730 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4731
4732         * libs/gst/controller/gstinterpolation.c:
4733           whitespace prices have crashed, we should feel free to use some now
4734           use gst_guint64_to_gdouble
4735
4736 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4737
4738         * libs/gst/controller/gstcontroller.c:
4739         * libs/gst/controller/gsthelper.c:
4740         * libs/gst/controller/gstinterpolation.c:
4741         * libs/gst/controller/lib.c:
4742           wrap config.h include
4743
4744 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4745
4746         * docs/gst/gstreamer-sections.txt:
4747           update docs
4748
4749 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4750
4751         * plugins/elements/gstelements.c:
4752         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4753         (gst_fd_sink__class_init), (gst_fd_sink__init),
4754         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4755         (gst_fd_sink__get_property):
4756         * plugins/elements/gstfdsink.h:
4757         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4758         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4759         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4760         (gst_fd_src_unlock), (gst_fd_src_set_property),
4761         (gst_fd_src_get_property), (gst_fd_src_create),
4762         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4763         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4764         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4765         (gst_fd_src_uri_handler_init):
4766         * plugins/elements/gstfdsrc.h:
4767         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4768           more anal cleanup
4769
4770 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4771
4772         * docs/gst/Makefile.am:
4773         * docs/gst/gstreamer.types.in:
4774         * gst/Makefile.am:
4775           fix the docs build
4776
4777 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4778
4779         * configure.ac:
4780         * gst/Makefile.am:
4781         * gst/gst.c:
4782         * gst/gstplugin.h:
4783         * gst/gstregistry.h:
4784         * tests/benchmarks/complexity.c:
4785         * tests/benchmarks/mass-elements.c:
4786         * tests/check/Makefile.am:
4787         * tools/Makefile.am:
4788         * tools/gst-inspect.c:
4789         * tools/gst-xmlinspect.c:
4790           various fixes to make
4791           --disable-nls --disable-registry --disable-loadsave
4792           --disable-parse --disable-gst-debug
4793           work and get the core .so down to 360444 bytes after stripping
4794
4795 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         * Makefile.am:
4798         * configure.ac:
4799           descend into tests
4800         * docs/random/thomasvs/TODO:
4801         * tests/Makefile.am:
4802         * tests/README:
4803           add a README
4804
4805 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4806
4807         * win32/GStreamer.vcproj:
4808         * win32/MANIFEST:
4809         * win32/Makefile:
4810         * win32/Makefile.inspect:
4811         * win32/Makefile.launch:
4812         * win32/Makefile.register:
4813         * win32/README.txt:
4814         * win32/gst-inspect.vcproj:
4815         * win32/gst-launch.vcproj:
4816         * win32/gst-register.vcproj:
4817         * win32/gstelements.vcproj:
4818         * win32/gstgetbits.def:
4819         * win32/gstgetbits.vcproj:
4820         * win32/gstreamer-dbg.def:
4821         * win32/gstreamer.def:
4822         * win32/libgstbase.def:
4823         * win32/libgstbase.vcproj:
4824         * win32/link_oldruntime.c:
4825         * win32/mman.c:
4826         * win32/mman.h:
4827         * win32/mman.inl:
4828         * win32/msvc71.sln:
4829           move even more stuff, win32/ is nice and clean now
4830
4831 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4832
4833         * libs/gst/control/.cvsignore:
4834         * win32/MANIFEST:
4835         * win32/config.h:
4836         * win32/dirent.c:
4837         * win32/dirent.h:
4838         * win32/gstbytestream.def:
4839         * win32/gstbytestream.vcproj:
4840         * win32/gstconfig.h:
4841         * win32/gstenumtypes.c:
4842         * win32/gstenumtypes.h:
4843         * win32/gstoptimalscheduler.vcproj:
4844         * win32/gstversion.h:
4845         * win32/gtchar.h:
4846         * win32/testsuite/bins.vcproj:
4847         * win32/testsuite/bytestream.vcproj:
4848         * win32/testsuite/caps.vcproj:
4849         * win32/testsuite/cleanup.vcproj:
4850         * win32/testsuite/clock.vcproj:
4851         * win32/testsuite/debug.vcproj:
4852         * win32/testsuite/dlopen.vcproj:
4853         * win32/testsuite/dynparams.vcproj:
4854         * win32/testsuite/elements.vcproj:
4855         * win32/testsuite/ghostpads.vcproj:
4856         * win32/testsuite/indexers.vcproj:
4857         * win32/testsuite/negotiation.vcproj:
4858         * win32/testsuite/parse.vcproj:
4859         * win32/testsuite/plugin.vcproj:
4860         * win32/testsuite/refcounting.vcproj:
4861         * win32/testsuite/schedulers.vcproj:
4862         * win32/testsuite/states.vcproj:
4863         * win32/testsuite/tags.vcproj:
4864         * win32/testsuite/threads.vcproj:
4865           remove old win32 stuff that isn't maintained and should be
4866           reorganized
4867
4868 2005-11-30  Andy Wingo  <wingo@pobox.com>
4869
4870         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4871         loading the gst.interfaces python module bork.
4872
4873         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4874         available since GLib 2.2. Fixes #318031.
4875
4876 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4877
4878         * Makefile.am:
4879         * check/.cvsignore:
4880         * check/Makefile.am:
4881         * check/elements/.cvsignore:
4882         * check/elements/fakesrc.c:
4883         * check/elements/fdsrc.c:
4884         * check/elements/identity.c:
4885         * check/generic/.cvsignore:
4886         * check/generic/states.c:
4887         * check/gst-libs/.cvsignore:
4888         * check/gst-libs/controller.c:
4889         * check/gst-libs/gdp.c:
4890         * check/gst/.cvsignore:
4891         * check/gst/capslist.h:
4892         * check/gst/gst.c:
4893         * check/gst/gstbin.c:
4894         * check/gst/gstbuffer.c:
4895         * check/gst/gstbus.c:
4896         * check/gst/gstcaps.c:
4897         * check/gst/gstelement.c:
4898         * check/gst/gstevent.c:
4899         * check/gst/gstghostpad.c:
4900         * check/gst/gstiterator.c:
4901         * check/gst/gstmessage.c:
4902         * check/gst/gstminiobject.c:
4903         * check/gst/gstobject.c:
4904         * check/gst/gstpad.c:
4905         * check/gst/gstpipeline.c:
4906         * check/gst/gstplugin.c:
4907         * check/gst/gstsegment.c:
4908         * check/gst/gststructure.c:
4909         * check/gst/gstsystemclock.c:
4910         * check/gst/gsttag.c:
4911         * check/gst/gstutils.c:
4912         * check/gst/gstvalue.c:
4913         * check/net/.cvsignore:
4914         * check/net/gstnetclientclock.c:
4915         * check/net/gstnettimeprovider.c:
4916         * check/pipelines/.cvsignore:
4917         * check/pipelines/cleanup.c:
4918         * check/pipelines/simple_launch_lines.c:
4919         * check/pipelines/stress.c:
4920         * check/states/.cvsignore:
4921         * check/states/sinks.c:
4922         * configure.ac:
4923         * examples/Makefile.am:
4924         * examples/appreader/.cvsignore:
4925         * examples/appreader/Makefile.am:
4926         * examples/appreader/appreader.c:
4927         * examples/controller/.cvsignore:
4928         * examples/controller/Makefile.am:
4929         * examples/controller/audio-example.c:
4930         * examples/cutter/.cvsignore:
4931         * examples/cutter/Makefile.am:
4932         * examples/cutter/cutter.c:
4933         * examples/cutter/cutter.h:
4934         * examples/events/Makefile.am:
4935         * examples/events/seek.c:
4936         * examples/helloworld/.cvsignore:
4937         * examples/helloworld/Makefile.am:
4938         * examples/helloworld/helloworld.c:
4939         * examples/helloworld2/.cvsignore:
4940         * examples/helloworld2/Makefile.am:
4941         * examples/helloworld2/helloworld2.c:
4942         * examples/launch/.cvsignore:
4943         * examples/launch/Makefile.am:
4944         * examples/launch/mp3parselaunch.c:
4945         * examples/launch/mp3play:
4946         * examples/manual/.cvsignore:
4947         * examples/manual/Makefile.am:
4948         * examples/manual/extract.pl:
4949         * examples/metadata/Makefile.am:
4950         * examples/metadata/read-metadata.c:
4951         * examples/mixer/.cvsignore:
4952         * examples/mixer/Makefile.am:
4953         * examples/mixer/mixer.c:
4954         * examples/mixer/mixer.h:
4955         * examples/pingpong/.cvsignore:
4956         * examples/pingpong/Makefile.am:
4957         * examples/pingpong/pingpong.c:
4958         * examples/plugins/.cvsignore:
4959         * examples/plugins/Makefile.am:
4960         * examples/plugins/example.c:
4961         * examples/plugins/example.h:
4962         * examples/pwg/.cvsignore:
4963         * examples/pwg/Makefile.am:
4964         * examples/pwg/extract.pl:
4965         * examples/queue/.cvsignore:
4966         * examples/queue/Makefile.am:
4967         * examples/queue/queue.c:
4968         * examples/queue2/.cvsignore:
4969         * examples/queue2/Makefile.am:
4970         * examples/queue2/queue2.c:
4971         * examples/queue3/.cvsignore:
4972         * examples/queue3/Makefile.am:
4973         * examples/queue3/queue3.c:
4974         * examples/queue4/.cvsignore:
4975         * examples/queue4/Makefile.am:
4976         * examples/queue4/queue4.c:
4977         * examples/retag/.cvsignore:
4978         * examples/retag/Makefile.am:
4979         * examples/retag/retag.c:
4980         * examples/retag/transcode.c:
4981         * examples/thread/.cvsignore:
4982         * examples/thread/Makefile.am:
4983         * examples/thread/thread.c:
4984         * examples/typefind/.cvsignore:
4985         * examples/typefind/Makefile.am:
4986         * examples/typefind/typefind.c:
4987         * examples/xml/.cvsignore:
4988         * examples/xml/Makefile.am:
4989         * examples/xml/createxml.c:
4990         * examples/xml/runxml.c:
4991         * tests/Makefile.am:
4992         * tests/check/Makefile.am:
4993         * testsuite/.cvsignore:
4994         * testsuite/Makefile.am:
4995         * testsuite/Rules:
4996         * testsuite/caps/.cvsignore:
4997         * testsuite/caps/Makefile.am:
4998         * testsuite/caps/app_fixate.c:
4999         * testsuite/caps/audioscale.c:
5000         * testsuite/caps/caps.c:
5001         * testsuite/caps/caps.h:
5002         * testsuite/caps/caps_strings:
5003         * testsuite/caps/compatibility.c:
5004         * testsuite/caps/deserialize.c:
5005         * testsuite/caps/enumcaps.c:
5006         * testsuite/caps/eratosthenes.c:
5007         * testsuite/caps/filtercaps.c:
5008         * testsuite/caps/fixed.c:
5009         * testsuite/caps/fraction-convert.c:
5010         * testsuite/caps/fraction-multiply-and-zero.c:
5011         * testsuite/caps/intersect2.c:
5012         * testsuite/caps/intersection.c:
5013         * testsuite/caps/normalisation.c:
5014         * testsuite/caps/random.c:
5015         * testsuite/caps/renegotiate.c:
5016         * testsuite/caps/sets.c:
5017         * testsuite/caps/simplify.c:
5018         * testsuite/caps/string-conversions.c:
5019         * testsuite/caps/structure.c:
5020         * testsuite/caps/subtract.c:
5021         * testsuite/caps/union.c:
5022         * testsuite/debug/.cvsignore:
5023         * testsuite/debug/Makefile.am:
5024         * testsuite/debug/category.c:
5025         * testsuite/debug/commandline.c:
5026         * testsuite/debug/global.c:
5027         * testsuite/debug/output.c:
5028         * testsuite/debug/printf_extension.c:
5029         * testsuite/dlopen/.cvsignore:
5030         * testsuite/dlopen/Makefile.am:
5031         * testsuite/dlopen/dlopen_gst.c:
5032         * testsuite/dlopen/loadgst.c:
5033         * testsuite/elements/.cvsignore:
5034         * testsuite/elements/Makefile.am:
5035         * testsuite/elements/gst-inspect-check.in:
5036         * testsuite/elements/struct_i386.h:
5037         * testsuite/elements/struct_size.c:
5038         * testsuite/indexers/.cvsignore:
5039         * testsuite/indexers/Makefile.am:
5040         * testsuite/indexers/cache1.c:
5041         * testsuite/indexers/indexdump.c:
5042         * testsuite/parse/.cvsignore:
5043         * testsuite/parse/Makefile.am:
5044         * testsuite/parse/parse1.c:
5045         * testsuite/parse/parse2.c:
5046         * testsuite/plugin/.cvsignore:
5047         * testsuite/plugin/Makefile.am:
5048         * testsuite/plugin/README:
5049         * testsuite/plugin/dynamic.c:
5050         * testsuite/plugin/linked.c:
5051         * testsuite/plugin/loading.c:
5052         * testsuite/plugin/registry.c:
5053         * testsuite/plugin/static.c:
5054         * testsuite/plugin/static2.c:
5055         * testsuite/plugin/testplugin.c:
5056         * testsuite/plugin/testplugin2.c:
5057         * testsuite/plugin/testplugin2_s.c:
5058         * testsuite/plugin/testplugin_s.c:
5059         * testsuite/refcounting/.cvsignore:
5060         * testsuite/refcounting/Makefile.am:
5061         * testsuite/refcounting/bin.c:
5062         * testsuite/refcounting/element.c:
5063         * testsuite/refcounting/element_pad.c:
5064         * testsuite/refcounting/mainloop.c:
5065         * testsuite/refcounting/mem.c:
5066         * testsuite/refcounting/mem.h:
5067         * testsuite/refcounting/object.c:
5068         * testsuite/refcounting/pad.c:
5069         * testsuite/refcounting/sched.c:
5070         * testsuite/refcounting/thread.c:
5071         * testsuite/states/.cvsignore:
5072         * testsuite/states/Makefile.am:
5073         * testsuite/states/bin.c:
5074         * testsuite/states/locked.c:
5075         * testsuite/states/parent.c:
5076         * testsuite/threads/.cvsignore:
5077         * testsuite/threads/159566.c:
5078         * testsuite/threads/159852.c:
5079         * testsuite/threads/Makefile.am:
5080         * testsuite/threads/queue.c:
5081         * testsuite/threads/signals.c:
5082         * testsuite/threads/staticrec.c:
5083         * testsuite/threads/thread.c:
5084         * testsuite/threads/threadb.c:
5085         * testsuite/threads/threadc.c:
5086         * testsuite/threads/threadd.c:
5087         * testsuite/threads/threade.c:
5088         * testsuite/threads/threadf.c:
5089         * testsuite/threads/threadg.c:
5090         * testsuite/threads/threadh.c:
5091         * testsuite/threads/threadi.c:
5092           move all of these under tests
5093
5094 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * configure.ac:
5097         * tests/Makefile.am:
5098           fix distcheck
5099
5100 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5101
5102         * docs/gst/gstreamer-sections.txt:
5103         * tests/sched/.cvsignore:
5104         * tests/sched/Makefile.am:
5105         * tests/sched/cases/(fs-fs).xml:
5106         * tests/sched/cases/(fs-i-fs).xml:
5107         * tests/sched/cases/(fs-i-i-fs).xml:
5108         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5109         * tests/sched/dynamic-pipeline.c:
5110         * tests/sched/interrupt1.c:
5111         * tests/sched/interrupt2.c:
5112         * tests/sched/interrupt3.c:
5113         * tests/sched/runtestcases:
5114         * tests/sched/runxml.c:
5115         * tests/sched/sched-stress.c:
5116         * tests/sched/sort.c:
5117         * tests/sched/testcases:
5118         * tests/sched/testcases1.tc:
5119         * tests/seeking/.cvsignore:
5120         * tests/seeking/Makefile.am:
5121         * tests/seeking/seeking1.c:
5122         * tests/threadstate/.cvsignore:
5123         * tests/threadstate/Makefile.am:
5124         * tests/threadstate/test1.c:
5125         * tests/threadstate/test2.c:
5126         * tests/threadstate/threadstate1.c:
5127         * tests/threadstate/threadstate2.c:
5128         * tests/threadstate/threadstate3.c:
5129         * tests/threadstate/threadstate4.c:
5130         * tests/threadstate/threadstate5.c:
5131           remove obsolete tests
5132         * configure.ac:
5133         * tests/bench-complexity.scm:
5134         * tests/bench-mass_elements.scm:
5135         * tests/complexity.c:
5136         * tests/complexity.gnuplot:
5137         * tests/instantiate/.cvsignore:
5138         * tests/instantiate/Makefile.am:
5139         * tests/instantiate/caps.c:
5140         * tests/mass_elements.c:
5141         * tests/network-clock-utils.scm:
5142         * tests/network-clock.scm:
5143         * tests/plot-data:
5144         First pass at cleaning up tests/ dir before moving the rest
5145         Combined with CVS surgery
5146
5147 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5148
5149         * po/POTFILES.in:
5150           queue has moved, update
5151
5152 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5153
5154         * docs/gst/gstreamer-sections.txt:
5155           remove double entries from the docs
5156         * gst/gst_private.h:
5157         * gst/gstinfo.c: (_gst_debug_init):
5158           remove the THREAD debug category
5159         * gst/Makefile.am:
5160         * gst/gstqueue.c:
5161         * gst/gstqueue.h:
5162         * docs/gst/gstreamer.types:
5163         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5164         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5165           completely move queue and fix up debugging categories
5166
5167 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5168
5169         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5170           make initialization portable, using LL is not
5171
5172 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5173
5174         * win32/common/gstconfig.h:
5175           add large padding
5176
5177 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5178
5179         * win32/common/libgstreamer.def:
5180           rename symbols; sort base section
5181
5182 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5183
5184         * gst/gstclock.c: (do_linear_regression):
5185           remove crack non-portable handrolled DEBUG macro
5186
5187 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5188
5189         * docs/random/release:
5190           update notes
5191         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5192         (gst_object_flags_get_type), (register_gst_bin_flags),
5193         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5194         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5195         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5196         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5197         (gst_caps_flags_get_type), (register_gst_clock_return),
5198         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5199         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5200         (gst_clock_flags_get_type), (register_gst_state),
5201         (gst_state_get_type), (register_gst_state_change_return),
5202         (gst_state_change_return_get_type), (register_gst_state_change),
5203         (gst_state_change_get_type), (register_gst_element_flags),
5204         (gst_element_flags_get_type), (register_gst_core_error),
5205         (gst_core_error_get_type), (register_gst_library_error),
5206         (gst_library_error_get_type), (register_gst_resource_error),
5207         (gst_resource_error_get_type), (register_gst_stream_error),
5208         (gst_stream_error_get_type), (register_gst_event_type_flags),
5209         (gst_event_type_flags_get_type), (register_gst_event_type),
5210         (gst_event_type_get_type), (register_gst_seek_type),
5211         (gst_seek_type_get_type), (register_gst_seek_flags),
5212         (gst_seek_flags_get_type), (register_gst_format),
5213         (gst_format_get_type), (register_gst_index_certainty),
5214         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5215         (gst_index_entry_type_get_type),
5216         (register_gst_index_lookup_method),
5217         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5218         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5219         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5220         (gst_index_flags_get_type), (register_gst_debug_level),
5221         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5222         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5223         (gst_iterator_result_get_type), (register_gst_iterator_item),
5224         (gst_iterator_item_get_type), (register_gst_message_type),
5225         (gst_message_type_get_type), (register_gst_mini_object_flags),
5226         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5227         (gst_pad_link_return_get_type), (register_gst_flow_return),
5228         (gst_flow_return_get_type), (register_gst_activate_mode),
5229         (gst_activate_mode_get_type), (register_gst_pad_direction),
5230         (gst_pad_direction_get_type), (register_gst_pad_flags),
5231         (gst_pad_flags_get_type), (register_gst_pad_presence),
5232         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5233         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5234         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5235         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5236         (gst_plugin_flags_get_type), (register_gst_rank),
5237         (gst_rank_get_type), (register_gst_query_type),
5238         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5239         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5240         (gst_tag_flag_get_type), (register_gst_task_state),
5241         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5242         (gst_alloc_trace_flags_get_type),
5243         (register_gst_type_find_probability),
5244         (gst_type_find_probability_get_type), (register_gst_uri_type),
5245         (gst_uri_type_get_type), (register_gst_parse_error),
5246         (gst_parse_error_get_type):
5247         * win32/common/gstenumtypes.h:
5248         * win32/common/gstversion.h:
5249           update visual studio generated files
5250
5251 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5252
5253         * win32/vs6/libgstbase.dsp:
5254         * win32/vs6/libgstelements.dsp:
5255           update project files for new locations
5256
5257 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5258
5259         * Makefile.am:
5260           remove some files
5261         * README:
5262           reinstate and update
5263         * DEVEL:
5264         * REQUIREMENTS:
5265           removed
5266         * LICENSE:
5267         * docs/random/LICENSE:
5268           moved to random
5269
5270 2005-11-30  Edward Hervey  <edward@fluendo.com>
5271
5272         * gst/gsttypefind.c: (gst_type_find_register):
5273         * gst/gsttypefind.h:
5274         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5275         (gst_type_find_factory_dispose):
5276         * gst/gsttypefindfactory.h:
5277         Fix memory leak in GstTypeFindFactory.
5278
5279 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5280
5281         * gst/gst.c:
5282         * plugins/elements/Makefile.am:
5283         * plugins/elements/gstelements.c:
5284         * plugins/elements/gstqueue.c:
5285           move queue from core to the elements plugin
5286
5287 2005-11-29  Andy Wingo  <wingo@pobox.com>
5288
5289         * libs/gst/base/gstbasetransform.h: 
5290         * libs/gst/base/gstbasesrc.h: 
5291         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5292
5293         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5294         of pointers by which to pad very extensible base classes (like the
5295         ones in libs/gst/base).
5296
5297 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5298
5299         * docs/gst/gstreamer-docs.sgml:
5300         * docs/gst/gstreamer-sections.txt:
5301         * docs/libs/gstreamer-libs-docs.sgml:
5302         * docs/libs/gstreamer-libs-sections.txt:
5303           moving documentation from core to lib
5304
5305 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5306
5307         * check/Makefile.am:
5308         * configure.ac:
5309         * docs/gst/Makefile.am:
5310         * gst/Makefile.am:
5311         * gst/base/.cvsignore:
5312         * gst/base/Makefile.am:
5313         * gst/base/README:
5314         * gst/base/gstadapter.c:
5315         * gst/base/gstadapter.h:
5316         * gst/base/gstbasesink.c:
5317         * gst/base/gstbasesink.h:
5318         * gst/base/gstbasesrc.c:
5319         * gst/base/gstbasesrc.h:
5320         * gst/base/gstbasetransform.c:
5321         * gst/base/gstbasetransform.h:
5322         * gst/base/gstcollectpads.c:
5323         * gst/base/gstcollectpads.h:
5324         * gst/base/gstpushsrc.c:
5325         * gst/base/gstpushsrc.h:
5326         * gst/base/gsttypefindhelper.c:
5327         * gst/base/gsttypefindhelper.h:
5328         * gst/check/Makefile.am:
5329         * gst/check/gstcheck.c:
5330         * gst/check/gstcheck.h:
5331         * gst/net/Makefile.am:
5332         * gst/net/gstnet.h:
5333         * gst/net/gstnetclientclock.c:
5334         * gst/net/gstnetclientclock.h:
5335         * gst/net/gstnettimepacket.c:
5336         * gst/net/gstnettimepacket.h:
5337         * gst/net/gstnettimeprovider.c:
5338         * gst/net/gstnettimeprovider.h:
5339         * libs/gst/Makefile.am:
5340         * libs/gst/base/Makefile.am:
5341         * libs/gst/base/gstbasetransform.c:
5342         * libs/gst/check/Makefile.am:
5343         * plugins/elements/Makefile.am:
5344         * po/POTFILES.in:
5345           CVS surgery + support to move base, check, and net out of gst
5346           and into libs/gst
5347
5348 2005-11-29  Andy Wingo  <wingo@pobox.com>
5349
5350         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5351
5352         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5353         padding.
5354
5355         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5356
5357         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5358
5359         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5360
5361         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5362         padding; reduces object size by about 30%. We don't expect
5363         anything else to go into gstobject.
5364
5365         * gst/gstminiobject.h (struct _GstMiniObject)
5366         (struct _GstMiniObjectClass): Only one pointer of padding; the
5367         payload is only a pointer and two ints anyway. For the class there
5368         are only two methods as well.
5369         
5370         * gst/gstelement.h (struct _GstElementClass): Removed
5371         the state_changed signal callback, it is not used.
5372
5373 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5374
5375         * docs/gst/gstreamer.types:
5376           fix includes, though they are a little dinky
5377
5378 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5379
5380         * check/Makefile.am:
5381           look in the right place for elements, a lot more chance of
5382           success
5383         * gst/Makefile.am:
5384           remove indexers and elements subdirs
5385         * plugins/Makefile.am:
5386           make indexers conditional
5387
5388 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5389
5390         * Makefile.am:
5391         * configure.ac:
5392         * plugins/elements/Makefile.am:
5393         * plugins/elements/gstcapsfilter.c:
5394         * plugins/elements/gstfilesink.c:
5395         * plugins/elements/gstfilesrc.c:
5396         * plugins/elements/gstidentity.c:
5397         * plugins/indexers/Makefile.am:
5398           do CVS surgery and related build fixery to move elements
5399           and indexers in a new gstreamer/plugins directory, out of the
5400           gst/ directory
5401
5402 2005-11-29  Andy Wingo  <wingo@pobox.com>
5403
5404         * check/Makefile.am:
5405         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5406         * pkgconfig/gstreamer-net.pc.in:
5407         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5408         #322257.
5409
5410 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5411
5412         * tools/Makefile.am:
5413         * tools/gst-complete.1.in:
5414         * tools/gst-complete.c:
5415         * tools/gst-compprep.1.in:
5416         * tools/gst-compprep.c:
5417           removing -compprep and -complete
5418
5419 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5420
5421         * gst/gstevent.c: (gst_event_new_new_segment),
5422         (gst_event_parse_new_segment):
5423         * gst/gstevent.h:
5424           fix #320529 - clean up new_segment API and structure.
5425           Let's hope everyone was using the methods, and not the structure.
5426
5427 2005-11-29  Edward Hervey  <edward@fluendo.com>
5428
5429         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5430         (gst_base_sink_event), (gst_base_sink_do_sync),
5431         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5432         Properly handle non GST_FORMAT_TIME segment
5433         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5434         Properly handle non GST_FORMAT_TIME segment
5435         * gst/gstsegment.c:
5436         This function is valid if the accumulator is 0 and the format
5437         is different from the requested format.
5438         
5439 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5440
5441         * docs/gst/gstreamer-sections.txt:
5442         Add gst_query_new_seeking and gst_query_parse_seeking to the
5443         docs.
5444
5445 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5446
5447         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5448           Treat a pad alloc with new caps the same as if we were not
5449           negotiated, in order to allow a changing upstream output
5450           to produce a new format of data.
5451
5452 2005-11-29  Edward Hervey  <edward@fluendo.com>
5453
5454         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5455         (gst_base_transform_event), (gst_base_transform_eventfunc):
5456         The event virtual method is now properly implemented, with a default
5457         handler
5458         Sub classes should call the parent_class event method. They should
5459         return FALSE if they had a problem handling the given event, or don't
5460         want GstBaseTransform to send that even downstream
5461         * gst/elements/gstidentity.c: (gst_identity_class_init),
5462         (gst_identity_init), (gst_identity_event),
5463         (gst_identity_transform_ip), (gst_identity_set_property),
5464         (gst_identity_get_property):
5465         * gst/elements/gstidentity.h:
5466         Added the single-segment boolean property.
5467         If set to TRUE, it will output a single segment of data, starting from
5468         0, will eat up all incoming newsegment, and modify the timestamp of the
5469         buffers accordingly
5470
5471 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5472
5473         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5474           Don't ref NULL target pad (#322751). Improve docs.
5475
5476 2005-11-29  Michael Smith  <msmith@fluendo.com>
5477
5478         * gst/gstregistryxml.c: (load_plugin):
5479           Don't crash if we failed to load a feature from a plugin. 
5480
5481 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5484         (GST_START_TEST):
5485           use more check API and less GLib API
5486
5487 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5488
5489         * Makefile.am:
5490           don't run checks if we don't have check
5491         * common/check.mak:
5492           remove the registry when running make torture
5493         * docs/gst/gstreamer-sections.txt:
5494           remove second multiply
5495         * gst/gstqueue.c: (gst_queue_loop):
5496           fix a compile warning when disabling debug
5497
5498 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5499
5500         * gst/gstinfo.h:
5501         Hey! Let's print the pad name if the pointer != NULL instead
5502         of when it == NULL :-)
5503
5504 2005-11-28  Wim Taymans  <wim@fluendo.com>
5505
5506         * check/gst/gstutils.c: (GST_START_TEST):
5507         Updated check, add some scaling accuracy checking code.
5508
5509         * gst/gstutils.c: (gst_util_div128_64),
5510         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5511         (gst_util_uint64_scale_int):
5512         Fix 6 times faster division code. Optimize for common 
5513         1/1 and less common X/1 cases.
5514
5515 2005-11-28  Wim Taymans  <wim@fluendo.com>
5516
5517         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5518         More checks.
5519
5520         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5521         (do_linear_regression), (gst_clock_add_observation):
5522         Cleanups.
5523         Release lock when the clock cannot be slaved.
5524         Catch the case where the regression returned an invalid denominator.
5525
5526         * gst/gstutils.c: (gst_util_div128_64_iterate),
5527         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5528         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5529         Add protentially more performant non-iterative 128/64 divide function
5530         that unfortunatly does not work yet.
5531         Shortcut the trivial 0/X = 0 case.
5532         Remove the warnings on overflow.
5533
5534 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5535
5536         * gst/gstplugin.c: (gst_plugin_register_func):
5537           everything causing a plugin not to load should be at least a WARNING
5538
5539 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5540
5541         * docs/random/ensonic/dparams.txt:
5542           some TODOs for the next dev cycle
5543         * libs/gst/controller/gstcontroller.c:
5544         (gst_controlled_property_set_interpolation_mode),
5545         (gst_controlled_property_new):
5546         * libs/gst/controller/gstcontroller.h:
5547           use base type to assign acccessor functions
5548
5549 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5550
5551         * check/Makefile.am:
5552         Oops, that should have been top_srcdir
5553
5554 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5555
5556         * check/Makefile.am:
5557         * check/elements/fdsrc.c: (GST_START_TEST):
5558         Use a cmdline define to specify the location of a file to use for
5559         testing, to avoid breaking distcheck.
5560
5561 2005-11-28  Andy Wingo  <wingo@pobox.com>
5562
5563         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5564
5565 2005-11-28  Edward Hervey  <edward@fluendo.com>
5566
5567         * tools/gst-launch.c: (main):
5568         Clarify the output strings, makes it easier to translate.
5569         Fixes #322626
5570
5571 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5572
5573         * gst/Makefile.am:
5574           don't try and build net if we don't even have <sys/socket.h>
5575
5576 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5577
5578         * check/Makefile.am:
5579         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5580         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5581           Add tests for fdsrc seekability
5582
5583         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5584         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5585         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5586         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5587         * gst/elements/gstfdsrc.h:
5588           fdsrc should not be a 'live' source.
5589           Implement seeking on seekable fd's.
5590
5591         * gst/gstquery.c: (gst_query_new_seeking),
5592         (gst_query_parse_seeking):
5593         * gst/gstquery.h:
5594           Implement SEEKING query functions: 
5595             *_new_seeking and *_parse_seeking
5596
5597 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5598
5599         * gst/gstelement.c: (gst_element_dispose):
5600           don't loop forever
5601
5602         * gst/gstiterator.c:
5603         * gst/gststructure.c:
5604           doc fixes
5605
5606         * libs/gst/controller/gstcontroller.c:
5607         (gst_controlled_property_set_interpolation_mode):
5608         * libs/gst/controller/gstcontroller.h:
5609         * libs/gst/controller/gstinterpolation.c:
5610         (interpolate_none_get_enum_value_array):
5611           support controlling enums
5612
5613 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5614
5615         * gst/gstvalue.c:
5616           Improve documentation for gst_value_union().
5617
5618         * gst/gstvalue.h:
5619           Change return value for union, intersect and subtract functions
5620           from gint to gboolean.
5621
5622 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5623
5624         * gst/gstvalue.c: (gst_value_serialize_any_list),
5625         (gst_value_transform_any_list_string),
5626         (gst_value_deserialize_list), (gst_value_deserialize_array),
5627         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5628         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5629         (gst_value_set_fraction_range_full),
5630         (gst_value_deserialize_fraction_range),
5631         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5632         (gst_value_deserialize_boolean),
5633         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5634         (gst_value_serialize_float), (gst_value_deserialize_float),
5635         (gst_string_wrap), (gst_value_deserialize_string),
5636         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5637         (gst_value_union_int_range_int_range),
5638         (gst_value_intersect_int_range_int_range),
5639         (gst_value_intersect_double_range_double_range),
5640         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5641         (gst_value_subtract_int_range_int_range),
5642         (gst_value_subtract_double_double_range),
5643         (gst_value_subtract_double_range_double_range),
5644         (gst_value_deserialize_fraction):
5645         * gst/gstvalue.h:
5646           Use gint, gdouble and gchar in our API instead of int, double and
5647           char (and make usage in gstvalue.c more consistent).
5648
5649 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5650
5651         * check/Makefile.am:
5652         * libs/gst/controller/Makefile.am:
5653         * libs/gst/dataprotocol/Makefile.am:
5654           fix up Makefile.am and remove GST_ENABLE_NEW
5655
5656 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5657
5658         * configure.ac:
5659         * gst/Makefile.am:
5660         * gst/base/Makefile.am:
5661         * gst/check/Makefile.am:
5662         * gst/elements/Makefile.am:
5663         * gst/net/Makefile.am:
5664           update LDFLAGS use some more
5665
5666 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5667
5668         * common/m4/gst-doc.m4:
5669           Fixes #312589
5670
5671 2005-11-26  Edward Hervey  <edward@fluendo.com>
5672
5673         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5674         This shouldn't issue a g_warning since it returns NULL if it
5675         couldn't find the plugin, and all functions using this behave
5676         properly on a NULL return. Switching to a GST_WARNING.
5677
5678 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5679
5680         * gst/gstbin.c: (gst_bin_handle_message_func):
5681         Don't leak clock messages.
5682
5683 2005-11-25  Wim Taymans  <wim@fluendo.com>
5684
5685         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5686         (gst_util_uint64_scale_int):
5687         Optimisations, remove unneeded vars.
5688
5689 2005-11-25  Wim Taymans  <wim@fluendo.com>
5690
5691         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5692         Added more checks for the high precision uint64 cases.
5693
5694         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5695         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5696         Implement high precision (guint64 * guint64) / guint64.
5697
5698 2005-11-24  Wim Taymans  <wim@fluendo.com>
5699
5700         * gst/base/gstbasesrc.c: (gst_base_src_query):
5701         Fix wrong percentage query.
5702
5703         * gst/gstutils.c: (gst_util_uint64_scale),
5704         (gst_util_uint64_scale_int):
5705         Add some more common cases that can be handled 
5706         efficiently to _scale.
5707
5708 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5709
5710         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5711         (gst_mini_object_suite):
5712           don't use check calls from threads; check probably isn't
5713           threadsafe and using a lock to make it threadsafe would
5714           defeat the purpose of this check
5715         * gst/check/gstcheck.c:
5716         * gst/check/gstcheck.h:
5717           use GST_DEBUG some more
5718
5719 2005-11-24  Wim Taymans  <wim@fluendo.com>
5720
5721         * gst/gstutils.c: (gst_util_uint64_scale),
5722         (gst_util_uint64_scale_int):
5723         Chain trivial case to _scale_int.
5724
5725 2005-11-24  Wim Taymans  <wim@fluendo.com>
5726
5727         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5728         Added test for scaling.
5729
5730         * gst/gstclock.h:
5731         Small doc fix.
5732
5733         * gst/gstutils.c: (gst_util_uint64_scale_int):
5734         Implemented high precision scaling code.
5735
5736 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5737
5738         * gst/gstinfo.h:
5739           do not crash on pad==NULL
5740
5741 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5742
5743         Patch by: Stefan Kost
5744
5745         * common/gtk-doc.mak:
5746         * docs/gst/Makefile.am:
5747         * docs/libs/Makefile.am:
5748           Fix distcheck issues for the libraries docs build
5749           Closes #319599.
5750
5751 2005-11-24  Michael Smith <msmith@fluendo.com>
5752
5753         * docs/manual/basics-helloworld.xml:
5754           Fix bug #315027: memory leak in example code in docs.
5755
5756 2005-11-24  Michael Smith <msmith@fluendo.com>
5757
5758         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5759           Unlock the PREROLL_LOCK in a failure case.
5760
5761 2005-11-24  Wim Taymans  <wim@fluendo.com>
5762
5763         * docs/gst/gstreamer-sections.txt:
5764         * gst/base/gstadapter.h:
5765         * gst/base/gstbasesink.h:
5766         * gst/base/gstbasesrc.h:
5767         * gst/base/gstbasetransform.h:
5768         * gst/base/gstpushsrc.h:
5769         * gst/elements/gstfakesink.h:
5770         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5771         * gst/elements/gstfakesrc.h:
5772         * gst/elements/gstfilesink.h:
5773         * gst/elements/gstfilesrc.h:
5774         * gst/gst.c:
5775         * gst/gstbin.c:
5776         * gst/gstbuffer.c: (_gst_buffer_copy):
5777         * gst/gstbus.h:
5778         * gst/gstcaps.c:
5779         * gst/gstchildproxy.c:
5780         * gst/gstclock.c:
5781         * gst/gstelement.c:
5782         * gst/gstelementfactory.c:
5783         * gst/gstelementfactory.h:
5784         * gst/gstevent.c:
5785         * gst/gstghostpad.h:
5786         * gst/gstindex.h:
5787         * gst/gstinterface.h:
5788         * gst/gstminiobject.c:
5789         * gst/gstminiobject.h:
5790         * gst/gstpad.c:
5791         * gst/gstpad.h:
5792         * gst/gstpadtemplate.h:
5793         * gst/gstpipeline.h:
5794         * gst/gstpluginfeature.h:
5795         * gst/gstquery.h:
5796         * gst/gstqueue.h:
5797         * gst/gsttaglist.c:
5798         * gst/gsttaglist.h:
5799         * gst/gsttagsetter.c:
5800         * gst/gsttagsetter.h:
5801         * gst/gsttrace.c:
5802         * gst/gsttrace.h:
5803         * gst/gsttypefind.h:
5804         * gst/gsturi.h:
5805         * gst/gstvalue.c:
5806         * gst/net/gstnetclientclock.c:
5807         * gst/net/gstnetclientclock.h:
5808         * gst/net/gstnettimepacket.c:
5809         * gst/net/gstnettimeprovider.c:
5810         * gst/net/gstnettimeprovider.h:
5811         Doc fixes.
5812
5813 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5814
5815         * configure.ac: back to HEAD
5816
5817 === release 0.9.6 ===
5818
5819 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5820
5821         * configure.ac:
5822           releasing 0.9.6, "Always On Time"
5823
5824 2005-11-23  Wim Taymans  <wim@fluendo.com>
5825
5826         * docs/gst/gstreamer-sections.txt:
5827         * gst/glib-compat.c:
5828         * gst/gsttagsetter.c:
5829         * gst/gstvalue.c:
5830         * gst/net/gstnetclientclock.c:
5831         * gst/net/gstnettimepacket.h:
5832         Doc updates.
5833
5834 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5835
5836         * docs/faq/using.xml:
5837         * docs/libs/tmpl/gstcontrol.sgml:
5838         * docs/manual/advanced-dparams.xml:
5839         * docs/manual/appendix-checklist.xml:
5840         * docs/manual/basics-elements.xml:
5841         * docs/pwg/other-source.xml:
5842         * docs/random/moving-plugins:
5843         * gst/gstpad.c:
5844         * tools/gst-launch.1.in:
5845           remove mentions of sinesrc
5846
5847 2005-11-23  Michael Smith <msmith@fluendo.com>
5848
5849         * docs/gst/gstreamer-sections.txt:
5850           Update for new API and API changes.
5851         * gst/gstobject.h:
5852           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5853         * gst/gstvalue.c:
5854           Documentation typo fix.
5855         * gst/net/gstnettimepacket.c:
5856           Documentation fixes for arguments.
5857
5858 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5859
5860         * gst/gststructure.c: (gst_structure_get_fraction),
5861         (gst_structure_parse_value),
5862         (gst_structure_fixate_field_nearest_fraction):
5863         * gst/gststructure.h:
5864         * gst/gstutils.c: (gst_util_uint64_scale_int):
5865         * gst/gstutils.h:
5866         * scripts/update-funcnames:
5867         API Changes. 
5868         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5869         Make gst_structure_fixate_field_nearest_fraction take a numerator
5870         and denominator argument instead of a GValue
5871         add gst_structure_get_fraction helper function.
5872
5873 2005-11-23  Wim Taymans  <wim@fluendo.com>
5874
5875         * docs/design/part-TODO.txt:
5876         Update TODO.
5877
5878         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5879         * gst/net/gstnetclientclock.h:
5880         Use parent fields for timeout and window_size.
5881
5882 2005-11-23  Andy Wingo  <wingo@pobox.com>
5883
5884         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5885         rate_num/rate_denom change.
5886
5887         * gst/net/gstnetclientclock.c
5888         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5889         OBJECT_LOCK. Don't call add_observation with the lock.
5890
5891         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5892         fraction.
5893         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5894         rate fraction.
5895         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5896         deal with rate as a fraction whose numerator and denominator are
5897         GstClockTime values.
5898         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5899         master; the other fields are protected by the SLAVE_LOCK.
5900         (do_linear_regression): Note that this must be called with the
5901         SLAVE_LOCK.
5902         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5903         OBJECT_LOCK. Call set_calibration instead of touching the
5904         variables directly.
5905         (gst_clock_set_property, gst_clock_get_property): Protect
5906         master/slave parameters with the SLAVE_LOCK.
5907
5908         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5909         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5910         note that all of the instance variables that add_observation and
5911         the set_master functions use are protected by that lock and not
5912         the OBJECT_LOCK.
5913         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5914
5915         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5916         the caller to take the object lock.
5917
5918 2005-11-23  Wim Taymans  <wim@fluendo.com>
5919
5920         * gst/gsterror.c: (_gst_core_errors_init):
5921         * gst/gsterror.h:
5922         Add error for clock stuff.
5923
5924         * gst/gstpipeline.c: (gst_pipeline_change_state),
5925         (gst_pipeline_set_clock):
5926         Post clock error when clock cannot be used in a pipeline.
5927
5928 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5929
5930         * docs/gst/gstreamer-sections.txt:
5931           make two symbols from gstinfo private for the docs
5932         * gst/base/gstcollectpads.h:
5933         * gst/gstutils.c:
5934           fix doc typos, update docs
5935
5936 2005-11-22  Wim Taymans  <wim@fluendo.com>
5937
5938         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5939         (gst_base_sink_wait), (gst_base_sink_do_sync),
5940         (gst_base_sink_handle_event):
5941         * gst/base/gstbasesink.h:
5942         No need to store the clock, the parent element class already
5943         has it.
5944
5945         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5946         Updates for clock_set returning a gboolean
5947
5948         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5949         (gst_clock_id_wait_async), (gst_clock_class_init),
5950         (gst_clock_init), (gst_clock_finalize),
5951         (gst_clock_get_internal_time), (gst_clock_get_time),
5952         (gst_clock_slave_callback), (gst_clock_set_master),
5953         (gst_clock_get_master), (do_linear_regression),
5954         (gst_clock_add_observation), (gst_clock_set_property),
5955         (gst_clock_get_property):
5956         * gst/gstclock.h:
5957         Implement master/slave. When setting a clock as a slave, a
5958         periodic timeout is scheduled to sample master and slave times.
5959         Then the slave clock is recalibrated to match offset and rate
5960         of the master clock.
5961         Update logging a bit.
5962         Add flag so that a clock can state that is cannot be slaved to
5963         another clock.
5964
5965         * gst/gstelement.c: (gst_element_set_clock):
5966         * gst/gstelement.h:
5967         The set clock returns a gboolean for when an element cannot
5968         deal with the selected clock in the pipeline. 
5969
5970         * gst/gstpipeline.c: (gst_pipeline_change_state),
5971         (gst_pipeline_set_clock):
5972         * gst/gstpipeline.h:
5973         Handle the case where the selected clock cannot be set on
5974         the pipeline.
5975
5976         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5977         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5978         (gst_net_client_clock_set_property),
5979         (gst_net_client_clock_get_property),
5980         (gst_net_client_clock_observe_times):
5981         * gst/net/gstnetclientclock.h:
5982         Use regression code in GstClock parent, remove duplicated
5983         functionality.
5984
5985 2005-11-22  Michael Smith <msmith@fluendo.com>
5986
5987         * gst/gstutils.c: (gst_util_clock_time_scale):
5988         * gst/gstutils.h:
5989         * docs/gst/gstreamer-sections.txt:
5990           Rename method to have extra underscore.
5991
5992 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5993
5994         * gst/elements/Makefile.am:
5995         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5996         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5997         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5998         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5999         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6000         * gst/elements/gstfakesrc.h:
6001         * gst/gstqueue.c: (queue_leaky_get_type):
6002           correctly fix GEnumValues so that nick is the short lowercase
6003           dashed tag
6004         * tools/gst-inspect.c: (print_element_properties_info):
6005           also show the nick, since it's useful to use from parse_launch
6006           syntax
6007           Fixes #322139
6008
6009 2005-11-22  Michael Smith <msmith@fluendo.com>
6010
6011         * gst/gstutils.c: (gst_util_clocktime_scale):
6012         * gst/gstutils.h:
6013         * docs/gst/gstreamer-sections.txt:
6014           Add util method for scaling a clocktime by a fraction. Useful 
6015           implementation is left as an exercise for the reader.
6016
6017 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6018
6019         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6020         If needed, allocate storage in the destination value during
6021         collection.
6022
6023 2005-11-22  Edward Hervey  <edward@fluendo.com>
6024
6025         * docs/gst/gstreamer-sections.txt:
6026         * gst/Makefile.am:
6027         * gst/gst.h:
6028         * gst/gsturitype.c:
6029         * gst/gsturitype.h:
6030         * gst/gstutils.c: (gst_util_set_object_arg):
6031         * tools/gst-compprep.c: (main):
6032         * tools/gst-inspect.c: (print_element_properties_info):
6033         Removed GstURI, closes bug #321061
6034
6035 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6036
6037         * check/gst/gststructure.c: (GST_START_TEST):
6038         * gst/gststructure.c: (gst_structure_parse_value):
6039           Oops, broke automatic string type parsing.
6040           Add a test to catch it in future.
6041
6042 2005-11-22  Andy Wingo  <wingo@pobox.com>
6043
6044         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6045         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6046         Actually rename the function implementations. Grr.
6047
6048 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6049
6050         * check/gst/capslist.h:
6051           Comment test cases
6052         * check/gst/gststructure.c: (GST_START_TEST),
6053         (gst_structure_suite):
6054           Test automatic value type detection in gst_structure_from_string.
6055         * gst/gststructure.c: (gst_structure_parse_value):
6056           Add fraction as a type we try and guess automatically in
6057           caps/structure strings.
6058
6059 2005-11-22  Andy Wingo  <wingo@pobox.com>
6060
6061         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6062
6063         * gst/gsttagsetter.h:
6064         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6065         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6066         (gst_tag_setter_add_tag_valist)
6067         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6068         _add_values, _add_valist, and _add_valist_values. Since this is an
6069         interface the function suffixes should be more explicit so
6070         language binding don't end up with element.add_valist ->
6071         gst_tag_setter_add_valist, for example. Fixes #322069.
6072
6073 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6074
6075         * check/gst/gstcaps.c: (GST_START_TEST):
6076           Extend caps string tests to check that a caps to string
6077           conversion is reversible and produces the same caps.
6078
6079         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6080           Output "fraction" as the generic type fraction range, so caps
6081           serialisation and deserialisation works.
6082         * check/gst/capslist.h:
6083         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6084           Support 'MIN' and 'MAX' for deserialising fractions.
6085
6086 2005-11-22  Andy Wingo  <wingo@pobox.com>
6087
6088         * gst/gstevent.h (gst_event_new_new_segment)
6089         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6090         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6091         Renamed from *_newsegment, *_buffersize, *_notarget.
6092
6093         * scripts/update-funcnames: New script, performs the changes
6094         listed above.
6095
6096 2005-11-22  Wim Taymans  <wim@fluendo.com>
6097
6098         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6099         Make sure the GstFlowReturn is returned.
6100
6101         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6102         (gst_bus_add_signal_watch):
6103         * gst/gstbus.h:
6104         add gst_bus_add_signal_watch_full.
6105
6106         * gst/gstplugin.c: (gst_plugin_load_file):
6107         Small style cleanup.
6108
6109 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6110
6111         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6112           Block the fakesrc srcpad when we send an event, to avoid
6113           contention on the stream_lock causing random test failures.
6114
6115 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6116
6117         * check/gst/gstvalue.c: (GST_START_TEST):
6118         * gst/gstvalue.c: (gst_value_fraction_subtract):
6119           Fix subtraction.
6120
6121 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6122
6123         * gst/gst.h:
6124           include "gstchildproxy.h"
6125         * gst/gstchildproxy.h:
6126         * libs/gst/controller/gstcontroller.h:
6127           use G_GNUC_NULL_TERMINATED
6128
6129 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6130
6131         * check/gst/capslist.h:
6132         * check/gst/gstcaps.c: (GST_START_TEST):
6133         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6134         * gst/gststructure.c: (gst_structure_parse_range),
6135         (gst_structure_fixate_field_nearest_fraction):
6136         * gst/gststructure.h:
6137         * gst/gstvalue.c: (gst_value_init_fraction_range),
6138         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6139         (gst_value_collect_fraction_range),
6140         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6141         (gst_value_set_fraction_range_full),
6142         (gst_value_get_fraction_range_min),
6143         (gst_value_get_fraction_range_max),
6144         (gst_value_serialize_fraction_range),
6145         (gst_value_transform_fraction_range_string),
6146         (gst_value_compare_fraction_range),
6147         (gst_value_deserialize_fraction_range),
6148         (gst_value_intersect_fraction_fraction_range),
6149         (gst_value_intersect_fraction_range_fraction_range),
6150         (gst_value_subtract_fraction_fraction_range),
6151         (gst_value_subtract_fraction_range_fraction),
6152         (gst_value_subtract_fraction_range_fraction_range),
6153         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6154         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6155         (gst_value_transform_string_fraction), (_gst_value_initialize):
6156         * gst/gstvalue.h:
6157           Implement fraction ranges and extend GstFraction to support
6158           arithmetic subtraction, as well as deserialization from integer
6159           strings such as "100"
6160           Add a testsuite as for int and double range set operations
6161
6162 2005-11-21  Andy Wingo  <wingo@pobox.com>
6163
6164         * gst/gsttaglist.h: 
6165         * gst/gstcaps.h: 
6166         * gst/gststructure.h: Add glib-compat.h.
6167
6168 2005-11-21  Wim Taymans  <wim@fluendo.com>
6169
6170         * gst/gstbin.c: (gst_bin_change_state_func):
6171         Fix for #321595
6172
6173 2005-11-21  Wim Taymans  <wim@fluendo.com>
6174
6175         * gst/gstsegment.h:
6176         And add a nice define too.
6177
6178 2005-11-21  Wim Taymans  <wim@fluendo.com>
6179
6180         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6181         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6182         (gst_segment_set_duration), (gst_segment_set_last_stop),
6183         (gst_segment_set_seek), (gst_segment_set_newsegment),
6184         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6185         (gst_segment_clip):
6186         * gst/gstsegment.h:
6187         Make binding friendly.
6188
6189 2005-11-21  Andy Wingo  <wingo@pobox.com>
6190
6191         * gst/gsttagsetter.h: 
6192         * gst/gsttaglist.h: 
6193         * gst/gststructure.h: 
6194         * gst/gstcaps.h: 
6195         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6196         #319940.
6197
6198         * gst/gsterror.c (_gst_core_errors_init):
6199         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6200         category.
6201
6202         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6203         (noinst_HEADERS): noinst the -private.
6204
6205 2005-11-21  Michael Smith <msmith@fluendo.com>
6206
6207         * gst/gstplugin.h:
6208         * gst/gstregistry.h:
6209           Remove unimplemented declarations for which we can see no sensible
6210           use.
6211
6212 2005-11-21  Andy Wingo  <wingo@pobox.com>
6213
6214         * gst/gst.h: Include glib-compat.h.
6215
6216         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6217
6218         * gst/glib-compat.c: Include the public and the private header.
6219
6220         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6221
6222         * gst/gstvalue.c: 
6223         * gst/gstpad.c: 
6224         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6225
6226         * check/gst/gstevent.c (create_custom_events): Check that
6227         FLUSH_STOP is serialized.
6228
6229         * check/elements/identity.c (event_func): 
6230         * check/elements/fakesrc.c (event_func): No stream lock, the core
6231         takes it.
6232
6233         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6234         stream lock taking, yay.
6235
6236         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6237         ensure that core takes the stream lock.
6238
6239         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6240         lock name change.
6241
6242         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6243         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6244         it already. For the flush start we do take it though so we get the
6245         right preroll state change messages.
6246
6247         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6248         the stream lock here, the core does it for us.
6249
6250         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6251         GST_STREAM_GET_LOCK.
6252         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6253         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6254         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6255         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6256         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6257         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6258
6259         * gst/gstpad.c: Update for stream lock name change.
6260
6261         * gst/base/gstbasesink.c: Update for preroll lock name change.
6262
6263 2005-11-21  Wim Taymans  <wim@fluendo.com>
6264
6265         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6266         (gst_clock_get_master):
6267         * gst/gstclock.h:
6268         * gst/gstsystemclock.c: (gst_system_clock_init):
6269         Convert Clock flags to object flags.
6270         Added methods to manage master/slave clocks.
6271
6272 2005-11-21  Wim Taymans  <wim@fluendo.com>
6273
6274         * check/gst/gstsegment.c: (GST_START_TEST):
6275         * docs/design/part-TODO.txt:
6276         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6277         (gst_base_sink_event), (gst_base_sink_do_sync),
6278         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6279         (gst_base_sink_query), (gst_base_sink_change_state):
6280         * gst/base/gstbasesink.h:
6281         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6282         (gst_base_src_default_newsegment),
6283         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6284         (gst_base_src_get_range), (gst_base_src_loop),
6285         (gst_base_src_change_state):
6286         * gst/base/gstbasesrc.h:
6287         * gst/base/gstbasetransform.c:
6288         (gst_base_transform_prepare_output_buf),
6289         (gst_base_transform_event), (gst_base_transform_change_state):
6290         * gst/base/gstbasetransform.h:
6291         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6292         (gst_collect_pads_event):
6293         * gst/base/gstcollectpads.h:
6294         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6295         (gst_fake_src_create):
6296         * gst/elements/gstfakesrc.h:
6297         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6298         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6299         (gst_segment_set_last_stop), (gst_segment_set_seek),
6300         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6301         (gst_segment_to_running_time), (gst_segment_clip):
6302         * gst/gstsegment.h:
6303         More segment updates, replace code in plugins with segment
6304         helper functions.
6305
6306 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6307
6308         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6309         Don't ignore sscanf results
6310
6311 2005-11-21  Andy Wingo  <wingo@pobox.com>
6312
6313         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6314
6315         * *.h:
6316         * *.c: Ran scripts/update-macros. Oh yes.
6317
6318         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6319         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6320         GST_GET_LOCK, etc.
6321
6322         * scripts/update-macros: New script. Run it on your files to
6323         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6324         well.
6325
6326 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6327
6328         * docs/gst/Makefile.am:
6329         * docs/gst/gstreamer-docs.sgml:
6330         * docs/gst/gstreamer-sections.txt:
6331         * docs/gst/gstreamer.types:
6332         * gst/gstinfo.h:
6333           more docs fixes, add new api to the docs
6334
6335 2005-11-21  Andy Wingo  <wingo@pobox.com>
6336
6337         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6338         state_broadcast call.
6339
6340         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6341
6342 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6343
6344         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6345         function calls for arrays.
6346
6347 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6348
6349         * docs/random/ensonic/media-device-daemon.txt:
6350           wild idea, can this be done?
6351         * docs/gst/gstreamer-sections.txt:
6352         * gst/gsterror.h:
6353         * gst/gstfilter.c:
6354         * gst/gstfilter.h:
6355         * gst/gstplugin.h:
6356         * gst/gstpluginfeature.c:
6357         * gst/gsttrace.c:
6358         * gst/gstvalue.c:
6359         * gst/gstvalue.h:
6360           doc fixes and additions
6361
6362 2005-11-21  Andy Wingo  <wingo@pobox.com>
6363
6364         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6365         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6366         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6367         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6368         private to the basesrc implementation.
6369
6370         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6371         behalf of event function if necessary. It should no longer be
6372         necessary to take the stream lock in pad's event functions. Fixes
6373         #320299.
6374
6375 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6376         * docs/gst/gstreamer-sections.txt:
6377         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6378         (gst_structure_fixate_field_nearest_double),
6379         (gst_structure_fixate_field_boolean):
6380         * gst/gststructure.h:
6381         * win32/common/libgstreamer.def:
6382         * win32/gstreamer.def:
6383
6384         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6385         (#322027)
6386
6387 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6388
6389         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6390         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6391         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6392         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6393         (gst_fdsrc_uri_handler_init):
6394         * gst/elements/gstfdsrc.h:
6395           Port fd:// URI handler from 0.8 to fdsrc
6396
6397 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6398
6399         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6400         (gst_value_serialize_fourcc):
6401         * gst/gstvalue.h:
6402           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6403           consistent with our other format defines (#320324).
6404
6405 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6406
6407         * gst/gstvalue.c: (gst_value_is_fixed):
6408           Revert previous commit. Value lists are by definition
6409           not fixed, as they are a list of possible values.
6410
6411 2005-11-21  Andy Wingo  <wingo@pobox.com>
6412
6413         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6414         during the stable series if we need it. Fixes #319178.
6415
6416         * gst/gstevent.c (gst_event_new_filler): Removed.
6417
6418         * check/gst/gstevent.c: Update comment about filler events.
6419
6420 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6421
6422         * gst/gstvalue.c: (gst_value_is_fixed):
6423           Should handle both value arrays and value lists.
6424
6425 2005-11-21  Andy Wingo  <wingo@pobox.com>
6426
6427         patch by: Alessandro Dessina <alessandro nnva org>
6428
6429         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6430         functions to access arrays. Fixes #321962.
6431
6432 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6433
6434         * docs/gst/gstreamer.types:
6435           gst_collectpads_get_type => gst_collect_pads_get_type.
6436           
6437         * gst/base/gstbasetransform.c:
6438           Remove unused SIGNAL_HANDOFF enum.
6439
6440 2005-11-21  Andy Wingo  <wingo@pobox.com>
6441
6442         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6443         the event type (upstream, downstream, serialized). Renamed
6444         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6445         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6446         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6447
6448         * gst/gstevent.c: Update for new CUSTOM event names.
6449
6450         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6451
6452         * gst/gstevent.h:
6453         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6454         bug #319392.
6455
6456 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6457
6458         * docs/gst/gstreamer-sections.txt:
6459         * win32/common/libgstbase.def:
6460         * win32/libgstbase.def:
6461         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6462         (gst_collect_pads_class_init), (gst_collect_pads_init),
6463         (gst_collect_pads_finalize), (gst_collect_pads_new),
6464         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6465         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6466         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6467         (gst_collect_pads_start), (gst_collect_pads_stop),
6468         (gst_collect_pads_peek), (gst_collect_pads_pop),
6469         (gst_collect_pads_available), (gst_collect_pads_read),
6470         (gst_collect_pads_flush), (gst_collect_pads_event),
6471         (gst_collect_pads_chain):
6472         * gst/base/gstcollectpads.h:
6473           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6474           unimplemented functions as unimplemented. Add padding to
6475           GstCollectData. (#320766, #320423)
6476
6477 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6478
6479         * gst/gstmessage.c:
6480           Improve docs for DURATION message (usage of duration parameter)
6481           (#320113)
6482
6483 2005-11-20  Wim Taymans  <wim@fluendo.com>
6484
6485         * check/Makefile.am:
6486         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6487         (main):
6488         * gst/Makefile.am:
6489         * gst/gst.h:
6490         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6491         (gst_segment_set_seek), (gst_segment_set_newsegment),
6492         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6493         (gst_segment_clip):
6494         * gst/gstsegment.h:
6495         Added segment helper structure and methods. Not fully implemented
6496         yet.
6497         Added segment check.
6498
6499 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6500
6501         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6502           Add a deserialisation test for fractions
6503         * examples/metadata/read-metadata.c: (message_loop),
6504         (make_pipeline), (main):
6505           Fix up metadata reading sample.
6506         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6507           Debug format fix
6508         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6509           Don't try and fixate empty caps
6510         * gst/gst_private.h:
6511           Wrap in G_BEGIN_DECLS/G_END_DECLS
6512         * gst/gstvalue.c: (gst_value_collect_fraction),
6513         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6514         (gst_value_transform_string_fraction),
6515         (gst_value_compare_fraction):
6516           Add some extra guards to ensure that we don't end up 
6517           with an invalid denominator of 0 in a gstfraction and
6518           that fractions always get reduced.
6519
6520 2005-11-20  Wim Taymans  <wim@fluendo.com>
6521
6522         * docs/gst/gstreamer-sections.txt:
6523         * gst/gstbuffer.h:
6524         * gst/gstelement.c:
6525         * gst/gstformat.c:
6526         * gst/gstformat.h:
6527         * gst/gstindex.h:
6528         * gst/gstquery.c:
6529         * gst/gstquery.h:
6530         * gst/gstvalue.c:
6531         Doc fixes.
6532
6533 2005-11-20  Wim Taymans  <wim@fluendo.com>
6534
6535         * docs/design/part-TODO.txt:
6536         * gst/gstcaps.h:
6537         Make a proper enum of the flag.
6538
6539 2005-11-19  Wim Taymans  <wim@fluendo.com>
6540
6541         * docs/design/part-TODO.txt:
6542         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6543         (gst_format_to_quark), (gst_format_register):
6544         * gst/gstformat.h:
6545         * gst/gstquery.c: (_gst_query_initialize),
6546         (gst_query_type_get_name), (gst_query_type_to_quark),
6547         (gst_query_type_register):
6548         * gst/gstquery.h:
6549         Add type to quark and type to string conversions.
6550
6551 2005-11-19  Andy Wingo  <wingo@pobox.com>
6552
6553         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6554         #320097.
6555
6556 2005-11-19  Wim Taymans  <wim@fluendo.com>
6557
6558         * docs/design/part-TODO.txt:
6559         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6560         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6561         (gst_bin_handle_message_func):
6562         * gst/gstbin.h:
6563         Make message handling overridable.
6564
6565 2005-11-19  Andy Wingo  <wingo@pobox.com>
6566
6567         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6568
6569         * gst/gstclock.h:
6570         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6571         be a GstClockTime.
6572         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6573         is a GstClockTime. Fixes #321710.
6574
6575         * gst/gstclock.h (GstClock): Remove offset property. Add
6576         internal_calibration and external_calibration. Fix padding. Pad
6577         also by GstClockTime so we don't run into problems.
6578
6579         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6580         (gst_clock_get_rate_offset): Remove.
6581         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6582
6583         * gst/gstutils.h:
6584         * gst/gstutils.c (g_static_rec_cond_wait)
6585         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6586
6587         * gst/gstbin.c: Remove terrible continue_state prototype.
6588
6589         * gst/gstelement.h (gst_element_continue_state): Make public.
6590
6591         * gst/gstelement.h:
6592         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6593         by continue_state. Fixes #319389.
6594
6595         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6596         Really fixes #168438. However I don't see anywhere where the
6597         filter function is called... stupid GStreamer...
6598         
6599         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6600         don't have a dispose function, so it won't get called when the
6601         object is unreffed, but oh well!
6602
6603         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6604         allows a destroy function to be set so user_data can be freed.
6605         Fixes #168438.
6606         (gst_index_set_filter): Call gst_index_set_filter_full.
6607
6608         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6609
6610         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6611         string should produce an error, given the lack of a way to
6612         represent NULL strings. Fixes #165650.
6613         
6614         * gst/gstvalue.h: 
6615         * gst/gstvalue.c (gst_value_array_append_value) 
6616         (gst_value_array_prepend_value, gst_value_array_get_size) 
6617         (gst_value_array_get_value): New API, copied from
6618         gst_value_list_*, only operates on arrays.
6619         (gst_value_list_append_value, gst_value_list_prepend_value) 
6620         (gst_value_list_concat, gst_value_list_get_size) 
6621         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6622
6623         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6624         init_list, because it works on both.
6625         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6626         (gst_value_copy_list_or_array): Renamed from copy_list.
6627         (gst_value_free_list_or_array): Renamed from free_list.
6628         (gst_value_collect_list_or_array): Renamed from collect_list.
6629         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6630         (gst_value_list_or_array_peek_pointer): Renamed from
6631         list_peek_pointer.
6632         (_gst_value_array_value_table, _gst_value_list_value_table):
6633         Update value table functions.
6634         (gst_value_compare_list_or_array): Renamed from compare_list.
6635
6636         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6637         some constness.
6638
6639         * gst/gsttaglist.c:
6640         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6641         GstTagList*. Fixes #143472.
6642
6643         * gst/gststructure.h: Clarify what the foreach/map functions can
6644         or can't do to their arguments.
6645
6646 2005-11-18  Wim Taymans  <wim@fluendo.com>
6647
6648         * gst/gstclock.c: (gst_clock_set_calibration),
6649         (gst_clock_get_calibration):
6650         Doc and API fixes.
6651         Calibration can be set with internal time equal to current
6652         internal time too.
6653
6654 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6655
6656         * gst/gsterror.c:
6657         * gst/gsterror.h:
6658           document
6659
6660 2005-11-18  Andy Wingo  <wingo@pobox.com>
6661
6662         * configure.ac: 
6663         * pkgconfig/gstreamer-net.pc.in:
6664         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6665         * pkgconfig/Makefile.am: Add net pkgconfig files.
6666
6667 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6668
6669         * gst/gstcaps.c:
6670         * gst/gstghostpad.c:
6671         * gst/gsttrace.c:
6672         * gst/gstvalue.c:
6673         * gst/gstvalue.h:
6674           docs fixes
6675
6676 2005-11-18  Andy Wingo  <wingo@pobox.com>
6677
6678         * gst/net/gstnetclientclock.c: Turn off debugging.
6679
6680         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6681         times connverge somewhat. Can't make a real test.
6682
6683         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6684         integer arithmetic. Return the minimum of the domain, which can be
6685         set as "internal" for gst_clock_set_calibration.
6686         (gst_net_client_clock_observe_times): Call _set_calibration.
6687         (gst_net_client_clock_new): Call _set_calibration instead of
6688         rate_offset.
6689
6690         * check/net/gstnetclientclock.c (test_functioning): Use the right
6691         adjustment api.
6692
6693         * gst/gstclock.h:
6694         * gst/gstclock.c (gst_clock_get_calibration) 
6695         (gst_clock_set_calibration): New functions, obsolete the ones I
6696         added yesterday. Doh. Precision issues mean we have to extrapolate
6697         from a point in the more recent past than 1970.
6698         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6699         obsolete.
6700         (gst_clock_adjust_unlocked): Use the right calibration data.
6701
6702 2005-11-18  Edward Hervey  <edward@fluendo.com>
6703
6704         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6705         Also reset the ->current_* values in READY->PAUSED
6706
6707 2005-11-18  Andy Wingo  <wingo@pobox.com>
6708
6709         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6710         Whoops, check the right fd. Also add some debugging.
6711         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6712         (do_linear_regression): Add a crapload of debugging. Subtract off
6713         the minimum values from the input series to discard unneeded bits.
6714         Use only int arithmetic. There is still double arithmetic when
6715         calculating the intercept that needs fixing. Return boolean to
6716         indicate success; FALSE would mean the domain or range is too
6717         great. Still needs fixes.
6718
6719 2005-11-18  Wim Taymans  <wim@fluendo.com>
6720
6721         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6722         For the current position in stream time, we need to subtract
6723         accumulated time.
6724         
6725         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6726         Release lock before calling the callback function of async
6727         entries.
6728
6729 2005-11-18  Andy Wingo  <wingo@pobox.com>
6730
6731         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6732         Port goes all the way to MAXUINT16.
6733
6734         * gst/net/gstnettimeprovider.c: Make the port range the same as
6735         for the kernel: 0 assigns, otherwise ports are less than
6736         MAXUINT16.
6737
6738         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6739         port change.
6740
6741         * check/net/gstnetclientclock.c (test_functioning): Add the start
6742         of another test. 
6743
6744 2005-11-18  Wim Taymans  <wim@fluendo.com>
6745
6746         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6747         (gst_bin_remove_func), (bin_bus_handler):
6748         * gst/gstbin.h:
6749         Removing a clock provider from a bin, triggers a clock lost message
6750         so that a new clock will be selected.
6751         Adding a clock to a bin triggers a clock provider message.
6752         Make sure we reselect a clock when we received a clock lost message.
6753         Keep a reference to the element that provided the clock.
6754
6755 2005-11-18  Andy Wingo  <wingo@pobox.com>
6756
6757         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6758         the clock initially so it produces values around the base time.
6759         (gst_net_client_clock_class_init): Typo fix.
6760         (gst_net_client_clock_thread): Add note on when the socket gets
6761         closed.
6762
6763 2005-11-17  Wim Taymans  <wim@fluendo.com>
6764
6765         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6766         Free remote and local time arrays.
6767
6768 2005-11-17  Wim Taymans  <wim@fluendo.com>
6769
6770         * gst/net/gstnetclientclock.c: (do_linear_regression),
6771         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6772         Fix compilation, uninitialized vars and a forgotten continue.
6773
6774 2005-11-17  Andy Wingo  <wingo@pobox.com>
6775
6776         * check/Makefile.am (check_PROGRAMS): 
6777         * check/net/gstnetclientclock.c: Add a most minimal test for the
6778         net client clock. More to come later.
6779
6780         * gst/net/gstnet.h: 
6781         * gst/net/Makefile.am: Add netclientclock.
6782
6783         * gst/net/gstnetclientclock.h:
6784         * gst/net/gstnetclientclock.c: New files, implement an untested
6785         GstClock that takes its time from a network time provider.
6786         Implements the algorithm in network-clock.scm.
6787
6788         * tests/network-clock.scm (*window-size*): Rename from
6789         *queue-length*.
6790         * tests/network-clock.scm (network-time): 
6791         * tests/network-clock-utils.scm (q-push): Update callers.
6792
6793 2005-11-17  Wim Taymans  <wim@fluendo.com>
6794
6795         * gst/gstbin.c: (gst_bin_provide_clock_func),
6796         (gst_bin_sort_iterator_new):
6797         And unref the child too..
6798
6799 2005-11-17  Wim Taymans  <wim@fluendo.com>
6800
6801         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6802         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6803         Refactor the sort iterator so it can be used while holding the
6804         LOCK too.
6805         Make clock selection select a clock closest to the source.
6806
6807 2005-11-17  Michael Smith <msmith@fluendo.com>
6808
6809         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6810         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6811         * gst/gstclock.h:
6812           Anonymous structs are a gcc (and some other compilers) extension, so
6813           don't use them. Since this is only for ABI-compatibility, and our
6814           API/ABI freeze is over in a few days, this whole thing will only
6815           last a few days, so don't bother trying to think up a meaningful
6816           name for the struct.
6817
6818 2005-11-17  Andy Wingo  <wingo@pobox.com>
6819
6820         * gst/gstclock.h (GstClock): Add rate and offset properties,
6821         preserving ABI stability. Add rate/offset accessors. Will file bug
6822         for the freeze break.
6823
6824         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6825         and offset, trying to keep precision and avoiding
6826         underflow/overflow.
6827         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6828         functions. Make gst_clock_set_time_adjust obsolete.
6829         (gst_clock_set_time_adjust): Note that this function is obsolete.
6830         Will file bug soon.
6831
6832         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6833         greppable by using GST_PADDING-1+1.
6834
6835 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6836
6837         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6838
6839         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6840           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6841
6842         * gst/gstpadtemplate.h:
6843         * gst/gstpluginfeature.h:
6844           Don't use c++ style comments in headers (#321638).
6845
6846 2005-11-16  Andy Wingo  <wingo@pobox.com>
6847
6848         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6849         buffer.
6850
6851         * check/net/gstnettimeprovider.c: Check to see that the time
6852         provider actually provides times. Works, yo!
6853
6854 2005-11-16  Wim Taymans  <wim@fluendo.com>
6855
6856         * check/Makefile.am:
6857         Enable more tests.
6858
6859         * check/elements/fakesrc.c: (GST_START_TEST):
6860         Set element to NULL before disposing it.
6861
6862 2005-11-16  Andy Wingo  <wingo@pobox.com>
6863
6864         * gst/net/Makefile.am:
6865         * gst/net/gstnet.h:
6866         * gst/net/gstnettimeprovider.c: 
6867         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6868         provider, include it from gstnet.h, and add it to the build.
6869
6870         * gst/net/gstnettimepacket.h: 
6871         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6872         sending and receiving.
6873
6874 2005-11-16  Wim Taymans  <wim@fluendo.com>
6875
6876         * check/Makefile.am:
6877         Enable valgrind check.
6878
6879         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6880         (gst_fake_src_alloc_buffer):
6881         Fix memleak.
6882
6883 2005-11-16  Wim Taymans  <wim@fluendo.com>
6884
6885         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6886         Call parent finalize too.
6887
6888 2005-11-16  Wim Taymans  <wim@fluendo.com>
6889
6890         * check/Makefile.am:
6891         Enable valgrind check that should work fine now.
6892
6893         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6894         * gst/gstqueue.c: (gst_queue_init):
6895         Fix memleaks in pad allocation.
6896
6897 2005-11-16  Andy Wingo  <wingo@pobox.com>
6898
6899         * gst/net/Makefile.am:
6900         * gst/net/gstnet.h: New part of core to hold network elements and
6901         objects. Put in core because it exposes API that applications want
6902         to use. The library is named libgstnet-tempname right now because
6903         of the existing libgstnet in gst-plugins-base. Solution is
6904         probably to rename the one in plugins-base; will file a bug for
6905         the freeze break.
6906
6907         * gst/net/gstnettimeprovider.c: 
6908         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6909         get_time call over the network.
6910
6911         * configure.ac: 
6912         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6913
6914         * check/Makefile.am:
6915         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6916         get additions shortly.
6917
6918 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6919
6920         * gst/gstpad.c: (gst_pad_new_from_static_template):
6921         * gst/gstpad.h:
6922           add gst_pad_new_from_static_template functions
6923         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6924         (gst_check_setup_sink_pad):
6925         * gst/elements/gsttee.c: (gst_tee_init):
6926           and use them
6927
6928 2005-11-16  Wim Taymans  <wim@fluendo.com>
6929
6930         * gst/gstpad.c: (gst_pad_pause_task):
6931         Removed warning, it's not really an error either.
6932
6933 2005-11-16  Wim Taymans  <wim@fluendo.com>
6934
6935         * gst/base/gstbasetransform.c:
6936         (gst_base_transform_prepare_output_buf),
6937         (gst_base_transform_event):
6938         Check if the caps are NULL, this can happen if the element
6939         is shutting down and the pad caps are set to NULL.
6940
6941 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6942
6943         * gst/elements/gsttee.c: (gst_tee_init):
6944           fix pad template leak in tee
6945
6946 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6947
6948         * gst/glib-compat.c: (g_value_dup_gst_object):
6949         * gst/glib-compat.h:
6950         * gst/gstpad.c: (gst_pad_set_property):
6951           use gst_object_ref when setting the pad template; this will
6952           trigger the pad template leaks on GLib 2.6 and the slaves
6953
6954 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6955
6956         * gst/glib-compat.c: (gst_flags_get_first_value):
6957         * gst/glib-compat.h:
6958         * gst/gstregistryxml.c:
6959           remove functions copied from GLib 2.6
6960
6961 2005-11-16  Michael Smith <msmith@fluendo.com>
6962
6963         * gst/Makefile.am:
6964           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6965           do, but only breaks with newer valgrind versions. We're not a
6966           valgrind tool, we have no link-time dependencies on libcoregrind.
6967
6968 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6969
6970         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6971           some debug changes
6972         * gst/gstmessage.h:
6973           typo fixes
6974
6975 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6976
6977         * gst/base/gstbasesrc.c: (gst_base_src_init):
6978         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6979         * gst/gstqueue.c: (gst_queue_init):
6980         * gst/gstregistryxml.c: (load_feature):
6981           Revert all these unrefs, they don't even pass make check !
6982
6983 2005-11-15  Johan Dahlin  <johan@gnome.org>
6984
6985         * gst/base/gstbasesrc.c: (gst_base_src_init):
6986         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6987         * gst/gstqueue.c: (gst_queue_init): 
6988         Free pad templates, fixes a couple of leaks.
6989
6990 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6991
6992         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6993
6994         * gst/gstpad.c: (gst_pad_get_property):
6995           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6996           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6997           (#321452)
6998
6999 2005-11-15  Wim Taymans  <wim@fluendo.com>
7000
7001         * gst/gstevent.c:
7002         Small doc update.
7003
7004 2005-11-15  Andy Wingo  <wingo@pobox.com>
7005
7006         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7007
7008         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7009         using GST_CLOCK_TIME_NONE to disable base time management.
7010         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7011         time if it was NONE before.
7012         (gst_pipeline_change_state): Only munge the base time if
7013         stream_time != GST_CLOCK_TIME_NONE.
7014
7015         * check/gst/gstpipeline.c (test_base_time): Punt around the
7016         problem of the probe not being called, because that's not the
7017         issue I'm looking at. Add a check that setting stream_time to NONE
7018         disables base time management.
7019         
7020 2005-11-15  Wim Taymans  <wim@fluendo.com>
7021
7022         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7023         segment_stop == -1 at startup.
7024
7025         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7026         (gst_base_transform_change_state):
7027         Init segment values at start.
7028
7029 2005-11-15  Wim Taymans  <wim@fluendo.com>
7030
7031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7032         0 segment values are 0 in any format.
7033
7034         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7035         * gst/base/gstbasetransform.h:
7036         Parse newsegment correctly in basetransform
7037
7038         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7039         Sync to clock using updated segment values.
7040
7041 2005-11-15  Andy Wingo  <wingo@pobox.com>
7042
7043         * check/gst/gstpipeline.c (test_base_time): Add check that the
7044         base time and stream time are reset correctly.
7045
7046 2005-11-15  Wim Taymans  <wim@fluendo.com>
7047
7048         * docs/design/part-TODO.txt:
7049         Some more TODO items.
7050
7051 2005-11-15  Andy Wingo  <wingo@pobox.com>
7052
7053         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7054         error if the user selected "no clock" as the clocking method.
7055
7056         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7057         timestamps with live capture.
7058
7059         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7060         is 0 but we are a live source, timestamp the buffers using the
7061         element's clock.
7062
7063 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7064
7065         * docs/gst/gstreamer-sections.txt:
7066         * gst/gsterror.c:
7067         * gst/gstghostpad.c:
7068         * gst/gstobject.h:
7069         * gst/gstxml.c:
7070           more section docs
7071
7072 2005-11-14  Wim Taymans  <wim@fluendo.com>
7073
7074         * common/gst.supp:
7075           add suppressions from Wim's Debian machine
7076
7077 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7078
7079         * common/gst.supp:
7080           add suppressions from Andy's AMD64 Ubuntu machine
7081
7082 2005-11-14  Andy Wingo  <wingo@pobox.com>
7083
7084         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7085         STATE_LOCK not necessary. Fixes #311489.
7086
7087         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7088         #305291.
7089
7090         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7091         this function is not implemented.
7092
7093 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7094
7095         * gst/base/gstbasetransform.c:
7096         (gst_base_transform_prepare_output_buf):
7097         Ref the source pad caps while we need them.
7098         Fixes (#321386)
7099
7100 2005-11-11  Wim Taymans  <wim@fluendo.com>
7101
7102         * docs/gst/gstreamer-sections.txt:
7103         Added some docs for GstCollectData.
7104
7105         * gst/base/gstadapter.c:
7106         Some small code example fix.
7107
7108         * gst/base/gstcollectpads.c:
7109         * gst/base/gstcollectpads.h:
7110         Document some more.
7111
7112 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7113
7114         * configure.ac: back to HEAD
7115
7116 === release 0.9.5 ===
7117
7118 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7119
7120         * configure.ac:
7121           releasing 0.9.5, "Bike Lunch Day"
7122
7123 2005-11-11  Wim Taymans  <wim@fluendo.com>
7124
7125         * gst/gstbuffer.c: (_gst_buffer_copy):
7126         Copy more flags.
7127
7128         * gst/gstcaps.c: (gst_caps_is_equal):
7129         Fix some docs.
7130         Make _is_equal fast in the trivial cases.
7131
7132         * gst/gstminiobject.c:
7133         * gst/gstminiobject.h:
7134         More docs. Spifify .h file.
7135
7136         * gst/gstutils.c:
7137         Small doc update.
7138
7139 2005-11-11  Wim Taymans  <wim@fluendo.com>
7140
7141         * gst/base/gstbasetransform.c:
7142         (gst_base_transform_prepare_output_buf),
7143         (gst_base_transform_handle_buffer):
7144         Small cleanups.
7145         If we're processing a buffer and need to allocate an output
7146         buffer, we cannot accept a format change. If we did get a 
7147         format change, we have to alloc a buffer ourselves of the 
7148         right size.
7149
7150 2005-11-11  Wim Taymans  <wim@fluendo.com>
7151
7152         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7153         While checking the flag for reentrancy in the gstcaps function
7154         is nice to detect recursive invocations, it also makes it 
7155         impossible to call getcaps from multiple threads, which must be
7156         possible. So, checking for recursive calls has to go.
7157
7158 2005-11-11  Michael Smith <msmith@fluendo.com>
7159
7160         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7161           Don't sync on buffers that fall partially outside our current
7162           segment. Prevents an assertion failure/abort playing some files.
7163
7164 2005-11-10  Andy Wingo  <wingo@pobox.com>
7165
7166         * check/gst/gstbin.c (test_message_state_changed_children): Style
7167         fix..
7168
7169         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7170         gst_bus_poll with the signal watch. Ensures that poll and a signal
7171         watch see the same messages.
7172
7173         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7174         a poll and a watch at the same time get the same messages.
7175
7176 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7177
7178         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7179         * gst/gstcaps.c: (gst_caps_intersect):
7180           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7181           and it's not needed.
7182
7183 2005-11-10  Wim Taymans  <wim@fluendo.com>
7184
7185         * docs/design/part-TODO.txt:
7186         Updated todo.
7187
7188 2005-11-10  Wim Taymans  <wim@fluendo.com>
7189
7190         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7191         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7192         (gst_base_src_do_sync), (gst_base_src_get_range):
7193         Implement clock sync in base class.
7194
7195 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7196
7197         patch by: Tim-Philipp Müller <tim at centricular dot net>
7198
7199         * gst/gststructure.c: (gst_structure_parse_field),
7200         (gst_structure_from_string):
7201           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7202           so that gst_parse_launch() can deal with spaces in filtered link
7203           caps (fixes #164479)
7204         * check/gst/capslist.h:
7205         * check/gst/gststructure.c: (GST_START_TEST):
7206           add unit tests for this change
7207
7208 2005-11-10  Wim Taymans  <wim@fluendo.com>
7209
7210         * docs/gst/gstreamer-sections.txt:
7211         * gst/gstelement.c:
7212         * gst/gstelement.h:
7213         Fix docs, move some STATE macros to private.
7214
7215 2005-11-10  Wim Taymans  <wim@fluendo.com>
7216
7217         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7218         Added check for bug #317341
7219
7220         * gst/gstbuffer.c:
7221         * gst/gstbuffer.h:
7222         Some more spiffifying.
7223
7224         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7225         Call peer linkfunction if we are a source pad. Totally fixes
7226         #317341
7227
7228         * gst/gstpad.c:
7229         Update docs, source pads should call the peer linkfunction
7230         so they can atomically perform the pad link.
7231
7232 2005-11-09  Wim Taymans  <wim@fluendo.com>
7233
7234         * gst/gstbuffer.c:
7235         * gst/gstbuffer.h:
7236         Uber-spiffy-spiffify some more.
7237
7238 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7239
7240         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7241         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7242         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7243         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7244         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7245         * gst/gstpad.c: (gst_pad_init):
7246           Use GST_DEBUG_FUNCPTR() more extensively.
7247
7248 2005-11-09  Wim Taymans  <wim@fluendo.com>
7249
7250         * gst/gstobject.c: (gst_object_class_init):
7251         * gst/gstobject.h:
7252         Documentation fixes.
7253
7254 2005-11-09  Edward Hervey  <edward@fluendo.com>
7255
7256         * gst/gsttypefindfactory.c:
7257         Fix docs.
7258         
7259 2005-11-09  Edward Hervey  <edward@fluendo.com>
7260
7261         * gst/base/gsttypefindhelper.c:
7262         * gst/gsttypefind.c:
7263         * gst/gsttypefind.h:
7264         Fix docs.
7265
7266 2005-11-09  Wim Taymans  <wim@fluendo.com>
7267
7268         * gst/gstiterator.c:
7269         Fix revision data.
7270
7271         * gst/gsttask.c:
7272         * gst/gsttask.h:
7273         Fix docs.
7274
7275 2005-11-09  Wim Taymans  <wim@fluendo.com>
7276
7277         * gst/gstevent.h:
7278         * gst/gsturi.h:
7279         Fix docs.
7280
7281 2005-11-09  Wim Taymans  <wim@fluendo.com>
7282
7283         * docs/gst/gstreamer-sections.txt:
7284         Moved the message async delivery private lock and cond
7285         to the private section.
7286
7287         * gst/gstmessage.c:
7288         * gst/gstmessage.h:
7289         Fixed docs.
7290
7291 2005-11-09  Edward Hervey  <edward@fluendo.com>
7292
7293         * docs/gst/gstreamer-sections.txt:
7294         * gst/gsturi.c:
7295         * gst/gsturi.h:
7296         Document GstURIHandler
7297
7298 2005-11-09  Wim Taymans  <wim@fluendo.com>
7299
7300         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7301         (gst_iterator_find_custom):
7302         * gst/gstiterator.h:
7303         Fix iterator docs.
7304
7305 2005-11-09  Wim Taymans  <wim@fluendo.com>
7306
7307         * gst/gstbin.h:
7308         Document another field.
7309
7310         * gst/gststructure.c:
7311         * gst/gststructure.h:
7312         Document.
7313
7314 2005-11-09  Wim Taymans  <wim@fluendo.com>
7315
7316         * gst/gstbin.h:
7317         Documented structs.
7318
7319 2005-11-09  Wim Taymans  <wim@fluendo.com>
7320
7321         * docs/gst/gstreamer-sections.txt:
7322         Added some new macros.
7323
7324         * gst/gstclock.c:
7325         * gst/gstclock.h:
7326         * gst/gstobject.h:
7327         Docs updates.
7328
7329 2005-11-09  Wim Taymans  <wim@fluendo.com>
7330
7331         * docs/design/part-TODO.txt:
7332         Some more items for the TODO
7333
7334         * gst/gstcaps.c:
7335         * gst/gstcaps.h:
7336         Document GstCaps.
7337
7338 2005-11-09  Andy Wingo  <wingo@pobox.com>
7339
7340         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7341         to work on something else now tho...
7342
7343         * gst/base/gstadapter.c: More adapter docs.
7344
7345         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7346         (gst_file_sink_stop): New functions, replace the state change
7347         handler.
7348         (gst_file_sink_class_init): Hook up the start and stop functions.
7349         (gst_file_sink_base_init): Don't set the state change handler any
7350         more. It was a bit ugly too, being set from here...
7351         (gst_file_sink_get_property, gst_file_sink_set_property):
7352         Cleanups...
7353         (gst_file_sink_set_location): More robust check that doesn't call
7354         GST_STATE. Ugggggg.
7355
7356 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7357
7358         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7359           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7360
7361 2005-11-08  Wim Taymans  <wim@fluendo.com>
7362
7363         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7364         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7365         (gst_base_sink_chain), (gst_base_sink_change_state):
7366         * gst/base/gstbasesink.h:
7367         * gst/base/gstbasesrc.h:
7368         * gst/gstelement.h:
7369         * gst/gstevent.h:
7370         Avoid excessive typechecking in macros.
7371
7372         * gst/gstminiobject.c: (gst_mini_object_get_type),
7373         (gst_mini_object_init), (gst_mini_object_new),
7374         (gst_mini_object_free):
7375         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7376         (gst_object_finalize):
7377         Remove cruft code, optimize alloc_trace.
7378
7379 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7380
7381         * docs/faq/gst-uninstalled:
7382           fix up PS1 for systems that try to reset it
7383
7384 2005-11-07  Wim Taymans  <wim@fluendo.com>
7385
7386         * gst/base/gstbasesrc.c: (gst_base_src_init),
7387         (gst_base_src_get_range):
7388         Set the segment_end to -1 initially. Fixed typefind.
7389
7390 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7391
7392         * gst/base/gstadapter.c:
7393           Debug category should be 'adapter', not 'GstAdapter'.
7394           
7395         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7396         (gst_collectpads_class_init), (gst_collectpads_init),
7397         (gst_collectpads_peek), (gst_collectpads_pop),
7398         (gst_collectpads_event), (gst_collectpads_chain):
7399           Add debug category and some debugging output. Use boilerplate
7400           macros. Remove some extraneous words from docs.
7401
7402 2005-11-05  Andy Wingo  <wingo@pobox.com>
7403
7404         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7405         macro.
7406
7407 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7408
7409         * docs/gst/gstreamer-sections.txt:
7410         * gst/gstcaps.h:
7411         * gst/gstinfo.c:
7412         * gst/gstminiobject.h:
7413         * gst/gstobject.h:
7414         * gst/gstutils.h:
7415           more docs added
7416
7417 2005-11-04  Wim Taymans  <wim@fluendo.com>
7418
7419         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7420         Small update to stop at the configured segment_end
7421         position.
7422
7423 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7424
7425         * gst/gstregistry.c:
7426         * gst/gstregistry.h:
7427           added missing docs
7428
7429 2005-11-04  Edward Hervey  <edward@fluendo.com>
7430
7431         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7432         Check if we are doing a segment seek and have arrived at the
7433         end of that segment.
7434
7435 2005-11-04  Wim Taymans  <wim@fluendo.com>
7436
7437         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7438         Don't leak a mutex unlock in case of an error.
7439
7440         * gst/gstbus.h:
7441         Doc fixes.
7442
7443 2005-11-04  Wim Taymans  <wim@fluendo.com>
7444
7445         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7446         (gst_bus_post):
7447         Get the context to wake up only once.
7448
7449 2005-11-03  Wim Taymans  <wim@fluendo.com>
7450
7451         * check/states/sinks.c: (GST_START_TEST):
7452         Uncomment fixed check.
7453
7454         * docs/design/part-TODO.txt:
7455         Updated TODO.
7456
7457         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7458         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7459         (gst_base_sink_get_position):
7460         If we are going to PLAYING, post the right pending state
7461         when we post the intermediate paused message.
7462
7463         * gst/gstelement.c: (gst_element_continue_state),
7464         (gst_element_set_state_func), (gst_element_change_state):
7465         Don't post state changes that were between the same state
7466         and were not ASYNC.
7467
7468 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7469
7470         * docs/gst/gstreamer-sections.txt:
7471         * gst/gstcaps.h:
7472         * gst/gstinfo.c:
7473         * gst/gstminiobject.h:
7474         * gst/gstobject.h:
7475         * gst/gstutils.h:
7476           more docs and doc style fixes
7477
7478 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7479
7480         * docs/gst/gstreamer-sections.txt:
7481         * gst/gstelement.c:
7482         * gst/gstminiobject.c:
7483         doc fixes
7484
7485 2005-11-03  Andy Wingo  <wingo@pobox.com>
7486
7487         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7488         state-changed messages actually have the right order and the right
7489         values.
7490
7491 2005-11-03  Wim Taymans  <wim@fluendo.com>
7492
7493         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7494         Added some more checks. Specifically the case where NO_PREROLL
7495         elements are in the pipeline.
7496
7497         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7498         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7499         (gst_base_sink_get_position):
7500         Post READY->PAUSED state change messages too.
7501         Fix bug where VOID was posted as pending state...
7502
7503         * gst/gstbin.c: (gst_bin_recalc_state):
7504         use _element_continue_state() to continue the state change.
7505
7506         * gst/gstelement.c: (gst_element_continue_state),
7507         (gst_element_commit_state), (gst_element_set_state_func),
7508         (gst_element_change_state), (gst_element_change_state_func):
7509         Lots of state change cleanups, assign the STATE_RETURN in
7510         a new continue_state() function that also propagates the
7511         last return value from a state change to the app.
7512         Update some debug statements with proper category.
7513
7514 2005-11-03  Wim Taymans  <wim@fluendo.com>
7515
7516         * docs/design/part-events.txt:
7517         * docs/design/part-gstpipeline.txt:
7518         * docs/design/part-messages.txt:
7519         * docs/design/part-overview.txt:
7520         * docs/design/part-seeking.txt:
7521         * docs/design/part-states.txt:
7522         * docs/design/part-trickmodes.txt:
7523         * docs/manual/advanced-position.xml:
7524         Small docs updates.
7525
7526         * gst/gstobject.h:
7527         People think !! is ugly, this looks better.
7528
7529         * gst/gstpad.c: (gst_pad_set_blocked_async):
7530         Remove !! since it's fixed elsewhere now.
7531
7532 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7533
7534         * gst/gstminiobject.h:
7535         * gst/gstobject.h:
7536           Add !! to _FLAG_IS_SET macros to make the result boolean.
7537
7538 2005-11-03  Edward Hervey  <edward@fluendo.com>
7539
7540         * gst/gstpad.c: (gst_pad_set_blocked_async):
7541         comparing a flag and a gboolean rarely returns coherent results...
7542         Added two characters (!!) to make that work correctly.
7543         
7544 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7545
7546         * gst/gstbus.c: (gst_bus_class_init):
7547           Fix some typos.
7548           
7549         * gst/gstqueue.c: (gst_queue_loop):
7550           Don't assume a miniobject that isn't a buffer is an
7551           event (it could be that there is a refcounting
7552           problem somewhere and the pointer is stale and
7553           refers to an already destroyed miniobject).
7554
7555 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7556
7557         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7558
7559 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7560
7561         * docs/manual/advanced-position.xml:
7562           Update seek example and explanations to current 0.9 API.
7563
7564         * gst/elements/gsttypefindelement.c:
7565         (gst_type_find_element_activate):
7566           Remove FIXME comment now that the found caps
7567           are unreffed.
7568
7569 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7570
7571         * gst/gstregistryxml.c: (load_feature):
7572           Add another GST_STR_NULL instance
7573
7574 2005-11-02  Edward Hervey  <edward@fluendo.com>
7575
7576         * gst/gstpad.c: (handle_pad_block):
7577         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7578         
7579 2005-11-02  Wim Taymans  <wim@fluendo.com>
7580
7581         * gst/gstbin.c:
7582         Fix typo in docs.
7583
7584         * gst/gstelement.c: (gst_element_commit_state):
7585         Remove unused value.
7586
7587         * gst/gstiterator.c:
7588         Mention that the returned element is reffed in the docs.
7589
7590 2005-11-02  Wim Taymans  <wim@fluendo.com>
7591
7592         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7593         (gst_pad_push), (gst_pad_push_event):
7594         Unlock blocked pads when they are flushed.
7595
7596 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7597
7598         * docs/README:
7599         * docs/gst/gstreamer-sections.txt:
7600         * gst/gstbin.c:
7601           doc updates
7602         * gst/gstregistry.c: (gst_registry_scan_path_level):
7603           fix for a nasty little missed situation where an installed plug-in
7604           which was in the cache did not get overridden by an uninstalled one
7605           which was earlier in the plugin path because the newly created plugin
7606           for the uninstalled one (not in the registry) didn't get its
7607           ->registered set to TRUE
7608
7609 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7610
7611         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7612         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7613         (gst_collectpads_is_active), (gst_collectpads_collect),
7614         (gst_collectpads_collect_range), (gst_collectpads_start),
7615         (gst_collectpads_stop), (gst_collectpads_peek),
7616         (gst_collectpads_pop), (gst_collectpads_available),
7617         (gst_collectpads_read), (gst_collectpads_flush):
7618           Guard public API with assertions.
7619         
7620         * gst/gstpad.c:
7621           Fix docs for gst_pad_set_link_function().
7622
7623 2005-11-02  Johan Dahlin  <johan@gnome.org>
7624
7625         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7626         Unref found_caps after we used it.
7627
7628 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7629
7630         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7631           Don't try to ref NULL.
7632
7633 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7634
7635         * win32/common/config.h.in:
7636           provide a GST_FUNCTION that just gives a string for now
7637
7638 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7639
7640         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7641         (gst_object_flags_get_type), (register_gst_bin_flags),
7642         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7643         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7644         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7645         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7646         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7647         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7648         (gst_clock_flags_get_type), (register_gst_state),
7649         (gst_state_get_type), (register_gst_state_change_return),
7650         (gst_state_change_return_get_type), (register_gst_state_change),
7651         (gst_state_change_get_type), (register_gst_element_flags),
7652         (gst_element_flags_get_type), (register_gst_core_error),
7653         (gst_core_error_get_type), (register_gst_library_error),
7654         (gst_library_error_get_type), (register_gst_resource_error),
7655         (gst_resource_error_get_type), (register_gst_stream_error),
7656         (gst_stream_error_get_type), (register_gst_event_type),
7657         (gst_event_type_get_type), (register_gst_seek_type),
7658         (gst_seek_type_get_type), (register_gst_seek_flags),
7659         (gst_seek_flags_get_type), (register_gst_format),
7660         (gst_format_get_type), (register_gst_index_certainty),
7661         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7662         (gst_index_entry_type_get_type),
7663         (register_gst_index_lookup_method),
7664         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7665         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7666         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7667         (gst_index_flags_get_type), (register_gst_debug_level),
7668         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7669         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7670         (gst_iterator_result_get_type), (register_gst_iterator_item),
7671         (gst_iterator_item_get_type), (register_gst_message_type),
7672         (gst_message_type_get_type), (register_gst_mini_object_flags),
7673         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7674         (gst_pad_link_return_get_type), (register_gst_flow_return),
7675         (gst_flow_return_get_type), (register_gst_activate_mode),
7676         (gst_activate_mode_get_type), (register_gst_pad_direction),
7677         (gst_pad_direction_get_type), (register_gst_pad_flags),
7678         (gst_pad_flags_get_type), (register_gst_pad_presence),
7679         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7680         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7681         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7682         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7683         (gst_plugin_flags_get_type), (register_gst_rank),
7684         (gst_rank_get_type), (register_gst_query_type),
7685         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7686         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7687         (gst_tag_flag_get_type), (register_gst_task_state),
7688         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7689         (gst_alloc_trace_flags_get_type),
7690         (register_gst_type_find_probability),
7691         (gst_type_find_probability_get_type), (register_gst_uri_type),
7692         (gst_uri_type_get_type), (register_gst_parse_error),
7693         (gst_parse_error_get_type):
7694         * win32/common/gstversion.h:
7695           update win32 copies
7696
7697 2005-11-01  Luca Ognibene  <luogni@tin.it>
7698
7699         * gst/gst.c:
7700           fix docs. popt is dead, long live GOption.
7701
7702 2005-10-31  Wim Taymans  <wim@fluendo.com>
7703
7704         * gst/gstbuffer.h:
7705         Small doc fix.
7706
7707 2005-10-31  Andy Wingo  <wingo@pobox.com>
7708
7709         * Boo!
7710
7711         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7712
7713         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7714         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7715         the possibility of deadlocks here if code calling notify() or
7716         set() has a lock that can be taken in another notify handler (ABBA
7717         with class lock and e.g. python GIL state lock).
7718
7719 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7720
7721         * gst/gstbus.c: Doc updates.
7722
7723 2005-10-28  Wim Taymans  <wim@fluendo.com>
7724
7725         * docs/design/part-TODO.txt:
7726         * gst/gstiterator.c:
7727         * gst/gstsystemclock.c:
7728         * gst/gstsystemclock.h:
7729         Doc updates.
7730
7731 2005-10-28  Edward Hervey  <edward@fluendo.com>
7732
7733         * docs/gst/gstreamer-docs.sgml:
7734         * docs/gst/gstreamer-sections.txt:
7735         the GstURIType documentation page is private, it only defines GstURIType
7736         which should be defined in the GstURIHandler page
7737         
7738 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7739
7740         * gst/gstbin.c: (gst_bin_class_init):
7741         * gst/gstbin.h:
7742         * gst/gstutils.c:
7743         Documentation updates.
7744
7745 2005-10-28  Wim Taymans  <wim@fluendo.com>
7746
7747         * docs/gst/gstreamer-sections.txt:
7748         * gst/gstclock.c:
7749         * gst/gstclock.h:
7750         Documented the clocks.
7751
7752 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7753
7754         * docs/gst/gstreamer-sections.txt:
7755           move some macros to private sections
7756         * gst/gstminiobject.c:
7757         * gst/gstminiobject.h:
7758           add descriptions provided by ds and some more
7759         * gst/gstpad.h:
7760           mark macro as to be removed
7761
7762 2005-10-28  Wim Taymans  <wim@fluendo.com>
7763
7764         * docs/design/part-TODO.txt:
7765         Add an item to TODO.
7766
7767         * gst/gstiterator.c: (gst_iterator_fold),
7768         (gst_iterator_find_custom):
7769         * gst/gstiterator.h:
7770         Add iterator docs.
7771
7772 2005-10-28  Wim Taymans  <wim@fluendo.com>
7773
7774         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7775         (gst_base_transform_init):
7776         Don't leak class.
7777
7778         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7779         An EOS event marks the queue as completely filled.
7780
7781 2005-10-27  Wim Taymans  <wim@fluendo.com>
7782
7783         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7784         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7785         Some more debugging.
7786
7787         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7788         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7789         (gst_base_transform_event), (gst_base_transform_getrange),
7790         (gst_base_transform_chain):
7791         * gst/base/gstbasetransform.h:
7792         Fix debugging,
7793         Protect transform and concurrent buffer alloc with a new lock.
7794         Try not to break ABI/API.
7795
7796 2005-10-27  Wim Taymans  <wim@fluendo.com>
7797
7798         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7799         (gst_base_src_init), (gst_base_src_query),
7800         (gst_base_src_default_newsegment),
7801         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7802         (gst_base_src_send_event), (gst_base_src_event_handler),
7803         (gst_base_src_pad_get_range), (gst_base_src_loop),
7804         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7805         (gst_base_src_start), (gst_base_src_deactivate),
7806         (gst_base_src_activate_push), (gst_base_src_change_state):
7807         Move some stuff around and cleanup things.
7808
7809 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7810
7811         * gst/base/gstbasesrc.c: (gst_base_src_query):
7812           Add missing break statements.
7813
7814 2005-10-27  Wim Taymans  <wim@fluendo.com>
7815
7816         * check/gst/gstbin.c: (GST_START_TEST):
7817         An extra refcount is taken in basesrc.
7818
7819         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7820         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7821         (gst_base_src_loop):
7822         Small cleanups, check for flushing after being unlocked from the 
7823         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7824         Don't send out EOS when going to READY.
7825
7826 2005-10-27  Wim Taymans  <wim@fluendo.com>
7827
7828         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7829         (gst_base_sink_get_position):
7830         Some more debug.
7831
7832         * gst/gstbin.c: (message_check), (bin_replace_message),
7833         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7834         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7835         (bin_query_duration_init), (bin_query_duration_fold),
7836         (bin_query_duration_done), (bin_query_generic_fold),
7837         (gst_bin_query):
7838         * tools/gst-launch.c: (main):
7839         Remove old option.
7840
7841 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7842
7843         * examples/controller/audio-example.c: (main):
7844         * examples/queue/queue.c: (event_loop):
7845         * gst/base/gstbasetransform.h:
7846         * gst/gstelement.c: (gst_element_send_event):
7847         * gst/gstevent.h:
7848         * gst/gstpad.c: (gst_pad_send_event):
7849           fixing examples
7850           fixing docs typos
7851           changing log priority in error situations
7852
7853 2005-10-25  Wim Taymans  <wim@fluendo.com>
7854
7855         * gst/gstbin.c: (message_check), (bin_replace_message),
7856         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7857         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7858         (bin_query_duration_init), (bin_query_duration_fold),
7859         (bin_query_duration_done), (bin_query_generic_fold),
7860         (gst_bin_query):
7861         Some doc and debug updates.
7862         Cache previously requested query DURATION for speed. invalidate
7863         cached duration if element posts a DURATION message.
7864
7865 2005-10-25  Wim Taymans  <wim@fluendo.com>
7866
7867         * docs/design/part-TODO.txt:
7868         Update TODO.
7869
7870         * gst/gstbin.c: (message_check), (bin_replace_message),
7871         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7872         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7873         (bin_query_duration_init), (bin_query_duration_fold),
7874         (bin_query_duration_done), (bin_query_generic_fold),
7875         (gst_bin_query):
7876         Handle SEGMENT_START/DONE messages correctly.
7877         More evolved query algorithm that handles duration queries
7878         correctly.
7879
7880         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7881         (gst_element_get_state_func), (gst_element_abort_state),
7882         (gst_element_commit_state), (gst_element_lost_state):
7883         Some more debugging.
7884
7885         * gst/gstmessage.h:
7886         Added doc.
7887
7888 2005-10-25  Wim Taymans  <wim@fluendo.com>
7889
7890         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7891         Don't use invalid stream_time.
7892
7893         * gst/gstevent.c: (gst_event_new_newsegment):
7894         stream_time in newsegment cannot be undefined.
7895
7896 2005-10-24  Wim Taymans  <wim@fluendo.com>
7897
7898         * gst/gstbus.c:
7899         Doc fix.
7900
7901         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7902         (gst_queue_loop):
7903         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7904
7905 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7906
7907         * docs/libs/tmpl/gstdparam.sgml:
7908         * docs/libs/tmpl/gstdplinint.sgml:
7909         * docs/libs/tmpl/gstdpman.sgml:
7910         * docs/libs/tmpl/gstdpsmooth.sgml:
7911         * docs/libs/tmpl/gstunitconvert.sgml:
7912           these are obsolete
7913
7914 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7915
7916         * configure.ac:
7917           back to HEAD
7918
7919 === release 0.9.4 ===
7920
7921 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7922
7923         * configure.ac:
7924           releasing 0.9.4, "Tyrannosaurus Rex"
7925
7926 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7927
7928         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7929         (gst_file_sink_get_current_offset):
7930           Use fseeko() and ftello() if available. When falling back on
7931           lseek() to get the current offset, fflush() first to make sure
7932           everything is up-to-date and we get the right offset.
7933
7934 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7935
7936         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7937         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7938         * gst/gsterror.c: (_gst_stream_errors_init):
7939         * gst/gsterror.h:
7940         * gst/gstqueue.c: (gst_queue_loop):
7941         * po/POTFILES.in:
7942           remove prematurely added error category and clean up the instances
7943
7944 2005-10-21  Wim Taymans  <wim@fluendo.com>
7945
7946         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7947         (gst_base_sink_get_position), (gst_base_sink_query),
7948         (gst_base_sink_change_state):
7949         Simply set the right flag when going to playing, that's all
7950         we need to do instead of calling a function inside the object
7951         lock (that could take the lock as well and deadlock)
7952
7953 2005-10-21  Wim Taymans  <wim@fluendo.com>
7954
7955         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7956         (gst_base_src_loop):
7957         Don't warn, the peer element knows what to do best when
7958         the seek failed, it might try something else.
7959
7960 2005-10-21  Wim Taymans  <wim@fluendo.com>
7961
7962         * gst/base/gstbasesrc.c: (gst_base_src_init),
7963         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7964         Fix seeking.
7965
7966 2005-10-21  Wim Taymans  <wim@fluendo.com>
7967
7968         * docs/design/part-segments.txt:
7969         More docs.
7970
7971         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7972         Correctly set caps, even on the subbufer.
7973
7974 2005-10-21  Wim Taymans  <wim@fluendo.com>
7975
7976         * docs/gst/gstreamer-docs.sgml:
7977         * docs/gst/gstreamer-sections.txt:
7978         * gst/gstelement.h:
7979         * gst/gstevent.c:
7980         * gst/gstevent.h:
7981         * gst/gstmessage.h:
7982         * gst/gstpad.h:
7983         * gst/gstparse.h:
7984         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7985         * gst/gsttask.h:
7986         * gst/gstutils.c:
7987         * gst/gstutils.h:
7988         And 2% more doc coverage.
7989
7990 2005-10-21  Andy Wingo  <wingo@pobox.com>
7991
7992         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7993         position reporting.
7994
7995 2005-10-20  Wim Taymans  <wim@fluendo.com>
7996
7997         * gst/gsterror.c: (gst_error_get_message):
7998         * gst/gstparse.h:
7999         * gst/gstquery.h:
8000         * gst/gststructure.c:
8001         * gst/gsttrace.c:
8002         * gst/gstutils.c:
8003         More docs.
8004
8005 2005-10-20  Wim Taymans  <wim@fluendo.com>
8006
8007         * gst/gstbuffer.h:
8008         * gst/gstpad.c:
8009         * gst/gstparse.c:
8010         Another 1% more coverage.
8011
8012 2005-10-20  Wim Taymans  <wim@fluendo.com>
8013
8014         * docs/gst/gstreamer-sections.txt:
8015         * gst/gstelement.c: (gst_element_get_state_func),
8016         (gst_element_abort_state), (gst_element_commit_state),
8017         (gst_element_lost_state):
8018         * gst/gstevent.h:
8019         * gst/gstquery.c: (gst_query_set_position),
8020         (gst_query_parse_position), (gst_query_set_duration),
8021         (gst_query_parse_duration), (gst_query_new_convert):
8022         * gst/gstutils.c:
8023         Yay! 1% more docs coverage.
8024
8025 2005-10-20  Wim Taymans  <wim@fluendo.com>
8026
8027         * gst/gstpad.h:
8028         * gst/gstquery.c: (gst_query_set_position),
8029         (gst_query_parse_position), (gst_query_set_duration),
8030         (gst_query_parse_duration), (gst_query_new_convert):
8031         * gst/gstquery.h:
8032         * gst/gstutils.c: (gst_element_query_convert):
8033         * gst/gstutils.h:
8034         Docs and consistency fixes.
8035
8036 2005-10-20  Wim Taymans  <wim@fluendo.com>
8037
8038         * gst/gsttask.c:
8039         * gst/gsttask.h:
8040         More docs.
8041
8042 2005-10-20  Wim Taymans  <wim@fluendo.com>
8043
8044         * gst/gstbin.c: (message_check), (bin_replace_message),
8045         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8046         (update_degree), (gst_bin_sort_iterator_next),
8047         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8048         Reworked the message handling a bit, cache the messages instead of
8049         only the senders. alows us to do more in the future.
8050
8051 2005-10-20  Wim Taymans  <wim@fluendo.com>
8052
8053         * docs/design/part-TODO.txt:
8054         Update TODO
8055
8056         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8057         (gst_base_sink_query):
8058         Don't use clock time to report position when in EOS.
8059
8060 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8061
8062         * tools/gst-inspect.c: (print_interfaces),
8063         (print_element_properties_info), (print_element_info):
8064           Fix interface output with gst-inspect -a; don't print
8065           newlines after double/float properties.
8066
8067 2005-10-20  Wim Taymans  <wim@fluendo.com>
8068
8069         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8070         (gst_base_sink_query):
8071         Speed up current position calculation.
8072
8073         * gst/base/gstbasesrc.c: (gst_base_src_query),
8074         (gst_base_src_default_newsegment):
8075         Correctly set stream position in newsegment.
8076
8077         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8078         (update_degree), (gst_bin_sort_iterator_next),
8079         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8080         * gst/gstmessage.c: (gst_message_new_custom):
8081         Clean up debugging info
8082
8083         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8084         (gst_queue_loop), (gst_queue_handle_src_query):
8085         Pause task faster.
8086
8087 2005-10-19  Wim Taymans  <wim@fluendo.com>
8088
8089         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8090         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8091         Fix query handling again.
8092
8093 2005-10-19  Wim Taymans  <wim@fluendo.com>
8094
8095         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8096         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8097         * gst/base/gstbasesrc.c: (gst_base_src_query):
8098         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8099         * gst/elements/gsttypefindelement.c:
8100         (gst_type_find_handle_src_query), (find_element_get_length),
8101         (gst_type_find_element_activate):
8102         API change fix.
8103
8104         * gst/gstquery.c: (gst_query_new_position),
8105         (gst_query_set_position), (gst_query_parse_position),
8106         (gst_query_new_duration), (gst_query_set_duration),
8107         (gst_query_parse_duration), (gst_query_set_segment),
8108         (gst_query_parse_segment):
8109         * gst/gstquery.h:
8110         Bundling query position/duration is not a good idea since duration
8111         does not change much and we don't want to recalculate it for every
8112         position query, so they are separated again..
8113         Base value in segment query is not needed.
8114
8115         * gst/gstqueue.c: (gst_queue_handle_src_query):
8116         * gst/gstutils.c: (gst_element_query_position),
8117         (gst_element_query_duration), (gst_pad_query_position),
8118         (gst_pad_query_duration):
8119         * gst/gstutils.h:
8120         Updates for query API change.
8121         Added some docs here and there.
8122
8123 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8124
8125         * check/gst/gstbin.c: (GST_START_TEST):
8126         * check/gst/gstghostpad.c: (GST_START_TEST):
8127         * check/pipelines/cleanup.c: (GST_START_TEST):
8128           wait on thread to die so we can check refcount correctly
8129
8130 2005-10-18  Wim Taymans  <wim@fluendo.com>
8131
8132         * check/pipelines/stress.c: (GST_START_TEST):
8133         Make check a little more time consuming.
8134
8135 2005-10-18  Wim Taymans  <wim@fluendo.com>
8136
8137         * check/Makefile.am:
8138         * check/pipelines/stress.c: (GST_START_TEST),
8139         (simple_launch_lines_suite), (main):
8140         Small state change torture test.
8141
8142         * docs/design/part-states.txt:
8143         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8144         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8145         (gst_base_sink_change_state):
8146         Never take state lock from streaming thread, clean up ugly
8147         hacks. Unfortunatly core does not yet support nice ways to
8148         async commit state.
8149         
8150         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8151         (bin_bus_handler):
8152         Start state recalc if a STATE_DIRTY message is posted, but only
8153         on the toplevel bin.
8154
8155         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8156         (gst_element_get_state_func), (gst_element_abort_state),
8157         (gst_element_commit_state), (gst_element_lost_state),
8158         (gst_element_set_state_func), (gst_element_change_state):
8159         * gst/gstelement.h:
8160         State variables are now protected with the LOCK, the state
8161         lock is only used to serialize _set_state().
8162
8163 2005-10-18  Wim Taymans  <wim@fluendo.com>
8164
8165         * check/gst/gstbin.c: (GST_START_TEST):
8166         * check/gst/gstmessage.c: (GST_START_TEST):
8167         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8168         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8169         (bin_bus_handler):
8170         * gst/gstelement.c: (gst_element_abort_state),
8171         (gst_element_commit_state), (gst_element_lost_state):
8172         * gst/gstmessage.c: (gst_message_new_state_changed),
8173         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8174         (gst_message_new_segment_done), (gst_message_new_duration),
8175         (gst_message_parse_state_changed),
8176         (gst_message_parse_segment_start),
8177         (gst_message_parse_segment_done), (gst_message_parse_duration):
8178         * gst/gstmessage.h:
8179         * tools/gst-launch.c: (event_loop):
8180         Seriously, this is better than a previous commit as we only need
8181         to notify the fact that an element changed state in a streaming
8182         thread, marking the state of the parents dirty, hence the 
8183         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8184         message.
8185
8186 2005-10-18  Wim Taymans  <wim@fluendo.com>
8187
8188         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8189         (gst_bin_recalc_func):
8190         * gst/gstelement.c: (gst_element_set_clock),
8191         (gst_element_abort_state), (gst_element_lost_state):
8192         Cleanups, prepare for state change fixes.
8193
8194 2005-10-18  Wim Taymans  <wim@fluendo.com>
8195
8196         * gst/gstbin.h:
8197         * gst/gstelement.c: (gst_element_class_init),
8198         (gst_element_set_state), (gst_element_set_state_func):
8199         * gst/gstelement.h:
8200         Pending ABI changes.
8201         GThreadPool in GstBinClass to monitor async state changes.
8202         state_cookie in GstElement to detect concurrent gst/set state.
8203         set_state is now virtual too in case a very complicated element
8204         has to be constructed.
8205
8206 2005-10-18  Wim Taymans  <wim@fluendo.com>
8207
8208         * check/gst/gstbin.c: (GST_START_TEST):
8209         * check/gst/gstmessage.c: (GST_START_TEST):
8210         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8211         * gst/gstbin.c: (bin_bus_handler):
8212         * gst/gstelement.c: (gst_element_commit_state),
8213         (gst_element_lost_state):
8214         * gst/gstmessage.c: (gst_message_new_state_changed),
8215         (gst_message_new_segment_start), (gst_message_new_segment_done),
8216         (gst_message_new_duration), (gst_message_parse_state_changed),
8217         (gst_message_parse_segment_start),
8218         (gst_message_parse_segment_done), (gst_message_parse_duration):
8219         * gst/gstmessage.h:
8220         * tools/gst-launch.c: (event_loop):
8221         Make messages future proof.
8222         state-change gets a flag if it was a message comming from the
8223         streaming thread.
8224         segment-start/stop can also be specified in other formats.
8225         A message to notify an app that a pipeline changed playback 
8226         duration.
8227         Also fix a GstMessage leak in -launch
8228
8229 2005-10-18  Andy Wingo  <wingo@pobox.com>
8230
8231         * gst/gstelement.c (gst_element_dispose): More helpful message.
8232
8233 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8234
8235         reviewed by: <delete if not using a buddy>
8236
8237         * common/gtk-doc.mak:
8238
8239 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8240
8241         * gst/gstregistry.c: (gst_registry_scan_path_level):
8242           unref a plug-in we get that was already initialized
8243
8244 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8245
8246         * docs/gst/gstreamer-sections.txt:
8247         * docs/libs/gstreamer-libs-sections.txt:
8248         * gst/gstelement.h:
8249           add new api entries
8250           hide internal macro
8251
8252 2005-10-17  Andy Wingo  <wingo@pobox.com>
8253
8254         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8255         cleanup.
8256
8257         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8258
8259         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8260
8261         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8262         (gst_element_get_state_func): Better debug message.
8263         (gst_element_commit_state): s/INFO/DEBUG/.
8264         (gst_element_lost_state, gst_element_change_state): 
8265
8266         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8267         (gst_message_new_custom): s/INFO/LOG/.
8268
8269 2005-10-17  Michael Smith <msmith@fluendo.com>
8270
8271         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8272           Check if end time is valid using end time, not start time.
8273
8274 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8275
8276         * check/gst-libs/controller.c: (GST_START_TEST),
8277         (gst_controller_suite):
8278         * libs/gst/controller/gstcontroller.c:
8279         (gst_controlled_property_set_interpolation_mode):
8280         * libs/gst/controller/gstcontroller.h:
8281         * libs/gst/controller/gstinterpolation.c:
8282         * testsuite/controller/.cvsignore:
8283         * testsuite/controller/Makefile.am:
8284         * testsuite/controller/interpolator.c:
8285           merge controller testsuites
8286           fix broken tests
8287           remove mem-chunk from docs
8288
8289 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8290
8291         * gst/gstmemchunk.c:
8292         * gst/gstmemchunk.h:
8293         * gst/gsttrashstack.c:
8294         * gst/gsttrashstack.h:
8295           out.  get out.  you're fired.  to the Attic !
8296
8297 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8298
8299         * gst/gstcaps.c: (gst_caps_intersect):
8300           fix signedness issues in a (hopefully) correct way
8301         * gst/gstelement.c: (gst_element_pads_activate):
8302           some debugging
8303         * gst/gstobject.c: (gst_object_set_parent):
8304           some debugging
8305
8306 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8307
8308         * gst/gstvalue.h: Fix prototypes.
8309
8310 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8311
8312         * docs/gst/gstreamer-sections.txt:
8313         * gst/gst.c: (gst_version_string):
8314         * gst/gst.h:
8315         * gst/gstversion.h.in:
8316         * win32/common/libgstreamer.def:
8317           add gst_version_string ()
8318
8319 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8320
8321         * configure.ac:
8322           clean up further
8323         * gst/gst.c: (init_post):
8324         * win32/common/config.h.in:
8325           it's PLUGINDIR now
8326         * gst/gstcaps.c: (gst_caps_intersect):
8327           use gint64, the range could be bigger than a guint
8328
8329 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8330
8331         * gst/gstclock.h:
8332           document potential problem in 2038
8333
8334 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8335
8336         * gst/gstcaps.c: (gst_caps_intersect):
8337           Fix guint j diving under 0
8338
8339 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8340
8341         * configure.ac:
8342         * win32/common/config.h:
8343         * win32/common/config.h.in:
8344           check for process.h, declares getpid() on Windows
8345         * gst/gstinfo.c:
8346           include process.h if we have it
8347         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8348         * gst/gstmemchunk.h:
8349           fix signedness issues
8350         * win32/common/libgstreamer.def:
8351           fix get_type's
8352
8353 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8354
8355         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8356         fix. Because of unsigned ints, caps intersection was going nuts and
8357         trying to access structures with G_MAXUINT index. That fixes
8358         videotestsrc ! ffmpegcolorspace ! fakesink
8359         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8360         consistency.
8361
8362 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8363
8364         * configure.ac:
8365           use the gettext macro
8366         * gst/elements/gstelements.c:
8367         * gst/gst.c:
8368         * gst/indexers/gstindexers.c:
8369           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8370         * win32/common/config.h:
8371           updated config.h
8372         * win32/common/config.h.in:
8373           add the template to generate config.h
8374         * win32/common/gstenumtypes.c:
8375         * win32/common/gstversion.h:
8376           updated copies
8377
8378 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8379
8380         * gst/gst.c: (gst_version):
8381         * gst/gstversion.h.in:
8382           add the nano
8383
8384 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8385
8386         * gst/gstevent.h:
8387           Oops, add missing closing bracket.
8388
8389 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8390
8391         * configure.ac:
8392           use common m4's for argument checking
8393
8394 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8395
8396         * docs/gst/gstreamer-sections.txt:
8397         * gst/gstevent.h:
8398           Add GST_EVENT_TYPE_NAME() macro.
8399
8400 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8401
8402         * gst/gstinfo.c:
8403         * gst/gstpluginfeature.c:
8404         * gst/gsttask.c:
8405           privatize more symbols
8406
8407 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8408
8409         * configure.ac:
8410           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8411           everything that uses GStreamer API should have the includes
8412
8413 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8414
8415         * docs/gst/gstreamer-sections.txt:
8416         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8417         * gst/gstvalue.h:
8418           give each value a _get_type, removes the DATA exports
8419
8420 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8421
8422         * gst/gst.c:
8423         * gst/gst.h:
8424           remove _gst_registry_auto_load, not used anymore
8425         * gst/gstbin.c: (gst_bin_get_type):
8426         * gst/gstbin.h:
8427         * gst/gstelement.c: (gst_element_get_type):
8428         * gst/gstelement.h:
8429         * gst/gstobject.c: (gst_object_get_type):
8430         * gst/gstobject.h:
8431         * gst/gstpad.c: (gst_pad_get_type):
8432         * gst/gstpad.h:
8433           make _get_type functions similar, fixes data export from library
8434
8435 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8436
8437         * configure.ac:
8438           correctly make conditionals
8439         * gst/elements/Makefile.am:
8440         * gst/elements/gstelements.c:
8441           fix typo causing fdsrc not to build
8442
8443 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8444
8445         * testsuite/Makefile.am:
8446         * testsuite/bytestream/.cvsignore:
8447         * testsuite/bytestream/Makefile.am:
8448         * testsuite/bytestream/filepadsink.c:
8449         * testsuite/bytestream/gstbstest.c:
8450         * testsuite/bytestream/test1.c:
8451         * testsuite/bytestream/testfile1:
8452         * testsuite/caps/normalisation.c:
8453         * testsuite/caps/random.c: (main):
8454         * testsuite/cleanup/.cvsignore:
8455         * testsuite/cleanup/Makefile.am:
8456         * testsuite/cleanup/cleanup1.c:
8457         * testsuite/cleanup/cleanup2.c:
8458         * testsuite/cleanup/cleanup3.c:
8459         * testsuite/cleanup/cleanup4.c:
8460         * testsuite/cleanup/cleanup5.c:
8461         * testsuite/controller/interpolator.c:
8462         * testsuite/debug/printf_extension.c: (main):
8463         * testsuite/elements/tee.c:
8464         * testsuite/negotiation/.cvsignore:
8465         * testsuite/negotiation/Makefile.am:
8466         * testsuite/negotiation/pad_link.c:
8467         * testsuite/pad/Makefile.am:
8468         * testsuite/pad/chainnopull.c:
8469         * testsuite/pad/getnopush.c:
8470         * testsuite/pad/link.c:
8471         * testsuite/refcounting/sched.c: (create_pipeline):
8472         * testsuite/registry/Makefile.am:
8473         * testsuite/registry/gst-print-formats.c:
8474         * testsuite/schedulers/.cvsignore:
8475         * testsuite/schedulers/142183-2.c:
8476         * testsuite/schedulers/142183.c:
8477         * testsuite/schedulers/143777-2.c:
8478         * testsuite/schedulers/143777.c:
8479         * testsuite/schedulers/147713.c:
8480         * testsuite/schedulers/147819.c:
8481         * testsuite/schedulers/147894-2.c:
8482         * testsuite/schedulers/147894.c:
8483         * testsuite/schedulers/Makefile.am:
8484         * testsuite/schedulers/group_link.c:
8485         * testsuite/schedulers/queue_link.c:
8486         * testsuite/schedulers/relink.c:
8487         * testsuite/schedulers/unlink.c:
8488         * testsuite/schedulers/unref.c:
8489         * testsuite/schedulers/useless_iteration.c:
8490         * testsuite/states/bin.c:
8491           clean out/remove some stuff from the testsuite directories
8492
8493 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8494
8495         * configure.ac:
8496           check for some headers
8497         * gst/elements/Makefile.am:
8498         * gst/elements/gstelements.c:
8499           don't compile fdsrc without sys/socket.h
8500         * gst/indexers/Makefile.am:
8501         * gst/indexers/gstindexers.c: (plugin_init):
8502           don't compile fileindex without mmap
8503
8504 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * configure.ac:
8507           reorganize
8508           clean up
8509           document more
8510           remove cruft
8511         * check/Makefile.am:
8512         * docs/gst/Makefile.am:
8513         * examples/helloworld/Makefile.am:
8514         * gst/Makefile.am:
8515         * gst/base/Makefile.am:
8516         * gst/check/Makefile.am:
8517         * gst/elements/Makefile.am:
8518         * gst/indexers/Makefile.am:
8519         * gst/parse/Makefile.am:
8520         * libs/gst/controller/Makefile.am:
8521         * libs/gst/dataprotocol/Makefile.am:
8522         * examples/helloworld/helloworld.c: (event_loop):
8523           compile fixes, though it's not being compiled currently
8524
8525 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8526
8527         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8528           Add some simple tests for the new taglist date API.
8529
8530 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8531
8532         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8533         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8534           Beautify 'last-message' output: print 'none' for buffer timestamps
8535           and durations if none is set; improve alignment with next messages.
8536
8537 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8538
8539         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8540         * gst/gstpluginfeature.h:
8541         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8542         * gst/gstregistry.h:
8543         * docs/gst/gstreamer-sections.txt:
8544           Add new API to check plugin feature version requirements.
8545
8546         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8547           Some basic tests for the above.         
8548
8549 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8550
8551         * gst/gststructure.c: (gst_structure_to_string):
8552           guard against NULL printf - happens when for example
8553           a message structure with GstClock gets serialized
8554
8555 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8556
8557         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8558           Fix presumable copy'n'pasto.
8559
8560 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8561
8562         * gst/elements/gstfakesrc.h:
8563         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8564         * gst/elements/gsttypefindelement.c:
8565           fix some signedness
8566         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8567           I wonder if this could actually write +2GB files before
8568
8569 2005-10-13  Andy Wingo  <wingo@pobox.com>
8570
8571         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8572         Fix Timmeke Waymans bug.
8573         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8574         string of the proper length to gst_caps_from_string. There's a
8575         potential for, before this fix, that this could cause someone
8576         connecting over the network to cause a segfault if the payload is
8577         not NUL-terminated.
8578
8579 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8580
8581         * docs/design/draft-push-pull.txt:
8582         * docs/design/part-overview.txt:
8583         * docs/random/TODO-pre-0.9:
8584         * docs/random/old/ChangeLog.gstreamer:
8585         * gst/base/gstpushsrc.c:
8586         * gst/gstclock.c:
8587           fixed typos
8588
8589 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8590
8591         * gst/glib-compat.c: (gst_flags_get_first_value):
8592         * gst/glib-compat.h:
8593         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8594         (gst_value_compare_double), (gst_value_serialize_flags):
8595           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8596           infinite loop
8597
8598 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8599
8600         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8601         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8602           fix up debugging
8603         * tools/gst-launch.c: (event_loop):
8604           print out clock nicely
8605
8606 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8607
8608         * docs/gst/gstreamer-sections.txt:
8609         * gst/gsttaglist.h:
8610         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8611         (gst_tag_list_get_date_index):
8612           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8613           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8614
8615 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8616
8617         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8618         (gst_collectpads_chain):
8619         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8620         in CollectData.
8621
8622 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8623
8624         * docs/gst/gstreamer-sections.txt:
8625         * gst/gst.c:
8626         * gst/gsterror.h:
8627         * tools/gst-inspect.c: (main):
8628         * tools/gst-launch.c: (main):
8629         * tools/gst-run.c: (main):
8630         * tools/gst-xmlinspect.c: (main):
8631           fix GOption context leaks
8632           doc fixes
8633
8634 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8635
8636         * gst/gstbus.c:
8637           use HAVE_UNISTD_H
8638         * win32/common/config.h:
8639           update config
8640         * win32/vs6/grammar.dsp:
8641         * win32/vs6/libgstelements.dsp:
8642         * win32/vs6/libgstreamer.dsp:
8643           update vs6 files
8644
8645 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8646
8647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8648         * gst/base/gstbasesrc.c: (gst_base_src_query):
8649           fix more guint64<->gdouble conversions
8650
8651 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8652
8653         * Makefile.am:
8654           add win32-update target
8655         * win32/common/gstconfig.h:
8656         * win32/common/gstenumtypes.c:
8657         * win32/common/gstenumtypes.h:
8658         * win32/common/gstversion.h:
8659           add files that visual studio can't generate
8660
8661 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8662
8663         * Makefile.am:
8664           add a win32-update target
8665         * configure.ac:
8666
8667 2005-10-12  Wim Taymans  <wim@fluendo.com>
8668
8669         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8670         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8671         * gst/gstelement.c: (gst_element_commit_state),
8672         (gst_element_set_state):
8673         Protect flags with proper lock.
8674         unref provided cached clock in dispose.
8675
8676 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8677
8678         * gst/gst.c:
8679         * gst/gstminiobject.h:
8680         * gst/gstpad.h:
8681         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8682           removed unused flags from miniobject
8683           doc fixes
8684
8685 2005-10-12  Wim Taymans  <wim@fluendo.com>
8686
8687         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8688         (gst_file_sink_event), (gst_file_sink_render):
8689         Flush before seeking.
8690
8691 2005-10-12  Andy Wingo  <wingo@pobox.com>
8692
8693         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8694         always been the case.
8695
8696 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8697
8698         * check/gst/gstbin.c: (GST_START_TEST):
8699         * docs/gst/gstreamer-sections.txt:
8700         * gst/base/gstbasesink.c: (gst_base_sink_init):
8701         * gst/base/gstbasesrc.c: (gst_base_src_init),
8702         (gst_base_src_get_range), (gst_base_src_check_get_range),
8703         (gst_base_src_start), (gst_base_src_stop):
8704         * gst/base/gstbasesrc.h:
8705         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8706         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8707         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8708         (bin_bus_handler):
8709         * gst/gstbin.h:
8710         * gst/gstbuffer.h:
8711         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8712         * gst/gstbus.h:
8713         * gst/gstelement.c: (gst_element_is_locked_state),
8714         (gst_element_set_locked_state), (gst_element_commit_state),
8715         (gst_element_set_state):
8716         * gst/gstelement.h:
8717         * gst/gstindex.c: (gst_index_init):
8718         * gst/gstindex.h:
8719         * gst/gstminiobject.h:
8720         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8721         (gst_object_set_parent):
8722         * gst/gstobject.h:
8723         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8724         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8725         * gst/gstpad.h:
8726         * gst/gstpadtemplate.h:
8727         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8728         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8729         * gst/gstpipeline.h:
8730         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8731         (gst_file_index_commit):
8732         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8733         * testsuite/pad/link.c: (gst_test_src_init),
8734         (gst_test_filter_init), (gst_test_sink_init):
8735         * testsuite/states/locked.c: (main):
8736           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8737           moved bitshift from macro to enum definition
8738
8739 2005-10-12  Wim Taymans  <wim@fluendo.com>
8740
8741         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8742         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8743         (gst_file_sink_render):
8744         Some more debugging info.
8745
8746 2005-10-12  Wim Taymans  <wim@fluendo.com>
8747
8748         * docs/design/part-states.txt:
8749         * tools/gst-launch.c: (main):
8750         Some doc updates.
8751         Revert non-intentional change.
8752
8753 2005-10-12  Wim Taymans  <wim@fluendo.com>
8754
8755         * check/gst/gstbin.c: (GST_START_TEST):
8756         * check/gst/gstelement.c: (GST_START_TEST):
8757         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8758         * check/gst/gstghostpad.c: (GST_START_TEST):
8759         * check/gst/gstpipeline.c: (GST_START_TEST):
8760         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8761         * check/states/sinks.c: (GST_START_TEST):
8762         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8763         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8764         (gst_bin_remove_func), (gst_bin_get_state_func),
8765         (gst_bin_recalc_state), (gst_bin_change_state_func),
8766         (bin_bus_handler):
8767         * gst/gstelement.c: (gst_element_get_state_func),
8768         (gst_element_get_state), (gst_element_abort_state),
8769         (gst_element_commit_state), (gst_element_set_state),
8770         (gst_element_change_state), (gst_element_change_state_func):
8771         * gst/gstelement.h:
8772         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8773         (gst_pipeline_provide_clock_func):
8774         * gst/gstutils.c: (gst_element_link_pads_filtered):
8775         * tools/gst-launch.c: (main):
8776         * tools/gst-typefind.c: (main):
8777         Use GstClockTime in _get_state() instead of GTimeVal.
8778         Remove old code in gstutils.c
8779
8780 2005-10-12  Andy Wingo  <wingo@pobox.com>
8781
8782         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8783         removed.
8784
8785         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8786         there is no task. Shouldn't affect any code, as nothing in our
8787         plugins checks this return value.
8788         (gst_pad_stop_task): Also take the stream lock if the pad has no
8789         task. Docs updated.
8790
8791 2005-10-12  Wim Taymans  <wim@fluendo.com>
8792
8793         * gst/gstpad.c: (pre_activate), (post_activate),
8794         (gst_pad_activate_pull), (gst_pad_activate_push):
8795         Cleanup activation code. Reset old state if
8796         activation failed.
8797
8798 2005-10-12  Wim Taymans  <wim@fluendo.com>
8799
8800         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8801         (gst_base_sink_change_state):
8802         No need to prerol after receiving EOS.
8803
8804         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8805         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8806         * gst/elements/gstidentity.c: (gst_identity_event):
8807         Print events more verbosely.
8808
8809 2005-10-12  Wim Taymans  <wim@fluendo.com>
8810
8811         * check/Makefile.am:
8812         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8813         * check/states/sinks2.c:
8814         Moved sinks2 testcode in sinks check.
8815
8816         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8817         (gst_bin_remove_func), (gst_bin_recalc_state),
8818         (gst_bin_change_state_func), (bin_bus_handler):
8819         Fix potential race condition when _get_state() iterated over an
8820         ASYNC element right before it posted a state completion.
8821
8822         * gst/gstclock.h:
8823         Do proper cast here.
8824
8825         * gst/gstevent.c: (gst_event_new_newsegment),
8826         (gst_event_parse_newsegment):
8827         A playback rate of 0.0 is not allowed.
8828
8829 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8830
8831         * win32/common/config.h:
8832         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8833         (_trewinddir), (_ttelldir), (_tseekdir):
8834         * win32/common/dirent.h:
8835         * win32/common/gtchar.h:
8836         * win32/common/libgstbase.def:
8837         * win32/common/libgstreamer.def:
8838         * win32/vs6/grammar.dsp:
8839         * win32/vs6/gst_inspect.dsp:
8840         * win32/vs6/gst_launch.dsp:
8841         * win32/vs6/gstreamer.dsw:
8842         * win32/vs6/libgstbase.dsp:
8843         * win32/vs6/libgstelements.dsp:
8844         * win32/vs6/libgstreamer.dsp:
8845           Visual Studio 6 project files, and a new common directory.
8846           Phear.
8847
8848 2005-10-11  Wim Taymans  <wim@fluendo.com>
8849
8850         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8851         (gst_base_sink_do_sync), (gst_base_sink_query),
8852         (gst_base_sink_change_state):
8853         * gst/base/gstbasesink.h:
8854         Correctly parse newsegment info.
8855
8856 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8857
8858         * gst/gst.c: (init_post):
8859           split plugin paths correctly
8860
8861 2005-10-11  Wim Taymans  <wim@fluendo.com>
8862
8863         * check/gst/gstevent.c: (GST_START_TEST):
8864         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8865         (gst_base_sink_change_state):
8866         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8867         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8868         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8869         * gst/gstevent.c: (gst_event_new_newsegment),
8870         (gst_event_parse_newsegment):
8871         * gst/gstevent.h:
8872         Added extra flag to newsegment for future API freeze.
8873         Updated check and base elements.
8874
8875 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8876
8877         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8878         (gst_collectpads_add_pad), (gst_collectpads_pop),
8879         (gst_collectpads_event), (gst_collectpads_chain):
8880         * gst/base/gstcollectpads.h: Handle EOS correctly.
8881
8882 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8883
8884         * tools/gst-launch.c: (main):
8885           more null protecting
8886
8887 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8888
8889         * gst/gst-i18n-lib.h:
8890           check for ENABLE_NLS, not GETTEXT_PACKAGE
8891         * gst/gstregistry.c: (gst_registry_add_plugin),
8892         (gst_registry_scan_path_level),
8893         (_gst_registry_remove_cache_plugins):
8894           protect possibly NULL strings
8895         * gst/parse/types.h:
8896           config.h already included before
8897         * tools/gst-inspect.c: (main):
8898           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8899           check for ENABLE_NLS, not GETTEXT_PACKAGE
8900         * tools/gst-launch.c: (main):
8901           check for ENABLE_NLS, not GETTEXT_PACKAGE
8902
8903 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8904
8905         * configure.ac:
8906           if we don't have glib, fail before testing 2.8
8907         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8908           fix a leak, should fix plugins-base testsuite
8909
8910 2005-10-11  Andy Wingo  <wingo@pobox.com>
8911
8912         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8913         take the mode we're going to as an arg. Go head and set the mode
8914         and flushing flags now, so that if the activate function starts a
8915         thread all the flags will be in the right state.
8916         (post_activate): Renamed also. Just handle making sure streaming
8917         finishes for the deactivation case, and setting the deactivated
8918         mode.
8919         (gst_pad_set_active): Complain loudly if deactivation fails.
8920         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8921         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8922         remove the terrible hack.
8923
8924 2005-10-11  Wim Taymans  <wim@fluendo.com>
8925
8926         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8927         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8928         (gst_bin_recalc_state), (gst_bin_change_state_func),
8929         (gst_bin_dispose), (bin_bus_handler):
8930         * gst/gstbin.h:
8931         Prepare to make current EOS message queue more generic.
8932         Fix some typos.
8933
8934         * gst/gstevent.c: (gst_event_new_newsegment),
8935         (gst_event_parse_newsegment):
8936         * gst/gstevent.h:
8937         Rename base to stream_time.
8938
8939         * gst/gstmessage.h:
8940         Fix typo in docs.
8941
8942 2005-10-11  Wim Taymans  <wim@fluendo.com>
8943
8944         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8945         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8946         (gst_bin_change_state_func), (bin_bus_handler):
8947         * gst/gstbin.h:
8948         Work on proper clock selection.
8949
8950 2005-10-11  Edward Hervey  <edward@fluendo.com>
8951
8952         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8953         * libs/gst/controller/gstcontroller.h:
8954         Added GList* version of _remove_properties() in order to be able to wrap
8955         it in bindings.
8956
8957 2005-10-11  Wim Taymans  <wim@fluendo.com>
8958
8959         * docs/design/part-states.txt:
8960         Some more docs.
8961
8962         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8963         (gst_bin_change_state_func), (bin_bus_handler):
8964         Doc updates. Don't distribute the same clock over and over again.
8965
8966         * gst/gstclock.c:
8967         * gst/gstclock.h:
8968         Doc updates.
8969
8970         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8971         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8972         (gst_pad_send_event):
8973         * gst/gstpad.h:
8974         Make probe emission threadsafe again.
8975         Register quarks and move _get_name() from utils.
8976         Doc updates.
8977
8978         * gst/gstpipeline.c: (gst_pipeline_class_init),
8979         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8980         Only redistribute the clock of it changed.
8981
8982         * gst/gstsystemclock.h:
8983         Doc updates. 
8984
8985         * gst/gstutils.c:
8986         * gst/gstutils.h:
8987         Moved the _flow_get_name() to GstPad.
8988
8989 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8990
8991         * check/gst-libs/gdp.c: (GST_START_TEST):
8992         * check/gst/gstcaps.c: (GST_START_TEST):
8993         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8994         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8995         (gst_dp_packet_from_caps):
8996           fix more valgrind warnings before turning up the heat
8997
8998 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8999
9000         * gst/parse/grammar.y:
9001           some cleanup before the hacking
9002
9003 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9004
9005         * gst/base/gstbasesrc.c: (gst_base_src_query):
9006           use conversions
9007         * gst/gstutils.c: (gst_guint64_to_gdouble),
9008         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9009         * gst/gstutils.h:
9010           externalize, basesrc uses it
9011           obviously the implementation needs testing
9012
9013 2005-10-10  Wim Taymans  <wim@fluendo.com>
9014
9015         * tests/sched/Makefile.am:
9016         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9017         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9018
9019 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9020
9021         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9022           apparently converting from guint64 to double is not implemented
9023           on MSVC
9024
9025 2005-10-10  Wim Taymans  <wim@fluendo.com>
9026
9027         * check/Makefile.am:
9028         * check/generic/states.c: (GST_START_TEST):
9029         * check/gst/gstbin.c: (GST_START_TEST):
9030         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9031         * check/states/sinks.c: (GST_START_TEST):
9032         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9033         (main):
9034         Check fixes, use API as stated in design docs, remove hacks.
9035
9036         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9037         (gst_base_sink_change_state):
9038         Catch stopping our task while we're shutting down.
9039
9040         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9041         (gst_bin_remove_func), (gst_bin_get_state_func),
9042         (gst_bin_recalc_state), (gst_bin_change_state_func),
9043         (bin_bus_handler):
9044         * gst/gstbin.h:
9045         * gst/gstelement.c: (gst_element_init),
9046         (gst_element_get_state_func), (gst_element_abort_state),
9047         (gst_element_commit_state), (gst_element_lost_state),
9048         (gst_element_set_state), (gst_element_change_state),
9049         (gst_element_change_state_func):
9050         * gst/gstelement.h:
9051         New state change algorithm (see #318116)
9052
9053         * gst/gstpipeline.c: (gst_pipeline_class_init),
9054         (gst_pipeline_init), (gst_pipeline_set_property),
9055         (gst_pipeline_get_property), (do_pipeline_seek),
9056         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9057         * gst/gstpipeline.h:
9058         Remove crude state change hacks.
9059
9060         * gst/gstutils.h:
9061         Remove crude hacks.
9062
9063         * tools/gst-launch.c: (main):
9064         Fixes for state change. Needs some more work to fully use the
9065         new stuff.
9066
9067 2005-10-10  Andy Wingo  <wingo@pobox.com>
9068
9069         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9070
9071         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9072         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9073         issue.
9074
9075 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9076
9077         * gst/gstiterator.c: (gst_iterator_new):
9078           Fix my previous commit: GTypes passed to gst_iterator_new()
9079           can be fundamental types.
9080
9081 2005-10-10  Wim Taymans  <wim@fluendo.com>
9082
9083         * gst/gstelement.c: (gst_element_iterate_pad_list),
9084         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9085         (gst_element_iterate_sink_pads):
9086         Use src/sink pads lists for the respective iterators instead
9087         of filtering.
9088
9089 2005-10-10  Andy Wingo  <wingo@pobox.com>
9090
9091         Merged in popt removal + GOption addition patch from Ronald, bug
9092         #169772.
9093
9094         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9095         GstElement macros around, remove popt-related symbols, add goption
9096         stuff.
9097
9098         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9099         
9100         * docs/gst/Makefile.am:
9101         * docs/libs/Makefile.am: No POPT_CFLAGS.
9102         
9103         * examples/manual/Makefile.am:
9104         * docs/manual/basics-init.xml: Doc updates with an example.
9105         
9106         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9107         (gst_init), (parse_one_option), (parse_goption_arg):
9108         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9109         bit of hand merging and debugging to get the GOption stuff working
9110         tho.
9111         
9112         * tests/Makefile.am:
9113         * tools/Makefile.am:
9114         * tools/gst-inspect.c: (main):
9115         * tools/gst-launch.c: (main):
9116         * tools/gst-run.c: (main):
9117         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9118
9119 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9120
9121         * gst/gstiterator.c: (gst_iterator_new):
9122           Add assertions to make sure passed GType is likely to really
9123           be a GType (as the compiler won't catch it if the size and
9124           GType arguments get mixed up, see #318447).
9125
9126 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9127
9128         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9129
9130         * gst/gstbin.c: (gst_bin_iterate_sorted):
9131           Pass GType and size arguments to gst_iterator_new() in the right
9132           order (maybe we should make _new() take the GType as first argument
9133           just like _new_list()?) (#318447).
9134           
9135
9136 2005-10-10  Wim Taymans  <wim@fluendo.com>
9137
9138         * gst/gstelement.c: (gst_element_finalize):
9139         And free the GStaticRecMutex too
9140
9141 2005-10-10  Andy Wingo  <wingo@pobox.com>
9142
9143         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9144         Allocate and free the mutex properly.
9145
9146         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9147         New macros.
9148         (GstElement): The state_lock is now recursive. Rebuild your
9149         plugins, suckers. Old macros adapted.
9150
9151         * docs/gst/gstreamer-sections.txt: Doc updates.
9152
9153         * gst/gstutils.h:
9154         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9155         (g_static_rec_cond_wait): Ported from state changes patch, while
9156         we wait on bug #317802 to be solved in a well-distributed GLib.
9157
9158         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9159         gst_element_change_state, variable name changes.
9160         (gst_element_change_state): Split out of gst_element_set_state in
9161         preparation for the state change merge. Doesn't pay attention to
9162         the 'transition' argument.
9163         (gst_element_set_state): Updates, hopefully purely cosmetic.
9164         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9165         state change patch.
9166         (gst_element_get_state_func): Renamed from get_state, cosmetic
9167         changes.
9168
9169 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * gst/elements/gstelements.c:
9172         * win32/GStreamer.vcproj:
9173         * win32/config.h:
9174         * win32/dirent.c: (_tseekdir):
9175         * win32/gst-inspect.vcproj:
9176         * win32/gst-launch.vcproj:
9177         * win32/gstconfig.h:
9178         * win32/gstelements.vcproj:
9179         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9180         * win32/gstreamer.def:
9181         * win32/msvc71.sln:
9182           updates for the win32 build (patch from Sebastien Moutte)
9183
9184 2005-10-10  Andy Wingo  <wingo@pobox.com>
9185
9186         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9187         gst_bin_get_state, cleaned up (but no logic changes).
9188         (bin_element_is_sink): Comment updates.
9189         (sink_iterator_filter): Remove needless cast.
9190         (gst_bin_iterate_sinks): Doc update.
9191         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9192         cleaned up (but no logic changes).
9193
9194         * check/states/sinks.c (test_src_sink): Cleanups from the state
9195         change patch.
9196         (test_livesrc_sink): Sync on the state.
9197
9198         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9199         the state change patch.
9200
9201         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9202         change patch.
9203
9204         * check/gst/gstbin.c: Merge in some style fixes and additional
9205         checks from Wim's state change patch.
9206
9207 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9208
9209         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9210         (gst_type_find_helper):
9211           Check whether we have the requested data already in our list of
9212           cached buffers before pulling a new buffer; also make the buffer
9213           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9214
9215 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9216
9217         * gst/gstcaps.c:
9218         * gst/gstevent.c:
9219           doc updates
9220         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9221           don't use long long, it's not portable.  Replacing with
9222           gint64 seems to work; let's hope no skeletons fall out of the closet.
9223
9224 2005-10-10  Andy Wingo  <wingo@pobox.com>
9225
9226         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9227
9228 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9229
9230         * docs/gst/gstreamer-sections.txt:
9231         * gst/gstevent.c:
9232         * gst/gstevent.h:
9233         * gst/gstinfo.c:
9234         * gst/gstinfo.h:
9235         * gst/gstmessage.c: (gst_message_parse_state_changed):
9236         * gst/gstpad.c:
9237         * gst/gstpad.h:
9238           more docs, fix compilation
9239
9240 2005-10-09  Philippe Khalaf <burger@speedy.org>
9241         * gst/gstmessage.c:
9242           Fixed a few forgotten variables on previous commit
9243
9244 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9245
9246         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9247           Fix evil typefind crasher: getrange() might return a short
9248           buffer at the end of a file, but gst_type_find_peek() must
9249           either return the full data as requested or NULL, but
9250           never a short buffer.
9251
9252 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9253
9254         * gst/gstmessage.c: (gst_message_new_state_changed),
9255         (gst_message_parse_state_changed):
9256         * gst/gstmessage.h:
9257           don't use "new", it's a C++ keyword
9258
9259 2005-10-08  Wim Taymans  <wim@fluendo.com>
9260
9261         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9262         * gst/gstelement.c: (gst_element_post_message):
9263         * gst/gstpipeline.c: (gst_pipeline_change_state):
9264         Small docs and debug updates.
9265
9266 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9267
9268         * docs/gst/gstreamer-sections.txt:
9269         * gst/gstelementfactory.c:
9270         * gst/gstevent.c:
9271         * gst/gsttaglist.c:
9272           more docs
9273
9274 2005-10-08  Wim Taymans  <wim@fluendo.com>
9275
9276         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9277         (gst_bin_dispose), (bin_bus_handler):
9278         Fix typos, add comments.
9279         Clear EOS list when going to PAUSED from any direction and do it
9280         in a threadsafe way.
9281         Get base time in a threadsafe way too.
9282         Fix confusing debug in the change_state function.
9283         Various other small cleanups.
9284         
9285         * gst/gstelement.c: (gst_element_post_message):
9286         Fix very verbose bus posting code.
9287
9288         * gst/gstpipeline.c: (gst_pipeline_class_init),
9289         (gst_pipeline_set_property), (gst_pipeline_get_property),
9290         (gst_pipeline_change_state):
9291         Small ARG_ -> PROP_ cleanup
9292
9293 2005-10-08  Wim Taymans  <wim@fluendo.com>
9294
9295         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9296         Do a less CPU demanding EOS check because we can.
9297
9298 2005-10-08  Wim Taymans  <wim@fluendo.com>
9299
9300         * libs/gst/dataprotocol/dataprotocol.c:
9301         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9302         (gst_dp_packet_from_event):
9303         * libs/gst/dataprotocol/dataprotocol.h:
9304         * libs/gst/dataprotocol/dp-private.h:
9305         It's about time we bump the version number.
9306         Since event types don't fit in the guint8 anymore describing
9307         the payload type, make payload type 16 bits wide.
9308
9309 2005-10-08  Wim Taymans  <wim@fluendo.com>
9310
9311         * docs/design/part-TODO.txt:
9312         * docs/design/part-clocks.txt:
9313         * docs/design/part-events.txt:
9314         * docs/design/part-gstbin.txt:
9315         * docs/design/part-gstelement.txt:
9316         * docs/design/part-gstpipeline.txt:
9317         * docs/design/part-live-source.txt:
9318         * docs/design/part-messages.txt:
9319         * docs/design/part-overview.txt:
9320         * docs/design/part-states.txt:
9321         Many doc updates.
9322
9323 2005-10-08  Wim Taymans  <wim@fluendo.com>
9324
9325         * gst/gstevent.c:
9326         * gst/gstevent.h:
9327         Fix event quark registration.
9328         Add some space between events so we can insert them in the
9329         right groups.
9330
9331 2005-10-08  Wim Taymans  <wim@fluendo.com>
9332
9333         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9334         (gst_base_sink_handle_buffer):
9335         Better log message.
9336
9337         * gst/gstbus.h:
9338         * gst/gstelement.h:
9339         More docs.
9340
9341         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9342         (gst_queue_set_property), (gst_queue_get_property):
9343         * gst/gstqueue.h:
9344         Remove old unused properties.
9345
9346 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9347         * docs/gst/gstreamer-sections.txt:
9348         * gst/gstmessage.c:
9349         * gst/gstmessage.h:
9350         * gst/gstminiobject.c:
9351         * gst/gstminiobject.h:
9352         * gst/gstobject.h:
9353         * gst/gstpad.h:
9354         * gst/gstutils.h:
9355           lots of new docs and doc fixes
9356
9357 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9358
9359         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9360         * gst/gstplugin.h:
9361         * gst/gstregistry.c: (gst_registry_lookup_locked),
9362         (gst_registry_scan_path_level):
9363         * gst/gstregistryxml.c: (load_plugin):
9364           Only ever load one plugin for a given plugin basename.
9365           This ensures correct overriding of GST_PLUGIN_PATH over
9366           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9367           system installed plugins.
9368
9369 2005-10-08  Wim Taymans  <wim@fluendo.com>
9370
9371         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9372         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9373         Prepare for doing QOS.
9374
9375 2005-10-08  Wim Taymans  <wim@fluendo.com>
9376
9377         * check/gst/gstbin.c: (GST_START_TEST):
9378         * check/pipelines/cleanup.c: (GST_START_TEST):
9379         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9380         Allow new clock message too.
9381
9382 2005-10-08  Wim Taymans  <wim@fluendo.com>
9383
9384         * gst/gstmessage.c: (gst_message_new_error),
9385         (gst_message_new_warning), (gst_message_new_tag),
9386         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9387         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9388         (gst_message_new_segment_start), (gst_message_new_segment_done),
9389         (gst_message_parse_state_changed),
9390         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9391         (gst_message_parse_new_clock):
9392         * gst/gstmessage.h:
9393         Also carry the clock in question.
9394
9395 2005-10-08  Wim Taymans  <wim@fluendo.com>
9396
9397         * gst/gstmessage.c: (gst_message_new_custom),
9398         (gst_message_new_eos), (gst_message_new_error),
9399         (gst_message_new_warning), (gst_message_new_tag),
9400         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9401         (gst_message_new_new_clock), (gst_message_new_segment_start),
9402         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9403         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9404         * gst/gstmessage.h:
9405         Clean up.
9406         Added clock related messages.
9407
9408         * gst/gstpipeline.c: (gst_pipeline_change_state):
9409         Post message when the clock changed.
9410
9411         * tools/gst-launch.c: (event_loop):
9412         Print new clock.
9413
9414 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9415
9416         * tools/gst-inspect.c: (print_element_properties_info):
9417           Can't pass NULL strings to g_print() on windows.
9418
9419 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9420
9421         * docs/Makefile.am:
9422         * docs/gst/Makefile.am:
9423         * docs/gst/gstreamer-docs.sgml:
9424         * docs/gst/running.xml:
9425         * docs/version.entities.in:
9426           add a chapter on running GStreamer.
9427           document GST_DEBUG and GST_PLUGIN* env vars
9428
9429 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9430
9431         * Makefile.am:
9432           remove include dir
9433         * configure.ac:
9434           remove PLUGINS_BUILDDIR stuff
9435         * gst/gst.c: (init_post):
9436           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9437         * idiottest.mak:
9438           remove, it was condescending and not needed
9439
9440 2005-10-08  Wim Taymans  <wim@fluendo.com>
9441
9442         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9443         (gst_base_sink_handle_object), (gst_base_sink_event),
9444         (gst_base_sink_wait), (gst_base_sink_handle_event),
9445         (gst_base_sink_change_state):
9446         * gst/base/gstbasesink.h:
9447         Repost EOS message while going to PLAYING if still EOS.
9448         Make sure that when receiving a FLUSH_START we don't attempt
9449         to sync on the clock anymore.
9450
9451 2005-10-08  Wim Taymans  <wim@fluendo.com>
9452
9453         * tools/gst-launch.c: (event_loop):
9454         Better message printout.
9455
9456 2005-10-08  Wim Taymans  <wim@fluendo.com>
9457
9458         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9459         (gst_bin_child_proxy_get_children_count):
9460         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9461         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9462         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9463         (gst_child_proxy_set_valist):
9464         * gst/parse/grammar.y:
9465         Make ChildProxy threadsafe and fix mem leaks.
9466
9467 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9468
9469         * gst/gst.c: (init_post):
9470           debug the GST_PLUGIN_ env vars
9471
9472 2005-10-08  Wim Taymans  <wim@fluendo.com>
9473
9474         * check/gst/gstbin.c: (GST_START_TEST):
9475         * check/gst/gstmessage.c: (GST_START_TEST):
9476         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9477         * gst/gstelement.c: (gst_element_commit_state),
9478         (gst_element_lost_state):
9479         * gst/gstmessage.c: (gst_message_new_state_changed),
9480         (gst_message_parse_state_changed):
9481         * gst/gstmessage.h:
9482         * tools/gst-launch.c: (event_loop):
9483         Added extra field to STATE_CHANGE message with the pending
9484         state, which will be different from the new state soon.
9485
9486 2005-10-08  Wim Taymans  <wim@fluendo.com>
9487
9488         * gst/gstbus.c: (gst_bus_pop):
9489         * gst/gstclock.c:
9490         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9491         Small cleanups and doc updates.
9492
9493 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9494
9495         * gst/gst.c: (init_pre):
9496         * gst/gstbin.c: (gst_bin_add_func):
9497           log distributing clocks and base time
9498         * gst/gstregistry.c: (gst_registry_add_plugin),
9499         (gst_registry_scan_path_level), (gst_registry_scan_path):
9500           clean up the debugging output a little
9501         * gst/gstutils.c: (gst_element_state_get_name):
9502           warn about a memleak (I've actually seen this be used, though
9503           it was probably a bug)
9504
9505 2005-10-07  Wim Taymans  <wim@fluendo.com>
9506
9507         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9508         (gst_base_src_init), (gst_base_src_default_newsegment),
9509         (gst_base_src_newsegment), (gst_base_src_do_seek),
9510         (gst_base_src_loop), (gst_base_src_start):
9511         * gst/base/gstbasesrc.h:
9512         Make the newsegment event customizable by subclasses.
9513
9514 2005-10-07  Wim Taymans  <wim@fluendo.com>
9515
9516         * gst/gstevent.c: (gst_event_new_buffersize),
9517         (gst_event_parse_buffersize):
9518         * gst/gstevent.h:
9519         New event for future idea.
9520
9521 2005-10-07  Andy Wingo  <wingo@pobox.com>
9522
9523         * gst/gstelement.c (gst_element_post_message): Doc update.
9524
9525         * docs/gst/gstreamer-sections.txt: Update.
9526
9527         * gst/gstmessage.c (gst_message_new_application): Made into a
9528         function like honest API calls.
9529         (gst_message_new_element): New message type.
9530
9531         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9532
9533         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9534         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9535         times.
9536
9537         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9538         NO_PREROLL from gst_element_change_state to fall through.
9539
9540 2005-10-07  Wim Taymans  <wim@fluendo.com>
9541
9542         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9543         (gst_ghost_pad_do_activate_push):
9544         Activating a ghostpad with no internal pad in push mode
9545         is ok.
9546
9547 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9548
9549         * gst/gstobject.h:
9550           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9551           Fixes compilation on Windows.
9552
9553 2005-10-07  Michael Smith <msmith@fluendo.com>
9554
9555         * tools/gst-inspect.c:
9556           Print out feature and plugin count at the end when printing out
9557           all features.
9558
9559 2005-10-04  Michael Smith <msmith@fluendo.com>
9560
9561         * gst/gsterror.c: (_gst_stream_errors_init):
9562           Add another error string used in a few existing plugins.
9563
9564         * gst/gstplugin.c:
9565         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9566         * tools/gst-inspect.c: (print_element_info):
9567           When a feature disappears from a plugin (and the feature exists in
9568           the cached registry file), things went horribly wrong. This isn't a
9569           complete fix, we should actually be removing the 'missing' features
9570           from the features list when we load the actual plugin. That's not
9571           yet implemented. 
9572
9573 2005-10-04  Johan Dahlin  <johan@gnome.org>
9574
9575         * check/gst/gstiterator.c: (GST_START_TEST):
9576         * gst/gstbin.c: (gst_bin_iterate_elements),
9577         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9578         * gst/gstelement.c: (gst_element_iterate_pads):
9579         * gst/gstformat.c: (gst_format_iterate_definitions):
9580         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9581         (gst_iterator_new_list), (gst_iterator_filter):
9582         * gst/gstiterator.h:
9583         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9584         Add a GType to GstIterator, update callsites and tests.
9585
9586 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9587
9588         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9589           give events a chance to be handled by event probes when the pad
9590           is not linked
9591
9592 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9593
9594         * gst/gstevent.c: (gst_event_type_get_name),
9595         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9596         * gst/gstevent.h:
9597           add string representations for event types
9598
9599 2005-10-06  Wim Taymans  <wim@fluendo.com>
9600
9601         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9602         Don't use NULL pointers.
9603
9604 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9605
9606         * gst/gst_private.h:
9607         * gst/gstbus.c:
9608         * gst/gstelement.c:
9609         * gst/gstinfo.c:
9610         * gst/gstpluginfeature.c:
9611           widen the debug category in output to fit the biggest one we have
9612           add a bus category and use it
9613           play with the colors
9614           fix up some categories
9615
9616 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9619           add push activation of sink ghost pads.
9620           Andye, please verify
9621
9622 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9623
9624         * gst/gstutils.c: (gst_element_link_pads):
9625           fix a bug in the case where neither element has a pad
9626         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9627           add a test for that case
9628
9629 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9630
9631         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9632           emit have-data before checking for peers.  This allows
9633           for probe handlers to connect elements.  This helps autopluggers.
9634         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9635         (gst_pad_suite):
9636           add six checks, linked/unlinked with no/true/false probe
9637
9638 2005-10-04  Wim Taymans  <wim@fluendo.com>
9639
9640         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9641         (gst_fake_sink_event), (gst_fake_sink_preroll),
9642         (gst_fake_sink_render), (gst_fake_sink_change_state):
9643         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9644         (gst_fake_src_get_property), (gst_fake_src_create),
9645         (gst_fake_src_stop):
9646         * gst/elements/gstidentity.c: (gst_identity_stop):
9647         Protect last_message with lock.
9648
9649 2005-10-04  Edward Hervey  <edward@fluendo.com>
9650
9651         * gst/gstformat.h: 
9652         Added precision in the comments for GST_FORMAT_DEFAULT
9653
9654 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9655
9656         * tools/gst-launch.c: (main):
9657           Don't try to run erroneous pipelines.
9658
9659 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9660
9661         * gst/gstbus.c: We don't need this header.
9662
9663 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9664
9665         * configure.ac:
9666           back to development
9667
9668 === release 0.9.3 ===
9669
9670 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9671
9672         * README:
9673         * configure.ac:
9674           Releasing 0.9.3, "Unregistered"
9675
9676 2005-10-03  Andy Wingo  <wingo@pobox.com>
9677
9678         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9679         whereby calling a pad's activatepush() function can start a thread
9680         that starts to push or pull before the pad gets the FLUSHING flag
9681         unset. Hack around it by holding the stream lock until the flag is
9682         set. Need to replace this with a proper solution. Together with
9683         the ghost pad fixes, this fixes mp3 playing/tagreading.
9684
9685         * docs/design/part-gstghostpad.txt: Add a note about activation of
9686         proxy pads outside of ghost pads.
9687
9688         * gst/gstghostpad.c: Implement the ghost pad activation design.
9689
9690 2005-10-02  Andy Wingo  <wingo@pobox.com>
9691
9692         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9693         It is volatile, after all.
9694
9695         * docs/design/part-gstghostpad.txt: Flesh out activation with
9696         ghost pads.
9697
9698         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9699         GST_DEBUG_FUNCPTR.
9700
9701 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9702
9703         * configure.ac:
9704           Fix (unused) AM_CONDITIONAL tests.
9705
9706 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9707
9708         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9709
9710         * gst/gstutils.c: (gst_pad_query_convert):
9711           Add assertion that makes sure src_val is >=0, just like
9712           gst_query_new_convert() has. (#315895)
9713
9714 2005-09-30  Edward Hervey  <edward@fluendo.com>
9715
9716         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9717         Let's not iterate pads we're not interested in, it avoids getting 
9718         sky-high refcounts on sinkpad.
9719
9720 2005-09-30  Wim Taymans  <wim@fluendo.com>
9721
9722         * gst/gstelement.c: (gst_element_set_state),
9723         (gst_element_change_state):
9724         Small tweak, element in ASYNC remains ASYNC.
9725
9726 2005-09-30  Wim Taymans  <wim@fluendo.com>
9727
9728         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9729         Only error is an error.
9730
9731         * gst/gstbin.c: (gst_bin_change_state):
9732         Better debugging.
9733
9734         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9735         Also call pad_block in pad alloc.
9736
9737         * gst/gstutils.c: (gst_flow_get_name):
9738         Better debugging.
9739
9740 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9741
9742         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9743         (gst_base_src_get_range):
9744           Fix documentation typos. Add some more debug info.
9745
9746 2005-09-29  David Schleef  <ds@schleef.org>
9747
9748         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9749           more end-user friendly.
9750         * tools/gst-inspect.c: (main): Check if command-line argument is
9751           a file and attempt to load that file as a plugin.
9752
9753 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9754
9755         * check/gst/gstbin.c:
9756         * check/states/sinks.c:
9757           fix tests for the new warning
9758         * check/gst/gstpipeline.c:
9759           add a test for pipeline and bus interaction
9760         * gst/gstelement.c:
9761           elements should be NULL if they get disposed; add a warning if not
9762
9763 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9764
9765         * gst/gstobject.c:
9766           for 2.6 refcounting, make debug log more correct by printing
9767           the actual refcounts at the time of swap (Wim)
9768
9769 2005-09-29  Andy Wingo  <wingo@pobox.com>
9770
9771         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9772         removes signal watches previously added via
9773         gst_bus_add_signal_watch.
9774         (gst_bus_add_signal_watch): Don't return the source id, just store
9775         it on the bus if there wasn't an id already.
9776
9777         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9778         add_signal_watch and remove_signal_watch.
9779
9780 2005-09-29  Edward Hervey  <edward@fluendo.com>
9781
9782         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9783         Better if we actually iterate the list :)
9784
9785 2005-09-29  Wim Taymans  <wim@fluendo.com>
9786
9787         * check/gst/gstbin.c: (GST_START_TEST):
9788         Change for new bus API.
9789
9790         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9791         (send_messages), (GST_START_TEST), (gstbus_suite):
9792         Change for new bus signal API.
9793
9794         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9795         (gst_bus_source_prepare), (gst_bus_source_check),
9796         (gst_bus_create_watch), (gst_bus_add_watch_full),
9797         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9798         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9799         * gst/gstbus.h:
9800         Remove support for multiple GSources operating on different
9801         message types as it is too complex and unneeded when using
9802         signals.
9803         Added support for receiving signals from the bus.
9804
9805 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9806
9807         * docs/libs/tmpl/gstdataprotocol.sgml:
9808         * docs/manual/advanced-dataaccess.xml:
9809         * gst/elements/gstcapsfilter.c:
9810         * gst/gstutils.c:
9811           rename filter-caps to caps property
9812
9813 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9814
9815         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9816           More robust fraction string parsing.
9817
9818         * docs/pwg/appendix-porting.xml:
9819           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9820
9821 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9822
9823         * gst/gstcaps.c: (gst_caps_do_simplify):
9824           Thou shalt not free a structure and then continue using it
9825           in the next loop iteration.
9826
9827         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9828         (gst_caps_suite):
9829           Add test case for caps simplification.
9830
9831 2005-09-29  Wim Taymans  <wim@fluendo.com>
9832
9833         * check/gst/gstbin.c: (GST_START_TEST):
9834         Oops.
9835
9836 2005-09-29  Wim Taymans  <wim@fluendo.com>
9837
9838         * check/gst/gstbin.c: (GST_START_TEST):
9839         Add bus to bin.
9840
9841         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9842         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9843         (find_element), (gst_bin_sort_iterator_next),
9844         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9845         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9846         (gst_bin_change_state), (gst_bin_dispose):
9847         A bin does not have a bus, it gets the bus from the parent.
9848
9849         * gst/gstelement.c: (gst_element_requires_clock),
9850         (gst_element_provides_clock), (gst_element_is_indexable),
9851         (gst_element_is_locked_state), (gst_element_change_state),
9852         (gst_element_set_bus_func):
9853         Small cleanups.
9854
9855         * gst/gstpipeline.c: (gst_pipeline_class_init),
9856         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9857         The pipeline provides a bus.
9858
9859 2005-09-28  Johan Dahlin  <johan@gnome.org>
9860
9861         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9862         gst_structure_get_enum instead of gst_structure_get_int
9863
9864         * gst/gststructure.c (gst_structure_get_enum): Impl.
9865
9866         * gst/gststructure.h (gst_structure_get_enum): Add
9867
9868         * docs/gst/gstreamer-sections.txt: Ditto
9869
9870         * gst/gstmessage.c (gst_message_new_state_changed): Use
9871         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9872         which does introspection.
9873         Reviewed by Christian Schaller
9874
9875 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9876
9877         * gst/gstinfo.c: (gst_debug_log_default):
9878           don't do dummy g_strdup()s
9879         * libs/gst/controller/gstcontroller.c:
9880         (on_object_controlled_property_changed),
9881         (gst_controlled_property_new), (gst_controller_new_valist),
9882         (gst_controller_new_list),
9883         (gst_controller_remove_properties_valist), (gst_controller_set),
9884         (gst_controller_get), (gst_controller_sync_values),
9885         (gst_controller_get_value_array), (_gst_controller_class_init),
9886         (gst_controller_get_type):
9887         * libs/gst/controller/gstcontroller.h:
9888         * libs/gst/controller/gstinterpolation.c:
9889         (gst_controlled_property_find_timed_value_node):
9890           convert // to /**/ comments
9891
9892 2005-09-28  Wim Taymans  <wim@fluendo.com>
9893
9894         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9895         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9896         (gst_bus_sync_signal_handler):
9897         * gst/gstbus.h:
9898         Added async-message and sync-message signals to the bus.
9899         Added helper BusFunc to emit signals for all posted messages.
9900
9901         * gst/gstmessage.c: (gst_message_type_get_name),
9902         (gst_message_type_to_quark), (gst_message_get_type):
9903         * gst/gstmessage.h:
9904         Register quarks for message names.
9905
9906 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9907
9908         * docs/libs/gstreamer-libs-sections.txt:
9909         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9910         (gst_controller_new_list):
9911         * libs/gst/controller/gstcontroller.h:
9912           added another constructor for language bindings
9913
9914 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9915
9916         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9917           add another check
9918         * gst/gstbus.c:
9919           add some doc
9920         * gst/gstinfo.c: (_gst_debug_init):
9921           slightly more readable color for refcount debugging
9922
9923 2005-09-28  Wim Taymans  <wim@fluendo.com>
9924
9925         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9926         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9927         (find_element), (gst_bin_sort_iterator_next),
9928         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9929         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9930         (gst_bin_change_state), (gst_bin_dispose):
9931         Small doc fixes. get_clock -> provide_clock.
9932
9933         * gst/gstelement.c: (gst_element_class_init),
9934         (gst_element_provides_clock), (gst_element_provide_clock),
9935         (gst_element_get_clock), (gst_element_commit_state),
9936         (gst_element_lost_state):
9937         * gst/gstelement.h:
9938         Make get/set_clock() symetric. Add provide_clock vmethod since
9939         that is actually what this function does.
9940
9941         * gst/gstpipeline.c: (gst_pipeline_class_init),
9942         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9943         (gst_pipeline_get_clock):
9944         get_clock -> provide_clock.
9945
9946 2005-09-28  Andy Wingo  <wingo@pobox.com>
9947
9948         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9949         lieu of real docs...
9950
9951         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9952
9953 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9954
9955         * gst/elements/gstcapsfilter.c:
9956         * gst/elements/gstfakesink.c:
9957         * gst/elements/gstfakesrc.c:
9958         * gst/elements/gstfdsink.c:
9959         * gst/elements/gstfdsrc.c:
9960         * gst/elements/gstfilesink.c:
9961         * gst/elements/gstfilesrc.c:
9962         * gst/elements/gstidentity.c:
9963         * gst/elements/gsttee.c:
9964         * gst/elements/gsttypefindelement.c:
9965           Make element details static.
9966
9967 2005-09-28  Wim Taymans  <wim@fluendo.com>
9968
9969         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9970         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9971         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9972         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9973         (gst_bin_change_state), (gst_bin_dispose):
9974         Some documentation updates.
9975         Clean up dispose handlers.
9976
9977         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9978         * gst/gstpad.c: (gst_pad_dispose):
9979         Clean up dispose handler.
9980
9981         * gst/gstpipeline.c: (gst_pipeline_change_state):
9982         Removed spurious UNLOCK.
9983
9984 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9985
9986         * docs/gst/gstreamer-sections.txt:
9987         * gst/base/gstbasesrc.h:
9988         * gst/gstelement.h:
9989         * gst/gstevent.h:
9990         * gst/gstobject.h:
9991         * gst/gstpad.h:
9992         * gst/gstpipeline.c:
9993         * gst/gstpipeline.h:
9994         * gst/gstutils.h:
9995         * gst/gstxml.h:
9996           added two new functions to the docs
9997                 documents all undocumented GstXXXFlags
9998                 completed some incomplete docs 
9999
10000 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10001
10002         * gst/gstbin.c: (gst_bin_dispose):
10003         * gst/gstelement.c: (gst_element_dispose):
10004           remove now useless and leaky resurrection code in dispose
10005         * gst/base/gstbasesrc.c: (gst_base_src_init):
10006         * gst/gstelementfactory.c: (gst_element_factory_create):
10007         * gst/gstobject.c: (gst_object_set_parent):
10008           add some debugging
10009
10010 2005-09-27  Wim Taymans  <wim@fluendo.com>
10011
10012         * docs/design/part-TODO.txt:
10013         Update TODO.
10014
10015         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10016         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10017         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10018         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10019         (gst_bin_change_state):
10020         * gst/gstelement.h:
10021         Remove element variable, we keep element info in the iterator now.
10022
10023 2005-09-27  Andy Wingo  <wingo@pobox.com>
10024
10025         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10026         values.
10027
10028 2005-09-27  Wim Taymans  <wim@fluendo.com>
10029
10030         * check/gst/gstbin.c: (GST_START_TEST):
10031         Enable check that works now.
10032
10033         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10034         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10035         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10036         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10037         (gst_bin_change_state):
10038         * gst/gstbin.h:
10039         Redid the state change algorithm using a topological sort algo.
10040         Handles all cases correctly.
10041         Exposed iterator for state change order.
10042
10043         * gst/gstelement.h:
10044         Temp storage for state changes. Need to get rid of this soon.
10045
10046 2005-09-27  Wim Taymans  <wim@fluendo.com>
10047
10048         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10049         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10050         (link_fold_func), (gst_pad_proxy_setcaps):
10051         Leak fixes, the fold functions need to unref the passed object and
10052         _get_parent_*() returns ref to parent.
10053
10054 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10055
10056         * check/gst/gstbuffer.c: (test_make_writable):
10057           Plug leak in test case and fix 'make check-valgrind'
10058
10059 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10060
10061         * gst/gstbuffer.c: (gst_subbuffer_init):
10062           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10063           works correctly in all circumstances (we could have just copied
10064           the parent buffer's readonly flag, but conceptually it seems
10065           cleaner to mark all subbuffers as read-only). (based on patch
10066           by Alessandro Decina, #314710).
10067         
10068         * check/gst/gstbuffer.c: (create_read_only_buffer),
10069         (test_make_writable), (test_subbuffer_make_writable),
10070         (gst_test_suite):
10071           Add some tests for gst_buffer_make_writable().
10072
10073 2005-09-27  Wim Taymans  <wim@fluendo.com>
10074
10075         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10076         use gst_object_has_ancestor().
10077
10078         * gst/gstobject.c: (gst_object_has_ancestor):
10079         * gst/gstobject.h:
10080         gst_object_has_ancestor() copied from gstbin.c as it is a
10081         usefull function.
10082
10083         * tests/instantiate/create.c: (create_all_elements):
10084         * tests/lat.c: (handoff_src), (handoff_sink):
10085         * tests/sched/runxml.c: (main):
10086         * tests/seeking/seeking1.c: (main):
10087         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10088         (main):
10089         Fix compilation of some tests.
10090
10091 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10092
10093         * gst/gsterror.h:
10094           Remove comment. GST_TYPE_G_ERROR is here to stay,
10095           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10096           (#316961, #300610).
10097
10098 2005-09-26  Wim Taymans  <wim@fluendo.com>
10099
10100         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10101         Added check that shows error in state change order.
10102
10103 2005-09-26  Wim Taymans  <wim@fluendo.com>
10104
10105         * gst/gstbin.c: (gst_bin_change_state):
10106         Make state change function use 3 queues again, we were
10107         adding elements in the wrong order.
10108
10109         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10110         Some debug info,
10111
10112         * gst/gstpad.c: (gst_pad_dispose):
10113         Added some debug info first.
10114
10115 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10116
10117         * docs/design/draft-push-pull.txt:
10118         * docs/design/part-events.txt:
10119         * docs/design/part-overview.txt:
10120         * docs/design/part-scheduling.txt:
10121           Replace all _pull_region() with _pull_range()
10122           
10123 2005-09-26  Andy Wingo  <wingo@pobox.com>
10124
10125         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10126
10127         * check/gst-libs/controller.c: Update for controller api change.
10128
10129         * configure.ac: 
10130         * tests/Makefile.am:
10131         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10132         over by GLib bug 118439.
10133         
10134         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10135         routines to a function.
10136
10137         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10138
10139         * libs/gst/controller/gsthelper.c:
10140         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10141         (gst_object_sync_values): Renamed from sink_values. Ugh.
10142
10143         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10144
10145         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10146         Renamed from controller_key, as it is exported.
10147
10148         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10149
10150 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10151
10152         * gst/Makefile.am:
10153         * gst/gst.h:
10154         * gst/gstpad.h:
10155         * gst/gstpadtemplate.h:
10156         * gst/gstquery.c:
10157         * gst/gstquery.h:
10158         * gst/gstqueryutils.c:
10159         * gst/gstqueryutils.h:
10160           remove queryutils headers after moving the two used functions
10161           to gstquery.  also fixes build problem for gstsiddec
10162
10163 2005-09-26  Michael Smith <msmith@fluendo.com>
10164
10165         * tools/gst-launch.1.in:
10166         Correct documentation in manpage of debug syntax
10167
10168 2005-09-26  Wim Taymans  <wim@fluendo.com>
10169
10170         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10171         (gst_base_src_is_seekable), (gst_base_src_change_state):
10172         Some more debugging info.
10173
10174 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10175
10176         * docs/gst/gstreamer-sections.txt:
10177         * gst/base/gstbasetransform.h:
10178         * gst/gstindex.h:
10179           added more docs
10180
10181 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10182
10183         * docs/gst/.cvsignore:
10184         * docs/gst/tmpl/.cvsignore:
10185         * docs/gst/tmpl/gstpipeline.sgml:
10186         * docs/gst/tmpl/gstplugin.sgml:
10187         * gst/gstpipeline.c:
10188         * gst/gstplugin.c:
10189         * gst/gstplugin.h:
10190           inlined the last two docs files
10191           removed the tmpl directory from cvs (no more conflicts here!)
10192
10193 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10194
10195         * docs/gst/gstreamer-sections.txt:
10196         * docs/gst/tmpl/.cvsignore:
10197         * docs/gst/tmpl/gstpad.sgml:
10198         * docs/gst/tmpl/gstpadtemplate.sgml:
10199         * gst/Makefile.am:
10200         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10201         (gst_pad_finalize), (gst_pad_set_pad_template):
10202         * gst/gstpad.h:
10203         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10204         (gst_pad_template_class_init), (gst_pad_template_init),
10205         (gst_pad_template_dispose), (name_is_valid),
10206         (gst_static_pad_template_get), (gst_pad_template_new),
10207         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10208         (gst_pad_template_pad_created):
10209         * gst/gstpadtemplate.h:
10210           inlined two more docs
10211           factored gstpadtemplate out of gstpad
10212
10213 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10214
10215         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10216         (test_children_state_change_order_semi_sink):
10217           Fix test case: we can't rely on a fixed state change order when
10218           going from READY => PAUSED because the sink might commit its 
10219           new state first when the first buffer created by the source 
10220           reaches the sink before the source has finished its change state.
10221           (Test case still fails at times, see #316856, comment 5 onwards)
10222
10223 2005-09-24  Wim Taymans  <wim@fluendo.com>
10224
10225         * docs/design/part-events.txt:
10226         * docs/design/part-gstbus.txt:
10227         * docs/design/part-gstpipeline.txt:
10228         * docs/design/part-messages.txt:
10229         * docs/design/part-overview.txt:
10230         * docs/design/part-segments.txt:
10231         * gst/gstbin.c:
10232         * gst/gstbuffer.c:
10233         * gst/gstclock.c:
10234         * gst/gstelement.c:
10235         * gst/gstevent.c:
10236         * gst/gstfilter.c:
10237         * gst/gstiterator.c:
10238         Various documentation updates.
10239
10240 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10241
10242         * gst/gstclock.h:
10243           Well, that's embarassing.  Luckily we weren't using
10244           GST_CLOCK_DIFF anywhere.
10245
10246 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10247
10248         * common/gtk-doc.mak:
10249           don't fail on building XML, FC4 slave shows a bunch of doc
10250           missing bits that I don't get
10251         * gst/gstpad.c:
10252         * gst/gstpipeline.c:
10253         * gst/gststructure.c:
10254           some doc updates
10255
10256 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10257
10258         * docs/design/part-gstbin.txt:
10259         * docs/design/part-gstbus.txt:
10260         * gst/gstbus.c:
10261           Add blurb about how the bus goes into flushing mode and
10262           drops all messages when its bin goes from READY into NULL 
10263           state.
10264
10265 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10266
10267         * docs/gst/gstreamer-sections.txt:
10268         * gst/gststructure.c: (gst_structure_get_clock_time):
10269         * gst/gststructure.h:
10270           add a method to get a GstClockTime out of a structure
10271
10272 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10273
10274         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10275         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10276           Added test to check state change order in bins (can still be made
10277           to fail here under heavy disk load; bails out with 'Push on pad
10278           fakesink:sink0, but it was not activated in push mode').
10279
10280         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10281           Fix state change order when there is only a semi sink (#316856)
10282
10283         * gst/gstbus.c: (gst_bus_class_init):
10284           Use _class_peek_parent(), not _class_ref(); fix docs to say
10285           'default main context' instead of 'mainloop' where that is
10286           what's meant.
10287
10288         * gst/gstelement.c: (gst_element_commit_state),
10289         (gst_element_set_state):
10290           Fix typos in debug messages
10291
10292 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10293
10294         * docs/README:
10295         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10296         * gst/gstpluginfeature.c:
10297         * gst/gstutils.c:
10298           various doc updates
10299         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10300           change an assert into an error until it gets fixed properly
10301
10302 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10303
10304         * docs/gst/gstreamer-sections.txt:
10305         * docs/gst/tmpl/.cvsignore:
10306         * docs/gst/tmpl/gstelement.sgml:
10307         * docs/gst/tmpl/gstinfo.sgml:
10308         * docs/gst/tmpl/gstobject.sgml:
10309         * gst/gstelement.c:
10310         * gst/gstelement.h:
10311         * gst/gstinfo.c:
10312         * gst/gstinfo.h:
10313         * gst/gstobject.c: (gst_object_class_init):
10314         * gst/gstobject.h:
10315           inlined 3 more biiiig doc files and added some missing docs on the fly
10316
10317 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10318
10319         * check/gst/.cvsignore:
10320         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10321         * gst/gstregistryxml.c: (load_plugin),
10322         (gst_registry_xml_save_plugin):
10323           put back source in registry.  add checks for find_plugin.
10324         * testsuite/states/bin.c: (assert_state), (empty_bin),
10325         (test_adding_one_element), (main):
10326         * testsuite/states/locked.c: (main):
10327           some compile/run fixes
10328
10329 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10330
10331         * check/gst/gstvalue.c: (GST_START_TEST):
10332           fix leaks in the test itself
10333
10334 2005-09-22  Wim Taymans  <wim@fluendo.com>
10335
10336         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10337         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10338         (gst_base_sink_query):
10339         Prepare for more accurate position reporting and query
10340         handling.
10341
10342         * gst/gstelement.c: (gst_element_send_event),
10343         (gst_element_set_state):
10344         Add some comment.
10345
10346 2005-09-22  Wim Taymans  <wim@fluendo.com>
10347
10348         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10349         (gst_query_parse_segment):
10350         * gst/gstquery.h:
10351         More documentation.
10352         Add segment query for future use.
10353
10354 2005-09-22  Wim Taymans  <wim@fluendo.com>
10355
10356         * gst/gstbin.c: (gst_bin_add_func):
10357         Some more debug info.
10358
10359         * gst/gstelement.c: (gst_element_send_event):
10360         Simplify send_event
10361
10362         * gst/gstelement.h:
10363         Don't know how flags got broken.
10364
10365         * gst/gstquery.h:
10366         Added new query.
10367
10368 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10369
10370         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10371           Add simplistic test suite for GST_TYPE_DATE serialisation and
10372           deserialisation.
10373
10374 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10375
10376         * docs/gst/gstreamer-sections.txt:
10377         * gst/gststructure.c: (gst_structure_set_valist),
10378         (gst_structure_get_date):
10379         * gst/gststructure.h:
10380         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10381         (gst_date_copy), (gst_value_compare_date),
10382         (gst_value_serialize_date), (gst_value_deserialize_date),
10383         (gst_value_transform_date_string),
10384         (gst_value_transform_string_date), (_gst_value_initialize):
10385         * gst/gstvalue.h:
10386           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10387           bunch of utility functions along with a hack that checks that
10388           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10389           is required. Part of the grand scheme in #170777.
10390
10391 2005-09-22  Andy Wingo  <wingo@pobox.com>
10392
10393         * gst/gstconfig.h.in: Psych out gtk-doc.
10394
10395         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10396
10397         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10398
10399         * tools/gst-inspect.c (print_element_list): Plug some
10400         inconsequential leaks.
10401
10402         * gst/gstregistry.c (gst_registry_get_default): Doc.
10403
10404         * check/gst/gstplugin.c: 
10405         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10406         * gst/gstelementfactory.c (gst_element_factory_create): 
10407         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10408         refcount changes.
10409
10410         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10411         (gst_plugin_feature_load): Doc, don't eat refs.
10412
10413         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10414         (gst_plugin_list_free): Doc.
10415         (gst_plugin_load_file): Doc updates.
10416
10417         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10418         accessors returning refcounted objects, return a ref.
10419
10420         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10421         accessor for caps. IDEMPOTENCE. Oh yes.
10422
10423 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10424
10425         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10426
10427         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10428         (_gst_debug_register_funcptr):
10429           Add mutex to serialise access to the hash table with
10430           the function pointer => function name string mapping;
10431           make that hash table static scope (#316809).
10432
10433         * gst/registries/.cvsignore:
10434           Remove left-over file.
10435
10436 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10437
10438         * docs/pwg/appendix-porting.xml:
10439           And something about newsegment events and caps-on-buffers to
10440           the porting guide (feel free to improve).
10441
10442 2005-09-21  Andy Wingo  <wingo@pobox.com>
10443
10444         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10445         data and event probes on the same pad.
10446         (test_buffer_probe_once): Test that removing probes from within
10447         the probe functions works.
10448
10449 2005-09-21  Andy Wingo  <wingo@pobox.com>
10450
10451         * check/gst/gstutils.c: New file.
10452         (test_buffer_probe_n_times): A simple buffer probe test. More to
10453         come, foolios.
10454
10455         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10456         have-data::buffer, not have-data.
10457         (gst_pad_add_event_probe): Likewise for have-data::event.
10458         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10459         peer' isn't quite right yet though.
10460         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10461         (gst_pad_remove_data_probe): Change to take the guint handler_id
10462         as their arg, not the function+data, which is more glib-like.
10463
10464         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10465         the signal emission to indicate if the data is a buffer or an
10466         event.
10467         (gst_pad_get_type): Initialize buffer and event quarks.
10468         (gst_pad_class_init): have-data is now a detailed signal, yes it
10469         is.
10470
10471 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10472
10473         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10474         * gst/gstutils.c: (gst_util_set_value_from_string),
10475         (gst_util_set_object_arg):
10476           Don't put functional code in g_return_if_fail() or
10477           g_return_val_if_fail() statements, otherwise things will 
10478           break when G_DISABLE_CHECKS is defined during compilation.
10479
10480 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10481
10482         * docs/gst/tmpl/.cvsignore:
10483         * docs/gst/tmpl/gstvalue.sgml:
10484         * gst/gstvalue.c:
10485         * gst/gstvalue.h:
10486           inlied another one and added  some obvious docs
10487
10488 2005-09-21  Wim Taymans  <wim@fluendo.com>
10489
10490         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10491         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10492         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10493         (gst_fdsrc_get_property), (gst_fdsrc_create):
10494         * gst/elements/gstfdsrc.h:
10495         Properly implement fdsrc. Removed signal and timeout,
10496         better implemented somewhere else.
10497
10498 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10499
10500         * docs/gst/tmpl/.cvsignore:
10501         * docs/gst/tmpl/gstimplementsinterface.sgml:
10502         * gst/gstinterface.c:
10503           inlined more docs
10504
10505 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10506
10507         * docs/gst/gstreamer-sections.txt:
10508         * docs/gst/tmpl/.cvsignore:
10509         * docs/gst/tmpl/gstenumtypes.sgml:
10510           remove obsolete doc file
10511
10512 2005-09-21  David Schleef  <ds@schleef.org>
10513
10514         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10515         little beer, fix a little leak.
10516
10517 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10518
10519         * docs/gst/gstreamer-docs.sgml:
10520         * docs/gst/gstreamer-sections.txt:
10521         * docs/gst/tmpl/.cvsignore:
10522         * gst/Makefile.am:
10523         * gst/gst.h:
10524         * gst/gstbin.c:
10525         * gst/gstelement.h:
10526         * gst/gstindex.c: (gst_index_class_init):
10527         * gst/gstindex.h:
10528         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10529         (gst_index_factory_class_init), (gst_index_factory_init),
10530         (gst_index_factory_finalize), (gst_index_factory_new),
10531         (gst_index_factory_destroy), (gst_index_factory_find),
10532         (gst_index_factory_create), (gst_index_factory_make):
10533         * gst/gstindexfactory.h:
10534         * gst/gstpluginfeature.c:
10535         * gst/gstpluginfeature.h:
10536         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10537           more docs inlined, splitted gstindex.{c,h}
10538
10539 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10540
10541         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10542           fix a leak
10543
10544 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10545
10546         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10547           Set sync to FALSE by default.
10548
10549 2005-09-20  Wim Taymans  <wim@fluendo.com>
10550
10551         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10552         (gst_base_sink_init):
10553         Make sync property settable from subclass.
10554
10555         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10556         (gst_fake_sink_change_state):
10557         Set sync to FALSE by default.
10558
10559 2005-09-20  Wim Taymans  <wim@fluendo.com>
10560
10561         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10562         * tools/gst-launch.c: (main):
10563         The timeout handler should have lower priority than the source
10564         so we don't timeout before popping a message with 0 timeout.
10565         Dump error messages after failed state change.
10566
10567 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10568
10569         * tools/gst-inspect.c: (print_element_properties_info):
10570           Fix two typos.
10571
10572 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10573
10574         * check/gst/gstevent.c:
10575         * gst/elements/gstfakesink.c:
10576         * gst/elements/gstfakesink.h:
10577           remove the sync property from fakesink.
10578           has the side effect of setting sync TRUE
10579           for fakesink, which is a change.  Anyone who knows how
10580           to fix this nicely in a GObject-y way, feel free.
10581
10582 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10583
10584         * docs/gst/gstreamer-docs.sgml:
10585           remove probe refsection
10586
10587 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10588
10589         * check/Makefile.am:
10590           disable valgrinding the controller test again
10591         * docs/gst/gstreamer-sections.txt:
10592           update for api-changes
10593
10594 2005-09-20  Wim Taymans  <wim@fluendo.com>
10595
10596         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10597         (gst_base_sink_set_property), (gst_base_sink_get_property),
10598         (gst_base_sink_do_sync):
10599         * gst/base/gstbasesink.h:
10600         Added sync property to basesink to disable clock sync.
10601
10602 2005-09-20  Andy Wingo  <wingo@pobox.com>
10603
10604         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10605         eating the caller's refcount.
10606
10607         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10608         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10609         refcount.
10610
10611         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10612         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10613         of GLib 2.8 public, so we can know which refcount to check in
10614         tests.
10615
10616         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10617         (gst_object_init): Only set the gst refcount if we're going ahead
10618         with the refcount hack.
10619
10620 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10621
10622         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10623         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10624           more leaks plumbed, added more debug-logging
10625         * gst/gstmacros.h:
10626           whitespace fix
10627
10628 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10629
10630         * gst/gstmessage.c:
10631           remove include of gstmemchunk.h
10632
10633 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * gst/gstclock.c: (_gst_clock_id_free):
10636           Commit from the Political Party For More Atomic CVS Commits,
10637           so that people don't waste too much of their day fishing
10638           out obvious leaks out of massive commits.
10639           Oh, and fix a pretty damn obvious leak in the memchunk
10640           removal code.
10641
10642 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10643
10644         * check/Makefile.am:
10645         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10646           plug mem-leak, re-add to valgrindable tests
10647
10648 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10649
10650         * gst/gstplugin.h:
10651           unbreak the build for those who have chronic arthritis
10652           and typing "make check" is just too taxing on the hands
10653
10654 2005-09-20  Andy Wingo  <wingo@pobox.com>
10655
10656         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10657         really want it out, you should fix plugins at the same time.
10658
10659 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10660
10661         * configure.ac:
10662         * docs/gst/gstreamer-sections.txt:
10663         * gst/gstobject.c:
10664           added missing symbols to api docs
10665           disable ref-count hack if we have glib >= 2.8
10666
10667 2005-09-19  David Schleef  <ds@schleef.org>
10668
10669         * docs/gst/Makefile.am: Ignore a few more internal headers
10670         * docs/gst/gstreamer-docs.sgml: Remove old sections
10671         * docs/gst/gstreamer-sections.txt: Remove old sections
10672         * docs/gst/tmpl/gstobject.sgml: update
10673         * docs/gst/tmpl/gstplugin.sgml: update
10674         * docs/gst/tmpl/gstpluginfeature.sgml: update
10675         * docs/random/ds/0.9-suggested-changes: update.
10676         * gst/Makefile.am: remove memchunk and trashstack, since they're
10677           not used.
10678         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10679         * gst/gst.h: don't include some headers
10680         * gst/gstchildproxy.c: add gstmarshal.h
10681         * gst/gstclock.c: Don't use memchunks
10682         * gst/gstminiobject.c: Add some docs
10683         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10684         * gst/gstobject.h: same
10685         * gst/gstplugin.c: include gstmacros.h
10686         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10687         * gst/gstquery.c: don't use memchunks
10688         * gst/gstregistry.c: rename gst_registry_deinit()
10689         * gst/gstregistry.h: same
10690
10691 2005-09-19  David Schleef  <ds@schleef.org>
10692
10693         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10694         * docs/libs/gstreamer-libs-sections.txt:
10695         * docs/libs/tmpl/gstgetbits.sgml:
10696         * docs/libs/tmpl/gstputbits.sgml:
10697
10698 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10699
10700         * win32/gstenumtypes.c:
10701         * win32/gstenumtypes.h:
10702           Update.
10703
10704 2005-09-19  Wim Taymans  <wim@fluendo.com>
10705
10706         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10707         Automatically PAUSE and RESUME a pipeline when a flushing seek
10708         is performed.
10709
10710 2005-09-19  Andy Wingo  <wingo@pobox.com>
10711
10712         * gst/gstregistry.h: Spacing fixen.
10713
10714 2005-09-19  Wim Taymans  <wim@fluendo.com>
10715
10716         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10717         Handle state change failure more correctly.
10718
10719 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10720
10721         * check/Makefile.am:
10722         * check/pipelines/cleanup.c: (run_pipeline):
10723         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10724         (GST_START_TEST):
10725           enable cleanup again after fixing the leak
10726         * docs/README:
10727           some more info on docs
10728
10729 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10730
10731         * check/Makefile.am:
10732           re-enable tests now that leaks are plugged
10733         * check/gst/gst.c:
10734         * check/gst/gstbin.c:
10735         * check/gst/gstpipeline.c:
10736           add some more tests while fixing leaks
10737         * common/check.mak:
10738           make sure binaries are uptodate when valgrinding/gdbing
10739         * gst/gst.c:
10740         * gst/gstelementfactory.c:
10741           remove a ref too many, and add a FIXME for when we get
10742           round to disposing of classes
10743         * gst/gstplugin.c:
10744           fix the refcounting when loading a plugin from a file and
10745           the code pretends that the pointer is the same even though
10746           of course it can change
10747         * gst/gstpluginfeature.c:
10748           unref plugins marked cached (a bit confusing as a name)
10749           as the docs state should be done
10750           various doc additions to explain refcounting
10751         * gst/gstregistry.c:
10752         * gst/gstregistryxml.c:
10753           debugging
10754
10755 2005-09-19  Wim Taymans  <wim@fluendo.com>
10756
10757         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10758         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10759         (send_messages), (GST_START_TEST), (gstbus_suite):
10760         * check/gst/gstpipeline.c: (GST_START_TEST):
10761         * check/pipelines/cleanup.c: (run_pipeline):
10762         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10763         (GST_START_TEST):
10764         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10765         (gst_bus_source_check), (gst_bus_source_dispatch),
10766         (gst_bus_create_watch), (gst_bus_add_watch_full),
10767         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10768         * gst/gstbus.h:
10769         * tools/gst-launch.c: (event_loop):
10770         * tools/gst-md5sum.c: (event_loop):
10771         GstBusHandler -> GstBusFunc, return value has the same meaning as
10772         any other GSource (FALSE == remove source).
10773         _add_watch() and _add_watch_full() now take a MessageType mask to
10774         only handle specific types of messages.
10775         _poll() returns the GstMessage instead of the message type to avoid
10776         race conditions.
10777         _have_pending() takes a MessageType mask now too.
10778         Added testsuite for multiple bus watches.
10779         Fix testsuites and applications for new bus API.
10780
10781 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10782
10783         * check/Makefile.am:
10784           mark a bunch of the tests as to fix until we fix them
10785
10786 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10787
10788         * common/check.mak:
10789           use GST_PLUGIN settings for valgrind tests as well, so we're
10790           valgrinding the correct thing
10791         * gst/gst.c: (init_post):
10792           plug another leak
10793
10794 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10795
10796         * gst/gst.c: (init_post), (gst_deinit):
10797         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10798         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10799         * gst/gstindex.c: (gst_index_factory_class_init),
10800         (gst_index_factory_finalize):
10801         * gst/gstobject.c: (gst_object_dispose):
10802         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10803         (gst_plugin_load_file), (gst_plugin_desc_free):
10804         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10805         (gst_plugin_feature_finalize):
10806         * gst/gstregistry.c: (gst_registry_class_init),
10807         (gst_registry_init), (gst_registry_finalize),
10808         (gst_registry_get_default), (gst_registry_deinit):
10809         * gst/gstregistry.h:
10810         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10811           various cleanups and memleak plugging.  make valgrind is happy now.
10812
10813 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10814
10815         * common/check.mak:
10816           add a check-valgrind target
10817
10818 2005-09-18  David Schleef  <ds@schleef.org>
10819
10820         * tools/gst-inspect.c: Revert the GOption code.
10821
10822 2005-09-17  David Schleef  <ds@schleef.org>
10823
10824         * check/Makefile.am: Fix environment variables.
10825         * check/gst/gstplugin.c: Fix for API changes.
10826         * tools/gst-inspect.c: Fix for API changes.
10827         * tools/gst-xmlinspect.c: Fix for API changes.
10828         * gst/gstelementfactory.c:
10829         * gst/gstplugin.c:
10830         * gst/gstplugin.h:
10831         * gst/gstpluginfeature.c:
10832         * gst/gstpluginfeature.h:
10833         * gst/gstregistry.c:
10834         * gst/gstregistry.h:
10835         * gst/gstregistryxml.c:
10836         * gst/gsttypefind.c:
10837         * gst/gsttypefindfactory.c:
10838         * gst/indexers/gstfileindex.c:
10839         * gst/indexers/gstmemindex.c:
10840         * gst/schedulers/Makefile.am:
10841           Change registry to keep track of both plugins and features,
10842           removing the feature tracking from plugins themselves.
10843
10844 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10845
10846         * check/Makefile.am:
10847         * tools/gst-register.1.in:
10848           remove gst-register
10849
10850 2005-09-15  David Schleef  <ds@schleef.org>
10851
10852         * check/gst/gstplugin.c:
10853         * gst/gstelementfactory.c:
10854         * gst/gstplugin.c:
10855         * gst/gstpluginfeature.c:
10856         * gst/gstregistry.c:
10857           Getting tired of debugging.  Disabled all the unreffing of
10858           plugins and features, which fixes the segfaults, but of
10859           course leaks like crazy.  At least playbin works.
10860
10861 2005-09-15  David Schleef  <ds@schleef.org>
10862
10863         * check/gst/gstplugin.c: (register_check_elements),
10864         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10865         More testing
10866         * gst/elements/gsttypefindelement.c: Fix refcounting.
10867         * gst/gsttypefind.c:
10868         * gst/gsttypefindfactory.c:
10869         * gst/gsttypefindfactory.h:
10870
10871 2005-09-15  David Schleef  <ds@schleef.org>
10872
10873         * gst/gstindex.c: get refcounting correct.
10874         * gst/gstregistry.c: Handle the case where a feature/plugin is
10875           not found.
10876
10877 2005-09-15  David Schleef  <ds@schleef.org>
10878
10879         * check/Makefile.am:
10880         * check/gst/gstplugin.c: Add test
10881         * gst/gstplugin.c: Fix problems noticed by testsuite
10882         * gst/gstplugin.h:
10883         * gst/gstregistry.c: 
10884         * gst/gstregistry.h:
10885
10886 2005-09-15  David Schleef  <ds@schleef.org>
10887
10888         * gst/gstplugin.c: Implement semi-decent recounting and locking
10889           in plugins and plugin features.
10890         * gst/gstplugin.h:
10891         * gst/gstpluginfeature.c:
10892         * gst/gstpluginfeature.h:
10893         * gst/gstregistry.c:
10894
10895 2005-09-15  Michael Smith <msmith@fluendo.com>
10896
10897         * gst/gstregistry.c: (gst_registry_get_feature_list):
10898           Implement this. Makes oggdemux work; decodebin still broken.
10899
10900 2005-09-14  David Schleef  <ds@schleef.org>
10901
10902         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10903           #316076)
10904         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10905         * gst/check/Makefile.am:
10906         * libs/gst/controller/Makefile.am:
10907         * libs/gst/dataprotocol/Makefile.am:
10908
10909 2005-09-14  David Schleef  <ds@schleef.org>
10910
10911         * configure.ac: Remove getbits library.  Nothing uses it, and
10912           it should be in something like liboil if someone did want
10913           to use it.
10914         * libs/gst/Makefile.am:
10915         * libs/gst/getbits/Makefile.am:
10916         * libs/gst/getbits/gbtest.c:
10917         * libs/gst/getbits/getbits.c:
10918         * libs/gst/getbits/getbits.h:
10919         * libs/gst/getbits/gstgetbits_generic.c:
10920         * libs/gst/getbits/gstgetbits_i386.s:
10921         * libs/gst/getbits/gstgetbits_inl.h:
10922
10923 2005-09-14  David Schleef  <ds@schleef.org>
10924
10925         * gst/Makefile.am: Dist glib-compat.h
10926
10927 2005-09-14  David Schleef  <ds@schleef.org>
10928
10929         * configure.ac: Remove gst/registries, since it's no longer used.
10930         * gst/registries/Makefile.am:
10931         * gst/registries/gstlibxmlregistry.c:
10932         * gst/registries/gstlibxmlregistry.h:
10933         * gst/registries/gstxmlregistry.c:
10934         * gst/registries/gstxmlregistry.h:
10935         * gst/registries/registrytest.c:
10936
10937 2005-09-14  David Schleef  <ds@schleef.org>
10938
10939         * gst/glib-compat.h:
10940         * gst/gstregistryxml.c:
10941           Convergence is near.  Seriously.
10942
10943 2005-09-14  David Schleef  <ds@schleef.org>
10944
10945         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10946         * gst/glib-compat.h:
10947           Attempt #4 to appease the buildbots.
10948
10949 2005-09-14  David Schleef  <ds@schleef.org>
10950
10951         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10952           Attempt #3.
10953
10954 2005-09-14  David Schleef  <ds@schleef.org>
10955
10956         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10957         Attempt #2.
10958
10959 2005-09-14  David Schleef  <ds@schleef.org>
10960
10961         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10962           the new functions.
10963
10964 2005-09-14  David Schleef  <ds@schleef.org>
10965
10966         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10967         * gst/glib-compat.h: Add some functions that are in newer versions
10968           of glib than we care to require.
10969         * gst/gstregistryxml.c: Use them.
10970
10971 2005-09-14  David Schleef  <ds@schleef.org>
10972
10973         * po/POTFILES.in: remove gst-register.c
10974
10975 2005-09-14  David Schleef  <ds@schleef.org>
10976
10977         * docs/gst/gstreamer-docs.sgml:
10978         * docs/gst/gstreamer-sections.txt:
10979         * docs/gst/gstreamer.types:
10980         * docs/gst/tmpl/gstelement.sgml:
10981         * docs/gst/tmpl/gstplugin.sgml:
10982         * docs/gst/tmpl/gstpluginfeature.sgml:
10983           Documentation updates for registry changes.
10984
10985 2005-09-14  David Schleef  <ds@schleef.org>
10986
10987         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10988           because we don't require glib-2.8.
10989
10990 2005-09-14  David Schleef  <ds@schleef.org>
10991
10992         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10993           registries directory.
10994
10995 2005-09-14  David Schleef  <ds@schleef.org>
10996
10997         * check/Makefile.am:
10998         * check/generic/states.c:
10999         * gst/Makefile.am:
11000         * gst/gst.c:
11001         * gst/gst.h:
11002         * gst/gst_private.h:
11003         * gst/gstelementfactory.c:
11004         * gst/gstindex.c:
11005         * gst/gstinfo.c:
11006         * gst/gstplugin.c:
11007         * gst/gstplugin.h:
11008         * gst/gstpluginfeature.c:
11009         * gst/gstpluginfeature.h:
11010         * gst/gstregistry.c:
11011         * gst/gstregistry.h:
11012         * gst/gstregistrypool.c: remove
11013         * gst/gstregistrypool.h: remove
11014         * gst/gsttypefind.c:
11015         * gst/gsttypefindfactory.c:
11016         * gst/gsturi.c:
11017         * tools/Makefile.am:
11018         * tools/gst-compprep.c:
11019         * tools/gst-inspect.c:
11020         * tools/gst-register.c: remove
11021         * tools/gst-xmlinspect.c:
11022           Registry rewrite.  Changes registry from being a file created
11023           by a tool into a simple cache file created automatically by 
11024           libgstreamer.  Removed gst-register (because it's no longer
11025           needed).  Remove registry pools, because we only have one
11026           registry implementation (XML).  Fix up other subsystems as
11027           necessary.
11028
11029 2005-09-13  Michael Smith <msmith@fluendo.com>
11030
11031         * gst/gstconfig.h.in:
11032           Don't Use windows linking attributes for MinGW. Fixes #316157
11033
11034 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11035
11036         * gst/gstutils.c: (set_state_async_thread_func),
11037         (gst_element_set_state_async):
11038           Apparently people think it's better if this function doesn't
11039           try to set the state to whatever state was asked for on the first
11040           call to this function for any object.  Seriously.
11041
11042 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11043
11044         * check/gst/gstpipeline.c: (GST_START_TEST):
11045         * docs/gst/gstreamer-sections.txt:
11046         * gst/gstutils.c: (set_state_async_thread_func),
11047         (gst_element_set_state_async):
11048         * gst/gstutils.h:
11049           add a "gst_element_set_state_async" method that
11050           sets the state and starts a thread to make sure the state
11051           change completes as best as it can
11052
11053 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11056           codify design+behaviour in testsuite after discussion
11057
11058 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11059
11060         * docs/gst/tmpl/gstelement.sgml:
11061         * docs/manual/appendix-quotes.xml:
11062           add a quote
11063         * gst/gstelement.c: (gst_element_set_state):
11064           add some debug
11065
11066 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11067
11068         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11069         (gst_base_transform_prepare_output_buf),
11070         (gst_base_transform_handle_buffer):
11071         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11072         (gst_capsfilter_prepare_buf):
11073           Remove the requirement for sub-classes to call the parent
11074           implementation of prepare_output_buffer with a wrapper function.
11075           
11076         * gst/gsttaglist.h:
11077         * gst/gsttagsetter.h:
11078           Fix #define wrapper
11079
11080 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11081
11082         * docs/gst/gstreamer-sections.txt:
11083           more doc cleanups
11084
11085 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11086
11087         * docs/gst/gstreamer-sections.txt:
11088         * docs/gst/tmpl/gstelement.sgml:
11089         * docs/gst/tmpl/gstplugin.sgml:
11090         * gst/gstminiobject.c:
11091         * gst/gstvalue.h:
11092           docs now stop throwing warnings
11093
11094 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11095
11096         * docs/gst/gstreamer-sections.txt:
11097         * docs/gst/gstreamer.types:
11098         * docs/gst/tmpl/gstpad.sgml:
11099         * docs/gst/tmpl/gsttypes.sgml:
11100         * gst/base/gstadapter.h:
11101         * gst/base/gstbasesink.h:
11102         * gst/base/gstbasesrc.h:
11103         * gst/gstbin.h:
11104         * gst/gstbuffer.h:
11105         * gst/gstbus.h:
11106         * gst/gstcaps.h:
11107         * gst/gstclock.h:
11108         * gst/gstelement.h:
11109         * gst/gstevent.h:
11110         * gst/gstmessage.h:
11111         * gst/gstpad.h:
11112         * gst/gststructure.c:
11113         * gst/registries/gstlibxmlregistry.h:
11114           various documentation fixes
11115
11116 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11117
11118         * docs/gst/gstreamer-sections.txt:
11119         * docs/gst/tmpl/gstvalue.sgml:
11120           rearrange gstvalue section
11121         * gst/gstutils.c: (gst_element_state_get_name):
11122           NONE -> VOID
11123         * gst/gstvalue.c: (_gst_value_initialize):
11124         * gst/gstvalue.h:
11125           doc updates
11126
11127 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11128
11129         * check/gst-libs/controller.c:
11130           Header include fix.
11131         * gst/base/gstbasetransform.c:
11132         (gst_base_transform_default_prepare_buf),
11133         (gst_base_transform_handle_buffer):
11134         * gst/base/gstbasetransform.h:
11135           Some more basetransform changes and fixes to enable sub-classes
11136           that modify buffer metadata only.
11137         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11138         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11139         (gst_capsfilter_prepare_buf):
11140           If the output pad has fixed allowed caps and input buffers 
11141           don't have any, set the fixed caps on outgoing buffers.
11142
11143 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11144         * check/elements/identity.c: (GST_START_TEST):
11145           Make the error a little clearer when the test fails because
11146           identity made a copy of the buffer.
11147         * docs/gst/gstreamer-sections.txt:
11148           New symbols in gstbasetransform.h
11149         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11150         (gst_base_transform_init), (gst_base_transform_transform_size),
11151         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11152         (gst_base_transform_default_prepare_buf),
11153         (gst_base_transform_get_unit_size),
11154         (gst_base_transform_buffer_alloc),
11155         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11156         (gst_base_transform_change_state),
11157         (gst_base_transform_set_passthrough),
11158         (gst_base_transform_set_in_place),
11159         (gst_base_transform_is_in_place):
11160         * gst/base/gstbasetransform.h:
11161           Change BaseTransform to separate in_place operate from same_caps
11162           output. in_place implies that the element can perform the transform
11163           on incoming buffers in-place, even if the caps on the output are
11164           different.
11165           Sub-class elements can now implement special buffer allocation
11166           methods for outgoing buffers if they wish to.
11167           Big documentation addition.
11168         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11169         * gst/elements/gstelements.c:
11170           Changes for basetransform modifications.
11171         * gst/elements/Makefile.am:
11172         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11173           Compile fix. Extra debug output.
11174
11175 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11176
11177         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11178         (gst_pad_suite):
11179           add tests for valid pad naming
11180         * gst/check/gstcheck.c: (gst_check_log_message_func),
11181         (gst_check_log_critical_func):
11182           add ASSERT_WARNING
11183           remove printing of code, it is fragile when the code contains
11184           % and the line number is enough info
11185         * gst/check/gstcheck.h:
11186         * gst/gstpad.c: (gst_pad_template_new):
11187           fix memleaks
11188
11189 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11190
11191         * configure.ac:
11192           say what CHECK flags we use
11193         * docs/libs/gstreamer-libs.types:
11194         * libs/gst/controller/Makefile.am:
11195         * libs/gst/controller/gst-controller.c:
11196         * libs/gst/controller/gst-controller.h:
11197         * libs/gst/controller/gst-helper.c:
11198         * libs/gst/controller/gst-interpolation.c:
11199         * libs/gst/controller/gstcontroller.c:
11200         * libs/gst/controller/gsthelper.c:
11201         * libs/gst/controller/gstinterpolation.c:
11202         * tools/gst-inspect.c: (print_plugin_info):
11203           we don't use dashes in header names
11204
11205 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11206
11207         * check/Makefile.am:
11208         * check/gst/.cvsignore:
11209         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11210         (gst_pipeline_suite), (main):
11211           adding a test for pipelines and state changes
11212         * gst/gstutils.c: (get_state_func):
11213           add some debugging
11214         * gstreamer.spec.in:
11215           fix up spec file
11216
11217 2005-09-08  Michael Smith <msmith@fluendo.com>
11218
11219         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11220         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11221         (gst_file_src_is_seekable), (gst_file_src_get_size),
11222         (gst_file_src_start):
11223         * gst/elements/gstfilesrc.h:
11224           Various fixes for unseekable, unmmapable, and non-normal files, so
11225           that fallback to read() rather than mmap() works.
11226         * gst/gstevent.c: (gst_event_new_newsegment):
11227           Allow newsegment events with segment_start == segment_end, as will
11228           correctly happen if you use filesrc on a zero-size file, for
11229           example.
11230
11231 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11232
11233         * gst/gstplugin.c: (gst_plugin_load_file):
11234           Call g_module_close when we don't load the module
11235
11236         * gst/registries/gstlibxmlregistry.c:
11237         (gst_xml_registry_get_property):
11238           Port leak fix from 0.8
11239
11240 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11241
11242         * docs/gst/gstreamer-docs.sgml:
11243         * docs/gst/tmpl/.cvsignore:
11244         * docs/gst/tmpl/gsttrace.sgml:
11245         * docs/gst/tmpl/gsttrashstack.sgml:
11246         * gst/Makefile.am:
11247         * gst/gst.h:
11248         * gst/gstelement.h:
11249         * gst/gstevent.h:
11250         * gst/gstmessage.c:
11251         * gst/gstmessage.h:
11252         * gst/gsttag.c:
11253         * gst/gsttag.h:
11254         * gst/gsttaginterface.c:
11255         * gst/gsttaginterface.h:
11256         * gst/gsttaglist.c:
11257         * gst/gsttaglist.h:
11258         * gst/gsttagsetter.c:
11259         * gst/gsttagsetter.h:
11260         * gst/gsttrace.c:
11261         * gst/gsttrace.h:
11262         * gst/gsttrashstack.c:
11263           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11264           inlined docs for gsttrace, gsttrashstack
11265
11266 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11267
11268         * gst/Makefile.am:
11269         * gst/elements/gstbufferstore.h:
11270         * gst/elements/gsttypefindelement.c:
11271         * gst/elements/gsttypefindelement.h:
11272         * gst/gst.h:
11273         * gst/gsttypefind.c:
11274         * gst/gsttypefind.h:
11275         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11276         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11277         (gst_type_find_factory_dispose),
11278         (gst_type_find_factory_unload_thyself),
11279         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11280         (gst_type_find_factory_get_caps),
11281         (gst_type_find_factory_get_extensions),
11282         (gst_type_find_factory_call_function):
11283         * gst/gsttypefindfactory.h:
11284         * gst/registries/gstlibxmlregistry.c:
11285         * gst/registries/gstxmlregistry.c:
11286           splitted gsttypefind into gsttypefind, gsttypefindfactory
11287
11288 2005-09-07  Andy Wingo  <wingo@pobox.com>
11289
11290         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11291         condition whereby the pad's task function is entered before the
11292         pad_mode variable was set.
11293
11294 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11295
11296         * gst/gstpad.c: (gst_pad_alloc_buffer):
11297           Catch misbehaving pad_alloc functions that don't
11298           set up caps and do it for them.
11299
11300 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11301
11302         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11303           test for pipe!=NULL
11304         * docs/gst/tmpl/.cvsignore:
11305         * docs/gst/tmpl/gstmemchunk.sgml:
11306         * docs/gst/tmpl/gstparse.sgml:
11307         * docs/gst/tmpl/gsttaglist.sgml:
11308         * docs/gst/tmpl/gsttagsetter.sgml:
11309         * docs/gst/tmpl/gsttypefind.sgml:
11310         * docs/gst/tmpl/gsttypefindfactory.sgml:
11311         * gst/gstmemchunk.c:
11312         * gst/gstparse.c:
11313         * gst/gsttag.c:
11314         * gst/gsttaginterface.c:
11315         * gst/gsttypefind.c:
11316         * gst/gsttypefind.h:
11317           inlined more docs
11318
11319 === release 0.9.2 ===
11320
11321 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11322
11323         * NEWS:
11324         * RELEASE:
11325         * configure.ac:
11326           releasing 0.9.2, "South"
11327
11328 2005-09-05  Andy Wingo  <wingo@pobox.com>
11329
11330         * gst/registries/gstxmlregistry.h:
11331         * gst/registries/gstxmlregistry.c: Um... resurrect...
11332         
11333         * gst/registries/gstxmlregistry.h:
11334         * gst/registries/gstxmlregistry.c: and update to newer API.
11335         Incidentally they should be a bit faster now that they don't have
11336         to parse the caps.
11337         
11338 2005-09-05  Andy Wingo  <wingo@pobox.com>
11339
11340         * gst/registries/gstxmlregistry.h:
11341         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11342         replaced by the libxml registry a while back
11343
11344 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11345
11346         * docs/gst/tmpl/gstplugin.sgml:
11347         * gst/elements/gstelements.c:
11348         * gst/gst.c:
11349         * gst/gstplugin.c: (gst_plugin_register_func),
11350         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11351         (gst_plugin_get_source):
11352         * gst/gstplugin.h:
11353         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11354         (gst_xml_registry_save_plugin):
11355         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11356         (gst_xml_registry_save_plugin):
11357         * tools/gst-inspect.c: (print_plugin_info):
11358           add a "source" plugin description field, to represent the source
11359           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11360           will set it to PACKAGE, which is automake's idea of the name of
11361           the source project.
11362
11363 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11364
11365         * Makefile.am:
11366         * autogen.sh:
11367         * configure.ac:
11368         * docs/Makefile.am:
11369         * docs/faq/Makefile.am:
11370         * docs/gst/tmpl/gstelement.sgml:
11371         * docs/gst/tmpl/gsttypes.sgml:
11372         * docs/htmlinstall.mak:
11373         * docs/manual/Makefile.am:
11374         * docs/pwg/Makefile.am:
11375           reorganize doc build a little
11376           split out docbook and gtk-doc stuff
11377           have two separate --enable's and enable them through autogen
11378           but disable by default in configure (to be similar to other
11379           projects)
11380         * gstreamer.spec.in:
11381           clean up docs install
11382         * po/af.po:
11383         * po/az.po:
11384         * po/ca.po:
11385         * po/cs.po:
11386         * po/de.po:
11387         * po/en_GB.po:
11388         * po/fr.po:
11389         * po/it.po:
11390         * po/nb.po:
11391         * po/nl.po:
11392         * po/ru.po:
11393         * po/sq.po:
11394         * po/sr.po:
11395         * po/sv.po:
11396         * po/tr.po:
11397         * po/uk.po:
11398         * po/vi.po:
11399           translation updates
11400
11401 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11402
11403         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11404           Add comment.
11405           
11406         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11407         (gst_fake_sink_change_state):
11408           Make state change function thread-safe.
11409           
11410         * gst/gstpad.c: (gst_pad_alloc_buffer):
11411           Set offset on generic buffer allocated by fallback.
11412
11413 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11414
11415         * docs/gst/gstreamer-sections.txt:
11416         * docs/gst/tmpl/gstelement.sgml:
11417         * gst/gstpad.c:
11418         * libs/gst/controller/gst-controller.c:
11419         (gst_controlled_property_set_interpolation_mode),
11420         (gst_controlled_property_new),
11421         (gst_controller_find_controlled_property):
11422          run the wingo-magic script against the docs
11423
11424 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11425
11426         * docs/gst/gstreamer-docs.sgml:
11427         * docs/gst/gstreamer-sections.txt:
11428         * docs/gst/tmpl/.cvsignore:
11429         * docs/gst/tmpl/gstelementdetails.sgml:
11430         * docs/gst/tmpl/gstelementfactory.sgml:
11431         * gst/gst.c:
11432         * gst/gstbus.c:
11433         * gst/gstelementfactory.c:
11434         * gst/gstelementfactory.h:
11435           merged elementdetails docs into elementfactory docs
11436           inlined both
11437
11438 2005-09-02  Andy Wingo  <wingo@pobox.com>
11439
11440         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11441         consider this enum an enum and not a flags.
11442
11443 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11444
11445         * docs/gst/gstreamer-docs.sgml:
11446         * docs/gst/tmpl/.cvsignore:
11447         * docs/gst/tmpl/gstghostpad.sgml:
11448         * docs/gst/tmpl/gstiterator.sgml:
11449         * docs/gst/tmpl/gstmacros.sgml:
11450         * docs/gst/tmpl/gstrealpad.sgml:
11451         * docs/gst/tmpl/gstregistry.sgml:
11452         * docs/gst/tmpl/gstregistrypool.sgml:
11453         * docs/gst/tmpl/gststructure.sgml:
11454         * docs/gst/tmpl/gstsystemclock.sgml:
11455         * docs/gst/tmpl/gsttrace.sgml:
11456         * gst/gstghostpad.c:
11457         * gst/gstmacros.h:
11458         * gst/gstmemchunk.c:
11459         * gst/gstmemchunk.h:
11460         * gst/gstqueue.c:
11461         * gst/gstregistry.c:
11462         * gst/gstregistrypool.c:
11463         * gst/gststructure.c:
11464         * gst/gstsystemclock.c:
11465           more docs inlined
11466
11467 2005-09-02  Andy Wingo  <wingo@pobox.com>
11468
11469         * gst/gstelement.h (GstState): Renamed from GstElementState,
11470         changed to be a normal enum instead of flags.
11471         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11472         munged to be GST_STATE_CHANGE_*.
11473         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11474         work with the new state representation.
11475         (GstStateChange): New enumeration of possible state transitions.
11476         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11477         (GstElementClass::change_state): Pass the GstStateChange along as
11478         an argument. Helps language bindings, so they don't have to use
11479         tricky lock-needing macros like GST_STATE_CHANGE ().
11480
11481         * scripts/update-states (file): New script. Run it on a file to
11482         update it for state naming and API changes. Updates files in
11483         place.
11484
11485         * All files updated for the new API.
11486
11487 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11488
11489         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11490         * gst/gstutils.c: (gst_util_set_value_from_string),
11491         (gst_util_set_object_arg):
11492           fix a bunch of unchecked return values
11493         * tools/gst-complete.c: (main):
11494         * gstreamer.spec.in:
11495           clean up a little
11496
11497 2005-09-01  Wim Taymans  <wim@fluendo.com>
11498
11499         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11500         (gst_base_sink_event), (gst_base_sink_do_sync),
11501         (gst_base_sink_handle_event):
11502         * gst/base/gstbasesink.h:
11503         Handle newsegments more correctly.
11504
11505         * gst/gstbus.c:
11506         Fix docs.
11507
11508         * gst/gstevent.c: (gst_event_new_newsegment):
11509         A newsegment cannot have a start_time of -1
11510
11511 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11512
11513         * win32/gstenumtypes.c:
11514         * win32/gstenumtypes.h:
11515           Update
11516
11517 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11518
11519         * libs/gst/controller/gst-controller.c:
11520         (gst_controlled_property_set_interpolation_mode),
11521         (gst_controlled_property_new):
11522          fixed boolean again
11523
11524 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11525
11526         * docs/faq/gst-uninstalled:
11527           add -good
11528         * gst/gstevent.c:
11529         * gst/gstevent.h:
11530           remove wrong docs
11531         * gst/gstutils.c: (gst_element_link_filtered):
11532         * gst/gstutils.h:
11533           add gst_element_link_filtered
11534
11535 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11536
11537         * docs/gst/gstreamer-docs.sgml:
11538         * docs/gst/gstreamer-sections.txt:
11539         * docs/gst/tmpl/.cvsignore:
11540         * docs/gst/tmpl/gsterror.sgml:
11541         * docs/gst/tmpl/gstfilter.sgml:
11542         * docs/gst/tmpl/gsturihandler.sgml:
11543         * docs/gst/tmpl/gsturitype.sgml:
11544         * docs/gst/tmpl/gstutils.sgml:
11545         * docs/gst/tmpl/gstxml.sgml:
11546         * gst/gsterror.c:
11547         * gst/gsterror.h:
11548         * gst/gstfilter.c:
11549         * gst/gsturi.c:
11550         * gst/gsturitype.c:
11551         * gst/gstutils.c:
11552         * gst/gstxml.c:
11553           inlined more docs, fixed double id-ref
11554
11555 2005-08-31  Wim Taymans  <wim@fluendo.com>
11556
11557         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11558         (gst_base_transform_handle_buffer):
11559         Passthrough elements don't need the caps as they don't care.
11560
11561 2005-08-31  Wim Taymans  <wim@fluendo.com>
11562
11563         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11564         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11565         Don't leak refcounts on buffers.
11566
11567 2005-08-31  Wim Taymans  <wim@fluendo.com>
11568
11569         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11570         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11571         (gst_base_transform_chain), (gst_base_transform_change_state):
11572         * gst/base/gstbasetransform.h:
11573         Handle the case where we are not negotiated more gracefully.
11574
11575 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11576
11577         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11578         (gst_file_src_map_region):
11579           Set READONLY flag on mmap'ed buffers, otherwise
11580           gst_buffer_make_writable() won't work properly (#314708).
11581
11582 2005-08-31  Wim Taymans  <wim@fluendo.com>
11583
11584         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11585         passthrough elements can even do inplace on non writable
11586         buffers (as they don't touch them).
11587
11588 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11589
11590         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11591         (gst_test_mono_source_set_property),
11592         (gst_test_mono_source_class_init), (GST_START_TEST),
11593         (gst_controller_suite):
11594           more tests (hehe I have the most)
11595         * gst/gstbus.c:
11596           describe popping messages whenusing mulltiple sources
11597         * libs/gst/controller/gst-controller.c:
11598         (gst_controlled_property_set_interpolation_mode),
11599         (gst_controlled_property_new):
11600         * libs/gst/controller/gst-controller.h:
11601         * libs/gst/controller/gst-interpolation.c:
11602           implement boolean properties
11603
11604 2005-08-31  Wim Taymans  <wim@fluendo.com>
11605
11606         * gst/gstminiobject.c: (gst_mini_object_ref):
11607         Cannot assert that the refcount has to be positive
11608         since a disposed object can be resurrected.
11609
11610 2005-08-31  Wim Taymans  <wim@fluendo.com>
11611
11612         * gst/gstpad.c: (gst_pad_init):
11613         Revert change, need to first fix badly behaving 
11614         apps.
11615
11616 2005-08-30  Wim Taymans  <wim@fluendo.com>
11617
11618         * check/elements/fakesrc.c: (setup_fakesrc):
11619         * check/elements/identity.c: (setup_identity):
11620         Activate pads before using them.
11621
11622 2005-08-30  Wim Taymans  <wim@fluendo.com>
11623
11624         * gst/base/gstadapter.c: (gst_adapter_flush):
11625         Flushing out 0 bytes is ok for this function.
11626
11627         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11628         no newsegment gives a warning and sets the start/stop to 
11629         invalid.
11630
11631         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11632         (gst_base_transform_set_passthrough):
11633         Some debug info.
11634
11635         * gst/gstminiobject.c: (gst_mini_object_ref):
11636         Check refcount here too.
11637
11638         * gst/gstpad.c: (gst_pad_init):
11639         Pads are initially flushing and refusing data.
11640
11641         * gst/gstutils.c: (gst_element_link_pads_filtered):
11642         When adding a capsfilter element make sure it has the
11643         same state as the parent bin.
11644
11645 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11646
11647         * docs/gst/tmpl/.cvsignore:
11648         * docs/gst/tmpl/gstformat.sgml:
11649         * docs/gst/tmpl/gstversion.sgml:
11650         * gst/gstbus.h:
11651         * gst/gstformat.c:
11652         * gst/gstformat.h:
11653         * gst/gstversion.h.in:
11654           more docs and two more inlined
11655
11656 2005-08-30  Wim Taymans  <wim@fluendo.com>
11657
11658         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11659         Don't sync to clock.
11660
11661 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11662
11663         * docs/gst/gstreamer-sections.txt:
11664           ultral33t func10ns deserve to appear in the docs actually
11665         * docs/gst/tmpl/.cvsignore:
11666         * docs/gst/tmpl/gstcompat.sgml:
11667         * docs/gst/tmpl/gstconfig.sgml:
11668         * gst/check/gstcheck.c:
11669         * gst/gstcompat.h:
11670         * gst/gstconfig.h.in:
11671           inlined more docs
11672
11673 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11674
11675         * docs/gst/tmpl/.cvsignore:
11676         * docs/gst/tmpl/gstquery.sgml:
11677         * docs/gst/tmpl/gstutils.sgml:
11678         * gst/gstquery.c:
11679         * gst/gstquery.h:
11680           inlined and extended docs
11681
11682 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11683
11684         * check/gst-libs/controller.c: (GST_START_TEST),
11685         (gst_controller_suite):
11686           more tests
11687         * docs/gst/tmpl/gstutils.sgml:
11688         * docs/libs/gstreamer-libs-sections.txt:
11689         * docs/libs/tmpl/gstdataprotocol.sgml:
11690           include path fixes
11691         * examples/controller/audio-example.c: (main):
11692           controller example works now
11693         * gst/gstclock.h:
11694           doc fixes
11695         * tools/gst-inspect.c: (print_element_properties_info):
11696           show param spec flags
11697
11698 2005-08-29  Andy Wingo  <wingo@pobox.com>
11699
11700         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11701
11702 2005-08-28  Andy Wingo  <wingo@pobox.com>
11703
11704         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11705         as having two arguments instead of just one. Allows superclasses
11706         to access information on subclasses -- see the terrible for() loop
11707         in gtype.c:g_type_create_instance for the reason why. All callers
11708         changed.
11709
11710 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11711
11712         * docs/design/part-messages.txt:
11713           update info
11714         * docs/gst/tmpl/.cvsignore:
11715         * docs/gst/tmpl/gstcaps.sgml:
11716         * docs/gst/tmpl/gstclock.sgml:
11717         * gst/gstbus.c:
11718         * gst/gstcaps.c:
11719         * gst/gstcaps.h:
11720         * gst/gstclock.c:
11721         * gst/gstclock.h:
11722         * gst/gstmessage.c:
11723           added descriptions for bus and message
11724           inline caps and clock docs
11725
11726 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11727
11728         * gst/gstmessage.c:
11729         * gst/gstmessage.h:
11730           doc fixes
11731
11732 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11733
11734         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11735           fix div-by-zero
11736
11737 2005-08-26  Andy Wingo  <wingo@pobox.com>
11738
11739         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11740         element_set_state's return val.
11741         (test_2_elements): Add test that's been disabled for months.
11742
11743         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11744         can-activate-pull properties.
11745
11746         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11747         can-activate-pull properties. Implement is_seekable so fakesrc can
11748         operate in pull mode.
11749
11750         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11751         properties.
11752         (gst_base_sink_activate, gst_base_sink_activate_pull)
11753         (gst_base_sink_activate_push): Make activation mode choosing work.
11754         Cleanups.
11755         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11756         is right. Make pull mode work. Post an eos before pausing in pull
11757         mode.
11758         (gst_base_sink_change_state): Pay attention to the core's
11759         change_state() return val.
11760         
11761         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11762         has-getrange properties. Cleanups.
11763         
11764         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11765         has_getrange and replace with can_activate_pull and
11766         can_activate_push.
11767
11768         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11769         locking comments. Remove has_loop, has_chain and replace with
11770         can_activate_pull and can_activate_push.
11771
11772 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11773
11774         * configure.ac:
11775         * examples/Makefile.am:
11776         * examples/metadata/Makefile.am:
11777         * examples/metadata/read-metadata.c: (message_loop),
11778         (have_pad_handler), (make_pipeline), (print_tag), (main):
11779           Add metadata reading example that loops over a list of filenames,
11780           dumping any tags found.
11781
11782         * gst/gstbus.c: (gst_bus_dispose):
11783         * gst/gstelement.c: (gst_element_dispose):
11784           Release a few potentially-held references in dispose.
11785
11786 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11787
11788         * docs/gst/tmpl/gstminiobject.sgml:
11789           do *not* add tmpl/*.sgml files to CVS!
11790
11791 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11792
11793         * libs/gst/bytestream/.cvsignore:
11794         * libs/gst/bytestream/Makefile.am:
11795         * libs/gst/bytestream/adapter.c:
11796         * libs/gst/bytestream/adapter.h:
11797         * libs/gst/bytestream/bytestream.c:
11798         * libs/gst/bytestream/bytestream.h:
11799         * libs/gst/bytestream/filepad.c:
11800         * libs/gst/bytestream/filepad.h:
11801           removing obsolete files
11802
11803 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11804
11805         * docs/gst/gstreamer-docs.sgml:
11806         * docs/libs/gstreamer-libs-docs.sgml:
11807           disabed additional index entries again, as this makes docs-gen just
11808           slow and they aren't useful yet
11809         * docs/libs/gstreamer-libs-sections.txt:
11810           little -section.txt cleanup for libs
11811
11812 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11813
11814         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11815         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11816           fix up some debugging
11817         (gst_base_transform_get_unit_size),
11818         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11819         (gst_base_transform_handle_buffer):
11820         * gst/base/gstbasetransform.h:
11821           handle and store timed NEWSEGMENT events so that subclasses that
11822           calculate time by counting samples have a segment_start time they
11823           need to add to their timestamps - see audioresample
11824
11825 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11826
11827         * gst/gstbin.h:
11828           removed ';' from the end of macro defs
11829         * docs/gst/gstreamer-docs.sgml:
11830         * docs/gst/gstreamer-sections.txt:
11831         * docs/gst/tmpl/.cvsignore:
11832         * gst/gstbus.h:
11833         * gst/gstelement.c: (gst_element_class_init),
11834         (gst_element_set_state), (activate_pads),
11835         (gst_element_save_thyself):
11836         * gst/gstevent.c: (gst_event_new_newsegment):
11837         * gst/gstevent.h:
11838         * gst/gstiterator.c:
11839         * gst/gstiterator.h:
11840         * gst/gstpad.c:
11841         * gst/gstprobe.h:
11842         * gst/gstutils.c: (gst_pad_query_convert):
11843         * gst/gstutils.h:
11844           fixed parameter name mismatches between source, header and docs
11845           added some more docs, resolved the last batch of unused elements in
11846           docs (now someone needs to doc them)
11847
11848 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11849
11850         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11851         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11852           don't walk through the plugins backwards.  Where is all this
11853           reversed logic coming from ?
11854
11855 2005-08-25  Wim Taymans  <wim@fluendo.com>
11856
11857         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11858         (gst_base_transform_transform_size),
11859         (gst_base_transform_configure_caps),
11860         (gst_base_transform_get_unit_size),
11861         (gst_base_transform_buffer_alloc),
11862         (gst_base_transform_change_state):
11863         * gst/base/gstbasetransform.h:
11864         Cache caps unit_size.
11865         Make sure we cannot negotiate up and downstream at the
11866         same time.
11867
11868 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11869
11870         * gst/gst.c: (init_pre), (init_post):
11871           register the installed plugin path after the env var
11872         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11873         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11874           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11875           directories, so the tests can prefer uninstalled over installed
11876
11877 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11878
11879         * gst/base/gstbasetransform.h:
11880           comment
11881         * gst/gstpad.c:
11882           add to docs
11883
11884 2005-08-25  Wim Taymans  <wim@fluendo.com>
11885
11886         * gst/gstbin.c: (bin_bus_handler):
11887         Be a bit more conservative about the posted message.
11888         
11889         * gst/gstbus.c: (gst_bus_post):
11890         Some cleanups, warn wrong return values.
11891
11892 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11893
11894         * check/gst/gstbin.c: (GST_START_TEST):
11895         * gst/gstbin.c: (bin_bus_handler):
11896         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11897         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11898         (gst_message_new_warning), (gst_message_new_tag),
11899         (gst_message_new_state_changed), (gst_message_new_segment_start),
11900         (gst_message_new_segment_done), (gst_message_new_custom):
11901         * gst/gstmessage.h:
11902         * tools/gst-launch.c: (event_loop):
11903         * tools/gst-md5sum.c: (event_loop):
11904           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11905
11906 2005-08-25  Wim Taymans  <wim@fluendo.com>
11907
11908         * check/generic/states.c: (GST_START_TEST):
11909         Cleanup can be done at the end.
11910
11911         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11912         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11913         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11914         Oh boy.. Thanks for finding this, Thomas. 
11915
11916 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11917
11918         * docs/gst/gstreamer.types:
11919           added missing types
11920
11921 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11922
11923         * docs/gst/gstreamer-docs.sgml:
11924         * docs/gst/gstreamer-sections.txt:
11925         * docs/gst/tmpl/.cvsignore:
11926         * gst/gstbin.c:
11927         * gst/gstiterator.c:
11928         * gst/gstutils.c:
11929         * gst/registries/gstxmlregistry.h:
11930           added missing classes and symbols (123 more to go)
11931           removed removed symbols from section file
11932           fixed many doc-comments
11933
11934 2005-08-24  Wim Taymans  <wim@fluendo.com>
11935
11936         * check/generic/states.c: (GST_START_TEST):
11937         Make sure all tasks are stopped.
11938
11939         * check/gst/gstbin.c: (GST_START_TEST):
11940         Unref after usage for proper valgrinding.
11941
11942         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11943         Really wait for the task to stop before destroying the
11944         mutex.
11945
11946         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11947         (gst_queue_src_activate_push):
11948         Small cleanups. Don't stop the task when we did not start
11949         it.
11950
11951         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11952         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11953         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11954         (gst_task_join):
11955         * gst/gsttask.h:
11956         Protect the stream lock with the object lock.
11957         Disallow setting the stream lock when running.
11958         Add cleanup_all to wait for the threadpool to finish.
11959         Remove code to autoallocate a mutex if none was provided.
11960         Add _join() to wait for a task to stop.
11961         Protect the thread pool with a global lock.
11962
11963 2005-08-24  Wim Taymans  <wim@fluendo.com>
11964
11965         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11966         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11967         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11968         * gst/base/gstbasesink.h:
11969         Handle newsegment events correctly.
11970         Drop buffers out of the segment range.
11971
11972 2005-08-22  Andy Wingo  <wingo@pobox.com>
11973
11974         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11975         macro, implements an interface and gstimplementsinterface for a
11976         new type.
11977
11978 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11979
11980         * check/Makefile.am:
11981         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11982           add a test that does a bunch of state changes on elements
11983           needs some fixing for valgrind
11984         * check/states/sinks.c: (gst_object_suite):
11985           whitespace
11986         * gst/gstcaps.h:
11987           add prototype for gst_caps_is_equal_fixed
11988         * gst/gstplugin.c:
11989         * gst/gstregistrypool.c:
11990           doc fixes
11991
11992 2005-08-24  Andy Wingo  <wingo@pobox.com>
11993
11994         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11995         convert a negative value. Doesn't make much sense. Mostly this is
11996         here to force callers to ensure -1 maps to -1.
11997
11998 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11999
12000         * docs/pwg/advanced-types.xml:
12001           Well done to Michael for catching my deliberate introduction
12002           of this spelling mistake. 
12003         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12004         * gst/gstelement.h:
12005           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12006           unlink pads before removing the element from the bin.
12007
12008 2005-08-24  Andy Wingo  <wingo@pobox.com>
12009
12010         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12011         the same thing as GST_DEBUG=*:4.
12012         (parse_debug_level, parse_debug_category): New helper parsers.
12013
12014 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12015
12016         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12017         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12018         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12019         (gst_base_transform_buffer_alloc),
12020         (gst_base_transform_handle_buffer):
12021           use gboolean return values and pointers to size so we can use the
12022           full GST_BUFFER_SIZE range (guint) for buffer sizes
12023           use GstPadDirection for transform_caps
12024         * gst/base/gstbasetransform.h:
12025           rename get_size to get_unit_size since that's what it is
12026         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12027           use GstPadDirection for transform_caps
12028         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12029         * gst/gstutils.h:
12030           cleanup and debugging
12031
12032 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12033
12034         * gst/gstelement.c: (gst_element_class_init),
12035         (gst_element_set_state), (activate_pads),
12036         (gst_element_save_thyself):
12037         * tools/gst-compprep.c: (main):
12038         * tools/gst-inspect.c: (print_element_properties_info):
12039         * tools/gst-xmlinspect.c: (print_element_properties):
12040           Fixed long standing mem-leak
12041
12042 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12043
12044         * check/gst/gstbin.c: (GST_START_TEST):
12045         * gst/gstbin.c: (bin_bus_handler):
12046         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12047         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12048         (gst_message_new_warning), (gst_message_new_tag),
12049         (gst_message_new_state_changed), (gst_message_new_segment_start),
12050         (gst_message_new_segment_done), (gst_message_new_custom):
12051         * gst/gstmessage.h:
12052         * tools/gst-launch.c: (event_loop):
12053         * tools/gst-md5sum.c: (event_loop):
12054           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12055           that applications can sensibly post custom messages with references
12056           to their own objects.
12057
12058 2005-08-24  Andy Wingo  <wingo@pobox.com>
12059
12060         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12061         already.
12062
12063 2005-08-24  Wim Taymans  <wim@fluendo.com>
12064
12065         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12066         (gst_base_transform_transform_caps),
12067         (gst_base_transform_transform_size),
12068         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12069         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12070         (gst_base_transform_handle_buffer):
12071         * gst/base/gstbasetransform.h:
12072         Many fixes and new features added by Thomas. Can now also do
12073         transforms with variable sizes and a custom fixate_caps function.
12074
12075 2005-08-24  Wim Taymans  <wim@fluendo.com>
12076
12077         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12078         Some debugging.
12079
12080         * gst/gstclock.h:
12081         Cast to ClockTime before formatting to time.
12082
12083         * gst/gstutils.h:
12084         Cleanups.
12085
12086 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12087
12088         * check/gst-libs/controller.c: (GST_START_TEST),
12089         (gst_controller_suite):
12090         * docs/gst/tmpl/gstcaps.sgml:
12091         * docs/gst/tmpl/gstghostpad.sgml:
12092         * docs/gst/tmpl/gstquery.sgml:
12093         * docs/gst/tmpl/gstutils.sgml:
12094         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12095         (gst_object_sink_values), (gst_object_get_value_arrays),
12096         (gst_object_get_value_array):
12097           gracefully handle helper method calls to objects that are not beeing
12098           controlled, added test case for that          
12099
12100 2005-08-23  Wim Taymans  <wim@fluendo.com>
12101
12102         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12103         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12104         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12105         (gst_event_parse_qos), (gst_event_new_seek),
12106         (gst_event_parse_seek):
12107         * gst/gstevent.h:
12108         Some more debugging output and doc cleanups.
12109
12110         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12111         Fix possible deadlock.
12112
12113 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12114
12115         * docs/gst/gstreamer-docs.sgml:
12116         * docs/gst/gstreamer-sections.txt:
12117         * docs/gst/gstreamer.types:
12118         * docs/gst/tmpl/.cvsignore:
12119         * gst/gstbin.h:
12120         * gst/gstbus.c:
12121         * gst/gstelement.c:
12122         * gst/gstevent.h:
12123           added 100 symbols from gstreamer-unused.txt to the right sections
12124           fixed more broken comments
12125           added GstBus to docs
12126
12127 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12128
12129         * docs/gst/gstreamer-sections.txt:
12130         * docs/gst/tmpl/.cvsignore:
12131         * docs/gst/tmpl/gstbin.sgml:
12132         * docs/gst/tmpl/gstbuffer.sgml:
12133         * gst/base/gstbasesrc.c:
12134         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12135         * gst/gstbuffer.c:
12136         * gst/gstbuffer.h:
12137         * tools/gst-launch.1.in:
12138           inlined more doc comments, added missing comments and fixed comments
12139           fixed typos
12140
12141 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12142
12143         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12144           some debugging
12145         * gst/gstcaps.h:
12146           whitespace fixes
12147         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12148           more debugging
12149         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12150         * gst/gststructure.h:
12151           add a fixate function for booleans; add a FIXME that these func
12152           names should probably be gst_structure_fixate_*
12153
12154 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12155
12156         * docs/gst/gstreamer-docs.sgml:
12157         * docs/gst/gstreamer-sections.txt:
12158         * gst/Makefile.am:
12159         * gst/gstbin.c: (gst_bin_get_type),
12160         (gst_bin_child_proxy_get_child_by_index),
12161         (gst_bin_child_proxy_get_children_count),
12162         (gst_bin_child_proxy_init):
12163         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12164         (gst_child_proxy_get_child_by_index),
12165         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12166         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12167         (gst_child_proxy_get), (gst_child_proxy_set_property),
12168         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12169         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12170         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12171         * gst/gstchildproxy.h:
12172         * gst/parse/grammar.y:
12173         * tools/gst-inspect.c: (print_interfaces),
12174         (print_element_properties_info), (print_element_info):
12175           ported gstchildproxy over from 0.8
12176           ported gst-inspect fixes and enhancements over from 0.8
12177
12178 2005-08-22  Wim Taymans  <wim@fluendo.com>
12179
12180         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12181         (gst_base_transform_handle_buffer):
12182         Also call the transform function if we have ANY caps.
12183
12184         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12185         Fix debug info.
12186
12187 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12188
12189         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12190           Don't pretend to handle seek events if the source is not seekable
12191
12192 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12193
12194         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12195           Remove extra parameter to debug output
12196
12197         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12198         (gst_base_src_do_seek), (gst_base_src_activate_push):
12199           Fix seek event handling.
12200
12201         * gst/gstpipeline.c: (gst_pipeline_change_state):
12202         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12203         (gst_queue_src_activate_push):
12204           Don't start the src pad task on FLUSH_STOP if the pad
12205           isn't linked.
12206           Debug changes.
12207
12208 2005-08-22  Wim Taymans  <wim@fluendo.com>
12209
12210         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12211         Added check for gst_static_caps_get() refcounting.
12212
12213 2005-08-22  Wim Taymans  <wim@fluendo.com>
12214
12215         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12216         Make _static_caps_get() refcounting sane.
12217         
12218         * gst/gstelement.c: (gst_element_set_state):
12219         Add g_return_val_if_fail() to protect against segfaults.
12220
12221 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12222
12223         * docs/gst/tmpl/gstevent.sgml:
12224         * gst/gstevent.c:
12225         * gst/gstevent.h:
12226           inlined remaining docs, added missing doc comments
12227
12228 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12229
12230         * check/gst/gstbin.c: (GST_START_TEST):
12231           since we don't know when preroll is done, use refcount range
12232           check for the sink
12233         * gst/check/gstcheck.h:
12234           add macro for checking refcount range
12235
12236 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12237
12238         * check/Makefile.am:
12239           clean up environment for when registry gets built versus
12240           when actual tests are run; valgrind seems to not report
12241           leaks if GST_PLUGIN_PATH is set to some specific values
12242         * check/gst/gstbin.c: (GST_START_TEST):
12243           add more refcounting checks; maybe this exposes a
12244           preroll lock bug ?
12245         * common/check.mak:
12246         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12247         * gst/check/gstcheck.h:
12248         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12249         (gst_bin_change_state):
12250         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12251           add/fix debugging/whitespace
12252
12253 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12254
12255         * check/gst/gstevent.c: (event_probe), (test_event),
12256         (GST_START_TEST):
12257          Er, don't call gst_bin_watch_for_state_change you idiot.
12258
12259 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12260
12261         * check/Makefile.am:
12262           Use CHECK_CFLAGS and CHECK_LIBS
12263         * check/gst/gstevent.c: (event_probe), (test_event),
12264         (GST_START_TEST):
12265           Don't leak events.
12266         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12267         (gst_base_src_start), (gst_base_src_stop),
12268         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12269         (gst_base_src_change_state):
12270           Sprinkle gst_base_src_stop liberally around error paths to fix
12271           problems reusing a source after failed state changes.
12272         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12273         (helper_find_suggest), (gst_type_find_helper):
12274           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12275         * gst/gstevent.h:
12276         * docs/gst/tmpl/gstevent.sgml:
12277           Migrate part of the docs from the SGML file. Wait for ensonic to
12278           tell me how I did it wrong ;)
12279         * tools/gst-typefind.c: (main):
12280           Extra robustness to state changes between files.
12281
12282 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12283
12284         * check/Makefile.am:
12285           don't valgrind the controller test - it's leaking - Stefan, HELP
12286         * gst/check/gstcheck.c: (gst_check_message_error),
12287         (gst_check_chain_func), (gst_check_setup_element),
12288         (gst_check_teardown_element), (gst_check_setup_src_pad),
12289         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12290         (gst_check_teardown_sink_pad):
12291         * gst/check/gstcheck.h:
12292           add a bunch of methods to set up elements, and src and sink pads
12293         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12294         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12295         (GST_START_TEST):
12296           use them
12297         * gst/gstmessage.c:
12298         * gst/gsttag.h:
12299           whitespace/doc fixes
12300
12301 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12302
12303         * gst/gstelement.h:
12304           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12305           be handled by the application and not always printed as well
12306
12307 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12308
12309         * check/Makefile.am:
12310           set GST_TOOLS_DIR
12311         * gst/check/gstcheck.c: (gst_check_message_error):
12312         * gst/check/gstcheck.h:
12313           add a fail_unless_equals_int
12314           add fail_unless for error messages
12315
12316 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12317
12318         * check/Makefile.am:
12319         * check/gst.supp:
12320         * common/Makefile.am:
12321         * common/check.mak:
12322         * common/gst.supp:
12323           factor out some of the common stuff so we can use it
12324
12325 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12326
12327         * check/Makefile.am:
12328         * check/gst/gstiterator.c: (GST_START_TEST):
12329         * check/gst/gstsystemclock.c: (GST_START_TEST),
12330         (gst_systemclock_suite):
12331         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12332         * gst/gstclock.c:
12333           valgrind more tests
12334
12335 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12336
12337         * check/elements/.cvsignore:
12338         * check/elements/gstfakesrc.c:
12339           rename to name of element
12340         * check/elements/identity.c: (chain_func), (event_func),
12341         (setup_identity), (cleanup_identity), (GST_START_TEST),
12342         (identity_suite), (main):
12343           add a test for identity
12344         * check/Makefile.am:
12345         * pkgconfig/Makefile.am:
12346         * pkgconfig/gstreamer-check.pc.in:
12347         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12348         * gst/check:
12349         * gst/Makefile.am:
12350         * configure.ac:
12351           move the check stuff to a library that gets installed
12352         * check/gst-libs/controller.c: (GST_START_TEST):
12353         * check/gst-libs/gdp.c:
12354         * check/gst/gst.c: (GST_START_TEST):
12355         * check/gst/gstbin.c:
12356         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12357         * check/gst/gstbus.c:
12358         * check/gst/gstcaps.c: (GST_START_TEST):
12359         * check/gst/gstelement.c:
12360         * check/gst/gstghostpad.c:
12361         * check/gst/gstiterator.c:
12362         * check/gst/gstmessage.c:
12363         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12364         * check/gst/gstobject.c:
12365         * check/gst/gstpad.c: (GST_START_TEST):
12366         * check/gst/gststructure.c: (GST_START_TEST):
12367         * check/gst/gstsystemclock.c: (GST_START_TEST),
12368         (gst_systemclock_suite):
12369         * check/gst/gsttag.c: (gst_tag_suite):
12370         * check/gst/gstvalue.c:
12371         * check/pipelines/cleanup.c:
12372         * check/pipelines/simple_launch_lines.c:
12373         * check/states/sinks.c:
12374           change include statement
12375
12376         * docs/gst/gstreamer-sections.txt:
12377         * docs/gst/tmpl/gstpad.sgml:
12378           document more pad stuff
12379         * gst/gstminiobject.c: (gst_mini_object_ref),
12380         (gst_mini_object_unref):
12381           debug refcounting
12382
12383 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12384
12385         * docs/gst/tmpl/gst.sgml:
12386         * gst/gst.c:
12387           eliminate another tmpl file, fix spelling in the long-description
12388
12389 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12390
12391         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12392         (test_event), (timediff), (gstevents_suite):
12393           Should fix build on 64-bit arch's
12394
12395 2005-08-18  Andy Wingo  <wingo@pobox.com>
12396
12397         Make sure that when a pipeline goes to PLAYING, that data has
12398         actually hit the sink.
12399
12400         * check/states/sinks.c (test_sink): A sink that doesn't get any
12401         data shouldn't return SUCCESS for going to either PLAYING or
12402         PAUSED. Test also the return values on the way back down.
12403
12404         * gst/gstelement.c (gst_element_set_state): When changing the
12405         state of an element currently changing state asynchronously, go to
12406         lost-state after commiting the pending state. Makes future calls
12407         to get_state continue to return ASYNC.
12408
12409         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12410         ASYNC when going to PLAYING if we still don't have preroll, as can
12411         happen with live sources.
12412
12413 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12414
12415         * docs/pwg/advanced-types.xml:
12416           Hack long paragraph into 2 chunks as a workaround for buggy
12417           jadetex version in sid and breezy that loops infinitely and
12418           eats all RAM.
12419
12420 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12421
12422         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12423         (test_event), (timediff), (gstevents_suite):
12424           Provide more error margin in clock measurements to allow for 
12425           g_get_current_time inaccuracies.
12426
12427 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12428
12429         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12430         (test_event), (timediff), (gstevents_suite):
12431            Fix error message output so I might be able to tell why the
12432            test works here but fails on the build farm.
12433
12434 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12435
12436         * check/Makefile.am:
12437         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12438         (test_event), (timediff), (gstevents_suite), (main):
12439           I wrote a test!
12440
12441         * docs/design/part-seeking.txt:
12442           Spelling correction
12443
12444         * docs/gst/tmpl/gstevent.sgml:
12445         * docs/gst/tmpl/gstfakesrc.sgml:
12446           Docs updates.
12447
12448         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12449           Treat a buffer-without-newsegment the same as a receiving 
12450           a newsegment not in time format, and disable syncing to the clock
12451           with a warning.
12452
12453         * gst/gstbus.c: (gst_bus_set_sync_handler):
12454           Assert if anyone tries to replace the existing sync_handler for bus, 
12455           as only the owner should be setting it.
12456
12457         * gst/gstevent.h:
12458           Have a fixed set of custom event enums with events identified by
12459           their structure name (as in 0.8), rather than a free-for-all
12460           allowing collisions between enum values from different plugins.
12461
12462         * gst/gstpad.c: (gst_pad_class_init):
12463           Docs change.
12464           
12465         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12466           Handle out-of-band downstream events from the sending thread.
12467
12468 2005-08-17  Andy Wingo  <wingo@pobox.com>
12469
12470         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12471         play-timeout==0 to mean no timeout at all. In that case, don't
12472         bother with a get_state or a warning, just return directly, even
12473         if it's ASYNC.
12474
12475         * gst/base/gstbasetransform.c: Debug changes.
12476
12477         * gst/gstutils.h:
12478         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12479         ensure bins post state change messages. A bit of a hack but I can't
12480         think of a way to avoid it.
12481
12482         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12483
12484 2005-08-16  Andy Wingo  <wingo@pobox.com>
12485
12486         * gst/base/gstadapter.h:
12487         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12488         peek() but you own the data. Not terribly efficient atm.
12489
12490 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12491
12492         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12493         (gst_element_found_tags):
12494         * gst/gstutils.h:
12495           Add two utility functions for tag handling.
12496
12497 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12498
12499         * docs/manual/advanced-dataaccess.xml:
12500         * docs/manual/basics-helloworld.xml:
12501           Fix docs to use _bin_add() before _link(), which fixes the examples
12502           with recent core versions (reported by Madhan Raj M
12503           <raj_madan@rediffmail.com>, #313199).
12504
12505 2005-08-16  Wim Taymans  <wim@fluendo.com>
12506
12507         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12508         Added subtract checks.
12509
12510         * docs/design/part-events.txt:
12511         Some more docs about newsegment
12512
12513         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12514         Fix FIXME
12515
12516         * gst/gstcaps.c: (gst_caps_to_string):
12517         Add comments, cleanups.
12518         
12519         * gst/gstelement.c: (gst_element_save_thyself):
12520         cleanups
12521         
12522         * gst/gstvalue.c: (gst_value_collect_int_range),
12523         (gst_string_unwrap), (gst_value_union_int_int_range),
12524         (gst_value_union_int_range_int_range),
12525         (gst_value_intersect_int_int_range),
12526         (gst_value_intersect_int_range_int_range),
12527         (gst_value_intersect_double_double_range),
12528         (gst_value_intersect_double_range_double_range),
12529         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12530         (gst_value_subtract_int_range_int),
12531         (gst_value_subtract_double_range_double),
12532         (gst_value_subtract_double_range_double_range),
12533         (gst_value_subtract_from_list), (gst_value_subtract_list),
12534         (gst_value_can_compare), (gst_value_compare_fraction):
12535         Cleanups, add comments, remove unneeded asserts.
12536
12537 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12538
12539         * tools/gst-launch.c: (event_loop):
12540           don't convert NULL structures to strings
12541
12542 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12543
12544         * docs/gst/gstreamer-sections.txt:
12545           made some defines private
12546         * docs/gst/tmpl/gstconfig.sgml:
12547         * docs/gst/tmpl/gstqueue.sgml:
12548         * docs/gst/tmpl/gsttaglist.sgml:
12549         * docs/gst/tmpl/gsttypes.sgml:
12550         * docs/gst/tmpl/gstutils.sgml:
12551         * docs/pwg/appendix-porting.xml:
12552         * gst/base/gstbasesink.h:
12553         * gst/base/gstbasesrc.c:
12554         * gst/base/gstbasesrc.h:
12555         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12556         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12557         * gst/gstelement.c: (gst_element_class_init):
12558         * gst/gstpad.c: (gst_pad_class_init):
12559         * gst/gstqueue.c: (gst_queue_class_init):
12560         * gst/gstxml.c: (gst_xml_class_init):
12561           documented all undocumented signal inline
12562         * libs/gst/controller/gst-controller.h:
12563           added padding
12564
12565 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12566
12567         * docs/pwg/appendix-porting.xml:
12568           Document _set_link_function -> _set_setcaps_function.
12569
12570 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12571
12572         * check/Makefile.am:
12573           add a .check target for running the check
12574         * check/gst-libs/controller.c: (GST_START_TEST):
12575           cosmetic fixups
12576         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12577           complete checks for gstbuffer; would be nice if I could get the
12578           gcov stuff to work so I can see if I actually completed gstbuffer.c
12579         * check/gstcheck.h:
12580           add ASSERT_BUFFER_REFCOUNT
12581
12582 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12583
12584         * docs/gst/gstreamer-sections.txt:
12585         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12586         * gst/gsttag.h:
12587           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12588           spew out a warning if a tag that is already registered
12589           is re-registered, unless it is re-registered with a 
12590           different type (#308438).
12591
12592 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12593
12594         * docs/pwg/appendix-porting.xml:
12595         * docs/pwg/building-state.xml:
12596           Add some paragraphs about state changes in 0.9 to the PWG
12597           and the porting guide, in particular about the new meaning
12598           of GST_STATE_PAUSED and how to write state change functions
12599           with concurrent access by multiple threads in mind.
12600
12601 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12602
12603         * docs/gst/gstreamer-docs.sgml:
12604         * docs/libs/gstreamer-libs-docs.sgml:
12605           added deprecation and since indexes
12606         * libs/gst/controller/gst-controller.c:
12607         * libs/gst/controller/gst-helper.c:
12608           added since tags
12609
12610
12611 2005-08-11  Wim Taymans  <wim@fluendo.com>
12612
12613         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12614         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12615         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12616         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12617         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12618         (gst_ghost_pad_set_target):
12619         Actually implement (re)setting the target on a ghostpad
12620         as described in the docs.
12621
12622 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12623
12624         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12625           Check whether GST_DEBUG_NO_COLOR environment variable is
12626           set and disable coloured debug output if that is the case.
12627
12628 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12629
12630         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12631         (gst_type_find_helper):
12632           The memory returned by gst_type_find_peek() needs to
12633           stay valid until the end of a typefind function, and
12634           typefind functions may keep results from different 
12635           offsets around, so we can't just unref the buffer from
12636           the previous _peek(), but have to save all buffers 
12637           returned by _peek() until typefinding is done and only
12638           free them then.
12639
12640 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12641
12642         * docs/gst/gstreamer-sections.txt:
12643         * gst/gstutils.h:
12644           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12645
12646 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12647
12648         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12649           Fix a pretty good memleak.
12650
12651 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12652
12653         * gst/gstiterator.h:
12654           Fix wrong include and 'make distcheck'.
12655
12656 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12657
12658         * gst/gstbin.c: (bin_bus_handler):
12659           Use gst_element_post_message() instead.
12660
12661 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12662
12663         * gst/base/gstadapter.h:
12664         * gst/base/gstbasesink.h:
12665         * gst/base/gstbasesrc.h:
12666         * gst/base/gstbasetransform.h:
12667         * gst/base/gstcollectpads.h:
12668         * gst/base/gstpushsrc.h:
12669         * gst/gstiterator.h:
12670           Add padding to our base elements' class and instance structs and
12671           to GstIterator (you will need to rebuild all plugins and apps!)
12672
12673 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12674
12675         * gst/gstbin.c: (bin_bus_handler):
12676           Make default message forwarding from child->bus to bin->bus
12677           threadsafe and make it not emit warnings if the parent has no bus.
12678
12679 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12680
12681         * gst/gstelement.c: (activate_pads):
12682           On paused->ready, set pad->caps to NULL, as is the documented
12683           behaviour in this state change. Fixes playback of series of
12684           media files when visualization is enabled in Totem.
12685
12686 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12687
12688         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12689           Allow NULL as filter-caps (which means "any").
12690
12691 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12692
12693         * docs/libs/gstreamer-libs-sections.txt:
12694         * libs/gst/controller/gst-controller.c:
12695         * libs/gst/controller/gst-controller.h:
12696         * libs/gst/controller/gst-helper.c:
12697           adding more entries to the docs and fix small doc-bugs
12698
12699 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12700
12701         * docs/gst/gstreamer-docs.sgml:
12702         * docs/gst/gstreamer-sections.txt:
12703         * docs/gst/gstreamer.types:
12704         * docs/gst/tmpl/gstbasesink.sgml:
12705         * docs/gst/tmpl/gstbasesrc.sgml:
12706         * docs/gst/tmpl/gstbasetransform.sgml:
12707         * docs/gst/tmpl/gstfakesrc.sgml:
12708         * gst/base/gstcollectpads.c:
12709         * gst/base/gstcollectpads.h:
12710         * libs/gst/controller/gst-controller.c:
12711         * libs/gst/controller/gst-controller.h:
12712         * libs/gst/controller/gst-helper.c:
12713         * libs/gst/controller/gst-interpolation.c:
12714         * libs/gst/controller/lib.c:
12715           added long/short desc for controller docs
12716           added collectpads base class docs
12717           added correct includes to base-class docs
12718
12719 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12720
12721         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12722         (gst_test_mono_source_set_property),
12723         (gst_test_mono_source_class_init), (GST_START_TEST),
12724         (gst_controller_suite):
12725         * docs/gst/gstreamer-docs.sgml:
12726         * docs/gst/gstreamer-sections.txt:
12727         * docs/gst/gstreamer.types:
12728         * docs/libs/gstreamer-libs-docs.sgml:
12729         * docs/libs/gstreamer-libs-sections.txt:
12730         * gst/base/gstadapter.c:
12731         * libs/gst/controller/gst-controller.c:
12732         (gst_controlled_property_new), (gst_controlled_property_free),
12733         (gst_controller_new_valist),
12734         (gst_controller_remove_properties_valist),
12735         (gst_controller_sink_values), (_gst_controller_finalize):
12736         * libs/gst/controller/gst-controller.h:
12737         * libs/gst/controller/gst-helper.c:
12738         (gst_object_control_properties), (gst_object_uncontrol_properties),
12739         (gst_object_get_controller), (gst_object_set_controller),
12740         (gst_object_sink_values), (gst_object_get_value_arrays),
12741         (gst_object_get_value_array):
12742           more tests (and fixes) for the controller
12743           more docs for the controller
12744           integrated companies docs for the adapter 
12745
12746 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12747
12748         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12749         (GST_START_TEST), (fakesrc_suite):
12750           add tests for sizetype
12751
12752 2005-08-04  Andy Wingo  <wingo@pobox.com>
12753
12754         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12755         fixes buffer_alloc proxying among other things.
12756
12757         * gst/base/gstbasetransform.c:
12758         * gst/base/gstbasetransform.h:
12759         Revert patch to gstbasetransform from 7-28 removing
12760         delay_configure.
12761
12762         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12763         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12764         Semantics changed, should return not the size of the output buffer
12765         but the byte size of a buffer with a given caps.
12766
12767         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12768         debug object.
12769         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12770         out) are not the pad caps until setcaps finishes.
12771         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12772         not-in-place case as well. Deal with changing from in-place to
12773         not-in-place within calling pad_alloc_buffer. Still a bit
12774         concerned about the overhead here...
12775
12776 2005-08-03  Andy Wingo  <wingo@pobox.com>
12777
12778         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12779         fixating is an error.
12780
12781 2005-08-04  Edward Hervey  <edward@fluendo.com>
12782
12783         * gst/base/gstadapter.h: 
12784         Added gst_adapter_get_type() to the header
12785
12786 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12787
12788         * check/Makefile.am:
12789         * check/gst-libs/controller.c:
12790         * libs/gst/controller/gst-controller.c:
12791         (gst_controller_new_valist):
12792           added check test suite for the controller
12793         * gst/base/gstpushsrc.c:
12794           fixed a doc typo
12795
12796 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12797
12798         * docs/gst/Makefile.am:
12799         * docs/gst/gstreamer-docs.sgml:
12800         * docs/gst/gstreamer-sections.txt:
12801         * docs/gst/gstreamer.types:
12802         * docs/gst/tmpl/gstfakesrc.sgml:
12803         * gst/base/README:
12804         * gst/base/gstbasesink.c:
12805         * gst/base/gstbasesink.h:
12806         * gst/base/gstbasesrc.c:
12807         * gst/base/gstbasesrc.h:
12808         * gst/base/gstbasetransform.c:
12809         * gst/base/gstpushsrc.c:
12810         * gst/base/gstpushsrc.h:
12811           add short/long description docs to base classes
12812           add pushsrc to the docs
12813           remove consolidated doc fragments
12814
12815 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12816
12817         * configure.ac:
12818         * docs/libs/Makefile.am:
12819         * docs/libs/gstreamer-libs-docs.sgml:
12820         * docs/libs/gstreamer-libs-sections.txt:
12821         * docs/libs/gstreamer-libs.types:
12822         * examples/Makefile.am:
12823         * examples/controller/.cvsignore:
12824         * examples/controller/Makefile.am:
12825         * examples/controller/audio-example.c: (main):
12826         * libs/gst/Makefile.am:
12827         * libs/gst/controller/.cvsignore:
12828         * libs/gst/controller/Makefile.am:
12829         * libs/gst/controller/gst-controller.c:
12830         (on_object_controlled_property_changed), (gst_timed_value_compare),
12831         (gst_timed_value_find),
12832         (gst_controlled_property_set_interpolation_mode),
12833         (gst_controlled_property_new), (gst_controlled_property_free),
12834         (gst_controller_find_controlled_property),
12835         (gst_controller_new_valist), (gst_controller_new),
12836         (gst_controller_remove_properties_valist),
12837         (gst_controller_remove_properties), (gst_controller_set),
12838         (gst_controller_set_from_list), (gst_controller_unset),
12839         (gst_controller_get), (gst_controller_get_all),
12840         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12841         (gst_controller_get_value_array),
12842         (gst_controller_set_interpolation_mode),
12843         (_gst_controller_finalize), (_gst_controller_init),
12844         (_gst_controller_class_init), (gst_controller_get_type):
12845         * libs/gst/controller/gst-controller.h:
12846         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12847         (g_object_uncontrol_properties), (g_object_get_controller),
12848         (g_object_set_controller), (g_object_sink_values),
12849         (g_object_get_value_arrays), (g_object_get_value_array):
12850         * libs/gst/controller/gst-interpolation.c:
12851         (gst_controlled_property_find_timed_value_node),
12852         (interpolate_none_get), (interpolate_trigger_get),
12853         (interpolate_trigger_get_value_array):
12854         * libs/gst/controller/lib.c: (gst_controller_init):
12855         * pkgconfig/Makefile.am:
12856         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12857         * pkgconfig/gstreamer-control.pc.in:
12858         * testsuite/Makefile.am:
12859         * testsuite/controller/.cvsignore:
12860         * testsuite/controller/Makefile.am:
12861         * testsuite/controller/interpolator.c: (main):
12862           added controller code
12863           removed dparam pc files
12864
12865 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12866         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12867         (gst_collectpads_stop):
12868           Broadcast the condition when shutting down, to make sure we wake all
12869           threads up. Shut down pads on finalize, for safety.
12870
12871 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12872         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12873         (gst_base_transform_handle_buffer),
12874         (gst_base_transform_change_state):
12875           Handle PAUSED->READY->PAUSED transition after negotiation
12876           occurred already.
12877         * gst/gstmessage.c: (gst_message_init):
12878           Extra piece of debug for new messages.
12879
12880 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12881
12882         * configure.ac:
12883         * docs/gst/tmpl/gstbasesrc.sgml:
12884         * docs/gst/tmpl/gstelement.sgml:
12885         * docs/gst/tmpl/gstevent.sgml:
12886         * docs/gst/tmpl/gstfakesrc.sgml:
12887         * docs/gst/tmpl/gstformat.sgml:
12888         * docs/gst/tmpl/gstghostpad.sgml:
12889         * docs/gst/tmpl/gstpad.sgml:
12890         * docs/gst/tmpl/gstquery.sgml:
12891         * docs/gst/tmpl/gststructure.sgml:
12892         * docs/gst/tmpl/gsttaglist.sgml:
12893         * docs/gst/tmpl/gstvalue.sgml:
12894         * docs/libs/gstreamer-libs-docs.sgml:
12895         * docs/libs/gstreamer-libs-sections.txt:
12896         * docs/libs/gstreamer-libs.types:
12897         * libs/gst/Makefile.am:
12898         * libs/gst/control/.cvsignore:
12899         * libs/gst/control/Makefile.am:
12900         * libs/gst/control/control.c:
12901         * libs/gst/control/control.h:
12902         * libs/gst/control/dparam.c:
12903         * libs/gst/control/dparam.h:
12904         * libs/gst/control/dparam_smooth.c:
12905         * libs/gst/control/dparam_smooth.h:
12906         * libs/gst/control/dparamcommon.h:
12907         * libs/gst/control/dparammanager.c:
12908         * libs/gst/control/dparammanager.h:
12909         * libs/gst/control/dplinearinterp.c:
12910         * libs/gst/control/dplinearinterp.h:
12911         * libs/gst/control/unitconvert.c:
12912         * libs/gst/control/unitconvert.h:
12913         * testsuite/Makefile.am:
12914         * testsuite/dynparams/.cvsignore:
12915         * testsuite/dynparams/Makefile.am:
12916         * testsuite/dynparams/dparamstest.c:
12917         * tools/Makefile.am:
12918         * tools/gst-inspect.c: (print_element_info), (main):
12919         * tools/gst-xmlinspect.c: (print_element_info), (main):
12920           deactivate and remove dparams (libgstcontrol)
12921
12922 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12923
12924         * gst/elements/gsttypefindelement.c:
12925         (gst_type_find_element_have_type), (gst_type_find_element_init),
12926         (stop_typefinding), (gst_type_find_element_handle_event),
12927         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12928         * gst/elements/gsttypefindelement.h:
12929           Set caps on all outgoing buffers, not just the first one.
12930
12931 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12932
12933         * gst/elements/gsttypefindelement.c:
12934         (gst_type_find_element_have_type),
12935         (gst_type_find_element_check_set_buffer_caps),
12936         (gst_type_find_element_init), (stop_typefinding),
12937         (gst_type_find_element_handle_event),
12938         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12939         * gst/elements/gsttypefindelement.h:
12940           Set caps on first outgoing buffer when we've found the type.
12941
12942 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12943
12944         * docs/gst/gstreamer-docs.sgml:
12945         * docs/gst/gstreamer-sections.txt:
12946         * docs/gst/tmpl/gstscheduler.sgml:
12947         * docs/gst/tmpl/gstschedulerfactory.sgml:
12948           Remove some old cruft from docs.
12949
12950 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12951
12952         * gst/gstpad.h:
12953           Fix inline docs for GstPadLinkReturn.
12954           
12955         * gst/gststructure.c: (gst_structure_has_name):
12956         * gst/gststructure.h:
12957         * docs/gst/gstreamer-sections.txt:
12958           New API: gst_structure_has_name().
12959
12960 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12961
12962         * configure.ac:
12963           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12964           and _LARGEFILE_SOURCE in config.h as required. Do not 
12965           export those flags in our .pc files any longer (#142209).
12966
12967           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12968
12969         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12970         (gst_file_sink_do_seek), (gst_file_sink_event),
12971         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12972           Redo seek/tell calls with large file support in mind; add some
12973           debugging messages; add log message that tells us when large
12974           file support is unavailable or not enabled for some reason.
12975
12976         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12977           Add log message that tells us when large file support 
12978           is unavailable or not enabled for some reason.
12979
12980 2005-07-29  Wim Taymans  <wim@fluendo.com>
12981
12982         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12983         Added test for removing an element with ghostpad from a bin.
12984         Fixed test as current implementation does the right thing.
12985
12986         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12987         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12988         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12989         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12990         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12991         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12992         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12993         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12994         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12995         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12996         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12997         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12998         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12999         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13000         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13001         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13002         * gst/gstghostpad.h:
13003         Clean up ghostpads, remove properties for internal stuff.
13004         Make threadsafe.
13005         Fix refcounting.
13006         Prepare for switching targets, not all use cases work yet.
13007
13008 2005-07-29  Wim Taymans  <wim@fluendo.com>
13009
13010         * docs/design/part-gstghostpad.txt:
13011         Small update.
13012
13013         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13014         (gst_bin_remove_func):
13015         Unlinking pads while holding the bin LOCK is not a good
13016         idea.
13017
13018         * gst/gstpad.c: (gst_pad_class_init),
13019         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13020         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13021         No prob setting template after creating the pad.
13022
13023 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13024
13025         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13026         (gst_bus_peek), (gst_bus_source_dispatch),
13027         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13028         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13029           gst_bus_poll may be called from other threads. Handle
13030           this nicely by not making poll_data disappear off the
13031           stack once gst_bus_poll returns.
13032           gst_bus_peek now increments the refcount on the returned
13033           message.
13034
13035 2005-07-29  Wim Taymans  <wim@fluendo.com>
13036
13037         * docs/design/part-gstghostpad.txt:
13038         Overview of current GhostPad datastructures and use
13039         cases for changing the target.
13040
13041 2005-07-28  Wim Taymans  <wim@fluendo.com>
13042
13043         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13044         Added checks for hierarchy consistency whan adding linked
13045         elements to bins.
13046
13047         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13048         Added check to test element scheduling without bin/pipeline.
13049
13050         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13051         First add elements to bin, then link.
13052         
13053         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13054         (gst_bin_remove_func):
13055         Unlink pads from elements added/removed from bin to maintain
13056         hierarchy consistency.
13057
13058 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13059
13060         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13061         (gst_base_transform_handle_buffer):
13062         * gst/base/gstbasetransform.h:
13063           Remove broken delay_configure (fixes renegotiation of software
13064           scaling pipelines); remove some leftover printf()s.
13065
13066 2005-07-28  Wim Taymans  <wim@fluendo.com>
13067
13068         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13069         Added some more tests for wrong hierarchy
13070
13071         * docs/design/part-overview.txt:
13072         Some updates.
13073
13074         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13075         Cleanups.
13076
13077         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13078         (gst_element_dispose):
13079         Some more cleanups.
13080
13081         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13082         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13083         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13084         (gst_pad_set_caps), (gst_pad_send_event):
13085         Check for correct hierarchy when linking pads. Moving to
13086         strict requirement for ghostpads when linking elements in
13087         different bins.
13088
13089         * gst/gstpad.h:
13090         Clean ups. Added WRONG_HIERARCHY return value.
13091
13092 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13093
13094         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13095           Better debug if no transform is possible.
13096
13097 2005-07-27  Wim Taymans  <wim@fluendo.com>
13098
13099         * docs/random/wtay/network-transp:
13100         Some old doc I had.
13101
13102 2005-07-27  Wim Taymans  <wim@fluendo.com>
13103
13104         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13105         (gst_dp_event_from_packet):
13106         Fix serialization of seek events.
13107
13108 2005-07-27  Wim Taymans  <wim@fluendo.com>
13109
13110         * check/gst-libs/gdp.c: (GST_START_TEST):
13111         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13112         Fix compilation and fix event serialization.
13113
13114 2005-07-27  Wim Taymans  <wim@fluendo.com>
13115
13116         * CHANGES-0.9:
13117         * docs/design/part-TODO.txt:
13118         * docs/design/part-events.txt:
13119         Some docs updates
13120
13121         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13122         (gst_base_sink_event), (gst_base_sink_do_sync),
13123         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13124         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13125         (gst_base_src_do_seek), (gst_base_src_event_handler),
13126         (gst_base_src_loop):
13127         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13128         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13129         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13130         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13131         (gst_base_transform_set_passthrough),
13132         (gst_base_transform_is_passthrough):
13133         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13134         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13135         Event updates.
13136
13137         * gst/gstbuffer.h:
13138         Use faster casts.
13139
13140         * gst/gstelement.c: (gst_element_seek):
13141         * gst/gstelement.h:
13142         Update gst_element_seek.
13143
13144         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13145         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13146         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13147         (gst_event_new_eos), (gst_event_new_newsegment),
13148         (gst_event_parse_newsegment), (gst_event_new_tag),
13149         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13150         (gst_event_parse_qos), (gst_event_new_seek),
13151         (gst_event_parse_seek), (gst_event_new_navigation):
13152         * gst/gstevent.h:
13153         Make GstEvent use GstStructure. Add parsing code, make sure the
13154         API is sufficiently generic.
13155         Mark possible directions of events and serialization.
13156
13157         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13158         (_gst_message_copy), (gst_message_new_segment_start),
13159         (gst_message_new_segment_done), (gst_message_new_custom),
13160         (gst_message_parse_segment_start),
13161         (gst_message_parse_segment_done):
13162         Small cleanups.
13163
13164         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13165         (gst_pad_set_caps), (gst_pad_send_event):
13166         Update for new events. 
13167         Catch events sent in wrong directions.
13168
13169         * gst/gstqueue.c: (gst_queue_link_src),
13170         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13171         (gst_queue_handle_src_query):
13172         Event updates.
13173
13174         * gst/gsttag.c:
13175         * gst/gsttag.h:
13176         Remove event code from this file.
13177
13178         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13179         (gst_dp_event_from_packet):
13180         Event updates.
13181
13182 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13183
13184         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13185         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13186         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13187           Make debugging actually useful.
13188
13189 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13190
13191         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13192         (gst_pad_fixate_caps):
13193           Implement default fixation once again, so that gst_pad_fixate()
13194           actually does anything at all. This probably needs to be some
13195           sort of a last resort, and use profile-based fixation first, but
13196           since that doesn't exist yet, this is the best we have. Fixes
13197           visualization in Totem.
13198
13199 2005-07-22  Wim Taymans  <wim@fluendo.com>
13200
13201         * docs/design/part-events.txt:
13202         Small update.
13203
13204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13205         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13206         (gst_base_sink_activate_pull):
13207         Some more comments.
13208
13209         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13210         (gst_fake_src_create):
13211         Fix handoff marshall.
13212
13213         * gst/elements/gstidentity.c: (gst_identity_class_init),
13214         (gst_identity_transform_ip):
13215         We're a real inplace element.
13216
13217         * gst/gstbus.c: (gst_bus_post):
13218         Added some comments.
13219
13220         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13221         * tests/muxing/case1.c: (main):
13222         * tests/sched/dynamic-pipeline.c: (main):
13223         * tests/sched/interrupt1.c: (main):
13224         * tests/sched/interrupt2.c: (main):
13225         * tests/sched/interrupt3.c: (main):
13226         * tests/sched/runxml.c: (main):
13227         * tests/sched/sched-stress.c: (main):
13228         * tests/seeking/seeking1.c: (event_received), (main):
13229         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13230         (main):
13231         * tests/threadstate/threadstate3.c: (main):
13232         * tests/threadstate/threadstate4.c: (main):
13233         * tests/threadstate/threadstate5.c: (main):
13234         Fix the tests.
13235
13236 2005-07-21  Wim Taymans  <wim@fluendo.com>
13237
13238         * docs/design/part-seeking.txt:
13239         Some small additions.
13240
13241         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13242         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13243         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13244         * gst/base/gstbasesink.h:
13245         discont values are gint64, handle the math correctly.
13246
13247         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13248         Make the basesrc report error if the source pad is not linked.
13249
13250         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13251         (gst_queue_loop), (gst_queue_handle_src_query),
13252         (gst_queue_src_activate_push):
13253         Make queue collect data even if the srcpad is not linked.
13254         Start pushing out data as soon as it is linked.
13255
13256         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13257         * gst/gstutils.h:
13258         Added gst_flow_get_name() to ease error reporting.
13259
13260 2005-07-20  Wim Taymans  <wim@fluendo.com>
13261
13262         * gst/gstmessage.c: (gst_message_new_segment_start),
13263         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13264         (gst_message_parse_segment_done):
13265         * gst/gstmessage.h:
13266         Added a bunch of messages for advanced seeking.
13267
13268         * gst/parse/grammar.y:
13269         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13270         (gst_dpman_state_changed):
13271         Fix some new-pad -> pad-added signals
13272
13273 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13274
13275         * docs/manual/appendix-porting.xml:
13276         * docs/pwg/appendix-porting.xml:
13277           Document new-pad/state-change signal renames and the FixedList
13278           type rename.
13279
13280 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13281
13282         * docs/manual/advanced-autoplugging.xml:
13283         * docs/manual/basics-helloworld.xml:
13284         * docs/manual/basics-pads.xml:
13285         * docs/random/ds/0.9-suggested-changes:
13286         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13287         * gst/gstelement.h:
13288         * gst/gstevent.h:
13289         * gst/gstformat.h:
13290         * gst/gstquery.h:
13291         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13292         (gst_structure_parse_array), (gst_structure_parse_value):
13293         * gst/gstvalue.c: (gst_type_is_fixed),
13294         (gst_value_list_prepend_value), (gst_value_list_append_value),
13295         (gst_value_list_get_size), (gst_value_list_get_value),
13296         (gst_value_transform_array_string), (gst_value_serialize_array),
13297         (gst_value_deserialize_array), (gst_value_intersect_array),
13298         (gst_value_is_fixed), (_gst_value_initialize):
13299         * gst/gstvalue.h:
13300           GstElement::new-pad -> pad-added, GstElement::state-change ->
13301           state-changed, GstValueFixedList -> GstValueArray, add format and
13302           flags as their own arguments in gst_element_seek() (should improve
13303           "bindeability"), remove function generators since they don't work
13304           under a whole bunch of compilers (they were deprecated already
13305           anyway).
13306
13307 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13308
13309         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13310         (_gst_debug_register_funcptr):
13311         * gst/gstinfo.h:
13312           Fix illegal cast on some platforms (#309253).
13313
13314 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13315
13316         * gst/gstmessage.c: (gst_message_new_custom):
13317         * gst/gstmessage.h:
13318           Add _new_custom, make _new_application a macro to _new_custom.
13319
13320 2005-07-20  Wim Taymans  <wim@fluendo.com>
13321
13322         * gst/base/gstbasesrc.c: (gst_base_src_init),
13323         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13324         * gst/base/gstbasesrc.h:
13325         Add a gboolean to decide when to push out a discont.
13326
13327         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13328         (gst_queue_loop), (gst_queue_handle_src_query),
13329         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13330         (gst_queue_set_property), (gst_queue_get_property):
13331         Some cleanups.
13332
13333         * tests/threadstate/threadstate1.c: (main):
13334         Make a thread test compile and run... very silly..
13335
13336
13337 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13338
13339         * docs/manual/appendix-porting.xml:
13340           Mention removal of libgstgconf-0.9.la and existence of gconf
13341           elements.
13342
13343 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13344
13345         * docs/pwg/advanced-clock.xml:
13346         * docs/pwg/appendix-porting.xml:
13347         * docs/pwg/intro-preface.xml:
13348         * docs/pwg/other-base.xml:
13349         * docs/pwg/other-manager.xml:
13350         * docs/pwg/other-nton.xml:
13351         * docs/pwg/other-ntoone.xml:
13352         * docs/pwg/other-oneton.xml:
13353         * docs/pwg/pwg.xml:
13354           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13355           demuxer), remove n-to-n (was never written), fix some code examples
13356           and links and update the porting section to include all this.
13357
13358 2005-07-19  Wim Taymans  <wim@fluendo.com>
13359
13360         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13361         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13362         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13363         (gst_queue_src_activate_push), (gst_queue_change_state),
13364         (gst_queue_get_property):
13365         * gst/gstqueue.h:
13366         Propagate GstFlowReturn more intelligently upstream and output
13367         an ERROR/EOS when streaming stopped due to fatal error.
13368
13369 2005-07-19  Wim Taymans  <wim@fluendo.com>
13370
13371         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13372         Don't block forever for the state change to complete, the
13373         pipeline already did with a sensible timeout.
13374
13375 2005-07-19  Wim Taymans  <wim@fluendo.com>
13376
13377         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13378         Make sure we never call the create function is we
13379         got deactivated.
13380
13381 2005-07-19  Andy Wingo  <wingo@pobox.com>
13382
13383         * gst/parse/parse.l: Attempt to solve bug #172815.
13384
13385 2005-07-19  Wim Taymans  <wim@fluendo.com>
13386
13387         * docs/design/part-clocks.txt:
13388         * docs/design/part-events.txt:
13389         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13390         Small docs updates.
13391         Only update the seeking values when we are not
13392         busy streaming.
13393
13394 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13395
13396         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13397           Oops, ignore the result of gst_pad_push_event here.
13398
13399 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13400
13401         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13402         (gst_base_src_activate_push):
13403           Send discont event from the loop function, as pads
13404           aren't activated yet in the activate_push handler.
13405
13406         * gst/gstbin.c: (bin_bus_handler):
13407           Don't leak element name.
13408
13409 2005-07-18  Andy Wingo  <wingo@pobox.com>
13410
13411         * configure.ac: Use AS_LIBTOOL_TAGS.
13412
13413 2005-07-18  Wim Taymans  <wim@fluendo.com>
13414
13415         * docs/gst/gstreamer.types:
13416         Remove deleted types.
13417
13418 2005-07-18  Wim Taymans  <wim@fluendo.com>
13419
13420         * check/elements/gstfakesrc.c: (GST_START_TEST):
13421         * configure.ac:
13422         * gst/Makefile.am:
13423         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13424         (init_popt_callback):
13425         * gst/gst.h:
13426         * gst/gst_private.h:
13427         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13428         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13429         * gst/gstbin.h:
13430         * gst/gstbus.h:
13431         * gst/gstconfig.h.in:
13432         * gst/gstelement.c: (gst_element_class_init),
13433         (gst_element_set_base_time), (gst_element_get_base_time),
13434         (iterator_fold_with_resync), (gst_element_change_state),
13435         (gst_element_dispose), (gst_element_get_bus):
13436         * gst/gstelement.h:
13437         * gst/gstelementfactory.h:
13438         * gst/gsterror.c: (_gst_core_errors_init):
13439         * gst/gsterror.h:
13440         * gst/gstevent.h:
13441         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13442         * gst/gstindex.c:
13443         * gst/gstinfo.c: (_gst_debug_init):
13444         * gst/gstmessage.c: (_gst_message_copy):
13445         * gst/gstmessage.h:
13446         * gst/gstminiobject.h:
13447         * gst/gstobject.c:
13448         * gst/gstobject.h:
13449         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13450         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13451         * gst/gstpad.h:
13452         * gst/gstparse.h:
13453         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13454         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13455         (gst_pipeline_get_last_stream_time):
13456         * gst/gstpipeline.h:
13457         * gst/gstpluginfeature.h:
13458         * gst/gstquery.h:
13459         * gst/gstscheduler.c:
13460         * gst/gstscheduler.h:
13461         * gst/gststructure.h:
13462         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13463         (gst_task_finalize), (gst_task_func), (gst_task_create),
13464         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13465         (gst_task_stop), (gst_task_pause):
13466         * gst/gsttask.h:
13467         * gst/gsttypefind.h:
13468         * gst/gsttypes.h:
13469         * gst/registries/gstlibxmlregistry.c: (load_feature),
13470         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13471         * gst/registries/gstxmlregistry.c:
13472         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13473         * gst/schedulers/threadscheduler.c:
13474         * libs/gst/control/dparammanager.h:
13475         * tools/gst-inspect.c: (print_element_list),
13476         (print_plugin_features), (print_element_features):
13477         * tools/gst-xmlinspect.c: (print_element_list),
13478         (print_plugin_info), (main):
13479         Removed plugable schedulers.
13480         Removed Scheduler/Manager from elements.
13481         Removed gsttypes.h, rearranged includes.
13482         Removed dependency pad<->element, element<>pipeline, and
13483         various others,  fix includes.
13484         implement gst_pad_get_parent() with gst_object_get_parent()
13485         Make GstTask sefcontained.
13486         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13487         timeout.
13488         Fix endless loop in iterator_fold_with_resync.
13489
13490
13491 2005-07-18  Wim Taymans  <wim@fluendo.com>
13492
13493         * gst/Makefile.am:
13494         * gst/gstarch.h:
13495         Remove old file.
13496
13497 2005-07-18  Wim Taymans  <wim@fluendo.com>
13498
13499         * gst/Makefile.am:
13500         No more cothreads.h
13501
13502 2005-07-18  Wim Taymans  <wim@fluendo.com>
13503
13504         * gst/cothreads.c:
13505         * gst/cothreads.h:
13506         Let's remove these.
13507
13508 2005-07-18  Wim Taymans  <wim@fluendo.com>
13509
13510         * docs/design/part-dynamic.txt:
13511         * docs/design/part-events.txt:
13512         * docs/design/part-seeking.txt:
13513         Some more docs in the works.
13514
13515         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13516         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13517         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13518         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13519         (gst_base_transform_handle_buffer),
13520         (gst_base_transform_sink_activate_push),
13521         (gst_base_transform_src_activate_pull),
13522         (gst_base_transform_set_passthrough),
13523         (gst_base_transform_is_passthrough):
13524         Refcounting fixes.
13525
13526         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13527         Cleanups.
13528
13529         * gst/gstevent.c: (gst_event_finalize):
13530         Set SRC to NULL.
13531
13532         * gst/gstutils.c: (gst_element_unlink),
13533         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13534         (gst_pad_proxy_setcaps):
13535         * gst/gstutils.h:
13536         Add _get_parent_element() to get a pads parent as an element.
13537
13538 2005-07-18  Wim Taymans  <wim@fluendo.com>
13539
13540         * check/gst/gstbin.c: (GST_START_TEST):
13541         Remove bogus test.
13542
13543 2005-07-18  Wim Taymans  <wim@fluendo.com>
13544
13545         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13546         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13547         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13548         (gst_base_sink_event), (gst_base_sink_do_sync),
13549         (gst_base_sink_chain), (gst_base_sink_loop),
13550         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13551         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13552         Refcounting fixes.
13553         Fix logic for returning ASYNC when not prerolled.
13554
13555 2005-07-18  Wim Taymans  <wim@fluendo.com>
13556
13557         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13558         Fix nasty refcount bug.
13559
13560 2005-07-16 Philippe Khalaf <burger@speedy.org>
13561
13562         * gst/elements/gstfdsrc.c:
13563         * gst/elements/gstfdsrc.h:
13564         * gst/elements/gstelements.c:
13565         * gst/elements/Makefile.am:
13566         Ported fdsrc to 0.9.
13567
13568 2005-07-16  Wim Taymans  <wim@fluendo.com>
13569
13570         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13571         (gst_base_sink_do_sync):
13572         Fix compile error.
13573
13574 2005-07-16  Wim Taymans  <wim@fluendo.com>
13575
13576         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13577         (gst_base_sink_event), (gst_base_sink_get_times),
13578         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13579         * gst/base/gstbasesink.h:
13580         Store and use discont values when syncing buffers as described
13581         in design docs.
13582         
13583         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13584         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13585         (gst_base_src_activate_push):
13586         Push discont event when starting.
13587
13588         * gst/elements/gstidentity.c: (gst_identity_transform):
13589         Small cleanups.
13590
13591         * gst/gstbin.c: (gst_bin_change_state):
13592         Small cleanups in base_time  distribution.
13593
13594         * gst/gstelement.c: (gst_element_set_base_time),
13595         (gst_element_get_base_time), (gst_element_change_state):
13596         * gst/gstelement.h:
13597         Added methods for the base_time of the element.
13598         Some MT fixes.
13599
13600         * gst/gstpipeline.c: (gst_pipeline_send_event),
13601         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13602         (gst_pipeline_get_last_stream_time):
13603         * gst/gstpipeline.h:
13604         MT fixes.
13605         Handle seeking as described in design doc, remove stream_time
13606         hack.
13607         Cleanups clock and stream_time selection code. Added accessors
13608         for the stream_time.
13609         
13610
13611 2005-07-16  Andy Wingo  <wingo@pobox.com>
13612
13613         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13614         (#305291).
13615
13616 2005-07-16  Wim Taymans  <wim@fluendo.com>
13617
13618         * check/gst/gstbin.c: (GST_START_TEST):
13619         Make elements silent as the deep_notify refs the
13620         parent, which might make the test fail.
13621
13622         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13623         Don't hold the lock for too long.
13624
13625 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13626
13627         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13628           Don't unref the caps we passed to gst_caps_make_writable() after
13629           passing them. gst_caps_make_writable() will do that for us.
13630
13631 2005-07-15  Andy Wingo  <wingo@pobox.com>
13632
13633         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13634         (#157311).
13635
13636         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13637         own marshalling function for the handoff signal. Properly type the
13638         buffer as a buffer. Fixes some warnings. Should do a more general
13639         solution.
13640         (gst_identity_class_init): Plug into the right marshaller.
13641
13642 2005-07-15  Wim Taymans  <wim@fluendo.com>
13643
13644         * docs/design/part-TODO.txt:
13645         * docs/design/part-clocks.txt:
13646         * docs/design/part-element-sink.txt:
13647         * docs/design/part-events.txt:
13648         * docs/design/part-gstpipeline.txt:
13649         Updated docs, mostly DISCONT related.
13650
13651 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13652
13653         * docs/pwg/building-pads.xml:
13654           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13655
13656 2005-07-15  Andy Wingo  <wingo@pobox.com>
13657
13658         * tools/gst-typefind.c: Update, add copyright block.
13659
13660         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13661         Normalize and truncate caps before fixation.
13662
13663         * gst/gstcaps.h:
13664         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13665         discards all but the first structure from its argument.
13666
13667 2005-07-15  Wim Taymans  <wim@fluendo.com>
13668
13669         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13670         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13671         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13672         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13673         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13674         (gst_base_transform_chain), (gst_base_transform_change_state),
13675         (gst_base_transform_set_passthrough),
13676         (gst_base_transform_is_passthrough):
13677         * gst/base/gstbasetransform.h:
13678         Make passthrough work using the bufferpools.
13679         Changed API a bit, subclasses have to write into a buffer
13680         provided by the base class.
13681         More debug info in nego functions.
13682         
13683         * gst/elements/gstidentity.c: (gst_identity_init),
13684         (gst_identity_transform):
13685         Port to new base class.
13686
13687 2005-07-15  Wim Taymans  <wim@fluendo.com>
13688
13689         * gst/gstmessage.c: (gst_message_new_state_changed):
13690         * tools/gst-launch.c: (event_loop), (main):
13691         Totally dump messages in -launch with the -m option.
13692         Fix message name for State messages,
13693
13694 2005-07-14  Wim Taymans  <wim@fluendo.com>
13695
13696         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13697         Post error messages on errors.
13698
13699 2005-07-14  Wim Taymans  <wim@fluendo.com>
13700
13701         * gst/gstcaps.c: (gst_caps_do_simplify):
13702         Remove debug info.
13703
13704         * gst/gsterror.h:
13705         Define error for stream stopped.
13706
13707         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13708         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13709         Do proper return values.
13710
13711         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13712         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13713         (gst_pad_get_range):
13714         Better return values.
13715
13716         * gst/gstpad.h:
13717         Reorganise return values, add macro to check for fatal errors.
13718
13719         * gst/gstqueue.c: (gst_queue_chain):
13720         Return proper GstFlowReturn values,
13721
13722 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13723
13724         * docs/gst/gstreamer-sections.txt:
13725         * docs/gst/gstreamer.types:
13726         * docs/gst/tmpl/gst.sgml:
13727         * docs/gst/tmpl/gstbasesink.sgml:
13728         * docs/gst/tmpl/gstbasesrc.sgml:
13729         * docs/gst/tmpl/gstbasetransform.sgml:
13730         * docs/gst/tmpl/gstbin.sgml:
13731         * docs/gst/tmpl/gstbuffer.sgml:
13732         * docs/gst/tmpl/gstcaps.sgml:
13733         * docs/gst/tmpl/gstclock.sgml:
13734         * docs/gst/tmpl/gstcompat.sgml:
13735         * docs/gst/tmpl/gstconfig.sgml:
13736         * docs/gst/tmpl/gstelement.sgml:
13737         * docs/gst/tmpl/gstelementdetails.sgml:
13738         * docs/gst/tmpl/gstelementfactory.sgml:
13739         * docs/gst/tmpl/gstenumtypes.sgml:
13740         * docs/gst/tmpl/gsterror.sgml:
13741         * docs/gst/tmpl/gstevent.sgml:
13742         * docs/gst/tmpl/gstfakesink.sgml:
13743         * docs/gst/tmpl/gstfakesrc.sgml:
13744         * docs/gst/tmpl/gstfilesink.sgml:
13745         * docs/gst/tmpl/gstfilesrc.sgml:
13746         * docs/gst/tmpl/gstfilter.sgml:
13747         * docs/gst/tmpl/gstformat.sgml:
13748         * docs/gst/tmpl/gstghostpad.sgml:
13749         * docs/gst/tmpl/gstimplementsinterface.sgml:
13750         * docs/gst/tmpl/gstindex.sgml:
13751         * docs/gst/tmpl/gstindexfactory.sgml:
13752         * docs/gst/tmpl/gstinfo.sgml:
13753         * docs/gst/tmpl/gstiterator.sgml:
13754         * docs/gst/tmpl/gstmacros.sgml:
13755         * docs/gst/tmpl/gstmemchunk.sgml:
13756         * docs/gst/tmpl/gstminiobject.sgml:
13757         * docs/gst/tmpl/gstobject.sgml:
13758         * docs/gst/tmpl/gstpad.sgml:
13759         * docs/gst/tmpl/gstpadtemplate.sgml:
13760         * docs/gst/tmpl/gstparse.sgml:
13761         * docs/gst/tmpl/gstpipeline.sgml:
13762         * docs/gst/tmpl/gstplugin.sgml:
13763         * docs/gst/tmpl/gstpluginfeature.sgml:
13764         * docs/gst/tmpl/gstquery.sgml:
13765         * docs/gst/tmpl/gstqueue.sgml:
13766         * docs/gst/tmpl/gstregistry.sgml:
13767         * docs/gst/tmpl/gstregistrypool.sgml:
13768         * docs/gst/tmpl/gstscheduler.sgml:
13769         * docs/gst/tmpl/gstschedulerfactory.sgml:
13770         * docs/gst/tmpl/gststructure.sgml:
13771         * docs/gst/tmpl/gstsystemclock.sgml:
13772         * docs/gst/tmpl/gsttaglist.sgml:
13773         * docs/gst/tmpl/gsttagsetter.sgml:
13774         * docs/gst/tmpl/gsttrace.sgml:
13775         * docs/gst/tmpl/gsttrashstack.sgml:
13776         * docs/gst/tmpl/gsttypefind.sgml:
13777         * docs/gst/tmpl/gsttypefindfactory.sgml:
13778         * docs/gst/tmpl/gsttypes.sgml:
13779         * docs/gst/tmpl/gsturihandler.sgml:
13780         * docs/gst/tmpl/gsturitype.sgml:
13781         * docs/gst/tmpl/gstutils.sgml:
13782         * docs/gst/tmpl/gstvalue.sgml:
13783         * docs/gst/tmpl/gstversion.sgml:
13784         * docs/gst/tmpl/gstxml.sgml:
13785         * docs/libs/tmpl/gstcontrol.sgml:
13786         * docs/libs/tmpl/gstdataprotocol.sgml:
13787         * docs/libs/tmpl/gstdparam.sgml:
13788         * docs/libs/tmpl/gstdplinint.sgml:
13789         * docs/libs/tmpl/gstdpman.sgml:
13790         * docs/libs/tmpl/gstdpsmooth.sgml:
13791         * docs/libs/tmpl/gstgetbits.sgml:
13792         * docs/libs/tmpl/gstunitconvert.sgml:
13793         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13794         (gst_push_src_base_init), (gst_push_src_class_init),
13795         (gst_push_src_init), (gst_push_src_create):
13796         * gst/base/gstpushsrc.h:
13797         * gst/elements/gstelements.c:
13798         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13799         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13800         (gst_fake_sink_init), (gst_fake_sink_set_property),
13801         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13802         (gst_fake_sink_event), (gst_fake_sink_preroll),
13803         (gst_fake_sink_render), (gst_fake_sink_change_state):
13804         * gst/elements/gstfakesink.h:
13805         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13806         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13807         (gst_fake_src_base_init), (gst_fake_src_class_init),
13808         (gst_fake_src_init), (gst_fake_src_event_handler),
13809         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13810         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13811         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13812         (gst_fake_src_create_buffer), (gst_fake_src_create),
13813         (gst_fake_src_start), (gst_fake_src_stop):
13814         * gst/elements/gstfakesrc.h:
13815         * gst/elements/gstfilesink.c: (_do_init),
13816         (gst_file_sink_base_init), (gst_file_sink_class_init),
13817         (gst_file_sink_init), (gst_file_sink_dispose),
13818         (gst_file_sink_set_location), (gst_file_sink_set_property),
13819         (gst_file_sink_get_property), (gst_file_sink_open_file),
13820         (gst_file_sink_close_file), (gst_file_sink_query),
13821         (gst_file_sink_event), (gst_file_sink_render),
13822         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13823         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13824         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13825         * gst/elements/gstfilesink.h:
13826         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13827         (gst_file_src_class_init), (gst_file_src_init),
13828         (gst_file_src_finalize), (gst_file_src_set_location),
13829         (gst_file_src_set_property), (gst_file_src_get_property),
13830         (gst_file_src_map_region), (gst_file_src_map_small_region),
13831         (gst_file_src_create_mmap), (gst_file_src_create_read),
13832         (gst_file_src_create), (gst_file_src_is_seekable),
13833         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13834         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13835         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13836         (gst_file_src_uri_handler_init):
13837         * gst/elements/gstfilesrc.h:
13838           more autistic cleanliness in functions/names/defines
13839
13840 2005-07-13  Andy Wingo  <wingo@pobox.com>
13841
13842         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13843         source couldn't negotiate.
13844
13845         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13846         connections again.
13847
13848         * gst/gstutils.h:
13849         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13850         function. I am channeling Hades. Put your boots on suckers!!!
13851
13852 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13853
13854         * testsuite/caps/Makefile.am:
13855         * testsuite/caps/value_compare.c:
13856         * testsuite/caps/value_intersect.c:
13857         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13858           move two testsuite apps over to the check dir
13859
13860 2005-07-12  Wim Taymans  <wim@fluendo.com>
13861
13862         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13863         Added more debug info in the negotiate process.
13864
13865         * gst/gstmessage.h:
13866         Prepare for segment playback.
13867
13868         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13869         Better debugging.
13870
13871         * gst/gstutils.c:
13872         Some more docs.
13873
13874         * tools/gst-launch.c: (main):
13875         NULL pipeline on errors.
13876
13877 2005-07-12  Andy Wingo  <wingo@pobox.com>
13878
13879         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13880         not it comes from a malloc region. Make sure our copy gets freed.
13881
13882 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13883
13884         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13885         * check/gst/gstmessage.c: (GST_START_TEST):
13886         * check/gst/gststructure.c: (GST_START_TEST),
13887         (gst_structure_suite), (main):
13888           more testing
13889         * gst/gstelement.c: (gst_element_message_full):
13890           clean up GError and debug string now that they get copied
13891         * gst/gstmessage.c: (gst_message_new_error),
13892         (gst_message_new_warning), (gst_message_parse_error),
13893         (gst_message_parse_warning):
13894           use GST_TYPE_G_ERROR for structure_new, and take copies of
13895           arguments, so that we don't mess up refcounting
13896
13897 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13898
13899         * check/Makefile.am:
13900           add per-test valgrind targets
13901         * check/gst-libs/gdp.c: (GST_START_TEST),
13902         (gst_data_protocol_suite), (main):
13903           clean up
13904
13905 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13906
13907         * check/Makefile.am:
13908           instate more valgrindable tests
13909         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13910         (GST_START_TEST), (fakesrc_suite):
13911         * check/gst/gstpad.c: (GST_START_TEST):
13912         * check/gst/gststructure.c: (GST_START_TEST):
13913           fix test leaks
13914         * docs/gst/tmpl/gstminiobject.sgml:
13915         * gst/gstpad.c: (gst_pad_finalize):
13916           fix the static mutex leak
13917
13918 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13919
13920         * check/Makefile.am:
13921           add two more tests for valgrinding
13922         * check/gst/gstvalue.c: (GST_START_TEST):
13923           test refcount of deserialized buffer, found a leak
13924         * docs/gst/gstreamer-docs.sgml:
13925         * docs/gst/gstreamer-sections.txt:
13926         * docs/gst/gstreamer.types:
13927         * docs/gst/tmpl/gstminiobject.sgml:
13928           add miniobject to docs
13929         * gst/gstminiobject.c:
13930           add some docs
13931         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13932         (gst_string_unwrap):
13933           fix a hard-to-find invalid write for one of the tests
13934           fix a leak for deserialized buffers
13935
13936 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13937
13938         * docs/pwg/advanced-events.xml:
13939         * docs/pwg/advanced-request.xml:
13940         * docs/pwg/advanced-scheduling.xml:
13941         * docs/pwg/appendix-porting.xml:
13942         * docs/pwg/building-boiler.xml:
13943         * docs/pwg/intro-preface.xml:
13944         * docs/pwg/other-ntoone.xml:
13945           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13946           of example code and explanation for pad activation, loop() and
13947           getrange() functions and a bit more. Remove old comments pointing
13948           to loop-functions.
13949         * examples/pwg/Makefile.am:
13950           Add loop/getrange examples.
13951
13952 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13953
13954         * configure.ac:
13955           check for valgrind binary + some fixes
13956         * check/gst.supp:
13957           valgrind suppressions for the tests
13958         * check/Makefile.am:
13959           add a valgrind: target that valgrinds the unit tests
13960         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13961         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13962         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13963         * check/gst/gstghostpad.c:
13964           added some cleanup
13965         * check/gst/gstdata.c:
13966           removed
13967         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13968         (thread_unref), (gst_mini_object_suite), (main):
13969           added
13970         * gst/gst.c: (gst_deinit):
13971         * gst/gst.h:
13972           add a method to clean up.
13973         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13974         (gst_system_clock_obtain):
13975           allow for disposing the system clock.
13976         * tools/gst-launch.c: (main):
13977           deinit
13978
13979 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13980
13981         * docs/gst/tmpl/gstbasesrc.sgml:
13982         * docs/gst/tmpl/gstfakesrc.sgml:
13983         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13984         (gst_base_src_init), (gst_base_src_set_property),
13985         (gst_base_src_get_property), (gst_base_src_get_range),
13986         (gst_base_src_start):
13987         * gst/base/gstbasesrc.h:
13988           add num-buffers property
13989         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13990         (gst_fakesrc_init), (gst_fakesrc_set_property),
13991         (gst_fakesrc_get_property), (gst_fakesrc_create),
13992         (gst_fakesrc_start):
13993           remove num-buffers property
13994
13995 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13996
13997         * docs/gst/gstreamer-sections.txt:
13998         * docs/gst/tmpl/gstbasesink.sgml:
13999         * docs/gst/tmpl/gstbasesrc.sgml:
14000         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14001         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14002         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14003         (gst_base_sink_set_property), (gst_base_sink_get_property),
14004         (gst_base_sink_handle_object), (gst_base_sink_event),
14005         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14006         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14007         (gst_base_sink_loop), (gst_base_sink_deactivate),
14008         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14009         (gst_base_sink_change_state):
14010         * gst/base/gstbasesink.h:
14011         * gst/base/gstbasesrc.h:
14012         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14013         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14014         (gst_filesink_init):
14015           more macro splitting
14016
14017 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14018
14019         * gst/gstelement.c: (gst_element_get_bus):
14020           add debug
14021         * tools/gst-launch.c: (check_intr), (event_loop):
14022           fix bus leaks
14023
14024 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14025
14026         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14027           fix a caps leak
14028
14029 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14030
14031         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14032         (gst_base_src_finalize):
14033           add finalize method and clean up properly
14034         * gst/gstpipeline.c: (gst_pipeline_dispose):
14035           add debug
14036
14037 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14038
14039         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14040         (gst_bin_suite):
14041           add more things to check
14042         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14043         * gst/gstelement.c:
14044           more debug
14045
14046 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14047
14048         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14049         (GST_START_TEST), (fakesrc_suite):
14050         * check/gst-libs/gdp.c: (GST_START_TEST):
14051         * check/gst/gst.c: (GST_START_TEST):
14052         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14053         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14054         * check/gst/gstbus.c: (GST_START_TEST):
14055         * check/gst/gstcaps.c: (GST_START_TEST):
14056         * check/gst/gstdata.c: (GST_START_TEST):
14057         * check/gst/gstelement.c: (GST_START_TEST):
14058         * check/gst/gstghostpad.c: (GST_START_TEST):
14059         * check/gst/gstiterator.c: (GST_START_TEST):
14060         * check/gst/gstmessage.c: (GST_START_TEST):
14061         * check/gst/gstobject.c: (GST_START_TEST):
14062         * check/gst/gstpad.c: (GST_START_TEST):
14063         * check/gst/gststructure.c: (GST_START_TEST):
14064         * check/gst/gstsystemclock.c: (GST_START_TEST),
14065         (gst_systemclock_suite):
14066         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14067         * check/gst/gstvalue.c: (GST_START_TEST):
14068         * check/pipelines/cleanup.c: (GST_START_TEST):
14069         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14070         * check/states/sinks.c: (GST_START_TEST):
14071         * check/gstcheck.c: (gst_check_init):
14072         * check/gstcheck.h:
14073           add debugging category
14074           use GST_START_TEST now, so we add a debug line
14075
14076 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14077
14078         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14079           add test for state change message on a bin
14080         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14081           add another test
14082         * gst/gstbin.c: (gst_bin_init):
14083         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14084         * gst/gstelement.c: (gst_element_post_message),
14085         (gst_element_set_state):
14086         * gst/gstelementfactory.c: (gst_element_factory_create):
14087         * gst/gstmessage.c: (gst_message_new):
14088         * gst/gstscheduler.c:
14089           various debugging additions and cleanups
14090
14091 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14092
14093         * check/Makefile.am:
14094         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14095         (main):
14096           adding tests for elements
14097         * gst/gstelement.c: (gst_element_dispose):
14098
14099 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14100
14101         * gst/registries/gstlibxmlregistry.c: (load_feature):
14102           plug more leaks.  A simple gst_init() now is leakfree, yay.
14103
14104 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14105
14106         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14107         (gst_xml_registry_load):
14108           plug another memleak
14109
14110 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14111
14112         * configure.ac:
14113           use GST_SET_ERROR_CFLAGS
14114         * docs/faq/cvs.xml:
14115           change to ERROR_CFLAGS
14116
14117 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14118
14119         * configure.ac:
14120           make GST_ERROR_CFLAGS overridable and re-enable Werror
14121         * docs/faq/cvs.xml:
14122           add a note about error CFLAGS
14123         * docs/gst/tmpl/gstfakesrc.sgml:
14124         * gst/elements/gstfakesrc.c:
14125           comment out some unused code
14126         * gst/gst.c: (split_and_iterate):
14127         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14128         (load_feature):
14129           plug some memleaks
14130
14131 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14132
14133         * common/Makefile.am:
14134         * common/gtk-doc.mak:
14135         * docs/gst/Makefile.am:
14136           factor out gtk-doc.mak
14137
14138 2005-07-07  Wim Taymans  <wim@fluendo.com>
14139
14140         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14141         (gst_thread_scheduler_dispose):
14142         Unlock the STREAM_LOCK completely.
14143
14144 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14145
14146         * check/Makefile.am:
14147         * check/elements/.cvsignore:
14148         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14149         (START_TEST), (fakesrc_suite), (main):
14150         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14151         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14152         (gst_fakesrc_create), (gst_fakesrc_start):
14153         * gst/elements/gstfakesrc.h:
14154           adding a first element test
14155
14156 2005-07-07  Andy Wingo  <wingo@pobox.com>
14157
14158         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14159         debug message.
14160
14161 2005-07-07  Wim Taymans  <wim@fluendo.com>
14162
14163         * gst/gstquery.c:
14164         * gst/gstquery.h:
14165         Remove old types
14166
14167 2005-07-07  Wim Taymans  <wim@fluendo.com>
14168
14169         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14170         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14171         Allow subclasses to implement their own negotiation.
14172
14173 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14174
14175         * docs/design/part-gstbin.txt:
14176         * docs/design/part-gstpipeline.txt:
14177           Update design notes to reflect the movement of
14178           responsibility for bus handling from GstPipeline to
14179           GstBin
14180
14181 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14182
14183         * configure.ac:
14184           Remove unnecessary queue2/3/4 examples.
14185
14186 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14187
14188         * examples/Makefile.am:
14189         * examples/helloworld/helloworld.c: (event_loop), (main):
14190         * examples/queue/queue.c: (event_loop), (main):
14191         * examples/queue2/queue2.c: (main):
14192           Update a couple of the examples to work again.
14193
14194         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14195         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14196          Spelling corrections and extra debug.
14197         
14198         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14199         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14200         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14201         * gst/gstbin.h:
14202         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14203         (gst_pipeline_change_state):
14204         * gst/gstpipeline.h:
14205           Move the bus handler for children to the GstBin, and create a
14206           separate bus for receiving messages from children to the one the
14207           bus sends 'upwards' on.
14208
14209 2005-07-06  Wim Taymans  <wim@fluendo.com>
14210
14211         * gst/base/README:
14212         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14213         (gst_base_sink_handle_object), (gst_base_sink_loop),
14214         (gst_base_sink_change_state):
14215         * gst/base/gstbasesink.h:
14216         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14217         (gst_base_src_init), (gst_base_src_setcaps),
14218         (gst_base_src_getcaps), (gst_base_src_loop),
14219         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14220         (gst_base_src_start), (gst_base_src_change_state):
14221         * gst/base/gstbasesrc.h:
14222         Make basesrc negotiate.
14223         Handle the case where preroll fails in basesink.
14224         Update README.
14225
14226 2005-07-06  Wim Taymans  <wim@fluendo.com>
14227
14228         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14229         Implement the fixate function.
14230         Clean up acceptcaps.
14231
14232 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14233
14234         * docs/pwg/building-filterfactory.xml:
14235         * docs/pwg/pwg.xml:
14236           Remove never-written filter-factory chapter; I'll add the various
14237           base classes to part 4 ("other element types") later on.
14238
14239 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14240
14241         * docs/pwg/advanced-negotiation.xml:
14242         * docs/pwg/building-boiler.xml:
14243         * docs/pwg/building-pads.xml:
14244         * docs/pwg/pwg.xml:
14245         * examples/pwg/Makefile.am:
14246           Add a chapter on caps negotiation, simplify the original code
14247           samples a bit w.r.t. caps negotiation, add link to the advanced
14248           section. Add a bunch of examples showing different use cases of
14249           different types of caps negotiation. Upstream renegotiation isn't
14250           fully documented yet since nobody knows how that works.
14251
14252 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14253
14254         * check/gst/gstpad.c:
14255         * check/gstcheck.c:
14256         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14257           if pad has no parent, return NULL as list of internal links
14258
14259 2005-07-05  Andy Wingo  <wingo@pobox.com>
14260
14261         * gst/elements/gstfilesrc.c:
14262         * gst/elements/gstfakesrc.c: 
14263         * gst/base/gstpushsrc.c:
14264         * gst/base/gstbasesrc.h: 
14265         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14266         
14267 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14268
14269         * Makefile.am:
14270           better report generation target (lcov needs a patch)
14271
14272 2005-07-05  Andy Wingo  <wingo@pobox.com>
14273
14274         * gst/elements, testsuite: Null if we got it...
14275
14276 2005-07-05  Wim Taymans  <wim@fluendo.com>
14277
14278         * configure.ac:
14279         * libs/gst/dataprotocol/Makefile.am:
14280         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14281         * libs/gst/dataprotocol/dataprotocol.h:
14282         * pkgconfig/Makefile.am:
14283         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14284         * pkgconfig/gstreamer-dataprotocol.pc.in:
14285         Ported dataprotol to 0.9. 
14286         Added pkgconfig files.
14287
14288 2005-07-05  Andy Wingo  <wingo@pobox.com>
14289
14290         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14291         Default to returning TRUE for the case when tranform_caps returns
14292         a fixed caps, like for identity or volume.
14293
14294         * check/gst/gstbus.c (pound_bus_with_messages): 
14295         * check/gst/gstmessage.c (START_TEST): 
14296         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14297         message API change.
14298
14299         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14300         logic weaks here: always run transform_caps, trying passthrough
14301         operation only if the original caps intersects with the transform.
14302
14303         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14304         source and sink caps.
14305
14306         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14307         Intersect the peer caps with the pad template before going into
14308         transform_caps.
14309         (gst_base_transform_transform_caps): More debugging.
14310
14311         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14312         src argument.
14313
14314 2005-07-04  Edward Hervey  <edward@fluendo.com>
14315
14316         * gst/gstutils.c:
14317         * gst/gstutils.h:
14318         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14319         in bindings.
14320
14321 2005-07-04  Andy Wingo  <wingo@pobox.com>
14322
14323         * check/gst/gstpad.c: Only set explicit caps on pads.
14324
14325 2005-07-01  Andy Wingo  <wingo@pobox.com>
14326
14327         * tests/network-clock.scm: Commentary update.
14328
14329         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14330         Didn't really make sense, not implementable with basetransform,
14331         etc.
14332         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14333         attempt at implementing the sync property, needs an unlock method.
14334
14335         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14336         New func, by default returns the same caps (the identity
14337         transformation).
14338         (gst_base_transform_getcaps): Uses transform_caps to return
14339         something sensible.
14340         (gst_base_transform_setcaps): Complicated logic to get caps on
14341         both pads, even if they are different, and to call set_caps once
14342         for every time both pads get their caps set.
14343         (gst_base_transform_handle_buffer): Give the ref to the transform
14344         function. Allows in-place modification of the buffer.
14345
14346         * gst/base/gstbasetransform.h (transform_caps): New class method.
14347         Given caps on one side, what can I do on the other.
14348         (set_caps): Take two caps, one for each side of the element.
14349
14350         * gst/gstpad.h:
14351         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14352         caps in place. This is safe because we can check the mutability of
14353         the caps, and a good idea because fixate functions are just called
14354         as a matter of last resort. (Not actually implemented.)
14355         (gst_pad_set_caps): If the caps we're setting is actually the same
14356         as the existing pad caps, just update the pointer without calling
14357         setcaps. Assert that caps is either NULL or fixed, as per the
14358         docs.
14359
14360         * gst/gstghostpad.c: Update for fixate changes.
14361
14362 2005-07-02  Andy Wingo  <wingo@pobox.com>
14363
14364         * gst/gstcaps.c:
14365         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14366         two refcounts makes it immutable, which is enough. Doc more.
14367
14368 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14369
14370         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14371           Put the mini_object into GValue as a mini_object,
14372           not a gpointer, since that's how we declared
14373           the signal.
14374
14375 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14376
14377         * examples/pwg/Makefile.am:
14378           Fix buildbot again.
14379
14380 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14381
14382         * docs/pwg/building-testapp.xml:
14383           Add extra check.
14384         * examples/pwg/Makefile.am:
14385           Fix buildbot.
14386
14387 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14388
14389         * configure.ac:
14390         * examples/Makefile.am:
14391         * examples/pwg/Makefile.am:
14392         * examples/pwg/extract.pl:
14393           Enable building the PWG examples.
14394         * docs/pwg/advanced-interfaces.xml:
14395           Add URI interface stub.
14396         * docs/pwg/advanced-types.xml:
14397         * docs/pwg/other-autoplugger.xml:
14398         * docs/pwg/appendix-porting.xml:
14399         * docs/pwg/pwg.xml:
14400           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14401         * docs/pwg/building-boiler.xml:
14402         * docs/pwg/building-chainfn.xml:
14403         * docs/pwg/building-pads.xml:
14404         * docs/pwg/building-props.xml:
14405         * docs/pwg/building-state.xml:
14406         * docs/pwg/building-testapp.xml:
14407           Update the building-*.xml parts for 0.9 changes. All examples
14408           code blocks compile in examples/pwg/*.
14409
14410 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14411
14412         * docs/manual/advanced-autoplugging.xml:
14413         * docs/manual/appendix-checklist.xml:
14414         * docs/manual/appendix-integration.xml:
14415         * docs/manual/highlevel-components.xml:
14416           Fix playbin/decodebin examples, update docs a bit, mention bus
14417           instead of signals in various places, mention kmplayer and
14418           kaffeine since they have a working GStreamer backend in the KDE
14419           section.
14420
14421 2005-06-30  Wim Taymans  <wim@fluendo.com>
14422
14423         * CHANGES-0.9:
14424         * docs/design/draft-ghostpads.txt:
14425         * docs/design/draft-push-pull.txt:
14426         * docs/design/draft-query.txt:
14427         * docs/design/part-TODO.txt:
14428         * docs/design/part-query.txt:
14429         Added CHANGES-0.9 doc, updated status of other docs.
14430         
14431         * gst/gstquery.h:
14432         Remove "hmm" macro
14433
14434 2005-06-30  Wim Taymans  <wim@fluendo.com>
14435
14436         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14437         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14438         (gst_base_sink_change_state):
14439         * gst/base/gstbasesink.h:
14440         Some tweaks, only EOS and a buffer complete a preroll.
14441
14442 2005-06-30  Andy Wingo  <wingo@pobox.com>
14443
14444         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14445         activate_push down to the internal pad as well.
14446
14447 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14448
14449         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14450
14451         * gst/gsttaginterface.c:
14452           Some documentation fixes (#307394 and #307397).
14453
14454 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14455
14456         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14457
14458         * gst/gstvalue.c: (gst_value_intersect_list):
14459           Fix memleak (#309125).
14460
14461 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14462
14463         * docs/manual/advanced-dataaccess.xml:
14464           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14465         * docs/manual/basics-pads.xml:
14466           Add reference for filtered caps to above chapter.
14467
14468 2005-06-30  Wim Taymans  <wim@fluendo.com>
14469
14470         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14471         (gst_bin_change_state):
14472         Probes are gone.
14473         Lame attempt at making the state change function a bit
14474         more readable.
14475
14476 2005-06-30  Wim Taymans  <wim@fluendo.com>
14477
14478         * docs/design/part-clocks.txt:
14479         * docs/design/part-element-sink.txt:
14480         * docs/design/part-events.txt:
14481         * docs/design/part-preroll.txt:
14482         * docs/design/part-states.txt:
14483         Some more tweeks and additions to the docs.
14484
14485 2005-06-30  Wim Taymans  <wim@fluendo.com>
14486
14487         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14488         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14489         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14490         (gst_pad_check_pull_range), (gst_pad_get_range),
14491         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14492         * gst/gstpad.h:
14493         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14494         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14495         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14496         (gst_pad_remove_buffer_probe):
14497         Removed atomic operations, use existing LOCK.
14498         Move exception handling out of main code path.
14499
14500 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14501
14502         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14503         (silly_return_true_function), (gst_pad_class_init),
14504         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14505         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14506         (gst_pad_send_event):
14507           Fix accumulator, add default value by using _emitv() instead
14508           of _emit() for signal emission.
14509
14510 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14511
14512         * docs/manual/advanced-dataaccess.xml:
14513         * examples/manual/Makefile.am:
14514           Add probe example.
14515         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14516           Make work (??).
14517
14518 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14519
14520         * gst/elements/gstfilesink.c: (gst_filesink_render):
14521           Simplify code so that we don't have to handle short
14522           writes and return GST_FLOW_ERROR if an error occured.
14523
14524 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14525
14526         * docs/gst/gstreamer-docs.sgml:
14527           Remove probes more.
14528
14529 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14530
14531         * docs/gst/gstreamer-sections.txt:
14532         * docs/gst/tmpl/gstpad.sgml:
14533         * docs/gst/tmpl/gstprobe.sgml:
14534         * gst/Makefile.am:
14535         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14536         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14537         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14538         (gst_pad_push_event), (gst_pad_send_event):
14539         * gst/gstpad.h:
14540         * gst/gstutils.c: (gst_pad_add_data_probe),
14541         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14542         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14543         (gst_pad_remove_buffer_probe):
14544         * gst/gstutils.h:
14545           Remove old probes, add new g-signal-based probes and some utility
14546           functions.
14547
14548 2005-06-29  Edward Hervey  <edward@fluendo.com>
14549
14550         * gst/gstelementfactory.c:
14551         * gst/gstutils.h:
14552         * gst/gstutils.c:
14553         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14554         the definition to the header file.
14555
14556 2005-06-29  Andy Wingo  <wingo@pobox.com>
14557
14558         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14559         plugins from the source directory.
14560
14561 2005-06-29  Wim Taymans  <wim@fluendo.com>
14562
14563         * docs/gst/tmpl/gstbuffer.sgml:
14564         * docs/gst/tmpl/gstclock.sgml:
14565         Some fixings for blantently wrong text.
14566
14567 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14568
14569         * check/Makefile.am:
14570         * gst/gst.c: (add_path_func), (init_pre):
14571         * gst/gstregistry.c: (gst_registry_add_path):
14572           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14573           only scan the GST_PLUGIN_PATH locations, and not add
14574           system locations
14575
14576 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14577
14578         * docs/gst/gstreamer-sections.txt:
14579         * docs/gst/tmpl/gstbasesrc.sgml:
14580         * gst/gstelement.c:
14581         * gst/gstelement.h:
14582         * gst/gstevent.c:
14583         * gst/gstutils.c:
14584           doc fixes
14585
14586 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14587
14588         * docs/manual/advanced-autoplugging.xml:
14589           Fix autoplugging example.
14590
14591 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14592
14593         * docs/manual/advanced-autoplugging.xml:
14594         * docs/manual/mime-world.fig:
14595           Try to get autoplugging working, fix type detection. Fix text
14596           in hello-world image.
14597
14598 2005-06-29  Wim Taymans  <wim@fluendo.com>
14599
14600         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14601         (gst_base_sink_change_state):
14602         Small debug line.
14603
14604         * gst/gstclock.h:
14605         map SIGNAL and BROADCAST to the right function.
14606
14607         * gst/gstobject.h:
14608         Remove redundant braces.
14609
14610         * gst/gstpad.c: (gst_pad_set_caps):
14611         Don't call setcaps function when reseting caps to NULL.
14612
14613         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14614         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14615         (gst_system_clock_id_unschedule):
14616         Use BROADCAST as this is what we do.
14617
14618 2005-06-29  Wim Taymans  <wim@fluendo.com>
14619
14620         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14621         We are actually prerolling before commiting the state
14622         change. 
14623
14624 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14625
14626         * docs/manual/advanced-clocks.xml:
14627         * docs/manual/advanced-interfaces.xml:
14628         * docs/manual/advanced-metadata.xml:
14629         * docs/manual/advanced-position.xml:
14630         * docs/manual/advanced-schedulers.xml:
14631         * docs/manual/advanced-threads.xml:
14632         * docs/manual/appendix-porting.xml:
14633         * docs/manual/basics-bins.xml:
14634         * docs/manual/basics-bus.xml:
14635         * docs/manual/basics-elements.xml:
14636         * docs/manual/basics-helloworld.xml:
14637         * docs/manual/basics-pads.xml:
14638         * docs/manual/highlevel-components.xml:
14639         * docs/manual/manual.xml:
14640         * docs/manual/thread.fig:
14641           Update (until threads/scheduling) Application Development Manual;
14642           remove GstThread, add GstBus, add simple porting checklist, add
14643           documentation for tag writing, clocks, make all examples until this
14644           part compile and run.
14645         * examples/manual/Makefile.am:
14646           Update from changes to Application Development Manual; add bus
14647           example, remove thread example.
14648
14649 2005-06-28  Wim Taymans  <wim@fluendo.com>
14650
14651         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14652         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14653         (gst_bus_source_dispatch):
14654         Add debugging messages.
14655         Make internal methods static.
14656         Handle the case where the bus is flushed in the handler.
14657         
14658         * gst/gstelement.c: (gst_element_get_bus):
14659         Fix refcount in _get_bus();
14660
14661         * gst/gstpipeline.c: (gst_pipeline_change_state),
14662         (gst_pipeline_get_clock_func):
14663         Clock refcounting fixes.
14664         Handle the case where preroll timed out more gracefully.
14665         
14666         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14667         Clean up the internal thread in dispose. This is needed
14668         for subclasses that actually get disposed.
14669         
14670         * gst/schedulers/threadscheduler.c:
14671         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14672         (gst_thread_scheduler_dispose):
14673         Free thread pool in dispose.
14674
14675 2005-06-28  Andy Wingo  <wingo@pobox.com>
14676
14677         * tests/network-clock-utils.scm (debug, print-event): New utils.
14678
14679         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14680         (*packet-loss*): Unified loss probability.
14681         (network-time): Report out-of-band events.
14682
14683         * tests/plot-data: Add support for out-of-band events. Hack it
14684         into this script instead of passing it down the pipe; should fix
14685         this later.
14686
14687 2005-06-28  Wim Taymans  <wim@fluendo.com>
14688
14689         * docs/gst/gstreamer.types:
14690         * docs/gst/tmpl/gstbasesrc.sgml:
14691         * docs/gst/tmpl/gstpad.sgml:
14692         Docs fixes.
14693
14694 2005-06-28  Wim Taymans  <wim@fluendo.com>
14695
14696         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14697         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14698         (gst_proxy_pad_do_fixatecaps):
14699         Correctly proxy the check_pull_range function.
14700
14701 2005-06-28  Andy Wingo  <wingo@pobox.com>
14702
14703         * tests/network-clock.scm: Removed need for slib.
14704         
14705 2005-06-28  Wim Taymans  <wim@fluendo.com>
14706
14707         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14708         (gst_basesink_preroll_queue_flush):
14709         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14710         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14711         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14712         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14713         (gst_proxy_pad_set_property):
14714         * gst/gstpad.c:
14715         * gst/gstpad.h:
14716         * gst/gstqueue.c: (gst_queue_init):
14717         The deprecated pad loop function is removed now.
14718
14719 2005-06-28  Andy Wingo  <wingo@pobox.com>
14720
14721         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14722         New parameters, simulate network packet loss.
14723
14724         * tests/network-clock-utils.scm: Initialize the RNG.
14725
14726 2005-06-28  Wim Taymans  <wim@fluendo.com>
14727
14728         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14729         (gst_basesink_event), (gst_basesink_deactivate):
14730         Flushing the preroll queue always needs to unlock the waiters.
14731
14732 2005-06-28  Edward Hervey  <edward@fluendo.com>
14733
14734         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14735         Wheen a seek was successful on a pipeline, set the stream_time to the
14736         seek offset in order to have a synchronized stream_time.
14737
14738 2005-06-28  Wim Taymans  <wim@fluendo.com>
14739
14740         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14741         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14742         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14743         (gst_proxy_pad_do_fixatecaps):
14744         Call wrapper function instead of just calling the function
14745         pointers. This takes care of any locking and whatmore.
14746
14747 2005-06-28  Wim Taymans  <wim@fluendo.com>
14748
14749         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14750         (gst_pad_pull_range):
14751         * gst/gstpad.h:
14752         CONNECTED -> LINKED.
14753
14754 2005-06-28  Andy Wingo  <wingo@pobox.com>
14755
14756         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14757         source-munging commit!!!
14758
14759         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14760         (gst_object_sink): Take gpointer arguments, not GstObject --
14761         avoids casts. Like GLib.
14762
14763         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14764         activate.
14765
14766 2005-06-27  Andy Wingo  <wingo@pobox.com>
14767
14768         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14769         remaining buffer.
14770
14771         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14772         returns a sorted copy of the trace list.
14773         (gst_alloc_trace_print_live): New API, only prints traces with
14774         live objects. Sort the list.
14775         (gst_alloc_trace_print_all): Sort the list.
14776         (gst_alloc_trace_print): Align columns.
14777
14778         * gst/elements/gstttypefindelement.c:
14779         * gst/elements/gsttee.c:
14780         * gst/base/gstbasesrc.c:
14781         * gst/base/gstbasesink.c:
14782         * gst/base/gstbasetransform.c:
14783         * gst/gstqueue.c: Adapt for pad activation changes.
14784
14785         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14786         sched.
14787         (gst_pipeline_dispose): Drop ref on sched.
14788
14789         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14790         (gst_pad_activate_default): Push mode by default.
14791         (pre_activate_switch, post_activate_switch): New stubs, things to
14792         do before and after switching activation modes on pads.
14793         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14794         the pad's activate function to choose which mode to activate.
14795         Shortcut on deactivation and call the right function directly.
14796         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14797         mode.
14798         (gst_pad_activate_push): New API, same for push mode.
14799         (gst_pad_set_activate_function) 
14800         (gst_pad_set_activatepull_function) 
14801         (gst_pad_set_activatepush_function): Setters for new API.
14802
14803         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14804         Trace all miniobjects.
14805         (gst_mini_object_make_writable): Unref the arg if we copy, like
14806         gst_caps_make_writable.
14807
14808         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14809
14810         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14811         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14812         Adapt for new pad API.
14813
14814         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14815
14816         * gst/gstelement.h:
14817         * gst/gstelement.c (gst_element_iterate_src_pads) 
14818         (gst_element_iterate_sink_pads): New API functions.
14819         
14820         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14821         should fold into gstiterator.c in some form.
14822         (gst_element_pads_activate): Simplified via use of fold and
14823         delegation of decisions to gstpad->activate.
14824
14825         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14826         help in debugging.
14827
14828         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14829         class once in init, like gstmessage. Didn't run into this issue
14830         but it seems correct. Don't initialize a trace, gstminiobject does
14831         that.
14832
14833         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14834         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14835         to the bus.
14836         (assert_live_count): New util function, uses alloc traces to check
14837         cleanup.
14838
14839         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14840         To be modified when unlink drops the internal pad.
14841
14842 2005-06-27  Wim Taymans  <wim@fluendo.com>
14843
14844         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14845         (gst_bin_change_state):
14846         Cleanup the get_state() function a little, make sure it
14847         iterates the same set of elements.
14848         Added stub iterate_state_order().
14849
14850 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14851
14852         * docs/gst/gstreamer-docs.sgml:
14853         * docs/gst/gstreamer-sections.txt:
14854         * docs/gst/gstreamer.types:
14855         * docs/gst/tmpl/gstbasesink.sgml:
14856         * docs/gst/tmpl/gstbasesrc.sgml:
14857         * docs/gst/tmpl/gstbasetransform.sgml:
14858         * docs/gst/tmpl/gstelement.sgml:
14859         * docs/gst/tmpl/gstiterator.sgml:
14860         * gst/base/gstbasesrc.c:
14861         * gst/base/gstbasesrc.h:
14862         * gst/base/gstbasetransform.h:
14863         * gst/gstelement.c:
14864         * gst/gstiterator.h:
14865           adding basetransform and iterator docs
14866
14867 2005-06-27  Andy Wingo  <wingo@pobox.com>
14868
14869         * docs/design/part-activation.txt: Notes on how activation should
14870         work -- not quite implemented yet.
14871
14872 2005-06-25  Wim Taymans  <wim@fluendo.com>
14873
14874         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14875         At least get the chain function correct, needs more
14876         fixing.
14877
14878 2005-06-25  Wim Taymans  <wim@fluendo.com>
14879
14880         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14881         (gst_basesink_handle_object), (gst_basesink_event),
14882         (gst_basesink_do_sync), (gst_basesink_handle_event),
14883         (gst_basesink_change_state):
14884         * gst/gsttask.h:
14885         Right, two problems here: ghostpads don't take locks and
14886         glib _rec_mutex_lock_full() with depth==0 still locks.
14887         Catch illegal locking and g_warn them.
14888
14889 2005-06-25  Wim Taymans  <wim@fluendo.com>
14890
14891         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14892         Have to check for completion now...
14893
14894 2005-06-25  Wim Taymans  <wim@fluendo.com>
14895
14896         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14897         (gst_basesink_handle_object), (gst_basesink_event),
14898         (gst_basesink_do_sync), (gst_basesink_handle_event),
14899         (gst_basesink_change_state):
14900         * gst/gstpad.h:
14901         Unlock STREAM_LOCK whatever the recursion was.
14902
14903 2005-06-25  Wim Taymans  <wim@fluendo.com>
14904
14905         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14906         (gst_basesink_preroll_queue_empty),
14907         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14908         (gst_basesink_event), (gst_basesink_do_sync),
14909         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14910         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14911         (gst_basesink_change_state):
14912         Reworked the base sink, handle event and buffer serialisation
14913         correctly and removed possible deadlock.
14914         Handle EOS correctly.
14915
14916 2005-06-25  Wim Taymans  <wim@fluendo.com>
14917
14918         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14919         (gst_pipeline_change_state):
14920         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14921         Allow elements to post EOS in the state change function.
14922         Fix up -launch, make it exit the poll loop when the
14923         pipeline actually changed state.
14924         Fix up warning parsing in -launch.
14925
14926 2005-06-25  Wim Taymans  <wim@fluendo.com>
14927
14928         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14929         (gst_tee_sink_activate):
14930         Core takes STREAM_LOCK for us now.
14931
14932 2005-06-25  Wim Taymans  <wim@fluendo.com>
14933
14934         * gst/gstelement.c: (gst_element_get_state_func),
14935         (gst_element_set_state):
14936         * gst/gstelement.h:
14937         * gst/gstmessage.c: (gst_message_parse_error),
14938         (gst_message_parse_warning):
14939         Keep track of current target state while performing a state
14940         change so that subclasses can do something interesting.
14941         Fix parsing of warning/error messages when GError is NULL.
14942
14943 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14944
14945         * docs/gst/Makefile.am:
14946         * docs/gst/gstreamer-docs.sgml:
14947         * docs/gst/gstreamer-sections.txt:
14948         * docs/gst/gstreamer.types:
14949         * docs/gst/tmpl/gstbasesink.sgml:
14950         * docs/gst/tmpl/gstbasesrc.sgml:
14951         * docs/gst/tmpl/gstbin.sgml:
14952         * docs/gst/tmpl/gstcompat.sgml:
14953         * docs/gst/tmpl/gstfakesink.sgml:
14954         * docs/gst/tmpl/gstfakesrc.sgml:
14955         * docs/gst/tmpl/gstfilesink.sgml:
14956         * docs/gst/tmpl/gstfilesrc.sgml:
14957         * docs/gst/tmpl/gstindex.sgml:
14958         * docs/manual/appendix-quotes.xml:
14959         * gst/base/gstbasesrc.h:
14960         * gst/elements/gstfakesrc.h:
14961         * gst/gstmessage.h:
14962           start pulling in base classes and elements in our docs
14963
14964 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14965
14966         * docs/gst/Makefile.am:
14967         * docs/libs/Makefile.am:
14968           fixed make distcheck with gtk-doc 1.3
14969
14970 2005-06-23  Wim Taymans  <wim@fluendo.com>
14971
14972         * gst/gstelement.c: (gst_element_get_state_func),
14973         (gst_element_set_state), (gst_element_change_state):
14974         When the state did not change, also report NO_PREROLL
14975         when it matters.
14976
14977 2005-06-23  Wim Taymans  <wim@fluendo.com>
14978
14979         * gst/gstpad.c: (gst_pad_event_default):
14980         * gst/gstqueue.c: (gst_queue_loop):
14981         No unsafe task pausing please.
14982
14983 2005-06-23  Wim Taymans  <wim@fluendo.com>
14984
14985         * gst/schedulers/threadscheduler.c:
14986         (gst_thread_scheduler_task_start),
14987         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14988         Ref the task before pushing it on the threadpool. This
14989         makes sure that we have a ref when the threadfunction is
14990         actually called.
14991
14992 2005-06-23  Andy Wingo  <wingo@pobox.com>
14993
14994         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14995         offset is greater than the file's size.
14996
14997         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14998         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14999         * gst/gstobject.c (gst_object_class_init): Make the class lock
15000         recursive. Wim won't let me drop deep_notify. Decodebin works
15001         again, whoopdy doo.
15002
15003         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15004         internal pad, and hacks accordingly. Doesn't do it on the target
15005         pad because we change its caps. Probably catches all cases of
15006         interest tho.
15007         (gst_ghost_pad_set_property): Connect to notify::caps as
15008         appropritate.
15009
15010         * tests/network-clock.scm (plot-simulation): Pipe data to the
15011         elite python skript.
15012
15013         * tests/network-clock-utils.scm (define-parameter): New macro,
15014         defines a parameter that can be set via the command line.
15015         (set-parameter!, parse-parameter-arguments): Command line args
15016         parser.
15017
15018         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15019         stdin.
15020
15021 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15022
15023         * gst/elements/gsttypefindelement.c:
15024         (gst_type_find_element_handle_event):
15025           Don't restart typefinding on a discont.
15026         * gst/gstelement.c: (gst_element_set_state):
15027           Debug spelling fix.
15028         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15029           Allow changing mode of an active pad.
15030           Debug output fixes.
15031         * gst/registries/gstlibxmlregistry.c: (load_feature):
15032           Don't cast a static pad template to a normal pad template.
15033
15034 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15035
15036         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15037         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15038           remove gst_strtoll completely, since it didn't actually do
15039           anything more than what g_ascii_strtoull already does.
15040           check for range errors when deserializing
15041           do a cast for the unsigned cases; but further fixing needs
15042           a decision on what the interpretation of "(int)" and
15043           deserialization should be for values that fall outside the
15044           type's boundaries (ie, refuse, or interpret as casting)
15045
15046 2005-06-23  Wim Taymans  <wim@fluendo.com>
15047
15048         * check/Makefile.am:
15049         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15050         * docs/design/part-live-source.txt:
15051         * docs/design/part-states.txt:
15052         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15053         (gst_basesrc_set_live), (gst_basesrc_is_live),
15054         (gst_basesrc_get_range), (gst_basesrc_activate),
15055         (gst_basesrc_change_state):
15056         * gst/base/gstbasesrc.h:
15057         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15058         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15059         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15060         * gst/gstelement.c: (gst_element_get_state_func),
15061         (gst_element_set_state):
15062         * gst/gstelement.h:
15063         * gst/gsttypes.h:
15064         * tools/gst-launch.c: (event_loop), (main):
15065         Added support for live sources and other elements that
15066         cannot do preroll.
15067         Updated design docs, added live-source design doc.
15068         Implemented live source functionality in basesrc
15069         Fix error condition in _bin_get_state()
15070         Implement live source handling in -launch.
15071         Added check for live sources.
15072         Fixed case in GstBin where elements were changed state
15073         multiple times.
15074
15075
15076 2005-06-23  Andy Wingo  <wingo@pobox.com>
15077
15078         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15079         borken refcounting.
15080
15081         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15082         gst_caps_replace takes care of this for us.
15083
15084         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15085         gst_pad_set_caps on the target, not just its setcaps() function.
15086
15087         * tests/network-clock.scm: 
15088         * tests/network-clock-utils.scm: A network clock simulator.
15089         Something of an algorithmic testbed before doing something in C.
15090
15091 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15092
15093         * check/Makefile.am:
15094         * check/gst/capslist.h:
15095           copy over from 0.8, and add two with bitmasks specified with
15096           (int) 0xFF...
15097         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15098           add test to parse everything from capslist.h
15099         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15100         (main):
15101           add test for structure deserialization
15102         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15103           add tests for deserialization of strings to int types
15104         * gst/gststructure.c: (gst_structure_nth_field_name):
15105         * gst/gststructure.h:
15106           add a way to get the name of a field referenced by index
15107         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15108           instead of checking if the resulting long long lies between
15109           min and max, we check if the long long would fit into
15110           a number of bytes for the final type.
15111           This fixes cases where a string represents 2^32 - 1, which
15112           when cast to int would be the (valid) -1, but is bigger than
15113           G_MAXINT
15114
15115 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15116
15117         * gst/parse/grammar.y:
15118           add a log line for type deserialization
15119
15120 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15121
15122         * check/gst/gstvalue.c: (START_TEST):
15123         * gst/gstvalue.c: (gst_value_deserialize):
15124           return long long, not int, so gint64 deserialization actually
15125           works.  Is there any flag that makes the compiler check this ?
15126           Fixes #308559
15127
15128 2005-06-22  Wim Taymans  <wim@fluendo.com>
15129
15130         * gst/gstbuffer.h:
15131         Added convenience macros for setting buffers in GValue.
15132
15133 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15134
15135         * check/gst/.cvsignore:
15136         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15137           add a test deserializing int64, and comment part out because
15138           it fails, yay !
15139
15140 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15141
15142         * check/Makefile.am:
15143         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15144         * testsuite/Makefile.am:
15145         * testsuite/caps/Makefile.am:
15146         * testsuite/caps/value_serialize.c:
15147         * testsuite/test_gst_init.c:
15148           move a value_serialize test over
15149
15150 2005-06-20  Wim Taymans  <wim@fluendo.com>
15151
15152         * gst/gstpad.c:
15153         Small doc updates.
15154         
15155         * gst/gstvalue.c: (gst_value_compare_buffer),
15156         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15157         (gst_value_compare_flags), (gst_value_serialize_flags),
15158         (gst_value_deserialize_flags), (_gst_value_initialize):
15159         Fix serialisation of buffers, they are not boxed types anymore
15160
15161 2005-06-20  Wim Taymans  <wim@fluendo.com>
15162
15163         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15164         Testcase to show error in buffer-on-caps serialisation.
15165
15166 2005-06-20  Andy Wingo  <wingo@pobox.com>
15167
15168         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15169         will be adding to later.
15170
15171         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15172         if its socks fill with rocks.
15173         (gst_system_clock_obtain): Set the name on object construction.
15174         Avoid double-checked locking.
15175
15176 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15177
15178         * gst/gsturi.c: (gst_element_make_from_uri):
15179           Fix potential endless loop.
15180
15181 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15182
15183         * check/Makefile.am:
15184           add gsttag
15185         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15186         (main):
15187           move over from testsuite dir and clean up
15188         * configure.ac:
15189         * gst/gsttag.c:
15190         * testsuite/Makefile.am:
15191         * testsuite/tags/.cvsignore:
15192         * testsuite/tags/Makefile.am:
15193         * testsuite/tags/merge.c:
15194           remove testsuite/tags
15195
15196 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15197
15198         * docs/gst/gstreamer-sections.txt:
15199         * docs/gst/tmpl/gstenumtypes.sgml:
15200         * win32/gstenumtypes.c:
15201           clean up documentation build a little
15202
15203 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15204
15205         * check/gstcheck.h:
15206           add macros for checking refcounts on objects and caps
15207         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15208           add some more unit tests
15209         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15210         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15211           fix leaked refcounts (I hope :)) so unittest works
15212         * gst/gstpad.h:
15213           whitespace removal
15214
15215 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15216
15217         * configure.ac: back to HEAD
15218
15219 === release 0.9.1 ===
15220
15221 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15222
15223         * NEWS:
15224         * RELEASE:
15225           updated
15226
15227 2005-06-17  Andy Wingo  <wingo@pobox.com>
15228
15229         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15230         assert; it's always possible that the pad gets deactivated in
15231         between the checks in gstpad.c and the implementation. Rely on
15232         finish_preroll() to return a FLUSHING or similar instead of on the
15233         assert.
15234         
15235         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15236         clock and post an EOS message if we come out of finish_preroll in
15237         the playing state.
15238
15239 2005-06-16  David Schleef  <ds@schleef.org>
15240
15241         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15242         (gst_capsfilter_set_property): Allow NULL as possible value
15243         for filter_caps property, indicating GST_CAPS_ANY.
15244
15245 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15246
15247         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15248           fix debug output
15249         * gst/schedulers/Makefile.am:
15250           use libgst prefix
15251         * gstreamer.spec.in:
15252           fix spec for it
15253
15254 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15255
15256         * gstreamer.spec.in:
15257           clean up
15258
15259 2005-06-08  Andy Wingo  <wingo@pobox.com>
15260
15261         * gst/gstutils.c: RPAD fixes all around.
15262         (gst_element_link_pads): Refcounting fixes.
15263
15264         * tools/gst-inspect.c:
15265         * tools/gst-xmlinspect.c:
15266         * parse/grammar.y:
15267         * gst/base/gsttypefindhelper.c:
15268         * gst/base/gstbasesink.c:
15269         * gst/gstqueue.c: RPAD fixes.
15270
15271         * gst/gstghostpad.h:
15272         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15273         pads. The tricky thing is they provide both source and sink
15274         interfaces, since they proxy the internal pad for the external
15275         pad, and vice versa. Implement with lower-level ProxyPad objects,
15276         with the interior proxy pad as a child of the exterior ghost pad.
15277         Should write a doc on this.
15278         
15279         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15280         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15281         gst_object API.
15282         
15283         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15284         pads are real pads. No ghost pads in this file. Not documenting
15285         the myriad s/RPAD/PAD/ and REALIZE fixes.
15286         (gst_pad_class_init): Add properties for "direction" and
15287         "template". Both are construct-only, so they can't change during
15288         the life of the pad. Fixes properly deriving from GstPad.
15289         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15290         derived objects, just set properties when creating the objects via
15291         g_object_new.
15292         (gst_pad_get_parent): Implement as a function, return NULL if the
15293         parent is not an element.
15294         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15295         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15296         
15297         * gst/gstobject.c (gst_object_class_init): Make name a construct
15298         property. Don't set it in the object init.
15299
15300         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15301         with UNKNOWN direction.
15302         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15303         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15304         (gst_element_remove_pad): Remove ghost-pad special cases.
15305         (gst_element_pads_activate): Remove rpad cruft.
15306
15307         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15308         catch the pad's-parent-not-an-element case.
15309
15310         * gst/gst.h: Include gstghostpad.h.
15311
15312         * gst/gst.c (init_post): No more real, ghost pads.
15313
15314         * gst/Makefile.am: Add gstghostpad.[ch].
15315
15316         * check/Makefile.am:
15317         * check/gst/gstbin.c:
15318         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15319         into a bin creates ghost pads, and that the refcounts are right.
15320         Partly moved from gstbin.c.
15321
15322 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15323
15324         * check/gst-libs/.cvsignore:
15325         * check/gst/.cvsignore:
15326         * check/pipelines/.cvsignore:
15327           ignore more
15328         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15329         (START_TEST), (cleanup_suite), (main):
15330           add some tests related to cleanup after running pipelines
15331
15332 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15333
15334         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15335           add a testsuite for GstBuffer
15336
15337 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15338
15339         * gst/gstminiobject.h:
15340           add defines for accessing the refcount
15341
15342 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15343
15344         * Makefile.am: added support for html unit test coverage reports
15345
15346 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15347
15348         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15349           Free existing caps if the capsfilter changes. Add a FIXME about
15350           setting those caps on the pads.
15351
15352         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15353           Before adding a ghost pad to a parent bin, check that there isn't
15354           already one for the element on the bin. Prevents infinite recursion
15355           when using decodebin in parse pipelines. Andy says he'll rewrite the
15356           way this works anyway, so ignore the hack.
15357
15358 2005-06-02  Andy Wingo  <wingo@pobox.com>
15359
15360         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15361         file size, pass it on to the type find helper.
15362
15363         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15364         segment_start and segment_end properly according to the seek
15365         method. Segment_end is still a bit flaky because offset can be
15366         negative for CUR and END cases, but it takes -1 as an "unset"
15367         value.
15368
15369 2005-06-02  Wim Taymans  <wim@fluendo.com>
15370
15371         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15372         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15373         (gst_basesink_activate):
15374         * gst/base/gstbasesink.h:
15375         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15376         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15377         (gst_pad_query), (gst_pad_start_task):
15378         * gst/gstpad.h:
15379         * gst/gstqueue.c: (gst_queue_bufferalloc),
15380         (gst_queue_handle_sink_event), (gst_queue_chain):
15381         Bufferalloc: return GstFlowReturn to more accuratly report
15382         why allocation failed.
15383
15384 2005-06-02  Wim Taymans  <wim@fluendo.com>
15385
15386         * gst/gstpipeline.c: (gst_pipeline_send_event):
15387         Take snapshot of state without blocking.
15388
15389 2005-06-02  Wim Taymans  <wim@fluendo.com>
15390
15391         * docs/design/part-TODO.txt:
15392         * docs/design/part-caps.txt:
15393         * docs/design/part-clocks.txt:
15394         * docs/design/part-negotiation.txt:
15395         * docs/design/part-preroll.txt:
15396         Small doc updates 
15397
15398 2005-05-30  Wim Taymans  <wim@fluendo.com>
15399
15400         * gst/elements/gstidentity.c: (gst_identity_event),
15401         (gst_identity_transform), (gst_identity_get_property):
15402         Protect last_message property as it is accessed from
15403         multiple threads.
15404
15405 2005-05-30  Wim Taymans  <wim@fluendo.com>
15406
15407         * gst/gstelement.c: (gst_element_init),
15408         (gst_element_pads_activate), (gst_element_change_state):
15409         Slicker pad activation code.
15410
15411 2005-05-30  Wim Taymans  <wim@fluendo.com>
15412
15413         * gst/Makefile.am:
15414         * gst/gstelement.h:
15415         * gst/gstelementfactory.h:
15416         * gst/gsttypes.h:
15417         Move elementfactory methods to separate .h file.
15418
15419 2005-05-30  Wim Taymans  <wim@fluendo.com>
15420
15421         * docs/design/part-overview.txt:
15422         * gst/gstsystemclock.h:
15423         Small typo fixes, doc updates.
15424
15425 2005-05-30  Wim Taymans  <wim@fluendo.com>
15426
15427         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15428         (init_popt_callback):
15429         Remove cpu-opt flag.
15430
15431 2005-05-30  Wim Taymans  <wim@fluendo.com>
15432
15433         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15434         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15435         * gst/gstbuffer.h:
15436         Avoid typechecking in places where not needed.
15437         Added accessor for malloc_data.
15438
15439 2005-05-30  Wim Taymans  <wim@fluendo.com>
15440
15441         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15442         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15443         (gst_pad_configure_sink), (gst_pad_configure_src),
15444         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15445         (gst_pad_start_task):
15446         Propagate errors from _set_caps() in configure_src/sink
15447         functions instead of returning TRUE.
15448         FLUSH events can travel up and downstream
15449
15450
15451 2005-05-30  Wim Taymans  <wim@fluendo.com>
15452
15453         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15454         (gst_basesink_activate):
15455         Handle EOS in preroll.
15456
15457 2005-05-30  Wim Taymans  <wim@fluendo.com>
15458
15459         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15460         (gst_queue_loop), (gst_queue_handle_src_event):
15461         Remove old pieces of code
15462         Flushing the queue in an upstream event is a very bad idea.
15463
15464 2005-05-26  Andy Wingo  <wingo@pobox.com>
15465
15466         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15467         gst_value_set_mini_object so as to add a ref on the object (which
15468         will be removed when the value is unset).
15469
15470         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15471         arg type in ::handoff.
15472
15473         * gst/gstelement.c (gst_element_change_state): Also deactivate
15474         pads in READY->NULL, just in case the element didn't make it to
15475         PAUSED. Wingo tested, Wim approved.
15476
15477 2005-05-26  Wim Taymans  <wim@fluendo.com>
15478
15479         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15480         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15481         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15482         A flushing pad cannot be used to alloc_buffer from.
15483
15484 2005-05-26  Wim Taymans  <wim@fluendo.com>
15485
15486         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15487         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15488         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15489         (gst_bus_create_watch), (gst_bus_add_watch_full):
15490         * gst/gstbus.h:
15491         Implement a real GSource and use g_main_context_wakeup() to
15492         signal new messages instead of the socketpair.
15493
15494 2005-05-25  Wim Taymans  <wim@fluendo.com>
15495
15496         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15497         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15498         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15499         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15500         (gst_pad_send_event), (gst_pad_start_task):
15501         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15502         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15503         (gst_queue_sink_activate), (gst_queue_src_activate),
15504         (gst_queue_change_state):
15505         * gst/gstqueue.h:
15506         Fix state changes for non sinks. We now change sinks, then elements
15507         with unconnected srcpads, then the rest.
15508         More efficient queue unlocking in flush and state changes.
15509         Set the pad activate mode even if it does not have an activate
15510         function.
15511
15512 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15513
15514         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15515           Don't go in pull mode for non-seekable sources.
15516         * gst/elements/gsttypefindelement.h:
15517         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15518         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15519         (free_entry), (stop_typefinding),
15520         (gst_type_find_element_handle_event), (find_peek),
15521         (gst_type_find_element_chain), (do_pull_typefind),
15522         (gst_type_find_element_change_state):
15523           Allow typefinding (w/o seeking) in push-mode, simplified version
15524           of what was in 0.8.
15525         * gst/gstutils.c: (gst_buffer_join):
15526         * gst/gstutils.h:
15527           gst_buffer_join() from 0.8.
15528
15529 2005-05-25  Wim Taymans  <wim@fluendo.com>
15530
15531         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15532         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15533         (gst_pad_send_event), (gst_pad_start_task):
15534         Disable attempt at mode switching until it is figured out.
15535
15536 2005-05-25  Wim Taymans  <wim@fluendo.com>
15537
15538         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15539         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15540         (gst_basesink_finish_preroll), (gst_basesink_chain),
15541         (gst_basesink_loop), (gst_basesink_activate),
15542         (gst_basesink_change_state):
15543         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15544         (gst_basesrc_get_range), (gst_basesrc_loop),
15545         (gst_basesrc_activate):
15546         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15547         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15548         (gst_real_pad_init), (gst_real_pad_set_property),
15549         (gst_real_pad_get_property), (gst_pad_set_active),
15550         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15551         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15552         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15553         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15554         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15555         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15556         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15557         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15558         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15559         (gst_pad_stop_task):
15560         * gst/gstpad.h:
15561         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15562         (gst_queue_loop), (gst_queue_src_activate):
15563         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15564         (gst_task_get_state):
15565         * gst/gsttask.h:
15566         * gst/schedulers/threadscheduler.c:
15567         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15568         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15569         in task function.
15570         Remove ACTIVE pad flag, use FLUSHING everywhere
15571         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15572         functions.
15573         Add locks around IS_FLUSHING when reading.
15574         Take STREAM lock in chain(), get_range() functions so plugins
15575         don't need to take it anymore.
15576         
15577
15578
15579 2005-05-25  Wim Taymans  <wim@fluendo.com>
15580
15581         * tools/gst-launch.c: (event_loop):
15582         Unref message after using its contents instead of
15583         before.
15584
15585 2005-05-24  Wim Taymans  <wim@fluendo.com>
15586
15587         * docs/design/draft-ghostpads.txt:
15588         * docs/design/draft-push-pull.txt:
15589         * docs/design/draft-query.txt:
15590         * docs/design/part-overview.txt:
15591         Docs updates, added general overview doc.
15592
15593 2005-05-21  David Schleef  <ds@schleef.org>
15594
15595         * docs/gst/tmpl/old/GstBin.sgml:
15596         * docs/gst/tmpl/old/GstBuffer.sgml:
15597         * docs/gst/tmpl/old/GstCaps.sgml:
15598         * docs/gst/tmpl/old/GstClock.sgml:
15599         * docs/gst/tmpl/old/GstCompat.sgml:
15600         * docs/gst/tmpl/old/GstData.sgml:
15601         * docs/gst/tmpl/old/GstElement.sgml:
15602         * docs/gst/tmpl/old/GstEvent.sgml:
15603         * docs/gst/tmpl/old/GstIndex.sgml:
15604         * docs/gst/tmpl/old/GstStructure.sgml:
15605         * docs/gst/tmpl/old/GstTag.sgml:
15606         * docs/gst/tmpl/old/cothreads.sgml:
15607         * docs/gst/tmpl/old/cothreads_compat.sgml:
15608         * docs/gst/tmpl/old/gettext.sgml:
15609         * docs/gst/tmpl/old/gobject2gtk.sgml:
15610         * docs/gst/tmpl/old/grammar.tab.sgml:
15611         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15612         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15613         * docs/gst/tmpl/old/gst_private.sgml:
15614         * docs/gst/tmpl/old/gstaggregator.sgml:
15615         * docs/gst/tmpl/old/gstarch.sgml:
15616         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15617         * docs/gst/tmpl/old/gstbufferstore.sgml:
15618         * docs/gst/tmpl/old/gstdata_private.sgml:
15619         * docs/gst/tmpl/old/gstdisksink.sgml:
15620         * docs/gst/tmpl/old/gstdisksrc.sgml:
15621         * docs/gst/tmpl/old/gstelementfactory.sgml:
15622         * docs/gst/tmpl/old/gstextratypes.sgml:
15623         * docs/gst/tmpl/old/gstfakesink.sgml:
15624         * docs/gst/tmpl/old/gstfakesrc.sgml:
15625         * docs/gst/tmpl/old/gstfdsink.sgml:
15626         * docs/gst/tmpl/old/gstfdsrc.sgml:
15627         * docs/gst/tmpl/old/gstfilesink.sgml:
15628         * docs/gst/tmpl/old/gstfilesrc.sgml:
15629         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15630         * docs/gst/tmpl/old/gstidentity.sgml:
15631         * docs/gst/tmpl/old/gstindexfactory.sgml:
15632         * docs/gst/tmpl/old/gstmarshal.sgml:
15633         * docs/gst/tmpl/old/gstmd5sink.sgml:
15634         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15635         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15636         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15637         * docs/gst/tmpl/old/gstpipefilter.sgml:
15638         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15639         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15640         * docs/gst/tmpl/old/gstshaper.sgml:
15641         * docs/gst/tmpl/old/gstspider.sgml:
15642         * docs/gst/tmpl/old/gstspideridentity.sgml:
15643         * docs/gst/tmpl/old/gststatistics.sgml:
15644         * docs/gst/tmpl/old/gsttee.sgml:
15645         * docs/gst/tmpl/old/gsttimecache.sgml:
15646         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15647         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15648         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15649         * docs/gst/tmpl/old/types.sgml:
15650           I didn't intend to add these or check them in.
15651
15652 2005-05-19  David Schleef  <ds@schleef.org>
15653
15654         * configure.ac: Use -no-common everywhere.  In a sane world, it
15655           would be the default in libtool, because without it, you can't
15656           build DLLs on Windows.
15657         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15658         * docs/gst/gstreamer-sections.txt:
15659         * docs/gst/tmpl/gstcpu.sgml:
15660         * docs/gst/tmpl/gstdata.sgml:
15661         * docs/gst/tmpl/gstthread.sgml:
15662
15663 2005-05-19  David Schleef  <ds@schleef.org>
15664
15665         * gst/gstminiobject.c: (gst_value_set_mini_object),
15666         (gst_value_take_mini_object), (gst_value_get_mini_object):
15667         * gst/gstminiobject.h: Add GValue set/get functions.
15668
15669 2005-05-19  Wim Taymans  <wim@fluendo.com>
15670
15671         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15672         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15673         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15674         * gst/gstbuffer.h:
15675         * gst/gstbus.c: (gst_bus_post):
15676         * gst/gstelement.c: (gst_element_get_random_pad):
15677         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15678         Make subbufer unref the parent in finalize.
15679         some more debugging info.
15680
15681
15682 2005-05-19  Wim Taymans  <wim@fluendo.com>
15683
15684         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15685         (gst_basesink_init), (gst_basesink_finalize),
15686         (gst_basesink_activate), (gst_basesink_change_state):
15687         Don't free preroll queue too early.
15688
15689 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15690
15691         * gst/Makefile.am:
15692         * gst/ROADMAP:
15693           Hi, I'm outdated. Please shoot me.
15694
15695 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15696
15697         * gst/gstpipeline.c: (gst_pipeline_send_event):
15698           Do not access variables after they have been deleted.
15699
15700 2005-05-19  Wim Taymans  <wim@fluendo.com>
15701
15702         * tools/gst-inspect.c: (print_plugin_features):
15703         A plugin feature does unfortunatly not use the
15704         object name yet...
15705
15706 2005-05-18  Wim Taymans  <wim@fluendo.com>
15707
15708         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15709         Port _span() functions to new subbuffers.
15710
15711 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15712
15713         * gst/gstbin.c: (gst_bin_add_func):
15714           Fix clock settery in bins when adding kids after the clock has
15715           been selected.
15716
15717 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15718
15719         * gst/elements/gstidentity.c: (gst_identity_class_init):
15720           Workaround until signals support GstMiniObject.
15721
15722 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15723
15724         * gst/gstbuffer.c:
15725         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15726
15727 2005-05-18  Wim Taymans  <wim@fluendo.com>
15728
15729         * gst/base/Makefile.am:
15730         * gst/base/gstadapter.c: (gst_adapter_base_init),
15731         (gst_adapter_class_init), (gst_adapter_init),
15732         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15733         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15734         (gst_adapter_flush), (gst_adapter_available),
15735         (gst_adapter_available_fast):
15736         * gst/base/gstadapter.h:
15737         Ported and added adapter to the base classes.
15738
15739 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15740
15741         * gst/gst.c:
15742         * gst/gstmessage.c:
15743           Make sure the class is reffed/unreffed once before threads can be
15744           used.  Fixes #304551.
15745
15746 2005-05-17  Wim Taymans  <wim@fluendo.com>
15747
15748         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15749         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15750         * gst/gstminiobject.c: (gst_mini_object_get_type),
15751         (gst_mini_object_free):
15752         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15753         (gst_pad_push), (gst_pad_push_event):
15754         * gst/gstqueue.c: (gst_queue_change_state):
15755         Don't queue buffers in basesink when we are flushing.
15756         Unref buffer when flushing in basesink.
15757         Flush queue when going to READY
15758         Unref buffer when _push() returns an error.
15759         Don't free MiniObject instance when refcount is incremented
15760         in _finalize() so that we can recover objects.
15761
15762 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15763
15764         * docs/manual/advanced-schedulers.xml:
15765         * docs/manual/appendix-checklist.xml:
15766         * docs/pwg/advanced-clock.xml:
15767         * docs/pwg/advanced-interfaces.xml:
15768         * docs/pwg/advanced-request.xml:
15769         * docs/pwg/advanced-types.xml:
15770         * docs/pwg/intro-preface.xml:
15771         * examples/plugins/example.c: (gst_example_get_type),
15772         (gst_example_class_init), (gst_example_chain),
15773         (gst_example_set_property), (gst_example_get_property),
15774         (gst_example_change_state), (plugin_init):
15775         * examples/plugins/example.h:
15776           small doc fixes
15777
15778 2005-05-17  Wim Taymans  <wim@fluendo.com>
15779
15780         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15781         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15782         * gst/gstqueue.c: (gst_queue_change_state):
15783         Clear queue when going to READY.
15784         Remove IN_SETCAPS flag too.
15785
15786 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15787
15788         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15789           Remove implicit cast from gboolean to GstElementStateReturn;
15790           make sure we still return failure in paused => ready case if
15791           the parent class fails to change state and our own stop 
15792           vfunc succeeds.
15793
15794 2005-05-17  Wim Taymans  <wim@fluendo.com>
15795
15796         * tools/gst-launch.c: (event_loop):
15797         Message was unreffed too soon.
15798
15799 2005-05-16  Andy Wingo  <wingo@pobox.com>
15800
15801         * gst/gstbin.c (sink_iterator_filter): Err... um...
15802
15803         * check/gst/gstbin.c (test_ghost_pads): New test for the
15804         ghosting-if-elements-not-in-same-bin behavior.
15805
15806 2005-05-16  David Schleef  <ds@schleef.org>
15807
15808         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15809         accessing refcount directly.
15810
15811 2005-05-15  David Schleef  <ds@schleef.org>
15812
15813         * check/Makefile.am: remove GstData checks
15814         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15815         * gst/Makefile.am: add miniobject, remove data
15816         * gst/gst.h: add miniobject, remove data
15817         * gst/gstdata.c: remove
15818         * gst/gstdata.h: remove
15819         * gst/gstdata_private.h: remove
15820         * gst/gsttypes.h: remove GstEvent and GstMessage
15821         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15822         * gst/gstmarshal.list: change BOXED -> OBJECT
15823
15824         Implement GstMiniObject.
15825         * gst/gstminiobject.c:
15826         * gst/gstminiobject.h:
15827
15828         Modify to be subclasses of GstMiniObject.
15829         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15830         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15831         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15832         (gst_subbuffer_get_type), (gst_subbuffer_init),
15833         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15834         (gst_buffer_span):
15835         * gst/gstbuffer.h:
15836         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15837         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15838         (_gst_event_copy), (gst_event_new):
15839         * gst/gstevent.h:
15840         * gst/gstmessage.c: (_gst_message_initialize),
15841         (gst_message_get_type), (gst_message_class_init),
15842         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15843         (gst_message_new), (gst_message_new_error),
15844         (gst_message_new_warning), (gst_message_new_tag),
15845         (gst_message_new_state_changed), (gst_message_new_application):
15846         * gst/gstmessage.h:
15847         * gst/gstprobe.c: (gst_probe_perform),
15848         (gst_probe_dispatcher_dispatch):
15849         * gst/gstprobe.h:
15850         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15851         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15852         (_gst_query_copy), (gst_query_new):
15853
15854         Update elements for GstData -> GstMiniObject changes
15855         * gst/gstquery.h:
15856         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15857         (gst_queue_chain), (gst_queue_loop):
15858         * gst/elements/gstbufferstore.c:
15859         (gst_buffer_store_add_buffer_func),
15860         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15861         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15862         (gst_fakesink_render):
15863         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15864         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15865         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15866         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15867         (gst_filesrc_create_read):
15868         * gst/elements/gstidentity.c: (gst_identity_class_init):
15869         * gst/elements/gsttypefindelement.c:
15870         (gst_type_find_element_src_event), (free_entry_buffers),
15871         (gst_type_find_element_handle_event):
15872         * libs/gst/dataprotocol/dataprotocol.c:
15873         (gst_dp_header_from_buffer):
15874         * libs/gst/dataprotocol/dataprotocol.h:
15875         * libs/gst/dataprotocol/dp-private.h:
15876
15877 2005-05-15  David Schleef  <ds@schleef.org>
15878
15879         * gst/elements/gstelements.c: Don't include headers that were
15880         just removed.
15881
15882 2005-05-15  David Schleef  <ds@schleef.org>
15883
15884         * gst/elements/Makefile.am: Remove some elements that don't
15885         need to be in the core (or even exist at all).
15886         * gst/elements/gstaggregator.c:
15887         * gst/elements/gstaggregator.h:
15888         * gst/elements/gstmd5sink.c:
15889         * gst/elements/gstmd5sink.h:
15890         * gst/elements/gstmultifilesrc.c:
15891         * gst/elements/gstmultifilesrc.h:
15892         * gst/elements/gstpipefilter.c:
15893         * gst/elements/gstpipefilter.h:
15894         * gst/elements/gstshaper.c:
15895         * gst/elements/gstshaper.h:
15896         * gst/elements/gststatistics.c:
15897         * gst/elements/gststatistics.h:
15898         * po/POTFILES.in: Remove above files.
15899
15900 2005-05-14  Andy Wingo  <wingo@pobox.com>
15901
15902         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15903         so as to get the refs right.
15904         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15905         unreffing objects that don't pass the filter.
15906
15907         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15908         gst_element_set_bus.
15909         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15910         normal cases, this will destroy the bus.
15911
15912         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15913         object.
15914
15915         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15916         has no sinks.
15917
15918 2005-05-13  Andy Wingo  <wingo@pobox.com>
15919
15920         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15921         gst_pad_link, call pad_link_maybe_ghosting,
15922         (pad_link_maybe_ghosting): Links pads, making sure that the
15923         elements being linked are in the same bin.
15924         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15925         Helpers for pad_link_maybe_ghosting.
15926
15927 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15928
15929         * configure.ac:
15930           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15931
15932 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15933
15934         * docs/design/part-element-source.txt:
15935           Mention GstPushSrc
15936
15937 2005-05-12  Wim Taymans  <wim@fluendo.com>
15938
15939         * gst/base/gstbasesink.c: (gst_basesink_init),
15940         (gst_basesink_activate):
15941         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15942         (gst_basesrc_is_seekable):
15943         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15944         (bin_element_is_sink), (gst_bin_change_state):
15945         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15946         * gst/gstelement.h:
15947         Identify sinks by their flag to avoid overly complicated
15948         checks (fow now).
15949         Do state changes even for elements not reachable from the
15950         sinks.
15951         BaseSink is a sink now :)
15952         Some more debugging info in the basesrc.
15953
15954
15955 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15956
15957         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15958           Implement _query on a bin, similar to _send_event.
15959
15960 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15961
15962         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15963           Discont event offset format should be GST_FORMAT_BYTES,
15964           not GST_FORMAT_TIME.
15965
15966 2005-05-12  Wim Taymans  <wim@fluendo.com>
15967
15968         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15969         Same fix as Ronald's but without the signal. 
15970
15971 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15972
15973         * gst/gstutils.c: (gst_element_query_position):
15974           No, an element is not a pad.
15975
15976 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15977
15978         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15979         (gst_bin_get_state):
15980           If a child is removed from a bin while we remove the child from
15981           the bin and while we're retrieving its state, signal this to the
15982           get_state function so we abort the wait (instead of waiting for
15983           a timeout) and can immediately re-iterate over all other elements.
15984
15985 2005-05-12  Wim Taymans  <wim@fluendo.com>
15986
15987         * gst/base/Makefile.am:
15988         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15989         (gst_basesrc_start):
15990         * gst/base/gstbasesrc.h:
15991         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15992         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15993         (gst_pushsrc_init), (gst_pushsrc_create):
15994         * gst/base/gstpushsrc.h:
15995         Added is_seekable to BaseSrc
15996         Added simple PushSrc.
15997
15998 2005-05-11  Wim Taymans  <wim@fluendo.com>
15999
16000         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16001         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16002         (gst_element_link_pads), (gst_element_query_position),
16003         (gst_element_query_convert), (intersect_caps_func),
16004         (gst_pad_query_position), (gst_pad_query_convert):
16005         Fix refcounting in utils function.
16006         No point in trying to activate a pad when it's added, it could
16007         be added from the state change function and then we deadlock, the
16008         element has to decide what to do.
16009
16010 2005-05-10  Andy Wingo  <wingo@pobox.com>
16011
16012         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16013         *all* the arguments.
16014
16015         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16016         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16017         lock (according to the docs -- if this is wrong change the docs).
16018
16019         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16020         flush messages in the NULL state.
16021
16022         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16023         message immediately and return.
16024         (gst_bus_set_flushing): New function. If a bus is flushing, it
16025         flushes out any queued messages and immediately unrefs new
16026         messages. This is so when an element goes to NULL, all of the
16027         unhandled messages coming from it can be freed, and their
16028         references to the element dropped. In other words: message source
16029         ref considered harmful :P
16030
16031         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16032         we're finished with it.
16033
16034         * gst/gstmessage.c (gst_message_new_state_changed): 
16035
16036 2005-05-10  Wim Taymans  <wim@fluendo.com>
16037
16038         * gst/gstvalue.c: (gst_value_compare_flags),
16039         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16040         (_gst_value_initialize):
16041         Added flags serialize/deserialize/compare code.
16042
16043 2005-05-09  Andy Wingo  <wingo@pobox.com>
16044
16045         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16046         Intersect the peer's caps with our caps.
16047
16048 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16049
16050         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16051         * gst/elements/gsttypefindelement.c: (find_peek):
16052           Handle negative offsets better. Fixes decodebin.
16053
16054 2005-05-09  Wim Taymans  <wim@fluendo.com>
16055
16056         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16057         (gst_base_transform_event):
16058         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16059         Implement accept_caps.
16060         Fix silly lock/unlock mismatch in base class.
16061
16062 2005-05-09  Wim Taymans  <wim@fluendo.com>
16063
16064         * docs/design/draft-push-pull.txt:
16065         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16066         * gst/elements/gstfilesink.c: (gst_filesink_init),
16067         (gst_filesink_query):
16068         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16069         (gst_type_find_handle_src_query), (find_element_get_length):
16070         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16071         * gst/gstelement.h:
16072         * gst/gstmessage.c:
16073         * gst/gstmessage.h:
16074         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16075         (gst_real_pad_get_caps_unlocked),
16076         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16077         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16078         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16079         (gst_real_pad_dispose), (gst_real_pad_finalize),
16080         (gst_pad_load_and_link), (gst_pad_save_thyself),
16081         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16082         (gst_pad_check_pull_range), (gst_pad_pull_range),
16083         (gst_pad_template_get_type), (gst_pad_template_class_init),
16084         (gst_pad_template_init), (gst_pad_template_dispose),
16085         (name_is_valid), (gst_static_pad_template_get),
16086         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16087         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16088         (gst_pad_get_element_private), (gst_pad_start_task),
16089         (gst_pad_pause_task), (gst_pad_stop_task),
16090         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16091         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16092         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16093         (gst_ghost_pad_new):
16094         * gst/gstpad.h:
16095         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16096         (gst_query_new_position), (gst_query_set_position),
16097         (gst_query_parse_position), (gst_query_new_convert),
16098         (gst_query_set_convert), (gst_query_parse_convert):
16099         * gst/gstquery.h:
16100         * gst/gstqueryutils.c:
16101         * gst/gstqueryutils.h:
16102         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16103         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16104         (gst_queue_handle_src_query):
16105         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16106         (gst_element_query_position), (gst_element_query_convert),
16107         (intersect_caps_func), (gst_pad_query_position),
16108         (gst_pad_query_convert):
16109         * gst/gstutils.h:
16110         * tools/gst-inspect.c: (print_pad_info):
16111         * tools/gst-xmlinspect.c: (print_element_info):
16112         Remove old query functions. Ported old code.
16113         Added position/convert helper functions to gstutils.
16114         Reordered gstpad.c code, grouping relevant things.
16115         Remove gst_message_new(), always need to speficy a specific
16116         message.
16117
16118
16119 2005-05-09  Andy Wingo  <wingo@pobox.com>
16120
16121         * gst/gstiterator.h: Add some includes.
16122
16123         * gst/gstqueryutils.h: Include more headers.
16124
16125         * gst/gstpad.h:
16126         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16127         some uses of gst_pad_query.
16128
16129         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16130         NULL out parameters.
16131         (gst_query_new_position): New proc, allocates a new position
16132         query.
16133
16134         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16135         gstqueryutils.c to the build.
16136
16137         * gst/gststructure.c (gst_structure_set_valist): Implement with
16138         the generic G_VALUE_COLLECT.
16139         
16140 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16141
16142         * gst/Makefile.am: (gst_headers):
16143         Added gstqueryutils.h to the list of headers to install, that was
16144         a 'nachty' move wingo :)
16145
16146 2005-05-06  Andy Wingo  <wingo@pobox.com>
16147
16148         * gst/gstquery.h
16149         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16150         GstData, init a memchunk.
16151         (standard_definitions): Add a few query types, deprecate a few.
16152         (gst_query_get_type): New proc.
16153         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16154         implementation.
16155         (gst_query_new_application, gst_query_get_structure): New public
16156         procs.
16157
16158         * docs/design/draft-query.txt: Removed LINKS from the query types,
16159         because all the rest can be dispatched to other pads -- seemed
16160         ugly to have a query that couldn't be dispatched. internal_links
16161         is fine as a pad method.
16162
16163         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16164         in gstpad.c, but maintain binary compatibility for the moment.
16165         Will fix before 0.9 is out.
16166
16167         * gst/gstqueryutils.c: 
16168         * gst/gstqueryutils.h: New files, implement 3 methods for each
16169         query type: parse_query, parse_response, and set. Probably need an
16170         allocator as well.
16171
16172         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16173
16174         * gst/elements/gstfilesink.c (gst_filesink_query2):
16175         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16176         query_types, and formats methods.
16177
16178         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16179         (gst_pad_set_query2_function): New functions.
16180         (gst_real_pad_init): Set query2_default as the default query2
16181         function. Basically just dispatches to internally linked pads.
16182
16183         Needs review!
16184         
16185         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16186         without using the atomic operations. Only one thread can possibly
16187         be accessing the data at this point. Changed so as to avoid
16188         gst_atomic operations.
16189
16190 2005-05-06  Wim Taymans  <wim@fluendo.com>
16191
16192         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16193         Also set caps if we use the fallback buffer alloc.
16194
16195 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16196
16197         * docs/gst/Makefile.am:
16198         * docs/gst/gstreamer-docs.sgml:
16199         * docs/gst/gstreamer-sections.txt:
16200         * docs/gst/tmpl/gstatomic.sgml:
16201         * docs/gst/tmpl/gstmemchunk.sgml:
16202         * testsuite/elements/struct_i386.h:
16203         * win32/GStreamer.vcproj:
16204         * win32/Makefile:
16205           Purge GstAtomic stuff from docs and win32 makefiles as well
16206
16207 2005-05-06  Wim Taymans  <wim@fluendo.com>
16208
16209         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16210         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16211         * gst/gstpad.c: (gst_pad_peer_get_caps):
16212         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16213         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16214         (gst_queue_src_activate), (gst_queue_change_state):
16215         * gst/gstqueue.h:
16216         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16217         (intersect_caps_func):
16218         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16219         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16220         Some fixes for the peer_get_caps() change.
16221
16222 2005-05-06  Wim Taymans  <wim@fluendo.com>
16223
16224         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16225         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16226         (gst_basesink_activate):
16227         Actually do something with error codes returned from the push
16228         functions.
16229
16230 2005-05-06  Wim Taymans  <wim@fluendo.com>
16231
16232         * docs/design/part-element-sink.txt:
16233         * docs/design/part-element-source.txt:
16234         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16235         (gst_basesink_event), (gst_basesink_activate):
16236         * gst/base/gstbasesink.h:
16237         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16238         (gst_basesrc_activate):
16239         * gst/base/gstbasesrc.h:
16240         * gst/gstelement.c: (gst_element_pads_activate):
16241         Some more documentation.
16242         Fixed scheduling decision in _pads_activate().
16243
16244 2005-05-05  Andy Wingo  <wingo@pobox.com>
16245
16246         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16247         the test suite.
16248
16249 2005-05-05  Wim Taymans  <wim@fluendo.com>
16250
16251         * gst/base/Makefile.am:
16252         * gst/base/gstbasesink.h:
16253         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16254         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16255         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16256         (gst_collectpads_class_init), (gst_collectpads_init),
16257         (gst_collectpads_finalize), (gst_collectpads_new),
16258         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16259         (find_pad), (gst_collectpads_remove_pad),
16260         (gst_collectpads_is_active), (gst_collectpads_collect),
16261         (gst_collectpads_collect_range), (gst_collectpads_start),
16262         (gst_collectpads_stop), (gst_collectpads_peek),
16263         (gst_collectpads_pop), (gst_collectpads_available),
16264         (gst_collectpads_read), (gst_collectpads_flush),
16265         (gst_collectpads_chain):
16266         * gst/base/gstcollectpads.h:
16267         * gst/elements/Makefile.am:
16268         * gst/elements/gstelements.c:
16269         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16270         (gst_fakesink_get_times), (gst_fakesink_event),
16271         (gst_fakesink_preroll), (gst_fakesink_render):
16272         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16273         (gst_filesink_init), (gst_filesink_set_location),
16274         (gst_filesink_open_file), (gst_filesink_close_file),
16275         (gst_filesink_pad_query), (gst_filesink_event),
16276         (gst_filesink_render), (gst_filesink_change_state):
16277         * gst/elements/gstfilesink.h:
16278         Added object to help in making collect pad based elements.
16279         Ported filesink.
16280         Make event function in sink baseclass return gboolean.
16281
16282 2005-05-05  Wim Taymans  <wim@fluendo.com>
16283
16284         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16285         (gst_bin_get_by_name):
16286         * gst/gstbuffer.h:
16287         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16288         (gst_clock_finalize):
16289         * gst/gstdata.c: (gst_data_replace):
16290         * gst/gstdata.h:
16291         * gst/gstelement.c: (gst_element_request_pad),
16292         (gst_element_pads_activate):
16293         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16294         (gst_object_unref):
16295         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16296         (gst_pad_set_checkgetrange_function),
16297         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16298         (gst_pad_check_pull_range), (gst_pad_pull_range),
16299         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16300         (gst_pad_pause_task), (gst_pad_stop_task):
16301         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16302         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16303         Fix name lookup in GstBin.
16304         Added _data_replace() function and _buffer_replace()
16305         Use finalize method to clean up clock.
16306         Fix refcounting on request pads.
16307         Fix pad schedule mode error.
16308         Some more object refcounting debug info,
16309
16310
16311 2005-05-04  Andy Wingo <wingo@pobox.com>
16312
16313         * check/Makefile.am:
16314         * docs/gst/tmpl/gstatomic.sgml:
16315         * docs/gst/tmpl/gstplugin.sgml:
16316         * gst/base/gstbasesink.c: (gst_basesink_activate):
16317         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16318         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16319         (gst_basesrc_query), (gst_basesrc_set_property),
16320         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16321         (gst_basesrc_activate):
16322         * gst/base/gstbasesrc.h:
16323         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16324         (gst_base_transform_src_activate):
16325         * gst/elements/gstelements.c:
16326         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16327         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16328         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16329         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16330         (gst_type_find_element_checkgetrange),
16331         (gst_type_find_element_activate):
16332         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16333         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16334         (gst_caps_load_thyself):
16335         * gst/gstelement.c: (gst_element_pads_activate),
16336         (gst_element_save_thyself), (gst_element_restore_thyself):
16337         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16338         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16339         * gst/gstpad.h:
16340         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16341         (gst_xml_parse_file), (gst_xml_parse_memory),
16342         (gst_xml_get_element), (gst_xml_make_element):
16343         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16344         (_file_index_id_save_xml), (gst_file_index_commit):
16345         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16346         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16347         (load_paths):
16348         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16349         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16350         * tools/gst-complete.c: (main):
16351         * tools/gst-compprep.c: (main):
16352         * tools/gst-inspect.c: (print_element_properties_info):
16353         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16354         * tools/gst-xmlinspect.c: (print_element_properties):
16355         GCC 4 fixen.
16356         
16357 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16358
16359         * gst/gstplugin.c: (gst_plugin_check_module),
16360         (gst_plugin_check_file), (gst_plugin_load_file):
16361             apply patch from #172526 to make register work on MacOSX
16362
16363 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16364
16365         * docs/gst/tmpl/gstconfig.sgml:
16366         * gst/gstconfig.h.in:
16367           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16368         * testsuite/debug/printf_extension.c: (main):
16369           Do not use GST_PTR_FORMAT on pointers to types with
16370           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16371         * testsuite/elements/property.h:
16372           use correct printf format
16373
16374 2005-05-02  Wim Taymans  <wim@fluendo.com>
16375
16376         * docs/design/draft-push-pull.txt:
16377         * docs/design/draft-query.txt:
16378         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16379         (gst_basesrc_start):
16380         Added draft for new query API.
16381         Added draft for better selecting scheduling methods.
16382         Make basesrc ignore length if the subclass does not support
16383         it.
16384
16385 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16386
16387         * gst/Makefile.am:
16388           possible fixes for automake-1.5 - _LIBADD is reserved
16389
16390 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16391
16392         * docs/faq/Makefile.am:
16393         * docs/manual/Makefile.am:
16394         * docs/manuals.mak:
16395         * docs/pwg/Makefile.am:
16396         * gst/Makefile.am:
16397           possible fixes for automake-1.5
16398
16399 2005-04-28  Wim Taymans  <wim@fluendo.com>
16400
16401         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16402         (gst_basesink_pad_getcaps), (gst_basesink_init),
16403         (gst_basesink_do_sync):
16404         * gst/gstclock.c: (gst_clock_entry_new):
16405         * gst/gstevent.c: (gst_event_discont_get_value):
16406         * gst/gstpipeline.c: (pipeline_bus_handler),
16407         (gst_pipeline_change_state):
16408         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16409         Better debugging of clocking info.
16410         Allow NULL values when getting discont values.
16411
16412 2005-04-27  Wim Taymans  <wim@fluendo.com>
16413
16414         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16415         * check/gst/gstpad.c: (gst_pad_suite):
16416         Increase timeout for checks.
16417
16418 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16419
16420         * check/Makefile.am:
16421           fix the broken rule for cleanup.  Apparently this rule is
16422           only needed on FC2, so maybe this warrants further autotool
16423           inspection.
16424
16425 2005-04-26  Wim Taymans  <wim@fluendo.com>
16426
16427         * gst/gsttrashstack.h:
16428         Ooohh. a nasty one! After having a failed pop() from the stack,
16429         it's possible that the stack is empty. In that case, don't
16430         follow the NULL pointer.
16431
16432 2005-04-25  Wim Taymans  <wim@fluendo.com>
16433
16434         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16435         (gst_pad_set_checkgetrange_function),
16436         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16437         (gst_pad_check_pull_range), (gst_pad_pull_range),
16438         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16439         (gst_pad_pause_task), (gst_pad_stop_task):
16440         * gst/gstplugin.c: (gst_plugin_load):
16441         * gst/gstplugin.h:
16442         Remove gst_library_load as it does more harm than good with
16443         the new g_module flags.
16444         Revert bogus caps template check in pad linking, pad caps
16445         are important when linking not the template, which is more
16446         general than the current caps.
16447
16448 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16449
16450         * gst/autoplug/.cvsignore:
16451         * gst/autoplug/Makefile.am:
16452         * gst/autoplug/gstsearchfuncs.c:
16453         * gst/autoplug/gstsearchfuncs.h:
16454         * gst/autoplug/gstspider.c:
16455         * gst/autoplug/gstspider.h:
16456         * gst/autoplug/gstspideridentity.c:
16457         * gst/autoplug/gstspideridentity.h:
16458         * gst/autoplug/spidertest.c:
16459           Die, spider, die.
16460
16461 2005-04-25  Wim Taymans  <wim@fluendo.com>
16462
16463         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16464         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16465         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16466         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16467         * gst/gstpad.h:
16468         Added stubs for unimplemented functions. 
16469
16470 2005-04-24  David Schleef  <ds@schleef.org>
16471
16472         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16473         please fix.
16474
16475 2005-04-24  David Schleef  <ds@schleef.org>
16476
16477         Convert everything from GstAtomicInt to g_atomic_int_*, and
16478         remove gstatomic.
16479         * gst/Makefile.am:
16480         * gst/gstatomic.c:
16481         * gst/gstatomic.h:
16482         * gst/gstatomic_impl.h:
16483         * gst/gstbuffer.c:
16484         * gst/gstcaps.c:
16485         * gst/gstcaps.h:
16486         * gst/gstclock.c:
16487         * gst/gstclock.h:
16488         * gst/gstdata.c:
16489         * gst/gstdata.h:
16490         * gst/gstdata_private.h:
16491         * gst/gstevent.c:
16492         * gst/gstinfo.c:
16493         * gst/gstinfo.h:
16494         * gst/gstmessage.c:
16495         * gst/gstobject.c:
16496         * gst/gstobject.h:
16497         * gst/gststructure.c:
16498         * gst/gststructure.h:
16499         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16500         * gst/gstutils.h:
16501
16502 2005-04-24  David Schleef  <ds@schleef.org>
16503
16504         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16505         make the regressions tests work.  Remove some code that is no
16506         longer true.
16507         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16508         Disable warning for pads without templates.
16509
16510 2005-04-24  David Schleef  <ds@schleef.org>
16511
16512         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16513         functions that handle filtered links.
16514         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16515         removed functions.
16516         * gst/gstutils.c: Fix/remove utility functions that handle
16517         filtered caps.
16518         * gst/gstutils.h:
16519         * gst/gstvalue.c: Add serialization/deserialization of caps
16520         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16521         requires fixing so that the filter caps notation creates
16522         a capsfilter element and sets the filter_caps property.  I
16523         think everyone probably wants to keep the shorthand notation.
16524         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16525         * docs/gst/tmpl/gstpad.sgml:
16526
16527         * gst/elements/gstelements.c: Register capsfilter element.
16528         * gst/Makefile.am: fix spacing
16529         * docs/random/ds/0.9-suggested-changes: random
16530
16531 2005-04-23  David Schleef  <ds@schleef.org>
16532
16533         * gst/elements/Makefile.am:
16534         * gst/elements/gstcapsfilter.c: New element that acts like an
16535         identity, but filters caps.  Will eventually replace filtered
16536         caps in pad linking.
16537         * gst/gstutils.c: (gst_element_create_all_pads): New function
16538         to create all the ALWAYS pads that are registered with an
16539         element class.  This functionality should eventually be
16540         merged in with GstElement initialization.
16541         * gst/gstutils.h:
16542         * testsuite/trigger/README: part of trigger test code that should
16543         have been checked in a long time ago.
16544
16545 2005-04-23  David Schleef  <ds@schleef.org>
16546
16547         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16548         needed with new versions of libtool (nobody will confirm this),
16549         and hard to carry around.
16550         * gst/autoplug/Makefile.am:
16551         * gst/base/Makefile.am:
16552         * gst/elements/Makefile.am:
16553         * gst/indexers/Makefile.am:
16554         * gst/schedulers/Makefile.am:
16555         * libs/gst/bytestream/Makefile.am:
16556         * libs/gst/control/Makefile.am:
16557         * libs/gst/dataprotocol/Makefile.am:
16558         * libs/gst/getbits/Makefile.am:
16559
16560 2005-04-21  Wim Taymans  <wim@fluendo.com>
16561
16562         * docs/design/draft-push-pull.txt:
16563         * docs/design/part-MT-refcounting.txt:
16564         * docs/design/part-TODO.txt:
16565         * docs/design/part-caps.txt:
16566         * docs/design/part-events.txt:
16567         * docs/design/part-gstbus.txt:
16568         * docs/design/part-gstpipeline.txt:
16569         * docs/design/part-messages.txt:
16570         * docs/design/part-push-pull.txt:
16571         * docs/design/part-query.txt:
16572         Some more docs.
16573
16574 2005-04-21  Wim Taymans  <wim@fluendo.com>
16575
16576         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16577         (gst_message_new), (gst_message_new_error),
16578         (gst_message_new_warning), (gst_message_new_tag),
16579         (gst_message_new_state_changed), (gst_message_new_application),
16580         (gst_message_get_structure):
16581         * gst/gstmessage.h:
16582         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16583         (gst_structure_copy_conditional):
16584         Use parent refcount in GstMessage to ensure GstStructure
16585         consistency.
16586         Cleaned up headers a bit.
16587         
16588
16589 2005-04-20  Wim Taymans  <wim@fluendo.com>
16590
16591         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16592         (gst_basesink_pad_getcaps), (gst_basesink_init),
16593         (gst_basesink_chain_unlocked):
16594         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16595         (gst_type_find_helper):
16596         * gst/elements/gsttypefindelement.c:
16597         (gst_type_find_element_have_type), (gst_type_find_element_init),
16598         (stop_typefinding), (gst_type_find_element_handle_event),
16599         (find_suggest), (gst_type_find_element_chain),
16600         (gst_type_find_element_checkgetrange),
16601         (gst_type_find_element_getrange), (do_typefind),
16602         (gst_type_find_element_activate):
16603         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16604         (gst_buffer_default_free), (gst_buffer_default_copy),
16605         (gst_buffer_set_caps):
16606         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16607         (gst_caps_replace):
16608         * gst/gstmessage.c: (gst_message_new),
16609         (gst_message_new_state_changed):
16610         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16611         (gst_pad_set_checkgetrange_function),
16612         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16613         (gst_pad_set_caps), (gst_pad_check_pull_range),
16614         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16615         * gst/gstpad.h:
16616         * gst/gsttypefind.c: (gst_type_find_register):
16617         Make gst_caps_replace() work like other _replace() functions.
16618         Use _caps_replace() where possible.
16619         Make sure _message_new() initialises its field.
16620         Add gst_static_pad_template_get_caps()
16621
16622
16623 2005-04-18  Andy Wingo  <wingo@pobox.com>
16624
16625         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16626         on the peer, not the pad. I think that was a typo. Pass an extra
16627         arg to see if random access is possible. Activate the pads as
16628         PULL_RANGE if possible.
16629
16630         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16631
16632         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16633         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16634         to PROP_....
16635
16636 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16637
16638         * docs/faq/using.xml:
16639           Add note on gstreamer-properties (#154996).
16640
16641 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16642
16643         * docs/random/bbb/optional-properties:
16644           Some analysis on optional properties.
16645
16646 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16647
16648         * docs/gst/tmpl/gstelementfactory.sgml:
16649         * gst/gstelement.h:
16650         * gst/gstelementfactory.c: (gst_element_factory_init),
16651         (gst_element_factory_cleanup), (gst_element_register),
16652         (__gst_element_factory_add_static_pad_template),
16653         (gst_element_factory_get_static_pad_templates),
16654         (gst_element_factory_can_src_caps),
16655         (gst_element_factory_can_sink_caps):
16656         * gst/registries/Makefile.am:
16657         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16658         (gst_xml_registry_class_init), (gst_xml_registry_init),
16659         (gst_xml_registry_new), (gst_xml_registry_set_property),
16660         (gst_xml_registry_get_property), (get_time), (make_dir),
16661         (gst_xml_registry_get_perms_func),
16662         (plugin_times_older_than_recurse), (plugin_times_older_than),
16663         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16664         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16665         (add_to_char_array), (read_string), (read_uint), (read_enum),
16666         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16667         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16668         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16669         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16670         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16671         (gst_xml_registry_rebuild):
16672         * gst/registries/gstlibxmlregistry.h:
16673         * tools/gst-compprep.c: (main):
16674         * tools/gst-inspect.c: (print_pad_templates_info):
16675         * tools/gst-xmlinspect.c: (print_element_info):
16676           Use libxml2 for registry parsing, use staticpadtemplates in
16677           elementfactories. Makes gst_init() +/- 10x faster.
16678
16679 2005-04-12  Wim Taymans  <wim@fluendo.com>
16680
16681         * gst/base/Makefile.am:
16682         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16683         (gst_basesink_pad_getcaps), (gst_basesink_init),
16684         (gst_basesink_event), (gst_basesink_change_state):
16685         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16686         (gst_basesrc_init), (gst_basesrc_query),
16687         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16688         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16689         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16690         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16691         (gst_basesrc_stop), (gst_basesrc_activate),
16692         (gst_basesrc_change_state):
16693         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16694         (helper_find_suggest), (gst_type_find_helper):
16695         * gst/base/gsttypefindhelper.h:
16696         * gst/elements/Makefile.am:
16697         * gst/elements/gstelements.c:
16698         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16699         (gst_fakesink_get_times), (gst_fakesink_event),
16700         (gst_fakesink_preroll), (gst_fakesink_render):
16701         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16702         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16703         (gst_fakesrc_get_property), (gst_fakesrc_create),
16704         (gst_fakesrc_start), (gst_fakesrc_stop):
16705         * gst/elements/gstfakesrc.h:
16706         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16707         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16708         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16709         (gst_filesrc_create_read), (gst_filesrc_create),
16710         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16711         (gst_filesrc_start):
16712         * gst/elements/gsttypefindelement.c:
16713         (gst_type_find_element_have_type), (gst_type_find_element_init),
16714         (start_typefinding), (stop_typefinding), (push_buffer_store),
16715         (gst_type_find_element_handle_event),
16716         (gst_type_find_element_chain),
16717         (gst_type_find_element_checkgetrange),
16718         (gst_type_find_element_getrange), (do_typefind),
16719         (gst_type_find_element_activate),
16720         (gst_type_find_element_change_state):
16721         * gst/elements/gsttypefindelement.h:
16722         * gst/gstpipeline.c: (pipeline_bus_handler):
16723         Added typefind helper.
16724         Small preroll fix in the base sink.
16725         Disable typefind code in basesrc.
16726         Crude port of typefindelement.
16727         Fakesrc cleanups.
16728
16729
16730 2005-04-11  Wim Taymans  <wim@fluendo.com>
16731
16732         * check/gst/gstbus.c: (gstbus_suite):
16733         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16734         * check/gstcheck.h:
16735           Fix up the timeout so that the test does not fail.
16736
16737 2005-04-06  Wim Taymans  <wim@fluendo.com>
16738
16739         * gst/base/README:
16740         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16741         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16742         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16743         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16744         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16745         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16746         (gst_basesrc_stop), (gst_basesrc_activate),
16747         (gst_basesrc_change_state), (basesrc_find_peek),
16748         (basesrc_find_suggest), (gst_basesrc_type_find):
16749         * gst/base/gstbasesrc.h:
16750         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16751         (gst_filesrc_class_init), (gst_filesrc_init),
16752         (gst_filesrc_finalize), (gst_filesrc_set_location),
16753         (gst_filesrc_set_property), (gst_filesrc_get_property),
16754         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16755         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16756         (gst_filesrc_create_read), (gst_filesrc_create),
16757         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16758         * gst/elements/gstfilesrc.h:
16759         * gst/gstelement.c: (gst_element_get_state_func),
16760         (gst_element_lost_state), (gst_element_pads_activate):
16761         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16762         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16763         (gst_pad_pull_range):
16764         * gst/gstpad.h:
16765         More work on the generic source base class, implement seeking,
16766         query.
16767         Make filesrc extend the base source class.
16768         Added gst_pad_set_checkgetrange_function to GstPad.
16769
16770 2005-04-06  Andy Wingo  <wingo@pobox.com>
16771
16772         * pkgconfig/gstreamer-base.pc.in:
16773         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16774
16775         * pkgconfig/Makefile.am:
16776         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16777
16778 2005-04-04  Wim Taymans  <wim@fluendo.com>
16779
16780         * gst/base/Makefile.am:
16781         * gst/base/README:
16782         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16783         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16784         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16785         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16786         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16787         (gst_basesrc_base_init), (gst_basesrc_class_init),
16788         (gst_basesrc_init), (gst_basesrc_get_formats),
16789         (gst_basesrc_get_query_types), (gst_basesrc_query),
16790         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16791         (gst_basesrc_set_property), (gst_basesrc_get_property),
16792         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16793         (gst_basesrc_loop), (gst_basesrc_activate),
16794         (gst_basesrc_change_state):
16795         * gst/base/gstbasesrc.h:
16796         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16797         (gst_fakesrc_class_init), (gst_fakesrc_init),
16798         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16799         (gst_fakesrc_get_property), (gst_fakesrc_create):
16800         * gst/elements/gstfakesrc.h:
16801         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16802         (gst_filesrc_open_file), (gst_filesrc_loop),
16803         (gst_filesrc_activate), (filesrc_find_peek),
16804         (gst_filesrc_type_find):
16805         Made base source class, make fakesrc extend it.
16806         Add comments to basesink class.
16807         Some filesrc cleanup.
16808
16809 2005-03-31  David Schleef  <ds@schleef.org>
16810
16811         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16812         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16813         expected to link against libgstreamer.
16814         * gst/base/Makefile.am: link against libgstreamer
16815         * gst/elements/Makefile.am: same
16816
16817 2005-03-31  Andy Wingo  <wingo@pobox.com>
16818
16819         * tests/instantiate/Makefile.am:
16820         * tests/instantiate/caps.c: Add test to test speed of caps copy
16821         and free.
16822
16823         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16824         GMemChunk to be fair.
16825
16826         * gst/gsttrashstack.h: Remove warning about using the fallback
16827         trash stack implementation, it's still faster than malloc.
16828
16829 2005-03-30  Andy Wingo  <wingo@pobox.com>
16830
16831         * tests/complexity.c: Add a copyright.
16832
16833 2005-03-31  Wim Taymans  <wim@fluendo.com>
16834
16835         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16836         (gst_base_transform_class_init), (gst_base_transform_init),
16837         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16838         (gst_base_transform_get_property),
16839         (gst_base_transform_sink_activate),
16840         (gst_base_transform_src_activate),
16841         (gst_base_transform_change_state):
16842         * gst/base/gstbasetransform.h:
16843         * gst/elements/gstidentity.c: (gst_identity_class_init),
16844         (gst_identity_event), (gst_identity_check_perfect),
16845         (gst_identity_transform), (gst_identity_start),
16846         (gst_identity_stop):
16847         Added start/stop methods to transform base class so subclasses 
16848         don't need to deal with state changes even.
16849
16850 2005-03-31  Wim Taymans  <wim@fluendo.com>
16851
16852         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16853         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16854         * gst/gstevent.h:
16855         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16856         (gst_pad_pull_range):
16857         Added rate to the discont event to prepare for variable speed
16858         and reverse playback.
16859
16860 2005-03-29  David Schleef  <ds@schleef.org>
16861
16862         * configure.ac:
16863         * testsuite/trigger/Makefile.am:
16864         * testsuite/trigger/trigger.c: A little example program to show
16865         how trigger-based elements can work.
16866
16867 2005-03-29  Wim Taymans  <wim@fluendo.com>
16868
16869         * gst/base/Makefile.am:
16870         * gst/base/README:
16871         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16872         (gst_basesink_base_init), (gst_basesink_class_init),
16873         (gst_basesink_pad_getcaps), (gst_basesink_init),
16874         (gst_basesink_activate), (gst_basesink_change_state):
16875         * gst/base/gstbasesink.h:
16876         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16877         (gst_base_transform_base_init), (gst_base_transform_finalize),
16878         (gst_base_transform_class_init), (gst_base_transform_init),
16879         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16880         (gst_base_transform_event), (gst_base_transform_getrange),
16881         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16882         (gst_base_transform_set_property),
16883         (gst_base_transform_get_property),
16884         (gst_base_transform_sink_activate),
16885         (gst_base_transform_src_activate),
16886         (gst_base_transform_change_state):
16887         * gst/base/gstbasetransform.h:
16888         * gst/elements/gstidentity.c: (gst_identity_finalize),
16889         (gst_identity_class_init), (gst_identity_init),
16890         (gst_identity_event), (gst_identity_check_perfect),
16891         (gst_identity_transform), (gst_identity_set_property),
16892         (gst_identity_get_property), (gst_identity_change_state):
16893         * gst/elements/gstidentity.h:
16894         * gst/gstelement.c: (gst_element_get_state_func),
16895         (gst_element_lost_state), (gst_element_pads_activate):
16896         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16897         (gst_pad_check_pull_range), (gst_pad_pull_range):
16898         * gst/gstpad.h:
16899         Simplify pad activation.
16900         Added function to check if pull_range can be performed.
16901         Error out when pulling inactive or flushing pads.
16902         Removed const from refcounted types as it does not make sense.
16903         Simplify pad templates in basesink
16904         Added base class for simple 1-to-1 transforms.
16905         Make identity subclass the base transform.
16906
16907 2005-03-29  Andy Wingo  <wingo@pobox.com>
16908
16909         * docs/libs/gstreamer-libs-overrides.txt: 
16910         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16911         really don't understand what's going on, but like whatever. I want
16912         green buildbot!
16913
16914         * docs/gst/Makefile.am:
16915         * docs/libs/Makefile.am: Dist the overrides files.
16916
16917         * check/Makefile.am (clean-local): Remove .libs directories.
16918
16919         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16920         elements to EXTRA_DIST, so po/ files are happy.
16921
16922         * po/POTFILES.in: Er, remove it here.
16923
16924         * po/POTFILES: Remove gstspider.c.
16925
16926         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16927
16928         * docs/libs/gstreamer-libs-docs.sgml: 
16929         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16930         bytestream.
16931
16932         * tests/complexity.c (main): Set the length of the preroll queue
16933         on the sinks to prevent a lockup.
16934
16935         * libs/gst/dataprotocol/Makefile.am: 
16936         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16937         the same as the one in check/gst-libs/gdp.c.
16938
16939         * po/, docs/gst/: Commit automatic changes to docs and po files.
16940
16941         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16942         the versioned libgstbase.
16943
16944         * check/Makefile.am: Depend on an unversioned gst-register, seems
16945         to make autoconf happier.
16946
16947         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16948
16949 2005-03-28  Wim Taymans  <wim@fluendo.com>
16950
16951         * configure.ac:
16952         * docs/design/part-gstelement.txt:
16953         * docs/design/part-negotiation.txt:
16954         * docs/design/part-preroll.txt:
16955         * docs/design/part-scheduling.txt:
16956         * docs/design/part-states.txt:
16957         * gst/Makefile.am:
16958         * gst/base/Makefile.am:
16959         * gst/base/README:
16960         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16961         (gst_basesink_base_init), (gst_basesink_class_init),
16962         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16963         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16964         (gst_basesink_set_pad_functions),
16965         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16966         (gst_basesink_set_property), (gst_basesink_get_property),
16967         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16968         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16969         (gst_basesink_preroll_queue_push),
16970         (gst_basesink_preroll_queue_empty),
16971         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16972         (gst_basesink_event), (gst_basesink_get_times),
16973         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16974         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16975         (gst_basesink_loop), (gst_basesink_activate),
16976         (gst_basesink_change_state):
16977         * gst/base/gstbasesink.h:
16978         * gst/elements/Makefile.am:
16979         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16980         (gst_fakesink_class_init), (gst_fakesink_init),
16981         (gst_fakesink_set_property), (gst_fakesink_get_property),
16982         (gst_fakesink_get_times), (gst_fakesink_event),
16983         (gst_fakesink_preroll), (gst_fakesink_render),
16984         (gst_fakesink_change_state):
16985         * gst/elements/gstfakesink.h:
16986         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16987         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16988         * gst/gstelement.c: (gst_element_add_pad),
16989         (gst_element_get_state_func), (gst_element_abort_state),
16990         (gst_element_commit_state), (gst_element_lost_state),
16991         (gst_element_set_state), (gst_element_pads_activate):
16992         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16993         * gst/gstpipeline.c: (gst_pipeline_send_event),
16994         (gst_pipeline_change_state):
16995         Added state change code.
16996         Added/updated docs.
16997         Added sink base class, make fakesink extend the base class.
16998         Small cleanups in GstPipeline.
16999
17000 2005-03-26  David Schleef  <ds@schleef.org>
17001
17002         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17003         is broken and should be implemented in a different library.
17004         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17005         * gst/gst.h: remove gstcpu.h
17006         * gst/gstcpu.c: remove
17007         * gst/gstcpu.h: remove
17008         * gst/Makefile.am.future: Remove this file.  It's ancient.
17009
17010 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17011
17012         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17013         (gst_bin_send_event):
17014           Add default event/set_manager handlers. The set_manager handler
17015           takes care that the manager is distributed over kids that were
17016           already in the bin before the manager was set. The event handler
17017           is a utility virtual function that sends the event over all sinks,
17018           so that gst_element_send_event (bin, event); has the expected
17019           behaviour.
17020         * gst/gstpad.c: (gst_pad_event_default):
17021           Re-install default event handling for discontinuities, so that
17022           seeking works without requiring hacks in applications or extra
17023           code in sinks.
17024         * gst/gstpipeline.c: (gst_pipeline_class_init),
17025         (gst_pipeline_send_event):
17026           Half hack, half utility: set a pipeline to PAUSED for seek events,
17027           since that is the only way we can guarantee a/v sync. Means that
17028           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17029           and it "just works".
17030
17031 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17032
17033         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17034           Lock/unlock mismatch.
17035
17036 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17037
17038         * docs/faq/gst-uninstalled:
17039           add gst-plugins-base
17040         * docs/gst/Makefile.am:
17041           don't error out until docs are fixed
17042         * docs/gst/gstreamer.types:
17043           remove thread
17044
17045 2005-03-22  Wim Taymans  <wim@fluendo.com>
17046
17047         * check/Makefile.am:
17048         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17049         * gst/gststructure.c: (gst_structure_set_valist),
17050         (gst_structure_copy_conditional):
17051         Activated more tests.
17052         Added message test.
17053         Added G_TYPE_POINTER to GstStructure.
17054         
17055
17056 2005-03-22  Wim Taymans  <wim@fluendo.com>
17057
17058         * docs/design/part-TODO.txt:
17059         * docs/design/part-events.txt:
17060         * docs/design/part-gstbin.txt:
17061         * docs/design/part-gstbus.txt:
17062         * docs/design/part-gstpipeline.txt:
17063         * docs/design/part-messages.txt:
17064         * gst/gstbus.c:
17065         * gst/gstmessage.c:
17066         Docs updates
17067
17068 2005-03-21  Wim Taymans  <wim@fluendo.com>
17069
17070         * gst/gstbus.c: (gst_bus_post):
17071         Fix copy-and-paste error.
17072
17073 2005-03-21  Wim Taymans  <wim@fluendo.com>
17074
17075         * check/Makefile.am:
17076         * gst/Makefile.am:
17077         * gst/elements/Makefile.am:
17078         * gst/elements/gstelements.c:
17079         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17080         (gst_fakesink_event), (gst_fakesink_chain):
17081         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17082         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17083         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17084         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17085         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17086         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17087         (gst_fakesrc_loop), (gst_fakesrc_activate),
17088         (gst_fakesrc_change_state):
17089         * gst/elements/gstfakesrc.h:
17090         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17091         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17092         (gst_filesrc_open_file), (gst_filesrc_loop),
17093         (gst_filesrc_activate), (gst_filesrc_change_state),
17094         (filesrc_find_peek), (filesrc_find_suggest),
17095         (gst_filesrc_type_find):
17096         * gst/elements/gstidentity.c: (gst_identity_finalize),
17097         (gst_identity_class_init), (gst_identity_init),
17098         (gst_identity_proxy_getcaps), (identity_queue_push),
17099         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17100         (gst_identity_getrange), (gst_identity_chain),
17101         (gst_identity_sink_loop), (gst_identity_src_loop),
17102         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17103         (gst_identity_set_property), (gst_identity_get_property),
17104         (gst_identity_change_state):
17105         * gst/elements/gstidentity.h:
17106         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17107         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17108         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17109         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17110         (gst_tee_sink_activate):
17111         * gst/elements/gsttee.h:
17112         * gst/gst.c: (gst_register_core_elements), (init_post):
17113         * gst/gst.h:
17114         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17115         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17116         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17117         (gst_bin_change_state):
17118         * gst/gstbin.h:
17119         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17120         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17121         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17122         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17123         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17124         (bus_watch_callback), (bus_watch_destroy),
17125         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17126         (poll_timeout), (gst_bus_poll):
17127         * gst/gstbus.h:
17128         * gst/gstcaps.h:
17129         * gst/gstdata.h:
17130         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17131         (gst_element_post_message), (gst_element_message_full),
17132         (gst_element_get_state_func), (gst_element_get_state),
17133         (gst_element_abort_state), (gst_element_commit_state),
17134         (gst_element_lost_state), (gst_element_set_state),
17135         (gst_element_pads_activate), (gst_element_change_state),
17136         (gst_element_dispose), (gst_element_set_manager_func),
17137         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17138         (gst_element_set_manager), (gst_element_get_manager),
17139         (gst_element_set_bus), (gst_element_get_bus),
17140         (gst_element_set_scheduler), (gst_element_get_scheduler):
17141         * gst/gstelement.h:
17142         * gst/gstevent.c: (gst_event_new_segment_seek),
17143         (gst_event_new_flush):
17144         * gst/gstevent.h:
17145         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17146         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17147         (gst_message_new_eos), (gst_message_new_error),
17148         (gst_message_new_warning), (gst_message_new_tag),
17149         (gst_message_new_state_changed), (gst_message_new_application),
17150         (gst_message_get_structure), (gst_message_parse_tag),
17151         (gst_message_parse_state_changed), (gst_message_parse_error),
17152         (gst_message_parse_warning):
17153         * gst/gstmessage.h:
17154         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17155         (gst_real_pad_set_property), (gst_pad_set_active),
17156         (gst_pad_is_active), (gst_pad_set_blocked_async),
17157         (gst_pad_set_blocked), (gst_pad_is_blocked),
17158         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17159         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17160         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17161         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17162         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17163         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17164         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17165         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17166         (gst_pad_set_caps), (gst_pad_configure_sink),
17167         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17168         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17169         (gst_real_pad_dispose), (gst_real_pad_finalize),
17170         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17171         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17172         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17173         * gst/gstpad.h:
17174         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17175         (pipeline_bus_handler), (gst_pipeline_change_state),
17176         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17177         * gst/gstpipeline.h:
17178         * gst/gstprobe.h:
17179         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17180         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17181         (gst_queue_link_src), (gst_queue_bufferalloc),
17182         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17183         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17184         (gst_queue_loop), (gst_queue_handle_src_event),
17185         (gst_queue_handle_src_query), (gst_queue_src_activate),
17186         (gst_queue_change_state):
17187         * gst/gstqueue.h:
17188         * gst/gstscheduler.c: (gst_scheduler_init),
17189         (gst_scheduler_dispose), (gst_scheduler_create_task),
17190         (gst_scheduler_factory_create):
17191         * gst/gstscheduler.h:
17192         * gst/gststructure.c: (gst_structure_get_type),
17193         (gst_structure_copy_conditional):
17194         * gst/gststructure.h:
17195         * gst/gsttaginterface.h:
17196         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17197         (gst_task_init), (gst_task_dispose), (gst_task_create),
17198         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17199         (gst_task_pause):
17200         * gst/gsttask.h:
17201         * gst/gstthread.c:
17202         * gst/gstthread.h:
17203         * gst/gsttypes.h:
17204         * gst/schedulers/Makefile.am:
17205         * gst/schedulers/cothreads_compat.h:
17206         * gst/schedulers/entryscheduler.c:
17207         * gst/schedulers/faircothreads.c:
17208         * gst/schedulers/faircothreads.h:
17209         * gst/schedulers/fairscheduler.c:
17210         * gst/schedulers/gstbasicscheduler.c:
17211         * gst/schedulers/gstoptimalscheduler.c:
17212         * gst/schedulers/gthread-cothreads.h:
17213         * gst/schedulers/threadscheduler.c:
17214         (gst_thread_scheduler_task_get_type),
17215         (gst_thread_scheduler_task_class_init),
17216         (gst_thread_scheduler_task_init),
17217         (gst_thread_scheduler_task_start),
17218         (gst_thread_scheduler_task_stop),
17219         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17220         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17221         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17222         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17223         (plugin_init):
17224         * libs/gst/Makefile.am:
17225         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17226         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17227         (gst_file_pad_parent_set):
17228         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17229         (gst_dp_event_from_packet):
17230         * tests/complexity.c: (main):
17231         * tests/mass_elements.c: (main):
17232         * testsuite/states/locked.c: (message_received), (main):
17233         * testsuite/states/parent.c: (main):
17234         * tools/gst-inspect.c: (print_element_flag_info),
17235         (print_implementation_info), (print_pad_info):
17236         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17237         (main):
17238         * tools/gst-md5sum.c: (event_loop), (main):
17239         * tools/gst-typefind.c: (main):
17240         * tools/gst-xmlinspect.c: (print_element_info):
17241         Next big merge.
17242         Added GstBus for mainloop integration.
17243         Added GstMessage for sending notifications on the bus.
17244         Added GstTask as an abstraction for pipeline entry points.
17245         Removed GstThread.
17246         Removed Schedulers.
17247         Simplified GstQueue for multithreaded core.
17248         Made _link threadsafe, removed old capsnego.
17249         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17250         Added pad blocking functions.
17251         Reworked scheduling functions in GstPad to prepare for
17252         scheduling updates soon.
17253         Moved events out of data stream.
17254         Simplified GstEvent types.
17255         Added return values to push/pull.
17256         Removed clocking from GstElement.
17257         Added prototypes for state change function for next merge.
17258         Removed iterate from bins and state change management.
17259         Fixed some elements, disabled others for now.
17260         Fixed -inspect and -launch.
17261         Added check for GstBus.
17262
17263 2005-03-10  Wim Taymans  <wim@fluendo.com>
17264
17265         * docs/design/part-MT-refcounting.txt:
17266         * docs/design/part-clocks.txt:
17267         * docs/design/part-gstelement.txt:
17268         * docs/design/part-gstobject.txt:
17269         * docs/design/part-standards.txt:
17270         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17271         (gst_bin_remove_func), (gst_bin_remove):
17272         * gst/gstbin.h:
17273         * gst/gstbuffer.c:
17274         * gst/gstcaps.h:
17275         * testsuite/clock/clock1.c: (main):
17276         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17277         (main):
17278         * testsuite/dlopen/loadgst.c: (do_test):
17279         * testsuite/refcounting/bin.c: (add_remove_test1),
17280         (add_remove_test2), (main):
17281         * testsuite/refcounting/element.c: (main):
17282         * testsuite/refcounting/element_pad.c: (main):
17283         * testsuite/refcounting/pad.c: (main):
17284         * tools/gst-launch.c: (sigint_handler_sighandler):
17285         * tools/gst-typefind.c: (main):
17286         Doc updates.
17287         Added doc about clock.
17288         removed gst_bin_iterate_recurse_up(), marked methods
17289         for removal.
17290         Fix more testsuites.
17291
17292 2005-03-09  Wim Taymans  <wim@fluendo.com>
17293
17294         * gst/gstpad.c: (gst_pad_get_direction),
17295         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17296         (gst_pad_collect_valist):
17297         * testsuite/bins/interface.c: (main):
17298         * testsuite/caps/audioscale.c: (test_caps):
17299         * testsuite/caps/caps.c: (test1), (test2), (test3):
17300         * testsuite/caps/deserialize.c: (main):
17301         * testsuite/caps/enumcaps.c: (main):
17302         * testsuite/caps/filtercaps.c: (main):
17303         * testsuite/caps/intersect2.c: (main):
17304         * testsuite/caps/random.c: (main):
17305         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17306         * testsuite/caps/sets.c: (check_caps):
17307         * testsuite/caps/simplify.c: (check_caps), (main):
17308         * testsuite/caps/subtract.c: (check_caps):
17309         Fix _pad_get_direction wrt ghostpads.
17310         Fix caps testsuite.
17311
17312 2005-03-09  Wim Taymans  <wim@fluendo.com>
17313
17314         * check/Makefile.am:
17315         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17316         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17317         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17318         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17319         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17320         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17321         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17322         (bin_element_is_sink), (gst_bin_iterate_sinks),
17323         (gst_bin_iterate_all_by_interface):
17324         * gst/gstbin.h:
17325         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17326         (gst_element_change_state), (gst_element_dispose),
17327         (gst_element_finalize), (gst_element_set_loop_function):
17328         * gst/gstelement.h:
17329         * gst/gstiterator.c: (find_custom_fold_func):
17330         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17331         (gst_pad_collectv), (gst_pad_collect_valist),
17332         (gst_pad_template_new):
17333         * gst/gstpipeline.c: (gst_pipeline_class_init),
17334         (gst_pipeline_dispose), (gst_pipeline_set_property),
17335         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17336         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17337         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17338         * gst/gstutils.h:
17339         * gst/schedulers/entryscheduler.c:
17340         * gst/schedulers/gstbasicscheduler.c:
17341         (gst_basic_scheduler_cothreaded_chain),
17342         (gst_basic_scheduler_chain_add_element):
17343         * testsuite/bins/interface.c: (main):
17344         Added GstBin test.
17345         Added GstSystemClock test.
17346         Implemented clock distribution code in GstBin.
17347         Implemented iterate sinks method for future use.
17348         Rearranged gstelement.h
17349         Fix GstIterator comparison bug.
17350         Moved some code to GstPipeline, mostly clocking related.
17351
17352 2005-03-09  Wim Taymans  <wim@fluendo.com>
17353
17354         * configure.ac:
17355         * gst/gst_private.h:
17356         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17357         (gst_bin_remove_func), (gst_bin_remove),
17358         (gst_bin_get_by_name_recurse_up):
17359         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17360         (gst_clock_id_compare_func), (gst_clock_id_wait),
17361         (gst_clock_id_wait_async), (gst_clock_init),
17362         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17363         * gst/gstelement.h:
17364         * gst/gstinfo.c: (_gst_debug_init):
17365         * gst/gstobject.h:
17366         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17367         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17368         * gst/gstpad.h:
17369         Bump version number, we're now 0.9.0
17370         Add future debugging category.
17371         Fix NULL _unref() in _get_by_name_recurse_up
17372         Rearrange gstpad.h.
17373         Update some docs.
17374
17375 2005-03-08  Wim Taymans  <wim@fluendo.com>
17376
17377         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17378         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17379         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17380         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17381         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17382         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17383         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17384         * gst/elements/gstidentity.c: (gst_identity_class_init):
17385         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17386         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17387         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17388         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17389         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17390         (gst_tee_link):
17391         * gst/gstelement.c: (gst_element_class_init),
17392         (gst_element_base_class_init), (gst_element_init),
17393         (gst_element_get_random_pad), (gst_element_wait_state_change),
17394         (gst_element_change_state), (gst_element_dispose),
17395         (gst_element_finalize), (gst_element_set_loop_function):
17396         * gst/gstelement.h:
17397         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17398         * gst/gstthread.c: (gst_thread_class_init),
17399         (gst_thread_release_children_locks), (gst_thread_change_state):
17400         * gst/schedulers/gstbasicscheduler.c:
17401         (gst_basic_scheduler_loopfunc_wrapper),
17402         (gst_basic_scheduler_chain_wrapper),
17403         (gst_basic_scheduler_src_wrapper),
17404         (gst_basic_scheduler_remove_element):
17405         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17406         Remove threadsafe properties. Fix elements because GObject
17407         complains when installing a property before declaring a
17408         set/get_property handler.
17409         Rearrange gstelement.h file, use STATE macros for state locks.
17410         Free mutexes in the finalize method instead of dispose.
17411
17412 2005-03-08  Wim Taymans  <wim@fluendo.com>
17413
17414         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17415         * gst/gstthread.c: (gst_thread_release_children_locks):
17416         Added parentage check.
17417         Fix build og GstThread again.
17418
17419 2005-03-08  Wim Taymans  <wim@fluendo.com>
17420
17421         * docs/design/part-MT-refcounting.txt:
17422         * docs/design/part-conventions.txt:
17423         * docs/design/part-gstobject.txt:
17424         * docs/design/part-relations.txt:
17425         * docs/design/part-standards.txt:
17426         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17427         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17428         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17429         (gst_bin_iterate_all_by_interface):
17430         * gst/gstbuffer.h:
17431         * gst/gstclock.h:
17432         * gst/gstelement.c: (gst_element_class_init),
17433         (gst_element_change_state), (gst_element_set_loop_function):
17434         * gst/gstelement.h:
17435         * gst/gstiterator.c:
17436         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17437         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17438         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17439         (gst_object_set_parent), (gst_object_unparent),
17440         (gst_object_check_uniqueness):
17441         * gst/gstobject.h:
17442         Docs updates, clean up some headers.
17443
17444 2005-03-07  Wim Taymans  <wim@fluendo.com>
17445
17446         * check/.cvsignore:
17447         * check/Makefile.am:
17448         * check/gst-libs/.cvsignore:
17449         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17450         * check/gst/.cvsignore:
17451         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17452         (START_TEST), (gstbus_suite), (main):
17453         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17454         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17455         (gst_data_suite), (main):
17456         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17457         (add_fold_func), (gstiterator_suite), (main):
17458         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17459         (thread_name_object), (thread_name_object_default),
17460         (gst_object_name_compare), (gst_object_suite), (main):
17461         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17462         (gst_pad_suite), (main):
17463         * check/gstcheck.c: (gst_check_log_message_func),
17464         (gst_check_log_critical_func), (gst_check_init):
17465         * check/gstcheck.h:
17466         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17467         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17468         Added checks.
17469
17470 2005-03-07  Wim Taymans  <wim@fluendo.com>
17471
17472         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17473         (gst_list_iterator_next), (gst_list_iterator_resync),
17474         (gst_list_iterator_free), (gst_iterator_new_list),
17475         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17476         (gst_iterator_free), (gst_iterator_push), (filter_next),
17477         (filter_resync), (filter_uninit), (filter_free),
17478         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17479         (gst_iterator_foreach), (find_custom_fold_func),
17480         (gst_iterator_find_custom):
17481         * gst/gstiterator.h:
17482         Added missing files.
17483
17484 2005-03-07  Wim Taymans  <wim@fluendo.com>
17485
17486         * Makefile.am:
17487         * configure.ac:
17488         * docs/design/part-MT-refcounting.txt:
17489         * docs/design/part-conventions.txt:
17490         * docs/design/part-gstobject.txt:
17491         * docs/design/part-relations.txt:
17492         * examples/mixer/mixer.c: (main):
17493         * examples/thread/thread.c: (eos), (main):
17494         * gst/Makefile.am:
17495         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17496         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17497         (gst_spider_plug_from_srcpad):
17498         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17499         (gst_spider_identity_change_state),
17500         (gst_spider_identity_sink_loop_type_finding):
17501         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17502         * gst/elements/gstidentity.c: (gst_identity_init):
17503         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17504         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17505         * gst/elements/gsttypefindelement.c: (free_entry):
17506         * gst/gst.c:
17507         * gst/gst.h:
17508         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17509         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17510         (gst_bin_set_index), (gst_bin_set_element_sched),
17511         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17512         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17513         (gst_bin_iterate_elements), (iterate_child_recurse),
17514         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17515         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17516         (compare_interface), (gst_bin_get_by_interface),
17517         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17518         * gst/gstbin.h:
17519         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17520         (gst_buffer_default_free), (gst_buffer_default_copy),
17521         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17522         (gst_buffer_create_sub):
17523         * gst/gstbuffer.h:
17524         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17525         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17526         (gst_caps_unref), (gst_static_caps_get),
17527         (gst_caps_remove_and_get_structure), (gst_caps_append),
17528         (gst_caps_append_structure), (gst_caps_remove_structure),
17529         (gst_caps_copy_nth), (gst_caps_set_simple),
17530         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17531         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17532         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17533         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17534         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17535         (gst_caps_structure_figure_out_union),
17536         (gst_caps_switch_structures), (gst_caps_do_simplify),
17537         (gst_caps_replace), (gst_caps_from_string),
17538         (gst_caps_copy_conditional):
17539         * gst/gstcaps.h:
17540         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17541         (_gst_clock_id_free), (gst_clock_id_unref),
17542         (gst_clock_id_compare_func), (gst_clock_id_wait),
17543         (gst_clock_id_wait_async), (gst_clock_class_init),
17544         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17545         (gst_clock_get_time), (gst_clock_set_time_adjust),
17546         (gst_clock_set_property), (gst_clock_get_property):
17547         * gst/gstclock.h:
17548         * gst/gstcompat.h:
17549         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17550         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17551         * gst/gstdata.h:
17552         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17553         (gst_element_requires_clock), (gst_element_provides_clock),
17554         (gst_element_set_clock), (gst_element_clock_wait),
17555         (gst_element_wait), (gst_element_set_time_delay),
17556         (gst_element_is_indexable), (gst_element_add_pad),
17557         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17558         (pad_compare_name), (gst_element_get_static_pad),
17559         (gst_element_request_pad), (gst_element_get_request_pad),
17560         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17561         (gst_element_class_get_pad_template_list),
17562         (gst_element_class_get_pad_template), (gst_element_error_func),
17563         (gst_element_get_random_pad), (gst_element_get_event_masks),
17564         (gst_element_send_event), (gst_element_seek),
17565         (gst_element_get_query_types), (gst_element_query),
17566         (gst_element_get_formats), (gst_element_convert),
17567         (gst_element_is_locked_state), (gst_element_set_locked_state),
17568         (gst_element_sync_state_with_parent), (gst_element_change_state),
17569         (gst_element_finalize), (gst_element_yield),
17570         (gst_element_interrupt), (gst_element_set_scheduler),
17571         (gst_element_get_scheduler), (gst_element_set_loop_function):
17572         * gst/gstelement.h:
17573         * gst/gstevent.h:
17574         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17575         (gst_format_get_by_nick), (gst_format_get_details),
17576         (gst_format_iterate_definitions):
17577         * gst/gstformat.h:
17578         * gst/gstindex.c: (gst_index_gtype_resolver):
17579         * gst/gstinfo.c:
17580         * gst/gstinfo.h:
17581         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17582         (gst_mem_chunk_free):
17583         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17584         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17585         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17586         (gst_object_dispatch_properties_changed),
17587         (gst_object_set_name_default), (gst_object_set_name),
17588         (gst_object_get_name), (gst_object_set_name_prefix),
17589         (gst_object_get_name_prefix), (gst_object_set_parent),
17590         (gst_object_get_parent), (gst_object_unparent),
17591         (gst_object_check_uniqueness), (gst_object_save_thyself),
17592         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17593         (gst_object_set_property), (gst_object_get_property),
17594         (gst_object_get_path_string):
17595         * gst/gstobject.h:
17596         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17597         (gst_real_pad_init), (gst_real_pad_get_property),
17598         (gst_pad_custom_new), (gst_pad_get_direction),
17599         (gst_pad_set_active), (gst_pad_is_active),
17600         (gst_pad_set_event_function), (gst_pad_is_linked),
17601         (gst_pad_link_free), (gst_pad_link_intersect),
17602         (gst_pad_link_fixate), (gst_pad_set_caps),
17603         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17604         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17605         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17606         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17607         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17608         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17609         (gst_pad_realize), (gst_pad_get_allowed_caps),
17610         (gst_real_pad_dispose), (gst_real_pad_finalize),
17611         (gst_pad_collectv), (gst_pad_collect_valist),
17612         (gst_pad_template_dispose), (gst_pad_template_new),
17613         (gst_pad_get_internal_links):
17614         * gst/gstpad.h:
17615         * gst/gstpipeline.c: (gst_pipeline_dispose),
17616         (gst_pipeline_change_state):
17617         * gst/gstpipeline.h:
17618         * gst/gstplugin.c:
17619         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17620         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17621         * gst/gstpluginfeature.h:
17622         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17623         * gst/gstquery.c: (_gst_query_type_initialize),
17624         (gst_query_type_register), (gst_query_type_get_by_nick),
17625         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17626         * gst/gstquery.h:
17627         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17628         * gst/gstscheduler.c: (gst_scheduler_add_element),
17629         (gst_scheduler_factory_create):
17630         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17631         (gst_structure_free), (gst_structure_set_name),
17632         (gst_structure_id_set_value), (gst_structure_set_value),
17633         (gst_structure_set_valist), (gst_structure_remove_field),
17634         (gst_structure_remove_fields),
17635         (gst_structure_remove_fields_valist),
17636         (gst_structure_remove_all_fields), (gst_structure_foreach),
17637         (gst_structure_map_in_place),
17638         (gst_caps_structure_fixate_field_nearest_int),
17639         (gst_caps_structure_fixate_field_nearest_double):
17640         * gst/gststructure.h:
17641         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17642         (gst_system_clock_init), (gst_system_clock_dispose),
17643         (gst_system_clock_async_thread),
17644         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17645         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17646         * gst/gstsystemclock.h:
17647         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17648         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17649         * gst/gsttaginterface.c:
17650         * gst/gstthread.c: (gst_thread_dispose),
17651         (gst_thread_release_children_locks), (gst_thread_change_state),
17652         (gst_thread_main_loop):
17653         * gst/gsttrashstack.h:
17654         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17655         * gst/gsttypes.h:
17656         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17657         (gst_element_request_pad), (gst_element_get_pad_from_template),
17658         (gst_element_request_compatible_pad),
17659         (gst_element_get_compatible_pad_filtered),
17660         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17661         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17662         (gst_element_link_many), (gst_element_link),
17663         (gst_element_link_pads), (gst_element_unlink_pads),
17664         (gst_element_unlink_many), (gst_element_unlink),
17665         (gst_pad_can_link_filtered), (gst_pad_can_link),
17666         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17667         (gst_object_default_error), (gst_bin_add_many),
17668         (gst_bin_remove_many), (gst_element_populate_std_props),
17669         (gst_element_class_install_std_props), (gst_buffer_merge),
17670         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17671         (link_fold_func), (gst_pad_proxy_setcaps):
17672         * gst/gstutils.h:
17673         * gst/gstvalue.c: (gst_value_deserialize_string):
17674         * gst/parse/grammar.y:
17675         * gst/schedulers/gstbasicscheduler.c:
17676         (gst_basic_scheduler_cothreaded_chain),
17677         (gst_basic_scheduler_chain_recursive_add),
17678         (gst_basic_scheduler_pad_link):
17679         * gst/schedulers/gstoptimalscheduler.c:
17680         (get_group_schedule_function),
17681         (gst_opt_scheduler_state_transition),
17682         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17683         * libs/gst/bytestream/bytestream.c:
17684         * libs/gst/dataprotocol/dataprotocol.c:
17685         (gst_dp_header_from_buffer):
17686         * po/nb.po:
17687         * po/ru.po:
17688         * tests/threadstate/threadstate2.c: (eos):
17689         * tools/gst-compprep.c: (main):
17690         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17691         (print_pad_info), (print_children_info):
17692         * tools/gst-launch.c: (idle_func), (main):
17693         * tools/gst-md5sum.c: (idle_func), (main):
17694         * tools/gst-xmlinspect.c: (print_element_info):
17695         First THREADED backport attempt, focusing on adding locks and
17696         making sure the API is threadsafe. Needs more work. More docs
17697         follow this week.
17698
17699 2005-02-24  Andy Wingo  <wingo@pobox.com>
17700
17701         * tests/bench-complexity.scm:
17702         * tests/complexity.gnuplot: New files, good for running complexity
17703         benchmarks.
17704
17705         * tests/Makefile.am:
17706         * tests/complexity.c: New test, sets up N elements, at each level
17707         teeing into M streams per element. Eeeenteresting.
17708
17709         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17710         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17711         running bench-mass_elements.scm.
17712
17713         * tests/bench-mass_elements.scm: New script, runs mass_elements
17714         for various numbers of identities, outputting the results to a
17715         file. Requires guile 1.6. Just for testing.
17716
17717 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17718
17719         * gst/schedulers/fairscheduler.c:
17720           compile with debug disabled
17721
17722 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17723
17724         * configure.ac:
17725           hunting season on 0.9 is now OPEN